:root { --ink:#11110f; --ink-soft:#1a1a17; --paper:#f3f0e8; --gold:#b9985a; --gold-light:#d1b77d; --muted:#747168; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; }
a { color:inherit; text-decoration:none; }

.site-header { position:absolute; z-index:10; top:0; left:0; right:0; height:96px; padding:0 clamp(24px,5vw,80px); display:flex; align-items:center; justify-content:space-between; color:white; border-bottom:1px solid rgba(255,255,255,.14); }
.brand { display:inline-flex; align-items:center; gap:13px; min-width:210px; }
.brand-logo { width:48px; height:48px; flex:0 0 48px; display:block; border-radius:50%; object-fit:cover; }
.brand strong { display:block; letter-spacing:.24em; font-size:17px; font-weight:500; }
.brand small { display:block; margin-top:4px; color:rgba(255,255,255,.58); letter-spacing:.11em; font-size:8px; text-transform:uppercase; }
.site-header nav { display:flex; align-items:center; gap:16px; font-size:11px; letter-spacing:.14em; text-transform:uppercase; }
.nav-separator { color:rgba(255,255,255,.5); }
.site-header nav a { color:rgba(255,255,255,.72); transition:color .2s; }
.site-header nav a:hover,.site-header nav a:focus-visible { color:var(--gold-light); }
.header-actions { display:flex; align-items:center; gap:20px; }
.language-switcher { display:flex; align-items:center; gap:9px; font-size:9px; letter-spacing:.12em; }
.language-switcher a { padding:7px 3px; color:rgba(255,255,255,.5); border-bottom:1px solid transparent; }
.language-switcher a:hover,.language-switcher a:focus-visible,.language-switcher a[aria-current="page"] { color:var(--gold-light); border-bottom-color:var(--gold); }
.header-cta { padding:13px 18px; border:1px solid rgba(209,183,125,.6); color:var(--gold-light); text-transform:uppercase; letter-spacing:.13em; font-size:9px; }

.hero { min-height:790px; height:100vh; position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) minmax(300px,34vw); align-items:center; padding:120px clamp(24px,8vw,132px) 80px; background:radial-gradient(circle at 74% 44%,#292922 0,#171714 23%,#0d0e0c 64%); color:white; }
.hero::before { content:""; position:absolute; width:46vw; height:46vw; min-width:500px; min-height:500px; right:-8vw; top:12%; border:1px solid rgba(185,152,90,.12); border-radius:50%; }
.hero-grid { position:absolute; inset:0; opacity:.11; background-image:linear-gradient(rgba(255,255,255,.11) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.11) 1px,transparent 1px); background-size:74px 74px; mask-image:linear-gradient(90deg,transparent 5%,black 70%,transparent); }
.hero-copy { position:relative; z-index:2; max-width:850px; }
.eyebrow { display:flex; align-items:center; gap:12px; margin:0 0 32px; color:var(--gold-light); font-size:10px; text-transform:uppercase; letter-spacing:.25em; }
.eyebrow span { width:34px; height:1px; background:var(--gold); }
.hero h1,.contact-section h2 { margin:0; font-family:Georgia,"Times New Roman",serif; font-weight:400; font-size:clamp(48px,6.1vw,92px); line-height:.99; letter-spacing:-.04em; }
.hero h1 em,.contact-section h2 em { color:var(--gold-light); font-weight:400; }
.hero-intro { max-width:630px; margin:36px 0 0; color:rgba(255,255,255,.64); font-size:17px; line-height:1.75; }
.hero-actions { margin-top:42px; display:flex; align-items:center; gap:34px; }
.button { display:inline-flex; justify-content:center; align-items:center; gap:30px; min-height:52px; padding:0 27px; font-size:9px; letter-spacing:.17em; text-transform:uppercase; transition:background .2s,color .2s,transform .2s; }
.button:hover { transform:translateY(-2px); }
.button-gold { background:var(--gold); color:#0d0e0c; }
.button-gold:hover,.button-gold:focus-visible { background:var(--gold-light); }
.text-link { color:rgba(255,255,255,.76); border-bottom:1px solid rgba(185,152,90,.35); padding:10px 0; font-size:10px; text-transform:uppercase; letter-spacing:.13em; }
.text-link span { color:var(--gold-light); margin-left:8px; }
.hero-aside { position:relative; z-index:2; justify-self:center; display:flex; flex-direction:column; align-items:center; }
.hero-aside p { margin:24px 0 0; color:rgba(255,255,255,.38); text-align:center; text-transform:uppercase; font-size:9px; line-height:1.8; letter-spacing:.24em; }
.coin-front { width:min(27vw,360px); height:auto; min-width:250px; display:block; border-radius:50%; filter:drop-shadow(0 22px 34px rgba(0,0,0,.38)); }
.scroll-note { position:absolute; left:clamp(24px,5vw,80px); bottom:34px; color:rgba(255,255,255,.35); font-size:8px; letter-spacing:.2em; text-transform:uppercase; writing-mode:vertical-rl; transform:rotate(180deg); }
.scroll-note span { display:inline-block; height:35px; width:1px; margin-bottom:12px; background:var(--gold); }

.audience-strip { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); background:var(--gold); padding:0 clamp(24px,5vw,80px); }
.audience-strip div { min-height:98px; display:flex; align-items:center; gap:12px; padding:18px; border-left:1px solid rgba(17,17,15,.16); text-transform:uppercase; letter-spacing:.12em; font-size:10px; }
.audience-strip .audience-label { color:rgba(17,17,15,.68); font-weight:600; letter-spacing:.15em; }
.audience-strip div:last-child { border-right:1px solid rgba(17,17,15,.16); }
.audience-strip span { font-family:Georgia,serif; color:rgba(17,17,15,.48); }

.section-shell { max-width:1320px; margin:auto; padding-left:clamp(24px,6vw,96px); padding-right:clamp(24px,6vw,96px); }
.intro-section { display:grid; grid-template-columns:210px 1fr; gap:40px; padding-top:130px; padding-bottom:140px; }
.section-label { color:var(--muted); padding-top:8px; font-size:9px; letter-spacing:.22em; text-transform:uppercase; }
.section-label::before { content:""; display:inline-block; width:28px; height:1px; margin-right:10px; vertical-align:middle; background:var(--gold); }
.section-label.light { color:rgba(255,255,255,.42); }
.lead { max-width:900px; margin:0; font-family:Georgia,serif; font-size:clamp(30px,3.4vw,50px); line-height:1.26; letter-spacing:-.02em; }
.lead em { color:var(--gold); font-weight:400; }
.intro-columns { max-width:730px; margin:55px 0 0 auto; display:grid; grid-template-columns:1fr 1fr; gap:46px; color:#67645c; font-size:14px; line-height:1.8; }
.section-contact-link { display:inline-flex; align-items:center; gap:10px; margin-top:32px; padding-bottom:7px; border-bottom:1px solid rgba(185,152,90,.48); color:#8b6b35; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }
.section-contact-link:hover,.section-contact-link:focus-visible { color:var(--ink); border-bottom-color:var(--gold); }
.section-contact-link span { color:var(--gold); }
.foundation-actions { display:flex; flex-wrap:wrap; align-items:flex-end; gap:18px 32px; margin-top:26px; }
.foundation-actions .section-contact-link { margin-top:0; }
.topic-links { display:inline-flex; align-items:center; gap:13px; padding-bottom:7px; color:#8b6b35; font-size:10px; letter-spacing:.14em; }
.topic-links a { border-bottom:1px solid rgba(185,152,90,.48); }
.topic-links a:hover,.topic-links a:focus-visible { color:var(--ink); border-bottom-color:var(--gold); }
.topic-current { color:rgba(17,17,15,.38); }
.topic-separator { color:rgba(17,17,15,.35); }

.services-section { background:var(--ink-soft); color:white; padding:130px 0; }
.section-heading { display:flex; justify-content:space-between; align-items:end; gap:50px; margin-bottom:70px; }
.section-heading h2,.method-section h2,.principles-copy>h2 { margin:22px 0 0; max-width:750px; font-family:Georgia,serif; font-weight:400; font-size:clamp(35px,4.4vw,62px); line-height:1.08; letter-spacing:-.03em; }
.section-heading>p { max-width:260px; margin:0; color:rgba(255,255,255,.42); font-size:13px; line-height:1.6; }
.service { display:grid; grid-template-columns:70px minmax(0,1fr) 250px; gap:30px; padding:38px 0; border-top:1px solid rgba(255,255,255,.12); }
.service:last-child { border-bottom:1px solid rgba(255,255,255,.12); }
.service-number { color:var(--gold); font-family:Georgia,serif; font-size:14px; }
.service h3 { margin:0; font-family:Georgia,serif; font-size:28px; font-weight:400; }
.service p { max-width:610px; margin:15px 0 0; color:rgba(255,255,255,.52); font-size:13px; line-height:1.75; }
.service ul { margin:0; padding:0; list-style:none; }
.service li { padding:7px 0; border-bottom:1px solid rgba(185,152,90,.18); color:rgba(255,255,255,.48); font-size:9px; text-transform:uppercase; letter-spacing:.13em; }

.method-section { padding-top:140px; padding-bottom:150px; }
.method-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:clamp(60px,9vw,140px); margin-top:45px; }
.quote-mark { margin:0 0 -25px; color:var(--gold); font-family:Georgia,serif; font-size:90px; line-height:1; }
.method-steps { border-top:1px solid rgba(17,17,15,.18); }
.method-steps article { display:grid; grid-template-columns:46px 130px 1fr; gap:18px; padding:29px 0; border-bottom:1px solid rgba(17,17,15,.18); align-items:baseline; }
.method-steps span { color:var(--gold); font-family:Georgia,serif; font-size:12px; }
.method-steps h3 { margin:0; font-family:Georgia,serif; font-size:20px; font-weight:400; }
.method-steps p { margin:0; color:var(--muted); font-size:12px; line-height:1.65; }

.principles-section { padding:105px 0; background:#22221e; color:white; }
.principles-grid { display:grid; grid-template-columns:210px 1fr; gap:40px; }
.principles { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:44px; background:rgba(255,255,255,.1); }
.principles article { min-height:260px; padding:30px; background:#22221e; }
.principles span { color:var(--gold); font-family:Georgia,serif; font-size:12px; }
.principles h3 { margin:50px 0 16px; font-family:Georgia,serif; font-size:22px; font-weight:400; }
.principles p { margin:0; color:rgba(255,255,255,.45); font-size:12px; line-height:1.7; }
.principles-copy>h2 em { color:var(--gold-light); font-style:normal; }
.statement-grid { grid-template-columns:repeat(5,1fr); }
.statement-grid article { min-height:248px; padding:24px; display:flex; flex-direction:column; }
.statement-grid h3 { margin-top:28px; margin-bottom:12px; }
.statement-grid p { color:rgba(255,255,255,.64); font-size:15px; line-height:1.7; }
.statement-grid a { margin-top:18px; padding-top:0; color:var(--gold-light); font-size:8px; letter-spacing:.16em; text-transform:uppercase; }
.statement-grid a b { margin-left:7px; font-weight:400; }

.foundations-section { padding:140px 0 150px; background:var(--paper); }
.foundations-heading { display:grid; grid-template-columns:210px 1fr; gap:40px; padding-bottom:78px; }
.foundations-heading h2 { max-width:900px; margin:0; font-family:Georgia,serif; font-size:clamp(38px,4.7vw,66px); font-weight:400; line-height:1.08; letter-spacing:-.03em; }
.foundations-heading p { margin:24px 0 0; color:var(--muted); font-size:14px; line-height:1.7; }
.foundation-article { display:grid; grid-template-columns:210px 1fr; gap:40px; padding:75px 0 85px; border-top:1px solid rgba(17,17,15,.18); scroll-margin-top:30px; }
.foundation-article:last-child { border-bottom:1px solid rgba(17,17,15,.18); }
.foundation-kicker { display:flex; flex-direction:column; align-items:flex-start; }
.foundation-kicker span { color:var(--gold); font-family:Georgia,serif; font-size:12px; }
.foundation-kicker strong { margin-top:28px; color:rgba(17,17,15,.14); font-family:Georgia,serif; font-size:72px; font-weight:400; line-height:1; }
.foundation-content h3 { max-width:940px; margin:0 0 45px; font-family:Georgia,serif; font-size:clamp(32px,3.7vw,52px); font-weight:400; line-height:1.13; letter-spacing:-.025em; }
.foundation-copy { max-width:980px; display:grid; grid-template-columns:1fr 1fr; gap:25px 52px; }
.foundation-copy p { margin:0; color:#5f5c54; font-size:14px; line-height:1.85; }

.contact-section { position:relative; overflow:hidden; padding:145px 24px; background:#0d0e0c; color:white; text-align:center; }
.contact-section::before { content:""; position:absolute; width:600px; height:600px; border:1px solid rgba(185,152,90,.12); border-radius:50%; left:50%; top:50%; transform:translate(-50%,-50%); box-shadow:0 0 0 110px rgba(185,152,90,.025),0 0 0 220px rgba(185,152,90,.018); }
.contact-inner { position:relative; z-index:1; }
.contact-section .eyebrow { justify-content:center; }
.contact-section h2 { font-size:clamp(42px,5.5vw,75px); }
.contact-section>div>p:not(.eyebrow) { margin:28px 0 36px; color:rgba(255,255,255,.48); font-size:13px; }
.placeholder-note { display:block; margin-top:15px; color:#ce8e7d; font-size:9px; letter-spacing:.08em; }

footer { min-height:150px; display:flex; align-items:center; justify-content:space-between; gap:30px; padding:35px clamp(24px,5vw,80px); background:#080907; color:rgba(255,255,255,.38); border-top:1px solid rgba(255,255,255,.08); font-size:9px; text-transform:uppercase; letter-spacing:.12em; }
.footer-brand { color:white; } footer>div { display:flex; gap:26px; } footer a:hover { color:var(--gold-light); }

.legal-header { position:relative; background:#0d0e0c; }
.legal-page { min-height:calc(100vh - 246px); max-width:980px; margin:0 auto; padding:96px clamp(24px,6vw,96px) 120px; }
.legal-intro { margin-bottom:58px; }
.legal-intro h1 { margin:18px 0 0; font-family:Georgia,"Times New Roman",serif; font-size:clamp(42px,6vw,72px); font-weight:400; line-height:1.08; letter-spacing:-.035em; }
.legal-summary { max-width:680px; margin-top:22px; color:var(--muted); font-size:15px; line-height:1.8; }
.legal-law-note { margin:0 0 44px; padding:18px 22px; border-left:2px solid var(--gold); background:rgba(185,152,90,.08); color:#575349; font-size:13px; line-height:1.8; }
.legal-section { padding:30px 0; border-top:1px solid rgba(17,17,15,.15); }
.legal-section h2 { margin:0 0 15px; font-family:Georgia,"Times New Roman",serif; font-size:24px; font-weight:400; line-height:1.25; }
.legal-section p,.legal-section li { color:#5f5c54; font-size:14px; line-height:1.85; }
.legal-section p { margin:0 0 12px; }
.legal-section ul { margin:8px 0 14px; padding-left:20px; }
.legal-section a,.legal-back-link { color:#8b6b35; border-bottom:1px solid rgba(185,152,90,.48); }
.legal-section a:hover,.legal-back-link:hover { color:var(--ink); border-bottom-color:var(--gold); }
.legal-back-link { display:inline-flex; align-items:center; gap:9px; margin-top:38px; padding-bottom:6px; font-size:10px; letter-spacing:.14em; text-transform:uppercase; }

@media (prefers-reduced-motion:no-preference) { .reveal { animation:rise .9s ease-out both; } .delay-1 { animation-delay:.18s; } @keyframes rise { from { opacity:0; transform:translateY(22px); } to { opacity:1; transform:none; } } }
@media (max-width:1200px) { .statement-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:900px) { .site-header nav { display:none; } .hero { grid-template-columns:1fr; min-height:800px; height:auto; padding-top:170px; padding-bottom:120px; } .hero-aside { margin-top:70px; } .coin-front { width:min(58vw,300px); min-width:220px; } .audience-strip { grid-template-columns:1fr 1fr; } .audience-strip div:nth-child(3) { border-top:1px solid rgba(17,17,15,.16); } .intro-section,.principles-grid,.foundations-heading,.foundation-article { grid-template-columns:1fr; } .statement-grid { grid-template-columns:1fr 1fr; } .foundation-kicker { flex-direction:row; align-items:baseline; gap:20px; } .foundation-kicker strong { margin-top:0; font-size:46px; } .method-grid { grid-template-columns:1fr; } .service { grid-template-columns:50px 1fr; } .service ul { grid-column:2; } }
@media (max-width:600px) { .site-header { height:82px; } .brand-logo { width:44px; height:44px; flex-basis:44px; } .header-cta { display:none; } .hero { min-height:720px; padding-top:150px; } .hero h1 { font-size:46px; } .hero-actions { align-items:flex-start; flex-direction:column; gap:15px; } .coin-front { width:min(66vw,260px); min-width:190px; } .audience-strip { grid-template-columns:1fr; } .audience-strip div { min-height:70px; border-top:1px solid rgba(17,17,15,.16); } .intro-section,.services-section,.method-section,.principles-section,.foundations-section { padding-top:90px; padding-bottom:90px; } .intro-columns,.foundation-copy { grid-template-columns:1fr; gap:20px; } .intro-columns { margin-top:35px; } .section-heading { display:block; } .section-heading>p { margin-top:20px; } .service { grid-template-columns:35px 1fr; padding:30px 0; } .principles,.statement-grid { grid-template-columns:1fr; } .principles article { min-height:240px; } .foundation-article { padding:55px 0 65px; } .foundation-content h3 { margin-bottom:30px; } .method-steps article { grid-template-columns:35px 1fr; } .method-steps p { grid-column:2; } footer { flex-direction:column; text-align:center; } }
