:root{--bg:oklch(100% 0 0);--surface:oklch(97% .005 272);--ink:oklch(20% .02 272);--muted:oklch(45% .03 272);--line:oklch(90% .012 272);--primary:oklch(45% .18 270);--primary-press:oklch(40% .17 270);--drench:oklch(30% .1 272);--drench-deep:oklch(24% .08 273);--on-drench:oklch(97% .005 280);--on-drench-muted:oklch(81% .045 282);--iris:oklch(80% .09 292);--iris-soft:oklch(72% .12 292);--wash:oklch(96.5% .018 285);--wash-line:oklch(90% .03 285);--font:"Archivo", system-ui, -apple-system, "Segoe UI", sans-serif;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{font:400 17px/1.6 var(--font);color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;margin:0}h1,h2,h3{text-wrap:balance}p{text-wrap:pretty}.container{width:100%;max-width:1120px;margin:0 auto;padding-inline:clamp(20px,4vw,40px)}a:focus-visible,button:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:2px}.hero a:focus-visible{outline-color:var(--on-drench)}.hero{background:linear-gradient(160deg, var(--drench) 0%, var(--drench-deep) 100%);color:var(--on-drench);flex-direction:column;min-height:clamp(540px,74svh,700px);display:flex;position:relative;overflow:clip}.hero-nav{justify-content:space-between;align-items:center;padding-block:28px;display:flex}.wordmark{color:var(--on-drench);letter-spacing:.01em;align-items:center;gap:11px;font-size:19px;font-weight:600;text-decoration:none;display:flex}.nav-links{gap:clamp(18px,3vw,36px);display:flex}.nav-links a{color:var(--on-drench-muted);transition:color .18s var(--ease-out);font-size:15px;font-weight:500;text-decoration:none}.nav-links a:hover{color:var(--on-drench)}.hero-body{padding-block:clamp(40px,6vh,72px);z-index:1;pointer-events:none;flex-direction:column;flex:1;justify-content:center;padding-bottom:clamp(64px,10vh,120px);display:flex;position:relative}.hero-body h1,.hero-body .lede,.hero-body a{pointer-events:auto}.hero h1{letter-spacing:-.025em;max-width:14ch;margin:0 0 28px;font-size:clamp(2.6rem,6.2vw,5.4rem);font-weight:640;font-stretch:115%;line-height:1.02}.hero h1 .line{display:block}.hero h1 em{color:var(--iris);font-style:normal}.hero .lede{max-width:54ch;color:var(--on-drench-muted);margin:0 0 40px;font-size:clamp(17px,1.6vw,19px);line-height:1.65}.hero-actions{align-items:center;gap:28px;display:flex}.rise{animation:rise .75s var(--ease-out) both}.rise-1{animation-delay:60ms}.rise-2{animation-delay:.15s}.rise-3{animation-delay:.24s}.rise-4{animation-delay:.34s}.rise-5{animation-delay:.44s}@keyframes rise{0%{opacity:0;filter:blur(6px);transform:translateY(18px)}to{opacity:1;filter:blur();transform:translateY(0)}}.hero-arc{inset-inline:0;aspect-ratio:1440/800;pointer-events:none;z-index:0;width:100%;position:absolute;bottom:0;transform:translateY(47%)}.hero-arc path{pointer-events:stroke;cursor:pointer}.hero-arc circle{pointer-events:auto;cursor:pointer}.hero-arc .arc-stroke{stroke-dasharray:2200;stroke-dashoffset:2200px;animation:draw 2.8s var(--ease-in-out) .35s forwards}.hero-arc .arc-dot{opacity:0;animation:dot-in .55s var(--ease-out) 3s forwards}@keyframes draw{to{stroke-dashoffset:0}}@keyframes dot-in{0%{opacity:0;transform-origin:50%;transform-box:fill-box;transform:scale(.5)}to{opacity:1;transform-origin:50%;transform-box:fill-box;transform:scale(1)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.rise{animation:.4s both fade-only}.hero-arc .arc-stroke{stroke-dashoffset:0;animation:none}.hero-arc .arc-dot{animation:.4s forwards fade-only}@keyframes fade-only{0%{opacity:0}to{opacity:1}}}.btn{transition:transform .16s var(--ease-out), background-color .18s var(--ease-out);border-radius:6px;align-items:center;padding:14px 30px;font-size:16px;font-weight:600;text-decoration:none;display:inline-flex}.btn:active{transform:scale(.97)}.btn-primary{background:var(--primary);color:oklch(99% 0 0)}.btn-primary:hover{background:var(--primary-press)}.link-quiet{color:var(--on-drench-muted);transition:color .18s var(--ease-out);font-size:16px;font-weight:500;text-decoration:none}.link-quiet:hover{color:var(--on-drench)}.section{padding-block:clamp(80px,11vw,140px)}.section-title{letter-spacing:-.02em;margin:0;font-size:clamp(2rem,3.6vw,3rem);font-weight:620;font-stretch:112%;line-height:1.08}.tp{color:var(--primary)}#contact .tp{color:var(--iris)}.section-lede{max-width:58ch;color:var(--muted);margin:18px 0 0;font-size:18px}.practice{border-top:1px solid var(--line);grid-template-columns:minmax(260px,5fr) 7fr;gap:clamp(32px,5vw,80px);margin-top:clamp(52px,6vw,80px);padding-top:clamp(44px,5vw,64px);display:grid}.practice.mirror{grid-template-columns:7fr minmax(260px,5fr)}.practice.mirror .practice-intro{text-align:right;order:2;justify-self:end}.practice.mirror .practice-intro p{margin-left:auto}.practice-intro h3{letter-spacing:-.015em;margin:0 0 14px;font-size:clamp(1.5rem,2.4vw,1.9rem);font-weight:620;font-stretch:112%}.practice-intro p{color:var(--muted);max-width:42ch;margin:0;font-size:16.5px}.capabilities{margin:0;padding:0;list-style:none}.capabilities li{border-bottom:1px solid var(--line);grid-template-columns:minmax(150px,2fr) 3fr;align-items:baseline;gap:8px 24px;padding-block:15px;display:grid}.capabilities li:first-child{padding-top:2px}.capabilities .cap{font-size:16.5px;font-weight:600}.capabilities .cap-note{color:var(--muted);font-size:15px}.process{grid-template-columns:repeat(4,1fr);gap:clamp(28px,4vw,48px);display:grid}@media (width<=980px){.process{grid-template-columns:repeat(2,1fr)}}.step:before{content:"";background:linear-gradient(90deg, var(--primary), var(--iris));transform-origin:0;border-radius:2px;height:3px;margin-bottom:16px;display:block}.step-n{color:var(--primary);letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:26px;font-weight:700;font-stretch:110%;display:block}.step h4{margin:8px 0;font-size:19px;font-weight:620;font-stretch:110%}.step p{color:var(--muted);margin:0;font-size:15px}.band{background:var(--wash)}.member{border-top:2px solid var(--primary);padding-top:22px}.team-grid{grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,72px);margin-top:clamp(48px,6vw,72px);display:grid}.member .portrait{object-fit:cover;filter:grayscale();width:104px;height:104px;transition:filter .3s var(--ease-out);border-radius:12px;margin-bottom:20px}@media (hover:hover) and (pointer:fine){.member:hover .portrait{filter:grayscale(0)}}.member h3{letter-spacing:-.01em;margin:0 0 4px;font-size:clamp(1.4rem,2.2vw,1.75rem);font-weight:620;font-stretch:112%}.member .role{color:var(--primary);margin:0 0 16px;font-size:15.5px;font-weight:600}.member .bio{color:var(--muted);max-width:52ch;margin:0;font-size:16px}#contact{background:linear-gradient(200deg, var(--drench) 0%, var(--drench-deep) 100%);color:var(--on-drench)}#contact .section-title{color:var(--on-drench)}#contact .section-lede{color:var(--on-drench-muted)}.contact-form{flex-direction:column;gap:22px;max-width:620px;margin-top:clamp(40px,5vw,56px);display:flex}.contact-form label{color:var(--on-drench);flex-direction:column;gap:8px;font-size:14.5px;font-weight:600;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:22px;display:grid}.contact-form input,.contact-form textarea{font:400 16px/1.5 var(--font);color:var(--on-drench);transition:border-color .18s var(--ease-out), background-color .18s var(--ease-out);background:oklch(97% .005 280/.07);border:1px solid oklch(97% .005 280/.22);border-radius:6px;padding:12px 14px}.contact-form textarea{resize:vertical}.contact-form input:hover,.contact-form textarea:hover{border-color:oklch(97% .005 280/.42)}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:2px solid var(--iris);outline-offset:-1px;border-color:var(--iris);background:oklch(97% .005 280/.12)}.gotcha{opacity:0;width:1px;height:1px;position:absolute;left:-9999px}.contact-form button{cursor:pointer;font-family:var(--font);border:none;align-self:flex-start}.contact-form button:disabled{opacity:.6;cursor:default}.form-foot{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.form-note{color:var(--on-drench-muted);margin:0;font-size:15.5px}#contact .btn-primary{background:var(--on-drench);color:var(--drench-deep)}#contact .btn-primary:hover{background:oklch(100% 0 0)}.footer{background:var(--drench-deep);padding-block:22px}.footer .container{flex-wrap:wrap;justify-content:space-between;gap:8px 36px;display:flex}.footer p{color:var(--on-drench-muted);margin:0;font-size:13px}@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transition:opacity .65s var(--ease-out), transform .65s var(--ease-out);transform:translateY(16px)}.reveal.in{opacity:1;transform:none}.reveal .capabilities li{opacity:0;transition:opacity .55s var(--ease-out), transform .55s var(--ease-out);transition-delay:calc(.15s + var(--i,0) * 55ms);transform:translateY(14px)}.reveal.in .capabilities li{opacity:1;transform:none}.reveal .step:before{transition:transform .7s var(--ease-out);transition-delay:calc(.2s + var(--i,0) * .11s);transform:scaleX(0)}.reveal.in .step:before{transform:scaleX(1)}.reveal .step-n,.reveal .step h4,.reveal .step p{opacity:0;transition:opacity .5s var(--ease-out);transition-delay:calc(.32s + var(--i,0) * .11s)}.reveal.in .step-n,.reveal.in .step h4,.reveal.in .step p{opacity:1}}@supports (animation-timeline:view()){@media (prefers-reduced-motion:no-preference){#services .reveal,#services .reveal.in,#process .reveal,#process .reveal.in{opacity:1;transition:none;transform:none}#services .anim-up{animation:linear both settle-block;animation-timeline:view();animation-range:entry 6% cover 26%}#services .capabilities li{opacity:1;transition:none;animation:linear both settle-row;animation-timeline:view();animation-range:entry 2% cover 22%;transform:none}#process .step{animation:linear both settle-row;animation-timeline:view();animation-range:entry 4% cover 24%}#process .step:before{transform-origin:0;animation:linear both wipe-x;animation-timeline:view();animation-range:entry 6% cover 28%}#process .step-n,#process .step h4,#process .step p{opacity:1}}}@keyframes settle-block{0%{opacity:0;filter:blur(5px);transform:translateY(64px)}to{opacity:1;filter:blur();transform:none}}@keyframes settle-row{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes wipe-x{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (width<=860px){.practice,.practice.mirror{grid-template-columns:1fr}.practice.mirror .practice-intro{text-align:left;order:0;justify-self:start}.team-grid{grid-template-columns:1fr}.hero{min-height:auto}.hero-body{padding-bottom:clamp(140px,34vw,200px)}}@media (width<=560px){.capabilities li{grid-template-columns:1fr;gap:2px}.field-row{grid-template-columns:1fr}.hero-actions{flex-direction:column;align-items:flex-start;gap:18px}}
