:root{--c0:#00635F;--c1:#CFF5EF;--c2:#D97A00;--c3:#FFF9F0;--c4:#053B38;--c5:#022624;--fd:'Instrument Serif',Georgia,serif;--ft:'Instrument Sans',system-ui,sans-serif}
/* family: artboard. Designer's canvas: dotted guide grid, anchor-point handles on frames, dashed selection boxes, snap motion. */
:root{--a-ink:var(--c4);--a-night:var(--c5);--a-pen:var(--c0);--a-node:var(--c2);--a-paper:var(--c3);--a-mint:var(--c1);--a-w:min(1200px,92vw);--a-dash:1.5px dashed color-mix(in srgb,var(--a-pen) 45%,transparent);--a-line:1px solid color-mix(in srgb,var(--a-ink) 16%,transparent)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;interpolate-size:allow-keywords}
body{margin:0;color:var(--a-ink);font:400 1.05rem/1.72 var(--ft);background-color:var(--a-paper);background-image:radial-gradient(color-mix(in srgb,var(--a-ink) 14%,transparent) 1px,transparent 1.4px);background-size:22px 22px}
img{max-width:100%;display:block}
a{color:var(--a-pen);text-underline-offset:.18em}
h1,h2,h3,h4{font-family:var(--fd);font-weight:400;line-height:1.02;letter-spacing:-.01em;margin:0 0 .45em;text-wrap:balance;text-box:trim-both cap alphabetic}
h1{font-size:clamp(2.6rem,6vw,5.4rem)}
h2{font-size:clamp(1.9rem,3.2vw,2.9rem)}
h3{font-family:var(--ft);font-weight:600;font-size:1.12rem;letter-spacing:0}
h2 em,h1 em{font-style:italic;color:var(--a-pen)}
p,li{text-wrap:pretty}
.vz-canvas{width:var(--a-w);margin-inline:auto}
.vz-skipto{position:absolute;left:-999px}.vz-skipto:focus{left:1rem;top:1rem;z-index:99;background:#fff;padding:.5rem}
.vz-guide{position:fixed;left:0;top:0;height:2px;width:0;z-index:70;background:var(--a-node)}
/* header: plain paper strip with a ruler underline */
.vz-ruler{position:fixed;inset:0 0 auto;z-index:50;background:var(--a-paper);border-bottom:var(--a-line);transition:box-shadow .3s,background .3s}
.vz-ruler::after{content:"";position:absolute;left:0;right:0;bottom:-7px;height:6px;background:repeating-linear-gradient(90deg,color-mix(in srgb,var(--a-ink) 30%,transparent) 0 1px,transparent 1px 12px);opacity:.6}
.vz-ruler.solid{background:#fff;box-shadow:0 8px 22px -18px rgba(0,0,0,.45)}
.vz-ruler .vz-ruler-in{width:var(--a-w);margin:auto;display:flex;align-items:center;gap:1.8rem;min-height:80px}
.vz-mark{position:relative;display:block;height:62px;flex:none}
.vz-mark img{height:62px;width:auto}
.vz-mark .vz-mark-d{display:none}
.vz-layers{display:flex;gap:1.4rem;align-items:center;margin-left:auto}
.vz-layers.l{margin-left:auto}.vz-layers.r{margin-left:0}
.vz-layers a{color:var(--a-ink);text-decoration:none;font:500 .92rem/1 var(--ft);padding:.5rem .1rem;white-space:nowrap;border-bottom:1.5px solid transparent}
.vz-layers a:hover,.vz-layers a[aria-current]{border-bottom:var(--a-dash)}
.vz-layers .vz-layers-go{border:1.5px solid var(--a-ink);border-radius:999px;padding:.65rem 1.1rem;position:relative}
.vz-layers .vz-layers-go:hover{background:var(--a-ink);color:var(--a-paper)}
.vz-tool{display:none;margin-left:auto;font:600 .9rem var(--ft);background:#fff;color:var(--a-ink);border:1.5px solid var(--a-ink);border-radius:999px;padding:.55rem 1rem}
.vz-panel{display:none}
@media (max-width:1150px){.vz-layers{display:none}.vz-tool{display:block}
 .vz-panel.open{display:block;position:fixed;inset:88px 4vw auto;z-index:49;background:#fff;border:var(--a-dash);padding:.6rem 1.3rem;box-shadow:0 26px 50px -30px rgba(0,0,0,.4)}
 .vz-panel a{display:block;padding:.7rem 0;color:var(--a-ink);text-decoration:none;border-bottom:var(--a-line)}.vz-panel a:last-child{border:0}}
@media (max-width:700px){.vz-ruler .vz-ruler-in{min-height:64px}.vz-mark,.vz-mark img{height:46px}}
/* hero: text on the paper, photo inside a selection frame with corner handles */
main{display:block;overflow-x:clip}
.vz-board{width:var(--a-w);margin:auto;padding:128px 0 3.6rem;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"t i";gap:3.4rem;align-items:center;position:relative}
.vz-board>.vz-canvas,.vz-board>.vz-type-col{grid-area:t;width:auto;margin:0}
.vz-board>.vz-canvas{display:contents}
.vz-board>.vz-canvas>*:not(.vz-frame){grid-column:1}
.vz-board>.vz-frame,.vz-board>.vz-frame-p,.vz-board>.vz-frame-s,.vz-board>.vz-trace,.vz-board>img.hi,.vz-board>.vz-canvas>.vz-frame{grid-area:i;grid-row:1/span 4;position:relative;align-self:stretch;min-height:440px;outline:var(--a-dash);outline-offset:10px}
.vz-board>.vz-frame::before,.vz-board>.vz-frame-p::before,.vz-board>.vz-trace::before,.vz-board>.vz-canvas>.vz-frame::before{content:"";position:absolute;z-index:2;inset:-15px;pointer-events:none;background:linear-gradient(var(--a-node),var(--a-node)) top left/9px 9px no-repeat,linear-gradient(var(--a-node),var(--a-node)) top right/9px 9px no-repeat,linear-gradient(var(--a-node),var(--a-node)) bottom left/9px 9px no-repeat,linear-gradient(var(--a-node),var(--a-node)) bottom right/9px 9px no-repeat}
.vz-board img.hi{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.vz-board>.vz-canvas>.vz-standfirst{grid-row:1}.vz-board>.vz-canvas>.vz-pen-out{grid-row:1}
.vz-standfirst{font:600 .78rem/1 var(--ft);letter-spacing:.16em;text-transform:uppercase;color:var(--a-pen);margin:0 0 1rem;display:flex;align-items:center;gap:.6rem}
.vz-standfirst::before{content:"";width:34px;height:1.5px;background:currentColor;box-shadow:0 0 0 0 transparent}
.vz-standfirst::after{content:"";width:6px;height:6px;background:currentColor;margin-left:-.5rem;transform:rotate(45deg)}
.vz-path{font-size:1.12rem;max-width:34rem}
.vz-pen-out{font-size:.84rem;margin:0 0 1rem}.vz-pen-out a{color:inherit}
@media (max-width:900px){.vz-board{grid-template-columns:1fr;grid-template-areas:"i" "t";gap:1.6rem;padding-top:96px}.vz-board>.vz-canvas>*:not(.vz-frame){grid-column:1;grid-row:auto}.vz-board>.vz-frame,.vz-board>.vz-frame-p,.vz-board>.vz-frame-s,.vz-board>.vz-trace,.vz-board>img.hi,.vz-board>.vz-canvas>.vz-frame{grid-row:1;min-height:210px;outline-offset:6px}}
@media (max-width:600px){.vz-board{min-height:100svh;align-content:start;padding:88px 0 2rem}.vz-board>.vz-frame,.vz-board>.vz-frame-p,.vz-board>.vz-trace,.vz-board>img.hi,.vz-board>.vz-canvas>.vz-frame{min-height:170px}h1{font-size:clamp(2.1rem,10vw,2.8rem)}.vz-path{font-size:1rem}}
/* buttons: pen-tool pills with an anchor node */
.vz-pen{display:inline-flex;align-items:center;gap:.65rem;min-height:48px;padding:.8rem 1.4rem .8rem 1.1rem;margin:.9rem .7rem 0 0;border-radius:999px;background:var(--a-ink);color:var(--a-paper);font:600 .95rem/1 var(--ft);text-decoration:none;border:1.5px solid var(--a-ink);transition:transform .2s ease}
.vz-pen::before{content:"";width:8px;height:8px;background:var(--a-node);border:1.5px solid var(--a-paper)}
.vz-pen:hover{transform:translateY(-2px)}
.vz-pen.ghost{background:transparent;color:var(--a-ink)}.vz-pen.ghost::before{border-color:var(--a-ink);background:transparent}
.vz-pen:empty{display:none}
/* sections */
.vz-page{padding:4.8rem 0}
.vz-page>.vz-canvas>h2::after{content:"";display:block;width:88px;height:12px;margin-top:.7rem;background:radial-gradient(circle,var(--a-node) 0 3px,transparent 3.5px) left center/12px 12px no-repeat,radial-gradient(circle,var(--a-node) 0 3px,transparent 3.5px) right center/12px 12px no-repeat,linear-gradient(var(--a-pen),var(--a-pen)) center/76px 1.5px no-repeat}
.vz-swatch{background:var(--a-night);color:#e8f4f1;background-image:radial-gradient(rgba(255,255,255,.12) 1px,transparent 1.4px);background-size:22px 22px}
.vz-swatch h2,.vz-swatch h3{color:#fff}
.vz-swatch a:not(.vz-pen):not(.vz-boardcard){color:var(--a-mint)}
.vz-anchors{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;padding:3.6rem 0}
.vz-anchors>div{padding:.4rem 1.5rem 1rem;border-left:1.5px dashed rgba(255,255,255,.3)}
.vz-anchors>div:first-child{border-left:0;padding-left:0}
.vz-anchors h3{color:var(--a-node);font-family:var(--fd);font-weight:400;font-size:1.5rem}
.vz-anchors p{margin:0;font-size:.95rem}
@media (max-width:960px){.vz-anchors{grid-template-columns:1fr 1fr;gap:1.4rem 0}.vz-anchors>div:nth-child(3){border-left:0;padding-left:0}}
@media (max-width:560px){.vz-anchors{grid-template-columns:1fr}.vz-anchors>div{border-left:0;padding-left:0}}
.vz-article{display:grid;grid-template-columns:240px minmax(0,1fr);gap:3.6rem;align-items:start}
.vz-article aside{order:-1;position:sticky;top:116px}
.vz-article article{max-width:760px}
.vz-article article>section{margin:0 0 2.2rem}
.vz-article article h2{font-size:clamp(1.6rem,2.6vw,2.3rem)}
.vz-callout{font:italic 400 1.35rem/1.3 var(--fd);margin:0 0 1.2rem;color:var(--a-pen)}.vz-callout:empty{display:none}
.vz-note{padding:1.1rem 1.2rem;background:#fff;border:var(--a-dash)}
.vz-note strong{display:block;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;margin-bottom:.4rem}
.vz-note a{display:block;padding:.25rem 0}
@media (max-width:960px){.vz-article{grid-template-columns:1fr;gap:1.2rem}.vz-article aside{order:0;position:static}}
.vz-spec-sheet{width:100%;border-collapse:collapse;margin:1.2rem 0 2rem;background:#fff;font-size:.95rem;outline:var(--a-dash);outline-offset:5px}
.vz-spec-sheet th,.vz-spec-sheet td{text-align:left;padding:.65rem .9rem;border-bottom:var(--a-line);vertical-align:top}
.vz-spec-sheet th{width:36%;font-weight:600;color:var(--a-pen)}
/* cards: frames with anchor nodes on hover */
.vz-artboards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr));gap:2rem 1.6rem}
.vz-boardcard{display:block;position:relative;color:inherit;text-decoration:none;background:#fff;border:var(--a-line);padding:.7rem;transition:transform .25s}
.vz-boardcard::after{content:"";position:absolute;inset:-6px;border:1.5px solid var(--a-node);opacity:0;transition:opacity .25s;pointer-events:none;background:linear-gradient(var(--a-node),var(--a-node)) top left/7px 7px no-repeat,linear-gradient(var(--a-node),var(--a-node)) top right/7px 7px no-repeat,linear-gradient(var(--a-node),var(--a-node)) bottom left/7px 7px no-repeat,linear-gradient(var(--a-node),var(--a-node)) bottom right/7px 7px no-repeat}
.vz-boardcard:hover::after{opacity:1}
.vz-boardcard img{width:100%;aspect-ratio:5/4;object-fit:cover;height:auto}
.vz-boardcard .vz-boardtext{padding:.9rem .3rem .3rem}
.vz-boardcard h3{margin:0 0 .3rem}.vz-boardcard p{margin:0;font-size:.92rem;color:color-mix(in srgb,var(--a-ink) 80%,transparent)}
.vz-artboards-bare .vz-boardcard{border:0;background:transparent;padding:0}.vz-artboards-bare .vz-boardcard img{border:var(--a-line)}
.vz-artboards-list{grid-template-columns:repeat(auto-fill,minmax(min(360px,100%),1fr))}
.vz-swatch .vz-boardcard{color:var(--a-ink)}
.vz-strokes{display:grid;grid-template-columns:1fr 1fr;gap:0 2.4rem;border-top:var(--a-line)}
.vz-strokes a{display:grid;grid-template-columns:96px minmax(0,1fr);gap:1.1rem;align-items:center;padding:1rem 0;border-bottom:var(--a-line);color:inherit;text-decoration:none}
.vz-strokes img{width:96px;height:96px;object-fit:cover;border-radius:50%;outline:var(--a-dash);outline-offset:3px}
.vz-strokes h3{margin:0 0 .25rem}.vz-strokes p{margin:0;font-size:.92rem}
@media (max-width:820px){.vz-strokes{grid-template-columns:1fr}}
.vz-spread{width:var(--a-w);margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:3rem;align-items:center}
.vz-spread>img{width:100%;aspect-ratio:4/3;object-fit:cover;height:auto;outline:var(--a-dash);outline-offset:10px}
.vz-spread .vz-spread-text{order:-1}
@media (max-width:860px){.vz-spread{grid-template-columns:1fr;gap:1.6rem}.vz-spread .vz-spread-text{order:0}}
/* FAQ */
details{border-bottom:var(--a-line);padding:0}
details:first-of-type{border-top:var(--a-line)}
summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:22px minmax(0,1fr);gap:.9rem;align-items:start;padding:1.05rem 0;font:600 1.02rem/1.4 var(--ft)}
summary::-webkit-details-marker{display:none}
summary::before{content:"";width:12px;height:12px;margin-top:.35rem;border:1.5px solid var(--a-pen);background:#fff;transition:transform .3s,background .3s}
details[open]>summary::before{background:var(--a-node);transform:rotate(45deg)}
details::details-content{block-size:0;overflow:clip;opacity:0;transition:block-size .4s cubic-bezier(.3,.7,.2,1),opacity .3s,content-visibility .4s allow-discrete}
details[open]::details-content{block-size:auto;opacity:1}
details>p{margin:0 0 1.1rem 2.3rem}
/* reviews */
.vz-critiques .vz-critiques-h{border-bottom:var(--a-dash);margin-bottom:1.4rem;padding-bottom:.8rem}
.vz-critiques .vz-critiques-h p{margin:0;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase}
.vz-rvl-dark,.vz-rvl-band{background:var(--a-night);color:#e8f4f1}.vz-rvl-dark h2,.vz-rvl-band h2{color:#fff}
main section .amr-root{--amr-font:var(--ft);--amr-bg:#fff;--amr-text:var(--a-ink);--amr-muted:#55605e;--amr-star:var(--a-node);--amr-link:var(--a-pen);--amr-radius:2px}
.amr-root .amr-photo-fallback{color:var(--amr-text,#0f172a)!important;background:color-mix(in srgb,var(--amr-text,#0f172a) 10%,#fff)!important}
.vz-close-swatch{padding:4.6rem 0 7.2rem;background:var(--a-pen);color:#fff}
.vz-close-swatch .vz-canvas{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem 2rem;align-items:center}
.vz-close-swatch h2{margin:0;color:#fff}
.vz-close-swatch .vz-pen{background:var(--a-paper);color:var(--a-ink);border-color:var(--a-paper)}
@media (max-width:760px){.vz-close-swatch .vz-canvas{grid-template-columns:1fr}}
.vz-margin{background:var(--a-night);color:#d3e6e2;padding:4rem 0 7rem;font-size:.93rem}
.vz-margin a{color:#fff}
.vz-margin-grid{display:grid;grid-template-columns:1.5fr repeat(3,minmax(0,1fr));gap:2.4rem}
.vz-margin-grid h4{font:400 1.2rem var(--fd);color:var(--a-node);margin:0 0 .7rem}
.vz-margin-grid nav a{display:block;padding:.2rem 0;text-decoration:none}
.vz-margin-logo img{height:58px!important}
.vz-margin-fine{margin-top:2.6rem;padding-top:1.2rem;border-top:1.5px dashed rgba(255,255,255,.2);font-size:.82rem}
@media (max-width:860px){.vz-margin-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.vz-margin-grid>*{min-width:0}}
main a[href^=mailto]{overflow-wrap:anywhere}
.vz-brief-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);gap:2.6rem;align-items:start}
.vz-brief{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem 1.3rem;background:#fff;padding:1.6rem;outline:var(--a-dash);outline-offset:6px}
.vz-brief-row{display:flex;flex-direction:column;gap:.3rem;min-width:0}.vz-brief-full{grid-column:1/-1}
.vz-brief label{font-size:.86rem;font-weight:600;letter-spacing:.02em}.vz-brief-opt{font-weight:400}
.vz-brief input,.vz-brief textarea{font:inherit;width:100%;min-height:46px;padding:.7rem .8rem;border:0;border-bottom:1.5px solid var(--a-ink);background:var(--a-paper);color:var(--a-ink)}
.vz-brief input:focus-visible,.vz-brief textarea:focus-visible{outline:2px solid var(--a-node);outline-offset:2px}
.vz-brief [aria-invalid=true]{border-bottom:2px solid #B42318}
.vz-brief-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.vz-brief-acts{display:flex;flex-wrap:wrap;gap:1rem;align-items:center}
.vz-brief-send{min-height:48px;padding:.8rem 1.5rem;border-radius:999px;border:0;background:var(--a-ink);color:var(--a-paper);font:600 .95rem var(--ft);cursor:pointer}
.vz-brief-msg{margin:0;font-weight:600}.vz-brief-msg.ok{color:#166534}.vz-brief-msg.err{color:#B42318}
@media (max-width:820px){.vz-brief-wrap{grid-template-columns:1fr}}@media (max-width:560px){.vz-brief{grid-template-columns:1fr;padding:1.1rem}}
/* motion: snap and trace */
.vz-trace{display:block;position:absolute;inset:0;overflow:hidden}.vz-trace>img{width:100%;height:100%;object-fit:cover}
@media (prefers-reduced-motion:no-preference){
 @view-transition{navigation:auto}
 .vz-board img.hi{animation:aSnap 1.1s cubic-bezier(.2,.9,.3,1.2) both}
 .vz-board h1,.vz-board .vz-path{animation:aTrace .7s ease-out both}.vz-board .vz-path{animation-delay:.1s}
 @supports (animation-timeline:view()){
  .vz-boardcard,.vz-strokes a,.vz-article article>section{animation:aTrace linear both;animation-timeline:view();animation-range:entry 5% entry 45%}
 }
}
@keyframes aSnap{from{opacity:0;transform:scale(.94)}}
@keyframes aTrace{from{opacity:0;transform:translateX(-18px)}}
@media (prefers-reduced-motion:reduce){*,::before,::after{animation:none!important;transition:none!important}}
h1,h2,h3{overflow-wrap:break-word}

/* basics: appended to every per-site stylesheet by skin1029.py (Proof 2026-10-29). Never remove. */
html{interpolate-size:allow-keywords}
.vz-pen,.vz-layers-go,.vz-standfirst,.vz-tool,.vz-brief-send,.vz-pen-out a{text-box:trim-both cap alphabetic}
details::details-content{block-size:0;overflow:hidden;opacity:0;transition:block-size .35s ease,opacity .35s ease,content-visibility .35s allow-discrete}
details[open]::details-content{block-size:auto;opacity:1}
@media (prefers-reduced-motion:no-preference){
 .vz-artboards>*,.vz-strokes>*,.vz-anchors>*{animation:bxStagger .6s cubic-bezier(.2,.7,.2,1) both}
 .vz-artboards>:nth-child(2),.vz-strokes>:nth-child(2),.vz-anchors>:nth-child(2){animation-delay:.07s}
 .vz-artboards>:nth-child(3),.vz-strokes>:nth-child(3),.vz-anchors>:nth-child(3){animation-delay:.14s}
 .vz-artboards>:nth-child(4),.vz-strokes>:nth-child(4),.vz-anchors>:nth-child(4){animation-delay:.21s}
 .vz-artboards>:nth-child(n+5),.vz-strokes>:nth-child(n+5){animation-delay:.28s}
 @supports (animation-timeline:view()){
  .vz-artboards>*,.vz-strokes>*,.vz-anchors>*{animation-timeline:view();animation-delay:0s;animation-range:entry 0% entry 38%}
  .vz-artboards>:nth-child(3n+2),.vz-strokes>:nth-child(2n),.vz-anchors>:nth-child(2n){animation-range:entry 6% entry 44%}
  .vz-artboards>:nth-child(3n),.vz-anchors>:nth-child(3n){animation-range:entry 12% entry 50%}
 }
}
@keyframes bxStagger{from{opacity:0;transform:translateY(18px)}}
@media (prefers-reduced-motion:reduce){.vz-artboards>*,.vz-strokes>*,.vz-anchors>*{animation:none!important;opacity:1;transform:none}details::details-content{transition:none}}
.vz-board>.vz-type-col{display:block;align-self:center}@media (max-width:700px){.vz-board .vz-pen{min-height:44px;padding:.7rem 1rem;font-size:.88rem;margin-top:.7rem}.vz-board{row-gap:.6rem}}
