/* @section: design-system */
:root {
  color-scheme: light;
  --navy-950: #061730;
  --navy-900: #0c2a46;
  --navy-800: #123a57;
  --teal-700: #305f7c;
  --teal-600: #2b7697;
  --cyan-500: #26c6da;
  --cyan-400: #4dd9ed;
  --cyan-300: #86e9f4;
  --slate-700: #4f5967;
  --slate-500: #89909a;
  --slate-400: #a8abb2;
  --slate-300: #c6c7c9;
  --silver-200: #dddddd;
  --silver-100: #eeeeee;
  --white: #ffffff;
  --ink: #071a2e;
  --ink-soft: #31445a;
  --muted: #687887;
  --line: rgba(12, 42, 70, 0.14);
  --line-dark: rgba(134, 233, 244, 0.15);
  --surface: rgba(255, 255, 255, 0.86);
  --surface-soft: #f5f7f8;
  --success: #11735b;
  --danger: #a43f4c;
  --warning: #9a6813;
  --font-display: "Avenir Next", "Century Gothic", "Futura", Montserrat, sans-serif;
  --font-body: "Avenir Next", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --font-serif: Georgia, "Times New Roman", serif;
  --container: 1240px;
  --radius-xs: 3px;
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 28px;
  --shadow-sm: 0 12px 32px rgba(6, 23, 48, 0.08);
  --shadow-lg: 0 28px 80px rgba(6, 23, 48, 0.18);
  --glow: 0 0 0 1px rgba(77, 217, 237, 0.2), 0 20px 70px rgba(38, 198, 218, 0.13);
  --ease: cubic-bezier(0.22, 1, 0.36, 1);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 122px; }
body {
  margin: 0;
  min-width: 320px;
  min-height: 100vh;
  overflow-x: hidden;
  background: var(--surface-soft);
  color: var(--ink);
  font-family: var(--font-body);
  font-size: 16px;
  line-height: 1.65;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img, svg, video, canvas { display: block; max-width: 100%; }
button, input, textarea, select { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
a { color: inherit; }
h1, h2, h3, p, blockquote, dl, dd { margin-top: 0; }
h1, h2, h3 { font-family: var(--font-display); }
::selection { background: var(--cyan-400); color: var(--navy-950); }

.skip-link {
  position: fixed;
  z-index: 10000;
  top: 12px;
  left: 12px;
  padding: 10px 16px;
  transform: translateY(-160%);
  border-radius: var(--radius-sm);
  background: var(--white);
  color: var(--navy-950);
  font-weight: 800;
  transition: transform 180ms ease;
}
.skip-link:focus { transform: translateY(0); }
.container { width: min(var(--container), calc(100% - 48px)); margin-inline: auto; }
.section { position: relative; padding: clamp(88px, 9vw, 144px) 0; }

/* @section: shared-typography */
.eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 22px;
  color: var(--teal-700);
  font-family: var(--font-display);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  line-height: 1.2;
  text-transform: uppercase;
}
.eyebrow > span { width: 38px; height: 1px; background: currentColor; }
.eyebrow-light { color: var(--cyan-300); }
.section-heading {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, 0.55fr);
  align-items: end;
  gap: clamp(40px, 8vw, 110px);
  margin-bottom: clamp(48px, 7vw, 90px);
}
.section-heading h2,
.overview-statement h2,
.partnership-heading h2,
.calculator-intro h2,
.contact-panel h2 {
  margin-bottom: 0;
  font-size: clamp(2.4rem, 5vw, 5rem);
  font-weight: 750;
  letter-spacing: -0.055em;
  line-height: 0.98;
}
.section-heading h2 em,
.overview-statement h2 em,
.partnership-heading h2 em,
.calculator-intro h2 em,
.contact-panel h2 em {
  font-family: var(--font-serif);
  font-weight: 400;
  letter-spacing: -0.035em;
}
.section-heading > p,
.partnership-heading > p {
  margin: 0;
  color: var(--muted);
  font-size: 1.03rem;
  line-height: 1.75;
}
.section-heading-dark { color: var(--white); }
.section-heading-dark > p { color: rgba(238, 238, 238, 0.72); }

/* @section: buttons */
.button {
  position: relative;
  display: inline-flex;
  min-height: 54px;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding: 0.9rem 1.4rem;
  overflow: hidden;
  border: 1px solid transparent;
  border-radius: var(--radius-xs);
  font-family: var(--font-display);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.12em;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 250ms var(--ease), background 250ms ease, border-color 250ms ease, box-shadow 250ms ease, color 250ms ease;
}
.button::before {
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 20%, rgba(255,255,255,.24), transparent 70%);
  content: "";
  transform: translateX(-120%);
  transition: transform 650ms var(--ease);
}
.button:hover::before { transform: translateX(120%); }
.button:hover { transform: translateY(-2px); }
.button:focus-visible { outline: 3px solid rgba(77, 217, 237, 0.45); outline-offset: 3px; }
.button-primary { background: linear-gradient(145deg, var(--teal-700), var(--navy-900)); box-shadow: 0 12px 28px rgba(6, 23, 48, 0.24); color: var(--white); }
.button-primary:hover { box-shadow: 0 16px 38px rgba(6, 23, 48, 0.32), 0 0 24px rgba(38, 198, 218, 0.2); }
.button-ghost { border-color: rgba(255,255,255,.42); background: rgba(6,23,48,.26); backdrop-filter: blur(14px); color: var(--white); }
.button-ghost:hover { border-color: var(--cyan-300); background: rgba(6,23,48,.55); }
.button-cyan { background: var(--cyan-400); box-shadow: 0 12px 34px rgba(38,198,218,.2); color: var(--navy-950); }
.button-cyan:hover { background: var(--cyan-300); box-shadow: 0 16px 40px rgba(38,198,218,.28); }
.button-full { width: 100%; justify-content: space-between; padding-inline: 20px; }
.button-full i { font-size: 1rem; font-style: normal; }

/* @section: site-header */
.site-header {
  position: fixed;
  z-index: 1000;
  top: 0;
  right: 0;
  left: 0;
  border-bottom: 1px solid rgba(255,255,255,.12);
  background: rgba(6,23,48,.38);
  backdrop-filter: blur(18px) saturate(140%);
  transition: background 300ms ease, box-shadow 300ms ease, border-color 300ms ease;
}
.site-header.is-scrolled { border-color: rgba(77,217,237,.12); background: rgba(6,23,48,.94); box-shadow: 0 14px 40px rgba(6,23,48,.18); }
.header-shell { width: min(1420px, calc(100% - 40px)); min-height: 124px; margin-inline: auto; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.brand-lockup { display: inline-flex; flex: 0 1 auto; align-items: center; gap: 17px; color: var(--white); text-decoration: none; }
.brand-mark-wrap { width: 88px; height: 106px; flex: 0 0 auto; overflow: hidden; border: 1px solid rgba(134,233,244,.3); border-radius: 13px; background: linear-gradient(145deg, #f5f6f7, #cfd3d6); box-shadow: inset 0 0 24px rgba(255,255,255,.85), 0 0 34px rgba(77,217,237,.16); }
.brand-mark-wrap img { width: 100%; height: 100%; padding: 3px; object-fit: contain; object-position: center; }
.brand-type { display: grid; min-width: max-content; line-height: 1; }
.brand-type strong { font-family: var(--font-display); font-size: 1.18rem; font-weight: 850; letter-spacing: .07em; }
.brand-type span { margin-top: 8px; color: var(--cyan-300); font-family: var(--font-serif); font-size: .72rem; letter-spacing: .32em; }
.primary-nav { display: flex; align-items: center; gap: clamp(14px, 2vw, 32px); }
.primary-nav a { position: relative; padding: 10px 0; color: rgba(255,255,255,.76); font-size: .71rem; font-weight: 700; letter-spacing: .055em; text-decoration: none; transition: color 180ms ease; }
.primary-nav a::after { position: absolute; right: 0; bottom: 3px; left: 0; height: 1px; background: var(--cyan-400); content: ""; transform: scaleX(0); transform-origin: left; transition: transform 220ms var(--ease); }
.primary-nav a:hover, .primary-nav a.is-active { color: var(--white); }
.primary-nav a:hover::after, .primary-nav a.is-active::after { transform: scaleX(1); }
.primary-nav .nav-contact { padding: 11px 17px; border: 1px solid rgba(134,233,244,.38); border-radius: var(--radius-xs); color: var(--cyan-300); }
.primary-nav .nav-contact::after { display: none; }
.primary-nav .nav-contact:hover { border-color: var(--cyan-300); background: rgba(77,217,237,.08); }
.menu-toggle { display: none; min-width: 52px; min-height: 48px; align-items: center; justify-content: center; gap: 10px; border: 1px solid rgba(134,233,244,.22); border-radius: var(--radius-xs); background: transparent; color: var(--white); cursor: pointer; }
.menu-toggle-label { font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.menu-lines { display: grid; gap: 5px; }
.menu-lines i { display: block; width: 17px; height: 1px; background: currentColor; transition: transform 180ms ease; }

/* @section: hero */
.hero { position: relative; min-height: 100svh; display: flex; align-items: center; overflow: hidden; background: var(--navy-950); color: var(--white); }
.hero-media, .hero-scrim, .hero-grid { position: absolute; inset: 0; }
.hero-media img { width: 100%; height: 100%; object-fit: cover; object-position: center; transform: scale(1.025); }
.hero-scrim { background: linear-gradient(90deg, rgba(6,23,48,.98) 0%, rgba(6,23,48,.88) 38%, rgba(6,23,48,.4) 67%, rgba(6,23,48,.18) 100%), linear-gradient(180deg, rgba(6,23,48,.5), transparent 40%, rgba(6,23,48,.72)); }
.hero-grid { opacity: .22; background-image: linear-gradient(rgba(134,233,244,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(134,233,244,.14) 1px, transparent 1px); background-size: 72px 72px; mask-image: linear-gradient(90deg, black, transparent 72%); }
.hero-content { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) minmax(250px, 350px); align-items: end; gap: clamp(50px, 7vw, 120px); padding-top: 190px; padding-bottom: 104px; }
.hero-copy { max-width: 930px; }
.hero-brand-title { max-width: 900px; margin: 0 0 24px; text-transform: uppercase; }
.hero-brand-title strong { display: block; background: linear-gradient(180deg, #ffffff 0%, #eef7f8 34%, #a8c2cc 67%, #ffffff 100%); background-clip: text; color: transparent; font-family: var(--font-display); font-size: clamp(4.8rem, 9.4vw, 9.6rem); font-weight: 900; letter-spacing: -.075em; line-height: .72; text-shadow: 0 15px 52px rgba(6,23,48,.42); }
.hero-brand-title span { display: block; width: fit-content; margin-top: .35em; padding: .18em 1.1em .14em 0; border-top: 1px solid rgba(134,233,244,.56); border-bottom: 1px solid rgba(134,233,244,.32); color: var(--cyan-300); font-family: var(--font-serif); font-size: clamp(1.8rem, 3.25vw, 3.6rem); font-weight: 400; letter-spacing: .34em; line-height: 1; }
.hero-strategy { max-width: 800px; margin: 0 0 24px; font-family: var(--font-display); font-size: clamp(1.7rem, 3.15vw, 3.45rem); font-weight: 750; letter-spacing: -.05em; line-height: 1.03; }
.hero-strategy em { color: var(--cyan-300); font-family: var(--font-serif); font-weight: 400; letter-spacing: -.035em; }
.hero-lead { max-width: 760px; margin-bottom: 32px; color: rgba(238,238,238,.82); font-size: clamp(1.03rem, 1.35vw, 1.25rem); line-height: 1.65; }
.brand-signature { max-width: 980px; margin: 0 0 32px; font-family: var(--font-display); font-size: clamp(3.2rem, 6.25vw, 6.5rem); font-weight: 900; letter-spacing: -.065em; line-height: .82; text-transform: uppercase; }
.brand-signature-light { background: linear-gradient(180deg, #fff, #a9c4cd 75%, #edf7f8); background-clip: text; color: transparent; }
.brand-signature-contact { color: rgba(255,255,255,.96); text-shadow: 0 18px 50px rgba(2,11,23,.28); }
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; }
.hero-proof { display: flex; flex-wrap: wrap; align-items: center; gap: 11px; margin-top: 34px; color: rgba(255,255,255,.55); font-size: .65rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.hero-proof i { width: 3px; height: 3px; border-radius: 50%; background: var(--cyan-400); }
.hero-brief { padding: 26px 26px 22px; border: 1px solid rgba(134,233,244,.24); border-radius: var(--radius-md); background: linear-gradient(145deg, rgba(48,95,124,.28), rgba(6,23,48,.58)); box-shadow: var(--glow); backdrop-filter: blur(18px); }
.brief-index { margin-bottom: 28px; color: var(--cyan-400); font-size: .66rem; font-weight: 800; letter-spacing: .2em; }
.hero-brief h2 { margin-bottom: 24px; font-size: clamp(1.4rem, 2vw, 2rem); letter-spacing: -.04em; line-height: 1.1; }
.hero-brief dl { margin-bottom: 0; }
.hero-brief dl > div { display: grid; grid-template-columns: 30px 1fr; align-items: center; padding: 11px 0; border-top: 1px solid rgba(255,255,255,.11); }
.hero-brief dt { color: var(--cyan-300); font-family: var(--font-serif); }
.hero-brief dd { margin: 0; color: rgba(255,255,255,.78); font-size: .77rem; font-weight: 650; letter-spacing: .04em; }
.scroll-cue { position: absolute; z-index: 3; right: 34px; bottom: 32px; display: flex; align-items: center; gap: 12px; color: rgba(255,255,255,.55); font-size: .6rem; font-weight: 800; letter-spacing: .18em; text-decoration: none; text-transform: uppercase; transform: rotate(90deg); transform-origin: right center; }
.scroll-cue span { width: 44px; height: 1px; background: var(--cyan-400); }

/* @section: executive-overview */
.overview { overflow: hidden; background: radial-gradient(circle at 78% 22%, rgba(48,95,124,.12), transparent 28%), linear-gradient(140deg, #fff, #edf0f2); }
.overview::before { position: absolute; top: -160px; right: -130px; width: 430px; height: 430px; border: 1px solid rgba(48,95,124,.12); border-radius: 50%; box-shadow: 0 0 80px rgba(48,95,124,.08); content: ""; }
.overview-grid { display: grid; grid-template-columns: .58fr 1.65fr .95fr; gap: clamp(26px, 4vw, 56px); align-items: start; }
.section-kicker { display: flex; min-height: 100%; flex-direction: column; justify-content: space-between; }
.section-number { margin: 50px 0 0; color: var(--slate-300); font-family: var(--font-serif); font-size: 5rem; line-height: 1; }
.overview-statement { grid-column: 2 / 4; padding-bottom: 60px; border-bottom: 1px solid var(--line); }
.overview-statement h2 { max-width: 980px; }
.mission-card, .vision-card { min-height: 330px; padding: clamp(28px, 4vw, 48px); }
.mission-card { grid-column: 2; position: relative; overflow: hidden; border-radius: var(--radius-lg); background: linear-gradient(150deg, var(--navy-950), var(--navy-800)); box-shadow: var(--shadow-lg); color: var(--white); }
.mission-card::after { position: absolute; right: -80px; bottom: -110px; width: 280px; height: 280px; border: 1px solid rgba(134,233,244,.19); border-radius: 50%; box-shadow: 0 0 70px rgba(38,198,218,.12); content: ""; }
.vision-card { border: 1px solid rgba(48,95,124,.16); border-radius: var(--radius-lg); background: rgba(255,255,255,.56); backdrop-filter: blur(18px); }
.card-label { margin-bottom: 40px; color: var(--cyan-400); font-size: .66rem; font-weight: 800; letter-spacing: .2em; text-transform: uppercase; }
.mission-card blockquote { position: relative; z-index: 1; margin-bottom: 0; font-family: var(--font-serif); font-size: clamp(1.45rem, 2.3vw, 2.25rem); line-height: 1.35; }
.vision-card p:last-child { margin-bottom: 0; color: var(--ink-soft); font-size: clamp(1.08rem, 1.4vw, 1.25rem); line-height: 1.75; }

/* @section: manufacturer-partnership */
.partnership { overflow: hidden; background: var(--navy-950); color: var(--white); }
.partnership::before { position: absolute; inset: 0; opacity: .18; background-image: linear-gradient(120deg, transparent 0 55%, rgba(77,217,237,.12) 55% 55.2%, transparent 55.2%), radial-gradient(circle at 85% 20%, rgba(38,198,218,.35), transparent 23%); content: ""; }
.partnership .container { position: relative; }
.partnership-heading { display: grid; grid-template-columns: 1.25fr .62fr; align-items: end; gap: clamp(50px, 8vw, 120px); margin-bottom: 86px; }
.partnership-heading h2 { max-width: 800px; }
.partnership-heading > p { color: rgba(238,238,238,.7); }
.partnership-rail { margin: 0 0 76px; padding: 0; list-style: none; }
.partnership-rail li { display: grid; grid-template-columns: 80px 1fr; gap: clamp(18px, 3vw, 50px); padding: 28px 0; border-top: 1px solid rgba(134,233,244,.14); }
.partnership-rail li:last-child { border-bottom: 1px solid rgba(134,233,244,.14); }
.rail-number { color: var(--cyan-400); font-family: var(--font-serif); font-size: 1.1rem; }
.partnership-rail li > div { display: grid; grid-template-columns: minmax(180px, .45fr) minmax(260px, 1fr); gap: 40px; }
.partnership-rail h3 { margin: 0; font-size: clamp(1.15rem, 1.6vw, 1.45rem); letter-spacing: -.025em; }
.partnership-rail p { max-width: 650px; margin: 0; color: rgba(238,238,238,.66); }
.partner-callout { display: flex; align-items: end; justify-content: space-between; gap: 40px; padding: clamp(28px, 4vw, 48px); border: 1px solid rgba(134,233,244,.24); border-radius: var(--radius-lg); background: linear-gradient(120deg, rgba(48,95,124,.32), rgba(12,42,70,.38)); box-shadow: var(--glow); }
.partner-callout .card-label { margin-bottom: 12px; }
.partner-callout h3 { max-width: 780px; margin: 0; font-family: var(--font-serif); font-size: clamp(1.5rem, 2.6vw, 2.7rem); font-weight: 400; line-height: 1.18; }
.partner-callout .button { flex: 0 0 auto; }

/* @section: corporate-divisions */
.divisions { background: linear-gradient(180deg, #f7f8f9, #e9edef); }
.division-tabs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; margin-bottom: 30px; background: rgba(12,42,70,.16); border: 1px solid rgba(12,42,70,.16); }
.division-tabs button { position: relative; min-height: 78px; display: flex; align-items: center; justify-content: center; gap: 10px; padding: 16px; border: 0; background: rgba(255,255,255,.86); color: var(--slate-700); font-size: .75rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; cursor: pointer; transition: background 220ms ease, color 220ms ease; }
.division-tabs button span { color: var(--teal-700); font-family: var(--font-serif); }
.division-tabs button::after { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; background: var(--cyan-400); content: ""; transform: scaleX(0); transition: transform 220ms var(--ease); }
.division-tabs button:hover { background: var(--white); color: var(--navy-950); }
.division-tabs button:focus-visible { z-index: 1; outline: 3px solid rgba(38,198,218,.35); outline-offset: -3px; }
.division-tabs button[aria-selected="true"] { background: var(--navy-950); color: var(--white); }
.division-tabs button[aria-selected="true"] span { color: var(--cyan-300); }
.division-tabs button[aria-selected="true"]::after { transform: scaleX(1); }
.division-panels { min-height: 650px; }
.division-panel { display: grid; grid-template-columns: 1.02fr .98fr; min-height: 650px; overflow: hidden; border-radius: var(--radius-lg); background: var(--white); box-shadow: var(--shadow-lg); }
.division-panel[hidden] { display: none; }
.division-panel.is-active { animation: panelIn 520ms var(--ease) both; }
.division-image { min-height: 520px; overflow: hidden; background: var(--navy-900); }
.division-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease); }
.division-panel:hover .division-image img { transform: scale(1.025); }
.division-copy { padding: clamp(38px, 5vw, 78px); }
.division-code { margin-bottom: 30px; color: var(--teal-600); font-size: .68rem; font-weight: 800; letter-spacing: .14em; }
.division-copy h3 { margin-bottom: 24px; font-size: clamp(2.25rem, 4vw, 4.5rem); letter-spacing: -.055em; line-height: .98; }
.division-copy h3 em { display: block; color: var(--teal-700); font-family: var(--font-serif); font-weight: 400; }
.division-lead { margin-bottom: 32px; color: var(--ink-soft); font-size: 1.07rem; line-height: 1.75; }
.division-detail-grid { display: grid; gap: 0; margin-bottom: 34px; }
.division-detail-grid > div { display: grid; grid-template-columns: 130px 1fr; gap: 20px; padding: 17px 0; border-top: 1px solid var(--line); }
.division-detail-grid span { color: var(--navy-900); font-size: .67rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.division-detail-grid p { margin: 0; color: var(--muted); font-size: .9rem; line-height: 1.6; }
.text-link { display: inline-flex; align-items: center; gap: 14px; color: var(--navy-900); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-decoration: none; text-transform: uppercase; }
.text-link span { display: grid; width: 30px; height: 30px; place-items: center; border-radius: 50%; background: var(--cyan-400); transition: transform 180ms ease; }
.text-link:hover span { transform: translate(3px, -3px); }

/* @section: investor-roadmap */
.investor-roadmap { overflow: hidden; background: linear-gradient(145deg, var(--navy-950), #0b2740 60%, #123b57); color: var(--white); }
.roadmap-grid { position: absolute; inset: 0; opacity: .15; background-image: linear-gradient(rgba(134,233,244,.14) 1px, transparent 1px), linear-gradient(90deg, rgba(134,233,244,.14) 1px, transparent 1px); background-size: 64px 64px; }
.investor-roadmap .container { position: relative; }
.roadmap-track { position: relative; margin-top: 20px; }
.roadmap-track::before { position: absolute; top: 0; bottom: 0; left: 112px; width: 1px; background: linear-gradient(var(--cyan-400), rgba(134,233,244,.1)); content: ""; }
.roadmap-stage { position: relative; display: grid; grid-template-columns: 82px 60px 1fr; align-items: start; min-height: 165px; }
.roadmap-stage > p { padding-top: 4px; color: var(--cyan-300); font-size: .62rem; font-weight: 850; letter-spacing: .18em; }
.roadmap-node { position: relative; z-index: 1; width: 15px; height: 15px; margin: 3px auto 0; border: 3px solid var(--navy-950); border-radius: 50%; background: var(--cyan-400); box-shadow: 0 0 22px rgba(77,217,237,.55); }
.roadmap-stage > div { display: grid; grid-template-columns: minmax(210px, .65fr) minmax(260px, 1fr); gap: 50px; padding: 0 0 52px 28px; }
.roadmap-stage small { grid-column: 1 / -1; margin-bottom: -25px; color: rgba(238,238,238,.45); font-size: .62rem; font-weight: 800; letter-spacing: .13em; }
.roadmap-stage h3 { margin: 0; font-size: clamp(1.2rem, 1.8vw, 1.65rem); letter-spacing: -.025em; line-height: 1.3; }
.roadmap-stage div > p { margin: 0; color: rgba(238,238,238,.64); }
.roadmap-note { margin: 24px 0 0 142px; padding: 20px 24px; border-left: 2px solid var(--cyan-400); background: rgba(255,255,255,.05); color: rgba(238,238,238,.68); font-size: .82rem; }
.roadmap-note strong { color: var(--white); }

/* @section: calculator */
.calculator-section { background: radial-gradient(circle at 20% 20%, rgba(48,95,124,.15), transparent 24%), #eef1f2; }
.calculator-layout { display: grid; grid-template-columns: .72fr 1.28fr; gap: clamp(50px, 8vw, 120px); align-items: start; }
.calculator-intro { position: sticky; top: 130px; }
.calculator-intro h2 { margin-bottom: 30px; }
.calculator-intro > p:not(.eyebrow) { color: var(--muted); font-size: 1.03rem; }
.calculator-disclaimer { display: grid; gap: 8px; margin-top: 34px; padding: 18px 20px; border-left: 2px solid var(--warning); background: rgba(255,255,255,.58); }
.calculator-disclaimer strong { color: var(--warning); font-size: .69rem; letter-spacing: .12em; text-transform: uppercase; }
.calculator-disclaimer span { color: var(--muted); font-size: .82rem; }
.calculator-card { padding: clamp(28px, 4vw, 52px); border: 1px solid rgba(48,95,124,.15); border-radius: var(--radius-lg); background: rgba(255,255,255,.9); box-shadow: var(--shadow-lg); backdrop-filter: blur(20px); }
.form-grid, .booking-contact-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
label { display: grid; gap: 8px; color: var(--navy-900); font-size: .69rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
label.wide { grid-column: 1 / -1; }
input, select, textarea { width: 100%; min-height: 50px; padding: 13px 14px; border: 1px solid rgba(12,42,70,.18); border-radius: var(--radius-sm); outline: none; background: rgba(247,248,249,.92); color: var(--ink); font-size: .92rem; font-weight: 500; letter-spacing: normal; text-transform: none; transition: border-color 180ms ease, box-shadow 180ms ease, background 180ms ease; }
textarea { resize: vertical; }
input:hover, select:hover, textarea:hover { border-color: rgba(48,95,124,.45); }
input:focus, select:focus, textarea:focus { border-color: var(--teal-600); background: var(--white); box-shadow: 0 0 0 3px rgba(38,198,218,.14); }
input:user-invalid, select:user-invalid, textarea:user-invalid { border-color: var(--danger); }
.add-ons { display: grid; gap: 12px; margin: 26px 0; padding: 20px; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.add-ons legend { padding: 0 8px; color: var(--navy-900); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.add-ons label, .consent { display: flex; align-items: flex-start; gap: 10px; color: var(--ink-soft); font-size: .82rem; font-weight: 600; letter-spacing: normal; line-height: 1.5; text-transform: none; }
.add-ons input, .consent input { width: 18px; min-width: 18px; height: 18px; min-height: 0; margin-top: 2px; accent-color: var(--teal-600); }
.estimate-output { margin: 0 0 28px; padding: 24px; border-radius: var(--radius-md); background: linear-gradient(145deg, var(--navy-950), var(--navy-800)); box-shadow: var(--glow); color: var(--white); }
.estimate-output > div { display: flex; align-items: end; justify-content: space-between; gap: 20px; }
.estimate-output span { color: var(--cyan-300); font-size: .68rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.estimate-output strong { font-family: var(--font-display); font-size: clamp(1.8rem, 3vw, 2.8rem); letter-spacing: -.05em; }
.estimate-output p { margin: 10px 0 0; color: rgba(238,238,238,.6); font-size: .75rem; }
.booking-contact-grid { margin-bottom: 18px; }
.consent { margin: 18px 0; }
.honeypot { position: absolute !important; left: -9999px !important; opacity: 0 !important; pointer-events: none !important; }
.form-status { min-height: 24px; margin: 12px 0 0; color: var(--muted); font-size: .78rem; }
.form-status.is-success { color: var(--success); }
.form-status.is-error { color: var(--danger); }
.form-status-dark.is-success { color: var(--cyan-300); }
.form-status-dark.is-error { color: #ffb8c0; }

/* @section: inquiry */
.inquiry { overflow: hidden; background: linear-gradient(128deg, var(--navy-950) 0 42%, var(--navy-900) 42% 100%); color: var(--white); }
.inquiry::after { position: absolute; top: -200px; right: -160px; width: 560px; height: 560px; border: 1px solid rgba(134,233,244,.14); border-radius: 50%; box-shadow: inset 0 0 100px rgba(38,198,218,.08), 0 0 100px rgba(38,198,218,.08); content: ""; }
.inquiry-grid { position: relative; z-index: 1; display: grid; grid-template-columns: .78fr 1.22fr; gap: clamp(55px, 9vw, 130px); align-items: start; }
.contact-panel h2 { margin-bottom: 30px; }
.contact-panel > p:not(.eyebrow) { color: rgba(238,238,238,.68); }
.contact-panel address { display: grid; gap: 28px; margin-top: 52px; font-style: normal; }
.contact-panel address > div { display: grid; grid-template-columns: 100px 1fr; gap: 20px; padding-top: 18px; border-top: 1px solid rgba(134,233,244,.15); }
.contact-panel address span { color: var(--cyan-300); font-size: .65rem; font-weight: 800; letter-spacing: .11em; text-transform: uppercase; }
.contact-panel address p, .contact-panel address a { margin: 0; color: rgba(255,255,255,.83); font-size: .9rem; line-height: 1.65; text-decoration: none; }
.contact-panel address div > a + a { grid-column: 2; }
.contact-panel address a:hover { color: var(--cyan-300); }
.inquiry-form { padding: clamp(30px, 4vw, 54px); border: 1px solid rgba(134,233,244,.2); border-radius: var(--radius-lg); background: rgba(6,23,48,.43); box-shadow: var(--glow); backdrop-filter: blur(22px); }
.form-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 30px; padding-bottom: 20px; border-bottom: 1px solid rgba(134,233,244,.14); }
.form-heading p { margin: 0; font-family: var(--font-display); font-size: 1.08rem; font-weight: 800; }
.form-heading span { color: rgba(238,238,238,.45); font-size: .67rem; letter-spacing: .08em; text-transform: uppercase; }
.inquiry-form label { color: var(--cyan-300); }
.inquiry-form input, .inquiry-form select, .inquiry-form textarea { border-color: rgba(134,233,244,.18); background: rgba(255,255,255,.07); color: var(--white); }
.inquiry-form select option { background: var(--navy-950); color: var(--white); }
.inquiry-form input::placeholder, .inquiry-form textarea::placeholder { color: rgba(238,238,238,.36); }
.inquiry-form input:focus, .inquiry-form select:focus, .inquiry-form textarea:focus { border-color: var(--cyan-400); background: rgba(255,255,255,.1); box-shadow: 0 0 0 3px rgba(77,217,237,.12); }
.inquiry-form .consent { color: rgba(238,238,238,.65); }

/* @section: site-footer */
.site-footer { padding: 76px 0 22px; background: #020b17; color: var(--white); }
.footer-grid { display: grid; grid-template-columns: 1.45fr repeat(3, .65fr); gap: 50px; padding-bottom: 62px; }
.footer-brand > p { max-width: 300px; color: rgba(238,238,238,.47); font-size: .85rem; }
.footer-lockup { display: flex; align-items: center; gap: 16px; margin-bottom: 24px; }
.footer-lockup img { width: 62px; height: 52px; object-fit: cover; border-radius: var(--radius-sm); }
.footer-lockup > div { display: grid; line-height: 1; }
.footer-lockup strong { font-family: var(--font-display); letter-spacing: .08em; }
.footer-lockup span { margin-top: 7px; color: var(--cyan-300); font-family: var(--font-serif); font-size: .68rem; letter-spacing: .28em; }
.footer-title { margin-bottom: 18px; color: var(--cyan-300); font-size: .66rem; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.footer-grid > div:not(.footer-brand) { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.footer-grid a { color: rgba(238,238,238,.58); font-size: .8rem; text-decoration: none; transition: color 180ms ease; overflow-wrap: anywhere; }
.footer-grid a:hover { color: var(--white); }
.footer-bottom { display: flex; align-items: center; justify-content: space-between; gap: 30px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.09); }
.footer-bottom p { margin: 0; color: rgba(238,238,238,.35); font-size: .67rem; }

/* @section: motion */
.reveal { opacity: 1; transform: none; }
.js-ready .reveal { opacity: 1; transform: none; }
.js-ready .reveal.is-visible { animation: revealIn 720ms var(--ease) both; }
@keyframes revealIn { from { opacity: .74; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
@keyframes panelIn { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: translateY(0); } }

/* @section: responsive-tablet */
@media (max-width: 1080px) {
  .header-shell { gap: 16px; }
  .brand-mark-wrap { width: 76px; height: 92px; }
  .brand-lockup { gap: 12px; }
  .brand-type strong { font-size: 1rem; }
  .brand-type span { font-size: .63rem; }
  .primary-nav { gap: 13px; }
  .primary-nav a { font-size: .64rem; }
  .primary-nav .nav-contact { padding-inline: 12px; }
  .hero-content { grid-template-columns: 1fr 290px; gap: 40px; }
  .overview-grid { grid-template-columns: .4fr 1.4fr 1fr; }
  .division-panel { grid-template-columns: .9fr 1.1fr; }
  .division-copy { padding: 42px; }
  .inquiry-grid, .calculator-layout { gap: 60px; }
  .footer-grid { grid-template-columns: 1.2fr repeat(3, .7fr); gap: 32px; }
}

@media (max-width: 900px) {
  .container { width: min(100% - 36px, var(--container)); }
  .menu-toggle { display: inline-flex; }
  .primary-nav { position: fixed; inset: 124px 0 auto; max-height: calc(100svh - 124px); display: grid; align-content: start; gap: 0; padding: 24px 24px 32px; overflow: auto; background: rgba(6,23,48,.98); border-top: 1px solid rgba(134,233,244,.12); box-shadow: 0 30px 50px rgba(6,23,48,.35); transform: translateY(-130%); visibility: hidden; transition: transform 340ms var(--ease), visibility 340ms; }
  .primary-nav.is-open { transform: translateY(0); visibility: visible; }
  .primary-nav a, .primary-nav .nav-contact { padding: 18px 8px; border: 0; border-bottom: 1px solid rgba(134,233,244,.1); border-radius: 0; font-size: .8rem; }
  .primary-nav a::after { display: none; }
  .menu-toggle[aria-expanded="true"] .menu-lines i:first-child { transform: translateY(3px) rotate(45deg); }
  .menu-toggle[aria-expanded="true"] .menu-lines i:last-child { transform: translateY(-3px) rotate(-45deg); }
  .hero-content { grid-template-columns: 1fr; align-items: end; padding-top: 150px; }
  .hero-brief { max-width: 520px; }
  .hero h1 { font-size: clamp(3.4rem, 11vw, 6.3rem); }
  .section-heading, .partnership-heading { grid-template-columns: 1fr; gap: 28px; }
  .overview-grid { grid-template-columns: .3fr 1fr; }
  .overview-statement { grid-column: 2; }
  .mission-card { grid-column: 2; }
  .vision-card { grid-column: 2; }
  .division-panel { grid-template-columns: 1fr; }
  .division-image { min-height: 430px; max-height: 530px; }
  .division-tabs { grid-template-columns: repeat(2, 1fr); }
  .calculator-layout, .inquiry-grid { grid-template-columns: 1fr; }
  .calculator-intro { position: static; }
  .inquiry { background: linear-gradient(160deg, var(--navy-950), var(--navy-900)); }
  .footer-grid { grid-template-columns: 1.2fr 1fr 1fr; }
  .footer-brand { grid-column: 1 / -1; }
}

/* @section: responsive-mobile */
@media (max-width: 640px) {
  html { scroll-padding-top: 102px; }
  .container { width: min(100% - 28px, var(--container)); }
  .section { padding: 78px 0; }
  .header-shell { width: calc(100% - 24px); min-height: 96px; gap: 12px; }
  .brand-lockup { gap: 10px; }
  .brand-mark-wrap { width: 60px; height: 74px; border-radius: 10px; }
  .brand-type strong { font-size: .84rem; }
  .brand-type span { margin-top: 6px; font-size: .55rem; letter-spacing: .24em; }
  .primary-nav { inset: 96px 0 auto; max-height: calc(100svh - 96px); }
  .menu-toggle { min-width: 48px; min-height: 44px; }
  .menu-toggle-label { display: none; }
  .hero { min-height: 1050px; align-items: end; }
  .hero-media img { object-position: 64% center; }
  .hero-scrim { background: linear-gradient(180deg, rgba(6,23,48,.54), rgba(6,23,48,.88) 39%, rgba(6,23,48,.99) 78%); }
  .hero-grid { background-size: 48px 48px; mask-image: linear-gradient(180deg, transparent, black); }
  .hero-content { gap: 34px; padding-top: 136px; padding-bottom: 58px; }
  .hero-brand-title { margin-bottom: 20px; }
  .hero-brand-title strong { font-size: clamp(3.2rem, 15vw, 4.35rem); line-height: .78; }
  .hero-brand-title span { max-width: 100%; margin-top: .42em; padding-right: .35em; font-size: clamp(1.25rem, 6.5vw, 1.75rem); letter-spacing: .23em; }
  .hero-strategy { margin-bottom: 20px; font-size: clamp(1.75rem, 8.6vw, 2.55rem); line-height: 1.02; }
  .brand-signature { margin-bottom: 26px; font-size: clamp(2.8rem, 13vw, 4rem); line-height: .86; overflow-wrap: anywhere; }
  .hero-lead { font-size: .98rem; }
  .hero-actions { display: grid; }
  .button { width: 100%; }
  .hero-proof { gap: 8px; margin-top: 24px; }
  .hero-brief { padding: 22px; }
  .scroll-cue { display: none; }
  .section-heading h2, .overview-statement h2, .partnership-heading h2, .calculator-intro h2, .contact-panel h2 { font-size: clamp(2.35rem, 12vw, 3.6rem); }
  .overview-grid { grid-template-columns: 1fr; }
  .section-kicker { min-height: auto; flex-direction: row; align-items: center; }
  .section-kicker .eyebrow { margin: 0; }
  .section-number { margin: 0; font-size: 2.8rem; }
  .overview-statement, .mission-card, .vision-card { grid-column: 1; }
  .overview-statement { padding-bottom: 38px; }
  .mission-card, .vision-card { min-height: 0; }
  .mission-card blockquote { font-size: 1.45rem; }
  .partnership-rail li { grid-template-columns: 44px 1fr; gap: 12px; }
  .partnership-rail li > div { grid-template-columns: 1fr; gap: 10px; }
  .partner-callout { align-items: stretch; flex-direction: column; }
  .partner-callout .button { flex: initial; }
  .division-tabs { display: flex; margin-right: -14px; margin-left: -14px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
  .division-tabs::-webkit-scrollbar { display: none; }
  .division-tabs button { min-width: 160px; scroll-snap-align: start; }
  .division-panels { min-height: 0; }
  .division-panel { min-height: 0; border-radius: var(--radius-md); }
  .division-image { min-height: 280px; }
  .division-copy { padding: 30px 24px 34px; }
  .division-copy h3 { font-size: 2.55rem; }
  .division-detail-grid > div { grid-template-columns: 1fr; gap: 7px; }
  .roadmap-track::before { left: 17px; }
  .roadmap-stage { grid-template-columns: 35px 1fr; min-height: 0; }
  .roadmap-stage > p { display: none; }
  .roadmap-node { grid-column: 1; grid-row: 1; margin: 3px auto 0; }
  .roadmap-stage > div { grid-column: 2; grid-template-columns: 1fr; gap: 12px; padding: 0 0 50px 20px; }
  .roadmap-stage small { grid-column: auto; margin-bottom: 0; }
  .roadmap-note { margin-left: 0; }
  .calculator-card, .inquiry-form { padding: 24px 18px; border-radius: var(--radius-md); }
  .form-grid, .booking-contact-grid { grid-template-columns: 1fr; }
  label.wide { grid-column: auto; }
  .estimate-output > div { align-items: flex-start; flex-direction: column; gap: 8px; }
  .form-heading { align-items: flex-start; flex-direction: column; gap: 4px; }
  .contact-panel address > div { grid-template-columns: 1fr; gap: 8px; }
  .contact-panel address div > a + a { grid-column: 1; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand, .footer-grid > div:last-child { grid-column: 1 / -1; }
  .footer-grid > div:last-child a { overflow-wrap: normal; word-break: normal; }
  .footer-bottom { align-items: flex-start; flex-direction: column; gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .js-ready .reveal { opacity: 1; transform: none; }
}
