*{box-sizing:border-box}
:root{
  --bg:#020202;--panel:#070707;--panel-2:#0b0b0b;--panel-3:#10100f;
  --line:rgba(232,228,219,.16);--line-soft:rgba(232,228,219,.08);
  --text:#f2f0ea;--muted:rgba(242,240,234,.68);--muted-2:rgba(242,240,234,.45);
  --accent:#b79a58;--accent-soft:rgba(183,154,88,.34);--shadow:0 32px 90px rgba(0,0,0,.62)
}
html{scroll-behavior:smooth;overflow-x:hidden}
body{
  margin:0;overflow-x:hidden;background:
  radial-gradient(circle at 70% 6%,rgba(183,154,88,.055),transparent 30%),
  linear-gradient(180deg,#050505,#000 52%,#030303);
  color:var(--text);font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;line-height:1.55;letter-spacing:-.01em
}
body.modal-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button{cursor:pointer;-webkit-appearance:none;appearance:none}
img{max-width:100%;height:auto}
.page-shell{width:min(100%,1480px);margin:0 auto;overflow:hidden}
.entry-gate{
  position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(90deg,rgba(183,154,88,.045) 1px,transparent 1px),
  linear-gradient(180deg,rgba(183,154,88,.035) 1px,transparent 1px),
  radial-gradient(circle at 50% 36%,rgba(183,154,88,.075),transparent 35%),#020202;
  background-size:140px 140px,140px 140px,auto,auto;padding:26px;text-align:center;transition:opacity .45s ease,visibility .45s ease
}
.entry-gate.hidden{opacity:0;visibility:hidden;pointer-events:none}
.gate-frame{width:min(780px,92vw);border:1px solid var(--line);padding:clamp(34px,6vw,68px);background:rgba(0,0,0,.32)}
.gate-logo{display:block;margin:0 auto 24px;width:92px!important;max-width:22vw!important;height:auto!important}
.gate-label,.eyebrow,.section-kicker,.card-label{color:var(--accent);letter-spacing:.22em;text-transform:uppercase;font-size:11px;font-weight:600}
.entry-gate h1{font-size:clamp(28px,4vw,48px);line-height:1.05;letter-spacing:.055em;margin:14px 0 8px;font-weight:700}
.gate-subtitle{color:var(--muted);font-size:clamp(15px,1.7vw,20px);margin:0 0 28px}
.gate-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.gate-note{max-width:520px;color:var(--muted-2);font-size:13px;margin:24px auto 0}
.site-header{
  position:sticky;top:0;z-index:30;display:flex;align-items:center;justify-content:space-between;gap:24px;
  padding:20px clamp(22px,5vw,68px);background:rgba(2,2,2,.86);border-bottom:1px solid var(--line-soft);backdrop-filter:blur(18px)
}
.brand{display:flex;align-items:center;gap:14px;min-width:260px}
.brand-mark{width:40px!important;max-width:40px!important;flex:0 0 40px}
.brand-main{display:block;font-size:15px;font-weight:700;letter-spacing:.045em;line-height:1}
.brand-sub{display:block;margin-top:5px;font-size:10px;color:var(--muted-2);letter-spacing:.12em;text-transform:uppercase}
.desktop-nav{display:flex;align-items:center;gap:24px;color:var(--muted);font-size:13px}
.desktop-nav a:hover{color:var(--text)}
.nav-button,.mobile-nav button,.footer-links button{border:0;color:inherit;background:transparent}
.footer-links button{color:var(--muted);padding:0;margin-right:12px;text-decoration:underline;text-decoration-color:rgba(232,228,219,.22);text-underline-offset:4px}
.nav-button{padding:10px 15px;border:1px solid var(--line);color:var(--text);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.nav-button.solid,.button.primary{background:var(--text);border-color:var(--text);color:#050505}
.nav-button.ghost:hover,.button.secondary:hover{border-color:rgba(232,228,219,.38)}
.mobile-menu-button{display:none;width:40px;height:36px;background:transparent;border:1px solid var(--line);align-items:center;justify-content:center;gap:5px;flex-direction:column}
.mobile-menu-button span{width:16px;height:1px;background:var(--text)}
.mobile-nav{display:none;padding:0 22px 24px;border-bottom:1px solid var(--line-soft)}
.mobile-nav.open{display:grid;gap:12px}.mobile-nav a,.mobile-nav button{padding:13px 0;border-bottom:1px solid var(--line-soft);color:var(--muted);text-align:left}
.section{padding:clamp(72px,9vw,128px) clamp(22px,5vw,68px);position:relative}
.hero{
  min-height:705px;display:grid;grid-template-columns:minmax(0,1.06fr) minmax(280px,.44fr);align-items:center;gap:78px;border-bottom:1px solid var(--line-soft)
}
.hero:before{content:"";position:absolute;inset:38px clamp(22px,5vw,68px);border:1px solid var(--line-soft);pointer-events:none}
.hero-content{position:relative;z-index:2;max-width:850px}
.hero h2{margin:20px 0 26px;font-size:clamp(44px,6.8vw,94px);line-height:.98;letter-spacing:-.055em;font-weight:500;font-family:Georgia,"Times New Roman",serif}
.hero-subtitle{max-width:760px;color:var(--muted);font-size:clamp(17px,1.8vw,22px);line-height:1.48;margin-bottom:34px}
.hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.button{border:1px solid var(--line);background:transparent;color:var(--text);min-height:48px;padding:13px 20px;display:inline-flex;align-items:center;justify-content:center;letter-spacing:.08em;text-transform:uppercase;font-size:12px;border-radius:0}
.button.primary:hover{background:#d8d4ca}.full-width{width:100%}
.hero-panel{position:relative;z-index:2;border:1px solid var(--line);background:rgba(255,255,255,.025);padding:30px;align-self:end}
.panel-title{font-size:19px;color:var(--text);margin:0 0 10px}.hero-panel p:not(.panel-title){color:var(--muted);font-size:14px;margin:0}.panel-line{height:1px;background:var(--line);margin:24px 0}.hero-panel span{font-size:12px;color:var(--muted-2);letter-spacing:.08em;text-transform:uppercase}
.stats-section{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;padding-top:36px;padding-bottom:36px;background:var(--line-soft)}
.stat-card{min-height:190px;background:#050505;border:1px solid var(--line-soft);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:24px}
.stat-card strong{font-size:clamp(34px,5vw,58px);font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--accent)}
.stat-card span{margin-top:12px;letter-spacing:.22em;text-transform:uppercase;font-size:11px;color:var(--muted)}
.split{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1fr);gap:clamp(42px,7vw,100px)}
h2{margin:12px 0 20px;font-size:clamp(34px,5vw,66px);line-height:1.04;letter-spacing:-.045em;font-weight:500;font-family:Georgia,"Times New Roman",serif}
h3{margin:0}.split p,.section-description,.desk-card p,.process-item p,.access-panel p,.legal p,.framework-grid p{color:var(--muted)}
.framework-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft);margin-top:60px}
.framework-grid article{background:#050505;padding:26px;min-height:210px}
.framework-grid span{color:var(--accent);font-size:11px;letter-spacing:.18em}.framework-grid h3{font-size:20px;margin:22px 0 10px;font-weight:500}.framework-grid p{font-size:14px;margin:0}
.section-header{max-width:860px;margin-bottom:42px}.section-description{font-size:16px;max-width:760px}
.desk-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;background:var(--line-soft);border:1px solid var(--line-soft)}
.desk-card{position:relative;min-height:310px;text-align:left;border:0;background:linear-gradient(180deg,rgba(183,154,88,.026),rgba(255,255,255,.012)),#050505!important;color:var(--text)!important;padding:30px;display:flex;flex-direction:column;justify-content:space-between;transition:background .2s ease,transform .2s ease;overflow:hidden}
.desk-card:before,.desk-card:after{content:"";position:absolute;width:28px;height:28px;border-color:var(--accent-soft);border-style:solid}
.desk-card:before{top:0;left:0;border-width:1px 0 0 1px}.desk-card:after{right:0;bottom:0;border-width:0 1px 1px 0}
.desk-card:hover{background:linear-gradient(180deg,rgba(183,154,88,.045),rgba(255,255,255,.018)),#090909!important;transform:translateY(-1px)}
.desk-card span{color:var(--accent);letter-spacing:.18em;text-transform:uppercase;font-size:11px}
.desk-card h3{font-size:24px;line-height:1.12;margin:18px 0;font-weight:500;letter-spacing:-.03em;max-width:94%}.desk-card p{font-size:14px;margin:0;max-width:96%}
.process-list{border-top:1px solid var(--line)}.process-item{display:grid;grid-template-columns:100px minmax(0,1fr);gap:28px;padding:28px 0;border-bottom:1px solid var(--line-soft)}
.process-item>span{color:var(--accent);letter-spacing:.16em;font-size:12px}.process-item h3{font-size:20px;margin:0 0 9px}.process-item p{max-width:760px;margin:0}
.access-section{padding-top:42px}.access-panel{border:1px solid var(--line);background:linear-gradient(135deg,rgba(183,154,88,.07),rgba(255,255,255,.018));padding:clamp(34px,7vw,70px)}.access-panel p{max-width:730px;font-size:17px}
.site-footer{padding:42px clamp(22px,5vw,68px);border-top:1px solid var(--line-soft);display:grid;grid-template-columns:1fr minmax(240px,.8fr) minmax(0,1.35fr);gap:34px;color:var(--muted-2);font-size:13px}
.footer-mark{width:56px!important;max-width:56px!important;margin-bottom:12px}.footer-brand{color:var(--text);letter-spacing:.08em;font-weight:700}.site-footer p{margin:0 0 7px}.legal p{font-size:12px;line-height:1.65}
.modal{position:fixed;inset:0;z-index:80;display:none;align-items:center;justify-content:center;padding:22px}.modal.open{display:flex}.modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(10px)}
.modal-card{position:relative;width:min(100%,520px);max-height:90vh;overflow:auto;background:#070707;border:1px solid var(--line);box-shadow:var(--shadow);padding:34px}.modal-card.wide{width:min(100%,820px)}
.modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border:1px solid var(--line);background:transparent;color:var(--text);font-size:22px}.modal-intro{color:var(--muted);margin-bottom:24px}
.access-form,.request-form{display:grid;gap:16px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}label{display:grid;gap:7px;color:var(--muted);font-size:13px}label span{color:var(--muted-2)}
input,select,textarea{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.045);color:var(--text);padding:13px 14px;outline:none}textarea{resize:vertical}input:focus,select:focus,textarea:focus{border-color:rgba(232,228,219,.38)}
.checkbox-label{grid-template-columns:18px 1fr;align-items:start;gap:10px}.checkbox-label input{width:16px;height:16px;margin-top:3px}.form-note{color:var(--muted-2);font-size:12px;margin:0}.desk-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.desk-tags span{border:1px solid var(--line);padding:8px 10px;color:var(--muted);font-size:12px}
.interest-field{grid-column:1/-1;border:1px solid var(--line);margin:0;padding:16px}.interest-field legend{padding:0 8px;color:var(--muted);font-size:13px}.interest-field legend span{color:var(--muted-2)}
.interest-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.interest-options label{display:grid;grid-template-columns:18px 1fr;align-items:start;gap:9px;border:1px solid var(--line-soft);padding:10px;background:rgba(255,255,255,.025)}.interest-options input{width:15px;height:15px;margin-top:3px}.interest-options span{color:var(--muted);font-size:12px;line-height:1.35}
@media(max-width:1040px){.desktop-nav{display:none}.mobile-menu-button{display:flex}.site-header{padding:18px 22px}.hero{min-height:auto;grid-template-columns:1fr;gap:34px;padding-top:88px}.hero:before{inset:24px 22px}.stats-section,.desk-grid,.split,.site-footer,.framework-grid{grid-template-columns:1fr}.stat-card{min-height:150px}.process-item{grid-template-columns:54px minmax(0,1fr)}.hero-panel{align-self:start;max-width:620px}}
@media(max-width:640px){.section{padding:66px 20px}.hero h2{font-size:clamp(42px,13vw,64px)}.hero-actions,.button{width:100%}.form-grid,.interest-options{grid-template-columns:1fr}.modal-card{padding:28px 20px}.brand-main{font-size:13px}.brand-sub{font-size:9px}.brand-mark{width:36px!important;max-width:36px!important}.desk-card{min-height:250px}.gate-actions{width:100%}.gate-frame{padding:32px 20px}.entry-gate h1{font-size:29px}.stats-section{padding-left:20px;padding-right:20px}}

/* V1.8 SEO/footer refinements */
.footer-seo-line{
  max-width:360px;
  color:var(--muted-2);
  font-size:12px;
  line-height:1.55;
  margin-top:12px!important;
}
