@font-face{font-family:Montserrat;src:url('assets/montserrat-light.ttf') format('truetype');font-weight:300;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/montserrat-regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:Montserrat;src:url('assets/montserrat-semibold.ttf') format('truetype');font-weight:600;font-display:swap}
:root{--ink:#151b26;--navy:#252e40;--gold:#ebb137;--gold-dark:#db9e1a;--paper:#f2f2f2;--muted:#58606c;--rule:#151b2626;--focus:var(--ink);--ease:cubic-bezier(.16,1,.3,1);--type-body:1rem;--type-label:.8125rem;--type-note:.75rem;--content-max:96.75rem;--page-gutter:max(7vw,calc((100vw - var(--content-max))/2))}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:30px;scrollbar-color:var(--navy) var(--paper)}
body{margin:0;background:var(--paper);color:var(--ink);font-family:Montserrat,Arial,sans-serif;font-size:var(--type-body);line-height:1.7;font-synthesis:none}
::selection{background:var(--gold);color:var(--ink)}
a{color:inherit;text-underline-offset:5px}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:6px}
svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;flex-shrink:0}
img{max-width:100%;height:auto}h1,h2,h3,p{margin:0}h1,h2,h3{line-height:1.2;letter-spacing:-.035em;text-wrap:balance}h1{font-weight:300}h1 strong{font-weight:600}h2{letter-spacing:-.025em;font-size:clamp(2rem,3.5vw,3.125rem);font-weight:400}h3{font-weight:600;letter-spacing:-.015em}em{font-style:normal;font-weight:300}p{max-width:65ch;text-wrap:pretty}h1,h2,h3,summary{overflow-wrap:anywhere}
.header{position:relative;height:104px;padding:0 var(--page-gutter);display:flex;align-items:center;justify-content:space-between}.header:after{content:'';position:absolute;right:0;bottom:0;left:0;height:1px;background:var(--rule);transform-origin:left center}
.wordmark{display:inline-flex;align-items:center;flex-shrink:0;min-height:44px}.wordmark img{display:block;width:145px;height:auto}
nav{display:flex;align-items:center;gap:35px;font-size:0.75rem}nav a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none}.header nav>a:not(.nav-contact){position:relative}.header nav>a:not(.nav-contact):after{content:'';position:absolute;right:0;bottom:7px;left:0;height:1px;background:var(--gold-dark);transform:scaleX(0);transform-origin:right center;transition:transform .24s var(--ease)}.header nav>a:not(.nav-contact):hover:after,.header nav>a:not(.nav-contact):focus-visible:after{transform:scaleX(1);transform-origin:left center}.nav-contact{display:flex;align-items:center;gap:20px;background:var(--ink);color:var(--paper);padding:12px 18px;margin-left:22px}.nav-contact svg{width:16px;height:16px;transition:transform .2s var(--ease)}.nav-contact:hover{background:var(--navy);text-decoration:none}.nav-contact:hover svg{transform:translate(3px,-3px)}.nav-contact:active svg{transform:translate(1px,-1px)}.menu-toggle{display:none}
.hero{padding:65px var(--page-gutter) 0;overflow:hidden}.hero-copy{text-align:center;position:relative;z-index:1}.hero h1{font-size:clamp(2.5rem,4.8vw,4.25rem);text-transform:uppercase;line-height:1.14;max-width:960px;margin:0 auto 23px}.hero h1 span{font-weight:300}.hero-copy>p{font-size:var(--type-body);line-height:1.65;color:var(--muted);max-width:76ch;margin:0 auto 24px}.button{display:inline-flex;align-items:center;gap:28px;background:var(--ink);color:var(--paper);padding:12px 20px;font-size:var(--type-label);text-decoration:none;min-height:44px;transition:background .2s var(--ease),color .2s var(--ease)}.button svg{width:16px;height:16px;transition:transform .2s var(--ease)}.button:hover,.nav-contact:hover{background:var(--gold);color:var(--ink)}.button:hover svg{transform:translate(3px,-3px)}.button:active,.nav-contact:active{background:var(--gold-dark);color:var(--ink)}.button:active svg{transform:translate(1px,-1px)}
.hero-clouds{position:absolute;z-index:2;pointer-events:none;left:50%;transform:translateX(-50%);bottom:-30px;width:100vw;max-width:none;height:500px;object-fit:cover;opacity:.58;mask-image:linear-gradient(to bottom,transparent 0%,#000 30%,#000 78%,transparent 100%)}.hero-stage{position:relative;min-height:510px;max-width:1040px;margin:24px auto 0;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,460px) minmax(0,1fr);gap:24px;align-items:center;isolation:isolate}.justice-frame{position:relative;z-index:1;grid-column:2;grid-row:1;align-self:end;width:100%;max-width:470px;margin:auto;mix-blend-mode:multiply}.justice{display:block;width:100%;height:510px;object-fit:contain;object-position:center bottom;mask-image:linear-gradient(#000 76%,transparent 100%),linear-gradient(to right,transparent,#000 25%,#000 75%,transparent);mask-composite:intersect}.hero-side{z-index:3;margin-top:64px;width:100%;max-width:200px;align-self:center}.hero-experience{grid-column:1;grid-row:1;justify-self:end}.experience-number{display:inline-flex;align-items:flex-start;margin-top:0;font-size:clamp(4rem,7vw,6rem);font-weight:600;line-height:1;letter-spacing:-.04em;font-variant-numeric:lining-nums}.experience-plus{font-size:.5em;line-height:1.2;color:var(--gold-dark);margin:4px 0 0 5px}.hero-experience p{margin-top:18px}.hero-experience p strong{display:block;font-size:1rem;font-weight:600}.hero-experience p span{display:block;margin-top:2px}.hero-side p{font-size:var(--type-label);line-height:1.8;margin-top:12px}.hero-promise{grid-column:3;grid-row:1;justify-self:start}.small-rule{display:block;width:40px;height:3px;background:var(--gold)}.text-link{display:inline-flex;align-items:center;min-height:44px;gap:20px;padding:9px 0;border-bottom:1px solid currentColor;font-size:var(--type-label);text-decoration:none}.text-link svg{width:18px;height:18px;transition:transform .2s var(--ease)}.text-link:hover svg{transform:translateX(4px)}.hero-promise .text-link{margin-top:14px}.hero-foot{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--rule);padding:14px 0;font-size:0.6875rem;letter-spacing:.04em}.hero-foot>a{min-height:44px;display:flex;align-items:center;gap:15px;text-decoration:none}.hero-foot svg{width:17px;height:17px}
.section{padding:100px var(--page-gutter)}.manifesto{padding:82px max(12%,var(--page-gutter)) 92px;text-align:center}.manifesto blockquote{margin:0}.manifesto blockquote>p{margin:auto;font-size:clamp(1.4375rem,2.65vw,2.375rem);font-weight:300;line-height:1.45;letter-spacing:-.03em;max-width:1000px;color:var(--muted)}.manifesto blockquote>p span{color:var(--ink);font-weight:400}.manifesto cite{display:block;margin-top:25px;color:var(--muted);font-size:var(--type-note);font-style:normal;letter-spacing:.06em}.manifesto cite span{font-weight:600}
.section-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:35px}.section-note{font-size:0.6875rem;white-space:nowrap;padding-top:10px;border-top:1px solid currentColor;min-width:145px;margin-top:6px}.firm{border-top:1px solid var(--rule);padding-top:80px}.firm-content{display:grid;grid-template-columns:1fr 1.2fr;gap:12%;margin-top:55px}.lead{font-size:1.4375rem;line-height:1.6;letter-spacing:-.02em}.firm-content>div>p{font-size:var(--type-body);color:var(--muted);margin-bottom:22px}.firm-content .text-link{margin-top:5px}
.practice{--focus:var(--gold);background:var(--ink);color:var(--paper)}.practice .section-note{color:var(--gold)}.practice-layout{display:grid;grid-template-columns:1fr 1.8fr;gap:10%;margin-top:60px}.practice-intro>p{font-size:var(--type-body);max-width:31ch;color:#d2d5db}.practice-intro .practice-hint{font-size:var(--type-note);margin-top:24px;color:#b8bfca}.practice-seal{display:block;width:230px;margin-top:70px}.practice-list{border-top:1px solid #f2f2f259}details{border-bottom:1px solid #f2f2f230}summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:22px;padding:23px 0;font-size:1.375rem;font-weight:400;letter-spacing:-.015em;cursor:pointer;transition:color .2s var(--ease)}summary::-webkit-details-marker{display:none}summary:hover,details[open]>summary{color:var(--gold)}.expand{width:20px;height:20px;position:relative;flex-shrink:0}.expand:before,.expand:after{content:'';position:absolute;background:currentColor;width:14px;height:1px;left:3px;top:10px}.expand:after{transform:rotate(90deg);transition:transform .22s var(--ease)}details[open] .expand:after{transform:rotate(0)}.detail-body{line-height:1.8;letter-spacing:.005em;padding:0 35px 27px 0;font-size:var(--type-body);color:#c5cbd4}.detail-body ul{padding:0;margin:20px 0 0;list-style:none;display:grid;gap:7px}.detail-body li{padding-left:16px;position:relative}.detail-body li:before{content:'';width:4px;height:4px;background:var(--gold);position:absolute;top:10px;left:0}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:5%;margin-top:60px}.steps article{border-top:1px solid var(--rule);padding-top:20px}.step-number{font-size:0.75rem;font-variant-numeric:tabular-nums}.steps h3{font-size:1.5625rem;line-height:1.35;letter-spacing:-.015em;margin:32px 0 18px}.steps p{font-size:var(--type-body);color:var(--muted);max-width:40ch}
.faq{border-top:1px solid var(--rule)}.faq-intro{margin-top:28px;color:var(--muted);max-width:68ch}.faq-list{margin-top:55px;border-top:1px solid var(--rule)}.faq-list details{border-bottom:1px solid var(--rule)}.faq-list summary{padding:23px 0;color:var(--ink);font-size:inherit}.faq-list summary:hover,.faq-list details[open]>summary{color:var(--ink)}.faq-list h3{font-size:1.25rem;line-height:1.45;max-width:none}.faq-list .expand{color:var(--gold-dark)}.faq-answer{padding:0 48px 28px 0;color:var(--muted);max-width:75ch}.faq-answer a{color:var(--ink);font-weight:600}
@media(min-width:701px){.faq-list h3{white-space:nowrap}}
.contact{background:#e8e9ea;display:grid;grid-template-columns:1.2fr 1fr;gap:10%;border-top:1px solid var(--rule)}.contact h2{letter-spacing:-.025em;font-size:clamp(2.5rem,5vw,4.375rem)}.contact-intro>p{font-size:var(--type-body);color:var(--muted);margin-top:28px;max-width:45ch}.contact-content{align-self:center;border-top:1px solid var(--ink);padding-top:24px}.contact-content p{font-size:var(--type-body);color:var(--muted)}.contact-content .contact-title{font-size:1.1875rem;color:var(--ink);margin-bottom:14px}.contact-footnote{margin-top:40px;font-size:var(--type-note)}.contact-link{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--rule);padding:16px 0;text-decoration:none;overflow-wrap:anywhere}.contact-link svg{transition:transform .2s var(--ease)}.contact-link:hover{text-decoration:none}.contact-link:hover .contact-value{text-decoration:underline}.contact-link:hover svg{transform:translate(3px,-3px)}.contact-copy{display:block;min-width:0}.contact-label{display:block;margin-bottom:2px;color:var(--ink);font-size:var(--type-note);font-weight:600;letter-spacing:.035em}.contact-value{display:block;color:var(--muted);overflow-wrap:anywhere}.contact-address{font-style:normal;margin-top:22px;max-width:42ch}
.motion-ready .header:after{animation:header-rule-in .68s var(--ease) both}.motion-ready .header>.wordmark{animation:header-mark-in .52s var(--ease) .05s both}
@media(min-width:701px){.motion-ready .header nav>a{animation:header-item-in .42s var(--ease) both}.motion-ready .header nav>a:nth-child(1){animation-delay:.12s}.motion-ready .header nav>a:nth-child(2){animation-delay:.18s}.motion-ready .header nav>a:nth-child(3){animation-delay:.24s}.motion-ready .header nav>a:nth-child(4){animation-delay:.3s}}
@keyframes header-rule-in{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes header-mark-in{from{opacity:.2;clip-path:inset(0 100% 0 0);transform:translateX(-8px)}to{opacity:1;clip-path:inset(0);transform:translateX(0)}}
@keyframes header-item-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.motion-ready .hero h1{animation:hero-title-in .72s var(--ease) both}.motion-ready .hero-copy>p{animation:hero-copy-in .58s var(--ease) .14s both}.motion-ready .hero-copy>.button{animation:hero-copy-in .52s var(--ease) .24s both}.motion-ready .justice-frame{animation:justice-emerge .78s var(--ease) .12s both}.motion-ready .hero-clouds{animation:mist-settle .78s var(--ease) .18s both}.motion-ready .hero-experience{animation:side-left-in .5s var(--ease) .38s both}.motion-ready .hero-promise{animation:side-right-in .5s var(--ease) .42s both}.motion-ready .hero-foot{animation:hero-copy-in .45s var(--ease) .5s both}
@keyframes hero-title-in{from{clip-path:inset(0 0 100% 0);transform:translateY(16px)}to{clip-path:inset(0);transform:translateY(0)}}
@keyframes hero-copy-in{from{opacity:0;filter:blur(4px);transform:translateY(10px)}to{opacity:1;filter:blur(0);transform:translateY(0)}}
@keyframes justice-emerge{from{opacity:.15;clip-path:inset(0 0 12% 0);transform:translateY(22px)}to{opacity:1;clip-path:inset(0);transform:translateY(0)}}
@keyframes mist-settle{from{opacity:0;transform:translate(-50%,24px) scaleY(.94)}to{opacity:.58;transform:translate(-50%,0) scaleY(1)}}
@keyframes side-left-in{from{opacity:0;transform:translateX(-18px)}to{opacity:1;transform:translateX(0)}}
@keyframes side-right-in{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:translateX(0)}}
.skip{position:fixed;left:20px;top:-100px;background:var(--ink);color:white;padding:12px;z-index:20}.skip:focus{top:15px}[hidden]{display:none!important}
@media(max-width:1050px){:root{--page-gutter:6vw}nav{gap:20px}.nav-contact{margin-left:0}.hero-stage{grid-template-columns:minmax(0,1fr) minmax(0,1.65fr) minmax(0,1fr);gap:20px}.justice{height:460px}.hero-stage{min-height:460px}.section{padding-top:75px;padding-bottom:75px}.practice-layout{gap:6%}.steps h3{font-size:1.375rem}}
@media(max-width:700px){
.header{height:85px;padding:0 6%}.wordmark img{width:122px}.menu-toggle{display:flex;align-items:center;gap:12px;min-height:44px;padding:8px 0;border:0;background:none;color:inherit;font-size:var(--type-label)}.menu-lines{position:relative;width:20px;height:12px}.menu-lines:before,.menu-lines:after{content:"";position:absolute;left:0;width:20px;height:1px;background:currentColor;transition:transform .2s var(--ease);transform-origin:center}.menu-lines:before{top:2px}.menu-lines:after{top:10px}.menu-toggle[aria-expanded="true"] .menu-lines:before{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded="true"] .menu-lines:after{transform:translateY(-4px) rotate(-45deg)}.header nav{display:none;position:absolute;top:85px;left:0;width:100%;padding:25px 6%;background:var(--paper);z-index:5;box-shadow:0 15px 20px #151b2610}.header nav.is-open{display:flex;flex-direction:column;align-items:stretch;gap:14px;animation:menu-in .22s var(--ease) both}nav a{padding:10px 0}.nav-contact{padding:12px 18px;justify-content:space-between}
.hero{padding:42px 6% 0}.hero h1{font-size:clamp(1.875rem,8vw,3rem);line-height:1.2;margin-bottom:20px}.hero-copy>p{font-size:var(--type-body);max-width:33ch}.hero-copy>p br{display:none}.button{min-height:44px}.hero-stage{min-height:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 24px;margin-top:25px}.justice-frame{grid-column:1/-1;max-width:330px;grid-row:1}.justice{height:390px}.hero-clouds{top:115px;bottom:auto;height:440px;object-fit:cover}.hero-experience p strong{font-size:.875rem}.hero-side{min-width:0;overflow-wrap:anywhere;grid-row:2;margin:0;align-self:start;max-width:none}.hero-experience{grid-column:1;justify-self:start}.hero-promise{grid-column:2;justify-self:start;max-width:none}.experience-number{font-size:4rem}.hero-side p{font-size:var(--type-label);margin-top:8px}.small-rule{height:2px;margin-top:6px}.hero-promise .text-link{font-size:var(--type-label);gap:10px;margin-top:8px}.hero-foot{padding:22px 0 18px;margin-top:15px;font-size:0.75rem}.hero-foot>span{display:none}.hero-foot>a{margin:auto}
.lead br,.contact-intro>p br{display:none}.section{padding:60px 6%}.manifesto{padding:48px 7% 55px}.manifesto p{font-size:1.4375rem;line-height:1.5}.section-note{display:none}h2{letter-spacing:-.025em;font-size:2rem;line-height:1.25}.firm-content{grid-template-columns:1fr;gap:25px;margin-top:32px}.lead{font-size:1.3125rem}.firm-content>div>p{font-size:var(--type-body)}.practice-layout{grid-template-columns:1fr;gap:30px;margin-top:25px}.practice-intro>p{max-width:45ch;font-size:var(--type-body)}.practice-intro .practice-hint{margin-top:14px;max-width:none}.practice-seal{display:none}summary{font-size:1.25rem;padding:22px 0}.detail-body{padding-right:6px;font-size:var(--type-body)}.steps{grid-template-columns:1fr;gap:28px;margin-top:35px}.steps article{display:grid;grid-template-columns:28px 1fr;gap:0 14px;padding-top:20px}.step-number{padding-top:5px}.steps h3{margin:0 0 13px;font-size:1.375rem}.steps p{font-size:var(--type-body);grid-column:2;max-width:42ch}.faq-list{margin-top:35px}.faq-list h3{font-size:1.125rem}.faq-answer{padding-right:24px}.contact{grid-template-columns:1fr;gap:35px}.contact h2{letter-spacing:-.025em;font-size:2.8125rem}.contact-intro>p,.contact-content p{font-size:var(--type-body)}.contact-footnote{margin-top:30px}}
@media(max-width:700px){.motion-ready .menu-toggle{animation:header-item-in .4s var(--ease) .14s both}}
@keyframes menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition-duration:.01ms!important;transition-delay:0s!important}}
