/*
  Aces High Aviation — shared stylesheet
  Style: editorial flight-plan / pilot's briefing
  Brand: white/red student-facing (red #E63946, gold #C9A961)
  Fonts: Bebas Neue (heads), Manrope (body), JetBrains Mono (numbers)
*/

html, body { margin: 0; padding: 0; background: #EFEAE0; }

.aha-page {
  --paper:        #FAFAF7;
  --paper-2:      #F4F0E5;
  --paper-3:      #ECE6D8;
  --ink:          #1A1F2E;
  --ink-soft:     #4A5260;
  --ink-faint:    #8B92A0;
  --hair:         rgba(26, 31, 46, 0.14);
  --hair-strong:  rgba(26, 31, 46, 0.28);
  --red:          #E63946;
  --red-deep:     #B91C2C;
  --gold:         #C9A961;
  --gold-soft:    #E8D9A8;

  background: var(--paper);
  color: var(--ink);
  font-family: 'Manrope', system-ui, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  padding: 0;
  margin: 0 auto;
  max-width: 1280px;
  overflow: hidden;
  position: relative;
}
.aha-page *, .aha-page *::before, .aha-page *::after { box-sizing: border-box; }
.aha-page a { color: inherit; }

.aha-page::before {
  content: '';
  position: absolute; inset: 0;
  pointer-events: none;
  opacity: 0.035;
  z-index: 1;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160' viewBox='0 0 160 160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='160' height='160' filter='url(%23n)' opacity='0.9'/></svg>");
}
.aha-page > * { position: relative; z-index: 2; }

@keyframes aha-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 0.35; transform: scale(0.7); }
}
@keyframes aha-rotate {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* === MASTHEAD === */
.aha-page .masthead { border-bottom: 1px solid var(--hair-strong); padding: 22px 40px; display: flex; align-items: center; gap: 28px; }
.aha-page .masthead-mark { display: flex; align-items: center; gap: 14px; text-decoration: none; color: var(--ink); flex: 0 0 auto; }
.aha-page .masthead-mark img { display: block; height: 48px; width: auto; }
.aha-page .masthead-wordmark { font-family: 'Bebas Neue', sans-serif; font-size: 26px; letter-spacing: 0.04em; line-height: 0.9; }
.aha-page .masthead-wordmark span { display: block; font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: 0.22em; color: var(--ink-faint); font-weight: 500; margin-top: 5px; }
.aha-page .masthead-rule { width: 1px; height: 36px; background: var(--hair-strong); flex: 0 0 auto; }
.aha-page .masthead-meta { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-soft); display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.aha-page .masthead-meta .dot { width: 6px; height: 6px; background: var(--red); border-radius: 50%; flex: 0 0 auto; animation: aha-pulse 2.6s ease-in-out infinite; }
.aha-page .masthead-meta .sep { color: var(--hair-strong); }
.aha-page .masthead-id { margin-left: auto; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink); font-weight: 600; flex: 0 0 auto; }
@media (max-width: 900px) {
  .aha-page .masthead { padding: 16px 22px; gap: 16px; flex-wrap: wrap; }
  .aha-page .masthead-mark img { height: 40px; }
  .aha-page .masthead-wordmark { font-size: 22px; }
  .aha-page .masthead-rule { display: none; }
  .aha-page .masthead-meta { font-size: 10px; gap: 10px; width: 100%; }
  .aha-page .masthead-id { font-size: 10px; margin-left: 0; width: 100%; }
}

/* === NAV STRIP === */
.aha-page .strip { border-bottom: 1px solid var(--hair-strong); padding: 14px 40px; display: flex; align-items: center; gap: 28px; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-soft); background: var(--paper); position: relative; z-index: 50; }
.aha-page .strip a { color: var(--ink-soft); text-decoration: none; transition: color .2s; position: relative; padding: 4px 0; }
.aha-page .strip a:hover, .aha-page .strip a.current { color: var(--ink); }
.aha-page .strip a.current { color: var(--red); }
.aha-page .strip a::after { content: ''; position: absolute; left: 0; right: 0; bottom: -4px; height: 1px; background: var(--red); transform: scaleX(0); transition: transform .25s; transform-origin: left; }
.aha-page .strip a:hover::after, .aha-page .strip a.current::after { transform: scaleX(1); }
.aha-page .strip-spacer { flex: 1; }
.aha-page .strip-cta { background: var(--ink); color: var(--paper) !important; padding: 8px 16px; transition: background .25s; }
.aha-page .strip-cta:hover { background: var(--red); color: var(--paper) !important; }
.aha-page .strip-cta::after { display: none; }
@media (max-width: 900px) {
  .aha-page .strip { padding: 12px 22px; gap: 16px; font-size: 10px; }
  .aha-page .strip-spacer { display: none; }
}

/* === DROPDOWN MEGA-NAV (page reachability + mobile) === */
.aha-page .strip .nav-links { display: flex; align-items: center; gap: 32px; flex: 1; }
.aha-page .strip .nav-toggle { display: none; background: none; border: 0; color: var(--ink); font-size: 20px; line-height: 1; cursor: pointer; padding: 2px 4px; }
.aha-page .strip .nav-group { position: relative; }
.aha-page .strip .nav-top { font: inherit; font-size: 13px; font-weight: 600; letter-spacing: inherit; text-transform: inherit; color: var(--ink-soft); background: none; border: 0; padding: 4px 0; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; transition: color .2s; position: relative; }
.aha-page .strip .nav-top:hover, .aha-page .strip .nav-group.open .nav-top { color: var(--ink); }
.aha-page .strip .nav-top::after { content: ''; position: absolute; left: 0; right: 0; bottom: -2px; height: 2px; background: var(--red); transform: scaleX(0); transform-origin: left; transition: transform .25s; }
.aha-page .strip .nav-group:hover .nav-top::after, .aha-page .strip .nav-group.open .nav-top::after { transform: scaleX(1); }
.aha-page .strip .nav-links > a { font-size: 13px; font-weight: 600; }
.aha-page .strip .nav-caret { font-size: 10px; transition: transform .2s; }
.aha-page .strip .nav-group:hover .nav-caret, .aha-page .strip .nav-group.open .nav-caret { transform: rotate(180deg); }
.aha-page .strip .nav-menu { position: absolute; top: calc(100% + 12px); left: -16px; min-width: 250px; background: var(--paper); border: 1px solid var(--hair-strong); border-top: 2px solid var(--red); box-shadow: 0 18px 44px rgba(0,0,0,.16); padding: 6px 0; display: none; flex-direction: column; z-index: 200; }
.aha-page .strip .nav-group:hover .nav-menu, .aha-page .strip .nav-group:focus-within .nav-menu, .aha-page .strip .nav-group.open .nav-menu { display: flex; }
.aha-page .strip .nav-menu a { padding: 11px 20px; font-size: 12.5px; color: var(--ink-soft); white-space: nowrap; letter-spacing: 0.12em; }
.aha-page .strip .nav-menu a::after { display: none; }
.aha-page .strip .nav-menu a:hover { color: var(--ink); background: rgba(230, 57, 70, 0.05); }
@media (min-width: 901px) {
  .aha-page .strip .nav-group:hover::after, .aha-page .strip .nav-group.open::after { content: ''; position: absolute; left: -16px; right: -16px; top: 100%; height: 16px; }
}
@media (max-width: 900px) {
  .aha-page .strip { flex-wrap: nowrap; justify-content: space-between; position: relative; }
  .aha-page .strip .nav-toggle { display: inline-flex; }
  .aha-page .strip .nav-links { display: none; position: absolute; top: 100%; left: 0; right: 0; flex-direction: column; align-items: stretch; gap: 0; background: var(--paper); border-bottom: 1px solid var(--hair-strong); box-shadow: 0 14px 34px rgba(0,0,0,.10); padding: 6px 22px 16px; max-height: 80vh; overflow-y: auto; z-index: 200; }
  .aha-page .strip.open .nav-links { display: flex; }
  .aha-page .strip .nav-links > a, .aha-page .strip .nav-group { width: 100%; border-bottom: 1px solid var(--hair); padding: 12px 0; }
  .aha-page .strip .nav-top { width: 100%; justify-content: space-between; }
  .aha-page .strip .nav-group:hover .nav-menu { display: none; }
  .aha-page .strip .nav-group.open .nav-menu { display: flex; position: static; border: 0; box-shadow: none; min-width: 0; padding: 6px 0 2px 14px; }
  .aha-page .strip .strip-cta { align-self: flex-start; margin-top: 10px; }
}

/* === HERO === */
.aha-page .hero { padding: 72px 40px 64px; display: grid; grid-template-columns: 1fr 240px; gap: 56px; align-items: end; border-bottom: 1px solid var(--hair); }
@media (max-width: 900px) { .aha-page .hero { grid-template-columns: 1fr; padding: 48px 22px; gap: 40px; } }
.aha-page .hero .kicker { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-soft); margin: 0 0 18px 0; display: flex; align-items: center; gap: 12px; }
.aha-page .kicker-line { height: 1px; background: var(--ink-soft); width: 48px; }
.aha-page .hero h1 { font-family: 'Bebas Neue', sans-serif; font-size: clamp(38px, 6vw, 96px); line-height: 0.92; letter-spacing: -0.005em; margin: 0; color: var(--ink); word-break: keep-all; }
.aha-page .hero h1 .red { color: var(--red); }
.aha-page .hero .sub { font-family: 'Bebas Neue', sans-serif; font-size: clamp(22px, 2.3vw, 32px); letter-spacing: 0.04em; line-height: 1.15; color: var(--ink-soft); margin: 28px 0 0 0; }
.aha-page .hero .sub strong { color: var(--ink); font-weight: 400; }
.aha-page .hero .lede { font-size: 17px; line-height: 1.65; color: var(--ink); max-width: 64ch; margin: 28px 0 0 0; }
.aha-page .hero .stats { margin: 36px 0 0 0; display: flex; flex-wrap: wrap; gap: 0; border-top: 1px solid var(--hair-strong); padding-top: 24px; }
.aha-page .hero .stat { padding-right: 36px; margin-right: 36px; border-right: 1px solid var(--hair); }
.aha-page .hero .stat:last-child { border-right: none; }
.aha-page .hero .stat .v { font-family: 'Bebas Neue', sans-serif; font-size: 38px; line-height: 1; letter-spacing: 0.005em; color: var(--ink); }
.aha-page .hero .stat .v .red { color: var(--red); }
.aha-page .hero .stat .k { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ink-faint); margin-top: 6px; }

/* Compass rose */
.aha-page .rose { width: 220px; height: 220px; align-self: end; justify-self: end; }
.aha-page .rose svg { width: 100%; height: 100%; display: block; }
.aha-page .rose .spin { transform-origin: 110px 110px; animation: aha-rotate 80s linear infinite; }
.aha-page .rose .spin-reverse { transform-origin: 110px 110px; animation: aha-rotate 120s linear infinite reverse; }
@media (max-width: 900px) { .aha-page .rose { width: 160px; height: 160px; justify-self: start; } }

/* === SECTION HEADER === */
.aha-page .sec-head { display: flex; align-items: baseline; gap: 18px; padding: 64px 40px 32px; }
.aha-page .sec-head .num { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.22em; color: var(--red); font-weight: 600; }
.aha-page .sec-head h2 { font-family: 'Bebas Neue', sans-serif; font-size: clamp(38px, 5.5vw, 64px); letter-spacing: 0.005em; line-height: 1; margin: 0; }
.aha-page .sec-head .rule { flex: 1; height: 1px; background: var(--hair-strong); margin-bottom: 10px; }
.aha-page .sec-head .meta { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-faint); }
@media (max-width: 900px) { .aha-page .sec-head { padding: 48px 22px 24px; gap: 12px; flex-wrap: wrap; } .aha-page .sec-head .rule { display: none; } }

/* === TRACKS === */
.aha-page .tracks { border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair); }
.aha-page .track { display: grid; grid-template-columns: minmax(88px, max-content) 1fr 1.4fr 0.9fr; gap: 32px; padding: 36px 40px; border-bottom: 1px solid var(--hair); align-items: start; transition: background 220ms ease, padding-left 220ms ease; position: relative; text-decoration: none; color: inherit; }
.aha-page .track:last-child { border-bottom: 0; }
.aha-page .track:hover { background: rgba(230, 57, 70, 0.025); padding-left: 56px; }
.aha-page .track::before { content: ''; position: absolute; left: 40px; top: 50%; width: 0; height: 1px; background: var(--red); transition: width 260ms ease; }
.aha-page .track:hover::before { width: 12px; }
@media (max-width: 900px) {
  .aha-page .track { grid-template-columns: 1fr; gap: 16px; padding: 28px 22px; }
  .aha-page .track:hover { padding-left: 22px; }
  .aha-page .track::before { display: none; }
}
.aha-page .track .track-num { font-family: 'JetBrains Mono', monospace; font-size: 56px; line-height: 0.9; font-weight: 500; color: var(--ink); }
.aha-page .track .track-num .dot { color: var(--red); }
.aha-page .track .track-title { font-family: 'Bebas Neue', sans-serif; font-size: 38px; line-height: 1; letter-spacing: 0.01em; }
.aha-page .track .track-title small { display: block; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.22em; color: var(--ink-faint); margin-top: 8px; text-transform: uppercase; font-weight: 500; }
.aha-page .track .track-title .ext { display: inline-block; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.12em; font-weight: 600; text-transform: uppercase; color: var(--red); border: 1px solid var(--red); border-radius: 99px; padding: 3px 9px; margin-left: 12px; vertical-align: middle; transition: background 180ms ease, color 180ms ease; }
.aha-page .track:hover .track-title .ext { background: var(--red); color: #fff; }
.aha-page .track .track-body { font-size: 15px; line-height: 1.6; color: var(--ink); }
.aha-page .track .track-meta { font-family: 'JetBrains Mono', monospace; font-size: 12px; line-height: 1.8; color: var(--ink-soft); }
.aha-page .track .track-meta dt { color: var(--ink-faint); font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; margin-top: 8px; }
.aha-page .track .track-meta dt:first-child { margin-top: 0; }
.aha-page .track .track-meta dd { color: var(--ink); margin: 2px 0 0 0; font-weight: 500; }

/* === SECTION INTRO PROSE (standardized — replaces ad-hoc inline widths) === */
.aha-page .sec-intro { font-size: 17px; line-height: 1.7; color: var(--ink); max-width: 900px; margin: 0 0 24px; }
.aha-page .sec-intro:last-child { margin-bottom: 0; }

/* Track group with no abbreviation badge — title leads the row */
.aha-page .tracks--titles .track { grid-template-columns: 1fr 1.4fr 0.9fr; }
@media (max-width: 900px) { .aha-page .tracks--titles .track { grid-template-columns: 1fr; } }

/* === RECORDS GRID === */
.aha-page .records { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair); }
@media (max-width: 900px) { .aha-page .records { grid-template-columns: 1fr 1fr; } }
.aha-page .records .rec { padding: 40px 28px 44px; border-right: 1px solid var(--hair); position: relative; }
.aha-page .records .rec:last-child { border-right: 0; background: rgba(26, 31, 46, 0.04); }
@media (max-width: 900px) { .aha-page .records .rec:nth-child(2n) { border-right: 0; } .aha-page .records .rec:nth-child(-n+2) { border-bottom: 1px solid var(--hair); } }
.aha-page .records .rec .rn { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.22em; color: var(--red); font-weight: 600; margin-bottom: 14px; }
.aha-page .records .rec .rv { font-family: 'Bebas Neue', sans-serif; font-size: clamp(56px, 7vw, 96px); line-height: 0.86; letter-spacing: -0.005em; color: var(--ink); margin-bottom: 12px; }
.aha-page .records .rec .rv .dot { color: var(--red); }
.aha-page .records .rec .rv sup { font-size: 0.34em; color: var(--ink-soft); font-weight: 400; vertical-align: 28%; margin-left: 4px; letter-spacing: 0.04em; font-family: 'JetBrains Mono', monospace; }
.aha-page .records .rec .rl { font-family: 'Bebas Neue', sans-serif; font-size: 20px; letter-spacing: 0.04em; color: var(--ink); line-height: 1.1; margin-bottom: 6px; }
.aha-page .records .rec .rsub { font-size: 13.5px; line-height: 1.5; color: var(--ink-soft); }

/* === PRINCIPLES === */
.aha-page .principles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border-top: 1px solid var(--hair); border-bottom: 1px solid var(--hair); }
@media (max-width: 900px) { .aha-page .principles { grid-template-columns: 1fr 1fr; } }
.aha-page .principle { padding: 36px 28px 40px; border-right: 1px solid var(--hair); position: relative; }
.aha-page .principle:last-child { border-right: 0; }
@media (max-width: 900px) { .aha-page .principle:nth-child(2n) { border-right: 0; } .aha-page .principle:nth-child(-n+2) { border-bottom: 1px solid var(--hair); } }
.aha-page .principle .pn { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.22em; color: var(--red); margin: 0 0 12px 0; font-weight: 600; }
.aha-page .principle h3 { font-family: 'Bebas Neue', sans-serif; font-size: 26px; line-height: 1.05; letter-spacing: 0.01em; margin: 0 0 10px 0; }
.aha-page .principle p { font-size: 14px; line-height: 1.55; color: var(--ink-soft); margin: 0; }

/* === PRICE PANEL === */
.aha-page .price-panel { padding: 56px 40px 64px; display: grid; grid-template-columns: 1fr 1fr; gap: 56px; border-bottom: 1px solid var(--hair); align-items: start; }
@media (max-width: 900px) { .aha-page .price-panel { grid-template-columns: 1fr; padding: 48px 22px; gap: 36px; } }
.aha-page .price-label { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-soft); margin: 0 0 14px 0; }
.aha-page .price-figure { font-family: 'Bebas Neue', sans-serif; font-size: clamp(72px, 9vw, 144px); line-height: 0.88; letter-spacing: -0.005em; color: var(--ink); margin: 0; }
.aha-page .price-figure .dash { color: var(--gold); margin: 0 6px; font-weight: 400; }
.aha-page .price-figure .dollar { font-size: 0.55em; color: var(--ink-soft); font-weight: 400; vertical-align: 16%; margin-right: 2px; }
.aha-page .price-figure .k { font-size: 0.45em; color: var(--ink-soft); font-weight: 400; vertical-align: 28%; margin-left: 4px; letter-spacing: 0.04em; }
.aha-page .price-context { font-size: 15.5px; line-height: 1.65; color: var(--ink); }
.aha-page .price-context .pull { display: block; font-family: 'Bebas Neue', sans-serif; font-size: 28px; letter-spacing: 0.01em; line-height: 1.15; color: var(--ink); margin-bottom: 14px; }
.aha-page .price-context .pull em { font-style: normal; color: var(--red); }
.aha-page .price-context p { margin: 10px 0; }

/* === FACILITY === */
.aha-page .facility { padding: 56px 40px; display: grid; grid-template-columns: 1fr 1.4fr; gap: 48px; align-items: center; border-bottom: 1px solid var(--hair); background: var(--paper-2); }
@media (max-width: 900px) { .aha-page .facility { grid-template-columns: 1fr; padding: 40px 22px; gap: 28px; } }
.aha-page .facility .map { aspect-ratio: 5/4; background: var(--paper); border: 1px solid var(--hair-strong); position: relative; overflow: hidden; }
.aha-page .facility .map svg { width: 100%; height: 100%; display: block; }
.aha-page .facility-body h3 { font-family: 'Bebas Neue', sans-serif; font-size: clamp(36px, 4.5vw, 56px); letter-spacing: 0.01em; line-height: 1; margin: 0 0 18px 0; }
.aha-page .facility-body h3 .red { color: var(--red); }
.aha-page .facility-body p { font-size: 16px; line-height: 1.6; color: var(--ink); margin: 0 0 16px 0; max-width: 56ch; }
.aha-page .facility-body .addr { margin-top: 24px; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-soft); line-height: 1.8; }
.aha-page .facility-body .addr strong { color: var(--ink); font-weight: 600; display: block; }

/* === CTA === */
.aha-page .cta { padding: 80px 40px 88px; display: grid; grid-template-columns: 1fr auto; gap: 56px; align-items: end; }
@media (max-width: 900px) { .aha-page .cta { grid-template-columns: 1fr; padding: 56px 22px; gap: 32px; } }
.aha-page .cta-body .kicker { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--red); font-weight: 600; margin: 0 0 18px 0; display: flex; align-items: center; gap: 12px; }
.aha-page .cta-body .kicker::before { content: ''; width: 36px; height: 1px; background: var(--red); }
.aha-page .cta-body h2 { font-family: 'Bebas Neue', sans-serif; font-size: clamp(56px, 8vw, 112px); line-height: 0.9; margin: 0 0 18px 0; letter-spacing: 0.005em; }
.aha-page .cta-body h2 .accent { background: linear-gradient(180deg, transparent 64%, var(--red) 64%, var(--red) 92%, transparent 92%); padding: 0 4px; }
.aha-page .cta-body p { font-size: 16px; color: var(--ink-soft); margin: 0; max-width: none; }
.aha-page .cta-action { display: flex; flex-direction: column; align-items: flex-end; gap: 18px; }
@media (max-width: 900px) { .aha-page .cta-action { align-items: flex-start; } }
.aha-page .btn-primary { display: inline-flex; align-items: center; gap: 14px; background: var(--ink); color: var(--paper) !important; padding: 22px 32px; text-decoration: none; font-family: 'Bebas Neue', sans-serif; font-size: 22px; letter-spacing: 0.06em; border: 1px solid var(--ink); transition: background .25s, transform .25s, box-shadow .25s; box-shadow: 6px 6px 0 0 var(--red); }
.aha-page .btn-primary:hover { background: var(--red); border-color: var(--red); transform: translate(-3px, -3px); box-shadow: 9px 9px 0 0 var(--ink); }
.aha-page .btn-primary .arr { font-family: 'JetBrains Mono', monospace; font-size: 18px; transition: transform .25s; }
.aha-page .btn-primary:hover .arr { transform: translateX(6px); }
.aha-page .btn-secondary { display: inline-flex; align-items: center; gap: 14px; background: var(--paper); color: var(--ink) !important; padding: 22px 32px; text-decoration: none; font-family: 'Bebas Neue', sans-serif; font-size: 22px; letter-spacing: 0.06em; border: 1px solid var(--ink); transition: background .25s, color .25s, transform .25s, box-shadow .25s; box-shadow: 6px 6px 0 0 var(--ink); }
.aha-page .btn-secondary:hover { background: var(--ink); color: var(--paper) !important; transform: translate(-3px, -3px); box-shadow: 9px 9px 0 0 var(--red); }
.aha-page .btn-secondary .arr { font-family: 'JetBrains Mono', monospace; font-size: 18px; transition: transform .25s; }
.aha-page .btn-secondary:hover .arr { transform: translateX(6px); }
.aha-page .btn-ghost { display: inline-flex; align-items: center; gap: 12px; color: var(--ink); text-decoration: none; font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; border-bottom: 1px solid var(--ink); padding-bottom: 4px; }
.aha-page .btn-ghost:hover { color: var(--red); border-color: var(--red); }

/* === FOOTER === */
.aha-page .foot { border-top: 1px solid var(--hair-strong); padding: 48px 40px 0; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 32px; font-size: 13px; background: var(--paper); }
@media (max-width: 900px) { .aha-page .foot { grid-template-columns: 1fr 1fr; padding: 36px 22px 0; } }
.aha-page .foot .brand-block { display: flex; flex-direction: column; gap: 16px; }
.aha-page .foot .brand-block img { height: 56px; width: auto; }
.aha-page .foot .brand-block p { color: var(--ink-soft); max-width: 320px; }
.aha-page .foot h4 { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-faint); margin: 0 0 14px 0; font-weight: 600; }
.aha-page .foot a, .aha-page .foot p { color: var(--ink); text-decoration: none; display: block; margin-bottom: 6px; line-height: 1.5; }
.aha-page .foot a:hover { color: var(--red); }
.aha-page .foot-bottom { padding: 22px 40px 28px; margin-top: 32px; border-top: 1px solid var(--hair); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 14px; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--ink-faint); background: var(--paper); }
@media (max-width: 900px) { .aha-page .foot-bottom { padding: 16px 22px 22px; } }

/* === Story (about page) === */
.aha-page .story { padding: 32px 40px 64px; display: grid; grid-template-columns: 1fr 1.4fr; gap: 56px; align-items: start; border-bottom: 1px solid var(--hair); }
@media (max-width: 900px) { .aha-page .story { grid-template-columns: 1fr; padding: 20px 22px 48px; gap: 28px; } }
.aha-page .story .side-label { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-faint); padding-top: 16px; border-top: 1px solid var(--ink); }
.aha-page .story .side-label strong { display: block; color: var(--ink); font-size: 13px; margin-top: 6px; font-family: 'Bebas Neue', sans-serif; font-weight: 400; letter-spacing: 0.04em; }
.aha-page .story p { font-size: 17px; line-height: 1.75; color: var(--ink); margin: 0 0 18px 0; max-width: 64ch; }
.aha-page .story p:first-of-type::first-letter { font-family: 'Bebas Neue', sans-serif; font-size: 72px; line-height: 0.85; float: left; margin: 6px 12px 0 -2px; color: var(--red); }
.aha-page .story p.pull { font-family: 'Bebas Neue', sans-serif; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.12; letter-spacing: 0.005em; color: var(--ink); margin: 36px 0; max-width: none; }
.aha-page .story p.pull em { font-style: normal; color: var(--red); }

/* Steps list (getting-started) */
.aha-page .steps { padding: 0 40px 64px; }
@media (max-width: 900px) { .aha-page .steps { padding: 0 22px 48px; } }
.aha-page .step { display: grid; grid-template-columns: 88px 1fr; gap: 32px; padding: 36px 0; border-top: 1px solid var(--hair); align-items: start; }
.aha-page .step:last-child { border-bottom: 1px solid var(--hair); }
.aha-page .step .sn { font-family: 'JetBrains Mono', monospace; font-size: 56px; line-height: 0.9; font-weight: 500; color: var(--ink); }
.aha-page .step .sn .dot { color: var(--red); }
.aha-page .step h3 { font-family: 'Bebas Neue', sans-serif; font-size: 38px; line-height: 1.05; letter-spacing: 0.01em; margin: 0 0 12px 0; }
.aha-page .step h3 small { display: block; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.22em; color: var(--red); margin-top: 8px; text-transform: uppercase; font-weight: 500; }
.aha-page .step p { font-size: 15.5px; line-height: 1.65; color: var(--ink); margin: 0 0 12px 0; }
@media (max-width: 700px) { .aha-page .step { grid-template-columns: 1fr; gap: 12px; padding: 28px 0; } .aha-page .step .sn { font-size: 44px; } }

/* Pricing table (training, etc.) */
.aha-page .pricing-table { margin: 0 40px; border: 1px solid var(--hair-strong); border-bottom: none; }
@media (max-width: 900px) { .aha-page .pricing-table { margin: 0 22px; } }
.aha-page .pricing-row { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; padding: 18px 24px; border-bottom: 1px solid var(--hair); align-items: center; }
.aha-page .pricing-row.head { background: var(--paper-2); font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ink-faint); font-weight: 600; }
.aha-page .pricing-row .prog { font-family: 'Bebas Neue', sans-serif; font-size: 22px; letter-spacing: 0.01em; color: var(--ink); }
.aha-page .pricing-row .freq { font-family: 'JetBrains Mono', monospace; font-size: 11px; color: var(--ink-soft); letter-spacing: 0.1em; text-transform: uppercase; }
.aha-page .pricing-row .time { font-family: 'Bebas Neue', sans-serif; font-size: 18px; color: var(--ink); letter-spacing: 0.02em; }
.aha-page .pricing-row .price { font-family: 'Bebas Neue', sans-serif; font-size: 18px; color: var(--red); letter-spacing: 0.02em; }
@media (max-width: 700px) { .aha-page .pricing-row { grid-template-columns: 1fr; gap: 6px; padding: 14px 16px; } .aha-page .pricing-row.head { display: none; } .aha-page .pricing-row .prog { font-size: 24px; } }

/* Time-to-complete compact grid (getting-started Section 05) */
.aha-page .time-grid { margin: 0 40px 32px; border: 1px solid var(--hair-strong); }
.aha-page .time-grid-row { display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr; border-bottom: 1px solid var(--hair); }
.aha-page .time-grid-row:last-child { border-bottom: 0; }
.aha-page .time-grid-row > span { padding: 18px 18px; font-family: 'Bebas Neue', sans-serif; font-size: 22px; letter-spacing: 0.02em; color: var(--ink); border-right: 1px solid var(--hair); display: flex; flex-direction: column; justify-content: center; line-height: 1.1; }
.aha-page .time-grid-row > span:last-child { border-right: 0; }
.aha-page .time-grid-row.head { background: var(--paper-2); border-bottom: 2px solid var(--ink); }
.aha-page .time-grid-row.head > span { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--ink); font-weight: 700; padding: 16px 18px; }
.aha-page .time-grid-row.head > span small { display: block; font-size: 9px; letter-spacing: 0.1em; color: var(--ink-faint); font-weight: 500; margin-top: 4px; text-transform: uppercase; }
.aha-page .time-grid-row.total { background: var(--paper-2); border-top: 2px solid var(--ink); border-bottom: 0; }
.aha-page .time-grid-row.total > span { font-weight: 700; }
.aha-page .time-grid-label { color: var(--red) !important; font-family: 'Bebas Neue', sans-serif !important; font-size: 24px !important; }
@media (max-width: 700px) {
  .aha-page .time-grid { margin: 0 22px 24px; }
  .aha-page .time-grid-row { grid-template-columns: 1fr 1fr; }
  .aha-page .time-grid-row.head { display: none; }
  .aha-page .time-grid-row > span { font-size: 16px; padding: 12px 14px; }
  .aha-page .time-grid-row > span:nth-child(2)::before { content: 'Full-time: '; font-family: 'JetBrains Mono', monospace; font-size: 9px; color: var(--ink-faint); margin-right: 6px; text-transform: uppercase; }
}

/* Cost breakdown table (getting-started) */
.aha-page .cost-table { margin: 0 40px 24px; border: 1px solid var(--hair-strong); }
.aha-page .cost-row { display: grid; grid-template-columns: 2fr 1fr 1fr; padding: 14px 22px; border-bottom: 1px solid var(--hair); align-items: center; gap: 16px; }
.aha-page .cost-row:last-child { border-bottom: 0; }
.aha-page .cost-row:nth-child(even):not(.head):not(.total) { background: rgba(26, 31, 46, 0.025); }
.aha-page .cost-row .item { font-size: 14px; color: var(--ink); line-height: 1.5; }
.aha-page .cost-row .val { font-family: 'JetBrains Mono', monospace; font-size: 14px; text-align: right; color: var(--ink); }
.aha-page .cost-row.head { background: var(--paper-2); padding: 20px 22px; }
.aha-page .cost-row.head > span:first-child { font-family: 'Bebas Neue', sans-serif; font-size: 26px; letter-spacing: 0.02em; color: var(--ink); line-height: 1; }
.aha-page .cost-row.head .val { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--red); font-weight: 700; }
.aha-page .cost-row.total { background: var(--paper-2); padding: 18px 22px; }
.aha-page .cost-row.total .item { font-family: 'Bebas Neue', sans-serif; font-size: 22px; letter-spacing: 0.01em; line-height: 1; }
.aha-page .cost-row.total .val { font-weight: 700; font-size: 15px; }
.aha-page .cost-table.full-path { border: 2px solid var(--ink); margin-top: 0; }
.aha-page .cost-table.full-path .cost-row.total { background: var(--ink); }
.aha-page .cost-table.full-path .cost-row.total .item,
.aha-page .cost-table.full-path .cost-row.total .val { color: var(--paper); }
@media (max-width: 700px) { .aha-page .cost-table { margin: 0 22px 18px; } .aha-page .cost-row { grid-template-columns: 1fr; gap: 4px; padding: 14px 16px; } .aha-page .cost-row.head { display: none; } .aha-page .cost-row .val { text-align: left; } .aha-page .cost-row.total .item { font-size: 18px; } }

/* Personal cost estimator (getting-started) */
.aha-page .calc { margin: 0 40px 32px; border: 2px solid var(--ink); background: var(--paper); position: relative; box-shadow: 8px 8px 0 0 var(--red); }
.aha-page .calc-grid { display: grid; grid-template-columns: repeat(3, 1fr); border-bottom: 2px solid var(--ink); }
.aha-page .calc-section { padding: 32px 28px; border-right: 1px solid var(--hair-strong); position: relative; }
.aha-page .calc-section:last-child { border-right: 0; }
.aha-page .calc-section::before { content: ''; position: absolute; top: 0; left: 0; width: 32px; height: 3px; background: var(--red); }
.aha-page .calc-label { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--ink); font-weight: 700; margin: 0 0 22px 0; }
.aha-page .calc-row { margin-bottom: 18px; }
.aha-page .calc-row:last-child { margin-bottom: 0; }
.aha-page .calc-row label { display: block; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-soft); margin-bottom: 8px; font-weight: 500; }
.aha-page .calc-row select, .aha-page .calc-row input[type="number"] { width: 100%; padding: 13px 16px; border: 1px solid var(--ink); background: var(--paper); font-family: 'Manrope', sans-serif; font-size: 15px; color: var(--ink); border-radius: 0; box-sizing: border-box; transition: box-shadow .15s, border-color .15s; }
.aha-page .calc-row select { appearance: none; -webkit-appearance: none; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path fill='%23E63946' d='M6 8L0 0h12z'/></svg>"); background-repeat: no-repeat; background-position: right 14px center; padding-right: 38px; cursor: pointer; }
.aha-page .calc-row select:hover, .aha-page .calc-row input[type="number"]:hover { box-shadow: 3px 3px 0 0 var(--red); transform: translate(-1px, -1px); }
.aha-page .calc-row select:focus, .aha-page .calc-row input[type="number"]:focus { outline: none; box-shadow: 3px 3px 0 0 var(--red); border-color: var(--red); }
.aha-page .calc-check { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; font-size: 14px; color: var(--ink); cursor: pointer; line-height: 1.4; padding: 6px 0; transition: color .15s; }
.aha-page .calc-check:hover { color: var(--red); }
.aha-page .calc-check input[type="checkbox"] { accent-color: var(--red); width: 18px; height: 18px; flex-shrink: 0; margin-top: 1px; cursor: pointer; }
.aha-page .calc-lapse-wrap { margin-top: 24px; padding-top: 22px; border-top: 1px dashed var(--hair-strong); }
.aha-page .calc-lapse-title { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--ink-soft); margin: 0 0 14px 0; font-weight: 500; }
.aha-page .calc-lapse-wrap input[type="range"], .aha-page .calc-row input[type="range"] { width: 100%; accent-color: var(--red); margin: 0; height: 8px; }
.aha-page .calc-lapse-ticks { display: flex; justify-content: space-between; margin-top: 8px; font-family: 'JetBrains Mono', monospace; font-size: 9px; letter-spacing: 0.1em; color: var(--ink-faint); text-transform: uppercase; }
.aha-page .calc-lapse-current { font-family: 'Bebas Neue', sans-serif; font-size: 18px; color: var(--red); letter-spacing: 0.04em; margin: 12px 0 0 0; line-height: 1; }
.aha-page .calc-warning { font-size: 12px; line-height: 1.5; color: var(--red); font-weight: 600; margin: 10px 0 0 0; padding: 10px 14px; background: rgba(230, 57, 70, 0.08); border-left: 3px solid var(--red); }
.aha-page .calc-result { padding: 44px 44px 44px; background: var(--ink); color: var(--paper); position: relative; }
.aha-page .calc-result::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--red); }
.aha-page .calc-result-tag { display: inline-flex; align-items: center; gap: 8px; font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--red); padding: 7px 14px; border: 1px solid var(--red); margin-bottom: 22px; font-weight: 700; }
.aha-page .calc-result-tag::before { content: ''; width: 6px; height: 6px; background: var(--red); border-radius: 50%; animation: aha-pulse 2.2s ease-in-out infinite; }
.aha-page .calc-result-label { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(250, 250, 247, 0.6); font-weight: 600; margin: 0 0 14px 0; }
.aha-page .calc-result-amount { font-family: 'Bebas Neue', sans-serif; font-size: clamp(52px, 7vw, 88px); line-height: 1; letter-spacing: 0.005em; color: var(--paper); margin-bottom: 22px; }
.aha-page .calc-result-amount .calc-dash { color: var(--red); margin: 0 8px; }
.aha-page .calc-result-detail { font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: 0.06em; color: var(--paper); margin: 0 0 16px 0; opacity: 0.95; text-transform: uppercase; }
.aha-page .calc-result-note { font-size: 14px; line-height: 1.6; color: rgba(250, 250, 247, 0.72); margin: 0; max-width: 90ch; padding-top: 16px; border-top: 1px solid rgba(250, 250, 247, 0.15); }
@media (max-width: 900px) {
  .aha-page .calc { margin: 0 22px 24px; box-shadow: 6px 6px 0 0 var(--red); }
  .aha-page .calc-grid { grid-template-columns: 1fr; }
  .aha-page .calc-section { border-right: 0; border-bottom: 1px solid var(--hair-strong); }
  .aha-page .calc-section:last-child { border-bottom: 0; }
  .aha-page .calc-result { padding: 28px 24px 30px; }
}

/* Recommended partner box (Pilot Institute) */
.aha-page .calc-partner { display: flex; align-items: stretch; gap: 0; margin: 0 40px 40px; border: 2px solid var(--ink); background: var(--paper); text-decoration: none; color: var(--ink); transition: transform .2s, box-shadow .2s; }
.aha-page .calc-partner:hover { transform: translate(-3px, -3px); box-shadow: 6px 6px 0 0 var(--ink); }
.aha-page .calc-partner-logo { flex-shrink: 0; width: 220px; background: var(--paper-2); display: flex; align-items: center; justify-content: center; padding: 22px; border-right: 2px solid var(--ink); }
.aha-page .calc-partner-logo img { display: block; max-width: 100%; max-height: 72px; width: auto; height: auto; object-fit: contain; }
.aha-page .calc-partner-body { padding: 24px 28px; flex: 1; }
.aha-page .calc-partner-kicker { font-family: 'JetBrains Mono', monospace; font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--red); font-weight: 700; margin: 0 0 6px 0; }
.aha-page .calc-partner-title { font-family: 'Bebas Neue', sans-serif; font-size: 32px; line-height: 1; letter-spacing: 0.02em; color: var(--ink); margin: 0 0 10px 0; }
.aha-page .calc-partner-desc { font-size: 14px; line-height: 1.55; color: var(--ink-soft); margin: 0 0 14px 0; max-width: 70ch; }
.aha-page .calc-partner-cta { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--red); font-weight: 700; display: inline-flex; align-items: center; gap: 8px; }
.aha-page .calc-partner-cta .arr { font-family: 'JetBrains Mono', monospace; transition: transform .2s; }
.aha-page .calc-partner:hover .calc-partner-cta .arr { transform: translateX(4px); }
@media (max-width: 700px) {
  .aha-page .calc-partner { margin: 0 22px 28px; flex-direction: column; }
  .aha-page .calc-partner-logo { width: 100%; padding: 22px; border-right: 0; border-bottom: 2px solid var(--ink); }
  .aha-page .calc-partner-body { padding: 20px 22px; }
}

/* Reveal */
.aha-page .reveal { opacity: 0; transform: translateY(24px); transition: opacity .9s cubic-bezier(.2,.7,.2,1), transform .9s cubic-bezier(.2,.7,.2,1); }
.aha-page .reveal.in { opacity: 1; transform: translateY(0); }

/* Split-flap (Solari board) flicker — set by flap.js */
.aha-page [data-flap] { font-variant-ligatures: none; }
.aha-page [data-flap].flapping { color: inherit; }

/* === SPLIT-FLAP CHARACTER CELLS (site-wide) ===
   Each char inside a [data-flap] element is wrapped in <span class="flap-char">
   by flap.js, grouped under <span class="flap-word"> so the browser can only
   break lines at real whitespace (otherwise it would break between any two
   inline-block cells and chop words in half). */
.aha-page [data-flap] .flap-word {
  display: inline-block;
  white-space: nowrap;
  vertical-align: baseline;
}
.aha-page [data-flap] .flap-char {
  display: inline-block;
  min-width: 0.78em;
  text-align: center;
  position: relative;
  background: linear-gradient(180deg, var(--paper-2) 0%, var(--paper) 49%, var(--paper-3) 50%, var(--paper) 51%, var(--paper-2) 100%);
  border: 1px solid var(--hair-strong);
  border-radius: 1px;
  margin: 0 1px;
  padding: 0.06em 0.12em;
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.6), 0 1px 0 rgba(0,0,0,0.04);
  vertical-align: baseline;
  color: inherit;
}
/* Hard horizontal seam straight through every cell — the iconic split-flap line. */
.aha-page [data-flap] .flap-char::after {
  content: '';
  position: absolute;
  left: 0; right: 0; top: 50%;
  height: 1px;
  background: var(--hair-strong);
  box-shadow: 0 1px 0 rgba(255,255,255,0.6);
  pointer-events: none;
  transform: translateY(-0.5px);
}
/* Cells get a tiny accent shadow while still flipping. */
.aha-page [data-flap].flapping .flap-char {
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.8), 0 1px 0 rgba(230,57,70,0.18);
}
/* Spaces keep word gaps but stay invisible (no cell silhouette). */
.aha-page [data-flap] .flap-space {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  min-width: 0.32em;
}
.aha-page [data-flap] .flap-space::after { display: none; }
/* Bebas Neue titles ride best with slightly tighter cells. */
.aha-page h1[data-flap] .flap-char,
.aha-page h2[data-flap] .flap-char { min-width: 0.62em; padding: 0.04em 0.06em; }

/* Suppress the per-character cell silhouettes inside the bottom CTA so the red
   .accent highlight bar under the headline reads as one continuous block instead
   of broken segments under each cell. The flicker animation still fires. */
.aha-page .cta [data-flap] .flap-char:not(.flap-space) {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
  text-shadow: none;
  padding: 0;
  margin: 0;
  min-width: 0;
}
.aha-page .cta [data-flap] .flap-char:not(.flap-space)::after { display: none; }

/* ─────────────────────────────────────────────────────────────────────────
   Site-wide contact CTA band (sits directly above the footer).
   Two variants:  .contact-cta            → link band ("Get in touch →")
                  .contact-cta--form      → inline compact form (high-intent)
   Dark inverted band for contrast. Forms post via flap.js (data-aha-contact).
   ───────────────────────────────────────────────────────────────────────── */
.aha-page .contact-cta { background: var(--ink); color: var(--paper); padding: 76px 40px; }
.aha-page .ccta-inner { max-width: 720px; }
.aha-page .contact-cta--form .ccta-inner { max-width: 880px; }
.aha-page .ccta-kicker { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; color: rgba(250,250,247,0.6); display: flex; align-items: center; gap: 12px; margin: 0 0 18px; }
.aha-page .ccta-dot { width: 6px; height: 6px; background: var(--red); border-radius: 50%; animation: aha-pulse 2.6s ease-in-out infinite; flex: 0 0 auto; }
.aha-page .ccta-h { font-family: 'Bebas Neue', sans-serif; font-size: clamp(40px, 6vw, 82px); line-height: 0.92; letter-spacing: -0.005em; margin: 0; color: var(--paper); }
.aha-page .ccta-em { color: var(--red); }
.aha-page .ccta-sub { font-size: 17px; line-height: 1.6; color: rgba(250,250,247,0.75); margin: 20px 0 0; max-width: 52ch; }
.aha-page .ccta-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; margin-top: 32px; }
.aha-page .ccta-btn { display: inline-flex; align-items: center; gap: 12px; background: var(--red); color: var(--paper); padding: 16px 28px; font-family: 'Bebas Neue', sans-serif; font-size: 20px; letter-spacing: 0.06em; text-decoration: none; border: 1px solid var(--red); box-shadow: 6px 6px 0 0 rgba(250,250,247,0.18); transition: transform .25s, box-shadow .25s, background .25s, color .25s; }
.aha-page .ccta-btn:hover { background: var(--paper); color: var(--ink); border-color: var(--paper); transform: translate(-3px,-3px); box-shadow: 9px 9px 0 0 var(--red); }
.aha-page .ccta-call { font-family: 'JetBrains Mono', monospace; font-size: 13px; letter-spacing: 0.16em; color: var(--paper); text-decoration: none; border-bottom: 1px solid rgba(250,250,247,0.3); padding-bottom: 3px; transition: color .2s, border-color .2s; }
.aha-page .ccta-call:hover { color: var(--red); border-color: var(--red); }
.aha-page .ccta-form { margin-top: 30px; }
.aha-page .ccta-hp { position: absolute; left: -9999px; top: -9999px; width: 0; height: 0; opacity: 0; }
.aha-page .ccta-row { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 12px; }
.aha-page .ccta-form input, .aha-page .ccta-form textarea { width: 100%; padding: 14px 16px; background: rgba(250,250,247,0.06); border: 1px solid rgba(250,250,247,0.22); color: var(--paper); font-family: 'Manrope', sans-serif; font-size: 15px; transition: border-color .2s, background .2s; }
.aha-page .ccta-form input::placeholder, .aha-page .ccta-form textarea::placeholder { color: rgba(250,250,247,0.5); }
.aha-page .ccta-form input:focus, .aha-page .ccta-form textarea:focus { outline: none; border-color: var(--red); background: rgba(250,250,247,0.1); }
.aha-page .ccta-form textarea { min-height: 92px; resize: vertical; display: block; }
.aha-page .ccta-form-foot { display: flex; align-items: center; gap: 24px; margin-top: 14px; flex-wrap: wrap; }
.aha-page .ccta-form button { display: inline-flex; align-items: center; gap: 12px; background: var(--red); color: var(--paper); padding: 14px 28px; border: 1px solid var(--red); font-family: 'Bebas Neue', sans-serif; font-size: 20px; letter-spacing: 0.06em; cursor: pointer; box-shadow: 6px 6px 0 0 rgba(250,250,247,0.18); transition: transform .25s, box-shadow .25s, background .25s, color .25s; }
.aha-page .ccta-form button:hover { background: var(--paper); color: var(--ink); transform: translate(-3px,-3px); box-shadow: 9px 9px 0 0 var(--red); }
.aha-page .ccta-form button[disabled] { opacity: 0.6; transform: none; box-shadow: 6px 6px 0 0 rgba(250,250,247,0.18); cursor: default; }
.aha-page .contact-cta .form-status { margin: 0; font-family: 'JetBrains Mono', monospace; font-size: 12px; letter-spacing: 0.05em; color: rgba(250,250,247,0.85); min-height: 1em; }
.aha-page .contact-cta .form-status.ok::before { content: '✓ '; color: var(--red); font-weight: 700; }
.aha-page .contact-cta .form-status.err { color: #ff8a93; }
@media (max-width: 900px) { .aha-page .contact-cta { padding: 52px 22px; } }
@media (max-width: 680px) { .aha-page .ccta-row { grid-template-columns: 1fr; } }
