@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/syne-latin-400-normal-CcHADMBd.woff2)format("woff2"),url(/assets/syne-latin-400-normal-CULFKXub.woff)format("woff")}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/syne-latin-500-normal-emxikWQ7.woff2)format("woff2"),url(/assets/syne-latin-500-normal-DR6mUQpY.woff)format("woff")}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/syne-latin-600-normal-BiwQbQXw.woff2)format("woff2"),url(/assets/syne-latin-600-normal-dRu9QuIh.woff)format("woff")}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/syne-latin-700-normal-AF3Rs61n.woff2)format("woff2"),url(/assets/syne-latin-700-normal-Cd-_iCn5.woff)format("woff")}@font-face{font-family:Syne;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/syne-latin-800-normal-EehdNYzx.woff2)format("woff2"),url(/assets/syne-latin-800-normal-BuJcbPcX.woff)format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-400-normal-DRC__1Mx.woff2)format("woff2"),url(/assets/instrument-sans-latin-400-normal-D1W7dsQl.woff)format("woff")}@font-face{font-family:Instrument Sans;font-style:italic;font-display:swap;font-weight:400;src:url(/assets/instrument-sans-latin-400-italic-DCPiXYsF.woff2)format("woff2"),url(/assets/instrument-sans-latin-400-italic-CX4K8MRt.woff)format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/instrument-sans-latin-500-normal-Dk9ku72i.woff2)format("woff2"),url(/assets/instrument-sans-latin-500-normal-Z6ESRlEs.woff)format("woff")}@font-face{font-family:Instrument Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/instrument-sans-latin-600-normal-B7fBEWYG.woff2)format("woff2"),url(/assets/instrument-sans-latin-600-normal-B9e8oLYv.woff)format("woff")}html{-webkit-text-size-adjust:100%}body{margin:0}img{max-width:100%}[hidden]{display:none!important}:root{padding-top:env(safe-area-inset-top,0px);padding-bottom:env(safe-area-inset-bottom,0px);--paper:#fffdfc;--ink:#252522;--ink-soft:#5e5b55;--line:#ece4df;--coral:#f18257;--coral-ink:#c85a30;--coral-wash:#fdeee7;--sage:#a3b18a;--sage-ink:#566349;--sage-wash:#eef1e7;--frame:12px;--display:"Syne",ui-sans-serif,system-ui,sans-serif;--body:"Instrument Sans",ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;--measure:62ch}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#1d1c1a;--ink:#f4efea;--ink-soft:#ada69e;--line:#34312d;--coral:#f18257;--coral-ink:#f59a76;--coral-wash:#2c221d;--sage:#a9b892;--sage-ink:#bcc9a6;--sage-wash:#262b21;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}:root[data-theme=dark]{--paper:#1d1c1a;--ink:#f4efea;--ink-soft:#ada69e;--line:#34312d;--coral:#f18257;--coral-ink:#f59a76;--coral-wash:#2c221d;--sage:#a9b892;--sage-ink:#bcc9a6;--sage-wash:#262b21;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:80px}body{background:var(--coral);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;font-size:1.0625rem;line-height:1.6}.sheet{background:var(--paper);margin:var(--frame);margin-left:max(var(--frame),env(safe-area-inset-left,0px));margin-right:max(var(--frame),env(safe-area-inset-right,0px));min-height:calc(100vh - 2*var(--frame))}.wrap{max-width:1120px;margin:0 auto;padding-left:max(16px,clamp(16px,5vw,56px));padding-right:max(16px,clamp(16px,5vw,56px))}a{color:inherit}:focus-visible{outline:2px solid var(--coral);outline-offset:3px;border-radius:2px}h1,h2,h3{font-family:var(--display);text-wrap:balance;letter-spacing:-.01em;margin:0;font-weight:700;line-height:1.05}p{margin:0}.label{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--coral-ink);font-size:.75rem;font-weight:600}nav.top{top:env(safe-area-inset-top,0px);z-index:5;border-bottom:1px solid var(--line);position:sticky}nav.top:before{content:"";z-index:-1;background:color-mix(in srgb,var(--paper) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:absolute;inset:0}nav.top .wrap{justify-content:space-between;align-items:center;gap:16px;padding-block:16px;display:flex}.mark{font-family:var(--display);font-size:1.05rem;font-weight:700;text-decoration:none}.mark span{color:var(--coral)}nav.top ul{flex-wrap:wrap;gap:clamp(12px,2.5vw,28px);margin:0;padding:0;list-style:none;display:flex}nav.top ul a{font-family:var(--display);color:var(--ink-soft);font-size:.875rem;font-weight:500;text-decoration:none}nav.top ul a:hover{color:var(--ink)}.menu-btn{display:none}@media (width<=640px){.menu-btn{width:44px;height:44px;color:var(--ink);cursor:pointer;z-index:2;background:0 0;border:0;place-items:center;margin-right:-10px;display:grid;position:relative}.bars{gap:6px;width:22px;display:grid}.bars span{background:currentColor;border-radius:2px;height:2px;transition:transform .3s cubic-bezier(.2,.7,.2,1);display:block}nav.top.open .bars span:first-child{transform:translateY(4px)rotate(45deg)}nav.top.open .bars span:last-child{transform:translateY(-4px)rotate(-45deg)}nav.top ul{z-index:1;padding:calc(80px + env(safe-area-inset-top,0px)) max(28px,env(safe-area-inset-right,0px)) calc(40px + env(safe-area-inset-bottom,0px)) max(28px,env(safe-area-inset-left,0px));background:var(--paper);border:12px solid var(--coral);opacity:0;visibility:hidden;flex-flow:column;justify-content:center;gap:8px;transition:opacity .3s,visibility 0s .3s;position:fixed;inset:0}nav.top.open ul{opacity:1;visibility:visible;transition:opacity .3s}nav.top ul li{opacity:0;transition:opacity .4s,transform .5s cubic-bezier(.2,.75,.15,1);transform:translateY(14px)}nav.top.open ul li{opacity:1;transition-delay:calc(var(--n) * 60ms + 80ms);transform:none}nav.top ul a{color:var(--ink);letter-spacing:-.02em;font-size:clamp(2rem,10vw,2.6rem);font-weight:700;line-height:1.25}nav.top ul a.current,nav.top ul a:hover{color:var(--coral-ink)}nav.top .mark{z-index:2;position:relative}html.menu-open{overflow:hidden}nav.top ul a,nav.top ul a:hover,nav.top ul a.current{padding-bottom:0;background:0 0!important}}.hero{padding-block:clamp(56px,10vw,120px) clamp(48px,7vw,88px)}.hero h1{letter-spacing:-.035em;font-size:clamp(2.8rem,9vw,7.5rem);font-weight:800;line-height:.88}.hero h1 .ln2{color:var(--coral);display:block}.hero-body{border-top:1px solid var(--sage);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:clamp(28px,5vw,64px);margin-top:clamp(32px,5vw,56px);padding-top:clamp(28px,4vw,40px);display:grid}.hero-text{justify-items:start;gap:22px;min-width:0;display:grid}.hero-lede{max-width:30ch;font-size:clamp(1.2rem,2vw,1.5rem);line-height:1.4}.roles{flex-wrap:wrap;gap:6px;max-width:100%;display:flex}.roles span{font-family:var(--display);border:1px solid var(--line);border-radius:999px;padding:6px 12px;font-size:.78rem;font-weight:600}.now{color:var(--ink-soft);max-width:46ch;font-size:.95rem}.now b{color:var(--ink);font-weight:600}.btns{flex-wrap:wrap;gap:12px;display:flex}.btn{font-family:var(--display);border:1.5px solid var(--ink);border-radius:999px;align-items:center;gap:8px;padding:12px 20px;font-size:.9rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.btn.solid{background:var(--ink);color:var(--paper)}.btn:hover{background:var(--coral);border-color:var(--coral);color:#1d1c1a}section.block{border-top:1px solid var(--line);padding-block:clamp(56px,8vw,104px)}.sec-head{grid-template-columns:220px 1fr;gap:clamp(16px,4vw,56px);margin-bottom:clamp(32px,5vw,56px);display:grid}.sec-head>*{min-width:0}.sec-head h2{font-size:clamp(2rem,4.6vw,3.4rem)}.sec-head p.intro{color:var(--ink-soft);max-width:var(--measure);margin-top:14px}@media (width<=820px){.hero-body,.sec-head{grid-template-columns:1fr}}.services{border-top:1px solid var(--sage);grid-template-columns:repeat(4,1fr);gap:0;display:grid}.svc{border-right:1px solid var(--line);min-width:0;padding:22px 22px 6px 0}.svc+.svc{padding-left:22px}.svc:last-child{border-right:0}.svc h3{margin-bottom:10px;font-size:1.15rem}.svc p{color:var(--ink-soft);font-size:.95rem}@media (width<=900px){.services{grid-template-columns:1fr 1fr}.svc:nth-child(2){border-right:0}.svc:nth-child(3){padding-left:0}.svc:nth-child(n+3){border-top:1px solid var(--line);margin-top:6px}}@media (width<=520px){.services{grid-template-columns:1fr}.svc,.svc+.svc{border-right:0;padding-left:0}.svc+.svc{border-top:1px solid var(--line)}}.roster{border-top:1px solid var(--sage);margin:0;padding:0;list-style:none}.roster li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.5fr) minmax(0,1.4fr) 40px minmax(0,.7fr) 72px;align-items:baseline;gap:16px;padding-block:20px;display:grid}.roster .name{transition:transform .25s,color .2s}.roster li:hover .name{transform:translate(8px)}.roster .name{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(1.4rem,2.6vw,2.2rem);font-weight:700;line-height:1.05}.roster li:hover .name{color:var(--coral)}.roster .genre{color:var(--ink-soft);font-size:.95rem}.roster .cc{font-family:var(--display);letter-spacing:.1em;font-size:.8rem;font-weight:600}.roster .role{text-align:right;justify-self:end;font-size:.85rem}.pill{font-family:var(--display);letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--line);color:var(--ink-soft);white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:.72rem;font-weight:600;display:inline-block}.pill.sage{border-color:var(--sage);color:var(--sage-ink);background:var(--sage-wash)}.pill.co{border-color:var(--coral);color:var(--coral-ink)}.pill.lead{background:var(--coral);border-color:var(--coral);color:#1d1c1a}.roster .links{justify-content:flex-end;align-self:center;gap:6px;display:flex}.icon-link{border:1px solid var(--line);width:30px;height:30px;color:var(--ink-soft);border-radius:50%;place-items:center;transition:color .2s,border-color .2s,background .2s;display:grid}.icon-link svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linejoin:round;width:16px;height:16px}.icon-link svg .fill{fill:currentColor;stroke:none}.icon-link:hover,.icon-link:focus-visible{color:#1d1c1a;background:var(--coral);border-color:var(--coral)}@media (width<=720px){.roster li{grid-template-columns:1fr auto;row-gap:6px}.roster .genre{order:3;grid-column:1/-1}.roster .cc{order:2;justify-self:end}.roster .role{text-align:left;order:4;place-self:center start}.roster .links{order:5}}.agency{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:3px}.agency:hover{color:var(--coral-ink)}.cases{border-top:1px solid var(--sage);gap:0;display:grid}.case{border-bottom:1px solid var(--line);grid-template-columns:220px minmax(0,1fr);gap:clamp(16px,4vw,56px);padding-block:clamp(32px,5vw,52px);display:grid}.case:last-child{border-bottom:0;padding-bottom:0}.case-side{align-content:start;gap:10px;display:grid}.case-side .who{font-family:var(--display);font-size:1.05rem;font-weight:700}.case-side .yr{color:var(--ink-soft);font-variant-numeric:tabular-nums;font-size:.85rem}.tags{flex-wrap:wrap;gap:6px;display:flex}.case h3{margin-bottom:16px;font-size:clamp(1.5rem,3vw,2.2rem)}.case .summary{max-width:var(--measure);margin-bottom:22px;font-size:1.1rem}.case-cols{grid-template-columns:1fr 1fr;gap:28px;display:grid}.case-cols h4{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--coral-ink);margin:0 0 10px;font-size:.75rem;font-weight:600}.case-cols ul{color:var(--ink-soft);gap:6px;margin:0;padding-left:1.1em;font-size:.97rem;display:grid}.case-cols li::marker{color:var(--coral)}.quote{background:var(--coral-wash);max-width:var(--measure);border-radius:6px;margin-top:24px;padding:18px 22px}.quote p{font-family:var(--display);font-size:1.05rem;font-weight:600;line-height:1.4}.quote cite{color:var(--ink-soft);margin-top:8px;font-size:.85rem;font-style:normal;display:block}@media (width<=820px){.case,.case-cols{grid-template-columns:1fr}}.role-line{font-family:var(--display);color:var(--coral-ink);font-size:.85rem;font-weight:600}.legend{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:8px 10px;margin-bottom:14px;font-size:.85rem;display:flex}.legend span:not(.pill){margin-right:14px}.dates{padding-left:0!important;list-style:none!important}.dates li{grid-template-columns:56px minmax(0,1fr);gap:10px;display:grid}.dates span{font-family:var(--display);color:var(--ink);font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:600}.portrait{border-radius:6px;width:100%;height:auto;display:block}.rail{align-content:start;gap:18px;display:grid}.rail-photo{max-width:220px;margin:0}.rail-photo img{border-radius:4px;width:100%;height:auto;display:block}.rail-photo figcaption{color:var(--ink-soft);margin-top:6px;font-size:.78rem;line-height:1.35}.case-side .rail-photo{margin-top:8px}.case-more{opacity:0;transition:grid-template-rows .55s var(--ease,cubic-bezier(.2,.7,.2,1)),opacity .4s;grid-template-rows:0fr;display:grid}.case-more.open{opacity:1;grid-template-rows:1fr}.case-more-inner{min-height:0;overflow:hidden}.case-more.open .case-more-inner{padding-top:4px}.case-title{cursor:pointer}.case .summary strong{color:var(--ink);font-weight:600}.case .summary{margin-bottom:14px}.case-toggle{border:1px solid var(--coral);color:var(--coral-ink);font:600 .8rem/1 var(--display);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;background:0 0;border-radius:999px;align-items:center;gap:10px;margin:0 0 6px;padding:9px 16px 9px 18px;transition:background .25s,color .25s;display:inline-flex}.case-toggle:hover,.case-toggle[aria-expanded=true]{background:var(--coral);color:#fff}.case-toggle:focus-visible{outline:2px solid var(--coral-ink);outline-offset:3px}.case-toggle-icon{width:10px;height:10px;position:relative}.case-toggle-icon:before,.case-toggle-icon:after{content:"";background:currentColor;border-radius:1px;width:10px;height:2px;transition:transform .35s;position:absolute;top:4px;left:0}.case-toggle-icon:after{transform:rotate(90deg)}.case-toggle[aria-expanded=true] .case-toggle-icon:after{transform:rotate(0)}.case-more .case-cols{margin-top:18px}@media (prefers-reduced-motion:reduce){.case-more,.case-toggle-icon:before,.case-toggle-icon:after{transition:none}}@media (width<=820px){.rail{grid-template-columns:repeat(auto-fill,minmax(140px,200px))}.rail .label{grid-column:1/-1}.rail-photo{max-width:200px}}.photo-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:24px;display:grid}.photo-row figure{min-width:0;margin:0}.photo-row img{border-radius:4px;width:100%;height:auto;display:block}.photo-row figcaption{color:var(--ink-soft);margin-top:6px;font-size:.78rem}@media (width<=520px){.photo-row{grid-template-columns:1fr 1fr}.photo-row figure:last-child{grid-column:1/-1}}.contact-grid{display:block}.freelance{grid-template-columns:220px minmax(0,1fr);gap:clamp(16px,4vw,56px);margin-top:clamp(36px,5vw,56px);display:grid}.freelance-head{align-content:start;gap:8px;display:grid}.freelance-head p{color:var(--ink-soft);font-size:.92rem}.fl-list{border-top:1px solid var(--sage);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.fl-list li{gap:4px;min-width:0;padding:18px 20px 18px 0;display:grid}.fl-list li+li{border-left:1px solid var(--line);padding-left:20px}.fl-name{font-family:var(--display);font-size:1.15rem;font-weight:700;line-height:1.15}.fl-genre{color:var(--ink-soft);font-size:.9rem}@media (width<=820px){.freelance,.fl-list{grid-template-columns:1fr}.fl-list li,.fl-list li+li{border-left:0;padding:14px 0}.fl-list li+li{border-top:1px solid var(--line)}}.svc-more{margin-top:28px}.svc-more a{font-family:var(--display);color:var(--ink);border-bottom:1.5px solid var(--coral);padding-bottom:2px;font-size:.95rem;font-weight:600;text-decoration:none}.svc-more a:hover{color:var(--coral-ink)}.svc-jump{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:clamp(32px,4vw,48px);display:grid}.svc-jump a{border:1.5px solid var(--coral);color:var(--ink);background:var(--paper);border-radius:12px;align-items:center;gap:16px;padding:22px 24px;text-decoration:none;transition:background .2s,color .2s,transform .2s;display:flex}.svc-jump a:hover,.svc-jump a:focus-visible{background:var(--coral);color:#1d1c1a;transform:translateY(-2px)}.jump-icon{background:var(--coral-wash);width:52px;height:52px;color:var(--coral-ink);border-radius:50%;flex:none;place-items:center;display:grid}.svc-jump a:hover .jump-icon{background:#fffdfc}.jump-icon svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:26px;height:26px}.jump-icon svg .fill{fill:currentColor;stroke:none}.jump-t{flex:1;min-width:0;line-height:1.2;display:grid}.jump-t b{font-family:var(--display);font-size:clamp(1.1rem,1.6vw,1.35rem);font-weight:700}.jump-t small{color:var(--ink-soft);margin-top:3px;font-size:.88rem}.svc-jump a:hover small{color:#1d1c1a}.jump-arrow{font-family:var(--display);margin-left:auto;font-size:1.3rem;font-weight:700}@media (width<=900px){.svc-jump{grid-template-columns:1fr}}section.offer{padding-block:clamp(48px,7vw,88px)}.offer-list{border-top:1px solid var(--sage);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.offer-list.n3{grid-template-columns:repeat(3,minmax(0,1fr))}.offer-list>li{border-bottom:1px solid var(--line);min-width:0;padding:24px 28px 24px 0}.offer-list.n4 li:nth-child(2n){border-left:1px solid var(--line);padding-left:28px;padding-right:0}.offer-list.n3>li+li{border-left:1px solid var(--line);padding-left:28px}.offer-list.n3>li{border-bottom:0}.offer-list h3{margin-bottom:10px;font-size:1.25rem}.offer-list p{color:var(--ink-soft);max-width:52ch;font-size:.97rem}.steps{border-top:1px solid var(--sage);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.steps.n3{grid-template-columns:repeat(3,minmax(0,1fr))}.steps li{min-width:0;padding:24px 22px 8px 0}.steps li+li{border-left:1px solid var(--line);padding-left:22px}.step-n{font-family:var(--display);color:var(--coral-ink);font-variant-numeric:tabular-nums;margin-bottom:10px;font-size:.85rem;font-weight:700;display:block}.steps h4{font-family:var(--display);margin:0 0 6px;font-size:1.05rem;line-height:1.15}.steps p{color:var(--ink-soft);font-size:.95rem}.services-cta{margin-top:28px}.how{background:var(--sage-wash);border-radius:8px;margin-top:clamp(32px,4vw,48px);padding:clamp(20px,3vw,32px)}.how .sub-sm{margin-bottom:14px}.how .steps{border-top-color:color-mix(in srgb,var(--sage) 70%,transparent)}.how .steps li+li{border-left-color:color-mix(in srgb,var(--sage) 45%,transparent)}.offer-icon{background:var(--coral-wash);width:44px;height:44px;color:var(--coral-ink);border-radius:50%;place-items:center;margin-bottom:14px;display:grid}.offer-icon svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:22px;height:22px}.offer-icon svg .fill{fill:currentColor;stroke:none}.built{flex-wrap:wrap;gap:8px 18px;margin:14px 0 0;list-style:none;display:flex;border:0!important;padding:0!important}.built li{border:0!important;padding:0!important}.built a{font-family:var(--display);color:var(--ink);border-bottom:1.5px solid var(--coral);padding-bottom:1px;font-size:.85rem;font-weight:600;text-decoration:none}.built a:hover{color:var(--coral-ink)}.platforms{gap:12px;margin-top:22px;display:grid}.platforms-label{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--sage-ink);font-size:.72rem;font-weight:600}.logos{flex-wrap:wrap;align-items:center;gap:18px 32px;margin:0;padding:0;list-style:none;display:flex}.logo{background:var(--ink-soft);max-width:100%;-webkit-mask:var(--logo) center/contain no-repeat;-webkit-mask:var(--logo) center/contain no-repeat;mask:var(--logo) center/contain no-repeat;transition:background .2s;display:block}.logos li:hover .logo{background:var(--ink)}.facts{flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.facts li{font-family:var(--display);letter-spacing:.04em;background:var(--coral);color:#1d1c1a;border-radius:999px;padding:7px 12px;font-size:.78rem;font-weight:600}.facts li+li{border:1px solid var(--coral);color:var(--coral-ink);background:0 0}.stats{border-top:1px solid var(--sage);grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,3vw,40px);margin:clamp(36px,5vw,56px) 0 0;padding:clamp(20px,3vw,28px) 0 0;list-style:none;display:grid}.stats li{align-content:start;gap:10px;min-width:0;display:grid}.stat-n{font-family:var(--display);color:var(--coral);letter-spacing:-.04em;font-size:clamp(2.8rem,6vw,4.6rem);font-weight:800;line-height:.9}.stat-t{color:var(--ink-soft);font-size:.92rem;line-height:1.35;display:grid}.stat-t b{font-family:var(--display);color:var(--ink);font-size:1rem;font-weight:700}section.marquee-block{padding-block:clamp(28px,4vw,40px);overflow:hidden}.marquee-label{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--coral-ink);margin-bottom:14px;font-size:.72rem;font-weight:600}.marquee{overflow:hidden;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.marquee-track{width:max-content;animation:45s linear infinite marquee;display:flex}.marquee:hover .marquee-track{animation-play-state:paused}.marquee-set{flex-shrink:0;display:flex}.marquee-set>span{font-family:var(--display);letter-spacing:-.02em;white-space:nowrap;color:var(--ink);padding-right:.6em;font-size:clamp(1.6rem,3.6vw,2.6rem);font-weight:700}.marquee-set i{color:var(--sage);padding-left:.6em;font-style:normal}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.marquee-track{flex-wrap:wrap;width:auto;animation:none}.marquee-set:last-child{display:none}.marquee-set{flex-wrap:wrap;padding-inline:max(16px,clamp(16px,5vw,56px))}.marquee{-webkit-mask-image:none;mask-image:none}}.press-names{border-top:1px solid var(--sage);flex-wrap:wrap;gap:12px 28px;margin:0;padding:clamp(20px,3vw,28px) 0 0;list-style:none;display:flex}.press-names li{font-family:var(--display);letter-spacing:-.01em;color:var(--ink-soft);font-size:clamp(1.2rem,2.6vw,1.8rem);font-weight:800}.press-note{color:var(--ink-soft);margin-top:28px}.press-note a{color:var(--ink);-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:3px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=820px){.stats{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:28px}.steps.n3{grid-template-columns:1fr}.steps.n3 li,.steps.n3 li+li{border-left:0;padding:16px 0}.steps.n3 li+li{border-top:1px solid color-mix(in srgb,var(--sage) 45%,transparent)}}@media (width<=900px){.offer-list.n3{grid-template-columns:1fr}.offer-list.n3>li,.offer-list.n3>li+li{border-left:0;padding:20px 0}.offer-list.n3>li+li{border-top:1px solid var(--line)}.steps{grid-template-columns:1fr 1fr}.steps li:nth-child(3){border-left:0;padding-left:0}}@media (width<=640px){.offer-list{grid-template-columns:1fr}.offer-list li,.offer-list.n4 li:nth-child(2n){border-left:0;padding:20px 0}.steps{grid-template-columns:1fr}.steps li,.steps li+li{border-left:0;padding:18px 0}.steps li+li{border-top:1px solid var(--line)}}.snapshot{grid-template-columns:repeat(5,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid;position:relative;background:0 0!important;border-top:0!important}.snapshot:before{content:"";background:var(--sage);transform-origin:0;height:2px;transition:transform 1.4s cubic-bezier(.4,0,.2,1);position:absolute;top:0;left:0;right:14px}.snapshot:after{content:"";border:7px solid #0000;border-left:12px solid var(--sage);border-right:0;transition:opacity .3s 1.3s,transform .4s 1.3s;position:absolute;top:-6px;right:0}.snapshot li{min-width:0;padding:28px 18px 8px 0;position:relative}.snapshot li:before{content:"";background:var(--paper);border:2px solid var(--coral);box-sizing:border-box;width:14px;height:14px;transition:transform .45s cubic-bezier(.3,1.6,.5,1),background .3s;transition-delay:calc(var(--i,0) * .26s + .2s);border-radius:50%;position:absolute;top:-6px;left:0}.snapshot li:last-child:before{background:var(--coral);box-shadow:0 0 0 5px color-mix(in srgb,var(--coral) 22%,transparent)}.snapshot h3{margin:0 0 6px;font-size:1.05rem;line-height:1.15}.snapshot p{color:var(--ink-soft);font-size:.9rem}.snapshot .when-sm{margin-bottom:6px}.js-reveal .snapshot:not(.in):before{transform:scaleX(0)}.js-reveal .snapshot:not(.in):after{opacity:0;transform:translate(-10px)}.js-reveal .snapshot:not(.in) li:before{transform:scale(0)}@media (prefers-reduced-motion:no-preference){.snapshot li:last-child:before{animation:2.4s ease-out 2s infinite pulse}@keyframes pulse{0%{box-shadow:0 0 0 0 color-mix(in srgb,var(--coral) 45%,transparent)}70%{box-shadow:0 0 0 10px #0000}to{box-shadow:0 0 #0000}}}@media (width<=900px){.snapshot{grid-template-columns:1fr;padding-left:28px}.snapshot:before{transform-origin:top;width:2px;height:auto;inset:0 auto 14px 6px}.js-reveal .snapshot:not(.in):before{transform:scaleY(0)}.snapshot:after{border:8px solid #0000;border-top:12px solid var(--sage);border-bottom:0;inset:auto auto 0 -1px}.js-reveal .snapshot:not(.in):after{transform:translateY(-10px)}.snapshot li{padding:0 0 22px}.snapshot li:before{top:2px;left:-28px}}section.cv-page{border-top:0;padding-top:clamp(48px,8vw,96px)}.cv{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(32px,6vw,80px);display:grid}.timeline{border-top:1px solid var(--sage);margin:0;padding:0;list-style:none}.timeline>li{border-bottom:1px solid var(--line);grid-template-columns:120px minmax(0,1fr);gap:20px;padding-block:22px;display:grid}.timeline>li>.when{font-family:var(--display);color:var(--coral-ink);font-variant-numeric:tabular-nums;padding-top:3px;font-size:.85rem;font-weight:600}.timeline h3{margin-bottom:4px;font-size:1.2rem}.timeline .org{color:var(--ink-soft);margin-bottom:10px;font-size:.95rem}.timeline p.d{font-size:.95rem}@media (width<=520px){.timeline>li{grid-template-columns:1fr;gap:4px}}.kit h3{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--coral-ink);margin:0 0 12px;font-size:.75rem;font-weight:600}.kit-group{border-bottom:1px solid var(--line);margin-bottom:22px;padding-block:0 22px}.kit-group:last-child{border-bottom:0}.chips{flex-wrap:wrap;gap:8px;display:flex}.chips span{background:var(--sage-wash);border:1px solid #0000;border-radius:999px;padding:6px 12px;font-size:.88rem}@media (width<=820px){.cv{grid-template-columns:1fr}}.edu{margin-top:clamp(48px,7vw,80px)}.sub{margin-bottom:20px;font-size:clamp(1.5rem,3vw,2rem)}.edu-grid{border-top:1px solid var(--sage);grid-template-columns:minmax(0,1fr);gap:clamp(32px,5vw,48px);padding-top:24px;display:grid}.edu-cards{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;display:grid}.degree{background:var(--coral-wash);border-radius:8px;padding:clamp(20px,3vw,32px)}.degree.alt{border:1px solid var(--coral);background:0 0}.when-sm{font-family:var(--display);color:var(--coral-ink);font-variant-numeric:tabular-nums;margin-bottom:10px;font-size:.85rem;font-weight:600}.degree h4{font-family:var(--display);margin:0 0 6px;font-size:clamp(1.3rem,2.6vw,1.7rem);line-height:1.1}.degree .org{color:var(--ink-soft);margin-bottom:14px}.honours{font-family:var(--display);letter-spacing:.08em;text-transform:uppercase;background:var(--coral);color:#1d1c1a;border-radius:999px;margin-bottom:16px;padding:6px 12px;font-size:.8rem;font-weight:700;display:inline-block}.degree ul{gap:4px;margin:0;padding-left:1.1em;font-size:.95rem;display:grid}.degree li::marker{color:var(--coral)}.sub-sm{font-family:var(--display);letter-spacing:.14em;text-transform:uppercase;color:var(--coral-ink);margin:0 0 6px;font-size:.75rem;font-weight:600}.cert-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(24px,4vw,48px);margin:0;padding:0;list-style:none;display:grid}.cert-list li{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto 48px;align-items:baseline;gap:16px;padding-block:14px;display:grid}.cert-list li>span:first-child,.cert-link{font-weight:500}.cert-link{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:3px}.cert-link:hover{color:var(--coral-ink)}.cert-list .by{color:var(--ink-soft);text-align:right;font-size:.88rem}.cert-list .y{font-family:var(--display);text-align:right;font-variant-numeric:tabular-nums;font-size:.85rem;font-weight:600}@media (width<=820px){.edu-cards,.cert-list{grid-template-columns:1fr}}@media (width<=520px){.cert-list li{grid-template-columns:minmax(0,1fr) 48px;row-gap:2px}.cert-list .by{text-align:left;grid-area:2/1}.cert-list .y{grid-area:1/2/3}}.d-list{color:var(--ink-soft);gap:4px;margin:8px 0 0;padding-left:1.1em;font-size:.95rem;display:grid}.d-list li::marker{color:var(--coral)}.volunteer{margin-top:clamp(36px,5vw,56px)}.volunteer .sub-sm{margin-bottom:12px}.vol-list{border-top:1px solid var(--sage);grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none;display:grid}.vol-list li{min-width:0;padding:20px 22px 20px 0}.vol-list li+li{border-left:1px solid var(--line);padding-left:22px}.vol-list h4{font-family:var(--display);margin:0 0 4px;font-size:1.05rem;line-height:1.15}.vol-list .org{color:var(--ink-soft);margin-bottom:8px;font-size:.92rem}.vol-list .d{font-size:.92rem}.vol-list .when-sm{margin-bottom:8px}@media (width<=820px){.vol-list{grid-template-columns:1fr}.vol-list li,.vol-list li+li{border-left:0;padding:18px 0}.vol-list li+li{border-top:1px solid var(--line)}}.roster-photos-m{display:none}.svc-band{margin-top:clamp(40px,6vw,64px)}.photo-band{background:var(--sage-wash);color:var(--ink);border:1px solid color-mix(in srgb,var(--sage) 55%,transparent);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;padding:clamp(24px,3.5vw,36px);display:grid}.photo-band h3{margin-bottom:8px;font-size:clamp(1.25rem,2.4vw,1.6rem)}.photo-band p{color:var(--ink-soft);max-width:56ch}.photo-band .btn{border-color:var(--sage-ink);color:var(--sage-ink)}.photo-band .btn:hover{background:var(--sage-ink);border-color:var(--sage-ink);color:var(--paper)}@media (width<=640px){.photo-band{grid-template-columns:1fr}}.contact{border-top:1px solid var(--line);padding-block:clamp(64px,10vw,128px)}.contact h2{letter-spacing:-.025em;max-width:18ch;font-size:clamp(1.8rem,4vw,3.2rem);font-weight:800;line-height:1.05}.contact h2 em{color:var(--coral);font-style:normal}.mail{flex-wrap:wrap;align-items:center;gap:14px;margin-top:36px;display:flex}.mail .addr{font-family:var(--display);border-bottom:2px solid var(--coral);-webkit-user-select:all;user-select:all;overflow-wrap:anywhere;font-size:clamp(1.15rem,3vw,1.8rem);font-weight:600;text-decoration:none}.copy{font-family:var(--display);border:1.5px solid var(--line);color:var(--ink);cursor:pointer;background:0 0;border-radius:999px;padding:8px 14px;font-size:.8rem;font-weight:600}.copy:hover{border-color:var(--coral)}footer{border-top:1px solid var(--line)}footer .wrap{color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 24px;padding-block:20px;font-size:.8rem;display:flex}.nowrap{white-space:nowrap}.legal .sep{color:var(--coral);margin-inline:.75em;display:inline-block}.socials{gap:18px;margin:0;padding:0;list-style:none;display:flex}.socials a{font-family:var(--display);color:var(--ink);border-bottom:1.5px solid var(--coral);padding-bottom:1px;font-size:.8rem;font-weight:600;text-decoration:none}.socials a:hover{color:var(--coral-ink)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.roster .name{transition:none}}nav.top ul a.current{color:var(--ink);text-decoration:underline;-webkit-text-decoration-color:var(--coral);text-decoration-color:var(--coral);text-underline-offset:6px}.contact-h{margin-top:16px}.contact-svc{max-width:58ch;color:var(--ink-soft);margin-top:14px}.contact-svc a{font-family:var(--display);color:var(--ink);border-bottom:1.5px solid var(--coral);white-space:nowrap;font-weight:600;text-decoration:none}.contact-svc a:hover{color:var(--coral-ink)}.based{font-family:var(--display);color:var(--ink-soft);margin-top:22px;font-size:.9rem;font-weight:600}.photos-head{padding-block:clamp(48px,8vw,96px) clamp(28px,4vw,44px)}.photos-head .sec-head{margin-bottom:0}.page-h{letter-spacing:-.03em;font-size:clamp(1.9rem,5.4vw,4.2rem);font-weight:800;line-height:.95}.photos-cta{margin-top:24px}.photos-hero{margin:clamp(32px,5vw,56px) 0 0}.photos-hero img{border-radius:6px;width:100%;height:auto;display:block}.photos-hero figcaption{color:var(--ink-soft);margin-top:8px;font-size:.8rem}.album-meta{font-family:var(--display);color:var(--coral-ink);margin-top:14px;font-size:.95rem;font-weight:600}.label.back{text-decoration:none}.label.back:hover{color:var(--ink)}section.albums-block{border-top:0;padding-block:0 clamp(56px,8vw,104px)}.albums{border-top:1px solid var(--sage);padding:0;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:clamp(20px,3vw,36px) clamp(16px,2.4vw,28px);margin:0;padding-top:clamp(24px,4vw,40px);list-style:none;display:grid}.album-card{gap:4px;text-decoration:none;display:grid}.album-cover{aspect-ratio:3/2;background:var(--line);border-radius:4px;max-width:100%;margin-bottom:10px;display:block;overflow:hidden}.album-cover img{object-fit:cover;width:100%;height:100%;transition:transform .5s cubic-bezier(.2,.7,.2,1);display:block}.album-card:hover .album-cover img{transform:scale(1.03)}.album-title{font-family:var(--display);letter-spacing:-.01em;font-size:1.35rem;font-weight:700;line-height:1.1}.album-card:hover .album-title{color:var(--coral-ink)}.album-line{color:var(--ink-soft);font-size:.9rem}.album-count{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--sage-ink);margin-top:2px;font-size:.72rem;font-weight:600}.albums-empty{border-top:1px solid var(--sage);max-width:var(--measure);justify-items:start;gap:14px;padding-top:clamp(28px,4vw,44px);display:grid}.albums-empty h2{font-size:clamp(1.5rem,3vw,2.2rem)}.albums-empty p{color:var(--ink-soft)}.masonry{border-top:1px solid var(--sage);columns:3 280px;column-gap:14px;margin:0;padding:clamp(24px,4vw,40px) 0 0;list-style:none}.masonry li{break-inside:avoid;margin-bottom:14px}.masonry-item{background:var(--line);cursor:zoom-in;border:0;border-radius:4px;width:100%;padding:0;display:block;overflow:hidden}.masonry-item img{width:100%;height:auto;transition:opacity .3s;display:block}.masonry-item:hover img{opacity:.88}.lightbox{background:#141311f5;border:0;place-items:center;width:100vw;max-width:100vw;height:100vh;max-height:100vh;margin:0;padding:0;display:grid;overflow:hidden}.lightbox:not([open]){display:none}.lightbox::backdrop{background:#141311f0}.lightbox img{object-fit:contain;border-radius:2px;width:auto;max-width:min(94vw,1600px);height:auto;max-height:86vh}.lightbox-count{bottom:calc(16px + env(safe-area-inset-bottom,0px));color:#f4efea;font-family:var(--display);letter-spacing:.1em;font-size:.8rem;position:fixed;left:50%;transform:translate(-50%)}.lb-btn{color:#f4efea;cursor:pointer;background:#f4efea1f;border:0;border-radius:50%;place-items:center;width:44px;height:44px;font-size:1.6rem;line-height:1;display:grid;position:fixed}.lb-btn:hover{color:#1d1c1a;background:#f18257}.lb-close{top:calc(16px + env(safe-area-inset-top,0px));right:calc(16px + env(safe-area-inset-right,0px))}.lb-prev{left:calc(16px + env(safe-area-inset-left,0px));top:50%;transform:translateY(-50%)}.lb-next{right:calc(16px + env(safe-area-inset-right,0px));top:50%;transform:translateY(-50%)}@media (width<=640px){.lb-prev,.lb-next{top:auto;bottom:calc(8px + env(safe-area-inset-bottom,0px));transform:none}}@media (prefers-reduced-motion:reduce){.album-cover img,.masonry-item img{transition:none}}.page-enter-active,.page-leave-active{transition:opacity .3s,transform .3s}.page-enter-from{opacity:0;transform:translateY(10px)}.page-leave-to{opacity:0}.js-reveal .rv{opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0) * 70ms);transform:translateY(22px)}.js-reveal .rv.in{opacity:1;transform:none}@media (prefers-reduced-motion:no-preference){.hero-body{animation:.9s cubic-bezier(.2,.7,.2,1) .35s both fadeUp}@keyframes fadeUp{0%{opacity:.0001;transform:translateY(16px)}to{opacity:1;transform:none}}nav.top ul a{background:linear-gradient(var(--coral),var(--coral)) left bottom/0 1.5px no-repeat;padding-bottom:3px;transition:background-size .3s,color .2s}nav.top ul a:hover{background-size:100% 1.5px}nav.top ul a.current{background-size:100% 1.5px;text-decoration:none}.btn{transition:background .2s,color .2s,border-color .2s,transform .2s}.btn:hover{transform:translateY(-2px)}.svc{position:relative}.svc:before{content:"";background:var(--coral);width:0;height:2px;transition:width .4s cubic-bezier(.2,.7,.2,1);position:absolute;top:-1px;left:0}.svc+.svc:before{left:22px}.svc:hover:before{width:48px}.lightbox img{animation:.35s both lbIn}@keyframes lbIn{0%{opacity:0;transform:scale(.985)}to{opacity:1;transform:none}}}.js-reveal .w{vertical-align:top;margin-bottom:-.12em;padding-bottom:.12em;display:inline-block;overflow:hidden}.js-reveal .wi{transition:transform .9s cubic-bezier(.2,.75,.15,1);transition-delay:calc(var(--w,0) * 55ms + 80ms);display:inline-block;transform:translateY(110%)}.js-reveal .in .wi,.js-reveal .hero h1 .wi,.js-reveal .page-h .wi{transform:none}.js-reveal .hero h1 .wi,.js-reveal .page-h .wi{animation:1s cubic-bezier(.2,.75,.15,1) both wordUp;animation-delay:calc(var(--w,0) * 90ms + .1s)}@keyframes wordUp{0%{transform:translateY(110%)}to{transform:none}}.js-reveal .ln{background-image:linear-gradient(var(--sage),var(--sage));background-position:0 0;background-repeat:no-repeat;background-size:0 1px;background-origin:border-box;transition:background-size 1.2s cubic-bezier(.2,.7,.2,1);border-top-color:#0000!important}.js-reveal .ln.in{background-size:100% 1px}.js-reveal .rv img,.js-reveal .hero .portrait{clip-path:inset(100% 0 0);transition:clip-path 1.1s cubic-bezier(.65,0,.25,1) .15s}.js-reveal .rv.in img{clip-path:inset(0)}.js-reveal .hero .portrait{animation:1.2s cubic-bezier(.65,0,.25,1) .45s both wipeUp}@keyframes wipeUp{0%{clip-path:inset(100% 0 0)}to{clip-path:inset(0)}}.js-reveal .roster li.rv{transform:translate(-24px)}.js-reveal .roster li.rv.in{transform:none}.swipe-hint{display:none}@media (width<=820px){.sec-head>.rail{display:contents}.sec-head>.rail>.label{order:0}.sec-head>div:not(.rail){order:1}.sec-head>.rail>.rail-photo{order:2;max-width:100%}.sec-head>.rail>.rail-photo img{width:auto;max-width:100%;max-height:320px}#roster .sec-head .rail-photo,#roster .sec-head .photo-row{display:none}.roster-photos-m{gap:14px;margin-top:28px;display:grid}.roster-photos-m .photo-row{margin-top:0}.roster-photos-m .rail-photo{max-width:100%;margin:0}.roster-photos-m .rail-photo img{width:auto;max-width:100%;max-height:320px}.case-side{display:contents}.case{grid-template-columns:minmax(0,1fr);row-gap:10px}.case-side>.who,.case-side>.yr,.case-side>.role-line,.case-side>.tags{order:0}.case>div:not(.case-side){order:1}.case-more-photos{order:2}.quote{margin-inline:0}.case-photos{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:10px;margin-top:6px;display:grid}.case-photos .rail-photo{max-width:none;margin:0}.case-photos .rail-photo img{aspect-ratio:4/3;object-fit:cover}.swipe-hint{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--sage-ink);margin:0 0 8px;font-size:.72rem;font-weight:600;display:block}.case-cols{scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:12px;margin-inline:-4px;padding:2px 4px 6px;display:flex;overflow-x:auto}.case-cols::-webkit-scrollbar{display:none}.case-cols>div{scroll-snap-align:start;border:1px solid var(--line);background:var(--paper);border-radius:10px;flex:0 0 86%;padding:16px 18px}.case-cols ul{font-size:.92rem}.case .summary{margin-bottom:16px;font-size:1rem}.case .tags .pill{padding:4px 8px;font-size:.64rem}}
