
:root {
  --black:#141414;--deep:#1a1a1a;--card:#222222;--lift:#2a2a2a;--high:#333333;
  --line:rgba(255,255,255,.1);--line2:rgba(255,255,255,.18);--line3:rgba(255,255,255,.28);
  --gold:#C9A84C;--gold2:#E2C47A;--gold3:rgba(201,168,76,.1);--gold4:rgba(201,168,76,.05);
  --blue:#3A7BD5;--blue2:rgba(58,123,213,.1);
  --grn:#27C98A;--grn2:rgba(39,201,138,.08);
  --wh:#F5F3EE;--w9:#F5F3EE;--w7:rgba(245,243,238,.92);
  --w5:rgba(245,243,238,.88);--w3:rgba(245,243,238,.72);--w1:rgba(245,243,238,.14);
  --fh:'Cormorant',serif;--fb:'Barlow',sans-serif;--fc:'Barlow Condensed',sans-serif;
  --max:1200px;--r:0px;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{background:#0a0a0a;scroll-behavior:smooth;overflow-x:hidden;}
body{background:var(--black);color:var(--wh);font-family:var(--fb);font-size:20px;line-height:1.7;-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}

/* ── UTILITIES ── */
.container{max-width:var(--max);margin:0 auto;padding:0 40px;}
.serif{font-family:var(--fh);}
.mono{font-family:var(--fc);}
.gold{color:var(--gold);}
.dim{color:var(--w5);}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);}

/* ── NAV ── */
nav{position:fixed;top:0;left:0;right:0;z-index:100;transition:background .3s,border-color .3s;}
nav.scrolled{background:rgba(0,0,0,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(20px);}
.nav-inner{display:flex;align-items:center;justify-content:space-between;height:68px;max-width:var(--max);margin:0 auto;padding:0 40px;}
.nav-logo{display:flex;flex-direction:column;}
.nav-logo-main{font-family:var(--fc);font-size:20px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--wh);}
.nav-logo-sub{font-family:var(--fc);font-size:14px;font-weight:400;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);opacity:.8;margin-top:1px;}
.nav-links{display:flex;align-items:center;gap:2px;}
.nav-link{font-family:var(--fc);font-size:16px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--w5);padding:8px 16px;transition:color .15s;}
.nav-link:hover{color:var(--wh);}
.nav-cta{font-family:var(--fc);font-size:16px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;padding:10px 22px;background:var(--gold3);border:1px solid rgba(201,168,76,.35);color:var(--gold);transition:all .15s;margin-left:8px;}
.nav-cta:hover{background:rgba(201,168,76,.18);color:var(--gold2);}
.nav-mobile-toggle{display:none;background:none;border:none;color:var(--wh);cursor:pointer;font-size:20px;padding:8px;}
.mobile-menu{display:none;position:fixed;inset:0;background:rgba(0,0,0,.98);z-index:99;flex-direction:column;align-items:center;justify-content:center;gap:28px;}
.mobile-menu.open{display:flex;}
.mobile-link{font-family:var(--fh);font-size:clamp(28px,6vw,40px);font-weight:300;color:var(--w7);transition:color .15s;}
.mobile-link:hover{color:var(--gold);}
.mobile-close{position:absolute;top:24px;right:28px;background:none;border:none;color:var(--w5);font-size:28px;cursor:pointer;}

/* ── HERO ── */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:flex-end;padding-bottom:80px;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;background:radial-gradient(ellipse 100% 80% at 60% 0%,rgba(201,168,76,.06),transparent 60%),radial-gradient(ellipse 60% 60% at 0% 100%,rgba(58,123,213,.04),transparent 60%),var(--black);}
.hero-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(201,168,76,.03) 1px,transparent 1px),linear-gradient(90deg,rgba(201,168,76,.03) 1px,transparent 1px);background-size:80px 80px;mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,black 30%,transparent 80%);}
.hero-number{font-family:var(--fc);font-size:15px;font-weight:400;letter-spacing:.35em;text-transform:uppercase;color:var(--w3);margin-bottom:32px;}
.hero-eyebrow{font-family:var(--fc);font-size:17px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;display:flex;align-items:center;gap:14px;}
.hero-eyebrow::before{content:'';width:28px;height:1px;background:var(--gold);}
.hero-title{font-family:var(--fh);font-size:clamp(52px,8vw,110px);line-height:.88;font-weight:300;letter-spacing:-.02em;margin-bottom:32px;}
.hero-title em{font-style:italic;font-weight:600;}
.hero-title .line2{padding-left:clamp(40px,8vw,120px);}
.hero-desc{font-size:clamp(18px,2vw,22px);color:var(--w7);line-height:1.75;max-width:560px;margin-bottom:28px;font-weight:300;}
.hero-desc strong{color:var(--wh);font-weight:500;}
.hero-tagline{font-family:var(--fh);font-style:italic;font-size:clamp(15px,1.4vw,18px);color:var(--gold);letter-spacing:.01em;margin-bottom:44px;max-width:560px;font-weight:400;}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap;}
.btn-primary{font-family:var(--fc);font-size:16px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;padding:16px 36px;background:var(--gold);color:#000;transition:all .2s;display:inline-flex;align-items:center;gap:10px;white-space:nowrap;}
.btn-primary:hover{background:var(--gold2);}
.btn-secondary{font-family:var(--fc);font-size:16px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;padding:16px 32px;background:transparent;border:1px solid var(--line3);color:var(--w7);transition:all .2s;display:inline-flex;align-items:center;gap:10px;white-space:nowrap;}
.btn-secondary:hover{border-color:var(--gold);color:var(--gold);}
.hero-stats{position:absolute;right:40px;bottom:80px;display:flex;flex-direction:column;gap:28px;text-align:right;}
.hstat-val{font-family:var(--fc);font-size:32px;font-weight:700;color:var(--gold);line-height:1;}
.hstat-lbl{font-family:var(--fc);font-size:14px;font-weight:400;letter-spacing:.2em;text-transform:uppercase;color:var(--w3);margin-top:3px;}
.hero-scroll{position:absolute;bottom:32px;left:50%;transform:translateX(-50%);font-family:var(--fc);font-size:14px;letter-spacing:.25em;text-transform:uppercase;color:var(--w3);display:flex;flex-direction:column;align-items:center;gap:8px;}
.hero-scroll::after{content:'';width:1px;height:40px;background:linear-gradient(var(--gold),transparent);}

/* ── SECTION BASE ── */
section{padding:120px 0;}
.sec-label{font-family:var(--fc);font-size:14px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;display:flex;align-items:center;gap:12px;}
.sec-label::before{content:'';width:20px;height:1px;background:var(--gold);}
.sec-title{font-family:var(--fh);font-size:clamp(36px,5vw,64px);line-height:.92;font-weight:300;letter-spacing:-.01em;margin-bottom:20px;}
.sec-title em{font-style:italic;font-weight:600;color:var(--gold);}
.sec-body{font-size:19px;color:var(--w5);line-height:1.8;max-width:600px;font-weight:300;}
.sec-body strong{color:var(--wh);font-weight:500;}
.divider{height:1px;background:linear-gradient(to right,transparent,var(--line2),transparent);margin:0;}

/* ── STRIP ── */
.strip{background:var(--card);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:20px 0;overflow:hidden;}
.strip-inner{display:flex;gap:60px;animation:scroll 30s linear infinite;white-space:nowrap;}
.strip-item{font-family:var(--fc);font-size:16px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--w3);display:flex;align-items:center;gap:14px;flex-shrink:0;}
.strip-dot{width:3px;height:3px;border-radius:50%;background:var(--gold);}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ── PHILOSOPHY ── */
.philosophy{background:var(--deep);}
.phil-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.phil-quote{font-family:var(--fh);font-size:clamp(24px,3vw,38px);font-style:italic;font-weight:300;line-height:1.35;color:var(--w7);border-left:2px solid var(--gold);padding-left:32px;margin:32px 0;}
.phil-quote strong{color:var(--wh);font-style:normal;font-weight:600;}
.phil-quote footer,.phil-quote cite{display:block;background:none;border:none;padding:0;margin-top:10px;}
.phil-right{display:flex;flex-direction:column;gap:2px;}
.phil-item{padding:22px 24px;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--gold);transition:background .15s;}
.phil-item:hover{background:var(--lift);}
.pi-num{font-family:var(--fc);font-size:14px;font-weight:600;letter-spacing:.2em;color:var(--gold);opacity:.6;margin-bottom:6px;}
.pi-title{font-size:20px;font-weight:600;color:var(--wh);margin-bottom:4px;}
.pi-body{font-size:19px;color:var(--w5);line-height:1.65;}

/* ── MODALITIES ── */
.modalities{background:var(--black);}
.mod-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:48px;}
.mod-card{background:var(--card);border:1px solid var(--line);padding:32px 28px;position:relative;overflow:hidden;transition:all .2s;cursor:default;}
.mod-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .25s;}
.mod-card:hover::before{transform:scaleX(1);}
.mod-card:hover{background:var(--lift);border-color:var(--line2);}
.mod-icon{font-family:var(--fc);font-size:12px;font-weight:600;letter-spacing:.22em;color:var(--gold);opacity:.55;margin-bottom:18px;}
.mod-name{font-family:var(--fc);font-size:19px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--wh);margin-bottom:8px;}
.mod-desc{font-size:19px;color:var(--w5);line-height:1.7;}
.mod-tag{position:absolute;top:20px;right:20px;font-family:var(--fc);font-size:11px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;padding:3px 10px;background:var(--gold3);border:1px solid rgba(201,168,76,.2);color:var(--gold);}

/* ── FULCRUM ── */
.fulcrum-section{background:var(--deep);position:relative;overflow:hidden;}
.fulcrum-section::before{content:'';position:absolute;top:-200px;right:-200px;width:600px;height:600px;border-radius:50%;background:radial-gradient(rgba(201,168,76,.05),transparent 70%);pointer-events:none;}
.fulcrum-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.score-display{background:var(--card);border:1px solid rgba(201,168,76,.2);padding:40px;text-align:center;position:relative;}
.score-label{font-family:var(--fc);font-size:14px;font-weight:600;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.score-number{font-family:var(--fh);font-size:120px;font-weight:600;line-height:1;color:var(--gold);margin-bottom:8px;}
.score-sub{font-family:var(--fc);font-size:16px;letter-spacing:.15em;text-transform:uppercase;color:var(--w3);}
.score-bars{margin-top:24px;display:flex;flex-direction:column;gap:8px;}
.sb-row{display:flex;align-items:center;gap:10px;}
.sb-lbl{font-family:var(--fc);font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--w3);width:100px;flex-shrink:0;text-align:right;}
.sb-track{flex:1;height:3px;background:rgba(255,255,255,.06);}
.sb-fill{height:100%;background:var(--gold);transition:width 1s ease;}
.sb-val{font-family:var(--fc);font-size:14px;color:var(--gold);width:28px;text-align:right;}
.fulcrum-points{display:flex;flex-direction:column;gap:14px;margin-top:28px;}
.fp-item{display:flex;gap:14px;align-items:flex-start;}
.fp-dot{width:6px;height:6px;border-radius:50%;background:var(--gold);flex-shrink:0;margin-top:7px;}
.fp-text{font-size:20px;color:var(--w7);line-height:1.6;}

/* ── PLATFORMS ── */
.platforms{background:var(--black);}
.platform-tabs{display:flex;gap:2px;margin-bottom:2px;}
.ptab{font-family:var(--fc);font-size:15px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;padding:14px 24px;background:var(--card);border:1px solid var(--line);color:var(--w3);cursor:pointer;transition:all .15s;}
.ptab.on{background:var(--gold3);border-color:rgba(201,168,76,.3);color:var(--gold);}
.ptab:hover:not(.on){color:var(--w7);border-color:var(--line2);}
.pview{display:none;}
.pview.on{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.pv-info{background:var(--card);border:1px solid var(--line);padding:44px 40px;}
.pv-eyebrow{font-family:var(--fc);font-size:14px;font-weight:600;letter-spacing:.28em;text-transform:uppercase;color:var(--gold);margin-bottom:12px;}
.pv-title{font-family:var(--fh);font-size:clamp(32px,4vw,48px);font-weight:300;line-height:.95;margin-bottom:18px;}
.pv-title em{font-style:italic;font-weight:600;}
.pv-body{font-size:20px;color:var(--w5);line-height:1.8;margin-bottom:24px;}
.pv-features{display:flex;flex-direction:column;gap:8px;margin-bottom:28px;}
.pv-feat{display:flex;gap:10px;font-size:19px;color:var(--w7);}
.pv-feat::before{content:'◆';color:var(--gold);font-size:11px;flex-shrink:0;margin-top:5px;}
.pv-visual{background:var(--deep);border:1px solid var(--line);padding:40px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:400px;}
.pv-logo{font-family:var(--fh);font-size:clamp(28px,4vw,44px);font-weight:600;font-style:italic;color:var(--gold);text-align:center;margin-bottom:8px;}
.pv-logo-sub{font-family:var(--fc);font-size:14px;letter-spacing:.28em;text-transform:uppercase;color:var(--w3);text-align:center;}
.pv-stats{display:grid;grid-template-columns:1fr 1fr;gap:2px;width:100%;margin-top:16px;}
.pvs-item{background:var(--card);padding:16px;text-align:center;}
.pvs-val{font-family:var(--fc);font-size:24px;font-weight:700;color:var(--gold);line-height:1;margin-bottom:4px;}
.pvs-lbl{font-family:var(--fc);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--w3);}

/* ── DR MORRIS ── */
.dr-morris{background:var(--deep);}
.dr-grid{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start;}
.dr-credentials{display:flex;flex-wrap:wrap;gap:6px;margin:20px 0 28px;}
.dr-cred{font-family:var(--fc);font-size:14px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;padding:5px 12px;border:1px solid var(--line2);color:var(--w5);}
.dr-cred-gold{border-color:rgba(201,168,76,.3);color:var(--gold);background:var(--gold4);}
.dr-photo{background:var(--card);border:1px solid var(--line);aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;}
.dr-photo-placeholder{text-align:center;}
.dr-photo-initials{font-family:var(--fh);font-size:80px;font-weight:300;color:var(--gold);opacity:.4;}
.dr-photo-name{font-family:var(--fc);font-size:15px;letter-spacing:.2em;text-transform:uppercase;color:var(--w3);margin-top:8px;}
.dr-quote{font-family:var(--fh);font-size:clamp(18px,2.5vw,26px);font-style:italic;font-weight:300;color:var(--w7);border-left:2px solid var(--gold);padding-left:24px;margin:28px 0;line-height:1.4;}
.dr-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px;}

/* ── LOCATIONS ── */
.locations{background:var(--black);}
.loc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:48px;}
.loc-card{background:var(--card);border:1px solid var(--line);padding:32px 28px;position:relative;overflow:hidden;transition:all .2s;}
.loc-card::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.loc-card:hover::after{transform:scaleX(1);}
.loc-card:hover{background:var(--lift);}
.loc-badge{font-family:var(--fc);font-size:11px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;padding:3px 10px;border:1px solid;display:inline-block;margin-bottom:16px;}
.badge-hq{border-color:rgba(201,168,76,.3);color:var(--gold);background:var(--gold4);}
.badge-active{border-color:rgba(39,201,138,.3);color:var(--grn);background:var(--grn2);}
.badge-growing{border-color:rgba(58,123,213,.3);color:#6AAEE8;background:var(--blue2);}
.loc-name{font-family:var(--fh);font-size:clamp(22px,3vw,28px);font-weight:600;margin-bottom:6px;}
.loc-address{font-family:var(--fc);font-size:16px;letter-spacing:.06em;color:var(--w3);margin-bottom:14px;}
.loc-note{font-size:18px;color:var(--w5);line-height:1.6;margin-bottom:18px;}
.loc-link{font-family:var(--fc);font-size:14px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);display:flex;align-items:center;gap:8px;}
.loc-link::after{content:'→';}

/* ── TESTIMONIALS ── */
.testimonials{background:var(--deep);}
.test-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;margin-top:48px;}
.test-card{background:var(--card);border:1px solid var(--line);padding:32px 28px;}
.test-stars{color:var(--gold);font-size:19px;letter-spacing:2px;margin-bottom:14px;}
.test-quote{font-family:var(--fh);font-size:19px;font-style:italic;font-weight:300;color:var(--w7);line-height:1.6;margin-bottom:18px;}
.test-author{font-family:var(--fc);font-size:15px;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--w3);}

/* ── FAQ ── */
.faq{background:var(--black);}
.faq-list{margin-top:48px;display:flex;flex-direction:column;gap:2px;}
.faq-item{background:var(--card);border:1px solid var(--line);overflow:hidden;}
.faq-q{display:flex;align-items:center;justify-content:space-between;padding:22px 24px;cursor:pointer;font-size:20px;font-weight:500;color:var(--wh);transition:background .15s;gap:16px;}
.faq-q:hover{background:var(--lift);}
.faq-icon{font-size:20px;color:var(--gold);flex-shrink:0;transition:transform .25s;}
.faq-item.open .faq-icon{transform:rotate(45deg);}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s;}
.faq-item.open .faq-a{max-height:300px;padding:0 24px 22px;}
.faq-a-text{font-size:20px;color:var(--w5);line-height:1.8;border-top:1px solid var(--line);padding-top:16px;}

/* ── CTA BANNER ── */
.cta-banner{background:var(--deep);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:80px 0;text-align:center;position:relative;overflow:hidden;}
.cta-banner::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 80% at 50% 50%,rgba(201,168,76,.05),transparent);}
.cta-title{font-family:var(--fh);font-size:clamp(36px,6vw,72px);font-weight:300;line-height:.92;margin-bottom:20px;}
.cta-title em{font-style:italic;font-weight:600;color:var(--gold);}
.cta-sub{font-size:19px;color:var(--w5);margin-bottom:40px;font-weight:300;}
.cta-sub strong{color:var(--wh);}

/* ── CONTACT ── */
.contact{background:var(--black);}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:48px;}
.contact-info{background:var(--card);border:1px solid var(--line);padding:44px 40px;}
.ci-row{display:flex;gap:14px;align-items:flex-start;padding:16px 0;border-bottom:1px solid var(--line);}
.ci-row:last-child{border-bottom:none;}
.ci-icon{font-size:20px;width:24px;flex-shrink:0;margin-top:2px;}
.ci-label{font-family:var(--fc);font-size:14px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);opacity:.7;margin-bottom:3px;}
.ci-val{font-size:20px;color:var(--w7);}
.ci-val a{color:inherit;transition:color .15s;}
.ci-val a:hover{color:var(--gold);}
.contact-form{background:var(--card);border:1px solid var(--line);padding:44px 40px;}
.cf-title{font-family:var(--fh);font-size:26px;font-weight:400;margin-bottom:24px;}
.cf-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
.cf-field{display:flex;flex-direction:column;gap:6px;}
.cf-label{font-family:var(--fc);font-size:11px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);opacity:.7;}
.cf-input{background:var(--deep);border:1px solid var(--line2);color:var(--wh);font-family:var(--fb);font-size:20px;padding:13px 16px;outline:none;transition:border-color .15s;width:100%;-webkit-appearance:none;}
.cf-input:focus{border-color:rgba(201,168,76,.4);}
.cf-input::placeholder{color:var(--w3);}
.cf-textarea{resize:none;min-height:100px;line-height:1.65;}
.cf-submit{width:100%;margin-top:10px;padding:16px;background:var(--gold);color:#000;font-family:var(--fc);font-size:16px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;border:none;cursor:pointer;transition:background .15s;}
.cf-submit:hover{background:var(--gold2);}
.cf-note{font-family:var(--fc);font-size:14px;letter-spacing:.08em;color:var(--w3);margin-top:8px;text-align:center;}

/* ── FOOTER ── */
footer{background:var(--deep);border-top:1px solid var(--line);padding:60px 0 32px;}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:60px;margin-bottom:48px;}
.footer-brand-name{font-family:var(--fh);font-size:24px;font-weight:300;font-style:italic;margin-bottom:8px;}
.footer-brand-sub{font-family:var(--fc);font-size:14px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.footer-tagline{font-size:19px;color:var(--w3);line-height:1.7;}
.footer-col-title{font-family:var(--fc);font-size:14px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;}
.footer-links{display:flex;flex-direction:column;gap:10px;}
.footer-link{font-size:19px;color:var(--w3);transition:color .15s;}
.footer-link:hover{color:var(--wh);}
.footer-bottom{padding-top:28px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.footer-copy{font-family:var(--fc);font-size:15px;letter-spacing:.1em;color:var(--w3);}
.footer-disclaimer{font-family:var(--fc);font-size:14px;letter-spacing:.06em;color:rgba(245,243,238,.2);max-width:500px;line-height:1.6;text-align:right;}

/* ── ANIMATIONS ── */
@keyframes rv{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.animate{opacity:0;transform:translateY(20px);transition:opacity .8s ease,transform .8s ease;}
.animate.visible{opacity:1;transform:translateY(0);}

/* ── RESPONSIVE ── */
@media(max-width:900px){
  .container{padding:0 20px;}
  section{padding:80px 0;}
  .hero-stats{display:none;}
  .phil-grid,.fulcrum-grid,.dr-grid,.contact-grid,.footer-grid{grid-template-columns:1fr;}
  .pview.on{grid-template-columns:1fr;}
  .mod-grid,.loc-grid,.test-grid{grid-template-columns:1fr 1fr;}
  .nav-links,.nav-cta{display:none;}
  .nav-mobile-toggle{display:block;}
  .cf-grid{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .hero-title .line2{padding-left:0;}
}
@media(max-width:600px){
  .mod-grid,.loc-grid,.test-grid{grid-template-columns:1fr;}
  .pv-stats{grid-template-columns:1fr 1fr;}
  .footer-grid{grid-template-columns:1fr;}
  .platform-tabs{flex-wrap:wrap;}
}

/* ── PHOTO BACKGROUND SYSTEM ── */
/* Usage: add data-photo="url" to any section and it gets the effect automatically */
/* Effect: dark overlay + subtle desaturation so content always reads clearly */

.photo-bg {
  position:relative;
  overflow:hidden;
}
.photo-bg::before {
  content:'';
  position:absolute;
  inset:0;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  filter:grayscale(40%) brightness(0.18);
  transform:scale(1.04);
  transition:transform 12s ease;
  z-index:0;
}
.photo-bg:hover::before {
  transform:scale(1.0);
}
.photo-bg > * {
  position:relative;
  z-index:1;
}
/* Fade-in gradient at top and bottom of photo sections */
.photo-bg::after {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,
    var(--black) 0%,
    rgba(0,0,0,.3) 20%,
    rgba(0,0,0,.3) 80%,
    var(--black) 100%
  );
  z-index:1;
  pointer-events:none;
}
.photo-bg > * {
  position:relative;
  z-index:2;
}

/* Hero specific — lighter overlay, more dramatic */
.hero.photo-bg::before {
  filter:grayscale(35%) brightness(0.15);
}
.hero.photo-bg::after {
  background:linear-gradient(180deg,
    rgba(0,0,0,.6) 0%,
    rgba(0,0,0,.1) 30%,
    rgba(0,0,0,.1) 60%,
    rgba(0,0,0,.8) 100%
  );
}

/* CTA banner — very subtle, mostly dark */
.cta-banner.photo-bg::before {
  filter:grayscale(55%) brightness(0.12);
}

/* Method/Philosophy section */
.philosophy.photo-bg::before {
  filter:grayscale(50%) brightness(0.15);
}

/* Testimonials */
.testimonials.photo-bg::before {
  filter:grayscale(55%) brightness(0.13);
}


/* ── COPY PROTECTION ── */
.protected {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* ── NO PRINT ── */
@media print {
  body { display: none !important; }
}


/* ── RESPONSIVE GRID FIXES ── */
.grid-2col {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2px;
}
.grid-3col {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
}
/* Stat banner grid */
@media(max-width:780px){
  .grid-2col { grid-template-columns:1fr !important; }
  .grid-3col { grid-template-columns:1fr !important; }
  .stat-banner-grid { grid-template-columns:1fr 1fr !important; }
  .process-grid { grid-template-columns:1fr 1fr !important; }
  /* Sessions — stack on mobile */
  .session-row { grid-template-columns:1fr !important; }
  /* Platform tabs */
  .ptab { font-size:12px !important; padding:10px 14px !important; }
  /* Nav */
  .nav-inner { height:56px !important; }
  .nav-logo-main { font-size:13px !important; }
  /* Hero */
  .hero { min-height:90vh !important; padding-bottom:60px !important; }
  /* Pull quote */
  .pqf-text { font-size:clamp(20px,4vw,32px) !important; }
  /* Sections */
  section { padding:64px 0 !important; }
  /* Media strip — scrollable */
  .media-strip-inner { justify-content:flex-start !important; overflow-x:auto !important; padding:0 20px !important; }
  /* Footer */
  .footer-bottom { flex-direction:column !important; text-align:center !important; }
  .footer-disclaimer { text-align:center !important; max-width:100% !important; }
}
@media(max-width:520px){
  .stat-banner-grid { grid-template-columns:1fr 1fr !important; }
  .sb-item { padding:16px 12px !important; }
  .sb-val { font-size:clamp(32px,8vw,48px) !important; }
  .process-grid { grid-template-columns:1fr !important; }
  .hero-actions { flex-direction:column !important; }
  .hero-actions a { text-align:center !important; justify-content:center !important; }
  .btn-primary,.btn-secondary { width:100% !important; justify-content:center !important; }
  .dr-links { flex-direction:column !important; }
  .dr-links a { text-align:center !important; justify-content:center !important; }
}



.bd-section{background:var(--deep);padding:120px 0;}
.bd-chain{display:grid;grid-template-columns:repeat(5,1fr);gap:0;margin:64px 0 56px;position:relative;}
.bd-stage{background:var(--card);border:1px solid var(--line);border-top:3px solid var(--gold);padding:28px 22px 24px;position:relative;transition:background .15s;}
.bd-stage:not(:last-child)::after{content:'';position:absolute;right:-1px;top:50%;width:14px;height:1px;background:var(--gold);transform:translateY(-50%);z-index:2;}
.bd-stage:hover{background:var(--lift);}
.bd-num{font-family:var(--fc);font-size:12px;font-weight:600;letter-spacing:.22em;color:var(--gold);opacity:.55;margin-bottom:10px;}
.bd-label{font-family:var(--fh);font-size:22px;font-weight:400;color:var(--wh);line-height:1.25;margin-bottom:12px;letter-spacing:-.01em;}
.bd-body{font-size:14px;color:var(--w5);line-height:1.6;font-family:var(--fb);}
/* Escalation: each stage carries slightly more weight than the last */
.bd-stage:nth-child(1){border-top-color:rgba(201,168,76,.4);}
.bd-stage:nth-child(2){border-top-color:rgba(201,168,76,.6);}
.bd-stage:nth-child(3){border-top-color:rgba(201,168,76,.8);}
.bd-stage:nth-child(4){border-top-color:var(--gold);}
.bd-stage:nth-child(5){border-top-color:var(--gold2);background:var(--lift);}
.bd-stage:nth-child(5) .bd-label{color:var(--gold2);}
@media (max-width:900px) {
  .bd-chain{grid-template-columns:1fr;gap:2px;}
  .bd-stage{border-top:1px solid var(--line);border-left:3px solid var(--gold);}
  .bd-stage:nth-child(1){border-left-color:rgba(201,168,76,.4);}
  .bd-stage:nth-child(2){border-left-color:rgba(201,168,76,.6);}
  .bd-stage:nth-child(3){border-left-color:rgba(201,168,76,.8);}
  .bd-stage:nth-child(4){border-left-color:var(--gold);}
  .bd-stage:nth-child(5){border-left-color:var(--gold2);}
  .bd-stage:not(:last-child)::after{right:auto;left:50%;top:auto;bottom:-8px;width:1px;height:14px;transform:translateX(-50%);}
}


.soc-section{background:var(--black);padding:120px 0;}
.soc-intro{max-width:760px;}
.soc-list{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin:56px 0 48px;}
.soc-item{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--gold);padding:36px 36px 34px;transition:background .15s;}
.soc-item:hover{background:var(--lift);}
.soc-num{font-family:var(--fc);font-size:12px;font-weight:600;letter-spacing:.22em;color:var(--gold);opacity:.6;margin-bottom:14px;}
.soc-label{font-family:var(--fh);font-size:24px;font-weight:400;color:var(--wh);line-height:1.2;margin-bottom:14px;letter-spacing:-.01em;}
.soc-body{font-size:15px;color:var(--w5);line-height:1.7;font-family:var(--fb);}
.soc-closer{text-align:center;max-width:680px;margin:0 auto;padding-top:32px;border-top:1px solid var(--line);}
.soc-closer-rule{width:48px;height:1px;background:var(--gold);margin:0 auto 28px;}
.soc-closer-text{font-family:var(--fh);font-style:italic;font-size:clamp(22px,2.4vw,28px);font-weight:300;color:var(--wh);line-height:1.4;letter-spacing:-.01em;margin-bottom:40px;}
@media (max-width:780px){
  .soc-list{grid-template-columns:1fr;}
  .soc-item{padding:30px 26px 28px;}
}


@media (max-width:768px) {
  .why-grid { grid-template-columns:1fr !important; }
  .why-grid > div[style*="border-left:3px solid"] { border-left:none !important; border-top:3px solid var(--gold) !important; }
}


.twin-section{background:var(--black);padding:140px 0;position:relative;overflow:hidden;}
.twin-section::before{content:'';position:absolute;top:0;left:50%;transform:translateX(-50%);width:1px;height:80px;background:linear-gradient(to bottom,transparent,var(--gold));opacity:.4;}
.twin-eyebrow{font-family:var(--fc);font-size:11px;font-weight:600;letter-spacing:.32em;text-transform:uppercase;color:var(--gold);text-align:center;margin-bottom:28px;}
.twin-eyebrow::before,.twin-eyebrow::after{content:'';display:inline-block;width:32px;height:1px;background:var(--gold);vertical-align:middle;margin:0 18px;opacity:.5;}
.twin-title{font-family:var(--fh);font-size:clamp(48px,7vw,88px);font-weight:200;text-align:center;line-height:.95;letter-spacing:-.025em;margin-bottom:0;}
.twin-title em{font-style:italic;font-weight:500;color:var(--gold);}
.twin-tm{font-family:var(--fc);font-size:.28em;font-weight:600;letter-spacing:.05em;vertical-align:super;color:var(--gold);margin-left:2px;}
.twin-statement{max-width:760px;margin:56px auto 0;text-align:center;}
.twin-statement p{font-family:var(--fh);font-size:clamp(22px,2.6vw,28px);font-weight:300;line-height:1.5;color:var(--w8);margin:0;}
.twin-statement p + p{margin-top:24px;font-size:clamp(19px,2.2vw,24px);font-style:italic;color:var(--w6);}
.twin-statement em.gold{font-style:italic;font-weight:500;color:var(--gold);}
.twin-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:80px 0 56px;position:relative;}
.twin-step{padding:36px 32px 32px;border-top:1px solid rgba(201,168,76,.25);position:relative;}
.twin-step:not(:last-child){border-right:1px solid var(--line);}
.twin-step::before{content:'';position:absolute;top:-1px;left:0;width:0;height:1px;background:var(--gold);transition:width .4s ease;}
.twin-step:hover::before{width:100%;}
.twin-step-num{font-family:var(--fc);font-size:11px;font-weight:600;letter-spacing:.28em;color:var(--gold);opacity:.55;margin-bottom:16px;}
.twin-step-name{font-family:var(--fh);font-size:30px;font-weight:300;color:var(--wh);line-height:1.1;margin-bottom:18px;letter-spacing:-.01em;}
.twin-step-body{font-size:15px;color:var(--w5);line-height:1.7;}
.twin-cycle{text-align:center;font-family:var(--fc);font-size:10px;font-weight:600;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);opacity:.5;margin:0 0 64px;}
.twin-cycle::before,.twin-cycle::after{content:'';display:inline-block;width:60px;height:1px;background:var(--gold);vertical-align:middle;margin:0 18px;opacity:.4;}
.twin-disclaimer{max-width:680px;margin:0 auto;text-align:center;padding-top:48px;border-top:1px solid rgba(201,168,76,.15);}
.twin-disclaimer p{font-family:var(--fh);font-size:16px;font-style:italic;font-weight:300;color:var(--w5);line-height:1.6;margin:0;}
@media (max-width:900px) {
  .twin-section{padding:96px 0;}
  .twin-flow{grid-template-columns:1fr;gap:0;}
  .twin-step{border-right:none !important;border-top:1px solid var(--line);padding:32px 24px;}
  .twin-step:first-child{border-top:1px solid rgba(201,168,76,.4);}
  .twin-eyebrow::before,.twin-eyebrow::after{width:18px;margin:0 10px;}
  .twin-cycle::before,.twin-cycle::after{width:32px;margin:0 10px;}
}


.protocols-grid{display:grid;grid-template-columns:1fr 1fr;gap:2px;margin-top:48px;}
.protocol-card{background:var(--card);border:1px solid var(--line);border-left:3px solid var(--gold);padding:44px 40px;transition:background .15s;display:flex;flex-direction:column;}
.protocol-card:hover{background:var(--lift);}
.protocol-card.full{grid-column:1 / -1;border-left:3px solid var(--gold2);}
.protocol-num{font-family:var(--fc);font-size:12px;font-weight:600;letter-spacing:.22em;color:var(--gold);opacity:.6;margin-bottom:12px;}
.protocol-title{font-family:var(--fh);font-size:clamp(26px,3.4vw,36px);font-weight:300;line-height:1;margin-bottom:12px;letter-spacing:-.01em;}
.protocol-title em{font-weight:600;font-style:italic;color:var(--wh);}
.protocol-state{font-family:var(--fh);font-size:clamp(18px,1.8vw,21px);font-style:italic;font-weight:300;color:var(--gold2);line-height:1.4;margin-bottom:18px;}
.protocol-body{font-size:17px;color:var(--w5);line-height:1.75;}
.protocol-card.full .protocol-body{max-width:760px;}
@media (max-width:780px) {
  .protocols-grid{grid-template-columns:1fr;}
  .protocol-card{padding:36px 28px;}
}
