:root{--bg:#111211;--panel:#191b18;--ink:#f0f0e9;--muted:#999e94;--gold:#ccb487;--line:#ffffff22;--sans:'DM Sans',sans-serif;--display:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);font-size:16px;-webkit-font-smoothing:antialiased}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline:2px solid var(--gold);outline-offset:6px}button{color:inherit}::selection{background:var(--gold);color:var(--bg)}.skip{position:fixed;top:-100px;left:10px;z-index:200;background:var(--gold);color:var(--bg);padding:15px}.skip:focus{top:10px}.header{height:100px;padding:0 5.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);position:absolute;inset:0 0 auto;z-index:20}.brand{display:flex;align-items:center;gap:13px;font-family:var(--display);font-weight:600;letter-spacing:2.5px;font-size:23px}.brand-mark{font-family:Georgia,serif;font-size:48px;line-height:1;position:relative;color:var(--gold);font-weight:400;letter-spacing:-7px;padding-right:8px}.brand-mark span{font-size:24px;letter-spacing:0}.brand small{display:block;font-size:8px;letter-spacing:2px;margin-top:5px;font-family:var(--sans);font-weight:400}.header nav{display:flex;gap:34px;font-size:14px;color:#c0c2bb}.header nav a:hover{color:var(--gold)}.header-cta{display:flex;gap:42px;align-items:center;font-size:14px;border:1px solid #ffffff55;padding:13px 18px}.header-cta:hover{background:var(--gold);color:var(--bg)}.menu-toggle{display:none}.hero{position:relative;min-height:780px;height:100svh;max-height:1100px;overflow:hidden;background:radial-gradient(ellipse at 75% 40%,#38382d 0%,#151813 43%,#101110 75%)}.hero-art{position:absolute;inset:0;background-position:center;background-size:cover;transform:scale(1.04);will-change:transform}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#0c0e0cdf 0%,#0e100e80 34%,transparent 68%),linear-gradient(0deg,#111211 0%,transparent 25%,#080a0840 90%)}.hero-content{position:relative;z-index:2;padding:175px 5.2% 120px;max-width:1500px;margin:auto}.eyebrow{font-size:11px;letter-spacing:2.3px;color:var(--gold);display:flex;align-items:center;gap:12px;margin:0 0 30px}.eyebrow>span{height:1px;width:29px;background:var(--gold)}h1{font-family:var(--display);font-weight:400;font-size:clamp(58px,5.6vw,88px);line-height:1.07;letter-spacing:-4.5px;margin:0 0 29px}h1>span{color:var(--gold)}.mobile-br{display:none}.hero-description{font-size:16px;line-height:1.8;color:#bbc0b6;margin:0 0 36px}.hero-actions{display:flex;gap:33px;align-items:center}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;font-size:14px;padding:18px 23px;border:1px solid transparent;transition:background .25s,transform .25s}.gold{background:var(--gold);color:#171a15}.button:hover{background:#e8d5b0;transform:translateY(-2px)}.button span{font-size:21px;line-height:1}.film-trigger{display:flex;align-items:center;gap:12px;background:none;border:0;padding:0;text-align:left;font-size:13px}.play{width:43px;height:43px;border:1px solid #ffffff60;border-radius:50%;display:grid;place-items:center;font-size:10px;padding-left:2px}.film-trigger:hover .play{background:var(--gold);color:#111}.film-trigger small{display:block;font-size:9px;letter-spacing:1.5px;color:var(--muted);margin-top:7px}.hero-bottom{position:absolute;bottom:31px;left:5.2%;right:5.2%;display:flex;justify-content:space-between;align-items:center;z-index:3;font-size:9px;letter-spacing:1.5px;color:#a4a99e}.scroll-link{display:flex;align-items:center;gap:14px}.scroll-link>span{height:34px;width:22px;border:1px solid #ffffff40;border-radius:15px;display:grid;place-items:center;font-size:17px}.hero-bottom button{border:0;background:none;font-size:13px;padding:8px}.hero-bottom button span{font-size:9px;letter-spacing:1px;margin-left:10px}.section{max-width:1600px;padding:100px 7%;margin:auto}.section-label{display:flex;justify-content:space-between;gap:20px;color:var(--gold);font-size:10px;letter-spacing:2px;margin-bottom:46px}.section-label>span+span{color:var(--muted)}.firm-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:90px}h2{font-family:var(--display);font-weight:400;font-size:clamp(34px,3.6vw,54px);line-height:1.2;letter-spacing:-1.8px;margin:0}h2 em{font-family:Georgia,serif;font-weight:400;color:var(--gold)}p{line-height:1.8}.firm-grid p{margin:0 0 19px}.muted{color:var(--muted)}.text-link{display:inline-flex;align-items:center;gap:36px;font-size:14px;padding:8px 0;border-bottom:1px solid #ccb48788;color:var(--gold)}.text-link:hover{color:var(--ink)}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:65px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.principles>div{display:flex;gap:25px;padding:32px 0}.principles>div+div{border-left:1px solid var(--line);padding-left:40px}.principles span{font-size:11px;color:var(--gold);padding-top:6px}.principles h3{font-size:18px;font-weight:400;line-height:1.6;margin:0}.paused *{animation-play-state:paused!important}.paused .hero-art{transform:none!important}@media(min-width:1600px){.hero-content{padding-top:205px}}@media(max-width:1000px){.header nav{gap:20px}.header{padding:0 5%;height:90px}.hero{min-height:760px}.hero-content{padding-top:175px}h1{font-size:64px}.hero-caption{display:none}.firm-grid{gap:40px}.section{padding:75px 6%}.principles>div+div{padding-left:25px}.principles>div{gap:16px}}@media(max-width:700px){.header{height:85px}.brand{font-size:19px}.brand-mark{font-size:42px}.brand small{font-size:7px;letter-spacing:1.4px}.header nav{display:none;position:absolute;top:84px;left:0;right:0;padding:25px 6%;background:#171a16;flex-direction:column;border-bottom:1px solid var(--line)}.header nav.open{display:flex}.header-cta{margin-left:auto;margin-right:15px;padding:10px 12px;gap:15px;font-size:12px}.menu-toggle{display:block;background:none;border:0;padding:7px;font-size:22px}.hero{min-height:790px;max-height:950px}.hero-content{padding:180px 6% 120px}.hero-shade{background:linear-gradient(90deg,#0c0e0ce0,#0c0e0c40),linear-gradient(0deg,#111211,transparent 60%)}.hero-art{background-position:62% center;opacity:.68}.eyebrow{font-size:9px;letter-spacing:1.5px}h1{font-size:clamp(46px,10vw,65px);letter-spacing:-2.8px;line-height:1.12}.mobile-br{display:block}.hero-description{font-size:14px}.hero-actions{align-items:flex-start;gap:22px;flex-direction:column}.button{padding:16px 20px}.hero-bottom{bottom:23px}.hero-bottom button span{display:none}.section-label{font-size:9px;letter-spacing:1.5px;margin-bottom:30px}.section-label>span+span{display:none}.firm-grid{grid-template-columns:1fr;gap:30px}h2{font-size:36px;letter-spacing:-1.4px}.principles{margin-top:40px;grid-template-columns:1fr}.principles>div,.principles>div+div{padding:23px 0;border-left:0;border-bottom:1px solid var(--line)}.principles>div:last-child{border-bottom:0}.principles h3 br{display:none}.principles h3{font-size:16px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.hero-art{transform:none!important}}
.hero-art{background-image:url("assets/justice.webp")}
.expertise{background:#161815;max-width:none}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin-bottom:44px}.section-heading>p{font-size:14px;line-height:1.8}.practice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;perspective:1200px}.practice-card{height:440px;position:relative;isolation:isolate;text-align:left;overflow:hidden;border:1px solid #ffffff20;background:#25281f;padding:27px;color:var(--ink);transition:transform .35s,border-color .3s;transform-style:preserve-3d}.practice-card::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(0deg,#0b0e0bf2 0%,#10140d44 67%,#0e110e77)}.practice-card img{position:absolute;inset:0;height:100%;width:100%;object-fit:cover;z-index:-2;filter:saturate(.5);transition:transform .8s,filter .8s}.practice-card:last-child img{object-position:77% center}.practice-card:hover img{transform:scale(1.07);filter:saturate(.9)}.practice-card:hover{border-color:var(--gold)}.card-number{font-size:9px;letter-spacing:1.7px;color:#e5e6dc;position:absolute;top:27px}.card-copy{position:absolute;bottom:35px;left:27px;right:22px}.card-title{display:block;font-family:var(--display);font-size:29px;letter-spacing:-.9px;font-weight:400;line-height:1.25}.card-description{font-size:12px;color:#b5bdaf;display:block;margin-top:17px}.card-arrow{position:absolute;top:65px;right:25px;width:35px;height:35px;border:1px solid #ffffff60;border-radius:50%;display:grid;place-items:center;transition:background .3s}.practice-card:hover .card-arrow{background:var(--gold);color:var(--bg)}.other-practices{display:flex;align-items:center;justify-content:space-between;gap:28px;padding-top:32px}.other-practices>span{font-size:9px;letter-spacing:1.7px;color:var(--muted)}.other-practices button{border:0;background:none;padding:12px 0;font-size:13px}.other-practices button>span{margin-left:20px;color:var(--gold)}.other-practices button:hover{color:var(--gold)}.film-banner{height:500px;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center}.film-banner>img{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 55%;filter:saturate(.25);opacity:.4}.film-overlay{position:absolute;inset:0;background:linear-gradient(0deg,#111211a0,#0d120c66,#111211a0)}.film-banner-content{position:relative;padding:30px}.film-banner-content .eyebrow{display:block;font-size:10px}.film-banner h2{font-size:clamp(38px,4.5vw,68px);line-height:1.2}.film-banner .film-trigger{margin:35px auto 0;gap:15px}.film-corner{position:absolute;bottom:22px;right:4%;font-size:9px;letter-spacing:1.8px;color:#ffffff99}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px}.sculpture-panel{min-width:0;position:relative}.sculpture-panel h2{font-size:36px}.sculpture-caption{display:block;text-align:center;color:var(--muted);font-size:8px;letter-spacing:1.7px;margin-top:-20px}#sculpture{height:320px;width:100%;position:relative;touch-action:pan-y}#sculpture canvas{max-width:100%;height:100%;display:block}.sculpture-fallback{position:absolute;inset:0;display:grid;place-content:center;font-size:150px;color:var(--gold);font-family:Georgia,serif}.sculpture-fallback span{display:none}.steps article{display:flex;gap:26px;padding:30px 0;border-bottom:1px solid var(--line)}.steps article:first-child{padding-top:7px}.steps article>span{color:var(--gold);font-size:12px;padding-top:6px}.steps h3{font-weight:400;font-family:var(--display);font-size:24px;letter-spacing:-.5px;margin:0 0 13px}.steps p{font-size:15px;color:var(--muted);margin:0}.contact{background:#1a1d17;max-width:none}.contact-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:90px}.contact h2{font-size:58px}.contact-grid>div>p{font-size:14px;margin:24px 0}.contact-note{display:flex;gap:16px;align-items:center;margin-top:32px}.contact-note>span{height:40px;width:40px;border:1px solid #ccb48755;border-radius:50%;display:grid;place-items:center;color:var(--gold)}.contact-note p{font-size:12px;line-height:1.7;color:#c4cabb}.contact-grid>div>.demo-note{font-size:10px;color:var(--muted);line-height:1.9;margin-top:40px}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:25px}form label{display:block;font-size:12px;line-height:1.5;margin-bottom:26px}input,select,textarea{width:100%;padding:14px 0 12px;background:transparent;border:0;border-bottom:1px solid #ffffff33;border-radius:0;color:var(--ink);font-family:var(--sans);font-size:14px;outline:none}input::placeholder,textarea::placeholder{color:#848c7f}input:focus,select:focus,textarea:focus{border-color:var(--gold)}textarea{resize:vertical;min-height:90px;max-height:250px}select{color:#a8b09f}option{background:#1a1d17;color:var(--ink)}.optional{color:var(--muted)}.form-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px}.form-bottom>span{font-size:10px;line-height:1.7;color:var(--muted)}#form-status{padding:18px;border:1px solid #ccb48760;color:#dfcba3;font-size:14px;line-height:1.7}.questions{display:grid;grid-template-columns:1fr 1.4fr;gap:80px;padding-top:80px;padding-bottom:90px}.questions h2{font-size:36px}.questions .eyebrow{font-size:9px;margin-bottom:22px}.faq-list details{border-bottom:1px solid var(--line)}.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:20px;list-style:none;font-size:14px;padding:21px 0;cursor:pointer}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary>span{font-size:23px;color:var(--gold);font-weight:300}.faq-list details[open] summary>span{transform:rotate(45deg)}.faq-list details p{font-size:14px;color:var(--muted);margin:0 0 25px}footer{overflow:hidden;border-top:1px solid var(--line);padding:46px 5.2% 0}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px;margin-bottom:36px}.footer-top>p{font-size:13px;color:var(--muted)}.back-top{font-size:12px;display:flex;align-items:center;gap:25px}.back-top>span{border:1px solid #ffffff44;width:38px;height:38px;border-radius:50%;display:grid;place-items:center}.footer-bottom{padding:23px 0;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;color:#959c8e}.footer-bottom button{border:0;background:none;color:inherit;font-size:10px;padding:0}.footer-bottom button:hover{color:var(--gold)}.footer-wordmark{font-family:var(--display);font-size:10.6vw;font-weight:500;line-height:1.2;letter-spacing:-.7vw;color:#ffffff08;white-space:nowrap;margin-top:20px}dialog{color:var(--ink);border:1px solid #ccb48755;background:#1b1e18;padding:55px;width:min(620px,calc(100% - 32px));max-height:85svh;overflow:auto}dialog::backdrop{background:#040604dd;backdrop-filter:blur(10px)}body:has(dialog[open]){overflow:hidden}.dialog-close{position:absolute;right:17px;top:14px;background:none;border:0;font-size:29px;font-weight:300;padding:3px 10px;color:var(--gold)}dialog .eyebrow{font-size:10px}dialog h2{font-size:38px}dialog p{color:#b6bfb0;font-size:15px}dialog ul{list-style:none;padding:0;margin:25px 0}dialog li{padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}dialog li::before{content:'—';color:var(--gold);margin-right:15px}.dialog-note{font-size:12px;line-height:1.7;margin-bottom:25px}#film-dialog{width:min(1050px,calc(100% - 24px));padding:0;overflow:hidden;background:#0c0e0b}.film-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:20px 25px;font-size:10px;letter-spacing:1.5px}.film-dialog-head>span>span{color:var(--muted);letter-spacing:0}.film-dialog-head .dialog-close{position:static;padding:0 6px;line-height:1}#brand-film{display:block;width:100%;max-height:68svh;background:#080a07;aspect-ratio:16/9}.film-note{font-size:11px!important;padding:0 25px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .9s ease,transform .9s ease}.reveal.visible{opacity:1;transform:none}.paused .reveal{opacity:1;transform:none}.paused .practice-card{transform:none!important}.hero-content{animation:hero-enter 1.2s ease both}@keyframes hero-enter{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@media(min-width:1600px){.expertise,.contact{padding-left:max(7%,calc((100vw - 1376px)/2));padding-right:max(7%,calc((100vw - 1376px)/2))}}@media(max-width:1000px){.practice-card{height:380px;padding:20px}.card-copy{left:20px}.card-title{font-size:24px}.card-description{font-size:11px}.card-number{font-size:8px;letter-spacing:1px}.section-heading{align-items:flex-start}.section-heading>p br{display:none}.approach-grid{gap:40px}.sculpture-panel h2{font-size:31px}.contact-grid{gap:45px}.contact h2{font-size:46px}.form-bottom{align-items:flex-start;flex-direction:column}.questions{gap:40px}}@media(max-width:700px){.section-heading{display:block}.section-heading>p{margin-top:25px}.practice-grid{grid-template-columns:1fr;gap:20px}.practice-card{height:420px}.card-title{font-size:33px}.card-copy{bottom:33px;left:26px}.card-description{font-size:13px}.card-number{font-size:10px;left:26px;top:26px}.card-arrow{top:65px}.practice-card img{object-position:center 45%}.other-practices{flex-wrap:wrap;gap:5px 25px;padding-top:26px}.other-practices>span{width:100%;margin-bottom:10px}.other-practices button{font-size:12px}.other-practices button>span{margin-left:10px}.film-banner{height:410px}.film-banner .eyebrow{font-size:8px;letter-spacing:1.5px}.film-banner h2{font-size:36px}.film-corner{font-size:7px}.approach-grid{grid-template-columns:1fr;gap:50px}.sculpture-panel h2{font-size:34px}.sculpture-caption{font-size:7px}.steps h3{font-size:23px}.steps p{font-size:14px}.contact-grid{grid-template-columns:1fr;gap:30px}.contact h2{font-size:44px}.contact-grid>div>.demo-note{margin-top:20px}.field-row{gap:20px}.form-bottom{flex-direction:row;align-items:center}.form-bottom>span{font-size:9px}.form-bottom .button{font-size:12px;gap:15px;padding:15px}.questions{grid-template-columns:1fr;gap:22px}.questions h2{font-size:34px}.footer-top{flex-wrap:wrap;gap:25px}.footer-top>p{order:3;width:100%;margin:0}.footer-top .brand{font-size:16px}.footer-top .brand small{font-size:6px}.back-top{font-size:10px;gap:10px}.footer-bottom{flex-direction:column;gap:16px;align-items:flex-start}.footer-wordmark{margin:0;font-size:10.3vw}dialog{padding:52px 25px 30px}dialog h2{font-size:31px}.film-dialog-head{padding:18px 15px}.film-dialog-head>span>span{display:none}.film-note{font-size:9px!important;padding:0 15px}}@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}
.header-cta{white-space:nowrap;flex-shrink:0}.brand>span:last-child{white-space:nowrap}@media(max-width:700px){.header .brand{font-size:16px;letter-spacing:1.4px;gap:10px}.header .brand small{font-size:6px;letter-spacing:1px}.header-cta{gap:10px;margin-right:8px;padding:10px}.header .brand-mark{font-size:38px}}@media(max-width:360px){.header-cta{border:0;padding:7px 0;margin-right:4px;font-size:11px}.header-cta span{display:none}.header .brand{font-size:14px}.header .brand small{font-size:5px}.field-row{grid-template-columns:1fr;gap:0}.form-bottom{align-items:flex-start;flex-direction:column}}
