:root {
  --bg: #06060A;
  --bg-2: #0A0A12;
  --bg-3: #0E0E18;
  --fg: #EDEAE4;
  --fg-muted: rgba(237,234,228,.68);
  --fg-dim: rgba(237,234,228,.42);
  --gold: #C9A55A;
  --gold-hi: #E8C480;
  --gold-pale: #D4B97A;
  --gold-dim: rgba(201,165,90,.12);
  --gold-glow: rgba(201,165,90,.07);
  --border: rgba(237,234,228,.08);
  --border-gold: rgba(201,165,90,.24);
  --ease: cubic-bezier(0.16,1,0.3,1);
  --gutter: clamp(1.5rem,5vw,5.5rem);
  --max: 1180px;
  --measure: 60ch;
  --measure-tight: 52ch;
  --panel-pad: clamp(1.8rem,2.6vw,2.35rem);
  --section-space: clamp(5rem,7.5vw,7.2rem);
}

*,*::before,*::after { box-sizing:border-box; }
html { scroll-behavior:smooth; background-color:#06060A; }
body {
  margin:0;
  min-height:100vh;
  background-color:#06060A;
  background-image:
    radial-gradient(circle at top, rgba(201,165,90,.06), transparent 30%),
    linear-gradient(180deg, #06060A 0%, #090913 50%, #06060A 100%);
  color:var(--fg);
  font-family:'DM Sans',system-ui,sans-serif;
  line-height:1.68;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  position:relative;
  overflow-x:hidden;
}
body::before,
body::after {
  content:'';
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:-1;
}
body::before {
  background:
    radial-gradient(circle at 12% 18%, rgba(201,165,90,.06), transparent 26%),
    radial-gradient(circle at 86% 14%, rgba(201,165,90,.05), transparent 28%);
  opacity:.78;
}
body::after {
  background-image:
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.015) 1px, transparent 1px);
  background-size:100% 192px, 192px 100%;
  mask-image:linear-gradient(180deg, rgba(0,0,0,.55), transparent 92%);
  opacity:.18;
}
body.page-about::before {
  background:
    radial-gradient(circle at 16% 16%, rgba(201,165,90,.08), transparent 24%),
    radial-gradient(circle at 88% 22%, rgba(201,165,90,.07), transparent 32%);
}
body.page-services::before {
  background:
    radial-gradient(circle at 82% 12%, rgba(201,165,90,.09), transparent 24%),
    radial-gradient(circle at 12% 68%, rgba(201,165,90,.06), transparent 28%);
}
a { color:inherit; text-decoration:none; }
img,svg { display:block; max-width:100%; }

.skip-link {
  position:fixed;
  left:1rem;
  top:-100%;
  z-index:10001;
  background:var(--gold);
  color:var(--bg);
  padding:.75rem 1rem;
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.skip-link:focus { top:1rem; }

.site-shell {
  width:min(calc(100% - (2 * var(--gutter))), var(--max));
  margin:0 auto;
}

.site-header {
  position:sticky;
  top:0;
  z-index:9000;
  backdrop-filter:blur(20px);
  -webkit-backdrop-filter:blur(20px);
  background:rgba(6,6,10,.78);
  border-bottom:1px solid var(--border);
}
.site-header .site-shell {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1.5rem;
  min-height:72px;
}
.brand {
  display:inline-flex;
  align-items:center;
  gap:.82rem;
}
.brand-mark {
  width:54px;
  aspect-ratio:1;
  color:var(--gold);
  flex-shrink:0;
}
.brand-logo-svg {
  width:100%;
  height:auto;
}
.brand-logo-orbit {
  transform-box:fill-box;
  transform-origin:center;
}
.brand-logo-orbit-outer { animation:orbit 18s linear infinite; }
.brand-logo-orbit-inner { animation:orbit-r 26s linear infinite reverse; }
.brand-logo-ring {
  fill:none;
  stroke:rgba(201,165,90,.24);
  stroke-width:1.4;
}
.brand-logo-ring-inner { stroke:rgba(201,165,90,.12); }
.brand-logo-orbit-dot { fill:currentColor; }
.brand-logo-orbit-dot.fade { opacity:.35; }
.brand-logo-path {
  fill:none;
  stroke:currentColor;
  stroke-width:5;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.brand-logo-path.thin {
  stroke-width:2.5;
  stroke:var(--gold-pale);
}
.brand-logo-dot { fill:currentColor; }
.brand-copy {
  display:flex;
  flex-direction:column;
  gap:.15rem;
}
.brand-name {
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
}
.brand-tag {
  font-size:.82rem;
  color:var(--fg-dim);
}
@keyframes orbit { to { transform:rotate(360deg); } }
@keyframes orbit-r { to { transform:rotate(360deg); } }

.site-nav {
  display:flex;
  align-items:center;
  gap:1.35rem;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.site-nav a {
  font-family:'JetBrains Mono',monospace;
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--fg-muted);
  position:relative;
  transition:color .25s var(--ease);
}
.site-nav a::after {
  content:'';
  position:absolute;
  bottom:-4px;
  left:0;
  width:100%;
  height:1px;
  background:var(--gold);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .35s var(--ease);
}
.site-nav a:hover,
.site-nav a[aria-current="page"] { color:var(--gold); }
.site-nav a:hover::after,
.site-nav a[aria-current="page"]::after { transform:scaleX(1); }

.site-menu-toggle {
  display:none;
  flex-direction:column;
  gap:5px;
  width:28px;
  padding:4px 0;
  background:none;
  border:none;
  color:inherit;
  cursor:pointer;
  flex-shrink:0;
}
.site-menu-toggle span {
  display:block;
  height:1.5px;
  background:var(--fg);
  transition:transform .4s var(--ease), opacity .3s, width .35s;
}
.site-menu-toggle span:nth-child(2) { width:68%; }
.site-menu-toggle[aria-expanded="true"] span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.site-menu-toggle[aria-expanded="true"] span:nth-child(2) { opacity:0; width:100%; }
.site-menu-toggle[aria-expanded="true"] span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }

.site-nav-drawer {
  position:fixed;
  inset:0;
  z-index:8999;
  background:var(--bg);
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:1.5rem;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding:5rem var(--gutter) 2rem;
  transform:translateY(-100%);
  transition:transform .65s var(--ease);
}
/* Auto-margins center links when room, allow scroll when not */
.site-nav-drawer a:first-child { margin-top:auto; }
.site-nav-drawer a:last-child  { margin-bottom:auto; }
@media (orientation:landscape), (max-height:500px) {
  .site-nav-drawer { padding-top:5rem; gap:1rem; }
  .site-nav-drawer a { font-size:clamp(1.8rem,5vw,2.8rem); }
  .site-nav-drawer a:first-child { margin-top:0; }
  .site-nav-drawer a:last-child  { margin-bottom:0; }
}
.site-nav-drawer[hidden] { display:none !important; }
.site-nav-drawer.open { transform:translateY(0); }
.site-nav-drawer a {
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(2.8rem,9vw,5.5rem);
  font-weight:300;
  letter-spacing:-.025em;
  color:var(--fg-muted);
  transition:color .25s var(--ease);
}
.site-nav-drawer a:hover,
.site-nav-drawer a:active,
.site-nav-drawer a[aria-current="page"] { color:var(--gold); }

main {
  position:relative;
  padding:clamp(4rem,8vw,7rem) 0 clamp(4rem,7vw,6rem);
}
.page-hero {
  display:grid;
  grid-template-columns:minmax(0,1.6fr) minmax(260px,.9fr);
  gap:clamp(2.8rem,5vw,5.6rem);
  align-items:center;
  min-height:clamp(24.5rem,43vw,35.5rem);
  padding-bottom:clamp(3.8rem,5.7vw,5.15rem);
  border-bottom:1px solid var(--border);
  position:relative;
}
.page-hero > div:first-child {
  min-width:0;
}
.page-hero::after {
  content:'';
  position:absolute;
  right:0;
  bottom:-1px;
  width:min(42vw, 420px);
  height:1px;
  background:linear-gradient(90deg, transparent, var(--border-gold));
}
.eyebrow,
.kicker {
  display:inline-flex;
  align-items:center;
  gap:.8rem;
  font-family:'JetBrains Mono',monospace;
  font-size:.68rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
}
.eyebrow::before,
.kicker::before {
  content:'';
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--gold);
}
.page-title {
  margin:1.15rem 0 1.45rem;
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(2.95rem,6.2vw,5.85rem);
  line-height:.9;
  letter-spacing:-.03em;
  font-weight:300;
  max-width:13.2ch;
  text-wrap:balance;
}
.page-title em { color:var(--gold); font-style:italic; }
/* ── Inner-page hero effects (watermark + orbit mark) ──────── */
.services-hero,
.about-hero {
  display:grid;
  grid-template-columns:minmax(0,1.62fr) minmax(220px,.78fr);
  gap:clamp(2.4rem,5vw,5.6rem);
  align-items:center;
  min-height:clamp(24rem,44vw,36rem);
  padding-bottom:clamp(3.6rem,5.8vw,4.95rem);
  border-bottom:1px solid var(--border);
  position:relative;
  overflow:hidden;
}
.services-hero::after,
.about-hero::after {
  content:'';
  position:absolute;
  right:0;
  bottom:-1px;
  width:min(42vw, 420px);
  height:1px;
  background:linear-gradient(90deg, transparent, var(--border-gold));
}
.services-hero .hero-copy,
.about-hero .hero-copy {
  position:relative;
  z-index:2;
}
.services-hero .hero-wm,
.about-hero .hero-wm {
  position:absolute;
  inset:0;
  z-index:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  overflow:hidden;
  pointer-events:none;
}
.services-hero .hero-wm-text,
.about-hero .hero-wm-text {
  font-family:'JetBrains Mono',monospace;
  font-size:clamp(28vw, 42vw, 54vw);
  font-weight:500;
  color:rgba(201,165,90,.022);
  line-height:.9;
  letter-spacing:-.06em;
  user-select:none;
  transform:translateX(2%);
}
.services-hero .hero-right,
.about-hero .hero-right {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
}
.services-hero .mark-wrap,
.about-hero .mark-wrap {
  position:relative;
  width:clamp(140px,24vw,320px);
  aspect-ratio:1;
}
.services-hero .mark-orbit,
.about-hero .mark-orbit {
  position:absolute;
  inset:0;
  border-radius:50%;
  border:1px solid var(--border-gold);
  animation:orbit 35s linear infinite;
}
.services-hero .mark-orbit::before,
.services-hero .mark-orbit::after,
.about-hero .mark-orbit::before,
.about-hero .mark-orbit::after {
  content:'';
  position:absolute;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold);
}
.services-hero .mark-orbit::before,
.about-hero .mark-orbit::before {
  top:-3.5px;
  left:50%;
  transform:translateX(-50%);
}
.services-hero .mark-orbit::after,
.about-hero .mark-orbit::after {
  bottom:-3.5px;
  left:50%;
  transform:translateX(-50%);
  opacity:.35;
}
.services-hero .mark-orbit-inner,
.about-hero .mark-orbit-inner {
  position:absolute;
  inset:18%;
  border-radius:50%;
  border:1px solid rgba(201,165,90,.1);
  animation:orbit-r 50s linear infinite reverse;
}
.services-hero .mark-svg,
.about-hero .mark-svg {
  width:100%;
  height:100%;
  padding:20%;
}
.services-hero .mark-path,
.about-hero .mark-path {
  fill:none;
  stroke:var(--gold);
  stroke-width:2.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:none;
  stroke-dashoffset:0;
}
.services-hero .mark-path.thin,
.about-hero .mark-path.thin {
  stroke-width:1.4;
  stroke:var(--gold-pale);
}
.services-hero .mark-dot,
.about-hero .mark-dot {
  fill:var(--gold);
  opacity:1;
}
.page-lead {
  max-width:50ch;
  margin:0;
  font-size:clamp(1rem,1.24vw,1.14rem);
  line-height:1.72;
  color:var(--fg-muted);
  text-wrap:pretty;
}
.hero-aside {
  display:grid;
  gap:.95rem;
  max-width:29rem;
  padding:clamp(1.3rem,2.25vw,1.85rem);
  border:1px solid var(--border-gold);
  background:
    linear-gradient(180deg, rgba(201,165,90,.085), rgba(201,165,90,.02)),
    linear-gradient(135deg, rgba(255,255,255,.028), transparent 55%);
  align-self:center;
  box-shadow:0 30px 96px rgba(0,0,0,.22);
}
.hero-aside > * { margin:0; }
.page-about .page-title {
  margin:1rem 0 1.35rem;
  max-width:16.2ch;
  font-size:clamp(2.75rem,5vw,5.35rem);
  opacity:0;
  transform:translateY(16px);
  filter:blur(6px);
  animation:about-title-reveal 1.1s cubic-bezier(.22,.84,.2,1) .12s forwards;
}
.page-about .page-lead {
  max-width:54ch;
}
.page-about .signal-band.section-block {
  border-top:none;
}
@keyframes about-title-reveal {
  to {
    opacity:1;
    transform:translateY(0);
    filter:blur(0);
  }
}
@media (prefers-reduced-motion:reduce) {
  .page-about .page-title {
    animation:none;
    opacity:1;
    transform:none;
    filter:none;
  }
}
@media (max-width:960px) {
  .services-hero,
  .about-hero {
    grid-template-columns:1fr;
    min-height:auto;
  }
  .services-hero .hero-right,
  .about-hero .hero-right {
    justify-content:flex-start;
  }
  .services-hero .mark-wrap,
  .about-hero .mark-wrap {
    width:clamp(100px,30vw,180px);
  }
  .services-hero .hero-wm-text,
  .about-hero .hero-wm-text {
    font-size:38vw;
  }
}
.services-hero {
  grid-template-columns:60% 40%;
  gap:clamp(2rem,4vw,4.2rem);
  align-items:center;
  min-height:clamp(34rem,52vw,48rem);
  overflow:hidden;
}
.services-hero .page-title {
  max-width:14.1ch;
  font-size:clamp(2.8rem,4vw,4.8rem);
  line-height:.9;
}
.services-hero .page-lead {
  max-width:50ch;
}
.services-hero .hero-wm {
  position:absolute;
  inset:0;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  overflow:hidden;
  pointer-events:none;
}
.services-hero .hero-wm-text {
  font-family:'JetBrains Mono',monospace;
  font-size:54vw;
  font-weight:500;
  color:rgba(201,165,90,.022);
  line-height:.9;
  letter-spacing:-.06em;
  user-select:none;
  transform:translateX(0);
}
.services-hero .hero-right {
  position:relative;
  z-index:2;
  display:flex;
  align-items:center;
  justify-content:center;
  height:100%;
  will-change:transform;
  transform:translateX(-8%);
}
.services-hero .mark-wrap {
  position:relative;
  width:clamp(180px,30vw,420px);
  aspect-ratio:1;
  transform:translateX(-2%);
}
.services-hero .mark-orbit {
  position:absolute;
  inset:0;
  border-radius:50%;
  border:1px solid var(--border-gold);
  animation:orbit 35s linear infinite;
}
.services-hero .mark-orbit::before,
.services-hero .mark-orbit::after {
  content:'';
  position:absolute;
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--gold);
}
.services-hero .mark-orbit::before {
  top:-3.5px;
  left:50%;
  transform:translateX(-50%);
}
.services-hero .mark-orbit::after {
  bottom:-3.5px;
  left:50%;
  transform:translateX(-50%);
  opacity:.35;
}
.services-hero .mark-orbit-inner {
  position:absolute;
  inset:18%;
  border-radius:50%;
  border:1px solid rgba(201,165,90,.1);
  animation:orbit-r 50s linear infinite reverse;
}
.services-hero .mark-svg {
  width:100%;
  height:100%;
  padding:20%;
}
.services-hero .mark-path {
  fill:none;
  stroke:var(--gold);
  stroke-width:2.8;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:300;
  stroke-dashoffset:300;
  animation:services-mark-draw 1.2s cubic-bezier(.16,1,.3,1) forwards;
}
.services-hero .mark-path:nth-of-type(1) { animation-delay:0ms; }
.services-hero .mark-path:nth-of-type(2) { animation-delay:300ms; }
.services-hero .mark-path:nth-of-type(3) { animation-delay:560ms; }
.services-hero .mark-path:nth-of-type(4) { animation-delay:160ms; }
.services-hero .mark-path:nth-of-type(5) { animation-delay:420ms; }
.services-hero .mark-path:nth-of-type(6) { animation-delay:600ms; }
.services-hero .mark-path.thin {
  stroke-width:1.4;
  stroke:var(--gold-pale);
}
.services-hero .mark-dot {
  fill:var(--gold);
  opacity:0;
  animation:services-mark-dot-in .4s ease forwards .9s;
}
@keyframes services-mark-draw {
  to { stroke-dashoffset:0; }
}
@keyframes services-mark-dot-in {
  to { opacity:1; }
}
.aside-label {
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--fg-dim);
}
.aside-copy {
  margin:.72rem 0 0;
  color:var(--fg-muted);
  line-height:1.74;
  text-wrap:pretty;
}

.signal-band {
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:1.08rem;
}
.signal-card {
  position:relative;
  overflow:hidden;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  min-height:172px;
  padding:var(--panel-pad);
  border:1px solid var(--border);
  background:
    linear-gradient(180deg, rgba(201,165,90,.08), rgba(201,165,90,.02)),
    rgba(10,10,18,.72);
  transition:border-color .3s var(--ease);
}
.signal-card:hover {
  border-color:var(--border-gold);
}
.signal-card::before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(201,165,90,.18), transparent 28%);
  opacity:.4;
  pointer-events:none;
}
.signal-value {
  position:relative;
  z-index:1;
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(2.2rem,4vw,3.6rem);
  line-height:.86;
  font-weight:300;
  color:var(--fg);
}
.signal-label {
  position:relative;
  z-index:1;
  margin-top:.58rem;
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:var(--fg-dim);
}

.chapter-layout {
  display:grid;
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);
  gap:clamp(2.6rem,5vw,5.7rem);
  align-items:start;
}
.chapter-rail {
  position:sticky;
  top:108px;
  align-self:start;
}
.chapter-rail .section-title {
  max-width:11ch;
}
.chapter-note {
  max-width:34ch;
  color:var(--fg-dim);
  line-height:1.78;
  text-wrap:pretty;
}
.chapter-stack {
  display:grid;
  gap:2.2rem;
}
.chapter-grid {
  margin-top:0;
}
.chapter-panel {
  position:relative;
  overflow:hidden;
  padding:var(--panel-pad);
  border:1px solid var(--border);
  background:
    linear-gradient(180deg, rgba(201,165,90,.04), transparent 46%),
    rgba(10,10,18,.76);
  transition:border-color .3s var(--ease);
}
.chapter-panel:hover {
  border-color:rgba(237,234,228,.12);
}
.chapter-panel::before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(90deg, rgba(201,165,90,.14), transparent 22%);
  opacity:.28;
  pointer-events:none;
}
.chapter-panel > * {
  position:relative;
  z-index:1;
}
.chapter-panel h2,
.chapter-panel h3 {
  margin:0 0 .8rem;
  line-height:.95;
  text-wrap:balance;
}
.chapter-panel p {
  max-width:var(--measure);
  line-height:1.74;
  text-wrap:pretty;
}
.chapter-panel > * + * {
  margin-top:.98rem;
}
.chapter-panel p:last-child {
  margin-bottom:0;
}

/* Services: Industries & FAQ layout restoration */
.industries-layout,
.faq-layout {
  grid-template-columns:minmax(220px,.72fr) minmax(0,1.28fr);
  gap:clamp(1.8rem,4vw,4rem);
}
.industries-meta {
  margin-top:1.1rem;
  display:flex;
  flex-wrap:wrap;
  gap:.45rem .6rem;
}
.industries-meta span {
  padding:.35rem .58rem;
  border:1px solid var(--border);
  background:rgba(10,10,18,.72);
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  color:var(--fg-dim);
}
.industries-stack {
  display:grid;
  gap:1.2rem;
}
.industries-featured {
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:1.05rem;
}
.industries-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:1.05rem;
}
.industry-card {
  position:relative;
  overflow:hidden;
  padding:1.4rem min(1.42rem, var(--panel-pad)) 1.36rem;
  border:1px solid var(--border);
  background:
    linear-gradient(180deg, rgba(201,165,90,.06), transparent 48%),
    rgba(10,10,18,.74);
  transition:border-color .3s var(--ease), transform .3s var(--ease);
}
.industry-card:hover {
  border-color:rgba(237,234,228,.14);
  transform:translateY(-1px);
}
.industry-card::before {
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(92deg, rgba(201,165,90,.14), transparent 34%);
  opacity:.24;
  pointer-events:none;
}
.industry-card > * {
  position:relative;
  z-index:1;
}
.industry-card-featured {
  border-color:var(--border-gold);
  background:
    linear-gradient(180deg, rgba(201,165,90,.1), rgba(201,165,90,.03)),
    rgba(10,10,18,.78);
}
.industry-card-featured:hover {
  border-color:rgba(201,165,90,.38);
}
.industry-index {
  display:inline-flex;
  margin-bottom:.65rem;
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
}
.industry-card h3 {
  margin:0 0 .62rem;
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(1.45rem,2.2vw,1.95rem);
  line-height:.94;
  font-weight:300;
  text-wrap:balance;
}
.industry-card p {
  margin:0;
  color:var(--fg-muted);
  line-height:1.68;
}

.services-faq-section .chapter-rail .section-title {
  max-width:13ch;
}
.faq-stack {
  display:grid;
  gap:.72rem;
}
.faq-entry {
  border:1px solid var(--border);
  background:rgba(10,10,18,.72);
}
.faq-entry[open] {
  border-color:var(--border-gold);
  background:
    linear-gradient(180deg, rgba(201,165,90,.06), rgba(201,165,90,.015)),
    rgba(10,10,18,.76);
}
.faq-entry summary {
  list-style:none;
  cursor:pointer;
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:.95rem;
  align-items:flex-start;
  padding:1.15rem 1.25rem;
  transition:background .25s var(--ease);
}
.faq-entry:not([open]) summary:hover {
  background:rgba(201,165,90,.03);
}
.faq-entry summary::-webkit-details-marker {
  display:none;
}
.faq-entry summary::after {
  content:'+';
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:1.35rem;
  height:1.35rem;
  margin-top:.08rem;
  border:1px solid var(--border-gold);
  border-radius:50%;
  font-family:'JetBrains Mono',monospace;
  font-size:.9rem;
  line-height:1;
  color:var(--gold);
  transition:transform .3s var(--ease), border-color .3s var(--ease);
}
.faq-entry[open] summary::after {
  content:'-';
  transform:rotate(90deg);
  border-color:var(--gold);
}
.faq-entry-index {
  margin-top:.12rem;
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
}
.faq-entry-question {
  display:block;
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(1.34rem,2.1vw,1.75rem);
  line-height:.96;
  font-weight:300;
  color:var(--fg);
  text-wrap:balance;
}
.faq-entry-answer {
  padding:0 1.25rem 1.25rem 2.93rem;
}
.faq-entry-answer p {
  margin:0;
  color:var(--fg-muted);
  line-height:1.72;
  max-width:58ch;
}

.founder-spotlight {
  display:grid;
  grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);
  gap:1.55rem;
}
.founder-copy {
  display:grid;
  gap:.82rem;
}
.founder-copy p {
  margin:0;
  max-width:58ch;
  line-height:1.74;
  text-wrap:pretty;
}
.founder-quote {
  padding-left:1rem;
  border-left:1px solid var(--border-gold);
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(1.6rem,2.6vw,2.2rem);
  line-height:1.14;
  font-weight:300;
  color:var(--gold-pale);
}
.portrait-panel {
  padding:1.45rem;
}
.portrait-frame {
  aspect-ratio:4 / 4.7;
  overflow:hidden;
  background:#11151B;
}
.portrait-frame img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
}
.portrait-meta {
  margin-top:.9rem;
  display:grid;
  gap:.65rem;
}
.portrait-label {
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
}
.portrait-name {
  display:flex;
  align-items:baseline;
  gap:.38rem;
  flex-wrap:nowrap;
  white-space:nowrap;
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(1.55rem,2.35vw,2.15rem);
  line-height:.94;
  font-weight:300;
}
.portrait-copy {
  color:var(--fg-muted);
  max-width:30ch;
  line-height:1.68;
}
.portrait-facts {
  display:flex;
  flex-wrap:wrap;
  gap:.5rem .8rem;
}
.portrait-facts span {
  font-family:'JetBrains Mono',monospace;
  font-size:.6rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--fg-dim);
}
.portrait-social {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex-shrink:0;
  width:.72em;
  height:.72em;
  color:var(--gold);
  transition:transform .3s var(--ease), color .3s var(--ease), opacity .3s var(--ease);
  opacity:.58;
}
.portrait-social svg {
  width:100%;
  height:100%;
}
.portrait-social:hover {
  transform:translateY(-1px);
  color:var(--gold-hi);
  opacity:1;
}

.service-strip {
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:1.08rem;
}
.service-strip-item {
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  min-height:152px;
  padding:1.3rem 1.3rem 1.22rem;
  border:1px solid var(--border);
  background:
    linear-gradient(180deg, rgba(201,165,90,.035), transparent 52%),
    rgba(10,10,18,.68);
  transition:border-color .3s var(--ease);
}
.service-strip-item:hover {
  border-color:var(--border-gold);
}
.service-strip-item::before {
  content:'';
  position:absolute;
  top:0;
  left:0;
  width:56px;
  height:1px;
  background:var(--gold);
}
.service-strip-item strong {
  display:block;
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(1.38rem,2.1vw,1.52rem);
  line-height:.95;
  font-weight:300;
  text-wrap:balance;
}
.service-strip-item span {
  display:block;
  margin-top:.52rem;
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--fg-dim);
}

.service-chapters {
  display:grid;
  gap:2.55rem;
}
.service-chapter {
  display:grid;
  grid-template-columns:minmax(180px,.42fr) minmax(0,1fr);
  gap:1.75rem;
  align-items:start;
}
.service-chapter.alt {
  grid-template-columns:minmax(0,1fr) minmax(180px,.42fr);
}
.service-chapter.alt .service-rail {
  order:2;
}
.service-chapter.alt .service-main {
  order:1;
}
.service-rail {
  position:sticky;
  top:112px;
  align-self:start;
}
.service-rail-num {
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(3.4rem,7vw,5.4rem);
  line-height:.82;
  color:rgba(201,165,90,.72);
}
.service-rail-label {
  margin-top:.45rem;
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
}
.service-rail-copy {
  margin-top:1.1rem;
  color:var(--fg-dim);
  max-width:23ch;
  line-height:1.72;
  text-wrap:pretty;
}
.service-main {
  position:relative;
  overflow:hidden;
  padding:clamp(1.85rem,2.7vw,2.55rem);
  border:1px solid var(--border);
  background:
    radial-gradient(circle at 84% 18%, rgba(201,165,90,.075), transparent 29%),
    linear-gradient(180deg, rgba(255,255,255,.018), transparent 16%),
    rgba(10,10,18,.76);
  transition:border-color .3s var(--ease);
}
.service-main:hover {
  border-color:rgba(237,234,228,.12);
}
.service-main::before {
  content:attr(data-ghost);
  position:absolute;
  right:.75rem;
  top:.25rem;
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(6rem,12vw,10rem);
  line-height:.8;
  color:rgba(201,165,90,.08);
  pointer-events:none;
}
.service-main h2 {
  position:relative;
  margin:0 0 1.15rem;
  max-width:12ch;
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(2.3rem,4vw,4.2rem);
  line-height:.88;
  font-weight:300;
  text-wrap:balance;
}
.service-main h2 em { color:var(--gold); font-style:italic; }
.service-main > p {
  position:relative;
  max-width:52ch;
  color:var(--fg-muted);
  font-size:1.02rem;
  line-height:1.8;
  text-wrap:pretty;
}
.service-detail-grid {
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(220px,.85fr);
  gap:1.55rem;
  margin-top:1.9rem;
}
.service-detail-box {
  padding-top:1.3rem;
  border-top:1px solid var(--border);
}
.service-detail-box h3 {
  margin:0 0 .7rem;
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
}
.service-detail-box p,
.service-detail-box li {
  color:var(--fg-muted);
  line-height:1.74;
}
.service-detail-box ul {
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:.72rem;
}
.service-detail-box li {
  padding-left:1rem;
  position:relative;
}
.service-detail-box li::before {
  content:'';
  position:absolute;
  left:0;
  top:.72em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--gold);
}

.cta-slab {
  padding:clamp(2.15rem,3vw,2.75rem);
  border:1px solid var(--border-gold);
  background:
    linear-gradient(180deg, rgba(201,165,90,.1), rgba(201,165,90,.03)),
    rgba(10,10,18,.72);
  box-shadow:0 26px 92px rgba(0,0,0,.18);
}
.cta-slab-grid {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:2.4rem 2.8rem;
  align-items:start;
}
.cta-slab h2 {
  margin:0;
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(2.1rem,4vw,3.4rem);
  line-height:.92;
  font-weight:300;
  max-width:18ch;
  text-wrap:balance;
  align-self:center;
}
.cta-slab-body {
  padding-left:1.5rem;
  border-left:1px solid rgba(201,165,90,.52);
  align-self:center;
}
.cta-slab-body p {
  margin:0;
  max-width:46ch;
  color:var(--fg-muted);
  font-size:1.02rem;
  line-height:1.78;
  text-wrap:pretty;
}
.cta-slab .cta-row {
  grid-column:1 / -1;
  justify-content:center;
  margin-top:.5rem;
}

.content-grid,
.section-grid {
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:clamp(1.5rem,3vw,2rem);
  margin-top:clamp(2rem,4vw,3rem);
}
.card,
.panel {
  padding:var(--panel-pad);
  border:1px solid var(--border);
  background:rgba(10,10,18,.72);
}
.card h2,
.card h3,
.panel h2,
.panel h3 {
  margin:0 0 .8rem;
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(1.6rem,2.8vw,2.2rem);
  line-height:.96;
  font-weight:300;
  text-wrap:balance;
}
.card p,
.panel p,
.section-copy {
  color:var(--fg-muted);
  line-height:1.72;
  text-wrap:pretty;
}
.stat {
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(2.6rem,6vw,4.5rem);
  line-height:1;
  color:var(--gold);
}
.stat-label {
  margin-top:.5rem;
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--fg-dim);
}

.section-block {
  padding-top:var(--section-space);
  margin-top:var(--section-space);
  border-top:1px solid var(--border);
}
.hero-fit-band.section-block {
  border-top:none;
}
.section-title {
  margin:.95rem 0 1.18rem;
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(2.35rem,4.65vw,4rem);
  line-height:.92;
  font-weight:300;
  max-width:12.9ch;
  text-wrap:balance;
}
.section-title em { color:var(--gold); font-style:italic; }

.hero-fit-card {
  max-width:54ch;
  padding-left:1.25rem;
  border-left:1px solid var(--border-gold);
}
.hero-fit-card .aside-copy {
  margin-top:.58rem;
  max-width:52ch;
}

.intake-layout {
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);
  gap:clamp(2.3rem,3.8vw,3.8rem);
  align-items:start;
}
.intake-copy {
  display:grid;
  gap:1.4rem;
}
.intake-copy .section-title {
  max-width:10.6ch;
}
.intake-copy .section-copy {
  max-width:42ch;
}
.intake-note {
  margin:0;
  padding-left:1rem;
  border-left:1px solid var(--border-gold);
  color:var(--gold-pale);
  max-width:38ch;
  line-height:1.78;
}
.intake-meta {
  display:grid;
  gap:.9rem;
  margin-top:.35rem;
}
.intake-meta-item {
  padding:1.1rem 1.2rem;
  border:1px solid var(--border);
  background:rgba(10,10,18,.56);
  color:var(--fg-muted);
  line-height:1.72;
  text-wrap:pretty;
}
.intake-form-shell {
  padding:clamp(1.9rem,2.9vw,2.55rem);
  border:1px solid var(--border-gold);
  background:
    radial-gradient(circle at 84% 16%, rgba(201,165,90,.08), transparent 28%),
    linear-gradient(180deg, rgba(201,165,90,.08), rgba(201,165,90,.03)),
    rgba(10,10,18,.74);
  box-shadow:0 26px 84px rgba(0,0,0,.2);
}
.c-captcha-wrap {
  display:flex;
  align-items:center;
  gap:1.2rem;
  padding:.9rem 0;
  border-bottom:1px solid var(--border);
  margin-bottom:.35rem;
}
.c-captcha-q {
  font-family:'JetBrains Mono',monospace;
  font-size:.68rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:rgba(237,234,228,.42);
  white-space:nowrap;
  flex-shrink:0;
}
.c-captcha-q em { font-style:normal; color:var(--gold); }
.c-captcha-input {
  background:transparent;
  border:none;
  outline:none;
  color:var(--fg);
  font-family:'DM Sans',sans-serif;
  font-size:.95rem;
  font-weight:300;
  width:5ch;
  min-width:5ch;
  padding:0;
}
.c-captcha-input::placeholder { color:rgba(237,234,228,.35); }
.c-group.c-captcha-group { border-bottom:none; }
.c-form {
  display:flex;
  flex-direction:column;
  gap:2.05rem;
}
.c-row {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:1.1rem;
}
.c-group {
  display:flex;
  flex-direction:column;
  gap:.5rem;
}
.c-group label {
  font-family:'JetBrains Mono',monospace;
  font-size:.6rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:rgba(237,234,228,.42);
  transition:color .25s;
}
.c-label-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;
}
.c-counter {
  font-family:'JetBrains Mono',monospace;
  font-size:.6rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--fg-dim);
}
.c-group:focus-within label { color:var(--gold); }
.c-group input,
.c-group select,
.c-group textarea {
  background:transparent;
  border:none;
  border-bottom:1px solid var(--border);
  color:var(--fg);
  font-family:'DM Sans',sans-serif;
  font-size:.98rem;
  font-weight:300;
  padding:.95rem 0 .98rem;
  outline:none;
  resize:none;
  width:100%;
  transition:border-color .3s;
  line-height:1.5;
}
.c-group input::placeholder,
.c-group select:invalid,
.c-group textarea::placeholder { color:rgba(237,234,228,.35); }
.c-group input:focus,
.c-group select:focus,
.c-group textarea:focus { border-bottom-color:var(--gold); }
.c-group.err input,
.c-group.err select,
.c-group.err textarea { border-bottom-color:#C0392B; }
.c-group.ok input,
.c-group.ok select,
.c-group.ok textarea { border-bottom-color:rgba(201,165,90,.5); }
.c-group select {
  appearance:none;
  -webkit-appearance:none;
  cursor:pointer;
}
.c-err {
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:#C0392B;
  min-height:1em;
}
.c-group textarea { min-height:160px; }
.c-btn {
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:.7rem;
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  min-height:52px;
  border:1px solid transparent;
  color:var(--bg);
  background:var(--gold);
  padding:1rem 2rem;
  transition:background .3s var(--ease), transform .3s var(--ease), opacity .3s var(--ease), box-shadow .3s var(--ease);
}
.c-btn svg { transition:transform .3s var(--ease); }
.c-btn:hover {
  background:var(--gold-hi);
  transform:translateY(-1px);
  box-shadow:0 14px 30px rgba(0,0,0,.18);
}
.c-btn:hover svg { transform:translateX(4px); }
.c-btn:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:3px;
}
.c-btn:disabled { opacity:.5; cursor:not-allowed; }
.c-success {
  padding:1.4rem 1.6rem;
  border:1px solid var(--border-gold);
  background:var(--gold-dim);
  display:none;
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem;
  letter-spacing:.1em;
  color:var(--gold);
}

.service-list {
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:1.5rem;
  margin-top:2rem;
}
.service-card {
  padding:var(--panel-pad);
  border:1px solid var(--border);
  background:rgba(10,10,18,.74);
}
.service-num {
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  letter-spacing:.18em;
  text-transform:uppercase;
  color:var(--gold);
}
.service-card h2 {
  margin:.9rem 0 .9rem;
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(2rem,4vw,3rem);
  line-height:.94;
  font-weight:300;
  text-wrap:balance;
}
.service-card h2 em { color:var(--gold); font-style:italic; }
.service-card ul {
  margin:1rem 0 0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:.75rem;
}
.service-card li {
  color:var(--fg-muted);
  padding-left:1rem;
  position:relative;
}
.service-card li::before {
  content:'';
  position:absolute;
  left:0;
  top:.72em;
  width:4px;
  height:4px;
  border-radius:50%;
  background:var(--gold);
}

.cta-row {
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
  margin-top:1.5rem;
}
.btn {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.65rem;
  min-height:52px;
  padding:1rem 1.65rem;
  border:1px solid var(--border-gold);
  font-family:'JetBrains Mono',monospace;
  font-size:.72rem;
  letter-spacing:.15em;
  text-transform:uppercase;
  transition:background .3s var(--ease), color .3s var(--ease), transform .3s var(--ease), border-color .3s var(--ease), box-shadow .3s var(--ease);
}
.btn-primary {
  background:var(--gold);
  color:var(--bg);
  border-color:var(--gold);
}
.btn-secondary { color:var(--gold); background:transparent; }
.btn:hover {
  transform:translateY(-1px);
}
.btn-primary:hover {
  background:var(--gold-hi);
  border-color:var(--gold-hi);
  box-shadow:0 12px 28px rgba(0,0,0,.18);
}
.btn-secondary:hover {
  background:rgba(201,165,90,.08);
  border-color:rgba(201,165,90,.38);
}
.btn:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:3px;
}

.faq-section .eyebrow {
  display:flex;
  justify-content:center;
}
.faq-section .section-title {
  max-width:none;
  text-align:center;
  margin-left:auto;
  margin-right:auto;
}
.faq-section .cta-row {
  justify-content:center;
}
.faq-list {
  display:grid;
  grid-template-columns:repeat(2, minmax(0,1fr));
  gap:1.25rem;
  margin-top:2.1rem;
}
.faq-item {
  display:grid;
  align-content:start;
  min-height:100%;
  padding:var(--panel-pad);
  border:1px solid var(--border);
  background:
    linear-gradient(180deg, rgba(201,165,90,.045), transparent 52%),
    rgba(10,10,18,.72);
  transition:border-color .3s var(--ease);
}
.faq-item:hover {
  border-color:rgba(237,234,228,.12);
}
.faq-item h3 {
  margin:0 0 .72rem;
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(1.45rem,2.3vw,1.9rem);
  line-height:.97;
  font-weight:300;
  text-wrap:balance;
}
.faq-item p {
  margin:0;
  max-width:39ch;
  color:var(--fg-muted);
  line-height:1.74;
  text-wrap:pretty;
}

.policy-meta {
  margin-top:1.3rem;
  font-family:'JetBrains Mono',monospace;
  font-size:.66rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--fg-dim);
}
.policy-nav {
  display:flex;
  flex-wrap:wrap;
  gap:1rem 1.55rem;
  margin-top:1.95rem;
  padding-bottom:.15rem;
}
.policy-nav a {
  font-family:'JetBrains Mono',monospace;
  font-size:.68rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--gold);
  transition:color .25s var(--ease);
}
.policy-nav a:hover {
  color:var(--gold-hi);
}
.policy-prose {
  display:grid;
  gap:1.65rem;
  max-width:70rem;
  margin-top:2.35rem;
}
.policy-prose section {
  position:relative;
  overflow:hidden;
  padding:clamp(1.65rem,2.2vw,2.05rem) clamp(1.65rem,2.5vw,2.15rem);
  border:1px solid var(--border);
  background:
    linear-gradient(180deg, rgba(201,165,90,.03), transparent 34%),
    rgba(10,10,18,.72);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.018);
  transition:border-color .3s var(--ease);
}
.policy-prose section:hover {
  border-color:rgba(237,234,228,.12);
}
.policy-prose h2 {
  margin:0 0 .85rem;
  font-family:'Cormorant',Georgia,serif;
  font-size:clamp(1.7rem,3vw,2.2rem);
  line-height:.93;
  font-weight:300;
  max-width:17ch;
  text-wrap:balance;
}
.policy-prose section > * + * {
  margin-top:.85rem;
}
.policy-prose p,
.policy-prose li {
  color:var(--fg-muted);
  line-height:1.78;
  text-wrap:pretty;
}
.policy-prose ul {
  margin:.7rem 0 0;
  padding-left:1.2rem;
}
.policy-prose li + li {
  margin-top:.35rem;
}

.site-footer {
  border-top:1px solid var(--border);
  padding:3.2rem 0 3.8rem;
}
.site-footer .site-shell {
  display:grid;
  grid-template-columns:1.2fr .9fr .9fr;
  gap:2.2rem;
  align-items:start;
}
.footer-copy {
  font-size:.82rem;
  color:var(--fg-dim);
  max-width:34ch;
  line-height:1.76;
}
.footer-social {
  display:flex;
  align-items:center;
  gap:.85rem;
  margin-top:1.15rem;
}
.footer-social a {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  color:var(--fg-dim);
  transition:color .25s var(--ease), transform .25s var(--ease);
}
.footer-social a:hover {
  color:var(--gold);
  transform:translateY(-1px);
}
.footer-social svg {
  width:100%;
  height:100%;
  fill:currentColor;
}
.footer-nav,
.footer-legal {
  display:flex;
  flex-direction:column;
  gap:.55rem;
}
.footer-nav a,
.footer-legal a {
  font-family:'JetBrains Mono',monospace;
  font-size:.62rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:var(--fg-dim);
  transition:color .25s var(--ease);
}
.footer-nav a:hover,
.footer-legal a:hover { color:var(--gold); }

@media (max-width:960px) {
  .page-hero,
  .content-grid,
  .section-grid,
  .service-list,
  .faq-list,
  .site-footer .site-shell,
  .signal-band,
  .industries-layout,
  .faq-layout,
  .chapter-layout,
  .founder-spotlight,
  .industries-featured,
  .industries-grid,
  .service-strip,
  .service-chapter,
  .service-chapter.alt,
  .service-detail-grid,
  .cta-slab-grid {
    grid-template-columns:1fr;
  }
  .page-hero {
    gap:1.6rem;
    min-height:auto;
    padding-bottom:2.7rem;
    align-items:start;
  }
  .service-chapter.alt .service-rail,
  .service-chapter.alt .service-main {
    order:initial;
  }
  .intake-layout,
  .c-row {
    grid-template-columns:1fr;
  }
  .chapter-rail,
  .service-rail {
    position:static;
  }
  .faq-entry-answer {
    padding:0 1rem 1rem 1rem;
  }
  .page-title {
    max-width:11.8ch;
    font-size:clamp(2.6rem,10.1vw,4.2rem);
    line-height:.92;
  }
  .page-lead {
    max-width:54ch;
    font-size:1rem;
    line-height:1.74;
  }
  .hero-aside {
    max-width:none;
    padding:1.25rem 1.3rem 1.35rem;
  }
  .section-block {
    padding-top:clamp(2.8rem,7.2vw,3.35rem);
    margin-top:clamp(2.8rem,7.2vw,3.35rem);
  }
  .site-header .site-shell {
    align-items:center;
    flex-direction:row;
    justify-content:space-between;
    gap:1rem;
    padding:.9rem 0;
  }
  .brand {
    min-width:0;
    flex:1;
  }
  .brand-copy {
    min-width:0;
  }
  .brand-name {
    font-size:.67rem;
    letter-spacing:.1em;
  }
  .brand-tag { display:none; }
  .site-nav { display:none; }
  .site-menu-toggle { display:flex; }
  .services-hero .page-title {
    max-width:11.4ch;
    font-size:clamp(2.85rem,10.4vw,4.7rem);
  }
  .services-hero .hero-right {
    justify-content:flex-start;
    height:auto;
    min-height:14rem;
    margin-top:.6rem;
    transform:none;
  }
  .services-hero .mark-wrap {
    width:clamp(130px,40vw,240px);
  }
  .services-hero .hero-wm-text {
    font-size:14rem;
    transform:translateX(12%);
  }
  .intake-form-shell {
    padding:1.45rem 1.25rem;
  }
  .service-main::before {
    font-size:clamp(4.5rem,20vw,6.8rem);
  }
  .policy-prose {
    gap:1.2rem;
    margin-top:1.85rem;
  }
  .policy-prose section,
  .chapter-panel,
  .card,
  .panel,
  .faq-item,
  .service-card {
    padding:1.38rem;
  }
  .cta-slab-body {
    padding-left:0;
    padding-top:1.2rem;
    border-left:none;
    border-top:1px solid var(--border-gold);
  }
  .cta-slab .cta-row {
    justify-content:stretch;
  }
  .cta-row {
    flex-direction:column;
    align-items:stretch;
    gap:1rem;
  }
  .cta-row .btn {
    width:100%;
  }
}
@media (max-width:640px) {
  .page-title {
    max-width:10.8ch;
    font-size:clamp(2.35rem,10.8vw,3.52rem);
  }
  .page-contact .page-title {
    font-size:clamp(2rem,9.2vw,3.1rem);
    max-width:none;
  }
  .section-title {
    max-width:10.7ch;
    font-size:clamp(2rem,8.8vw,2.9rem);
  }
  .service-main h2 {
    max-width:11.4ch;
    font-size:clamp(2.08rem,8.2vw,3.04rem);
  }
  .service-strip-item {
    min-height:auto;
  }
  .signal-card {
    min-height:148px;
  }
  .site-footer .site-shell {
    gap:2.4rem;
  }
  .faq-entry summary {
    padding:1rem 1.05rem;
    gap:.75rem;
  }
  .faq-entry-answer {
    padding:0 1.05rem 1.1rem 1.05rem;
  }
}

/* ── Focus-visible for keyboard accessibility ──────── */
a:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:2px;
}
.site-nav a:focus-visible,
.footer-nav a:focus-visible,
.footer-legal a:focus-visible,
.policy-nav a:focus-visible {
  outline-offset:4px;
}
.site-menu-toggle:focus-visible {
  outline:2px solid var(--gold);
  outline-offset:4px;
}

/* ── Reduced motion ──────── */
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after {
    animation-duration:0.01ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.01ms !important;
  }
}

/* ── Selection ──────── */
::selection {
  background:rgba(201,165,90,.22);
  color:var(--fg);
}
