:root{--bg:#0e2a30;--surface:#13353b;--surface-hover:#18414a;--ink:#ece6dc;--ink-soft:#dcd6cc;--ink-muted:#c9d1d1;--ink-subtle:#b9c4c5;--accent:#d8c9a9;--line:#ece6dc33;--line-strong:#ece6dc3d;--line-field:#ece6dc73;--sweep:linear-gradient(90deg, #d8c9a99e, #d8c9a93d 55%, #0e2a3000);--dots:radial-gradient(#d8c9a952 1px, transparent 1.5px);--serif:"Cormorant Garamond", Georgia, serif;--sans:"Hanken Grotesk", Helvetica, Arial, sans-serif;--ease:cubic-bezier(.2,.7,.2,1);--gutter:clamp(20px, 4vw, 48px);--section-y:clamp(64px, 9vw, 120px)}*,:before,:after{box-sizing:border-box}html,body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;padding:0}body{min-height:100vh;font-family:var(--sans);flex-direction:column;font-size:16px;font-weight:300;line-height:1.6;display:flex}main{flex:1}a{color:var(--ink);border-bottom:1px solid #ece6dc4d;text-decoration:none}a:hover{color:var(--accent);border-color:var(--accent)}input,select,textarea,button{font:inherit;color:inherit}::selection{background:var(--accent);color:var(--bg)}i.hl{color:var(--accent)}.serif{font-family:var(--serif)}.plain{border:0}@keyframes hrIn{0%{opacity:0;filter:blur(8px);transform:translateY(.2em)}to{opacity:1;filter:none;transform:none}}.site-header{z-index:20;background:var(--bg);border-bottom:1px solid var(--line);position:sticky;top:0}.site-header .bar{padding:20px var(--gutter);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:20px;display:grid}.site-header nav{font-family:var(--serif);gap:clamp(16px,2.6vw,36px);font-size:18px;display:flex}.site-header nav a{border:0;padding:2px 0;position:relative}.site-header nav a[aria-current]:after{content:"";background:var(--accent);height:1px;position:absolute;bottom:-3px;left:0;right:0}.wordmark{text-align:center;border:0;flex-direction:column;align-items:center;gap:6px;display:flex}.wordmark:hover{color:var(--ink)}.wordmark b{font-family:var(--serif);letter-spacing:.32em;text-transform:uppercase;padding-left:.32em;font-size:clamp(17px,1.8vw,21px);font-weight:400;line-height:1}.wordmark span{font-family:var(--serif);color:var(--ink-muted);letter-spacing:.06em;align-items:center;gap:10px;font-size:15px;font-style:italic;display:flex}.wordmark span:before,.wordmark span:after{content:"";background:var(--ink-subtle);width:24px;height:1px}.contact-btn-wrap{justify-content:flex-end;display:flex}.contact-btn{font-family:var(--serif);border:1px solid #ece6dc4d;padding:8px 20px;font-size:18px}.contact-btn[aria-current]{border-color:var(--accent)}.section{border-top:1px solid var(--line);padding:var(--section-y) var(--gutter)}.h2{font-family:var(--serif);letter-spacing:-.015em;margin:0 0 56px;font-size:clamp(38px,4.6vw,64px);font-weight:400;line-height:1}.display{font-family:var(--serif);letter-spacing:-.025em;margin:0;font-weight:400;line-height:.98}.dots{z-index:-1;pointer-events:none;background-image:var(--dots);background-size:28px 28px;position:absolute;inset:0 0 0 35%;-webkit-mask-image:radial-gradient(70% 70% at 75%,#000,#0000 75%);mask-image:radial-gradient(70% 70% at 75%,#000,#0000 75%)}.btn-primary{cursor:pointer;background:var(--accent);color:var(--bg);font-family:var(--serif);border:0;padding:14px 28px;font-size:22px;font-style:italic;line-height:1.6;transition:background .3s;display:inline-block}.btn-primary:hover{background:var(--ink);color:var(--bg)}p{text-wrap:pretty}.hero{isolation:isolate;min-height:calc(100vh - 64px);padding:clamp(40px,6vw,72px) var(--gutter) clamp(40px,5vw,56px);flex-direction:column;justify-content:space-between;gap:64px;display:flex;position:relative;overflow:hidden}.hero h1{font-size:clamp(48px,8.4vw,140px)}.hero h1 i{color:var(--accent);animation:hrIn .7s var(--ease) both;display:inline-block}.hero-foot{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:32px;padding-top:28px;display:flex}.hero-foot p{max-width:52ch;color:var(--ink-soft);margin:0;font-size:17px}.cta-underline{font-family:var(--serif);border-bottom:1px solid var(--accent);padding-bottom:6px;font-size:clamp(22px,2.2vw,28px);font-style:italic;line-height:1.2}.cover-head{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:32px 64px;margin-bottom:56px;display:grid}.cover-head .h2{margin:0}.cover-head p{font-family:var(--serif);max-width:28ch;margin:0;font-size:clamp(26px,2.8vw,38px);line-height:1.2}.acc-scroll{overflow-x:auto}.acc{border-top:1px solid #ece6dc38;border-bottom:1px solid #ece6dc38;border-right:1px solid #ece6dc38;min-width:760px;height:clamp(380px,46vw,500px);display:flex}.panel{cursor:pointer;min-width:64px;transition:flex .6s var(--ease), background .4s;border-left:1px solid #ece6dc38;flex:1 1 0;position:relative;overflow:hidden}.panel.on{background:var(--surface);flex:5 1 0}.panel .off{flex-direction:column;justify-content:space-between;align-items:center;display:flex;position:absolute;inset:24px 0}.panel .off em{font-family:var(--serif);color:var(--accent);font-size:15px}.panel .off span{writing-mode:vertical-rl;font-family:var(--serif);white-space:nowrap;color:var(--ink-soft);font-size:26px;transform:rotate(180deg)}.panel .onc{flex-direction:column;justify-content:space-between;min-width:300px;padding:28px 32px;display:none;position:absolute;inset:0}.panel .onc em{font-family:var(--serif);color:var(--accent);font-size:22px}.panel .onc h3{font-family:var(--serif);letter-spacing:-.015em;margin:0 0 18px;font-size:clamp(40px,4vw,60px);font-weight:400;line-height:1}.panel .onc p{color:var(--ink-soft);max-width:32ch;margin:0;font-size:16px}.panel.on .off{display:none}.panel.on .onc{display:flex}.rows{border-bottom:1px solid var(--line-strong)}.row{border-top:1px solid var(--line-strong);color:var(--ink);background:var(--sweep) no-repeat left / 0% 100%;transition:background-size .55s var(--ease), color .3s;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));align-items:center;gap:12px 40px;padding:clamp(22px,2.6vw,30px) clamp(12px,2vw,28px);display:grid}.row:hover{color:#fff;background-size:100% 100%}.row h3{font-family:var(--serif);letter-spacing:-.015em;margin:0;font-size:clamp(38px,4.6vw,60px);font-weight:400;line-height:1}.row.step h3{font-size:clamp(34px,4vw,54px)}.row.step h3 i{opacity:.7;margin-right:18px;font-size:.55em}.row p{opacity:.9;max-width:48ch;margin:0;font-size:16px}.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;display:grid}.card{background:var(--surface);min-height:360px;transition:transform .5s var(--ease), background .4s;flex-direction:column;justify-content:space-between;gap:40px;padding:clamp(28px,3vw,40px);display:flex;position:relative;overflow:hidden}.cards.short .card{min-height:340px}.card:before{content:"";background:var(--accent);width:48px;height:2px;transition:width .6s var(--ease);position:absolute;top:0;left:0}.card>em{font-family:var(--serif);color:var(--accent);transition:font-size .5s var(--ease);font-size:64px;line-height:.8}.card h3{font-family:var(--serif);margin:0 0 16px;font-size:clamp(32px,3vw,42px);font-weight:400;line-height:1}.card p{color:var(--ink-soft);margin:0;font-size:16px}.card:hover{background:var(--surface-hover);transform:translateY(-10px)}.card:hover:before{width:100%}.card:hover>em{font-size:96px}.firm-intro{isolation:isolate;padding:clamp(56px,9vw,120px) var(--gutter) clamp(64px,8vw,104px);flex-direction:column;gap:clamp(128px,16vw,260px);display:flex;position:relative;overflow:hidden}.firm-intro .dots{-webkit-mask-image:radial-gradient(70% 70% at 75% 40%,#000,#0000 75%);mask-image:radial-gradient(70% 70% at 75% 40%,#000,#0000 75%)}.firm-intro h1{font-size:clamp(40px,6.6vw,112px);line-height:.95}.firm-intro .lead{font-family:var(--serif);max-width:36ch;margin:28px 0 0;font-size:clamp(24px,2.4vw,32px);line-height:1.3}.pillars{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));display:grid}.pillars div{border-bottom:1px solid var(--line-strong);margin-right:24px;padding:28px 24px 28px 0}.pillars h3{font-family:var(--serif);margin:0 0 6px;font-size:clamp(28px,2.6vw,34px);font-weight:400;line-height:1.1}.pillars p{color:var(--ink-muted);margin:0;font-size:16px}.mastery{border-top:1px solid var(--line-strong);border-left:1px solid var(--line-strong);grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));max-width:1100px;margin:0 auto;display:grid}.mastery>div{border-right:1px solid var(--line-strong);border-bottom:1px solid var(--line-strong);flex-direction:column;justify-content:space-between;gap:28px;min-height:220px;padding:clamp(24px,2.6vw,36px);transition:background .4s,color .3s;display:flex}.mastery>div:hover{color:#fff;background:#d8c9a929}.mastery em{font-family:var(--serif);opacity:.75;font-size:22px}.mastery h3{font-family:var(--serif);margin:0 0 12px;font-size:clamp(28px,2.6vw,36px);font-weight:400;line-height:1.05}.mastery p{opacity:.85;margin:0;font-size:15px}.contact{padding:clamp(56px,9vw,120px) var(--gutter);grid-template-columns:repeat(auto-fit,minmax(min(100%,400px),1fr));gap:64px 96px;display:grid}.contact-left{flex-direction:column;justify-content:space-between;gap:56px;display:flex}.contact h1{font-size:clamp(44px,6vw,96px)}.contact-left p{color:var(--ink-soft);max-width:42ch;margin:32px 0 0;font-size:17px}.info{border-bottom:1px solid var(--line);font-size:15px;font-weight:500}.info div{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:space-between;gap:16px;padding:14px 0;display:flex}.info span:first-child{color:var(--ink-subtle)}.form-panel{background:var(--surface);padding:clamp(28px,4vw,48px)}.form-panel form{flex-direction:column;gap:26px;display:flex}.label{letter-spacing:.12em;text-transform:uppercase;color:var(--ink);font-size:13px;font-weight:500}.form-panel input:not([type=radio]),.form-panel textarea{border:0;border-bottom:1px solid var(--line-field);background:0 0;border-radius:0;padding:14px 0;font-size:18px;font-weight:400}.form-panel textarea{resize:vertical}.form-panel input:focus,.form-panel textarea:focus{border-color:var(--accent);outline:none}.form-panel ::placeholder{color:var(--ink-subtle);opacity:1}.chips{border:0;flex-wrap:wrap;gap:8px;margin:0;padding:0;display:flex}.chips input{opacity:0;pointer-events:none;position:absolute}.chips span{cursor:pointer;border:1px solid #ece6dc80;border-radius:999px;padding:9px 16px;font-size:14px;font-weight:500;line-height:1.6;display:inline-block}.chips input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--bg)}.chips input:focus-visible+span{outline:1px solid var(--accent);outline-offset:2px}.form-panel .btn-primary{text-align:center;padding:16px}.note{color:var(--ink-subtle);font-size:14px}.hp{position:absolute;left:-9999px}.sent{flex-direction:column;justify-content:center;min-height:360px;display:flex}.sent div{font-family:var(--serif);margin-bottom:20px;font-size:48px;line-height:1}.sent p{color:var(--ink-soft);max-width:38ch;margin:0 0 32px}.sent a{font-family:var(--serif);color:var(--ink-muted);border-bottom:1px solid #ece6dc40;align-self:flex-start;padding-bottom:4px;font-size:20px;font-style:italic}.sent a:hover{color:var(--accent)}.terms{padding:clamp(56px,9vw,120px) var(--gutter);grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start;gap:48px 96px;display:grid}.terms-head{position:sticky;top:120px}.terms h1{font-size:clamp(44px,6vw,88px)}.terms-head p{color:var(--ink-muted);margin:24px 0 0;font-size:15px}.terms ol{max-width:720px;margin:0;padding:0;list-style:none}.terms li{border-top:1px solid #ece6dc38;padding:28px 0}.terms li>div{align-items:baseline;gap:18px;margin-bottom:12px;display:flex}.terms li em{font-family:var(--serif);color:var(--accent);min-width:28px;font-size:20px}.terms h2{font-family:var(--serif);margin:0;font-size:28px;font-weight:400;line-height:1.1}.terms li p{color:var(--ink-soft);margin:0 0 0 46px;font-size:15px;line-height:1.7}.band{border-top:1px solid var(--line);background:var(--surface);padding:var(--section-y) var(--gutter)}.band>div{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));align-items:end;gap:40px 80px;display:grid}.band h2{font-size:clamp(44px,6vw,96px)}.band-right{flex-direction:column;align-items:flex-start;gap:28px;display:flex}.band-right p{color:var(--ink-soft);max-width:40ch;margin:0;font-size:17px}.band-right div{flex-wrap:wrap;align-items:center;gap:20px 36px;display:flex}.band-right a.mail{font-family:var(--serif);font-size:20px}.site-footer{border-top:1px solid var(--line);padding:clamp(40px,6vw,72px) var(--gutter) 28px;overflow:hidden}.foot-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.foot-top>div:first-child{flex-direction:column;gap:10px;display:flex}.foot-top b{font-family:var(--serif);letter-spacing:.32em;text-transform:uppercase;font-size:18px;font-weight:400;line-height:1}.foot-top i{font-family:var(--serif);color:var(--ink-muted);font-size:15px}.foot-top address{text-align:right;color:var(--ink-muted);flex-direction:column;gap:4px;font-size:15px;font-style:normal;display:flex}.foot-bottom{letter-spacing:.1em;text-transform:uppercase;color:var(--ink-subtle);border-top:1px solid #ece6dc29;flex-wrap:wrap;justify-content:space-between;gap:16px;margin-top:32px;padding-top:20px;font-size:13px;font-weight:500;display:flex}.foot-bottom>span:last-child{flex-wrap:wrap;gap:24px;display:flex}.foot-bottom a{color:inherit;border:0}.foot-bottom a:hover{color:var(--accent)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
