*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --amber:#c9a84c;
  --amber-text:#c9a84c; /* Gold accent */
  --ah:#d4b763;
  --al:#c9a84c;
  --ap:rgba(201, 168, 76, 0.15);
  --ad:#e5d4a1;
  --text:#f8fafc;
  --t2:#cbd5e1;
  --t3:#94a3b8;
  --bd:#334155; /* Meets 3:1 non-text contrast against #0a0e17 */
  --bd2:#64748b; /* Highly visible border for form controls */
  --bg:#0a0e17;
  --bg2:#131c2e;
  --bgd:#070a13;
  --bgd2:#090d16;
  --white:#121826; /* Premium dark card background */
  --serif:'Cormorant Garamond',Georgia,serif;
  --serif2:'Playfair Display',Georgia,serif;
  --mono:'DM Mono','Courier New',monospace;
  --sans:'DM Sans',system-ui,sans-serif;
  --r:0.625rem;
  --rl:1rem;
}

.light-theme {
  --text: #0f172a;
  --t2: #334155;
  --t3: #656158; /* APCA-compliant charcoal */
  --bd: #cbd5e1;
  --bd2: #94a3b8;
  --bg: #f8fafc;
  --bg2: #f1f5f9;
  --bgd: #e2e8f0;
  --bgd2: #f1f5f9;
  --white: #ffffff;
  --amber-text: #965300; /* APCA-compliant dark amber */
}

/* ── LIGHT THEME ACCESSIBILITY OVERRIDES ── */
.light-theme body {
  background: var(--bg);
  color: var(--text);
}
.light-theme nav {
  background: rgba(248, 250, 252, 0.95);
  border-bottom-color: var(--bd);
}
.light-theme footer {
  background: var(--bgd);
  border-top: 1px solid var(--bd);
}
.light-theme .foot-logo {
  color: var(--text);
}
.light-theme .foot-name {
  color: var(--t3);
}
.light-theme .foot-desc {
  color: var(--t2);
}
.light-theme .foot-col h4 {
  color: var(--t3);
}
.light-theme .foot-col a {
  color: var(--t2);
}
.light-theme .foot-col a:hover {
  color: var(--amber-text);
}
.light-theme .foot-bot {
  border-top: 1px solid var(--bd);
}
.light-theme .foot-copy {
  color: var(--t3);
}
.light-theme .foot-soc a {
  border: 0.5px solid var(--bd);
  color: var(--t2);
}
.light-theme .foot-soc a:hover {
  color: var(--amber-text);
  border-color: var(--amber-text);
}
.light-theme .sf {
  border: 1px solid var(--bd);
  border-left: none;
}
.light-theme .sf a {
  color: var(--text);
}
.light-theme .sf a:hover {
  background: rgba(15, 23, 42, 0.05);
}
.light-theme .sf-line {
  background: var(--bd);
}
.light-theme .logo-tooltip {
  background: var(--white);
  border: 1px solid var(--bd);
  box-shadow: 0 0.75rem 2.5rem rgba(15, 23, 42, 0.1);
}
.light-theme .logo-tooltip::before {
  background: var(--white);
  border-left: 1px solid var(--bd);
  border-top: 1px solid var(--bd);
}
.light-theme .tt-title {
  color: var(--text);
}
.light-theme .tt-math {
  color: var(--t3);
}
.light-theme .tt-body {
  color: var(--t2);
}
.light-theme .tt-quote {
  color: var(--t3);
  border-top: 0.5px solid var(--bd);
}
.light-theme .partner-initials,
.light-theme .pb-initials {
  background: rgba(15, 23, 42, 0.05);
  border: 0.5px solid rgba(15, 23, 42, 0.1);
  color: var(--amber-text);
}
.light-theme .btn-ghost-dark {
  color: var(--t2);
  border: 0.5px solid var(--bd);
}
.light-theme .btn-ghost-dark:hover {
  color: var(--text);
  border-color: var(--text);
}
.light-theme .tag-d {
  background: rgba(15, 23, 42, 0.05);
  color: var(--t2);
}

/* ── SMOOTH THEME TRANSITION ── */
body, nav, footer, .sf, .logo-tooltip, .founding-card, .p-card, .h-svc, .acc-card, .acc-panel, .fp, .pb-top, .pb-body, .manifesto, .partner-initials, .pb-initials, .btn-ghost-dark {
  transition: background-color 0.3s ease, border-color 0.3s ease, color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
}

/* ── THEME TOGGLE BUTTON ── */
.theme-toggle-btn {
  background: transparent;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--t2);
  transition: color 0.2s, background-color 0.2s, transform 0.3s ease;
  width: 2.25rem;
  height: 2.25rem;
}
.theme-toggle-btn:hover {
  background-color: rgba(255, 255, 255, 0.08);
  color: var(--amber-text);
  transform: scale(1.05);
}
.light-theme .theme-toggle-btn:hover {
  background-color: rgba(0, 0, 0, 0.05);
}
.theme-toggle-btn svg {
  width: 1.25rem;
  height: 1.25rem;
  stroke: currentColor;
  fill: none;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  transition: transform 0.5s ease;
}
.theme-toggle-btn:hover svg {
  transform: rotate(30deg);
}

.theme-toggle-btn .sun-icon {
  display: block;
}
.theme-toggle-btn .moon-icon {
  display: none;
}
.light-theme .theme-toggle-btn .sun-icon {
  display: none;
}
.light-theme .theme-toggle-btn .moon-icon {
  display: block;
}
html{scroll-behavior:smooth}
body{font-family:var(--sans);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;overflow-x:hidden;line-height:1.6;text-align:start}
p{max-width:80ch} /* Limit reading line-length for readability */

/* ── ACCESSIBILITY UTILITIES (WCAG) ── */
.visually-hidden:where(:not(:focus-within, :active)) {
  position: absolute !important;
  clip-path: inset(50%) !important;
  overflow: hidden !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  border: 0 !important;
  white-space: nowrap !important;
}
.skip-link {
  position: absolute;
  top: -100px;
  left: 1.5rem;
  background: var(--amber);
  color: #0a0e17 !important;
  padding: 0.75rem 1.5rem;
  font-size: 0.875rem;
  font-weight: 600;
  z-index: 9999;
  text-decoration: none;
  border-radius: 0 0 8px 8px;
  transition: top 0.2s ease;
}
.skip-link:focus-visible {
  top: 0;
  outline: 3px solid var(--text) !important;
  outline-offset: 2px !important;
}

/* ── KEYBOARD FOCUS OUTLINES (WCAG 3.0) ── */
:focus-visible{outline:3px solid var(--amber) !important;outline-offset:3px !important}
:focus:not(:focus-visible){outline:none !important}

/* ── SOCIAL FLAP ── */
.sf{position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:200;background:var(--bgd);border-radius:0 var(--r) var(--r) 0;padding:0.625rem 0}
.sf a{width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;color:#fff;opacity:.6;transition:opacity .2s,background .2s;text-decoration:none}
.sf a:hover{opacity:1;background:rgba(255,255,255,.08)}
.sf a svg{width:0.875rem;height:0.875rem;fill:currentColor}
.sf-line{width:1rem;height:0.5px;background:rgba(255,255,255,.12);margin:0.125rem auto}

/* ── NAV ── */
nav{position:sticky;top:0;z-index:100;background:rgba(10,14,23,.97);backdrop-filter:blur(16px);border-bottom:0.5px solid var(--bd);padding:0 2.5rem 0 3.75rem;display:flex;align-items:center;justify-content:space-between;height:3.625rem}
.nav-logo{display:flex;align-items:center;gap:0;cursor:pointer;text-decoration:none;position:relative}
.logo-r{font-family:var(--serif);font-weight:700;font-size:1.75rem;color:var(--text);line-height:1;position:relative}
.logo-r .orb{position:absolute;bottom:0.125rem;left:0.0625rem;width:1.125rem;height:1.125rem;border-radius:50%;border:1.4px solid var(--amber);pointer-events:none}
.logo-r .exp{font-family:var(--mono);font-size:0.8125rem;color:var(--amber-text);position:absolute;top:-0.125rem;right:-0.875rem;font-weight:500}
.logo-name{font-family:var(--mono);font-size:0.8125rem;color:var(--t2);margin-left:1.25rem;letter-spacing:0.5px;font-weight:400}
/* Tooltip on logo hover */
.logo-tooltip{position:absolute;top:calc(100% + 0.875rem);left:0;width:22.5rem;background:var(--bgd);border-radius:0.75rem;padding:1.375rem;opacity:0;pointer-events:none;transform:translateY(-0.5rem);transition:opacity .25s,transform .25s;z-index:200;box-shadow:0 0.75rem 2.5rem rgba(0,0,0,.3)}
.logo-tooltip::before{content:'';position:absolute;top:-0.375rem;left:1.375rem;width:0.75rem;height:0.75rem;background:var(--bgd);transform:rotate(45deg)}
.nav-logo:hover .logo-tooltip{opacity:1;pointer-events:auto;transform:translateY(0)}
.tt-title{font-family:var(--serif);font-size:1.375rem;font-weight:700;color:#fff;margin-bottom:0.375rem;line-height:1.2}
.tt-title em{color:var(--al);font-style:italic}
.tt-bar{width:1.75rem;height:2px;background:var(--amber);margin-bottom:0.75rem}
.tt-math{font-family:var(--mono);font-size:0.625rem;color:rgba(255,255,255,.4);letter-spacing:1px;margin-bottom:0.625rem;display:block}
.tt-body{font-size:0.75rem;color:rgba(255,255,255,.65);line-height:1.7;margin-bottom:0.625rem}
.tt-quote{font-size:0.6875rem;font-family:var(--mono);color:rgba(255,255,255,.35);line-height:1.6;border-top:0.5px solid rgba(255,255,255,.08);padding-top:0.625rem;font-style:italic}
.nav-links{display:flex;gap:0;list-style:none}
.nav-links a{font-size:0.8125rem;color:var(--t2);text-decoration:none;padding:0 0.875rem;height:3.625rem;display:flex;align-items:center;border-bottom:2px solid transparent;transition:color .2s,border-color .2s;cursor:pointer}
.nav-links a:hover,.nav-links a.active{color:var(--amber-text);border-bottom-color:var(--amber-text)}
.nav-cta{background:var(--amber-text);color:#fff;border:none;padding:0.5625rem 1.125rem;border-radius:0.4375rem;font-size:0.8125rem;font-weight:500;font-family:var(--sans);cursor:pointer;transition:background .2s,transform .15s}
.nav-cta:hover{background:var(--ah);transform:translateY(-1px)}

/* ── PAGE SYSTEM ── */
.page{display:none}.page.active{display:block}

/* ── BREADCRUMB ── */
.bc{padding:0.625rem 3.75rem;background:var(--bg2);border-bottom:0.5px solid var(--bd);display:flex;align-items:center;gap:0.375rem;font-size:0.6875rem;font-family:var(--mono);color:var(--t3)}
.bc a{color:var(--amber-text);cursor:pointer;text-decoration:none}.bc a:hover{text-decoration:underline}

/* ── SHARED ── */
.wrap{max-width:66.25rem;margin:0 auto;padding:0 2.5rem 0 4.25rem}
.sec{padding:4rem 0;border-bottom:0.5px solid var(--bd)}
.sec-label{font-family:var(--mono);font-size:0.625rem;letter-spacing:3px;text-transform:uppercase;color:var(--t3);display:block;margin-bottom:0.625rem}
.sec-title{font-family:var(--serif);font-size:2.375rem;font-weight:700;line-height:1.1;color:var(--text);margin-bottom:0.5rem;letter-spacing:-0.5px}
.sec-sub{font-size:0.9375rem;color:var(--t2);line-height:1.65;margin-bottom:2rem;max-width:35rem}
.eyebrow{font-family:var(--mono);font-size:0.625rem;letter-spacing:2.5px;color:var(--amber-text);text-transform:uppercase;display:block;margin-bottom:1.125rem}
.tag{display:inline-block;font-size:0.625rem;font-family:var(--mono);background:var(--ap);color:var(--ad);padding:0.25rem 0.625rem;border-radius:0.25rem;letter-spacing:0.5px}
.tag-g{display:inline-block;font-size:0.625rem;font-family:var(--mono);background:var(--bg2);color:var(--t3);padding:0.25rem 0.625rem;border-radius:0.25rem;letter-spacing:0.5px}
.tag-d{display:inline-block;font-size:0.625rem;font-family:var(--mono);background:rgba(255,255,255,.08);color:rgba(255,255,255,.5);padding:0.25rem 0.625rem;border-radius:0.25rem;letter-spacing:0.5px}
.btn{background:var(--amber-text);color:#fff;border:none;padding:0.8125rem 1.625rem;border-radius:0.5rem;font-size:0.875rem;font-weight:500;font-family:var(--sans);cursor:pointer;transition:background .2s,transform .15s;display:inline-flex;align-items:center;gap:0.5rem;text-decoration:none}
.btn:hover{background:var(--ah);transform:translateY(-1px)}
.btn-o{background:transparent;color:var(--t2);border:0.5px solid var(--bd2);padding:0.8125rem 1.375rem;border-radius:0.5rem;font-size:0.875rem;font-family:var(--sans);cursor:pointer;transition:border-color .2s,color .2s;display:inline-flex;align-items:center;gap:0.5rem}
.btn-o:hover{border-color:var(--amber-text);color:var(--amber-text)}
.btn-ghost-dark{background:transparent;color:rgba(255,255,255,.6);border:0.5px solid rgba(255,255,255,.2);padding:0.8125rem 1.375rem;border-radius:0.5rem;font-size:0.875rem;font-family:var(--sans);cursor:pointer;transition:border-color .2s,color .2s}
.btn-ghost-dark:hover{border-color:rgba(255,255,255,.5);color:#fff}
.text-link{font-size:0.8125rem;color:var(--amber-text);font-family:var(--mono);cursor:pointer;text-decoration:none;font-weight:500;display:inline-flex;align-items:center;gap:0.25rem}
.ico-box{width:2.625rem;height:2.625rem;border-radius:0.625rem;background:var(--ap);display:flex;align-items:center;justify-content:center;color:var(--amber-text);margin-bottom:0.875rem}
.ico-box svg{width:1.125rem;height:1.125rem;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.bridge{padding:1.25rem 1.5rem;background:var(--bg2);border:0.5px solid var(--bd);border-radius:var(--rl);display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:2rem}
.bridge p{font-size:0.8125rem;color:var(--t2);line-height:1.5}
.bridge p strong{color:var(--text);display:block;font-size:0.6875rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:1px;margin-bottom:0.1875rem}

/* ═══════════════ HOME ═══════════════ */
.hero{padding:0;border-bottom:0.5px solid var(--bd);overflow:hidden}
.hero-top{padding:4.5rem 0 0;background:var(--bg)}
.hero-grid{display:grid;grid-template-columns:1fr 22.5rem;gap:3.5rem;align-items:start}
.hero h1{font-family:var(--serif);font-size:3.375rem;font-weight:700;line-height:1.05;letter-spacing:-1.5px;color:var(--text);margin-bottom:1.25rem}
.hero h1 em{font-style:italic;color:var(--amber-text)}
.hero-sub{font-size:1.0625rem;line-height:1.7;color:var(--t2);max-width:30rem;margin-bottom:1.75rem}
.hero-btns{display:flex;gap:0.625rem;flex-wrap:wrap;margin-bottom:0.875rem}
.hero-micro{font-size:0.6875rem;color:var(--t3);font-family:var(--mono)}
.trust-col{border:0.5px solid var(--bd);border-radius:var(--rl);overflow:hidden}
.t-item{padding:0.9375rem 1.125rem;border-bottom:0.5px solid var(--bd)}
.t-item:last-child{border-bottom:none}
.t-num{font-family:var(--mono);font-size:1.375rem;color:var(--amber-text);display:block;line-height:1;margin-bottom:0.25rem}
.t-lbl{font-size:0.6875rem;color:var(--t2);line-height:1.4;display:block}
/* Partner strip on hero */
.partner-strip{background:var(--bgd);padding:2rem 0;margin-top:3rem}
.partner-strip .wrap{display:grid;grid-template-columns:1fr 0.5px 1fr;gap:0;align-items:center}
.ps-div{width:0.5px;height:3.75rem;background:rgba(255,255,255,.1);margin:0 auto}
.partner-card{padding:0 2.5rem;display:flex;align-items:center;gap:1.25rem}
.partner-card:first-child{padding-left:0}
.partner-initials{width:3.25rem;height:3.25rem;border-radius:0.75rem;background:rgba(255,255,255,.06);border:0.5px solid rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.25rem;font-weight:700;color:var(--al);flex-shrink:0;font-style:italic}
.partner-info h3{font-size:0.9375rem;font-weight:600;color:#fff;margin-bottom:0.1875rem;font-family:var(--sans)}
.partner-info p{font-size:0.6875rem;color:rgba(255,255,255,.45);font-family:var(--mono);letter-spacing:0.3px;line-height:1.5}

/* Pain */
.pain-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.875rem}
.p-card{background:var(--white);border:0.5px solid var(--bd);border-radius:var(--rl);padding:1.375rem;position:relative;transition:border-color .2s}
.p-card:hover{border-color:var(--al)}
.p-card::before{content:'"';font-family:var(--serif);font-size:2.75rem;line-height:1;color:var(--al);opacity:.25;position:absolute;top:0.625rem;right:0.875rem}
.p-card p{font-size:0.84375rem;line-height:1.7;color:var(--t2);font-style:italic;margin-top:0.625rem}

/* Two tracks */
.tracks{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}
.track{border:0.5px solid var(--bd);border-radius:var(--rl);overflow:hidden}
.track-hdr{padding:1.25rem 1.375rem;display:flex;align-items:center;gap:0.75rem}
.track-hdr.eng{background:var(--bgd)}
.track-hdr.str{background:var(--ap)}
.track-badge{font-family:var(--mono);font-size:0.625rem;letter-spacing:1.5px;text-transform:uppercase;padding:0.25rem 0.625rem;border-radius:0.25rem}
.track-hdr.eng .track-badge{background:rgba(255,255,255,.1);color:rgba(255,255,255,.6)}
.track-hdr.str .track-badge{background:rgba(184,112,15,.15);color:var(--ad)}
.track-hdr h3{font-family:var(--serif);font-size:1.25rem;font-weight:700}
.track-hdr.eng h3{color:#fff}
.track-hdr.str h3{color:var(--text)}
.track-body{padding:1.25rem 1.375rem;background:var(--white)}
.track-item{display:flex;align-items:flex-start;gap:0.625rem;padding:0.5rem 0;border-bottom:0.5px solid var(--bd);font-size:0.8125rem;color:var(--t2);line-height:1.5}
.track-item:last-child{border-bottom:none}
.track-item svg{width:0.875rem;height:0.875rem;flex-shrink:0;margin-top:0.125rem;stroke:var(--al);fill:none;stroke-width:2;stroke-linecap:round}

/* Home services */
.h-svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0.875rem}
.h-svc{border:0.5px solid var(--bd);border-radius:var(--rl);padding:1.5rem;background:var(--white);transition:border-color .2s,box-shadow .2s;display:flex;flex-direction:column;cursor:pointer}
.h-svc:hover{border-color:var(--al);box-shadow:0 0.25rem 1.25rem rgba(24,24,15,.07)}
.h-svc.feat{border-color:var(--al);border-width:1.5px}
.h-svc h3{font-size:0.9375rem;font-weight:600;color:var(--text);margin-bottom:0.5rem;line-height:1.3;margin-top:0.75rem}
.h-svc p{font-size:0.8125rem;color:var(--t2);line-height:1.65;flex:1;margin-bottom:1rem}

/* How */
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;position:relative}
.steps::before{content:'';position:absolute;top:1.1875rem;left:10%;right:10%;height:0.5px;background:var(--bd2)}
.step{padding:0 0.625rem;text-align:center;position:relative;z-index:1}
.step-n{width:2.375rem;height:2.375rem;border-radius:50%;background:var(--amber-text);color:#fff;font-family:var(--mono);font-size:0.75rem;display:flex;align-items:center;justify-content:center;margin:0 auto 0.75rem}
.step h4{font-size:0.8125rem;font-weight:600;margin-bottom:0.3125rem;color:var(--text)}
.step p{font-size:0.75rem;color:var(--t2);line-height:1.5}

/* Proof */
.proof-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:start}
.q-block{border-left:3px solid var(--al);padding-left:1.375rem}
.q-text{font-family:var(--serif);font-size:1.375rem;line-height:1.5;color:var(--text);font-style:italic;margin-bottom:0.875rem}
.q-attr{font-size:0.6875rem;color:var(--t3);font-family:var(--mono)}
.stat-stack{display:flex;flex-direction:column;gap:0.625rem}
.s-row{padding:0.875rem 1rem;border:0.5px solid var(--bd);border-radius:var(--r);display:flex;align-items:center;gap:0.875rem;transition:border-color .2s}
.s-row:hover{border-color:var(--al)}
.s-big{font-family:var(--mono);font-size:1.375rem;color:var(--amber-text);line-height:1;min-width:3rem}
.s-desc{font-size:0.75rem;color:var(--t2);line-height:1.5}

/* Dark CTA */
.cta-dark{background:var(--bgd);padding:4.5rem 0}
.cta-dark .sec-label{color:rgba(255,255,255,.3)}
.cta-dark .sec-title{color:#fff}
.cta-dark .sec-sub{color:rgba(255,255,255,.55);max-width:30rem}
.cta-note{display:block;margin-top:0.75rem;font-size:0.6875rem;color:rgba(255,255,255,.3);font-family:var(--mono)}

/* ═══════════════ SERVICES ═══════════════ */
.svc-hero{padding:3rem 0 2.5rem;border-bottom:0.5px solid var(--bd)}
.svc-hero h1{font-family:var(--serif);font-size:2.625rem;font-weight:700;line-height:1.1;letter-spacing:-1px;color:var(--text);margin-bottom:0.75rem}
.acc-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:0.75rem;margin-bottom:0}
.acc-card{border:0.5px solid var(--bd);border-radius:var(--rl);padding:1.375rem;background:var(--white);cursor:pointer;transition:border-color .2s,background .2s;display:flex;flex-direction:column;gap:0.5rem;position:relative}
.acc-card::after{content:'';position:absolute;bottom:-1px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:10px solid transparent;border-right:10px solid transparent;border-bottom:10px solid var(--ap);opacity:0;transition:opacity .2s}
.acc-card.open{border-color:var(--al);border-width:1.5px;background:var(--ap)}
.acc-card.open::after{opacity:1}
.acc-card-tag{font-size:0.5625rem;font-family:var(--mono);letter-spacing:0.5px;color:var(--t3)}
.acc-card.open .acc-card-tag{color:var(--ad)}
.acc-card h3{font-size:0.875rem;font-weight:600;color:var(--text);line-height:1.3}
.acc-card p{font-size:0.75rem;color:var(--t2);line-height:1.6}
.acc-card-hint{font-size:0.625rem;font-family:var(--mono);color:var(--amber-text);margin-top:0.25rem;display:flex;align-items:center;gap:0.25rem}
.acc-panel{display:none;background:var(--bg2);border:0.5px solid var(--al);border-radius:var(--rl);margin-top:0.1875rem;padding:2.125rem;animation:sd .22s ease}
.acc-panel.open{display:grid;grid-template-columns:1fr 1fr;gap:2.75rem}
@keyframes sd{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}
.acc-panel h2{font-family:var(--serif);font-size:1.625rem;font-weight:700;line-height:1.15;color:var(--text);margin-bottom:0.75rem}
.acc-panel>div>p{font-size:0.875rem;color:var(--t2);line-height:1.75;margin-bottom:0.875rem}
.inc-list{list-style:none;margin-bottom:1.25rem}
.inc-list li{font-size:0.8125rem;color:var(--t2);padding:0.4375rem 0;border-bottom:0.5px solid var(--bd);display:flex;align-items:flex-start;gap:0.625rem;line-height:1.5}
.inc-list li:last-child{border-bottom:none}
.inc-list li svg{width:0.8125rem;height:0.8125rem;stroke:var(--al);fill:none;stroke-width:2;stroke-linecap:round;flex-shrink:0;margin-top:0.125rem}
.panel-right{display:flex;flex-direction:column;gap:0.5625rem}
.fp{display:flex;align-items:flex-start;gap:0.75rem;background:var(--white);border:0.5px solid var(--bd);border-radius:8px;padding:0.75rem 0.875rem}
.fp .ico-sm{width:1.875rem;height:1.875rem;background:var(--ap);border-radius:7px;display:flex;align-items:center;justify-content:center;color:var(--amber-text);flex-shrink:0}
.fp .ico-sm svg{width:0.875rem;height:0.875rem;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.fp-text{font-size:0.75rem;color:var(--t2);line-height:1.5;padding-top:0.3125rem}
.panel-cta{display:flex;gap:0.625rem;align-items:center;margin-top:0.375rem;flex-wrap:wrap}
.panel-meta{font-size:0.6875rem;color:var(--t3);font-family:var(--mono)}
.bot-phases{display:flex;flex-direction:column;gap:0;border:0.5px solid var(--bd);border-radius:var(--rl);overflow:hidden;margin-bottom:1.125rem}
.bot-ph{padding:0.75rem 1rem;border-bottom:0.5px solid var(--bd);display:flex;gap:0.75rem;align-items:flex-start}
.bot-ph:last-child{border-bottom:none}
.bot-ph-n{width:1.625rem;height:1.625rem;border-radius:50%;background:var(--amber-text);color:#fff;font-family:var(--mono);font-size:0.6875rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.bot-ph h4{font-size:0.8125rem;font-weight:600;margin-bottom:0.125rem;color:var(--text)}
.bot-ph p{font-size:0.75rem;color:var(--t2);line-height:1.5}

/* ═══════════════ ABOUT ═══════════════ */
.about-intro{padding:4rem 0;border-bottom:0.5px solid var(--bd)}
.about-tagline{font-family:var(--serif);font-size:2.75rem;font-weight:700;line-height:1.08;letter-spacing:-1px;color:var(--text);margin-bottom:1.25rem;max-width:43.75rem}
.about-tagline em{font-style:italic;color:var(--amber-text)}
.about-tagline-sub{font-size:1rem;color:var(--t2);line-height:1.7;max-width:37.5rem;margin-bottom:2rem}
.partners-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}
.partner-bio{border:0.5px solid var(--bd);border-radius:var(--rl);overflow:hidden}
.pb-top{padding:1.75rem;background:var(--bgd)}
.pb-top.light{background:var(--ap)}
.pb-initials{width:3.5rem;height:3.5rem;border-radius:0.75rem;background:rgba(255,255,255,.08);border:0.5px solid rgba(255,255,255,.15);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.375rem;font-weight:700;color:var(--al);margin-bottom:0.875rem;font-style:italic}
.pb-top.light .pb-initials{background:rgba(184,112,15,.1);border-color:rgba(184,112,15,.2);color:var(--amber-text)}
.pb-name{font-size:1.125rem;font-weight:700;color:#fff;font-family:var(--sans);margin-bottom:0.1875rem}
.pb-top.light .pb-name{color:var(--text)}
.pb-title{font-size:0.6875rem;color:rgba(255,255,255,.45);font-family:var(--mono);letter-spacing:0.5px;line-height:1.5}
.pb-top.light .pb-title{color:var(--amber-text)}
.pb-body{padding:1.5rem;background:var(--white)}
.pb-body p{font-size:0.8125rem;color:var(--t2);line-height:1.7;margin-bottom:0.625rem}
.pb-body p:last-child{margin-bottom:0}
.pb-services{display:flex;flex-wrap:wrap;gap:0.375rem;margin-top:0.875rem}
.pb-svc-tag{font-size:0.625rem;font-family:var(--mono);padding:0.1875rem 0.5rem;border-radius:4px;background:var(--bg2);color:var(--t2);letter-spacing:0.3px}
.pb-quote{font-family:var(--serif);font-size:0.9375rem;font-style:italic;color:var(--text);line-height:1.6;border-left:3px solid var(--al);padding-left:1rem;margin:0.875rem 0}
.manifesto{padding:3.5rem 0;text-align:center;background:var(--bgd)}
.manifesto-text{font-family:var(--serif);font-size:1.75rem;font-style:italic;line-height:1.5;color:#fff;max-width:42.5rem;margin:0 auto}
.manifesto-text em{color:var(--al);font-style:normal}
.values-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0.875rem;margin-top:1.75rem}
.val-card{background:var(--white);border:0.5px solid var(--bd);border-radius:var(--rl);padding:1.375rem;transition:border-color .2s}
.val-card:hover{border-color:var(--al)}
.val-n{font-family:var(--mono);font-size:0.6875rem;color:var(--amber-text);display:block;margin-bottom:0.5rem}
.val-card h3{font-size:0.8125rem;font-weight:600;color:var(--text);margin-bottom:0.375rem}
.val-card p{font-size:0.75rem;color:var(--t2);line-height:1.65}
.intro-badge{display:inline-flex;align-items:center;gap:0.5rem;background:var(--ap);border:0.5px solid rgba(184,112,15,.25);border-radius:6px;padding:0.375rem 0.875rem;margin-bottom:1.25rem}
.intro-badge span{font-size:0.6875rem;font-family:var(--mono);color:var(--ad);letter-spacing:0.5px}

/* ── CONTACT ── */
.contact-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:3.5rem;padding:3rem 0}
.contact-h2{font-family:var(--serif);font-size:2.125rem;font-weight:700;line-height:1.1;color:var(--text);margin-bottom:0.625rem;letter-spacing:-0.5px}
.contact-sub{font-size:0.875rem;color:var(--t2);line-height:1.7;margin-bottom:1.75rem}
.smart-group{margin-bottom:1.25rem}
.smart-label{display:block;font-size:0.625rem;font-family:var(--mono);color:var(--t3);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:0.625rem}
.pill-wrap{display:flex;gap:0.5rem;flex-wrap:wrap}
.pill{background:var(--white);border:0.5px solid var(--bd2);border-radius:8px;padding:0.5rem 0.875rem;font-size:0.8125rem;font-family:var(--sans);color:var(--t2);cursor:pointer;transition:border-color .2s,color .2s,background .2s;display:flex;align-items:center;gap:0.4375rem}
.pill:hover{border-color:var(--amber-text);color:var(--amber-text)}
.pill.sel{background:var(--ap);border-color:var(--amber-text);color:var(--ad);font-weight:500}
.pill svg{width:0.8125rem;height:0.8125rem;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round}
.tz-sel{width:100%;border:0.5px solid var(--bd2);border-radius:8px;padding:0.625rem 0.75rem;font-size:0.8125rem;font-family:var(--sans);color:var(--text);background:var(--white);outline:none;transition:border-color .2s}
.tz-sel:focus{border-color:var(--amber-text)}
.f-row{display:grid;grid-template-columns:1fr 1fr;gap:0.75rem;margin-bottom:0.875rem}
.f-group{margin-bottom:0.875rem}
.f-label{display:block;font-size:0.625rem;font-family:var(--mono);color:var(--t3);letter-spacing:1.5px;text-transform:uppercase;margin-bottom:0.375rem}
.f-in{width:100%;border:0.5px solid var(--bd2);border-radius:8px;padding:0.625rem 0.75rem;font-size:0.8125rem;font-family:var(--sans);color:var(--text);background:var(--white);outline:none;transition:border-color .2s}
.f-in:focus{border-color:var(--amber-text)}
.f-ta{min-height:5rem;resize:vertical}
.f-submit{background:var(--amber-text);color:#fff;border:none;width:100%;padding:0.875rem;border-radius:8px;font-size:0.875rem;font-weight:500;font-family:var(--sans);cursor:pointer;transition:background .2s;margin-top:0.25rem}
.f-submit:hover{background:var(--ah)}
.f-note{font-size:0.6875rem;color:var(--t3);text-align:center;margin-top:0.5rem;font-family:var(--mono)}
.contact-aside{position:sticky;top:5rem}
.expect-card{background:var(--bg2);border:0.5px solid var(--bd);border-radius:var(--rl);padding:1.375rem;margin-bottom:0.875rem}
.exp-step{display:flex;gap:0.75rem;align-items:flex-start;margin-bottom:0.75rem}
.exp-step:last-child{margin-bottom:0}
.exp-n{width:1.625rem;height:1.625rem;border-radius:50%;background:var(--amber-text);color:#fff;font-family:var(--mono);font-size:0.6875rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.exp-text h4{font-size:0.8125rem;font-weight:600;color:var(--text);margin-bottom:0.125rem}
.exp-text p{font-size:0.75rem;color:var(--t2);line-height:1.5}
.cd-row{display:flex;gap:0.75rem;align-items:flex-start;padding:0.75rem;border:0.5px solid var(--bd);border-radius:var(--r);margin-bottom:0.5rem}
.cd-ico{width:1.875rem;height:1.875rem;border-radius:7px;background:var(--ap);display:flex;align-items:center;justify-content:center;color:var(--amber-text);flex-shrink:0}
.cd-ico svg{width:0.8125rem;height:0.8125rem;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.cd-text{font-size:0.75rem;color:var(--t2);line-height:1.5;padding-top:0.3125rem}
.cd-text strong{color:var(--text);display:block;font-size:0.625rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:0.5px;margin-bottom:0.0625rem}
.assurance{padding:0.875rem;background:var(--ap);border-radius:var(--r);margin-top:0.25rem}
.assurance p{font-size:0.6875rem;font-family:var(--mono);color:var(--ad);line-height:1.6;letter-spacing:0.2px}

/* ── FOOTER ── */
footer{background:var(--bgd);padding:2.5rem 0 1.5rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2.25rem;margin-bottom:2rem}
.foot-logo{font-family:var(--serif);font-size:1.125rem;color:#fff;display:flex;align-items:center;gap:2px;margin-bottom:0.5rem;cursor:pointer;text-decoration:none;font-weight:700}
.foot-logo .fo{position:relative;display:inline-block;padding-right:1rem}
.foot-logo .fo-orb{position:absolute;bottom:0.125rem;left:0.0625rem;width:0.875rem;height:0.875rem;border-radius:50%;border:1px solid var(--al)}
.foot-logo .fo-exp{position:absolute;top:-0.125rem;right:0;font-family:var(--mono);font-size:0.625rem;color:var(--al)}
.foot-name{font-family:var(--mono);font-size:0.6875rem;color:rgba(255,255,255,.35);margin-left:2px;letter-spacing:0.3px}
.foot-desc{font-size:0.75rem;color:rgba(255,255,255,.38);line-height:1.65;max-width:12.5rem;margin-bottom:0.625rem}
.foot-tagline{font-family:var(--mono);font-size:0.625rem;color:var(--al);letter-spacing:1px;font-style:italic}
.foot-col h4{font-size:0.625rem;font-family:var(--mono);letter-spacing:2px;text-transform:uppercase;color:rgba(255,255,255,.28);margin-bottom:0.75rem}
.foot-col a{display:block;font-size:0.8125rem;color:rgba(255,255,255,.48);text-decoration:none;margin-bottom:0.5rem;transition:color .2s;cursor:pointer}
.foot-col a:hover{color:#fff}
.foot-bot{border-top:0.5px solid rgba(255,255,255,.07);padding-top:1.125rem;display:flex;justify-content:space-between;align-items:center}
.foot-copy{font-size:0.6875rem;color:rgba(255,255,255,.22);font-family:var(--mono)}
.foot-soc{display:flex;gap:0.4375rem}
.foot-soc a{width:1.75rem;height:1.75rem;border-radius:6px;border:0.5px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.38);transition:color .2s,border-color .2s;text-decoration:none}
.foot-soc a:hover{color:#fff;border-color:rgba(255,255,255,.38)}
.foot-soc a svg{width:0.6875rem;height:0.6875rem;fill:currentColor}

/* ═══════════════ THE BENCH ═══════════════ */
.bench-hero{padding:3.5rem 0 2.5rem;border-bottom:0.5px solid var(--bd)}
.bench-hero h1{font-family:var(--serif);font-size:2.75rem;font-weight:700;line-height:1.08;letter-spacing:-1px;color:var(--text);margin-bottom:0.75rem}
.bench-hero p{font-size:0.9375rem;color:var(--t2);line-height:1.65;max-width:36.25rem}
.bench-kicker{font-family:var(--mono);font-size:0.6875rem;color:var(--amber-text);letter-spacing:1.5px;margin-top:1rem;display:block}
/* Founding partners — large featured cards */
.founding-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;margin-bottom:3rem}
.founding-card{border:0.5px solid var(--bd);border-radius:var(--rl);overflow:hidden;transition:border-color .2s,box-shadow .2s}
.founding-card:hover{border-color:var(--al);box-shadow:0 0.25rem 1.5rem rgba(24,24,15,.08)}
.fc-top{padding:2rem;display:flex;gap:1.25rem;align-items:flex-start}
.fc-top.dark{background:var(--bgd)}
.fc-top.warm{background:var(--ap)}
.fc-avatar{width:4rem;height:4rem;border-radius:0.875rem;display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.625rem;font-weight:700;flex-shrink:0;font-style:italic}
.fc-top.dark .fc-avatar{background:rgba(255,255,255,.07);border:0.5px solid rgba(255,255,255,.12);color:var(--al)}
.fc-top.warm .fc-avatar{background:rgba(184,112,15,.12);border:0.5px solid rgba(184,112,15,.2);color:var(--amber-text)}
.fc-header h2{font-size:1.25rem;font-weight:700;margin-bottom:0.25rem;font-family:var(--sans)}
.fc-top.dark .fc-header h2{color:#fff}
.fc-top.warm .fc-header h2{color:var(--text)}
.fc-role{font-size:0.6875rem;font-family:var(--mono);letter-spacing:0.5px;line-height:1.5}
.fc-top.dark .fc-role{color:rgba(255,255,255,.4)}
.fc-top.warm .fc-role{color:var(--amber-text)}
.fc-label{font-size:0.5625rem;font-family:var(--mono);letter-spacing:2px;text-transform:uppercase;padding:0.1875rem 0.5rem;border-radius:3px;display:inline-block;margin-top:0.5rem}
.fc-top.dark .fc-label{background:rgba(239,159,39,.15);color:var(--al)}
.fc-top.warm .fc-label{background:rgba(184,112,15,.12);color:var(--ad)}
.fc-body{padding:1.5rem 1.75rem;background:var(--white)}
.fc-quote{font-family:var(--serif);font-size:0.875rem;font-style:italic;color:var(--text);line-height:1.65;border-left:2px solid var(--al);padding-left:0.875rem;margin-bottom:0.875rem}
.fc-bio{font-size:0.8125rem;color:var(--t2);line-height:1.7;margin-bottom:0.875rem}
.fc-tags{display:flex;flex-wrap:wrap;gap:0.375rem}
.fc-tag{font-size:0.625rem;font-family:var(--mono);padding:0.1875rem 0.5625rem;border-radius:4px;background:var(--bg2);color:var(--t2);letter-spacing:0.3px}
/* Bench grid — the experts */
.bench-divider{display:flex;align-items:center;gap:1rem;margin-bottom:1.75rem}
.bench-divider h2{font-family:var(--serif);font-size:1.75rem;font-weight:700;color:var(--text);white-space:nowrap}
.bench-divider-line{flex:1;height:0.5px;background:var(--bd)}
.bench-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.bench-card{border:0.5px solid var(--bd);border-radius:var(--rl);padding:1.5rem;background:var(--white);transition:border-color .2s,box-shadow .2s;display:flex;flex-direction:column;gap:0.625rem}
.bench-card:hover{border-color:var(--al);box-shadow:0 0.1875rem 1rem rgba(24,24,15,.07)}
.bench-card-top{display:flex;align-items:center;gap:0.875rem}
.bc-avatar{width:2.75rem;height:2.75rem;border-radius:10px;background:var(--bg2);border:0.5px solid var(--bd);display:flex;align-items:center;justify-content:center;font-family:var(--serif);font-size:1.125rem;font-weight:700;color:var(--amber-text);flex-shrink:0;font-style:italic}
.bc-header h3{font-size:0.875rem;font-weight:600;color:var(--text);margin-bottom:0.125rem;line-height:1.3;font-family:var(--sans)}
.bc-domain{font-size:0.625rem;font-family:var(--mono);color:var(--amber-text);letter-spacing:0.5px}
.bc-line{font-size:0.75rem;color:var(--t2);line-height:1.6;font-style:italic;border-left:2px solid var(--ap);padding-left:0.625rem}
.bc-tags{display:flex;flex-wrap:wrap;gap:0.3125rem}
.bc-tag{font-size:0.5625rem;font-family:var(--mono);padding:0.1875rem 0.4375rem;border-radius:3px;background:var(--bg2);color:var(--t3);letter-spacing:0.3px}
.bench-note{margin-top:2.5rem;padding:1.25rem 1.5rem;background:var(--bg2);border:0.5px solid var(--bd);border-radius:var(--rl);display:flex;align-items:flex-start;gap:1rem}
.bench-note p{font-size:0.8125rem;color:var(--t2);line-height:1.65}
.bench-note strong{color:var(--text);display:block;font-size:0.75rem;font-family:var(--mono);text-transform:uppercase;letter-spacing:1px;margin-bottom:0.25rem}

/* ── ANIMATIONS ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.hero h1{animation:fadeUp .55s ease both}
.hero-sub{animation:fadeUp .55s .1s ease both}
.hero-btns{animation:fadeUp .55s .18s ease both}
.trust-col{animation:fadeUp .55s .08s ease both}

/* ── RESPONSIVE ── */
@media(max-width:56.25rem){
  .sf{display:none}
  nav{padding:0 1rem}
  .nav-links{display:none}
  .wrap{padding:0 1rem}
  .bc{padding:10px 1rem}
  .hero-grid,.proof-grid,.partners-grid,.contact-grid,.acc-panel.open,.foot-grid,.tracks{grid-template-columns:1fr}
  .pain-grid,.h-svc-grid,.acc-cards,.steps,.values-grid{grid-template-columns:1fr}
  .steps::before{display:none}
  .f-row{grid-template-columns:1fr}
  .bench-grid,.founding-grid{grid-template-columns:1fr}
  .contact-aside{position:static}
  .partner-strip .wrap{grid-template-columns:1fr}
  .ps-div{display:none}
}