/* ============================================================
   ALIGNED — Consulting site design system
   Sans-serif only · warm palette (navy / gold / teal / sienna / cream)
   Per "Aligned — Website Architecture & Content" brief, June 2026
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:ital,wght@0,300..800;1,400..600&family=Schibsted+Grotesk:ital,wght@0,400..900;1,400..600&family=Figtree:ital,wght@0,300..900;1,300..600&display=swap');

.slot{display:block;width:100%;height:100%;object-fit:cover;object-position:center;max-width:100%}
.slot-empty{background:var(--parchment)}
.cta-bg .slot-empty,.hero-bg .slot-empty{background:var(--navy-dark)}

:root {
  /* ---- Palette (brief §1) ---- */
  --navy:      #163A7A;   /* Deep Navy — primary text, headers, dark sections */
  --navy-dark: #0F2854;   /* deepest backgrounds */
  --royal:     #2F66D8;   /* Royal Blue — secondary accent, Human ring */
  --royal-lt:  #4F82E8;
  --sky:       #AFCDFB;   /* Soft Sky Blue */
  --gold:      #C9A86A;   /* Champagne Gold — primary accent, Energy core */
  --gold-deep: #9A7A33;   /* deeper gold for small text on light */
  --gold-rich: #D4A938;   /* Rich Gold — vivid accent / arrow */
  --ivory:     #F7F5F0;   /* Warm Ivory — optional soft background */
  --teal:      #2F66D8;   /* (legacy alias → Royal Blue) */
  --sienna:    #2F66D8;   /* (legacy alias → Royal Blue) */
  --sienna-lt: #4F82E8;
  --gray:      #5A5A5A;   /* secondary text */
  --ink:       #2B2B2B;   /* Charcoal — body text */
  --cream:     #FFFFFF;   /* default page background — white */
  --parchment: #F1F4FA;   /* alternating section background — light blue-gray */
  --parchment-deep: #E6EBF3;
  --border:    #E3E8F0;   /* hairlines, card borders */
  --border-soft: #EDF1F7;

  /* ---- Type ---- */
  --font: 'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-display: var(--font);

  /* ---- Accent driver ---- */
  --accent: var(--royal);        /* link/accent — Royal Blue */
  --accent-cool: var(--royal);

  /* ---- Layout ---- */
  --maxw: 1200px;
  --gutter: clamp(22px, 5vw, 64px);
  --radius: 14px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: var(--font);
  background: var(--cream);
  color: var(--ink);
  font-size: 18px;
  line-height: 1.6;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
img { max-width: 100%; display: block; }
::selection { background: rgba(47,102,216,0.22); }

/* ---------------- Typography ---------------- */
.eyebrow {
  font-size: 12.5px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--gold-deep);
  margin: 0 0 22px;
  display: inline-flex;
  align-items: center;
  gap: 12px;
}
.eyebrow::before {
  content: "";
  width: 22px; height: 1.5px;
  background: var(--gold);
  display: inline-block;
}
.eyebrow.plain::before { display: none; }

h1, h2, h3, h4 {
  font-family: var(--font-display);
  color: var(--navy);
  font-weight: 700;
  margin: 0;
  letter-spacing: -0.018em;
  line-height: 1.06;
  text-wrap: balance;
}
.display {
  font-size: clamp(40px, 6vw, 74px);
  font-weight: 700;
  letter-spacing: -0.025em;
  line-height: 1.02;
}
h1 { font-size: clamp(36px, 4.6vw, 58px); }
h2 { font-size: clamp(30px, 3.6vw, 46px); }
h3 { font-size: clamp(21px, 1.9vw, 26px); letter-spacing: -0.012em; line-height: 1.18; }
h4 { font-size: 19px; letter-spacing: -0.006em; }

p { margin: 0 0 1.1em; }
.lede {
  font-size: clamp(19px, 1.55vw, 23px);
  line-height: 1.5;
  color: var(--navy);
  font-weight: 450;
  letter-spacing: -0.005em;
}
.body-lg { font-size: 19.5px; line-height: 1.62; color: var(--ink); }
.muted { color: var(--gray); }
strong { font-weight: 700; color: var(--navy); }
a { color: var(--accent); text-decoration: none; }
a:hover { color: var(--sienna-lt); }

/* ---------------- Layout helpers ---------------- */
.wrap { max-width: var(--maxw); margin: 0 auto; padding-inline: var(--gutter); }
.narrow { max-width: 780px; }
.section { padding: clamp(72px, 9vw, 132px) 0; position: relative; }
.section.tight { padding: clamp(56px, 6vw, 84px) 0; }
.section--parchment { background: var(--parchment); }
.section--navy { background: var(--navy-dark); color: var(--parchment); }
.section--navy h1, .section--navy h2, .section--navy h3 { color: #fff; }
.section--navy .eyebrow { color: var(--gold); }
.section--navy .muted { color: rgba(223,231,244,0.7); }
.section--navy a { color: var(--gold); }
.section-head { max-width: 760px; }
.center { text-align: center; }
.center .eyebrow { display: inline-flex; }

/* ---------------- Buttons ---------------- */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--font);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.005em;
  padding: 15px 28px;
  border-radius: 100px;
  border: 1.5px solid transparent;
  cursor: pointer;
  transition: transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease, box-shadow .18s ease;
  white-space: nowrap;
}
.btn-primary { background: var(--navy); color: #fff; }
.btn-primary:hover { background: var(--navy-dark); color: #fff; transform: translateY(-1px); box-shadow: 0 12px 28px -14px rgba(26,42,74,0.6); }
.btn-ghost { background: transparent; color: var(--navy); border-color: var(--border); }
.btn-ghost:hover { background: #fff; color: var(--navy); border-color: var(--navy); }
.section--navy .btn-ghost { color: var(--parchment); border-color: rgba(223,231,244,0.3); }
.section--navy .btn-ghost:hover { background: rgba(255,255,255,0.06); color: #fff; border-color: var(--gold); }
.section--navy .btn-primary { background: var(--gold); color: var(--navy-dark); }
.section--navy .btn-primary:hover { background: #c9a85f; }

/* Text link with arrow */
.txtlink {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 15.5px;
  color: var(--accent);
  letter-spacing: -0.003em;
}
.txtlink svg { transition: transform .2s ease; }
.txtlink:hover svg { transform: translateX(4px); }
.txtlink.cool { color: var(--teal); }
.txtlink.navy { color: var(--navy); }

/* ---------------- Diamond mark ---------------- */
.dmark { display: block; }
.dmark .ring-out { stroke: var(--navy); opacity: 0.32; }
.dmark .ring-mid { stroke: var(--navy); opacity: 0.6; }
.dmark .ring-in  { stroke: var(--navy); }
.dmark .center   { fill: var(--gold); }
.section--navy .dmark .ring-out,
.section--navy .dmark .ring-mid,
.section--navy .dmark .ring-in { stroke: var(--parchment); }
.section--navy .dmark .center { fill: var(--gold); }

/* Big faint decorative diamond */
.deco-diamond { position: absolute; pointer-events: none; opacity: 0.5; z-index: 0; }

/* ---------------- Nav ---------------- */
.nav {
  position: sticky; top: 0; z-index: 100;
  background: rgba(237,242,249,0.82);
  backdrop-filter: saturate(140%) blur(12px);
  border-bottom: 1px solid transparent;
  transition: border-color .2s ease, background .2s ease;
}
.nav.scrolled { border-bottom-color: var(--border); background: rgba(237,242,249,0.92); }
.nav-inner {
  max-width: var(--maxw); margin: 0 auto;
  padding: 16px var(--gutter);
  display: flex; align-items: center; gap: 28px;
}
.brand { display: flex; align-items: center; gap: 12px; }
.brand .dmark { width: 30px; height: 30px; flex: none; }
.nav .brand { gap: 15px; }
.nav .brand .dmark { width: 42px; height: 42px; }
.nav .brand .word { font-size: 24px; }
.brand .word {
  font-size: 19px; font-weight: 700; color: var(--navy);
  letter-spacing: 0.26em; text-transform: uppercase;
}
.nav-links {
  display: flex; align-items: center; gap: 6px;
  margin-left: auto;
}
.nav-link {
  font-size: 15px; font-weight: 500; color: var(--navy);
  padding: 9px 14px; border-radius: 8px; letter-spacing: -0.004em;
  display: inline-flex; align-items: center; gap: 6px;
  background: none; border: none; cursor: pointer; font-family: var(--font);
  transition: background .15s ease, color .15s ease;
}
.nav-link:hover { background: rgba(201,168,106,0.16); color: var(--navy); }
.nav-link.current { color: var(--sienna); }
.nav-link .caret { transition: transform .2s ease; }
.nav-cta { margin-left: 8px; padding: 11px 22px; font-size: 14.5px; }

/* Dropdown */
.has-drop { position: relative; }
.dropdown {
  position: absolute; top: calc(100% + 10px); left: 50%; transform: translateX(-50%) translateY(6px);
  width: 384px;
  display: flex; flex-direction: column; gap: 7px;
  background: var(--cream);
  border: 1px solid var(--border);
  border-radius: 16px;
  box-shadow: 0 30px 64px -26px rgba(15,40,84,0.42);
  padding: 12px;
  opacity: 0; visibility: hidden; pointer-events: none;
  transition: opacity .18s ease, transform .18s ease, visibility .18s;
  z-index: 120;
}
.has-drop:hover .dropdown,
.has-drop:focus-within .dropdown {
  opacity: 1; visibility: visible; pointer-events: auto;
  transform: translateX(-50%) translateY(0);
}
.has-drop:hover .caret { transform: rotate(180deg); }

/* Overview header row */
.drop-overview {
  display: flex; align-items: center; justify-content: space-between;
  padding: 4px 8px 12px; margin-bottom: 3px;
  border-bottom: 1px solid var(--border-soft);
}
.drop-overview .di-name { font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; color: var(--navy); display: inline-flex; align-items: center; gap: 7px; }
.drop-overview:hover .di-name { color: var(--royal); }
.drop-overview:hover .di-name svg { transform: translateX(3px); }
.drop-overview .di-name svg { transition: transform .14s ease; }

/* Colored offering cards — dark → light, top to bottom */
.dropdown .drop-item:not(.drop-overview) {
  display: block; padding: 14px 16px; border-radius: 11px;
  transition: transform .14s ease, box-shadow .14s ease, filter .14s ease;
}
.dropdown .drop-item:not(.drop-overview):hover {
  transform: translateX(4px);
  filter: brightness(1.06);
  box-shadow: 0 12px 24px -12px rgba(15,40,84,0.55);
}
.dropdown .drop-item:nth-child(2) { background: #163A7A; }
.dropdown .drop-item:nth-child(3) { background: #244F9E; }
.dropdown .drop-item:nth-child(4) { background: #3A6AD0; }
.dropdown .drop-item:nth-child(5) { background: #7FA8EF; }
.dropdown .drop-item:nth-child(6) { background: #AFCDFB; }
.dropdown .drop-item:not(.drop-overview) .di-name { display: block; font-size: 15.5px; font-weight: 700; letter-spacing: -0.006em; }
.dropdown .drop-item:not(.drop-overview) .di-desc { display: block; font-size: 12.5px; margin-top: 3px; line-height: 1.42; }
.dropdown .drop-item:not(.drop-overview):nth-child(-n+4) .di-name { color: #fff; }
.dropdown .drop-item:not(.drop-overview):nth-child(-n+4) .di-desc { color: rgba(255,255,255,0.82); }
.dropdown .drop-item:nth-child(5) .di-name,
.dropdown .drop-item:nth-child(6) .di-name { color: var(--navy-dark); }
.dropdown .drop-item:nth-child(5) .di-desc,
.dropdown .drop-item:nth-child(6) .di-desc { color: rgba(15,40,84,0.72); }

/* Mobile nav */
.nav-toggle { display: none; margin-left: auto; background: none; border: none; cursor: pointer; padding: 8px; color: var(--navy); }
.mobile-menu { display: none; }

@media (max-width: 940px) {
  .nav-links { display: none; }
  .nav-toggle { display: inline-flex; }
  .mobile-menu {
    display: none; position: fixed; inset: 0 0 0 auto; top: 0;
    width: min(86vw, 380px); height: 100dvh;
    background: var(--cream); border-left: 1px solid var(--border);
    box-shadow: -30px 0 60px -30px rgba(26,42,74,0.3);
    padding: 86px 24px 32px; overflow-y: auto; z-index: 200;
  }
  .mobile-menu.open { display: block; }
  .mobile-backdrop { display: none; position: fixed; inset: 0; background: rgba(15,40,84,0.34); z-index: 150; }
  .mobile-backdrop.open { display: block; }
  .m-link { display: block; padding: 14px 8px; font-size: 18px; font-weight: 600; color: var(--navy); border-bottom: 1px solid var(--border-soft); }
  .m-sub { padding-left: 16px; }
  .m-sub a { display: block; padding: 11px 8px; font-size: 15px; color: var(--gray); font-weight: 500; }
  .m-sub a .di-name { color: var(--navy); font-weight: 600; }
  .m-close { position: absolute; top: 22px; right: 22px; background: none; border: none; cursor: pointer; color: var(--navy); }
}

/* ---------------- Hero ---------------- */
.hero { position: relative; overflow: hidden; padding: clamp(56px, 8vw, 104px) 0 clamp(60px, 8vw, 110px); }
.hero-grid {
  display: grid; grid-template-columns: 1.08fr 0.92fr; gap: clamp(36px, 5vw, 76px);
  align-items: center;
}
.badge {
  display: inline-flex; align-items: center; gap: 10px;
  font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase;
  color: var(--navy); background: var(--parchment);
  border: 1px solid var(--border); padding: 8px 16px 8px 13px; border-radius: 100px;
  margin-bottom: 28px;
}
.badge .dot { width: 7px; height: 7px; background: var(--gold); transform: rotate(45deg); }
.hero h1 { margin-bottom: 24px; }
.hero .lede { max-width: 540px; margin-bottom: 36px; }
.hero-cta { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.hero-media { position: relative; }
.hero-media image-slot, .hero-media .slot { width: 100%; height: 540px; border-radius: 20px; background: var(--parchment); box-shadow: 0 40px 80px -40px rgba(26,42,74,0.3); }
.hero-media .frame-tag {
  position: absolute; left: 24px; bottom: 24px;
  background: rgba(255,255,255,0.92); backdrop-filter: blur(6px);
  border: 1px solid var(--border); border-radius: 10px;
  padding: 12px 16px; font-size: 13px; color: var(--navy); font-weight: 600;
  display: flex; align-items: center; gap: 10px; max-width: 260px;
}
.hero-media .frame-tag .dmark { width: 22px; height: 22px; flex: none; }

/* ---------------- Generic cards ---------------- */
.card {
  background: var(--cream); border: 1px solid var(--border);
  border-radius: var(--radius); padding: 32px;
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
a.card:hover, .card.link:hover { transform: translateY(-3px); box-shadow: 0 24px 48px -28px rgba(26,42,74,0.28); border-color: var(--gold); }
.section--parchment .card { background: var(--cream); }

/* System cards (numbered) */
.systems-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 52px; }
.sys-card { display: flex; flex-direction: column; position: relative; min-height: 260px; }
.sys-num {
  font-size: 13px; font-weight: 700; letter-spacing: 0.14em; color: var(--gold-deep);
  margin-bottom: 18px;
}
.sys-card h3 { margin-bottom: 12px; }
.sys-card p { color: var(--gray); font-size: 16.5px; line-height: 1.55; margin: 0; }
.sys-card .sys-foot { margin-top: auto; padding-top: 22px; }
.sys-rule { height: 2px; width: 34px; background: var(--teal); margin-bottom: 18px; border-radius: 2px; }
.sys-card:nth-child(1) .sys-rule { background: var(--navy); }
.sys-card:nth-child(2) .sys-rule { background: var(--sienna); }
.sys-card:nth-child(3) .sys-rule { background: var(--gold); }

/* Two-column prose */
.split { display: grid; grid-template-columns: 0.85fr 1.15fr; gap: clamp(32px, 6vw, 88px); align-items: start; }
.split.even { grid-template-columns: 1fr 1fr; }

/* Uniques / value points */
.uniques { display: grid; grid-template-columns: repeat(3,1fr); gap: 40px; margin-top: 54px; }
.unique .u-mark { width: 30px; height: 30px; margin-bottom: 20px; }
.unique h3 { margin-bottom: 10px; font-size: 21px; }
.unique p { color: var(--gray); font-size: 16.5px; line-height: 1.55; margin: 0; }

/* Process strip */
.process-strip { display: grid; grid-template-columns: repeat(5,1fr); gap: 0; margin-top: 56px; position: relative; }
.pstep { padding: 0 22px; position: relative; }
.pstep:not(:last-child)::after {
  content: ""; position: absolute; top: 13px; right: -1px; width: 1px; height: 64px; background: var(--border);
}
.pstep .pnum {
  font-size: 13px; font-weight: 700; color: var(--gold-deep); letter-spacing: 0.12em;
  display: flex; align-items: center; gap: 10px; margin-bottom: 16px;
}
.pstep .pnum .pdot { width: 9px; height: 9px; background: var(--gold); transform: rotate(45deg); }
.pstep h4 { color: var(--navy); font-size: 20px; margin-bottom: 8px; }
.pstep p { font-size: 14.5px; color: var(--gray); line-height: 1.5; margin: 0; }

/* Engage cards */
.engage-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 52px; }
.engage-grid .card { display: flex; flex-direction: column; }
.eg-kicker { font-size: 12px; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; color: var(--teal); margin-bottom: 16px; }
.engage-grid h3 { font-size: 22px; margin-bottom: 11px; }
.engage-grid p { color: var(--gray); font-size: 16px; line-height: 1.5; margin: 0 0 22px; }
.engage-grid .sys-foot { margin-top: auto; }

/* Who we serve profile */
.profile { display: grid; grid-template-columns: repeat(3,1fr); gap: 0; margin-top: 48px; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.profile .pcell { padding: 34px 32px; border-right: 1px solid var(--border); }
.profile .pcell:last-child { border-right: none; }
.profile .pcell .pl { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 12px; }
.profile .pcell .pv { font-size: 17.5px; color: var(--ink); line-height: 1.5; }
.profile .pcell .pv strong { color: var(--navy); }

/* CTA band */
.cta-band { text-align: center; }
.cta-band h2 { margin-bottom: 18px; max-width: 16ch; margin-inline: auto; }
.cta-band p { max-width: 52ch; margin: 0 auto 32px; color: rgba(223,231,244,0.78); font-size: 19px; }
.cta-band .hero-cta { justify-content: center; }

/* ---------------- Footer ---------------- */
.footer { background: var(--navy-dark); color: rgba(223,231,244,0.72); padding: 76px 0 38px; }
.footer-top { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 40px; }
.footer .brand .word { color: #fff; }
.footer-top > div:first-child { display: flex; flex-direction: column; align-items: center; text-align: center; }
.footer-top > div:first-child .brand { justify-content: center; }
.footer .dmark .ring-out, .footer .dmark .ring-mid, .footer .dmark .ring-in { stroke: var(--parchment); }
.footer .f-tag { margin-top: 18px; font-size: 14.5px; color: rgba(223,231,244,0.6); max-width: 280px; line-height: 1.5; text-align: center; }
.footer .f-tag em { color: var(--gold); font-style: normal; }
.footer h5 { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold); margin: 0 0 18px; }
.footer .f-col a { display: block; color: rgba(223,231,244,0.72); font-size: 15px; padding: 5px 0; font-weight: 500; }
.footer .f-col a:hover { color: #fff; }
.footer-bottom {
  margin-top: 56px; padding-top: 26px; border-top: 1px solid rgba(223,231,244,0.14);
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  font-size: 13.5px; color: rgba(223,231,244,0.5); flex-wrap: wrap;
}
.footer-bottom a { color: rgba(223,231,244,0.7); }
.footer .mastermind-link { color: var(--gold); font-weight: 600; }

/* ---------------- Responsive ---------------- */
@media (max-width: 940px) {
  .hero-grid { grid-template-columns: 1fr; gap: 40px; }
  .hero-media { order: -1; }
  .hero-media image-slot, .hero-media .slot { height: 360px; }
  .systems-grid, .uniques, .engage-grid { grid-template-columns: 1fr; gap: 18px; }
  .uniques { gap: 32px; }
  .process-strip { grid-template-columns: 1fr 1fr; gap: 28px 0; }
  .pstep:not(:last-child)::after { display: none; }
  .pstep { padding: 0 16px; }
  .split, .split.even { grid-template-columns: 1fr; gap: 28px; }
  .profile { grid-template-columns: 1fr; }
  .profile .pcell { border-right: none; border-bottom: 1px solid var(--border); }
  .profile .pcell:last-child { border-bottom: none; }
  .footer-top { grid-template-columns: 1fr 1fr; gap: 32px; }
}
@media (max-width: 560px) {
  body { font-size: 17px; }
  .process-strip { grid-template-columns: 1fr; }
  .footer-top { grid-template-columns: 1fr; }
}

/* ============================================================
   V2 — colorful / image-forward (Leadership Circle-inspired)
   ============================================================ */

/* ---- Full-bleed image hero ---- */
.hero--image { padding: 0; min-height: min(88vh, 760px); display: flex; align-items: center; }
.hero--image .hero-bg { position: absolute; inset: 0; z-index: 0; }
.hero--image .hero-bg image-slot, .hero--image .hero-bg .slot {
  width: 100%; height: 100%; border-radius: 0; box-shadow: none;
  background: var(--navy-dark);
}
.hero--image .hero-overlay {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    linear-gradient(105deg, rgba(15,40,84,0.94) 0%, rgba(15,40,84,0.78) 42%, rgba(15,40,84,0.34) 72%, rgba(15,40,84,0.12) 100%),
    linear-gradient(to top, rgba(15,40,84,0.55), rgba(15,40,84,0) 38%);
}
.hero--image .hero-content { position: relative; z-index: 2; width: 100%; padding: clamp(48px, 7vw, 96px) 0; }
.hero--image .hero-copy { max-width: 660px; pointer-events: none; }
.hero--image .hero-copy a, .hero--image .hero-copy button { pointer-events: auto; }
.hero--image h1 { color: #fff; }
.hero--image .lede { color: rgba(255,255,255,0.9); max-width: 560px; }
.hero--image .badge {
  background: rgba(255,255,255,0.1); border-color: rgba(255,255,255,0.28); color: #fff;
  -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
.hero--image .btn-primary { background: var(--gold); color: var(--navy-dark); }
.hero--image .btn-primary:hover { background: #c9a85f; box-shadow: 0 14px 30px -14px rgba(0,0,0,0.5); }
.hero--image .btn-ghost { color: #fff; border-color: rgba(255,255,255,0.4); }
.hero--image .btn-ghost:hover { background: rgba(255,255,255,0.08); border-color: #fff; }
.hero--image .txtlink { color: #fff; }
.hero--image .txtlink:hover { color: var(--gold); }
.hero-fillhint {
  position: absolute; right: 22px; bottom: 18px; z-index: 2; pointer-events: none;
  font-size: 12px; letter-spacing: 0.04em; color: rgba(255,255,255,0.5); font-weight: 500;
}

/* Audience-paths strip (For the founder / team / company) — light, color-accented */
.paths { display: grid; grid-template-columns: repeat(3, 1fr); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.path {
  padding: clamp(30px, 3.4vw, 44px) clamp(24px, 2.6vw, 38px);
  border-right: 1px solid var(--border);
  position: relative; background: var(--cream);
}
.path:last-child { border-right: none; }
.path::before { content: ""; position: absolute; top: 0; left: 0; right: 0; height: 4px; }
.path:nth-child(1)::before { background: var(--navy); }
.path:nth-child(2)::before { background: var(--sienna); }
.path:nth-child(3)::before { background: var(--gold); }
.path .p-kick { font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; margin-bottom: 14px; }
.path:nth-child(1) .p-kick { color: var(--navy); }
.path:nth-child(2) .p-kick { color: var(--sienna); }
.path:nth-child(3) .p-kick { color: var(--gold-deep); }
.path h3 { color: var(--navy); font-size: 22px; margin-bottom: 10px; }
.path p { color: var(--gray); font-size: 16px; line-height: 1.5; margin: 0 0 18px; }

/* ---- Colorful Three Systems ---- */
.systems-grid.colorful { gap: 24px; }
.systems-grid.colorful .sys-card { padding: 0; overflow: hidden; min-height: 0; }
.sys-head {
  padding: 30px 30px 26px; color: #fff; position: relative; overflow: hidden;
}
.sys-head .sys-no { font-size: 52px; font-weight: 700; letter-spacing: -0.03em; line-height: 1; }
.sys-head .sys-lbl { font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; opacity: 0.86; margin-top: 14px; }
.sys-head .sys-dia { position: absolute; right: -28px; top: -28px; width: 130px; height: 130px; opacity: 0.18; }
.sys-head .sys-dia .ring-out, .sys-head .sys-dia .ring-mid, .sys-head .sys-dia .ring-in { stroke: #fff; }
.sys-head .sys-dia .center { fill: #fff; }
.sys-body { padding: 26px 30px 30px; display: flex; flex-direction: column; }
.sys-body h3 { margin-bottom: 12px; }
.sys-body p { color: var(--gray); font-size: 16.5px; line-height: 1.55; margin: 0; }
.sys-body .sys-foot { margin-top: 22px; }
.systems-grid.colorful .sys-card:nth-child(1) .sys-head { background: var(--navy); }
.systems-grid.colorful .sys-card:nth-child(2) .sys-head { background: var(--sienna); }
.systems-grid.colorful .sys-card:nth-child(3) .sys-head { background: var(--gold); color: var(--navy); }
.systems-grid.colorful .sys-card:nth-child(3) .sys-head .sys-dia .ring-out,
.systems-grid.colorful .sys-card:nth-child(3) .sys-head .sys-dia .ring-mid,
.systems-grid.colorful .sys-card:nth-child(3) .sys-head .sys-dia .ring-in { stroke: var(--navy); }
.systems-grid.colorful .sys-card:nth-child(3) .sys-head .sys-dia .center { fill: var(--navy); }

/* ---- Process on navy ---- */
.section--navy .pstep:not(:last-child)::after { background: rgba(223,231,244,0.2); }
.section--navy .pstep h4 { color: #fff; }
.section--navy .pstep p { color: rgba(223,231,244,0.66); }
.section--navy .pstep .pnum { color: var(--gold); }

/* ---- Full-bleed image CTA ---- */
.cta-image { position: relative; overflow: hidden; padding: 0; min-height: 460px; display: flex; align-items: center; }
.cta-image .cta-bg { position: absolute; inset: 0; z-index: 0; }
.cta-image .cta-bg image-slot, .cta-image .cta-bg .slot { width: 100%; height: 100%; border-radius: 0; box-shadow: none; background: var(--navy-dark); }
.cta-image .cta-overlay {
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, rgba(15,40,84,0.82), rgba(15,40,84,0.9));
}
.cta-image .cta-inner { position: relative; z-index: 2; width: 100%; padding: clamp(64px, 8vw, 110px) 0; }
.cta-image .hero-cta a { pointer-events: auto; }
/* Compact variant — no fixed min-height, tighter padding, snug text */
.cta-image.cta-compact { min-height: 0; }
.cta-image.cta-compact .cta-inner { padding: clamp(48px, 5vw, 64px) 0; }
.cta-image.cta-compact .cta-band h2 { margin-bottom: 14px; }
.cta-image.cta-compact .cta-band p { margin-bottom: 26px; }

@media (max-width: 940px) {
  .hero--image { min-height: 0; }
  .hero--image .hero-overlay { background: linear-gradient(180deg, rgba(15,40,84,0.78), rgba(15,40,84,0.92)); }
  .systems-grid.colorful { grid-template-columns: 1fr; }
  .paths { grid-template-columns: 1fr; }
  .path { border-right: none; border-bottom: 1px solid var(--border); }
  .path:last-child { border-bottom: none; }
}

/* ---- Three Systems concentric model figure ---- */
.systems-model { display: grid; grid-template-columns: 1fr 0.92fr; gap: clamp(40px, 6vw, 88px); align-items: center; margin-top: 48px; }
.model-figure { display: flex; justify-content: center; }
.model-svg { width: 100%; max-width: 440px; height: auto; filter: drop-shadow(0 30px 50px rgba(26,42,74,0.22)); }
.model-svg .lbl { font-family: var(--font); font-weight: 700; font-size: 22px; letter-spacing: 0.14em; }
.model-svg .sub { font-family: var(--font); font-weight: 500; font-size: 13px; font-style: italic; letter-spacing: 0.02em; }
.model-svg .flow { fill: var(--gold-rich); font-family: var(--font); font-weight: 700; font-size: 11px; letter-spacing: 0.22em; }
.model-svg .hub { font-family: var(--font); font-weight: 700; font-size: 12px; letter-spacing: 0.06em; }
.side-quote { margin: 24px 0 0; padding-left: 20px; border-left: 3px solid var(--gold); font-style: italic; color: var(--navy); font-size: 17.5px; line-height: 1.55; }
.practices { display: grid; grid-template-columns: repeat(3, 1fr); gap: 36px; margin-top: 56px; }
.practice-col { border-top: 3px solid var(--phase, var(--gold)); padding-top: 20px; }
.practice-col .pc-phase { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gray); margin-bottom: 6px; }
.practice-col h4 { font-size: 18px; margin-bottom: 18px; }
.practice-item { padding: 13px 0; border-bottom: 1px solid var(--border); }
.practice-item:last-child { border-bottom: none; }
.practice-item .pi-name { font-weight: 700; color: var(--navy); font-size: 15px; margin-bottom: 4px; }
.practice-item .pi-desc { font-size: 13.5px; color: var(--gray); line-height: 1.42; margin: 0; }
@media (max-width: 860px){ .practices { grid-template-columns: 1fr; gap: 30px; } }
.model-aside h3 { margin-bottom: 12px; }
.model-divider { height: 1px; background: var(--border); margin: 24px 0; }
@media (max-width: 860px){ .systems-model { grid-template-columns: 1fr; gap: 36px; } }

/* ---- 5-stage Aligned Way path ---- */
.way-path { display: grid; grid-template-columns: repeat(5, 1fr); margin-top: 60px; position: relative; }
.way-step { text-align: center; padding: 0 16px; position: relative; }
.way-node { width: 60px; height: 60px; margin: 0 auto 26px; position: relative; display: flex; align-items: center; justify-content: center; }
.way-node::before { content: ""; position: absolute; inset: 0; transform: rotate(45deg); border: 2px solid var(--gold); border-radius: 6px; background: var(--navy-dark); }
.way-node .way-no { position: relative; font-weight: 700; font-size: 17px; color: var(--gold); letter-spacing: 0.02em; }
.way-step:not(:last-child)::after { content: ""; position: absolute; top: 30px; left: calc(50% + 36px); right: calc(-50% + 36px); height: 2px; background: linear-gradient(90deg, rgba(201,168,106,0.55), rgba(201,168,106,0.25)); }
.way-step h4 { color: #fff; font-size: 20px; margin-bottom: 8px; letter-spacing: -0.01em; }
.way-step p { color: rgba(223,231,244,0.66); font-size: 14.5px; line-height: 1.5; margin: 0; }
@media (max-width: 860px){
  .way-path { grid-template-columns: 1fr 1fr; gap: 40px 0; }
  .way-step:not(:last-child)::after { display: none; }
}
@media (max-width: 480px){ .way-path { grid-template-columns: 1fr; } }

/* ---- Systems page: per-system detail rows ---- */
.sys-hero .model-svg { max-width: 400px; }
.sys-detail { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(34px, 5vw, 72px); align-items: center; }
.sys-detail + .sys-detail { margin-top: clamp(56px, 7vw, 104px); }
.sys-detail .sd-media image-slot, .sys-detail .sd-media .slot { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1; max-width: 480px; margin-inline: auto; border-radius: 18px; background: var(--parchment); box-shadow: 0 30px 60px -34px rgba(22,58,122,0.4); }
.sys-detail.reverse .sd-media { order: -1; }
.sd-num { font-size: 13.5px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; margin-bottom: 18px; display: flex; align-items: center; gap: 12px; }
.sd-num .pip { width: 13px; height: 13px; transform: rotate(45deg); border-radius: 2px; flex: none; }
.sd-copy h2 { margin-bottom: 16px; }
.sd-copy > p { color: var(--ink); font-size: 18px; line-height: 1.62; margin: 0; }
.looks-like { list-style: none; padding: 22px 0 0; margin: 22px 0 0; border-top: 1px solid var(--border); display: grid; gap: 11px; }
.looks-like .ll-label { font-size: 12px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gray); margin-bottom: 4px; }
.looks-like li { position: relative; padding-left: 24px; color: var(--ink); font-size: 16px; line-height: 1.45; }
.looks-like li::before { content: ""; position: absolute; left: 0; top: 8px; width: 8px; height: 8px; transform: rotate(45deg); border-radius: 1px; background: var(--bullet, var(--gold)); }
@media (max-width: 860px){
  .sys-detail { grid-template-columns: 1fr; gap: 28px; }
  .sys-detail.reverse .sd-media { order: 0; }
  .sys-detail .sd-media image-slot, .sys-detail .sd-media .slot { aspect-ratio: 1 / 1; height: auto; }
}

/* ---- About: hero portrait, people, quote band ---- */
.ah-media image-slot, quote band ---- */
.ah-media .slot { width: 100%; height: 520px; border-radius: 18px; background: var(--parchment); box-shadow: 0 36px 70px -38px rgba(22,58,122,0.45); }
@media (max-width: 940px){ .ah-media image-slot, .ah-media .slot { height: 360px; } }
/* Aligned Engagement hero — match box to the 3:2 photo so nothing is cropped */
#ae-hero { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; }
.people { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 52px); margin-top: 48px; }
.person .p-photo image-slot, .person .p-photo .slot { display: block; width: 100%; height: auto; aspect-ratio: 5 / 7; border-radius: 16px; background: var(--parchment); border: 1px solid var(--border); box-shadow: 0 30px 60px -36px rgba(22,58,122,0.4); }
.person h3 { margin: 24px 0 4px; font-size: 26px; }
.person .p-role { font-size: 12.5px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 14px; }
.person .p-bio { color: var(--gray); font-size: 16.5px; line-height: 1.6; margin: 0; }
.person .p-bio-full[hidden] { display: none; }
.person .p-bio-full p { color: var(--gray); font-size: 16.5px; line-height: 1.6; margin: 14px 0 0; }
.bio-toggle { margin-top: 16px; display: inline-flex; align-items: center; gap: 8px; background: none; border: none; padding: 0; cursor: pointer; font-family: var(--font); font-weight: 600; font-size: 15px; color: var(--royal); }
.bio-toggle:hover { color: var(--royal-lt); }
.bio-toggle .bt-caret { transition: transform .2s ease; }
.bio-toggle[aria-expanded="true"] .bt-caret { transform: rotate(180deg); }
@media (max-width: 760px){ .people { grid-template-columns: 1fr; gap: 40px; } }
.quote-band { text-align: center; }
.quote-band .q { font-size: clamp(26px, 3.4vw, 40px); font-weight: 700; letter-spacing: -0.015em; line-height: 1.2; color: #fff; max-width: 20ch; margin: 0 auto; }
.quote-band .q em { color: var(--gold); font-style: normal; }
.quote-band .q-attr { margin-top: 22px; font-size: 12.5px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--gold); font-weight: 700; }

/* ---- Process: vertical timeline + callout ---- */
.timeline { margin-top: 52px; }
.tl-step { display: grid; grid-template-columns: 88px 1fr; gap: 28px; padding-bottom: 44px; }
.tl-step:last-child { padding-bottom: 0; }
.tl-rail { display: flex; flex-direction: column; align-items: center; }
.tl-node { width: 56px; height: 56px; flex: none; position: relative; display: flex; align-items: center; justify-content: center; }
.tl-node::before { content: ""; position: absolute; inset: 0; transform: rotate(45deg); border: 2px solid var(--gold); border-radius: 6px; background: var(--cream); }
.tl-node .n { position: relative; font-weight: 700; color: var(--gold-deep); font-size: 16px; }
.tl-line { flex: 1; width: 2px; background: var(--border); margin-top: 8px; }
.tl-step:last-child .tl-line { display: none; }
.tl-body { padding-top: 4px; }
.tl-body .tl-tag { font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--royal); margin-bottom: 8px; }
.tl-body h3 { font-size: 23px; margin: 0 0 10px; }
.tl-body p { color: var(--gray); font-size: 17px; line-height: 1.6; margin: 0; max-width: 640px; }
@media (max-width: 560px){ .tl-step { grid-template-columns: 56px 1fr; gap: 18px; } }
.callout { background: var(--navy); color: #fff; border-radius: var(--radius); padding: clamp(34px, 4vw, 56px); text-align: center; position: relative; overflow: hidden; }
.callout h3 { color: #fff; font-size: clamp(24px, 2.6vw, 32px); margin-bottom: 14px; }
.callout p { color: rgba(223,231,244,0.82); max-width: 60ch; margin: 0 auto; font-size: 18px; }

/* ---- Offering detail pages ---- */
.offer-meta { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.offer-meta .om-cell { padding: 28px 30px; border-right: 1px solid var(--border); }
.offer-meta .om-cell:last-child { border-right: none; }
.offer-meta .om-l { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 10px; }
.offer-meta .om-v { font-size: 17px; color: var(--ink); line-height: 1.5; }
@media (max-width:760px){ .offer-meta { grid-template-columns: 1fr; } .offer-meta .om-cell { border-right: none; border-bottom: 1px solid var(--border); } .offer-meta .om-cell:last-child { border-bottom: none; } }
.two-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-top: 30px; }
.two-cards .tc { background: var(--cream); border: 1px solid var(--border); border-radius: var(--radius); padding: 30px; }
.two-cards .tc .tc-tag { font-size: 12px; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; color: var(--royal); margin-bottom: 12px; }
.two-cards .tc h4 { font-size: 20px; margin-bottom: 10px; }
.two-cards .tc p { color: var(--gray); font-size: 15.5px; line-height: 1.55; margin: 0; }
@media (max-width:760px){ .two-cards { grid-template-columns: 1fr; } }
.card-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 32px; }
.card-grid-3 .tc { background: var(--cream); border: 1px solid var(--border); border-radius: var(--radius); padding: 26px; }
.card-grid-3 .tc .tc-tag { font-size: 12px; font-weight: 700; letter-spacing: 0.13em; text-transform: uppercase; color: var(--royal); margin-bottom: 12px; }
.card-grid-3 .tc h4 { font-size: 18px; margin-bottom: 8px; color: var(--navy); }
.card-grid-3 .tc p { color: var(--gray); font-size: 15px; line-height: 1.5; margin: 0; }
@media (max-width:860px){ .card-grid-3 { grid-template-columns: 1fr 1fr; } }
@media (max-width:560px){ .card-grid-3 { grid-template-columns: 1fr; } }

/* ---- Speaking ---- */
.feature { display: grid; grid-template-columns: 0.9fr 1.1fr; gap: clamp(32px,5vw,72px); align-items: center; }
.feature .ft-media image-slot, .feature .ft-media .slot { display:block; width:100%; height:auto; aspect-ratio: 4/3; border-radius: 16px; background: var(--parchment); border: 1px solid var(--border); box-shadow: 0 30px 60px -36px rgba(22,58,122,0.4); }
@media (max-width:860px){ .feature { grid-template-columns: 1fr; } }
.speakers { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px,4vw,48px); margin-top: 48px; }
.speaker .sp-photo image-slot, .speaker .sp-photo .slot { display:block; width:100%; height:auto; aspect-ratio: 5/6; border-radius: 16px; background: var(--parchment); border: 1px solid var(--border); box-shadow: 0 30px 60px -36px rgba(22,58,122,0.4); }
.speaker h3 { margin: 22px 0 4px; font-size: 24px; }
.speaker .sp-style { font-size: 16px; font-style: italic; color: var(--royal); margin-bottom: 12px; }
.speaker p { color: var(--gray); font-size: 16px; line-height: 1.6; margin: 0 0 12px; }
.speaker .sp-best { font-size: 13.5px; color: var(--gray); }
.speaker .sp-best strong { color: var(--navy); }
@media (max-width:760px){ .speakers { grid-template-columns: 1fr; gap: 40px; } }

/* ---- Contact form ---- */
.contact-grid { display: grid; grid-template-columns: 1.2fr 0.8fr; gap: clamp(36px,5vw,72px); align-items: start; }
@media (max-width:860px){ .contact-grid { grid-template-columns: 1fr; gap: 40px; } }
.contact-form { display: grid; gap: 18px; }
.contact-form .field { display: flex; flex-direction: column; gap: 8px; }
.contact-form label { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--navy); }
.contact-form input, .contact-form textarea { font-family: var(--font); font-size: 16px; padding: 14px 16px; border: 1px solid var(--border); border-radius: 10px; background: var(--cream); color: var(--ink); width: 100%; }
.contact-form input:focus, .contact-form textarea:focus { outline: none; border-color: var(--royal); box-shadow: 0 0 0 3px rgba(47,102,216,0.12); }
.contact-form textarea { min-height: 130px; resize: vertical; }
.contact-aside .ca-item { padding: 18px 0; border-top: 1px solid var(--border); }
.contact-aside .ca-item:first-child { border-top: none; }
.contact-aside .ca-l { font-size: 12px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gold-deep); margin-bottom: 6px; }
.contact-aside .ca-v, .contact-aside .ca-v a { color: var(--ink); font-size: 16px; }
.contact-aside .ca-v a { color: var(--royal); font-weight: 600; }

/* ---- Insights / blog ---- */
.feat-post { display: grid; grid-template-columns: 1.1fr 0.9fr; gap: clamp(28px,4vw,56px); align-items: center; }
.feat-post .fp-media image-slot, .feat-post .fp-media .slot { display:block; width:100%; height:auto; aspect-ratio: 3/2; border-radius: 16px; background: var(--parchment); border: 1px solid var(--border); box-shadow: 0 30px 60px -36px rgba(22,58,122,0.4); }
.fp-tag { display:inline-flex; align-items:center; gap:8px; font-size:12px; font-weight:700; letter-spacing:0.14em; text-transform:uppercase; color:var(--gold-deep); margin-bottom:16px; }
.feat-post h2 { font-size: clamp(28px,3vw,40px); margin-bottom: 14px; }
.feat-post p { color: var(--gray); font-size: 17.5px; line-height: 1.6; margin: 0 0 22px; }
@media (max-width: 860px){ .feat-post { grid-template-columns: 1fr; } .feat-post .fp-media { order:-1; } }

.post-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
@media (max-width: 900px){ .post-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 600px){ .post-grid { grid-template-columns: 1fr; } }
.post-card { display: flex; flex-direction: column; background: var(--cream); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; text-decoration: none; transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease; }
.post-card:hover { transform: translateY(-4px); box-shadow: 0 24px 50px -30px rgba(22,58,122,0.4); border-color: var(--sky); }
.post-card .pc-media image-slot, .post-card .pc-media .slot { display:block; width:100%; height:auto; aspect-ratio: 3/2; background: var(--parchment); }
.post-card .pc-body { padding: 24px 24px 26px; display:flex; flex-direction:column; flex:1; }
.post-card .pc-meta { font-size: 12px; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color: var(--royal); margin-bottom: 12px; display:flex; gap:10px; align-items:center; }
.post-card .pc-meta .dotsep { width:3px; height:3px; border-radius:50%; background: var(--border); }
.post-card .pc-meta .pc-date { color: var(--gray); font-weight:600; letter-spacing:0.04em; }
.post-card h3 { font-size: 21px; line-height: 1.25; margin-bottom: 10px; color: var(--navy); }
.post-card p { color: var(--gray); font-size: 15.5px; line-height: 1.55; margin: 0 0 18px; }
.post-card .pc-more { margin-top:auto; font-size:14.5px; font-weight:600; color: var(--royal); display:inline-flex; align-items:center; gap:7px; }
.cat-row { display:flex; flex-wrap:wrap; gap:10px; margin-top: 28px; }
.cat-chip { font-size:13.5px; font-weight:600; padding:8px 16px; border:1px solid var(--border); border-radius:999px; color:var(--navy); background:var(--cream); cursor:pointer; transition: all .15s ease; }
.cat-chip:hover, .cat-chip.active { background: var(--navy); color:#fff; border-color: var(--navy); }

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  * { transition: none !important; animation: none !important; }
  html { scroll-behavior: auto; }
}

/* ---- Founder Cohort page ---- */
.fc-hero{position:relative;overflow:hidden;min-height:calc(100vh - 76px);display:flex;align-items:center;padding:clamp(72px,9vw,120px) 0}
.fc-hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:0}
.fc-hero-overlay{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(15,40,84,0.95) 0%,rgba(15,40,84,0.86) 34%,rgba(15,40,84,0.35) 62%,rgba(15,40,84,0.12) 100%)}
.fc-hero>.wrap{max-width:none;margin:0;padding-left:clamp(24px,5vw,80px);padding-right:24px}
.fc-hero>.wrap>*{max-width:600px}
@media (max-width:760px){.fc-hero-overlay{background:rgba(15,40,84,0.86)}}
.fc-hero .display{color:#fff;max-width:17ch;margin:22px 0 26px}
.fc-hero .lede{color:rgba(223,231,244,0.88);max-width:600px;margin:0}
.fc-hero .hero-cta{margin-top:36px}
.fc-hero .btn-primary,.cta-image .btn-primary{background:var(--gold);color:var(--navy-dark)}
.fc-hero .btn-primary:hover,.cta-image .btn-primary:hover{background:#c9a85f;color:var(--navy-dark)}
.fc-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin:26px 0 0;font-size:14.5px;font-weight:600;letter-spacing:0.02em;color:rgba(223,231,244,0.78)}
.fc-meta>span:not(.ph){color:var(--gold)}
.ph{background:rgba(212,169,56,0.18);color:inherit;padding:0 5px;border-radius:4px;font-weight:600}
.fc-pull{font-size:clamp(22px,2vw,26px);line-height:1.4;font-weight:600;color:var(--navy);margin:30px 0;text-wrap:pretty}
.sys-list{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:16px}
.sys-list li{display:grid;grid-template-columns:14px 1fr;gap:14px;font-size:16.5px;line-height:1.55;color:var(--gray)}
.sys-list li strong{color:var(--navy)}
.sys-list .pip{width:10px;height:10px;transform:rotate(45deg);border-radius:1px;margin-top:7px}
.fc-price{font-size:clamp(40px,5vw,60px);margin-top:14px;line-height:1}
.fc-price small{font-size:18px;font-weight:500;color:var(--gray);letter-spacing:0}
.fc-founding{margin:14px 0 0;font-size:17px;color:var(--ink)}
.fc-founding strong{color:var(--gold-deep)}
.cta-band .fc-meta{margin:0 0 30px}
.cta-band .fc-closing{margin:44px auto 10px;font-size:clamp(19px,1.8vw,22px);line-height:1.5;color:#fff;max-width:40ch;font-weight:500}
.cta-band .fc-sign{font-size:15px;color:var(--gold);margin:0 auto}
@media (max-width:860px){.systems-model{grid-template-columns:1fr}.people{grid-template-columns:1fr}}

/* ---- Systems page: brand graphics ---- */
.sd-graphic{margin:0 auto;max-width:520px;background:#fff;border:1px solid var(--border);border-radius:18px;padding:clamp(18px,3vw,32px);box-shadow:0 30px 60px -40px rgba(10,33,60,.25)}
.sd-graphic-svg{display:block;width:100%;height:auto}

/* ---- Aligned Engagement page ---- */
.ae-hero-img{display:block;width:100%;max-width:480px;height:auto;margin-inline:auto;border-radius:18px;box-shadow:0 40px 80px -40px rgba(15,40,84,.45)}
.ae-meta{display:flex;flex-wrap:wrap;gap:6px 10px;margin:20px 0 0;font-size:14px;font-weight:600;letter-spacing:.02em;color:var(--gray)}
.ae-meta span{color:var(--gold-deep)}
.arc{margin-top:40px}
.arc-steps{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;position:relative}
.arc-steps::before{content:"";position:absolute;left:10%;right:10%;top:44px;height:2px;background:var(--border)}
.arc-step{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:18px 12px 20px;background:transparent;border:1px solid transparent;border-radius:var(--radius);cursor:pointer;font-family:var(--font);color:var(--ink);transition:background .2s,border-color .2s}
.arc-step:hover{background:#fff;border-color:var(--border)}
.arc-step.is-active{background:#fff;border-color:var(--border);box-shadow:0 18px 40px -28px rgba(15,40,84,.35)}
.arc-node{width:52px;height:52px;display:flex;align-items:center;justify-content:center;position:relative;margin-bottom:6px}
.arc-node::before{content:"";position:absolute;inset:4px;transform:rotate(45deg);border:2px solid var(--gold);border-radius:6px;background:var(--cream);transition:background .2s}
.arc-node span{position:relative;font-weight:700;font-size:15px;color:var(--gold-deep)}
.arc-step.is-active .arc-node::before{background:var(--navy);border-color:var(--navy)}
.arc-step.is-active .arc-node span{color:#fff}
.arc-name{font-size:19px;font-weight:700;color:var(--navy)}
.arc-sum{font-size:14px;line-height:1.45;color:var(--gray)}
.arc-panels{margin-top:16px}
.arc-panel{background:var(--navy);color:#fff;border-radius:var(--radius);padding:clamp(28px,4vw,44px)}
.arc-panel-tag{font-size:12px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:10px}
.arc-panel h3{color:#fff;font-size:clamp(22px,2.2vw,28px);margin-bottom:12px}
.arc-panel p{color:rgba(223,231,244,.88);font-size:17.5px;line-height:1.6;margin:0;max-width:760px}
.arc-panel .txtlink.navy{color:var(--gold)}
@media (max-width:860px){.arc-steps{grid-template-columns:1fr;gap:6px}.arc-steps::before{display:none}.arc-step{flex-direction:row;text-align:left;align-items:center;gap:14px;padding:12px 14px}.arc-node{margin:0;flex:none;width:44px;height:44px}.arc-name{font-size:17px;min-width:80px}}
.do-list{margin:36px 0 0;border-top:1px solid var(--border)}
.do-row{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,2fr);gap:12px 40px;padding:22px 0;border-bottom:1px solid var(--border)}
.do-row dt{font-weight:700;color:var(--navy);font-size:17.5px}
.do-row dd{margin:0;color:var(--ink);font-size:16.5px;line-height:1.6}
@media (max-width:700px){.do-row{grid-template-columns:1fr;gap:6px}}
