/* ============ TOKENS ============ */
:root{
  --ink-navy:#0A1F44;
  --royal-navy:#16305C;
  --pillar-red:#B7202E;
  --pillar-red-dark:#8F1522;
  --brass:#ffffff;
  --paper:#F5F6F8;
  --fog:#E4E8EF;
  --fog-line:#C9D0DD;
  --ink-text:#000000;
  --ink-muted:#000000;
  --ink-black:#000000;

  --font-head:'Sora', system-ui, sans-serif;
  --font-body:'Sora', system-ui, sans-serif;
  --font-mono:'Sora', system-ui, sans-serif;

  --container:1180px;
  --radius:14px;
  --shadow-soft:0 20px 50px -20px rgba(10,31,68,0.25);
  --ease:cubic-bezier(.22,.61,.36,1);
}

*,*::before,*::after{box-sizing:border-box;}
html{
  scroll-behavior:smooth;
  scrollbar-width:thin;
  scrollbar-color:var(--pillar-red) #f0e8e9;
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  *,*::before,*::after{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important; scroll-behavior:auto !important;}
}

/* Custom scrollbar - red accent */
html::-webkit-scrollbar,
body::-webkit-scrollbar{
  width:10px; height:10px;
}
html::-webkit-scrollbar-track,
body::-webkit-scrollbar-track{
  background:#f0e8e9;
}
html::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,var(--pillar-red) 0%,var(--pillar-red-dark) 100%);
  border-radius:99px;
  border:2px solid #f0e8e9;
  background-clip:padding-box;
}
html::-webkit-scrollbar-thumb:hover,
body::-webkit-scrollbar-thumb:hover{
  background:var(--pillar-red-dark);
  border:2px solid #f0e8e9;
  background-clip:padding-box;
}
html::-webkit-scrollbar-corner,
body::-webkit-scrollbar-corner{background:#f0e8e9;}

/* Nested scroll areas (panels, maps, etc.) */
*{
  scrollbar-width:thin;
  scrollbar-color:var(--pillar-red) #f0e8e9;
}
*::-webkit-scrollbar{width:8px; height:8px;}
*::-webkit-scrollbar-track{background:transparent;}
*::-webkit-scrollbar-thumb{
  background:var(--pillar-red);
  border-radius:99px;
  border:2px solid transparent;
  background-clip:padding-box;
}
*::-webkit-scrollbar-thumb:hover{background:var(--pillar-red-dark);}

body{
  margin:0;
  font-family:var(--font-body);
  font-weight:800;
  color:var(--ink-text);
  background:var(--paper);
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4{
  font-family:var(--font-head);
  color:var(--ink-black);
  margin:0 0 .5em;
  line-height:1.12;
  font-weight:800;
}
p{margin:0 0 1em; color:var(--ink-black);}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
ul{margin:0; padding:0; list-style:none;}
.wrap{max-width:var(--container); margin:0 auto; padding:0 24px;}
.text-red{color:var(--pillar-red);}

.skip-link{
  position:absolute; left:-999px; top:0; background:var(--ink-navy); color:#fff; padding:12px 20px; z-index:200; border-radius:0 0 8px 0;
}
.skip-link:focus{left:0;}

:focus-visible{outline:2.5px solid var(--brass); outline-offset:2px;}

/* ============ BUTTONS ============ */
.btn{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-body); font-weight:800; font-size:.95rem;
  padding:14px 24px; border-radius:10px; border:1.5px solid transparent;
  cursor:pointer; transition:transform .25s var(--ease), box-shadow .25s var(--ease), background .25s var(--ease), color .2s;
  white-space:nowrap;
}
.btn span{transition:transform .25s var(--ease);}
.btn:hover span{transform:translateX(3px);}
.btn-primary{
  background:var(--pillar-red); color:#fff;
  position:relative; overflow:hidden;
}
.btn-primary::after{
  content:''; position:absolute;
  top:0; left:-120%; width:55%; height:100%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.26),transparent);
  animation:btn-shimmer 4s ease-in-out infinite 1.8s;
  pointer-events:none;
}
@keyframes btn-shimmer{
  0%,10%{left:-120%;}
  45%,100%{left:150%;}
}
.btn-primary:hover{background:var(--pillar-red-dark); box-shadow:0 10px 24px -8px rgba(183,32,46,.5);}
.btn-outline{background:transparent; border-color:var(--ink-black); color:var(--ink-black);}
.btn-outline:hover{background:var(--ink-navy); color:#fff;}
.btn-ghost{background:transparent; color:var(--ink-black); border-color:var(--fog-line);}
.btn-ghost:hover{border-color:var(--ink-black);}
.btn-ghost:disabled{opacity:.4; cursor:not-allowed;}
.btn-sm{padding:10px 18px; font-size:.85rem;}

/* ============ HEADER ============ */
.site-header{
  position:sticky; top:0; z-index:100;
  background:rgba(255,255,255,.86);
  backdrop-filter:blur(18px) saturate(1.2);
  -webkit-backdrop-filter:blur(18px) saturate(1.2);
  border-bottom:1px solid rgba(201,208,221,.65);
  transition:box-shadow .35s var(--ease), background .35s var(--ease), border-color .35s var(--ease);
}
.site-header.scrolled{
  background:rgba(255,255,255,.96);
  box-shadow:0 10px 36px -16px rgba(10,31,68,.18);
  border-color:transparent;
}

/* Top search strip */
.header-search-bar{
  background:linear-gradient(90deg,var(--pillar-red-dark) 0%,var(--pillar-red) 55%,#d01f30 100%);
  border-bottom:1px solid rgba(0,0,0,.08);
}
.header-search-inner{
  display:flex; justify-content:center; align-items:center;
  min-height:44px; padding-top:8px; padding-bottom:8px;
}
.site-search{
  position:relative; width:min(560px,100%);
  display:flex; align-items:center; gap:10px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  border-radius:999px;
  padding:0 14px 0 16px;
  transition:background .2s, border-color .2s, box-shadow .2s;
}
.site-search:focus-within{
  background:rgba(255,255,255,.14);
  border-color:rgba(255,255,255,.35);
  box-shadow:0 0 0 3px rgba(183,32,46,.22);
}
.site-search-icon{
  display:grid; place-items:center; color:rgba(255,255,255,.65); flex-shrink:0;
}
.site-search-icon svg{width:16px; height:16px;}
.site-search input{
  flex:1; min-width:0; border:0; outline:0; background:transparent;
  color:#fff; font:inherit; font-size:.9rem; padding:10px 0;
}
.site-search input::placeholder{color:rgba(255,255,255,.45);}
.site-search input::-webkit-search-cancel-button{-webkit-appearance:none;}
.site-search-hint{
  flex-shrink:0; font-family:var(--font-mono); font-size:.68rem;
  color:rgba(255,255,255,.45); border:1px solid rgba(255,255,255,.18);
  border-radius:6px; padding:2px 6px; line-height:1.2;
}
.site-search-panel{
  position:absolute; top:calc(100% + 8px); left:0; right:0; z-index:120;
  background:#fff; color:var(--ink-black);
  border:1px solid var(--fog-line); border-radius:16px;
  box-shadow:0 22px 48px -18px rgba(6,21,47,.35);
  padding:8px; max-height:min(360px,60vh); overflow:auto;
}
.site-search-panel[hidden]{display:none !important;}
.site-search-empty{
  padding:16px 14px; font-size:.9rem; color:var(--ink-muted); text-align:center;
}
.site-search-option{
  display:grid; grid-template-columns:auto 1fr auto; gap:12px; align-items:center;
  width:100%; text-align:left; border:0; background:transparent; cursor:pointer;
  padding:10px 12px; border-radius:12px; color:inherit; font:inherit;
  transition:background .15s;
}
.site-search-option:hover,
.site-search-option.is-active{
  background:rgba(10,31,68,.06);
}
.site-search-option mark{
  background:rgba(183,32,46,.12); color:var(--pillar-red); border-radius:3px; padding:0 1px;
}
.site-search-type{
  font-family:var(--font-mono); font-size:.62rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--pillar-red); background:rgba(183,32,46,.08);
  border-radius:999px; padding:5px 8px; white-space:nowrap;
}
.site-search-title{display:block; font-weight:700; font-size:.92rem; color:var(--ink-black);}
.site-search-desc{display:block; font-size:.78rem; color:var(--ink-muted); margin-top:2px;}
.site-search-go{color:var(--ink-muted); font-size:1rem;}

.header-inner{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  height:70px;
  min-width:0;
  transition:height .35s var(--ease);
}
.site-header > .header-inner.wrap,
.site-header > .header-search-bar > .wrap{
  max-width:none;
  width:100%;
  margin:0;
  padding-left:clamp(16px, 2.5vw, 32px);
  padding-right:clamp(16px, 2.5vw, 32px);
}
.site-header.scrolled .header-inner{height:60px;}
.logo{
  display:flex; align-items:center; justify-content:flex-start;
  justify-self:start;
  flex-shrink:0;
}
.logo-img{height:34px; width:auto; display:block;}
.logo-footer-badge{
  display:inline-block; background:#fff; border-radius:8px; padding:10px 14px;
}
.logo-footer-badge .logo-img{height:32px;}

.main-nav{position:relative; min-width:0; justify-self:center;}
.main-nav ul{
  display:flex; flex-wrap:nowrap; align-items:center;
  justify-content:center; gap:4px;
  padding:5px; border-radius:999px;
  background:rgba(10,31,68,.04);
  border:1px solid rgba(10,31,68,.06);
}
.main-nav a{
  display:inline-flex; align-items:center;
  font-size:clamp(.78rem, .85vw, .88rem); font-weight:600; color:var(--ink-muted);
  position:relative; padding:9px 14px; border-radius:999px;
  white-space:nowrap;
  transition:color .2s, background .2s, box-shadow .2s;
}
.main-nav a:hover{
  color:var(--ink-black); background:rgba(255,255,255,.9);
}
.main-nav a[aria-current="page"]{
  color:#fff; background:var(--ink-navy);
  box-shadow:0 8px 18px -10px rgba(10,31,68,.55);
}

.header-actions{
  display:flex; align-items:center; flex-wrap:nowrap; flex-shrink:0; gap:8px;
  justify-self:end;
  min-width:0;
}
.header-actions .btn-sm{
  padding:9px 14px; font-size:.78rem; border-radius:999px;
  white-space:nowrap;
  flex-shrink:0;
}
.header-actions .btn-primary{
  white-space:nowrap;
  max-width:none;
}
.btn-short-label{display:none;}
.nav-mobile-cta{display:none !important;}
.btn-profile{
  display:inline-flex; align-items:center; justify-content:center;
  width:38px; height:38px; flex-shrink:0;
  border-radius:50%; color:var(--ink-black);
  border:1.5px solid var(--fog-line); background:#fff;
  transition:color .2s, border-color .2s, background .2s, transform .2s;
}
.btn-profile svg{width:20px; height:20px; display:block;}
.btn-profile:hover{
  color:var(--pillar-red); border-color:var(--pillar-red);
  background:rgba(183,32,46,.06); transform:translateY(-1px);
}
.btn-profile[aria-current="page"]{
  color:#fff; background:var(--ink-navy); border-color:var(--ink-navy);
}
.nav-toggle{
  display:none; flex-direction:column; justify-content:center; gap:5px;
  width:38px; height:38px; border:none; background:transparent; cursor:pointer; padding:0;
  flex-shrink:0;
}
.nav-toggle span{display:block; width:100%; height:2px; background:var(--ink-black); transition:transform .25s var(--ease), opacity .2s;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

/* Dar desktop: buton metnini kısalt, header taşmasını önle */
@media (max-width:1280px){
  .header-actions .btn-primary .btn-full-label{display:none;}
  .header-actions .btn-primary .btn-short-label{display:inline;}
}
@media (min-width:1281px){
  .header-actions .btn-primary .btn-short-label{display:none;}
}

@media (max-width: 1100px){
  .site-header{
    overflow:visible;
    backdrop-filter:none;
    -webkit-backdrop-filter:none;
    background:#fff;
  }
  .header-inner{
    display:flex;
    justify-content:space-between;
    position:relative;
    overflow:visible;
  }
  .main-nav{
    position:absolute;
    top:100%;
    left:0;
    right:auto;
    bottom:auto;
    width:100vw;
    margin-left:calc(50% - 50vw);
    transform:none;
    background:#fff;
    padding:16px 20px max(28px, env(safe-area-inset-bottom));
    justify-self:auto;
    z-index:120;
    border-top:1px solid var(--fog-line);
    box-shadow:0 24px 40px -20px rgba(10,31,68,.28);
    max-height:min(80dvh, calc(100dvh - var(--header-offset, 110px)));
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .2s var(--ease), visibility .2s;
  }
  .main-nav.open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
  }
  .main-nav ul{
    flex-direction:column; gap:6px; align-items:stretch; justify-content:flex-start;
    padding:0; border:0; background:transparent; border-radius:0;
  }
  .main-nav a{
    display:block; padding:14px 16px; font-size:1.05rem; border-radius:12px;
  }
  .main-nav a[aria-current="page"]{box-shadow:none;}
  .nav-toggle{
    display:flex;
    z-index:130;
    position:relative;
    background:#fff;
    border:1.5px solid var(--fog-line);
    border-radius:10px;
    width:42px;
    height:42px;
    padding:10px 9px;
  }
  .header-actions .btn-primary{display:none;}
  .site-search-hint{display:none;}
}
@media (max-width:560px){
  .header-actions .btn-primary{display:none;}
  .header-search-inner{min-height:40px; padding-top:6px; padding-bottom:6px;}
  .site-search input{font-size:.84rem; padding:9px 0;}
}

/* ============ HERO ============ */
.hero{
  position:relative; overflow:visible; background:var(--ink-navy);
  min-height:calc(100vh - 114px);
  display:flex; flex-direction:column; justify-content:center;
}
.hero-scene{position:absolute; inset:0; z-index:0; overflow:hidden; border-radius:0;}
.hero-photo{
  position:absolute; inset:0;
  background-image:url('../assets/hero.jpg');
  background-size:cover;
  background-position:62% center;
  background-repeat:no-repeat;
}
@media (max-width:1000px){
  .hero-photo{background-position:8% center;}
}

.hero-route{
  position:absolute; bottom:0; top:auto; left:0; width:100%; height:auto; opacity:1;
  will-change:transform; overflow:visible;
}
.route-label{
  font-family:var(--font-mono); font-size:10px; letter-spacing:2.5px; fill:rgba(255,255,255,.75);
  animation:label-float 3.8s ease-in-out infinite;
}
.route-label--org{ fill:#B7202E; opacity:.92; animation-delay:0s; }
.route-label--dst{ fill:var(--brass); opacity:.92; animation-delay:.6s; }
.route-label--mid{
  fill:rgba(255,255,255,.36); font-size:8.5px; letter-spacing:3.5px;
  animation:label-float-mid 6s ease-in-out infinite;
}
@keyframes label-float{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-4px); }
}
@keyframes label-float-mid{
  0%,100%{ transform:translateY(0); opacity:.36; }
  50%{ transform:translateY(-3px); opacity:.55; }
}
@media (prefers-reduced-motion:reduce){
  .route-label{ animation:none; }
}

.hero-guarantee-wrap{
  position:absolute; top:18px; right:7%;
  width:clamp(96px,10vw,130px); aspect-ratio:1;
  z-index:2; pointer-events:none;
  display:grid; place-items:center;
}
.hero-guarantee-glow{
  position:absolute; inset:-18%; border-radius:50%;
  background:radial-gradient(circle,rgba(183,32,46,.55) 0%,rgba(201,162,39,.22) 42%,transparent 70%);
  animation:guarantee-glow 2.8s ease-in-out infinite;
  filter:blur(2px);
}
.hero-guarantee{
  width:100%; height:auto; display:block; position:relative; z-index:1;
  filter:drop-shadow(0 8px 22px rgba(183,32,46,.45));
  animation:guarantee-breathe 3.4s ease-in-out infinite;
  transform-origin:50% 50%;
}
.hero-guarantee-ring{
  transform-origin:65px 65px;
  animation:guarantee-spin 10s linear infinite;
}
.hero-guarantee-ring-inner{
  transform-origin:65px 65px;
  animation:guarantee-spin-rev 14s linear infinite;
}
.hero-guarantee-core{
  transform-origin:65px 65px;
  animation:guarantee-sway 5.5s ease-in-out infinite;
}
@keyframes guarantee-glow{
  0%,100%{ opacity:.55; transform:scale(.92); }
  50%{ opacity:1; transform:scale(1.08); }
}
@keyframes guarantee-breathe{
  0%,100%{ transform:scale(1); }
  50%{ transform:scale(1.045); }
}
@keyframes guarantee-spin{
  to{ transform:rotate(360deg); }
}
@keyframes guarantee-spin-rev{
  to{ transform:rotate(-360deg); }
}
@keyframes guarantee-sway{
  0%,100%{ transform:rotate(-4deg); }
  50%{ transform:rotate(4deg); }
}
@media (prefers-reduced-motion:reduce){
  .hero-guarantee,
  .hero-guarantee-glow,
  .hero-guarantee-ring,
  .hero-guarantee-ring-inner,
  .hero-guarantee-core{animation:none;}
}
@media (max-width:640px){
  .hero-guarantee-wrap{display:none;}
}

.hero-frame{position:absolute; inset:18px; z-index:1; pointer-events:none;}
.hero-corner{position:absolute; width:34px; height:34px; opacity:.72;}
.hero-corner::before,.hero-corner::after{content:''; position:absolute; background:var(--brass);}
.hero-corner.tl{top:0; left:0;}
.hero-corner.tr{top:0; right:0;}
.hero-corner.bl{bottom:0; left:0;}
.hero-corner.br{bottom:0; right:0;}
.hero-corner.tl::before,.hero-corner.tr::before,.hero-corner.bl::before,.hero-corner.br::before{width:100%; height:1.4px; top:0;}
.hero-corner.bl::before,.hero-corner.br::before{top:auto; bottom:0;}
.hero-corner.tl::after,.hero-corner.tr::after,.hero-corner.bl::after,.hero-corner.br::after{width:1.4px; height:100%; left:0;}
.hero-corner.tr::after,.hero-corner.br::after{left:auto; right:0;}

.hero-content{
  position:relative; z-index:1;
  padding:72px 24px 60px;
  margin-left:110px;
}
.eyebrow{
  font-family:var(--font-mono); font-size:.78rem; letter-spacing:2px; text-transform:uppercase;
  color:var(--pillar-red); margin-bottom:16px;
}
.eyebrow--dark{color:var(--pillar-red);}
.hero-copy{position:relative; z-index:2;}
.hero-copy h1{color:var(--ink-black); font-size:clamp(2.6rem, 5.4vw, 4.4rem); margin-bottom:20px;}
.hero-lede{color:var(--ink-muted); max-width:46ch; font-size:1.05rem;}
.hero-actions{display:flex; gap:16px; margin-top:28px; flex-wrap:wrap;}
.hero-stats{
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  margin-top:22px;
  font-family:var(--font-mono); font-size:.68rem; text-transform:uppercase; letter-spacing:.06em;
  color:var(--ink-muted);
}
.hero-stats strong{ font-size:.84rem; font-weight:700; color:var(--ink-black); font-family:var(--font-head); letter-spacing:0; margin-right:2px; }
.stat-sep{ color:var(--brass); opacity:.55; }

/* ============ Hero callbox (interactive telephone booth) ============ */
.hero-callbox{
  --booth-red:#C21F2E;
  --booth-red-deep:#8F1522;
  --booth-red-dark:#6E101C;
  position:relative;
  z-index:3;
  width:fit-content;
  max-width:100%;
  margin:0 0 14px;
  display:flex;
  align-items:flex-end;
  justify-content:flex-start;
  overflow:visible;
}
.hero-callbox__route{
  display:none;
}
.hero-booth{
  position:relative;
  z-index:2;
  width:clamp(148px, 16vw, 200px);
  border:0;
  padding:0;
  background:transparent;
  cursor:pointer;
  display:block;
  -webkit-tap-highlight-color:transparent;
  animation:booth-enter .9s cubic-bezier(.22,1,.36,1) both;
}
.hero-booth:focus-visible{
  outline:3px solid rgba(183,32,46,.55);
  outline-offset:8px;
  border-radius:12px;
}
.hero-booth__glow{
  position:absolute;
  left:50%;
  bottom:4%;
  width:70%;
  height:28%;
  transform:translateX(-50%);
  background:radial-gradient(ellipse, rgba(183,32,46,.4), transparent 70%);
  filter:blur(16px);
  z-index:0;
  pointer-events:none;
  animation:booth-glow 2.8s ease-in-out infinite;
}
.hero-booth__stage{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio:474 / 872;
  transform-origin:center bottom;
}
.hero-booth__layer{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center bottom;
  display:block;
  user-select:none;
  -webkit-user-drag:none;
  pointer-events:none;
  background:transparent;
}
.hero-booth__shadow-img{
  z-index:1;
  transform-origin:center bottom;
  will-change:transform, opacity;
  animation:booth-shadow 5.6s ease-in-out .9s infinite;
  filter:blur(1px);
}
.hero-booth__mover{
  position:absolute;
  inset:0;
  z-index:2;
  transform-origin:center bottom;
  will-change:transform;
  animation:booth-float 5.6s ease-in-out .9s infinite;
  filter:drop-shadow(0 18px 26px rgba(60,8,16,.28));
}
.hero-booth__body-img{ z-index:2; }
.hero-booth__glass-img{
  z-index:3;
  will-change:opacity;
  animation:booth-glass-breathe 5.6s ease-in-out .9s infinite;
}
.hero-booth__handset{
  position:absolute;
  z-index:5;
  left:52%;
  top:46%;
  width:42%;
  aspect-ratio:120 / 160;
  transform:translate(-50%, -50%);
  pointer-events:none;
  display:grid;
  place-items:center;
}
.hero-booth__handset-svg{
  position:relative;
  z-index:2;
  width:100%;
  height:auto;
  display:block;
  filter:drop-shadow(0 10px 16px rgba(0,0,0,.4)) drop-shadow(0 0 10px rgba(255,255,255,.35));
}
.hero-booth__handset-body{
  transform-origin:50% 28%;
  transform-box:fill-box;
  animation:booth-handset-ring .75s ease-in-out infinite;
}
.hero-booth__cord{
  opacity:.95;
}
.hero-booth__pulse{
  position:absolute;
  z-index:1;
  left:50%;
  top:48%;
  width:78%;
  aspect-ratio:1;
  border-radius:50%;
  border:2px solid rgba(183,32,46,.55);
  transform:translate(-50%, -50%) scale(.55);
  opacity:0;
  animation:booth-handset-pulse 1.8s ease-out infinite;
  box-shadow:0 0 0 0 rgba(183,32,46,.25);
}
.hero-booth__pulse--delay{ animation-delay:.55s; }
.hero-booth:hover .hero-booth__handset-body,
.hero-booth[aria-expanded="true"] .hero-booth__handset-body{
  animation-duration:.45s;
}
.hero-booth:hover .hero-booth__mover,
.hero-booth[aria-expanded="true"] .hero-booth__mover{
  transform:translateY(-8px) scale(1.03);
  filter:drop-shadow(0 24px 32px rgba(60,8,16,.34));
}
.hero-booth:hover .hero-booth__shadow-img,
.hero-booth[aria-expanded="true"] .hero-booth__shadow-img{
  transform:scaleX(.88);
  opacity:.55;
}

.hero-callbox__hint{
  position:absolute;
  z-index:4;
  left:calc(100% + 14px);
  top:42%;
  transform:translateY(-50%);
  min-width:160px;
  max-width:200px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(255,255,255,.78);
  border:1px solid rgba(255,255,255,.65);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  box-shadow:0 16px 36px -18px rgba(10,31,68,.35);
  display:flex;
  flex-direction:column;
  gap:4px;
  pointer-events:auto;
  cursor:pointer;
  animation:booth-hint-in .7s cubic-bezier(.22,1,.36,1) .35s both, booth-hint-bob 4.2s ease-in-out 1.1s infinite;
  transition:opacity .28s ease, transform .28s ease;
}
.hero-callbox__hint::after{
  content:"";
  position:absolute;
  left:-7px;
  top:50%;
  width:14px;
  height:14px;
  background:inherit;
  border-left:1px solid rgba(255,255,255,.65);
  border-bottom:1px solid rgba(255,255,255,.65);
  transform:translateY(-50%) rotate(45deg);
}
.hero-callbox__hint strong{
  font-size:.92rem;
  font-weight:800;
  color:var(--ink-black);
  line-height:1.25;
}
.hero-callbox__hint-cta{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:.78rem;
  font-weight:700;
  color:var(--pillar-red);
}
.hero-callbox__hint-phone{
  width:18px;
  height:22px;
  flex-shrink:0;
  animation:booth-hint-phone 1.1s ease-in-out infinite;
  transform-origin:50% 20%;
}
.hero-callbox.is-open{
  z-index:12;
}
.hero-callbox.is-open .hero-callbox__hint{
  opacity:0;
  visibility:hidden;
  transform:translateY(-50%) scale(.96);
  pointer-events:none;
}
.hero-callbox.is-open .hero-booth__handset{
  opacity:.35;
}
.hero-callbox.is-open .hero-booth__handset-body,
.hero-callbox.is-open .hero-booth__pulse{
  animation:none;
}

.hero-callbox__menu{
  position:absolute;
  z-index:8;
  left:calc(100% + 12px);
  top:50%;
  width:min(300px, 70vw);
  max-height:min(70vh, 420px);
  overflow:auto;
  padding:16px 14px 12px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(10,31,68,.08);
  box-shadow:0 24px 50px -22px rgba(10,31,68,.4);
  transform:translateY(-50%) translateX(10px) scale(.96);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .28s cubic-bezier(.22,1,.36,1), transform .28s cubic-bezier(.22,1,.36,1), visibility .28s;
}
.hero-callbox.is-open .hero-callbox__menu{
  opacity:1;
  visibility:visible;
  transform:translateY(-50%) translateX(0) scale(1);
  pointer-events:auto;
}
.hero-callbox__menu-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:12px;
  padding:0 4px;
}
.hero-callbox__menu-head h2{
  margin:0;
  font-size:1.05rem;
  font-weight:800;
  color:var(--ink-black);
  line-height:1.25;
}
.hero-callbox__close{
  flex-shrink:0;
  width:32px;
  height:32px;
  border:0;
  border-radius:10px;
  background:rgba(10,31,68,.06);
  color:rgba(0,0,0,.65);
  display:grid;
  place-items:center;
  cursor:pointer;
  transition:background .2s ease, color .2s ease;
}
.hero-callbox__close:hover{
  background:rgba(183,32,46,.12);
  color:var(--pillar-red);
}
.hero-callbox__options{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.hero-callbox__option{
  display:grid;
  grid-template-columns:34px 1fr auto;
  align-items:center;
  gap:10px;
  padding:12px 12px;
  border-radius:14px;
  background:rgba(10,31,68,.04);
  color:var(--ink-black);
  font-size:.9rem;
  font-weight:700;
  line-height:1.3;
  transition:background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.hero-callbox__option i{
  color:var(--pillar-red);
  opacity:.55;
  transition:transform .2s ease, opacity .2s ease;
}
.hero-callbox__option:hover,
.hero-callbox__option:focus-visible{
  background:rgba(183,32,46,.12);
  box-shadow:0 8px 18px -14px rgba(183,32,46,.55);
  outline:none;
}
.hero-callbox__option:hover i,
.hero-callbox__option:focus-visible i{
  opacity:1;
  transform:translateX(3px);
}
.hero-callbox__option-icon{
  width:34px;
  height:34px;
  border-radius:10px;
  background:#fff;
  color:var(--pillar-red);
  display:grid;
  place-items:center;
  box-shadow:0 4px 10px -6px rgba(183,32,46,.4);
}
.hero-callbox__option-icon svg{ width:16px; height:16px; }

@keyframes booth-enter{
  from{ opacity:0; transform:translateY(22px) scale(.94); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}
@keyframes booth-float{
  0%,100%{ transform:translateY(0); }
  50%{ transform:translateY(-8px); }
}
@keyframes booth-shadow{
  0%,100%{ transform:scaleX(1); opacity:.85; }
  50%{ transform:scaleX(.9); opacity:.55; }
}
@keyframes booth-glow{
  0%,100%{ opacity:.4; }
  50%{ opacity:.85; }
}
@keyframes booth-glass-breathe{
  0%,100%{ opacity:.72; }
  50%{ opacity:.95; }
}
@keyframes booth-handset-ring{
  0%,100%{ transform:rotate(0deg); }
  18%{ transform:rotate(-14deg); }
  36%{ transform:rotate(12deg); }
  54%{ transform:rotate(-10deg); }
  72%{ transform:rotate(8deg); }
  88%{ transform:rotate(-4deg); }
}
@keyframes booth-handset-pulse{
  0%{
    opacity:.7;
    transform:translate(-50%, -50%) scale(.45);
    border-color:rgba(183,32,46,.7);
  }
  70%{
    opacity:0;
    transform:translate(-50%, -50%) scale(1.25);
    border-color:rgba(183,32,46,0);
  }
  100%{
    opacity:0;
    transform:translate(-50%, -50%) scale(1.3);
  }
}
@keyframes booth-hint-phone{
  0%,100%{ transform:rotate(0deg); }
  25%{ transform:rotate(-16deg); }
  50%{ transform:rotate(12deg); }
  75%{ transform:rotate(-8deg); }
}
@keyframes booth-hint-in{
  from{ opacity:0; transform:translateY(-50%) translateX(10px); }
  to{ opacity:1; transform:translateY(-50%) translateX(0); }
}
@keyframes booth-hint-bob{
  0%,100%{ transform:translateY(-50%); }
  50%{ transform:translateY(calc(-50% - 4px)); }
}

@media (max-width:1000px){
  .hero-content{
    margin-left:0;
    padding-top:56px;
  }
  .hero-callbox{
    z-index:8;
  }
  .hero-callbox__menu{
    position:fixed;
    left:50%;
    right:auto;
    top:50%;
    bottom:auto;
    width:min(340px, calc(100vw - 28px));
    max-height:min(72dvh, 460px);
    transform:translate(-50%, -46%) scale(.96);
    z-index:400;
  }
  .hero-callbox.is-open .hero-callbox__menu{
    transform:translate(-50%, -50%) scale(1);
  }
  .hero-callbox.is-open::before{
    content:'';
    position:fixed;
    inset:0;
    z-index:399;
    background:rgba(10,31,68,.42);
  }
}
@media (max-width:700px){
  .hero-booth{ width:clamp(128px, 36vw, 168px); }
  .hero-callbox{
    flex-direction:column;
    align-items:center;
    margin:0 auto 16px;
  }
  .hero-booth{ order:1; }
  .hero-callbox__hint{
    position:relative;
    left:auto;
    top:auto;
    bottom:auto;
    transform:none;
    order:2;
    margin:10px auto 0;
    min-width:0;
    width:max-content;
    max-width:min(240px, calc(100vw - 32px));
    animation:booth-hint-in-mobile .7s cubic-bezier(.22,1,.36,1) .35s both;
  }
  .hero-callbox__hint::after{
    left:50%;
    top:-7px;
    bottom:auto;
    transform:translateX(-50%) rotate(45deg);
    border:0;
    border-left:1px solid rgba(255,255,255,.65);
    border-top:1px solid rgba(255,255,255,.65);
  }
  .hero-callbox.is-open .hero-callbox__hint{
    transform:scale(.96);
  }
}
@keyframes booth-hint-in-mobile{
  from{ opacity:0; transform:translateY(8px); }
  to{ opacity:1; transform:translateY(0); }
}

@media (prefers-reduced-motion:reduce){
  .hero-booth,
  .hero-booth__mover,
  .hero-booth__shadow-img,
  .hero-booth__glass-img,
  .hero-booth__glow,
  .hero-booth__handset-body,
  .hero-booth__pulse,
  .hero-callbox__hint,
  .hero-callbox__hint-phone{
    animation:none;
  }
  .hero-booth{ opacity:1; }
  .hero-booth__glass-img{ opacity:.85; }
  .hero-callbox__menu{ transition:none; }
}
.hero-scroll{
  position:absolute; bottom:24px; left:50%; transform:translateX(-50%);
  display:flex; align-items:center; justify-content:center;
  width:38px; height:38px; border-radius:50%;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.06);
  color:rgba(255,255,255,.5); z-index:2;
  pointer-events:none;
  animation:scrollBounce 2.5s ease-in-out infinite;
}
.hero-scroll svg{ width:16px; height:18px; }
@keyframes scrollBounce{
  0%,100%{ transform:translateX(-50%) translateY(0); opacity:.5; }
  50%{ transform:translateX(-50%) translateY(8px); opacity:.9; }
}
@media (prefers-reduced-motion:reduce){
  .hero-scroll{ animation:none; }
}

/* ============ PROGRAMS ============ */
.programs{
  background:var(--ink-navy);
  border-bottom:1px solid rgba(255,255,255,0.08);
  position:relative; z-index:2; padding:72px 0;
}
.programs-head{margin-bottom:44px;}
.programs .eyebrow--dark{color:rgba(255,255,255,.75);}
.programs-head h2{font-size:clamp(1.9rem,3.5vw,2.8rem); margin-bottom:8px; color:#fff;}
.programs-head h2 .text-red{color:var(--pillar-red);}
.programs-lead{color:rgba(255,255,255,0.68); max-width:54ch; font-size:1rem;}

/* --- Home program cards (static grid) --- */
.prog-home-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:10px;
  align-items:start;
}
.prog-home-card{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  min-height:0;
  height:56px;
  background:#fff;
  border:1px solid rgba(10,31,68,.1);
  border-radius:12px;
  transition:border-color .2s var(--ease), transform .2s var(--ease);
}
.prog-home-card:hover{
  border-color:rgba(183,32,46,.35);
  transform:translateY(-1px);
}
.prog-home-card-icon{
  width:32px; height:32px; flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:8px;
  background:var(--ink-navy); color:#fff;
}
.prog-home-card-icon svg{width:16px; height:16px;}
.prog-home-card-icon--red{background:var(--pillar-red);}
.prog-home-card-icon--teal{background:#0f766e;}
.prog-home-card-icon--wine{background:#8f254d;}
.prog-home-card-copy{
  flex:1; min-width:0;
  display:flex; flex-direction:column; gap:1px;
}
.prog-home-card h3{
  margin:0;
  font-size:.88rem; font-weight:700; letter-spacing:-.02em;
  color:var(--ink-black); line-height:1.2;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.prog-home-card p{
  margin:0;
  font-size:.72rem; line-height:1.25; color:var(--ink-muted);
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.prog-home-card-go{
  flex-shrink:0;
  width:28px; height:28px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:8px;
  color:var(--ink-navy); text-decoration:none;
  font-size:1rem; font-weight:700; line-height:1;
  border:1px solid rgba(10,31,68,.14);
  transition:background .2s, color .2s, border-color .2s;
}
.prog-home-card:hover .prog-home-card-go{
  background:var(--pillar-red); color:#fff; border-color:var(--pillar-red);
}

@media (max-width:900px){
  .prog-home-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:620px){
  .prog-home-grid{grid-template-columns:1fr;}
}

/* legacy tab/panel kept for other pages if referenced */
.programs-ui{
  display:grid;
  grid-template-columns:290px 1fr;
  gap:20px;
  align-items:start;
}

/* --- Tab list --- */
.prog-tabs{display:flex; flex-direction:column; gap:7px;}

.prog-tab{
  display:flex; align-items:center; gap:13px;
  padding:13px 16px;
  border:1.5px solid var(--fog-line); border-radius:13px;
  background:#fff; cursor:pointer; text-align:left; width:100%;
  position:relative; overflow:hidden;
  transition:border-color .25s var(--ease), box-shadow .25s var(--ease), transform .22s var(--ease), background .2s;
}
.prog-tab::before{
  content:''; position:absolute; left:0; top:0; bottom:0; width:3px;
  background:var(--pillar-red);
  transform:scaleY(0); transform-origin:center;
  transition:transform .28s var(--ease);
}
.prog-tab:hover:not(.is-active){border-color:rgba(183,32,46,.32); transform:translateX(3px);}
.prog-tab.is-active{
  border-color:var(--pillar-red);
  box-shadow:0 6px 22px -10px rgba(183,32,46,.22);
  transform:translateX(5px);
}
.prog-tab.is-active::before,.prog-tab:hover::before{transform:scaleY(1);}

.prog-tab-icon{
  display:flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:10px;
  background:var(--fog); color:var(--ink-black); flex-shrink:0;
  transition:background .25s var(--ease), color .25s var(--ease), transform .3s var(--ease);
}
.prog-tab.is-active .prog-tab-icon,.prog-tab:hover .prog-tab-icon{
  background:var(--pillar-red); color:#fff; transform:scale(1.1) rotate(-6deg);
}

.prog-tab-body{flex:1; min-width:0;}
.prog-tab-name{
  display:block; font-weight:700; color:var(--ink-black); font-size:.9rem;
  transition:color .2s;
}
.prog-tab.is-active .prog-tab-name{color:var(--pillar-red);}
.prog-tab-sub{
  display:block; font-size:.73rem; color:var(--ink-muted); margin-top:2px;
  font-family:var(--font-mono); letter-spacing:.4px;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

.prog-tab-arrow{
  font-size:1.3rem; color:var(--pillar-red);
  opacity:0; transform:translateX(-6px); flex-shrink:0;
  transition:opacity .2s, transform .25s var(--ease);
}
.prog-tab.is-active .prog-tab-arrow,.prog-tab:hover .prog-tab-arrow{
  opacity:1; transform:translateX(0);
}

/* --- Panels --- */
.prog-panels{position:relative; min-height:340px;}
.prog-panel{display:none;}
.prog-panel.is-active{
  display:block;
  animation:panel-in .38s var(--ease) both;
}
@keyframes panel-in{
  from{opacity:0; transform:translateY(14px);}
  to{opacity:1; transform:translateY(0);}
}

.prog-panel-inner{
  display:grid; grid-template-columns:168px 1fr; gap:32px; align-items:start;
  background:#fff; border:1.5px solid var(--fog-line); border-radius:20px;
  padding:36px; position:relative; overflow:hidden;
  box-shadow:0 16px 48px -20px rgba(10,31,68,.13);
}
.prog-panel-inner::after{
  content:''; position:absolute; top:0; right:0;
  width:200px; height:200px;
  background:radial-gradient(circle at top right, rgba(183,32,46,.06), transparent 65%);
  pointer-events:none;
}

.prog-panel-aside{display:flex; flex-direction:column; gap:20px;}

.prog-panel-icon{
  display:flex; align-items:center; justify-content:center;
  width:100%; aspect-ratio:1; border-radius:16px;
  background:var(--icon-bg, var(--ink-navy)); color:#fff;
  position:relative; overflow:hidden;
}
.prog-panel-icon::before{
  content:''; position:absolute; inset:0;
  background:linear-gradient(135deg,rgba(255,255,255,.14) 0%,transparent 60%);
}
.prog-panel-icon svg{width:52px; height:52px; position:relative; z-index:1;}

.prog-stats{
  display:flex; flex-direction:column; gap:12px;
  margin:0; padding:0;
}
.prog-stat{display:flex; flex-direction:column; gap:1px;}
.prog-stat-num{
  font-family:var(--font-mono); font-size:1.2rem; font-weight:600;
  color:var(--ink-black); line-height:1;
}
.prog-stat dd{
  font-size:.7rem; color:var(--ink-muted);
  text-transform:uppercase; letter-spacing:1.5px;
  font-family:var(--font-mono); margin:0;
}

.prog-panel-content h3{font-size:1.5rem; margin-bottom:10px; color:var(--ink-black);}
.prog-panel-lead{color:var(--ink-muted); margin-bottom:20px; font-size:.97rem; line-height:1.65;}

.prog-feat-list{
  list-style:none; margin:0 0 26px; padding:0;
  display:flex; flex-direction:column; gap:10px;
}
.prog-feat-list li{
  display:flex; align-items:flex-start; gap:10px;
  font-size:.88rem; color:var(--ink-text); line-height:1.5;
}
.prog-feat-list li::before{
  content:'';
  display:block; width:18px; height:18px; min-width:18px; margin-top:1px;
  border-radius:50%;
  background:url("data:image/svg+xml,%3Csvg viewBox='0 0 18 18' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='9' cy='9' r='9' fill='%23B7202E'/%3E%3Cpath d='M4.8 9l2.8 2.8 5.6-5.6' stroke='white' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round' fill='none'/%3E%3C/svg%3E") center/cover no-repeat;
}

@media (max-width:1060px){
  .programs-ui{grid-template-columns:250px 1fr;}
}
@media (max-width:860px){
  .programs-ui{grid-template-columns:1fr;}
  .prog-tabs{
    flex-direction:row; overflow-x:auto; padding-bottom:4px; gap:8px;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
  }
  .prog-tab{
    flex-shrink:0; min-width:170px; scroll-snap-align:start;
    transform:none !important;
  }
  .prog-tab::before{
    top:auto; bottom:0; left:0; right:0;
    width:auto; height:3px;
    transform:scaleX(0); transform-origin:center;
  }
  .prog-panels{min-height:auto;}
}
@media (max-width:640px){
  .prog-panel-inner{
    grid-template-columns:1fr; padding:24px;
  }
  .prog-panel-aside{
    flex-direction:row; align-items:center; gap:16px;
  }
  .prog-panel-icon{
    width:72px; height:72px; aspect-ratio:unset; flex-shrink:0; border-radius:12px;
  }
  .prog-panel-icon svg{width:32px; height:32px;}
  .prog-stats{flex-direction:row; flex-wrap:wrap; gap:10px 16px;}
  .prog-stat-num{font-size:1rem;}
}

/* ============ REVEAL ANIMATION ============ */
.reveal{opacity:0; transform:translateY(26px); transition:opacity .7s var(--ease), transform .7s var(--ease);}
.reveal.is-visible{opacity:1; transform:none;}

/* ============ WHY SECTION ============ */
.why{padding:110px 0; background:var(--paper);}
.why-grid{display:grid; grid-template-columns:.9fr 1.1fr; gap:60px; align-items:start;}
.why-copy h2{font-size:clamp(2rem,3.6vw,2.8rem);}
.why-list{margin-top:28px; display:flex; flex-direction:column; gap:16px;}
.why-list li{
  padding-left:22px; position:relative; color:var(--ink-text); font-size:.95rem;
}
.why-list li::before{
  content:''; position:absolute; left:0; top:8px; width:8px; height:8px; background:var(--pillar-red); border-radius:50%;
}
.why-list strong{color:var(--ink-black);}

.why-media{
  display:grid; grid-template-columns:1.1fr .9fr; grid-template-rows:auto auto; gap:16px;
  position:relative;
}
.why-photo{
  border-radius:var(--radius); min-height:220px; background-size:cover; background-position:center;
  box-shadow:var(--shadow-soft);
}
.why-photo--1{
  grid-row:1/3;
  background-image:linear-gradient(160deg, rgba(183,32,46,.15), rgba(183,32,46,.05)), url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="400" height="500"><rect width="400" height="500" fill="%23c9d0dd"/></svg>');
}
.why-photo--2{
  background-image:linear-gradient(160deg, rgba(183,32,46,.12), rgba(183,32,46,.05)), url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="400" height="300"><rect width="400" height="300" fill="%23dfe3ec"/></svg>');
}
.why-quote{
  background:var(--ink-navy); color:#fff; border-radius:var(--radius); padding:26px 24px;
  font-family:var(--font-head); font-size:1.15rem; font-style:normal; margin:0; line-height:1.4;
  position:relative;
}
.quote-mark{color:var(--brass); font-size:2.2rem; line-height:0; display:block; margin-bottom:6px;}

@media (max-width:900px){
  .why-grid{grid-template-columns:1fr;}
  .why-media{grid-template-columns:1fr 1fr;}
  .why-photo--1{grid-row:auto;}
  .why-quote{grid-column:1/3;}
}
@media (max-width:560px){
  .why-media{grid-template-columns:1fr;}
  .why-quote{grid-column:auto;}
  .why{padding:70px 0;}
}

/* ============ ROUTE / QUIZ SECTION ============ */
.route-section{padding:64px 0; background:var(--ink-navy); border-top:none;}
.route-section h2{font-size:clamp(1.45rem,2.6vw,1.9rem); color:#fff; margin-bottom:6px;}
.route-section .eyebrow--dark{color:var(--brass);}
.route-section-head{text-align:center; max-width:40ch; margin:0 auto 20px;}
.route-section-head .eyebrow{color:var(--brass); margin-bottom:6px;}
.route-section-lede{color:rgba(255,255,255,.6); margin:0; font-size:.9rem; line-height:1.45;}
.branches-head{text-align:center; max-width:52ch; margin:0 auto 36px;}
.branches-head h2{margin-bottom:12px;}
.branches-head p{margin:0;}
.route-intro{max-width:56ch; font-size:1.02rem; margin-bottom:48px; color:rgba(255,255,255,.72);}

.route-widget{
  background:var(--paper); border:none; border-radius:16px;
  padding:18px 20px 20px; max-width:720px; margin:0 auto;
  box-shadow:0 16px 40px -20px rgba(0,0,0,.35), 0 0 0 1px rgba(255,255,255,.08);
}
.route-map{margin-bottom:4px; max-width:560px; margin-inline:auto;}
.route-map svg{width:100%; height:auto; display:block; overflow:visible; max-height:110px;}
/* Station outer rings */
.stations .st-outer{fill:rgba(10,31,68,.08); stroke:var(--fog-line); stroke-width:1.5; transition:fill .35s, stroke .35s;}
.stations .st-inner{fill:#fff; stroke:var(--ink-navy); stroke-width:3; transition:fill .35s, stroke .35s;}
.stations g.st-done .st-outer{fill:rgba(183,32,46,.12); stroke:var(--pillar-red);}
.stations g.st-done .st-inner{fill:var(--pillar-red); stroke:var(--pillar-red);}
.stations g.st-current .st-outer{fill:rgba(183,32,46,.2); stroke:var(--pillar-red); animation:stOuterPulse 1.6s ease-in-out infinite;}
@keyframes stOuterPulse{0%,100%{opacity:.5;} 50%{opacity:1;}}
.stations text{font-family:var(--font-mono); font-size:15px; fill:var(--ink-black); font-weight:600; text-anchor:middle; transition:fill .35s;}
.stations g.st-done text{fill:var(--pillar-red);}
.stations .stop-name{font-size:9px; fill:var(--ink-muted); font-weight:400; text-transform:uppercase; letter-spacing:.4px;}
#startDot{fill:var(--brass); stroke:none;}
/* Train marker: dual-ring pulse */
.train-pulse{fill:var(--pillar-red); opacity:0; animation:trainPulse 2s ease-out infinite;}
.train-pulse--2{animation-delay:.7s;}
@keyframes trainPulse{
  0%{opacity:.6; r:10;}
  100%{opacity:0; r:22;}
}
.train-dot{fill:var(--pillar-red); stroke:#fff; stroke-width:2.5;}
#trainMarker{transition:transform .6s var(--ease);}
#resultFlag{stroke:var(--pillar-red); stroke-width:3; fill:var(--pillar-red); transition:opacity .4s var(--ease), transform .6s var(--ease);}
@media (prefers-reduced-motion:reduce){
  .train-pulse{animation:none; opacity:0;}
  .stations g.st-current .st-outer{animation:none;}
}

.quiz-panel{max-width:480px; margin:14px auto 0; color:var(--ink-black);}
.quiz-panel--exam{max-width:640px;}
.quiz-intro{text-align:center; padding:8px 4px 4px;}
.quiz-intro h2{font-family:var(--font-head); font-size:1.45rem; margin:0 0 10px; color:var(--ink-black);}
.quiz-intro p{color:var(--ink-muted); font-size:.92rem; line-height:1.55; margin:0 0 16px;}
.quiz-intro-kicker{font-family:var(--font-mono); font-size:.68rem; letter-spacing:1.4px; text-transform:uppercase; color:var(--pillar-red); margin:0 0 8px;}
.quiz-intro-meta{display:flex; justify-content:center; gap:18px; list-style:none; padding:0; margin:0 0 18px; flex-wrap:wrap;}
.quiz-intro-meta li{display:flex; flex-direction:column; gap:2px; min-width:88px;}
.quiz-intro-meta strong{font-family:var(--font-head); font-size:1rem; color:var(--ink-black);}
.quiz-intro-meta span{font-size:.72rem; color:var(--ink-muted);}
.quiz-cat{font-size:.72rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted); margin:0 0 8px;}
.quiz-progress-bar{height:6px; background:var(--fog-line); border-radius:99px; overflow:hidden; margin:0 0 12px;}
.quiz-progress-bar span{display:block; height:100%; width:0; background:var(--pillar-red); transition:width .35s ease;}
.quiz-timer{position:relative; height:6px; background:#eef1f5; border-radius:99px; margin:0 0 16px; overflow:visible;}
.quiz-timer[hidden],
.quiz-progress[hidden],
.quiz-progress-bar[hidden],
.quiz-nav[hidden],
.quiz-fail[hidden],
.quiz-thanks[hidden],
.quiz-lead[hidden],
.quiz-intro[hidden]{display:none !important;}
.quiz-timer-bar{height:100%; width:100%; background:var(--pillar-red); border-radius:99px; transition:none;}
.quiz-timer-text{position:absolute; right:0; top:-18px; font-family:var(--font-mono); font-size:.68rem; font-weight:700; color:var(--pillar-red);}
.quiz-lead{margin-top:8px;}
.quiz-lead-form{margin-top:18px; text-align:left; background:#fff; border:1px solid var(--fog-line); border-radius:14px; padding:18px;}
.quiz-lead-form h3{margin:0 0 6px; font-size:1.15rem; color:var(--ink-black);}
.quiz-lead-form > p{margin:0 0 14px; font-size:.88rem; color:var(--ink-muted); line-height:1.5;}
.quiz-lead-form .field{display:flex; flex-direction:column; gap:6px; margin-bottom:12px;}
.quiz-lead-form .field span{font-size:.78rem; font-weight:600;}
.quiz-lead-form .field input{border:1.5px solid var(--fog-line); border-radius:8px; padding:10px 12px; font:inherit;}
.quiz-lead-form .btn{width:100%; margin-top:8px;}
.quiz-fail, .quiz-empty, .quiz-thanks{text-align:center; padding:18px 8px;}
.quiz-fail h2, .quiz-empty h2, .quiz-thanks h2{font-size:1.4rem; margin:0 0 10px;}
.quiz-fail p, .quiz-empty p, .quiz-thanks p{color:var(--ink-muted); margin:0 0 16px; line-height:1.55;}
.quiz-question legend{text-align:left;}
/* Step dots progress */
.quiz-progress{
  display:flex; align-items:center; gap:10px;
  margin-bottom:14px;
}
.quiz-steps{display:flex; flex-wrap:wrap; gap:4px; align-items:center;}
.quiz-step{
  display:block; width:12px; height:4px; border-radius:2px;
  background:var(--fog-line); transition:background .28s var(--ease), width .28s var(--ease);
}
.quiz-step.is-done{background:rgba(183,32,46,.4);}
.quiz-step.is-active{background:var(--pillar-red); width:20px;}
.quiz-step-lbl{font-family:var(--font-mono); font-size:.68rem; letter-spacing:1px; color:var(--ink-muted); text-transform:uppercase; white-space:nowrap;}

.quiz-question{border:none; margin:0; padding:0; text-align:center;}
.quiz-question legend{
  font-family:var(--font-head); font-size:1.05rem; font-weight:600; color:var(--ink-black); margin-bottom:12px; padding:0; width:100%;
  transition:color .2s;
}
.quiz-question.needs-answer legend{color:var(--pillar-red);}
.quiz-question.needs-answer{animation:shake .35s var(--ease);}
@keyframes shake{
  0%,100%{transform:translateX(0);}
  25%{transform:translateX(-6px);}
  75%{transform:translateX(6px);}
}
.quiz-question label{
  display:flex; align-items:center; gap:0; width:100%; text-align:left; padding:9px 12px; margin-bottom:6px;
  border:1.5px solid var(--fog-line); border-radius:8px; background:#fff; cursor:pointer;
  transition:border-color .22s, background .22s, box-shadow .22s;
  font-size:.9rem; font-weight:500; color:#111;
}
.quiz-question label:hover{border-color:var(--brass); box-shadow:0 2px 10px rgba(0,0,0,.12);}
/* Hide native radio; use q-letter as indicator */
.quiz-question input[type="radio"]{
  position:absolute; width:1px; height:1px; opacity:0; pointer-events:none;
}
/* Letter badge */
.q-letter{
  display:inline-flex; align-items:center; justify-content:center;
  width:22px; height:22px; border-radius:50%; flex-shrink:0; margin-right:10px;
  font-family:var(--font-mono); font-size:.65rem; font-weight:700;
  background:var(--fog); color:var(--ink-black);
  transition:background .22s, color .22s;
}
.quiz-question label:has(input:checked) .q-letter{
  background:var(--pillar-red); color:#fff;
}
.quiz-question label:has(input:checked){
  border-color:var(--pillar-red); background:#FDECEE; color:#111;
}
.quiz-nav{display:flex; justify-content:center; gap:10px; margin-top:14px;}
.quiz-nav .btn{padding:10px 16px; font-size:.85rem;}

.ticket{
  margin-top:18px; background:linear-gradient(135deg, #0A1F44 0%, #0E2966 100%);
  color:#fff; border-radius:14px; padding:18px 18px 16px;
  position:relative; overflow:hidden; outline:none;
  box-shadow:0 20px 60px -16px rgba(0,0,0,.5);
  animation:ticketReveal .48s var(--ease) both;
}
@keyframes ticketReveal{
  from{opacity:0; transform:translateY(16px) scale(.97);}
  to{opacity:1; transform:translateY(0) scale(1);}
}
.ticket::after{
  content:''; position:absolute; top:-120px; right:-80px;
  width:280px; height:280px; border-radius:50%;
  background:radial-gradient(circle, rgba(0,0,0,.12), transparent 68%);
  pointer-events:none;
}
/* Header */
.ticket-top{display:flex; justify-content:space-between; align-items:center; padding-bottom:18px; border-bottom:1px solid rgba(255,255,255,.1);}
.ticket-top-left{display:flex; flex-direction:column; gap:3px;}
.ticket-carrier{font-family:var(--font-mono); font-size:.6rem; letter-spacing:2.5px; text-transform:uppercase; color:rgba(255,255,255,.38);}
.ticket-label{font-family:var(--font-mono); font-size:.8rem; letter-spacing:2px; text-transform:uppercase; color:var(--brass); font-weight:700;}
.ticket-plane-icon{width:26px; height:26px; color:rgba(255,255,255,.35);}
/* Route bar */
.ticket-route-bar{display:flex; align-items:center; gap:16px; padding:18px 0 14px;}
.ticket-route-city{display:flex; flex-direction:column; gap:3px;}
.ticket-route-city--dest{align-items:flex-end;}
.ticket-city-code{font-family:var(--font-head); font-size:1.8rem; font-weight:700; color:#fff; line-height:1;}
.ticket-city-name{font-family:var(--font-mono); font-size:.68rem; letter-spacing:1px; text-transform:uppercase; color:rgba(255,255,255,.5);}
.ticket-route-arrow{flex:1; display:flex; align-items:center; gap:4px;}
.ticket-route-line{flex:1; height:1.5px; background:rgba(255,255,255,.22);}
.ticket-route-dot{width:7px; height:7px; border-radius:50%; background:var(--brass); flex-shrink:0;}
/* Perforation */
.ticket-perf{
  position:relative; height:1px; margin:0 -28px;
  border-top:2px dashed rgba(255,255,255,.18);
  margin-bottom:18px;
}
.ticket-perf::before,.ticket-perf::after{
  content:''; position:absolute; top:50%; transform:translateY(-50%);
  width:18px; height:18px; border-radius:50%; background:var(--ink-navy);
}
.ticket-perf::before{left:-10px;}
.ticket-perf::after{right:-10px;}
/* Main info */
.ticket-main{display:flex; justify-content:space-between; flex-wrap:wrap; gap:20px; margin-bottom:4px;}
.ticket-small{display:block; font-family:var(--font-mono); font-size:.62rem; letter-spacing:1.8px; color:rgba(255,255,255,.45); margin-bottom:5px; text-transform:uppercase;}
.ticket-level{font-family:var(--font-head); font-size:2.2rem; font-weight:700; display:block;}
.ticket-level--locked{letter-spacing:.12em; color:rgba(255,255,255,.45);}
.ticket-stopname{font-family:var(--font-mono); font-size:1.1rem; display:block;}
.ticket-seat{font-family:var(--font-mono); font-size:1.1rem; display:block; color:var(--brass);}
.ticket-locked{opacity:.5; letter-spacing:.18em;}
.ticket-note{color:rgba(215,220,232,.72); margin-top:14px; font-size:.88rem; line-height:1.55;}
.ticket-actions{display:flex; gap:12px; margin-top:20px; flex-wrap:wrap;}
.ticket .btn-ghost{border-color:rgba(255,255,255,.28); color:#fff;}
.ticket .btn-ghost:hover{border-color:rgba(255,255,255,.7);}

/* Contact / lead form fields */
.field{display:flex; flex-direction:column; gap:6px; font-size:.82rem; color:var(--ink-black); font-weight:600;}
.field em{font-style:normal; font-weight:400; color:var(--ink-muted); font-size:.75rem;}
.field input,.field select,.field textarea{
  font-family:var(--font-body); font-weight:400; font-size:.95rem;
  padding:12px 14px; border:1.5px solid var(--fog-line); border-radius:10px;
  background:var(--paper); color:var(--ink-text); outline:none;
  transition:border-color .2s var(--ease), background .2s;
  width:100%;
}
.field textarea{min-height:120px; resize:vertical;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brass); background:#fff;}
.field input::placeholder,.field textarea::placeholder{color:#9AA3B5;}
.field-check{
  display:flex; align-items:flex-start; gap:10px;
  font-size:.82rem; color:var(--ink-muted); line-height:1.45; margin-bottom:20px; cursor:pointer;
}
.field-check input{margin-top:3px; accent-color:var(--pillar-red); flex-shrink:0;}

/* ============ SHARED PAGE HERO ============ */
.page-hero,
.programs-page-hero{
  background:linear-gradient(160deg,#06152f 0%,var(--ink-navy) 50%,#12284f 100%);
  padding:120px 0 80px; text-align:left; color:#fff;
  position:relative; overflow:hidden;
}
.page-hero::after,
.programs-page-hero::after{
  content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--brass) 35%,var(--pillar-red) 65%,transparent);
}
.page-hero-inner,
.programs-page-hero-inner{position:relative; z-index:1; max-width:720px; margin:0;}
.page-hero .eyebrow,
.programs-page-hero .eyebrow{color:var(--brass);}
.page-hero h1,
.programs-page-hero h1{color:#fff; font-size:clamp(2rem,4.5vw,3.2rem); margin-bottom:16px;}
.page-hero-lede,
.programs-page-lede{color:rgba(255,255,255,0.65); max-width:52ch; margin:0; font-size:1.05rem;}
.page-section{padding-top:70px;}
.route-section.page-section{border-top:none;}
.branches.page-section{border-top:none; padding-top:50px;}

/* Level test hero + page sections (centered hero copy) */
.page-hero.level-hero{
  text-align:center;
}
.level-hero{padding:130px 0 88px;}
.level-hero-bg{
  position:absolute; inset:0; pointer-events:none; overflow:hidden;
}
.level-hero-orb{
  position:absolute; border-radius:50%; filter:blur(60px); opacity:.45;
}
.level-hero-orb--1{
  width:320px; height:320px; left:-80px; top:-60px;
  background:radial-gradient(circle,rgba(183,32,46,.55),transparent 70%);
}
.level-hero-orb--2{
  width:280px; height:280px; right:-40px; bottom:-80px;
  background:radial-gradient(circle,rgba(0,0,0,.4),transparent 70%);
}
.level-hero-line{
  position:absolute; left:5%; right:5%; bottom:18%; width:90%; height:90px;
  opacity:.9;
}
.level-hero-inner,
.page-hero.level-hero .page-hero-inner{
  max-width:760px; margin-left:auto; margin-right:auto;
}
.page-hero.level-hero .page-hero-lede{margin-left:auto; margin-right:auto;}
.level-hero-actions{
  display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:26px;
}
.level-hero-ghost{
  border-color:rgba(255,255,255,.35); color:#fff; background:transparent;
}
.level-hero-ghost:hover{
  background:#fff; color:var(--ink-black); border-color:#fff;
}
.level-hero-stats{
  display:grid; grid-template-columns:repeat(4,1fr); gap:12px;
  margin-top:36px; max-width:560px; margin-left:auto; margin-right:auto;
}
.level-hero-stats div{
  padding:14px 10px; border-radius:12px;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.12);
}
.level-hero-stats strong{
  display:block; font-family:var(--font-head); font-size:1.45rem;
  color:#fff; font-weight:600; line-height:1.1;
}
.level-hero-stats span{
  display:block; margin-top:4px;
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.08em;
  text-transform:uppercase; color:rgba(255,255,255,.55);
}
.page-hero.level-hero--quiz{
  padding:118px 0 56px; text-align:left;
}
.level-hero-quiz-wrap{
  position:relative; z-index:1;
}
.level-hero-copy{
  text-align:center;
  max-width:40rem;
  margin:0 auto 28px;
  color:#fff;
}
.level-hero-copy h1{
  font-size:clamp(1.7rem,4vw,2.5rem);
  margin:8px 0 10px;
  line-height:1.15;
}
.level-hero-copy p{
  margin:0;
  color:rgba(255,255,255,.78);
  font-size:1rem;
}
.level-hero--quiz .route-widget{
  max-width:680px; margin:0 auto;
  color:var(--ink-black);
  box-shadow:0 24px 60px -24px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.1);
}
.level-intro{
  padding:72px 0 40px; background:#fff; border-bottom:1px solid var(--fog-line);
}
.level-intro-head{text-align:center; max-width:52ch; margin:0 auto 36px;}
.level-intro-head h2{font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:10px;}
.level-intro-head p{margin:0;}
.level-steps{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:20px;
}
.level-steps li{
  background:var(--paper); border:1px solid var(--fog-line); border-radius:var(--radius);
  padding:24px 22px; display:flex; flex-direction:column; gap:8px;
}
.level-step-num{
  font-family:var(--font-mono); font-size:.78rem; letter-spacing:.14em;
  color:var(--brass); font-weight:600;
}
.level-steps strong{
  font-family:var(--font-head); font-size:1.2rem; color:var(--ink-black); font-weight:600;
}
.level-steps span:last-child{font-size:.9rem; color:var(--ink-muted); line-height:1.5;}
.level-why{
  padding:70px 0; background:var(--paper);
}
.level-why-inner{
  display:grid; grid-template-columns:1.1fr .9fr; gap:36px; align-items:center;
}
.level-why-copy h2{font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:12px;}
.level-why-copy > p{max-width:44ch; margin:0 0 18px;}
.level-why-list{
  display:grid; gap:10px; margin:0; padding:0; list-style:none;
}
.level-why-list li{
  position:relative; padding-left:18px; font-size:.92rem; color:var(--ink-text);
}
.level-why-list li::before{
  content:''; position:absolute; left:0; top:.55em;
  width:7px; height:7px; border-radius:50%; background:var(--pillar-red);
}
.level-why-panel{
  background:#fff; border:1px solid var(--fog-line); border-radius:var(--radius);
  padding:26px 24px; box-shadow:var(--shadow-soft);
}
.level-why-panel h3{
  font-size:1.25rem; margin:0 0 16px;
}
.level-why-panel ul{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px;}
.level-why-panel li{display:flex; flex-direction:column; gap:2px;}
.level-why-panel strong{color:var(--ink-black); font-size:.95rem;}
.level-why-panel span{font-size:.85rem; color:var(--ink-muted);}
.level-test-head{
  text-align:center; max-width:48ch; margin:0 auto 28px; color:#fff;
}
.level-test-head .eyebrow{color:var(--brass);}
.level-test-head h2{color:#fff; font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:10px;}
.level-test-head p{margin:0; color:rgba(255,255,255,.65);}
.level-faq{
  padding:80px 0; background:#fff; border-top:1px solid var(--fog-line);
}
.level-faq-inner{
  display:grid; grid-template-columns:.85fr 1.15fr; gap:40px; align-items:start;
}
.level-faq-copy h2{font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:10px;}
.level-faq-copy p{max-width:36ch; margin:0 0 18px;}
.level-faq-list{display:flex; flex-direction:column; gap:12px;}
.level-faq-item{
  border:1px solid var(--fog-line); border-radius:12px; background:var(--paper);
  padding:0 18px;
}
.level-faq-item summary{
  cursor:pointer; list-style:none; font-weight:700; color:var(--ink-black);
  padding:16px 0; font-size:.98rem;
}
.level-faq-item summary::-webkit-details-marker{display:none;}
.level-faq-item summary::after{
  content:'+'; float:right; color:var(--brass); font-weight:600;
}
.level-faq-item[open] summary::after{content:'-';}
.level-faq-item p{
  margin:0 0 16px; font-size:.9rem; color:var(--ink-muted); line-height:1.55;
}
@media (max-width:900px){
  .level-hero-stats{grid-template-columns:repeat(2,1fr);}
  .level-steps{grid-template-columns:1fr;}
  .level-why-inner{grid-template-columns:1fr; gap:24px;}
  .level-faq-inner{grid-template-columns:1fr; gap:24px;}
}
.level-cta{
  background:linear-gradient(160deg,#06152f 0%,var(--ink-navy) 55%,#12284f 100%);
}

/* ============ ABOUT PAGE ============ */
.about-hero{
  min-height:min(88vh,760px);
  display:flex; align-items:flex-end; justify-content:flex-start;
  padding:140px 0 72px; text-align:left;
  background:
    linear-gradient(105deg,rgba(6,21,47,.88) 0%,rgba(10,31,68,.68) 48%,rgba(10,31,68,.4) 100%),
    url('../assets/img/sube/sube-05.jpg') center/cover no-repeat;
  overflow:hidden;
}
.about-hero::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 50% 60% at 85% 20%,rgba(183,32,46,.28),transparent 60%),
    radial-gradient(ellipse 40% 50% at 10% 90%,rgba(0,0,0,.18),transparent 55%);
}
.about-hero::after{
  content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--brass) 35%,var(--pillar-red) 65%,transparent);
}
.about-hero-inner{
  position:relative; z-index:1; max-width:760px; margin:0; width:100%;
}
.about-hero .eyebrow{color:#fff;}
.about-hero h1{
  color:#fff; font-size:clamp(2.6rem,6vw,4.4rem); margin-bottom:18px;
  line-height:1.05; letter-spacing:-.02em;
}
.about-hero-lede{
  color:rgba(255,255,255,.72); max-width:46ch; margin:0 0 28px; font-size:1.08rem;
}
.about-hero-actions{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:34px;}
.about-hero-ghost{
  border-color:rgba(255,255,255,.35); color:#fff; background:transparent;
}
.about-hero-ghost:hover{background:#fff; color:var(--ink-black); border-color:#fff;}
.about-hero-rail{
  display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center;
  padding-top:22px; border-top:1px solid rgba(255,255,255,.14);
}
.about-hero-rail span{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.1em;
  text-transform:uppercase; color:rgba(255,255,255,.7);
}
.about-hero-rail strong{
  font-family:var(--font-head); font-size:1.15rem; color:#fff; font-weight:600;
  letter-spacing:0; margin-right:6px;
}
.about-marquee{
  background:var(--ink-navy); color:rgba(255,255,255,.55);
  border-bottom:1px solid rgba(255,255,255,.08);
  overflow:hidden; padding:14px 0;
}
.about-marquee-track{
  display:flex; gap:40px; width:max-content;
  animation:aboutMarquee 28s linear infinite;
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.18em; text-transform:uppercase;
}
.about-marquee-track span{white-space:nowrap;}
.about-marquee-track em{font-style:normal; color:var(--brass);}
@keyframes aboutMarquee{
  from{transform:translateX(0);} to{transform:translateX(-50%);}
}
.about-story{
  padding:0; background:#fff; position:relative;
}
.about-story-inner{
  display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);
  min-height:560px;
}
.about-story-visual{
  position:relative; overflow:hidden;
  background:linear-gradient(160deg,#06152f,#0A1F44 55%,#16305C);
  color:#fff; padding:64px 48px; display:flex; flex-direction:column; justify-content:flex-end;
}
.about-story-visual::before{
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(circle at 30% 20%,rgba(183,32,46,.35),transparent 45%),
    radial-gradient(circle at 80% 80%,rgba(183,146,75,.2),transparent 40%);
}
.about-year-mark{
  position:absolute; top:36px; left:40px; z-index:1;
  font-family:var(--font-head); font-size:clamp(5rem,12vw,8.5rem);
  line-height:.85; font-weight:700; color:rgba(255,255,255,.07);
  letter-spacing:-.04em; pointer-events:none;
}
.about-story-visual-copy{position:relative; z-index:1;}
.about-story-visual-copy .eyebrow{color:rgba(255,255,255,.75);}
.about-story-visual-copy h2{
  color:#fff; font-size:clamp(1.8rem,3.2vw,2.5rem); margin:0 0 12px; max-width:14ch;
}
.about-story-visual-copy p{color:rgba(255,255,255,.68); margin:0; max-width:34ch;}
.about-story-copy{
  padding:72px 56px; display:flex; flex-direction:column; justify-content:center;
  background:linear-gradient(180deg,#fff 0%, var(--paper) 100%);
  position:relative;
  color:var(--ink-text);
}
.about-story-copy::before{
  content:''; position:absolute; left:0; top:12%; bottom:12%; width:3px;
  background:linear-gradient(180deg,rgba(255,255,255,.5),var(--pillar-red));
}
.about-story-copy .eyebrow,
.about-story-copy .eyebrow--dark{color:var(--pillar-red);}
.about-story-copy h2{font-size:clamp(1.7rem,3vw,2.3rem); margin-bottom:14px; color:var(--ink-black);}
.about-story-copy p{max-width:46ch; margin:0 0 14px; color:var(--ink-muted);}
.about-story-cta{margin-top:18px; align-self:flex-start;}
.about-story-copy .about-story-cta.btn-primary{
  background:var(--pillar-red); color:#fff; border-color:transparent;
}
.about-story-copy .about-story-cta.btn-primary:hover{
  background:var(--pillar-red-dark); color:#fff;
}
.about-story-points{
  list-style:none; margin:18px 0 0; padding:0; display:flex; flex-direction:column; gap:12px;
}
.about-story-points li{
  display:flex; gap:14px; align-items:flex-start;
  font-size:.95rem; color:var(--ink-text);
}
.about-story-points i{
  flex-shrink:0; width:28px; height:28px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--font-mono); font-size:.68rem; font-style:normal;
  background:rgba(183,32,46,.1); color:var(--pillar-red); font-weight:700;
}
.about-stats-band{
  display:grid; grid-template-columns:repeat(4,1fr);
  background:var(--ink-navy); color:#fff;
}
.about-stats-band div{
  padding:36px 28px; border-right:1px solid rgba(255,255,255,.08);
  position:relative; overflow:hidden;
}
.about-stats-band div:last-child{border-right:none;}
.about-stats-band div::after{
  content:''; position:absolute; left:0; top:0; width:100%; height:2px;
  background:linear-gradient(90deg,transparent,var(--brass),transparent);
  opacity:0; transition:opacity .3s;
}
.about-stats-band div:hover::after{opacity:1;}
.about-stats-band strong{
  display:block; font-family:var(--font-head); font-size:clamp(2rem,3.5vw,2.8rem);
  line-height:1; margin-bottom:8px;
}
.about-stats-band span{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.1em;
  text-transform:uppercase; color:rgba(255,255,255,.55);
}
.about-values{
  padding:100px 0; background:#fff; position:relative; overflow:hidden;
}
.about-values::before{
  content:''; position:absolute; right:-120px; top:-80px; width:420px; height:420px;
  border-radius:50%; background:radial-gradient(circle,rgba(0,0,0,.12),transparent 70%);
  pointer-events:none;
}
.about-values-head{max-width:48ch; margin-bottom:48px;}
.about-values-head h2{font-size:clamp(1.8rem,3.4vw,2.6rem); margin-bottom:12px;}
.about-values-head p{margin:0;}
.about-values-rail{display:flex; flex-direction:column; gap:0;}
.about-value-row{
  display:grid; grid-template-columns:120px 1fr 1.2fr; gap:24px; align-items:center;
  padding:28px 0; border-top:1px solid var(--fog-line);
  transition:background .25s var(--ease), padding .25s var(--ease);
}
.about-value-row:last-child{border-bottom:1px solid var(--fog-line);}
.about-value-row:hover{
  background:linear-gradient(90deg,rgba(183,32,46,.04),transparent 60%);
  padding-left:12px;
}
.about-value-num{
  font-family:var(--font-head); font-size:2.4rem; color:var(--pillar-red);
  font-weight:700; line-height:1;
}
.about-value-row h3{font-size:1.35rem; margin:0; color:var(--ink-black);}
.about-value-row p{margin:0; color:var(--ink-muted); font-size:.95rem; max-width:48ch;}

/* ═══ ABOUT HIGHLIGHTS (VIP / Passport) ═══ */
.about-highlights{
  padding:clamp(56px, 7vw, 88px) 0;
  background:#fff;
}
.about-highlights-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:18px;
}
.about-highlight{
  position:relative;
  overflow:hidden;
  min-height:280px;
  padding:36px 32px 34px;
  display:flex; flex-direction:column; justify-content:flex-end;
  gap:12px;
  border-radius:28px;
  color:#fff;
  isolation:isolate;
  transition:transform .45s cubic-bezier(.16,1,.3,1), box-shadow .45s ease;
}
.about-highlight[data-tone="navy"]{
  background:
    radial-gradient(ellipse 70% 60% at 100% 0%, rgba(228,21,32,.22), transparent 50%),
    linear-gradient(155deg, #122a56 0%, #0A1F44 55%, #06152f 100%);
}
.about-highlight[data-tone="red"]{
  background:
    radial-gradient(ellipse 60% 55% at 0% 100%, rgba(10,31,68,.28), transparent 55%),
    linear-gradient(155deg, #e41520 0%, #b7202e 48%, #8f1522 100%);
}
.about-highlight:hover{
  transform:translateY(-6px);
  box-shadow:0 30px 60px -34px rgba(10,31,68,.55);
}
.about-highlight-idx{
  position:absolute; top:18px; right:22px;
  font-size:clamp(4rem,8vw,6rem); font-weight:900;
  letter-spacing:-.08em; line-height:.85;
  color:rgba(255,255,255,.08);
  pointer-events:none; user-select:none;
}
.about-highlight-icon{
  width:52px; height:52px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:16px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.2);
  color:#fff;
  margin-bottom:8px;
}
.about-highlight-icon svg{ width:26px; height:26px; }
.about-highlight h3{
  margin:0;
  font-size:clamp(1.35rem,2.4vw,1.7rem);
  font-weight:800; letter-spacing:-.03em; line-height:1.15;
  color:#fff;
}
.about-highlight h3::after{ display:none; }
.about-highlight p{
  margin:0;
  max-width:36ch;
  font-size:.95rem; line-height:1.65;
  color:rgba(255,255,255,.78);
}

/* ═══ ABOUT VISION / MISSION ═══ */
.about-vm{
  padding:clamp(72px, 9vw, 110px) 0;
  background:
    radial-gradient(ellipse 50% 40% at 80% 0%, rgba(228,21,32,.05), transparent 55%),
    #f4f6fa;
}
.about-vm-head{ max-width:42ch; margin-bottom:36px; }
.about-vm-head h2{
  margin:0;
  font-size:clamp(1.9rem,3.5vw,2.7rem);
  letter-spacing:-.03em; color:var(--ink-navy);
}
.about-vm-split{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 28px 60px -36px rgba(10,31,68,.35);
}
.about-vm-panel{
  position:relative;
  padding:clamp(36px,5vw,52px);
  min-height:300px;
  overflow:hidden;
  display:flex; flex-direction:column; gap:14px;
}
.about-vm-panel--vision{
  background:linear-gradient(165deg, #0A1F44 0%, #06152f 100%);
  color:#fff;
}
.about-vm-panel--mission{
  background:#fff;
  color:var(--ink-navy);
  border-top:3px solid rgb(228,21,32);
}
.about-vm-mark{
  position:absolute; right:12px; bottom:-18px;
  font-size:clamp(7rem,14vw,11rem); font-weight:900;
  letter-spacing:-.08em; line-height:.8;
  pointer-events:none; user-select:none;
}
.about-vm-panel--vision .about-vm-mark{ color:rgba(255,255,255,.06); }
.about-vm-panel--mission .about-vm-mark{ color:rgba(228,21,32,.08); }
.about-vm-icon{
  width:48px; height:48px;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:14px;
  margin-bottom:4px;
}
.about-vm-panel--vision .about-vm-icon{
  background:rgba(255,255,255,.1);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
}
.about-vm-panel--mission .about-vm-icon{
  background:rgba(228,21,32,.1);
  border:1px solid rgba(228,21,32,.2);
  color:rgb(228,21,32);
}
.about-vm-icon svg{ width:24px; height:24px; }
.about-vm-panel h3{
  margin:0;
  font-size:clamp(1.4rem,2.2vw,1.75rem);
  font-weight:800; letter-spacing:-.03em;
}
.about-vm-panel--vision h3{ color:#fff; }
.about-vm-panel--mission h3{ color:var(--ink-navy); }
.about-vm-panel h3::after{ display:none; }
.about-vm-panel p{
  margin:0;
  max-width:34ch;
  font-size:1rem; line-height:1.7;
  position:relative; z-index:1;
}
.about-vm-panel--vision p{ color:rgba(255,255,255,.72); }
.about-vm-panel--mission p{ color:rgba(10,31,68,.68); }

/* ═══ ABOUT QUALITY POLICY ═══ */
.about-quality{
  padding:clamp(80px, 10vw, 120px) 0;
  background:
    radial-gradient(ellipse 55% 45% at 10% 0%, rgba(228,21,32,.06), transparent 55%),
    radial-gradient(ellipse 45% 40% at 90% 20%, rgba(10,31,68,.05), transparent 50%),
    linear-gradient(180deg, #f3f5f9 0%, #eef1f6 100%);
  position:relative;
  overflow:hidden;
}
.about-quality-glow{
  position:absolute;
  left:50%; top:58%;
  width:min(70%, 520px); height:40%;
  transform:translate(-50%, -50%);
  background:radial-gradient(ellipse at center, rgba(228,21,32,.08), transparent 70%);
  pointer-events:none; z-index:0;
}
.about-quality .wrap{ position:relative; z-index:1; }
.about-quality-head{
  max-width:48ch;
  margin:0 auto 48px;
  text-align:center;
}
.about-quality-head h2{
  margin:0 0 12px;
  font-size:clamp(1.9rem,3.5vw,2.75rem);
  letter-spacing:-.03em; color:var(--ink-navy);
}
.about-quality-head p{
  margin:0 auto;
  color:rgba(10,31,68,.62); line-height:1.65;
  max-width:40ch;
}
.about-quality-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:18px;
}
.about-quality-item{
  --q-accent:#0A1F44;
  position:relative;
  background:#fff;
  padding:28px 24px 26px;
  min-height:210px;
  display:flex; flex-direction:column; gap:10px;
  border-radius:22px;
  border:1px solid rgba(10,31,68,.08);
  box-shadow:0 18px 40px -32px rgba(10,31,68,.35);
  overflow:hidden;
  transition:
    transform .4s cubic-bezier(.16,1,.3,1),
    box-shadow .4s ease,
    border-color .35s ease;
}
.about-quality-item::before{
  content:'';
  position:absolute; inset:0 auto 0 0; width:3px;
  background:linear-gradient(180deg, var(--q-accent), transparent 85%);
  opacity:0;
  transition:opacity .35s ease;
}
.about-quality-item:hover{
  transform:translateY(-8px);
  border-color:rgba(10,31,68,.14);
  box-shadow:0 28px 56px -30px rgba(10,31,68,.45);
}
.about-quality-item:hover::before{ opacity:1; }
.about-quality-item:nth-child(n+4){ --q-accent:rgb(228,21,32); }

.about-quality-num{
  position:absolute; top:14px; right:16px;
  font-size:2.6rem; font-weight:900;
  letter-spacing:-.08em; line-height:1;
  color:rgba(10,31,68,.06);
  pointer-events:none; user-select:none;
  transition:color .35s ease, transform .4s cubic-bezier(.16,1,.3,1);
}
.about-quality-item:hover .about-quality-num{
  color:rgba(228,21,32,.12);
  transform:translateY(-2px) scale(1.04);
}

.about-quality-icon{
  width:48px; height:48px; flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:14px;
  background:rgba(10,31,68,.07);
  color:var(--ink-navy);
  border:1px solid rgba(10,31,68,.08);
  margin-bottom:6px;
  transition:transform .4s cubic-bezier(.16,1,.3,1), background .3s ease, color .3s ease;
}
.about-quality-icon--red{
  background:rgba(228,21,32,.08);
  color:rgb(228,21,32);
  border-color:rgba(228,21,32,.14);
}
.about-quality-icon svg{ width:22px; height:22px; }
.about-quality-item:hover .about-quality-icon{
  transform:scale(1.08) translateY(-2px);
  background:var(--ink-navy);
  color:#fff;
  border-color:transparent;
}
.about-quality-item:hover .about-quality-icon--red{
  background:rgb(228,21,32);
  color:#fff;
}

.about-quality-item h3{
  margin:0;
  font-size:1.12rem; font-weight:800;
  letter-spacing:-.025em; line-height:1.25;
  color:var(--ink-navy);
  position:relative; z-index:1;
}
.about-quality-item h3::after{ display:none; }
.about-quality-item p{
  margin:0;
  font-size:.92rem; line-height:1.55;
  color:rgba(10,31,68,.58);
  max-width:26ch;
  position:relative; z-index:1;
}

@media (prefers-reduced-motion:reduce){
  .about-quality-item,
  .about-quality-icon,
  .about-quality-num{ transition:none !important; }
  .about-quality-item:hover{ transform:none; }
}

@media (max-width:900px){
  .about-highlights-grid,
  .about-vm-split{ grid-template-columns:1fr; }
  .about-quality-grid{ grid-template-columns:1fr 1fr; gap:14px; }
  .about-highlight{ min-height:240px; }
  .about-vm-panel--mission{ border-top:none; border-left:3px solid rgb(228,21,32); }
  .about-quality-head{ text-align:left; margin-left:0; }
}
@media (max-width:560px){
  .about-quality-grid{ grid-template-columns:1fr; }
  .about-quality-item{ min-height:0; }
  .about-highlight{ padding:28px 24px; border-radius:22px; }
}

/* ============ WHY BRITISH TOWN ============ */
.why-bt{
  --why-ink:#0A1F44;
  --why-line:rgba(10,31,68,.12);
  position:relative; overflow:hidden;
  padding:clamp(72px, 10vw, 120px) 0 clamp(56px, 7vw, 88px);
  background:#fff;
  color:var(--why-ink);
}
.why-bt-glow{display:none;}
.why-bt-inner{position:relative; z-index:1;}
.why-bt-stage{
  display:grid;
  grid-template-columns:minmax(0, 1.05fr) minmax(0, .95fr);
  gap:clamp(36px, 6vw, 72px);
  align-items:center;
  margin-bottom:clamp(48px, 7vw, 72px);
}
.why-bt-copy{
  position:relative;
  padding-left:22px;
}
.why-bt-copy::before{
  content:''; position:absolute; left:0; top:.35em; bottom:.35em; width:3px;
  background:linear-gradient(180deg, var(--pillar-red), rgba(183,32,46,.15));
  border-radius:99px;
}
.why-bt-eyebrow{
  margin:0 0 14px;
  font-size:.72rem; font-weight:700; letter-spacing:.18em;
  text-transform:uppercase; color:var(--pillar-red);
}
.why-bt-copy h2{
  margin:0 0 18px;
  font-size:clamp(2rem, 4.2vw, 3.25rem);
  line-height:1.08; letter-spacing:-.03em;
  color:var(--why-ink);
}
.why-bt-lede{
  margin:0 0 28px;
  max-width:38ch;
  font-size:clamp(.98rem, 1.15vw, 1.08rem);
  line-height:1.75;
  color:rgba(10,31,68,.78);
}
.why-bt-cta{
  display:inline-flex; align-items:center; gap:10px;
  padding:12px 22px;
  border:1.5px solid var(--why-ink);
  color:var(--why-ink); background:transparent;
  font-family:var(--font-head); font-size:.88rem; font-weight:700;
  letter-spacing:.04em; text-decoration:none;
  transition:background .25s var(--ease), color .25s var(--ease), transform .25s var(--ease);
}
.why-bt-cta:hover{
  background:var(--why-ink); color:#fff;
  transform:translateX(3px);
}
/* ═══ SHOWCASE: 3D COVERFLOW ═══ */
.why-bt-showcase{
  position:relative;
  height:440px;
  isolation:isolate;
}
.why-bt-orbit{
  position:absolute;
  left:50%; top:42%;
  width:min(130%, 460px); height:72%;
  transform:translate(-50%, -50%);
  background:
    radial-gradient(ellipse at 50% 48%, rgba(228,21,32,.22) 0%, transparent 55%),
    radial-gradient(ellipse at 30% 60%, rgba(183,32,46,.14) 0%, transparent 50%),
    radial-gradient(ellipse at 70% 60%, rgba(140,10,20,.12) 0%, transparent 50%);
  filter:blur(4px);
  pointer-events:none; z-index:0;
  animation:whyOrbitPulse 6s ease-in-out infinite;
}
@keyframes whyOrbitPulse{
  0%,100%{ opacity:.85; transform:translate(-50%,-50%) scale(1); }
  50%{ opacity:1; transform:translate(-50%,-50%) scale(1.04); }
}

.why-bt-track{
  position:absolute;
  inset:0 0 58px 0;
  overflow:hidden;
  perspective:1200px;
  perspective-origin:50% 45%;
  z-index:1;
}
.why-bt-floor{
  position:absolute;
  left:8%; right:8%; bottom:0;
  height:42px;
  background:
    radial-gradient(ellipse at 50% 40%, rgba(228,21,32,.22) 0%, transparent 55%),
    radial-gradient(ellipse at 50% 50%, rgba(120,8,16,.3) 0%, transparent 72%);
  filter:blur(12px);
  pointer-events:none; z-index:0;
  transform:translateZ(-100px) rotateX(78deg) scaleY(1.4);
  opacity:.9;
}

/* ═══ KART BASE ═══ */
.why-bt-card{
  --tilt-x:0deg;
  --tilt-y:0deg;
  --parallax-x:0px;
  --parallax-y:0px;
  --shine-x:42%;
  --shine-y:28%;
  position:absolute;
  left:50%; top:50%;
  width:min(100%, 330px);
  height:min(100%, 310px);
  margin:0;
  display:block;
  color:#fff;
  transform-origin:center center;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:1;
  transition:
    transform .45s cubic-bezier(.16,1,.3,1),
    opacity .35s cubic-bezier(.22,1,.36,1),
    visibility .35s,
    filter .35s ease;
  will-change:transform, opacity;
}
.why-bt-card-3d{
  position:relative;
  width:100%; height:100%;
  transform-style:preserve-3d;
  transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
  transition:transform .1s linear;
}
.why-bt-card.is-active .why-bt-card-3d{
  animation:whyFloat 4.5s ease-in-out infinite;
}
@keyframes whyFloat{
  0%,100%{ translate:0 0 0; }
  50%{ translate:0 -8px 6px; }
}

/* Kart kenar kalınlığı (gerçek 3D hissi) */
.why-bt-card-edge{
  position:absolute; inset:0;
  border-radius:26px;
  background:linear-gradient(160deg, #9a0e18 0%, #5c070e 100%);
  transform:translateZ(-14px) scale(.985);
  box-shadow:
    0 0 0 1px rgba(0,0,0,.3),
    0 20px 40px rgba(120,8,16,.4);
  pointer-events:none;
}
.why-bt-card-edge::before,
.why-bt-card-edge::after{
  content:''; position:absolute;
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.35));
  border-radius:2px;
}
.why-bt-card-edge::before{
  top:10px; bottom:10px; right:-7px; width:8px;
  transform:skewY(-38deg); transform-origin:top;
  background:linear-gradient(180deg, #c4121c, #6e0810);
}
.why-bt-card-edge::after{
  left:12px; right:12px; bottom:-7px; height:8px;
  transform:skewX(-42deg); transform-origin:left;
  background:linear-gradient(90deg, #a80f18, #4a050c);
}

.why-bt-card-inner{
  position:relative;
  width:100%; height:100%;
  display:flex; flex-direction:column;
  border-radius:26px;
  padding:30px 28px 26px;
  overflow:hidden;
  background:
    linear-gradient(145deg, rgba(255,255,255,.2) 0%, rgba(255,255,255,.04) 32%, transparent 55%),
    linear-gradient(168deg, #f02834 0%, #e41520 36%, #c4111c 68%, #9a0e18 100%);
  border:1px solid rgba(255,255,255,.22);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.28),
    inset 0 -20px 40px rgba(0,0,0,.15),
    0 30px 70px -20px rgba(140,10,20,.55);
  transform:translateZ(0);
  transform-style:preserve-3d;
  backface-visibility:hidden;
}
.why-bt-card-inner::before{
  content:'';
  position:absolute; inset:0; border-radius:inherit;
  background:
    radial-gradient(ellipse at 85% 12%, rgba(255,255,255,.22) 0%, transparent 40%),
    radial-gradient(ellipse at 12% 88%, rgba(120,8,16,.35) 0%, transparent 48%);
  pointer-events:none; z-index:0;
}
.why-bt-card-inner::after{
  content:'';
  position:absolute;
  bottom:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.35) 20%, #fff 50%, rgba(255,255,255,.35) 80%, transparent);
  transform:scaleX(0); transform-origin:center;
  z-index:4;
  opacity:.95;
}
.why-bt-card.is-active .why-bt-card-inner::after{
  animation:whyProgress 2.6s linear forwards;
}
@keyframes whyProgress{ to{ transform:scaleX(1); } }

.why-bt-card-mesh{
  position:absolute; inset:0; border-radius:inherit;
  background-image:
    linear-gradient(rgba(255,255,255,.03) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.03) 1px, transparent 1px);
  background-size:28px 28px;
  mask-image:radial-gradient(ellipse at 50% 40%, #000 20%, transparent 75%);
  opacity:.55;
  pointer-events:none; z-index:0;
}

.why-bt-card-shine{
  position:absolute; inset:0; border-radius:inherit;
  background:
    radial-gradient(
      circle at var(--shine-x) var(--shine-y),
      rgba(255,255,255,.38) 0%,
      rgba(255,255,255,.08) 24%,
      transparent 52%
    ),
    linear-gradient(
      115deg,
      transparent 30%,
      rgba(255,255,255,.07) 48%,
      transparent 62%
    );
  opacity:.9;
  pointer-events:none; z-index:1;
  mix-blend-mode:soft-light;
}

/* Coverflow: yan kartlar merkeze göre px kayar; z-index 3D yüzünden ezilmesin */
.why-bt-card[data-offset="0"]{
  opacity:1; visibility:visible; pointer-events:auto;
  z-index:5;
  transform:translate(-50%, -52%) scale(1);
  filter:drop-shadow(0 28px 40px rgba(140,10,20,.4));
}
.why-bt-card[data-offset="0"] .why-bt-card-inner{
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.32),
    0 0 0 1px rgba(255,255,255,.14),
    0 44px 90px -18px rgba(140,10,20,.65),
    0 0 80px -14px rgba(228,21,32,.35);
}
.why-bt-card[data-offset="0"].is-entering .why-bt-card-3d{
  animation:whyEnterPop .7s cubic-bezier(.16,1,.3,1) both, whyFloat 4.5s ease-in-out .7s infinite;
}
@keyframes whyEnterPop{
  0%{ transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(.92); }
  60%{ transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(1.03); }
  100%{ transform:rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) scale(1); }
}

.why-bt-card[data-offset="1"]{
  opacity:.42; visibility:visible; pointer-events:auto;
  z-index:2; cursor:pointer;
  transform:translate(calc(-50% + 195px), -50%) rotateY(-32deg) scale(.7);
  filter:saturate(.65) brightness(.78);
}
.why-bt-card[data-offset="-1"]{
  opacity:.42; visibility:visible; pointer-events:auto;
  z-index:2; cursor:pointer;
  transform:translate(calc(-50% - 195px), -50%) rotateY(32deg) scale(.7);
  filter:saturate(.65) brightness(.78);
}
.why-bt-card[data-offset="1"]:hover,
.why-bt-card[data-offset="-1"]:hover{
  filter:saturate(.85) brightness(.92);
  opacity:.62;
}
.why-bt-card[data-offset="2"],
.why-bt-card[data-offset="-2"]{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  z-index:0;
}
.why-bt-card[data-offset="2"]{
  transform:translate(calc(-50% + 280px), -48%) scale(.55);
}
.why-bt-card[data-offset="-2"]{
  transform:translate(calc(-50% - 280px), -48%) scale(.55);
}

@media (prefers-reduced-motion:reduce){
  .why-bt-card{ transition:opacity .2s ease !important; }
  .why-bt-orbit,.why-bt-card.is-active .why-bt-card-3d,
  .why-bt-card[data-offset="0"].is-entering .why-bt-card-3d{ animation:none !important; }
  .why-bt-card[data-offset="1"],
  .why-bt-card[data-offset="-1"],
  .why-bt-card[data-offset="2"],
  .why-bt-card[data-offset="-2"]{
    transform:translate(-50%, -50%) scale(.92) !important;
    opacity:.2 !important; filter:none !important;
  }
  .why-bt-card[data-offset="0"]{ transform:translate(-50%, -50%) !important; }
  .why-bt-card-3d{ transition:none !important; transform:none !important; }
  .why-bt-card.is-active .why-bt-card-inner::after{ animation:none; transform:scaleX(1); }
  .why-bt-card.is-active .why-bt-card-tag,
  .why-bt-card.is-active .why-bt-card-body h3,
  .why-bt-card.is-active .why-bt-card-body p,
  .why-bt-card.is-active .why-bt-card-icon{ animation:none !important; opacity:1 !important; transform:none !important; }
}

/* ═══ KART İÇ DÜZEN ═══ */
.why-bt-card-top{
  display:flex; align-items:flex-start;
  justify-content:space-between;
  margin-bottom:auto;
  position:relative; z-index:2;
  transform:translate3d(var(--parallax-x), var(--parallax-y), 36px);
}

.why-bt-card-icon{
  width:58px; height:58px; flex-shrink:0;
  display:inline-flex; align-items:center; justify-content:center;
  border-radius:50%;
  background:
    linear-gradient(145deg, rgba(255,255,255,.34), rgba(255,255,255,.08) 55%),
    rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.35);
  color:#fff;
  box-shadow:
    0 14px 28px -10px rgba(90,5,12,.45),
    inset 0 1px 0 rgba(255,255,255,.5),
    0 0 0 8px rgba(255,255,255,.08);
  transition:box-shadow .45s ease, transform .45s cubic-bezier(.16,1,.3,1);
  backdrop-filter:blur(8px);
}
.why-bt-card.is-active .why-bt-card-icon{
  animation:whyIconIn .65s cubic-bezier(.16,1,.3,1) both;
  box-shadow:
    0 18px 36px -8px rgba(90,5,12,.5),
    inset 0 1px 0 rgba(255,255,255,.55),
    0 0 0 10px rgba(255,255,255,.12),
    0 0 36px rgba(255,255,255,.18);
}
@keyframes whyIconIn{
  from{ opacity:0; transform:translateY(12px) scale(.8); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}
.why-bt-card-icon svg{ width:26px; height:26px; }

.why-bt-card-idx{
  font-size:5rem; font-weight:900;
  letter-spacing:-.08em; line-height:.8;
  color:transparent;
  background:linear-gradient(180deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,.04) 70%);
  -webkit-background-clip:text; background-clip:text;
  user-select:none; pointer-events:none;
  transform:translate3d(calc(var(--parallax-x) * -.6), calc(var(--parallax-y) * -.6), 12px);
}

.why-bt-card-body{
  padding-top:14px;
  display:flex; flex-direction:column; gap:8px;
  position:relative; z-index:2;
  transform:translate3d(calc(var(--parallax-x) * .7), calc(var(--parallax-y) * .7), 28px);
}

.why-bt-card-tag{
  display:inline-flex; align-self:flex-start;
  padding:5px 10px;
  border-radius:999px;
  font-size:.68rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  color:rgba(255,255,255,.9);
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.14);
  backdrop-filter:blur(8px);
}
.why-bt-card.is-active .why-bt-card-tag{
  animation:whyContentIn .55s cubic-bezier(.16,1,.3,1) .08s both;
}
.why-bt-card.is-active .why-bt-card-body h3{
  animation:whyContentIn .6s cubic-bezier(.16,1,.3,1) .16s both;
}
.why-bt-card.is-active .why-bt-card-body p{
  animation:whyContentIn .65s cubic-bezier(.16,1,.3,1) .24s both;
}
@keyframes whyContentIn{
  from{ opacity:0; transform:translateY(14px); }
  to{ opacity:1; transform:translateY(0); }
}

.why-bt-card h3{
  margin:0;
  font-size:clamp(1.4rem,2.3vw,1.85rem);
  font-weight:800; letter-spacing:-.035em; line-height:1.1;
  color:#fff;
  text-shadow:0 2px 20px rgba(0,0,0,.3);
}
.why-bt-card h3::after{ display:none; }

.why-bt-card p{
  margin:0;
  font-size:.94rem; line-height:1.65;
  color:rgba(255,255,255,.76);
  max-width:28ch;
}

/* ═══ NAV ═══ */
.why-bt-nav{
  display:flex; align-items:center; justify-content:center;
  gap:14px;
  position:absolute;
  left:0; right:0; bottom:0;
  z-index:6;
}
.why-bt-nav-btn{
  width:44px; height:44px;
  display:inline-flex; align-items:center; justify-content:center;
  border:1.5px solid rgba(10,31,68,.18);
  border-radius:50%;
  background:#fff; color:var(--why-ink); cursor:pointer;
  transition:background .22s, color .22s, border-color .22s, transform .22s, box-shadow .22s;
}
.why-bt-nav-btn svg{width:18px; height:18px;}
.why-bt-nav-btn:hover{
  background:var(--pillar-red); color:#fff; border-color:var(--pillar-red);
  transform:translateY(-2px);
  box-shadow:0 6px 18px rgba(183,32,46,.3);
}
.why-bt-dots{display:flex; align-items:center; gap:8px;}
.why-bt-dot{
  width:8px; height:8px; border-radius:50%; padding:0; border:none;
  background:rgba(10,31,68,.2); cursor:pointer;
  transition:background .2s, transform .2s, width .2s;
}
.why-bt-dot.is-active{
  width:22px; border-radius:99px;
  background:var(--pillar-red);
}

/* ═══ STATS ═══ */
.why-bt-stats{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:0;
  border-top:1px solid var(--why-line);
}
.why-bt-stat{
  padding:28px 18px 8px;
  text-align:left;
  border-right:1px solid var(--why-line);
}
.why-bt-stat:last-child{border-right:none;}
.why-bt-stat strong{
  display:block;
  font-size:clamp(1.9rem, 3.4vw, 2.75rem);
  font-weight:800; letter-spacing:-.03em;
  line-height:1; color:var(--pillar-red);
  margin-bottom:8px;
}
.why-bt-stat span{
  display:block;
  font-size:.82rem; font-weight:600;
  letter-spacing:.04em; text-transform:uppercase;
  color:rgba(10,31,68,.62);
}

@media (max-width:900px){
  .why-bt-stage{grid-template-columns:1fr; gap:36px;}
  .why-bt-showcase{height:400px;}
  .why-bt-card{ width:min(88%, 310px); height:280px; }
  .why-bt-card-edge::before,
  .why-bt-card-edge::after{ display:none; }
  .why-bt-card[data-offset="1"]{
    transform:translate(calc(-50% + 170px), -50%) rotateY(-28deg) scale(.68);
  }
  .why-bt-card[data-offset="-1"]{
    transform:translate(calc(-50% - 170px), -50%) rotateY(28deg) scale(.68);
  }
  .why-bt-stats{grid-template-columns:1fr 1fr;}
  .why-bt-stat:nth-child(2){border-right:none;}
  .why-bt-stat:nth-child(1),
  .why-bt-stat:nth-child(2){border-bottom:1px solid var(--why-line);}
}
@media (max-width:520px){
  .why-bt-copy{padding-left:16px;}
  .why-bt-showcase{height:360px;}
  .why-bt-card{ width:min(92%, 300px); height:270px; }
  .why-bt-card-inner{ padding:24px 20px 22px; }
  .why-bt-card-idx{ font-size:3.6rem; }
  .why-bt-card[data-offset="1"],
  .why-bt-card[data-offset="-1"]{
    opacity:.28;
  }
  .why-bt-card[data-offset="1"]{
    transform:translate(calc(-50% + 118px), -50%) rotateY(-22deg) scale(.72);
  }
  .why-bt-card[data-offset="-1"]{
    transform:translate(calc(-50% - 118px), -50%) rotateY(22deg) scale(.72);
  }
  .why-bt-card.is-active .why-bt-card-3d{ animation:none; }
  .why-bt-stats{grid-template-columns:1fr;}
  .why-bt-stat{
    border-right:none;
    border-bottom:1px solid var(--why-line);
    padding:20px 4px;
  }
  .why-bt-stat:last-child{border-bottom:none;}
  .why-bt-stat:nth-child(1),
  .why-bt-stat:nth-child(2){border-bottom:1px solid var(--why-line);}
}
/* ═══ ABOUT TIMELINE: journey ═══ */
.about-timeline{
  --tl-ink:#06152f;
  padding:clamp(80px,10vw,120px) 0;
  background:
    radial-gradient(ellipse 50% 40% at 50% 0%, rgba(228,21,32,.16), transparent 55%),
    linear-gradient(180deg, #0A1F44 0%, #06152f 55%, #040e22 100%);
  color:#fff;
  position:relative;
  overflow:hidden;
}
.about-timeline-glow{
  position:absolute; inset:auto -10% -20% -10%;
  height:55%;
  background:radial-gradient(ellipse at 50% 100%, rgba(228,21,32,.18), transparent 60%);
  pointer-events:none; z-index:0;
}
.about-timeline-head{
  text-align:center; margin-bottom:clamp(48px,7vw,72px);
  position:relative; z-index:1;
}
.about-timeline-head .eyebrow{color:rgba(255,255,255,.7);}
.about-timeline-head h2{
  color:#fff; font-size:clamp(1.9rem,3.6vw,2.8rem);
  margin:0 0 12px; letter-spacing:-.03em;
}
.about-timeline-head p{
  margin:0 auto; max-width:44ch;
  color:rgba(255,255,255,.65); line-height:1.65;
}

.about-timeline-stage{
  position:relative; z-index:1;
  padding-top:28px;
}
.about-timeline-rail{
  position:absolute;
  left:12.5%; right:12.5%; top:34px;
  height:3px; border-radius:99px;
  overflow:hidden; z-index:0;
}
.about-timeline-rail-base{
  position:absolute; inset:0;
  background:rgba(255,255,255,.12);
}
.about-timeline-rail-fill{
  position:absolute; inset:0 auto 0 0; width:0%;
  background:linear-gradient(90deg, rgb(228,21,32), #e85a66 55%, #fff);
  border-radius:inherit;
  box-shadow:0 0 18px rgba(228,21,32,.45);
  transition:width 1.1s cubic-bezier(.16,1,.3,1);
}

.about-timeline-list{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(4, minmax(0,1fr));
  gap:20px;
  position:relative; z-index:1;
}
.about-timeline-item{
  display:flex; flex-direction:column; align-items:center;
  text-align:center;
  opacity:0;
  transform:translateY(28px);
  transition:
    opacity .65s cubic-bezier(.16,1,.3,1),
    transform .65s cubic-bezier(.16,1,.3,1);
  transition-delay:calc(var(--i, 0) * .12s);
}
.about-timeline.is-active .about-timeline-item{
  opacity:1;
  transform:translateY(0);
}

.about-timeline-node{
  position:relative;
  width:18px; height:18px; margin-bottom:22px;
  border-radius:50%;
  background:rgb(228,21,32);
  border:3px solid #fff;
  box-shadow:
    0 0 0 6px rgba(228,21,32,.18),
    0 8px 20px rgba(0,0,0,.25);
  z-index:2;
  transform:scale(.6);
  transition:transform .5s cubic-bezier(.16,1,.3,1) calc(var(--i, 0) * .12s + .05s),
    box-shadow .45s ease;
}
.about-timeline.is-active .about-timeline-node{ transform:scale(1); }
.about-timeline-item.is-on .about-timeline-node{
  box-shadow:
    0 0 0 8px rgba(228,21,32,.22),
    0 0 28px rgba(228,21,32,.45),
    0 8px 20px rgba(0,0,0,.25);
}
.about-timeline-pulse{
  position:absolute; inset:-10px; border-radius:50%;
  border:1.5px solid rgba(228,21,32,.55);
  opacity:0;
  pointer-events:none;
}
.about-timeline-item.is-on .about-timeline-pulse{
  animation:tlPulse 1.8s ease-out infinite;
}
@keyframes tlPulse{
  0%{ opacity:.8; transform:scale(.7); }
  100%{ opacity:0; transform:scale(1.55); }
}

.about-timeline-card{
  width:100%;
  padding:22px 18px 24px;
  border-radius:20px;
  background:
    linear-gradient(165deg, rgba(255,255,255,.1) 0%, rgba(255,255,255,.03) 100%);
  border:1px solid rgba(255,255,255,.12);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
  box-shadow:0 20px 40px -28px rgba(0,0,0,.55);
  transition:
    transform .4s cubic-bezier(.16,1,.3,1),
    border-color .35s ease,
    background .35s ease,
    box-shadow .4s ease;
}
.about-timeline-item:hover .about-timeline-card,
.about-timeline-item.is-on .about-timeline-card{
  transform:translateY(-6px);
  border-color:rgba(255,255,255,.22);
  background:
    linear-gradient(165deg, rgba(255,255,255,.14) 0%, rgba(228,21,32,.12) 100%);
  box-shadow:0 28px 50px -26px rgba(0,0,0,.6);
}
.about-year{
  display:inline-flex; align-items:center; justify-content:center;
  margin:0 0 12px;
  padding:5px 11px;
  border-radius:999px;
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.14em;
  text-transform:uppercase; font-weight:700;
  color:#fff;
  background:rgba(228,21,32,.9);
  box-shadow:0 8px 18px -10px rgba(228,21,32,.7);
}
.about-timeline-card strong{
  display:block;
  font-family:var(--font-head); font-size:clamp(1.15rem,1.8vw,1.35rem);
  color:#fff; font-weight:750; letter-spacing:-.02em;
  margin:0 0 8px; line-height:1.2;
}
.about-timeline-card p{
  margin:0;
  font-size:.9rem; line-height:1.6;
  color:rgba(255,255,255,.7);
  max-width:30ch; margin-inline:auto;
}

.home-about-more{
  text-align:center; margin-top:48px; position:relative; z-index:1;
}
.home-about-timeline .btn-outline{
  border-color:rgba(255,255,255,.45); color:#fff;
}
.home-about-timeline .btn-outline:hover{
  background:#fff; color:var(--ink-black); border-color:#fff;
}

@media (prefers-reduced-motion:reduce){
  .about-timeline-item,
  .about-timeline-node,
  .about-timeline-rail-fill,
  .about-timeline-card{ transition:none !important; }
  .about-timeline-item{ opacity:1; transform:none; }
  .about-timeline-node{ transform:none; }
  .about-timeline-item.is-on .about-timeline-pulse{ animation:none; }
}
.about-manifesto{
  padding:0; background:#fff;
}
.about-manifesto-inner{
  display:grid; grid-template-columns:1.1fr .9fr; min-height:420px;
}
.about-manifesto-inner--solo{
  grid-template-columns:1fr;
  min-height:0;
}
.about-manifesto-inner--solo .about-manifesto-quote{
  max-width:920px;
  margin:0 auto;
  width:100%;
  min-height:280px;
  text-align:center;
  align-items:center;
}
.about-manifesto-inner--solo .about-manifesto-quote::before{
  left:50%;
  transform:translateX(-50%);
}
.about-manifesto-inner--solo .about-manifesto-quote p{
  max-width:28ch;
}
.about-manifesto-quote{
  padding:72px 56px; display:flex; flex-direction:column; justify-content:center;
  background:
    linear-gradient(135deg,rgba(183,32,46,.04),transparent),
    #fff;
  position:relative;
}
.about-manifesto-quote::before{
  content:'“'; position:absolute; top:40px; left:40px;
  font-family:var(--font-head); font-size:7rem; line-height:1;
  color:rgba(183,32,46,.12); pointer-events:none;
}
.about-manifesto-quote p{
  position:relative; font-family:var(--font-head);
  font-size:clamp(1.6rem,3vw,2.3rem); color:var(--ink-black);
  margin:0 0 18px; line-height:1.2; max-width:22ch;
}
.about-manifesto-quote cite{
  font-style:normal; font-family:var(--font-mono); font-size:.72rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--ink-muted);
}
.about-manifesto-side{
  background:
    linear-gradient(160deg,rgba(6,21,47,.88),rgba(10,31,68,.75)),
    url('../assets/hero.jpg') center/cover no-repeat;
  color:#fff; padding:56px 40px; display:flex; flex-direction:column; justify-content:flex-end; gap:18px;
}
.about-manifesto-side h3{
  color:#fff; font-size:clamp(1.4rem,2.4vw,1.8rem); margin:0; max-width:16ch;
}
.about-manifesto-side p{margin:0; color:rgba(255,255,255,.7); max-width:32ch;}
.about-manifesto-side .btn{align-self:flex-start;}
@media (max-width:1000px){
  .about-hero{min-height:auto; padding:120px 0 64px;}
  .about-story-inner,
  .about-manifesto-inner{grid-template-columns:1fr;}
  .about-story-visual{min-height:320px; padding:48px 32px;}
  .about-story-copy{padding:48px 28px;}
  .about-story-copy::before{top:0; bottom:auto; left:28px; right:28px; width:auto; height:3px;}
  .about-stats-band{grid-template-columns:1fr 1fr;}
  .about-stats-band div:nth-child(2){border-right:none;}
  .about-value-row{grid-template-columns:70px 1fr; gap:12px 18px;}
  .about-value-row p{grid-column:2;}
  .about-timeline-rail{ display:none; }
  .about-timeline-list{grid-template-columns:1fr 1fr; gap:18px;}
  .about-timeline-item{ align-items:stretch; text-align:left; }
  .about-timeline-node{ align-self:flex-start; margin:0 0 14px 4px; }
  .about-timeline-card{ text-align:left; }
  .about-timeline-card p{ margin-inline:0; max-width:none; }
  .about-manifesto-quote{padding:48px 28px;}
  .about-manifesto-side{min-height:280px;}
}
@media (max-width:600px){
  .about-stats-band{grid-template-columns:1fr;}
  .about-stats-band div{border-right:none; border-bottom:1px solid rgba(255,255,255,.08);}
  .about-timeline-list{grid-template-columns:1fr; gap:14px;}
  .about-timeline-stage{ padding-top:8px; }
  .about-marquee-track{animation-duration:22s;}
}
@media (max-width:600px){
  .level-hero{padding:110px 0 72px;}
  .page-hero.level-hero--quiz{padding:100px 0 48px;}
  .level-hero-line{display:none;}
}

/* Home teasers for moved sections */
.section-teaser{
  padding:90px 0; border-top:1px solid var(--fog-line);
}
.section-teaser--route{background:#fff;}
.section-teaser--branches{background:var(--paper);}
.section-teaser-inner{
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:28px;
}
.section-teaser h2{font-size:clamp(1.6rem,3vw,2.2rem); margin:0 0 10px;}
.section-teaser p{margin:0; max-width:46ch;}
@media (max-width:600px){
  .page-hero,.programs-page-hero{padding:100px 0 64px;}
  .section-teaser-inner{flex-direction:column; align-items:flex-start;}
}

.programs-page-intro{
  padding:70px 0; background:#fff; border-bottom:1px solid var(--fog-line);
}
.programs-page-intro-inner{
  display:grid; grid-template-columns:1.3fr 1fr; gap:40px; align-items:center;
}
.programs-page-intro h2{font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:12px;}
.programs-page-intro p{max-width:48ch; margin:0;}
.programs-page-highlights{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:1fr 1fr; gap:14px;
}
.programs-page-highlights li{
  background:var(--paper); border:1px solid var(--fog-line); border-radius:12px;
  padding:18px 16px; font-size:.9rem; color:var(--ink-muted);
}
.programs-page-highlights strong{
  display:block; font-family:var(--font-head); font-size:1.45rem;
  color:var(--ink-black); margin-bottom:4px;
}

/* Premium programs page */
.prog-hero{
  min-height:min(78vh,680px);
  display:flex; align-items:center; justify-content:center;
  padding:140px 0 72px; text-align:center;
  position:relative; overflow:hidden; color:#fff;
  background:
    radial-gradient(ellipse 55% 50% at 80% 20%,rgba(183,32,46,.28),transparent 60%),
    radial-gradient(ellipse 40% 45% at 15% 80%,rgba(0,0,0,.2),transparent 55%),
    linear-gradient(160deg,#06152f 0%, #0A1F44 55%, #0d2758 100%);
}
.prog-hero::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 45% 55% at 90% 15%,rgba(183,32,46,.22),transparent 60%),
    radial-gradient(ellipse 35% 45% at 8% 85%,rgba(0,0,0,.12),transparent 55%);
}
.prog-hero::after{
  content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--brass) 35%,var(--pillar-red) 65%,transparent);
}
.prog-hero-inner{
  position:relative; z-index:1; max-width:760px; margin:0 auto; width:100%;
  display:flex; flex-direction:column; align-items:center;
}
.prog-hero .eyebrow{color:var(--brass);}
.prog-hero h1{
  color:#fff; font-size:clamp(2.5rem,5.8vw,4.2rem); margin-bottom:16px;
  line-height:1.05; letter-spacing:-.02em;
}
.prog-hero-lede{
  color:rgba(255,255,255,.72); max-width:44ch; margin:0 auto 26px; font-size:1.06rem;
}
.prog-hero-actions{display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-bottom:32px;}
.prog-hero-ghost{
  border-color:rgba(255,255,255,.35); color:#fff; background:transparent;
}
.prog-hero-ghost:hover{background:#fff; color:var(--ink-black); border-color:#fff;}
.prog-hero-rail{
  display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center; justify-content:center;
  padding-top:22px; border-top:1px solid rgba(255,255,255,.14);
  width:100%;
}
.prog-hero-rail span{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.1em;
  text-transform:uppercase; color:rgba(255,255,255,.7);
}
.prog-hero-rail strong{
  font-family:var(--font-head); font-size:1.1rem; color:#fff; font-weight:600;
  letter-spacing:0; margin-right:6px;
}
/* Scroll-driven program catalog - route theater */
.prog-scroll{
  position:relative;
  --prog-accent: var(--pillar-red);
  background:
    radial-gradient(ellipse 55% 45% at 100% 20%,rgba(0,0,0,.1),transparent 58%),
    radial-gradient(ellipse 40% 50% at 0% 80%,rgba(183,32,46,.06),transparent 55%),
    #eef1f6;
  border-top:1px solid var(--fog-line);
}
.prog-scroll-track{
  height:calc(100vh + (var(--prog-count, 6) - 1) * 100vh);
  position:relative;
}
.prog-scroll-sticky{
  position:sticky; top:78px;
  height:calc(100vh - 78px);
  display:flex; align-items:center;
  overflow:hidden;
}
.prog-scroll-glow{
  position:absolute; inset:auto -10% 10% auto; width:48%; height:55%;
  background:radial-gradient(circle, color-mix(in srgb, var(--prog-accent) 28%, transparent), transparent 68%);
  filter:blur(8px); pointer-events:none; transition:background .5s var(--ease);
}
.prog-scroll-layout{
  position:relative; z-index:1; width:100%;
  display:grid; grid-template-columns:.95fr 1.15fr; gap:48px; align-items:center;
  padding-top:20px; padding-bottom:20px;
}
.prog-scroll-side{min-width:0;}
.prog-scroll-kicker{
  margin:0 0 6px; font-family:var(--font-mono); font-size:.72rem;
  letter-spacing:.14em; text-transform:uppercase; color:var(--prog-accent);
  transition:color .35s var(--ease);
}
.prog-scroll-side h2{
  font-size:clamp(1.9rem,3.6vw,2.7rem); margin:0 0 10px; line-height:1.08;
  transition:opacity .25s var(--ease), transform .35s var(--ease);
}
.prog-scroll-side.is-swap h2,
.prog-scroll-side.is-swap .prog-scroll-lede,
.prog-scroll-side.is-swap .prog-scroll-kicker{
  opacity:.35; transform:translateY(6px);
}
.prog-scroll-lede{margin:0 0 26px; max-width:34ch; font-size:.95rem;}

.prog-route{position:relative; display:grid; grid-template-columns:18px 1fr; gap:14px; margin-bottom:26px;}
.prog-route-track{
  position:relative; width:3px; margin:8px auto; border-radius:99px;
  background:rgba(183,32,46,.12); overflow:hidden;
}
.prog-route-fill{
  position:absolute; top:0; left:0; right:0; height:0%;
  background:linear-gradient(180deg,var(--brass),var(--prog-accent));
  border-radius:inherit; transition:height .45s var(--ease);
}
.prog-route-stops{display:flex; flex-direction:column; gap:2px;}
.prog-route-stop{
  appearance:none; border:none; background:transparent; cursor:pointer;
  display:grid; grid-template-columns:18px 1fr; gap:12px; align-items:center;
  padding:8px 0; text-align:left; color:var(--ink-muted);
  transition:color .25s, transform .25s var(--ease);
}
.prog-route-stop:hover{color:var(--ink-black); transform:translateX(3px);}
.prog-route-dot{
  width:12px; height:12px; border-radius:50%; justify-self:center;
  border:2px solid rgba(183,32,46,.22); background:#fff;
  box-shadow:0 0 0 4px transparent;
  transition:border-color .25s, background .25s, box-shadow .25s, transform .25s;
}
.prog-route-label{
  font-size:.92rem; font-weight:600; display:flex; align-items:center; gap:10px;
}
.prog-route-label em{
  font-style:normal; font-family:var(--font-mono); font-size:.68rem;
  letter-spacing:.08em; color:var(--brass);
}
.prog-route-stop.is-done .prog-route-dot{
  background:var(--brass); border-color:var(--brass);
}
.prog-route-stop.is-active{
  color:var(--ink-black); transform:translateX(4px);
}
.prog-route-stop.is-active .prog-route-dot{
  background:var(--prog-accent); border-color:var(--prog-accent);
  box-shadow:0 0 0 5px color-mix(in srgb, var(--prog-accent) 18%, transparent);
  transform:scale(1.15);
}

.prog-scroll-meter{
  display:grid; grid-template-columns:auto auto 1fr; gap:10px; align-items:center;
  margin-bottom:14px;
}
.prog-scroll-num{
  font-family:var(--font-head); font-size:2.6rem; font-weight:600; color:var(--ink-black); line-height:1;
}
.prog-scroll-den{
  font-family:var(--font-mono); font-size:.85rem; letter-spacing:.08em; color:var(--ink-muted);
}
.prog-scroll-bar{
  height:4px; border-radius:99px; background:rgba(183,32,46,.1); overflow:hidden;
}
.prog-scroll-bar i{
  display:block; height:100%; width:0%;
  background:linear-gradient(90deg,var(--brass),var(--prog-accent));
  transition:width .4s var(--ease);
}
.prog-scroll-hint{
  display:inline-flex; align-items:center; gap:10px; margin:0;
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-muted);
}
.prog-scroll-hint-icon{
  width:18px; height:28px; border:1.5px solid var(--fog-line); border-radius:10px;
  position:relative; flex-shrink:0; background:#fff;
}
.prog-scroll-hint-icon::after{
  content:''; position:absolute; left:50%; top:6px; width:3px; height:7px; border-radius:2px;
  background:var(--prog-accent); transform:translateX(-50%);
  animation:progScrollWheel 1.4s var(--ease) infinite;
}
@keyframes progScrollWheel{
  0%{opacity:1; transform:translateX(-50%) translateY(0);}
  70%{opacity:0; transform:translateX(-50%) translateY(8px);}
  100%{opacity:0; transform:translateX(-50%) translateY(0);}
}

.prog-scroll-deck{
  position:relative; perspective:1200px;
  min-height:min(74vh, 640px); height:min(74vh, 640px);
}
.prog-scroll-watermark{
  position:absolute; right:-2%; top:-4%; z-index:0;
  font-family:var(--font-head); font-size:clamp(7rem,16vw,11rem); font-weight:700;
  line-height:1; color:rgba(183,32,46,.06); letter-spacing:-.04em;
  pointer-events:none; user-select:none;
  transition:opacity .35s, transform .45s var(--ease);
}
.prog-scroll-stack{position:absolute; inset:18px 10px 10px 22px; z-index:0; pointer-events:none;}
.prog-scroll-stack-card{
  position:absolute; inset:0; border-radius:20px;
  background:#fff; border:1px solid rgba(183,32,46,.08);
  box-shadow:0 18px 40px -30px rgba(183,32,46,.4);
}
.prog-scroll-stack-card:nth-child(1){transform:translate(10px,12px) scale(.97); opacity:.55;}
.prog-scroll-stack-card:nth-child(2){transform:translate(20px,24px) scale(.94); opacity:.3;}
.prog-scroll-stage{
  position:relative; z-index:2; height:100%;
}
.prog-scroll-stage .prog-card{
  position:absolute; inset:0;
  opacity:0; visibility:hidden; pointer-events:none;
  transform:translate3d(40px, 18px, 0) rotateY(-8deg) scale(.96);
  transform-origin:left center;
  transition:
    opacity .55s var(--ease),
    transform .65s cubic-bezier(.22,.8,.24,1),
    visibility .55s,
    box-shadow .4s;
  height:100%; overflow:auto;
  border-radius:20px;
  box-shadow:0 30px 70px -36px rgba(183,32,46,.55);
  background:#fff;
}
.prog-scroll-stage .prog-card.is-active{
  opacity:1; visibility:visible; pointer-events:auto;
  transform:translate3d(0,0,0) rotateY(0) scale(1); z-index:3;
}
.prog-scroll-stage .prog-card.is-exit-up{
  opacity:0; visibility:hidden;
  transform:translate3d(-24px,-40px,0) rotateY(6deg) scale(.94); z-index:1;
}
.prog-scroll-stage .prog-card.is-exit-down{
  opacity:0; visibility:hidden;
  transform:translate3d(28px,48px,0) rotateY(-10deg) scale(.94); z-index:1;
}
.prog-scroll-stage .prog-card.is-active:hover{
  transform:translate3d(0,-4px,0) rotateY(0) scale(1);
  box-shadow:0 36px 76px -34px rgba(183,32,46,.58);
}
.prog-scroll[data-accent="navy"]{--prog-accent:var(--ink-navy);}
.prog-scroll[data-accent="red"]{--prog-accent:var(--pillar-red);}
.prog-scroll[data-accent="brass"]{--prog-accent:var(--brass);}
.prog-scroll[data-accent="teal"]{--prog-accent:#0f766e;}
.prog-scroll[data-accent="wine"]{--prog-accent:#8f254d;}
.prog-scroll[data-accent="amber"]{--prog-accent:#ffffff;}

.programs-page-catalog{
  position:relative;
  padding:100px 0 120px;
  overflow:hidden;
  background:
    radial-gradient(ellipse 70% 50% at 10% 0%, rgba(228,21,32,.06), transparent 55%),
    radial-gradient(ellipse 60% 45% at 90% 10%, rgba(10,31,68,.05), transparent 50%),
    linear-gradient(180deg, #f7f8fb 0%, #eef1f6 50%, #f8f9fc 100%);
}
.programs-page-catalog-head{text-align:left; margin-bottom:48px; max-width:54ch;}
.programs-page-catalog-head h2{
  font-size:clamp(1.9rem,3.4vw,2.65rem);
  letter-spacing:-.03em; margin-bottom:12px;
}
.programs-page-catalog-head p{
  max-width:48ch; margin:0;
  color:rgba(10,31,68,.62); line-height:1.65;
}
.programs-page-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:28px;
  align-items:stretch;
}
@media (max-width:980px){
  .programs-page-grid{grid-template-columns:repeat(2, minmax(0, 1fr)); gap:22px;}
}
@media (max-width:620px){
  .programs-page-grid{grid-template-columns:1fr; gap:20px;}
}

/* ═══ Program visual cards ═══ */
.prog-viz{
  --pv-ink:#0A1F44;
  position:relative;
  display:flex; flex-direction:column;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(10,31,68,.07);
  overflow:hidden;
  isolation:isolate;
  box-shadow:
    0 1px 0 rgba(255,255,255,.9) inset,
    0 24px 56px -32px rgba(10,31,68,.38);
  transition:
    transform .5s cubic-bezier(.16,1,.3,1),
    box-shadow .5s cubic-bezier(.16,1,.3,1),
    border-color .4s ease;
}
.prog-viz::before{
  content:'';
  position:absolute; inset:0; z-index:3; pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.55);
}
.prog-viz:hover{
  transform:translateY(-10px);
  border-color:rgba(228,21,32,.22);
  box-shadow:
    0 1px 0 rgba(255,255,255,.95) inset,
    0 40px 80px -36px rgba(10,31,68,.48),
    0 0 0 1px rgba(228,21,32,.08);
}

.prog-viz-visual{
  position:relative;
  aspect-ratio:16 / 11;
  background:
    radial-gradient(ellipse at 30% 40%, rgba(228,21,32,.05), transparent 50%),
    linear-gradient(165deg, #f4f5f8 0%, #eceef3 100%);
  overflow:hidden;
}
.prog-viz-visual::after{
  content:'';
  position:absolute; inset:auto 0 0; height:42%;
  background:linear-gradient(180deg, transparent, rgba(10,31,68,.04));
  pointer-events:none; z-index:1;
  opacity:0;
  transition:opacity .45s ease;
}
.prog-viz:hover .prog-viz-visual::after{ opacity:1; }

.prog-viz-visual img{
  width:100%; height:100%;
  object-fit:contain;
  object-position:center;
  display:block;
  transform:scale(1.02);
  transition:transform .7s cubic-bezier(.16,1,.3,1);
}
.prog-viz:hover .prog-viz-visual img{
  transform:scale(1.08);
}

.prog-viz-idx{
  position:absolute; top:14px; right:16px; z-index:2;
  font-size:clamp(2.4rem,4vw,3rem); font-weight:900;
  letter-spacing:-.08em; line-height:1;
  color:transparent;
  background:linear-gradient(180deg, rgba(10,31,68,.12), rgba(10,31,68,.03));
  -webkit-background-clip:text; background-clip:text;
  pointer-events:none; user-select:none;
  transition:opacity .4s ease, transform .5s cubic-bezier(.16,1,.3,1);
}
.prog-viz:hover .prog-viz-idx{
  opacity:.55;
  transform:translateY(-2px);
}

.prog-viz-tag{
  position:absolute; left:16px; top:16px; z-index:2;
  display:inline-flex; align-items:center;
  padding:7px 12px;
  border-radius:999px;
  font-size:.66rem; font-weight:700;
  letter-spacing:.12em; text-transform:uppercase;
  color:var(--pv-ink);
  background:rgba(255,255,255,.78);
  border:1px solid rgba(10,31,68,.08);
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
  box-shadow:0 8px 20px -12px rgba(10,31,68,.35);
  transition:background .3s ease, color .3s ease, border-color .3s ease;
}
.prog-viz:hover .prog-viz-tag{
  background:rgb(228,21,32);
  color:#fff;
  border-color:transparent;
}

.prog-viz-body{
  position:relative; z-index:2;
  display:flex; flex-direction:column; gap:8px;
  padding:20px 22px 22px;
  background:
    linear-gradient(180deg, #fff 0%, #fbfcfe 100%);
  border-top:1px solid rgba(10,31,68,.05);
}
.prog-viz-body::before{
  content:'';
  position:absolute; left:22px; top:0; width:36px; height:2px;
  background:linear-gradient(90deg, rgb(228,21,32), transparent);
  transform:scaleX(0); transform-origin:left;
  transition:transform .45s cubic-bezier(.16,1,.3,1);
}
.prog-viz:hover .prog-viz-body::before{ transform:scaleX(1); }

.prog-viz-title{
  margin:0;
  font-size:1.28rem; font-weight:800;
  letter-spacing:-.035em; line-height:1.15;
  color:var(--pv-ink);
}
h2.prog-viz-title,
h3.prog-viz-title{ color:var(--pv-ink); }
.prog-viz-title a{ color:inherit; text-decoration:none; }
.prog-viz-title a:hover{ color:var(--pillar-red); }
.prog-viz-title::after{ display:none; }
.programs .programs-page-grid{ margin-top:8px; }
.prog-viz-body p{
  margin:0 0 6px;
  font-size:.92rem; line-height:1.55;
  color:rgba(10,31,68,.62);
  max-width:34ch;
}

.prog-viz-actions{
  display:flex; align-items:center; justify-content:space-between;
  gap:12px; margin-top:6px;
}
.prog-viz-cta{
  display:inline-flex; align-items:center; gap:8px;
  padding:11px 16px;
  border-radius:12px;
  background:var(--pv-ink); color:#fff;
  font-size:.8rem; font-weight:700;
  text-decoration:none;
  box-shadow:0 12px 24px -14px rgba(10,31,68,.65);
  transition:
    background .28s var(--ease),
    transform .28s var(--ease),
    box-shadow .28s var(--ease);
}
.prog-viz-cta i{
  font-style:normal;
  transition:transform .28s var(--ease);
}
.prog-viz-cta:hover,
.prog-viz:hover .prog-viz-cta{
  background:rgb(228,21,32);
  transform:translateY(-1px);
  box-shadow:0 16px 28px -12px rgba(228,21,32,.45);
}
.prog-viz-cta:hover i,
.prog-viz:hover .prog-viz-cta i{ transform:translateX(3px); }

.prog-viz-link{
  font-size:.8rem; font-weight:600;
  color:rgba(10,31,68,.48);
  text-decoration:none;
  position:relative; padding-bottom:2px;
  transition:color .25s ease;
}
.prog-viz-link::after{
  content:'';
  position:absolute; left:0; right:100%; bottom:0; height:1px;
  background:rgb(228,21,32);
  transition:right .3s var(--ease);
}
.prog-viz-link:hover{ color:rgb(228,21,32); }
.prog-viz-link:hover::after{ right:0; }

@media (max-width:720px){
  .prog-viz{ border-radius:22px; }
  .prog-viz-visual{ aspect-ratio:16 / 12; }
  .prog-viz-body{ padding:16px 18px 18px; }
  .prog-viz-title{ font-size:1.15rem; }
}

.programs-page-grid .prog-viz.reveal{
  transition:
    transform .5s cubic-bezier(.16,1,.3,1),
    box-shadow .5s cubic-bezier(.16,1,.3,1),
    border-color .4s ease,
    opacity .6s ease;
}
.programs-page-grid .prog-viz.reveal:nth-child(1){ transition-delay:0s; }
.programs-page-grid .prog-viz.reveal:nth-child(2){ transition-delay:.05s; }
.programs-page-grid .prog-viz.reveal:nth-child(3){ transition-delay:.1s; }
.programs-page-grid .prog-viz.reveal:nth-child(4){ transition-delay:.15s; }
.programs-page-grid .prog-viz.reveal:nth-child(5){ transition-delay:.2s; }
.programs-page-grid .prog-viz.reveal:nth-child(6){ transition-delay:.25s; }
.programs-page-grid .prog-viz.reveal:nth-child(7){ transition-delay:.3s; }
.programs-page-grid .prog-viz.reveal:nth-child(8){ transition-delay:.35s; }
.programs-page-grid .prog-viz.reveal:nth-child(9){ transition-delay:.4s; }
.programs-page-grid .prog-viz.reveal:nth-child(10){ transition-delay:.45s; }
.programs-page-grid .prog-viz.reveal:nth-child(11){ transition-delay:.5s; }
.programs-page-grid .prog-viz.reveal:nth-child(12){ transition-delay:.55s; }

@media (prefers-reduced-motion:reduce){
  .prog-viz,
  .prog-viz-visual img,
  .prog-viz-idx,
  .prog-viz-tag,
  .prog-viz-cta,
  .prog-viz-body::before{ transition:none !important; }
  .prog-viz:hover{ transform:none; }
  .prog-viz:hover .prog-viz-visual img{ transform:none; }
  .programs-page-grid .prog-viz.reveal{ transition-delay:0s !important; }
}

.prog-card-meta{
  display:flex; flex-wrap:wrap; gap:8px; margin-bottom:2px;
}
.prog-card-meta span{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ink-muted);
  background:var(--paper); border:1px solid var(--fog-line);
  padding:4px 9px; border-radius:999px;
}
.programs-page-note{
  padding:80px 0; background:#fff; border-top:1px solid var(--fog-line);
}
.programs-page-note h2{
  text-align:center; font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:36px;
}
.programs-steps{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px; counter-reset:step;
}
.programs-steps li{
  counter-increment:step;
  background:var(--paper); border:1px solid var(--fog-line); border-radius:var(--radius);
  padding:26px 22px; position:relative;
}
.programs-steps li::before{
  content:counter(step, decimal-leading-zero);
  display:block; font-family:var(--font-mono); font-size:.78rem;
  letter-spacing:.12em; color:var(--pillar-red); margin-bottom:12px;
}
.programs-steps strong{
  display:block; font-family:var(--font-head); font-size:1.2rem;
  color:var(--ink-black); margin-bottom:8px;
}
.programs-steps span{display:block; font-size:.92rem; color:var(--ink-muted); line-height:1.5;}
.prog-card{
  position:relative; display:flex; flex-direction:column; gap:12px;
  background:
    linear-gradient(180deg,#fff 0%,#fbfcfe 100%);
  border:1px solid rgba(183,32,46,.08); border-radius:16px;
  padding:0; overflow:hidden;
  box-shadow:0 12px 36px -28px rgba(183,32,46,.35);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s;
  align-self:start;
}
.prog-card:hover{
  transform:translateY(-3px);
  box-shadow:0 24px 48px -28px rgba(183,32,46,.4);
  border-color:transparent;
}
.prog-card-accent{
  position:absolute; top:0; left:0; right:0; height:3px; z-index:2;
}
.prog-card-accent--navy{background:linear-gradient(90deg,var(--ink-navy),var(--royal-navy));}
.prog-card-accent--red{background:linear-gradient(90deg,var(--pillar-red-dark),var(--pillar-red));}
.prog-card-accent--brass{background:linear-gradient(90deg,#c9d0dd,var(--ink-navy));}
.prog-card-accent--teal{background:linear-gradient(90deg,#0a4f49,#0f766e);}
.prog-card-accent--wine{background:linear-gradient(90deg,#3b1024,#8f254d);}
.prog-card-accent--amber{background:linear-gradient(90deg,#e8e8e8,#ffffff);}

.prog-card--compact .prog-card-top{
  display:grid; grid-template-columns:1fr auto; gap:12px; align-items:start;
  padding:16px 16px 0;
}
.prog-card--compact .prog-card-tag{
  display:inline-flex; align-items:center;
  font-family:var(--font-mono); font-size:.62rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--pillar-red); font-weight:600;
  margin-bottom:4px;
}
.prog-card--compact .prog-card-top h2{
  font-family:var(--font-head); font-size:1.2rem;
  color:var(--ink-black); margin:0 0 4px; line-height:1.15; letter-spacing:-.015em;
}
.prog-card--compact .prog-card-badge{
  width:40px; height:40px; border-radius:10px;
  display:flex; align-items:center; justify-content:center;
  background:var(--ink-navy); color:#fff; flex-shrink:0;
  box-shadow:none;
}
.prog-card--compact .prog-card-badge span{
  font-family:var(--font-head); font-size:1rem; font-weight:700; line-height:1;
}
.prog-card--compact .prog-card-badge em{display:none;}
.prog-card--compact .prog-card-lead{
  margin:0; font-size:.82rem; color:var(--ink-muted); line-height:1.4;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.prog-card--compact .prog-card-stats{
  display:grid; grid-template-columns:repeat(3,1fr); gap:6px;
  margin:0 16px; padding:8px 10px;
  border-radius:10px; background:rgba(183,32,46,.03);
  border:1px solid rgba(183,32,46,.06);
}
.prog-card--compact .prog-card-stats strong{
  display:block; font-family:var(--font-head); font-size:.88rem;
  color:var(--ink-black); line-height:1.1; margin-bottom:1px;
}
.prog-card--compact .prog-card-stats span{
  display:block; font-family:var(--font-mono); font-size:.58rem;
  letter-spacing:.05em; text-transform:uppercase; color:var(--ink-muted);
}
.prog-card--compact .prog-card-list{
  list-style:none; margin:0; padding:0 16px;
  display:flex; flex-direction:column; gap:5px;
}
.prog-card--compact .prog-card-list li{
  font-size:.8rem; color:var(--ink-text); padding-left:14px; position:relative;
  line-height:1.35;
}
.prog-card--compact .prog-card-list li::before{
  content:''; position:absolute; left:0; top:.55em;
  width:6px; height:6px; border-radius:50%; background:var(--pillar-red);
}
.prog-card--compact .prog-card-foot{
  display:flex; align-items:center; justify-content:space-between; gap:10px; flex-wrap:wrap;
  padding:0 16px 14px; margin-top:0;
}
.prog-card--compact .prog-card-link{
  font-weight:700; font-size:.78rem; color:var(--ink-black);
  border-bottom:1px solid rgba(183,32,46,.2); padding-bottom:1px;
}
.prog-card--compact .btn{padding:7px 12px; font-size:.75rem;}

.prog-card-top{
  display:grid; grid-template-columns:1fr auto; gap:18px; align-items:start;
  padding:26px 26px 0;
}
.prog-card-top-copy{min-width:0;}
.prog-card-tag{
  display:inline-flex; align-items:center;
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.14em;
  text-transform:uppercase; color:var(--pillar-red); font-weight:600;
  margin-bottom:8px;
}
.prog-card-top h2,
.prog-card-head h2{
  font-family:var(--font-head); font-size:clamp(1.55rem,2.6vw,2rem);
  color:var(--ink-black); margin:0 0 10px; line-height:1.12; letter-spacing:-.015em;
}
.prog-card-badge{
  width:72px; height:72px; border-radius:18px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:var(--ink-navy); color:#fff; flex-shrink:0;
  box-shadow:0 14px 28px -16px rgba(183,32,46,.55);
}
.prog-card[data-prog-accent="red"] .prog-card-badge{background:linear-gradient(145deg,var(--pillar-red-dark),var(--pillar-red));}
.prog-card[data-prog-accent="brass"] .prog-card-badge{background:linear-gradient(145deg,#e8e8e8,var(--brass));}
.prog-card[data-prog-accent="teal"] .prog-card-badge{background:linear-gradient(145deg,#0a4f49,#0f766e);}
.prog-card[data-prog-accent="wine"] .prog-card-badge{background:linear-gradient(145deg,#3b1024,#8f254d);}
.prog-card[data-prog-accent="amber"] .prog-card-badge{background:linear-gradient(145deg,#e8e8e8,#ffffff);}
.prog-card[data-prog-accent="navy"] .prog-card-badge{background:linear-gradient(145deg,#06152f,var(--ink-navy));}
.prog-card-badge span{
  font-family:var(--font-head); font-size:1.45rem; font-weight:700; line-height:1;
}
.prog-card-badge em{
  font-style:normal; font-family:var(--font-mono); font-size:.62rem;
  letter-spacing:.12em; text-transform:uppercase; opacity:.7; margin-top:3px;
}

.prog-card-stats{
  display:grid; grid-template-columns:repeat(4,1fr); gap:8px;
  margin:0 26px; padding:14px;
  border-radius:14px; background:rgba(183,32,46,.03);
  border:1px solid rgba(183,32,46,.06);
}
.prog-card-stats div{min-width:0;}
.prog-card-stats strong{
  display:block; font-family:var(--font-head); font-size:1.05rem;
  color:var(--ink-black); line-height:1.15; margin-bottom:3px;
}
.prog-card-stats span{
  display:block; font-family:var(--font-mono); font-size:.62rem;
  letter-spacing:.06em; text-transform:uppercase; color:var(--ink-muted);
}

.prog-card-body{
  display:grid; grid-template-columns:1.15fr .85fr; gap:16px;
  padding:0 26px; flex:1;
}
.prog-card-col h3,
.prog-card-aside h3{
  margin:0 0 10px; font-size:.78rem; font-family:var(--font-mono);
  letter-spacing:.1em; text-transform:uppercase; color:var(--ink-muted); font-weight:600;
}
.prog-card-lead{
  margin:0; font-size:.92rem; color:var(--ink-muted); line-height:1.55;
}
.prog-card-list{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:9px;
}
.prog-card-list li{
  font-size:.88rem; color:var(--ink-text); padding-left:18px; position:relative;
  line-height:1.4;
}
.prog-card-list li::before{
  content:''; position:absolute; left:0; top:.55em;
  width:7px; height:7px; border-radius:50%; background:var(--prog-accent, var(--pillar-red));
}
.prog-card-aside{
  border-radius:14px; padding:16px 14px;
  background:var(--ink-navy); color:#fff;
  position:relative; overflow:hidden;
}
.prog-card-aside::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 70% 60% at 100% 0%,rgba(183,32,46,.28),transparent 55%),
    radial-gradient(ellipse 50% 50% at 0% 100%,rgba(0,0,0,.14),transparent 50%);
}
.prog-card-aside > *{position:relative; z-index:1;}
.prog-card-aside h3{color:var(--brass);}
.prog-card-aside > p{
  margin:0 0 12px; font-size:.84rem; color:rgba(255,255,255,.72); line-height:1.5;
}
.prog-card-aside ul{
  list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:6px;
}
.prog-card-aside li{
  font-family:var(--font-mono); font-size:.65rem; letter-spacing:.06em; text-transform:uppercase;
  padding:5px 9px; border-radius:999px;
  border:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.85);
}

.prog-card-foot{
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
  padding:4px 26px 24px; margin-top:auto;
}
.prog-card-link{
  font-weight:700; font-size:.88rem; color:var(--ink-black);
  border-bottom:1px solid rgba(183,32,46,.2); padding-bottom:2px;
  transition:color .2s, border-color .2s;
}
.prog-card-link:hover{color:var(--pillar-red); border-color:var(--pillar-red);}
.prog-card .btn{align-self:flex-start; margin-top:0;}

.prog-scroll-stage .prog-card{gap:14px;}
.prog-scroll-stage .prog-card-list li::before{background:var(--prog-accent, var(--pillar-red));}

@media (max-width:1000px){
  .prog-card-stats{grid-template-columns:repeat(2,1fr);}
  .prog-card-body{grid-template-columns:1fr;}
  .prog-card--compact .prog-card-stats{grid-template-columns:repeat(3,1fr);}
}
@media (max-width:600px){
  .prog-card-top{grid-template-columns:1fr; gap:12px;}
  .prog-card-badge{width:60px; height:60px; border-radius:14px;}
  .prog-card-top,.prog-card-body,.prog-card-foot{padding-left:18px; padding-right:18px;}
  .prog-card-stats{margin-left:18px; margin-right:18px;}
  .prog-card-foot{padding-bottom:20px;}
}

.prog-process{
  padding:96px 0; background:#fff; border-top:1px solid var(--fog-line);
}
.prog-process-head{max-width:48ch; margin-bottom:40px;}
.prog-process-head h2{font-size:clamp(1.8rem,3.2vw,2.5rem); margin-bottom:10px;}
.prog-process-head p{margin:0;}
.prog-process-steps{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:0;
  border-top:1px solid var(--fog-line);
}
.prog-process-steps li{
  padding:32px 28px 8px 0; border-right:1px solid var(--fog-line);
  display:flex; flex-direction:column; gap:10px;
  position:relative;
}
.prog-process-steps li:last-child{border-right:none; padding-right:0;}
.prog-process-steps li:not(:last-child)::after{
  content:''; position:absolute; right:18px; top:40px;
  width:28px; height:1px; background:var(--brass); opacity:.5;
}
.prog-process-num{
  font-family:var(--font-head); font-size:2.2rem; color:var(--pillar-red);
  font-weight:700; line-height:1;
}
.prog-process-steps strong{
  font-family:var(--font-head); font-size:1.3rem; color:var(--ink-black); font-weight:600;
}
.prog-process-steps span:last-child{
  font-size:.92rem; color:var(--ink-muted); line-height:1.5; max-width:32ch;
}

.prog-closer{background:#fff;}
.prog-closer-inner{
  display:grid; grid-template-columns:1.15fr .85fr; min-height:380px;
}
.prog-closer-inner--solo{
  grid-template-columns:1fr;
  min-height:0;
  max-width:var(--container);
  margin:0 auto;
}
.prog-closer-copy{
  padding:72px 56px; display:flex; flex-direction:column; justify-content:center; gap:14px;
  background:linear-gradient(135deg,rgba(183,32,46,.03),transparent), #fff;
}
.prog-closer-inner--solo .prog-closer-copy{
  padding:64px 24px;
  align-items:center;
  text-align:center;
}
.prog-closer-inner--solo .prog-closer-copy h2,
.prog-closer-inner--solo .prog-closer-copy p{
  margin-left:auto; margin-right:auto;
}
.prog-closer-inner--solo .prog-closer-copy .btn{align-self:center;}
.prog-closer-copy h2{
  font-size:clamp(1.7rem,3vw,2.4rem); margin:0; max-width:18ch; line-height:1.15;
}
.prog-closer-copy p{margin:0 0 8px; max-width:42ch;}
.prog-closer-copy .btn{align-self:flex-start; margin-top:6px;}
.prog-closer-side{
  background:
    linear-gradient(160deg,rgba(6,21,47,.9),rgba(10,31,68,.78)),
    url('../assets/hero.jpg') center/cover no-repeat;
  color:#fff; padding:56px 40px;
  display:flex; flex-direction:column; justify-content:flex-end; gap:14px;
  position:relative; overflow:hidden;
}
.prog-closer-mark{
  position:absolute; top:28px; right:28px;
  font-family:var(--font-head); font-size:5rem; font-weight:700;
  color:rgba(255,255,255,.08); line-height:1; letter-spacing:-.04em;
}
.prog-closer-side p{
  margin:0; font-family:var(--font-head); font-size:clamp(1.4rem,2.4vw,1.85rem);
  color:#fff; max-width:12ch; line-height:1.2;
}

@media (prefers-reduced-motion:reduce){
  .prog-card{transition:none;}
  .prog-card:hover{transform:none;}
  .prog-scroll-hint-icon::after{animation:none;}
  .prog-scroll-track{height:auto;}
  .prog-scroll-sticky{position:relative; top:auto; height:auto; overflow:visible; padding:56px 0 72px;}
  .prog-scroll-layout{grid-template-columns:1fr; gap:28px;}
  .prog-scroll-deck,.prog-scroll-stage{height:auto; min-height:0;}
  .prog-scroll-stack,.prog-scroll-watermark,.prog-scroll-glow{display:none;}
  .prog-scroll-stage{
    position:static; display:flex; flex-direction:column; gap:18px;
  }
  .prog-scroll-stage .prog-card{
    position:relative; inset:auto; opacity:1 !important; visibility:visible !important;
    pointer-events:auto; transform:none !important; height:auto; overflow:visible;
  }
  .prog-scroll-hint{display:none;}
}

@media (max-width:1000px){
  .programs-page-grid{grid-template-columns:repeat(2,1fr);}
  .programs-page-intro-inner{grid-template-columns:1fr; gap:28px;}
  .programs-steps{grid-template-columns:1fr;}
  .prog-scroll-layout{grid-template-columns:1fr; gap:16px; align-items:stretch;}
  .prog-scroll-sticky{align-items:flex-start; padding-top:14px;}
  .prog-route{margin-bottom:14px;}
  .prog-route-stops{
    display:grid; grid-template-columns:repeat(3,1fr); gap:6px;
  }
  .prog-route-track{display:none;}
  .prog-route{grid-template-columns:1fr;}
  .prog-route-stop{
    grid-template-columns:1fr; gap:6px; padding:10px 8px;
    border:1px solid var(--fog-line); border-radius:12px; background:#fff;
  }
  .prog-route-stop.is-active{
    background:var(--ink-navy); color:#fff; transform:none;
  }
  .prog-route-stop.is-active .prog-route-label em{color:var(--brass);}
  .prog-route-dot{display:none;}
  .prog-route-label{font-size:.78rem; justify-content:center;}
  .prog-scroll-deck{min-height:min(62vh, 560px); height:min(62vh, 560px);}
  .prog-scroll-lede{display:none;}
  .prog-scroll-watermark{font-size:6rem; opacity:.7;}
  .prog-card-aside{min-height:auto;}
  .prog-process-steps{grid-template-columns:1fr; border-top:none;}
  .prog-process-steps li{
    border-right:none; border-top:1px solid var(--fog-line);
    padding:24px 0;
  }
  .prog-process-steps li::after{display:none;}
  .prog-closer-inner{grid-template-columns:1fr;}
  .prog-closer-copy{padding:48px 28px;}
  .prog-closer-side{min-height:240px;}
  .prog-hero{min-height:auto; padding:120px 0 64px;}
}
@media (max-width:600px){
  .programs-page-grid{grid-template-columns:1fr;}
  .programs-page-hero{padding:100px 0 64px;}
  .programs-page-highlights{grid-template-columns:1fr 1fr;}
  .prog-scroll-sticky{top:70px; height:calc(100vh - 70px);}
  .prog-scroll-side h2{font-size:1.45rem;}
  .prog-route-stops{grid-template-columns:repeat(2,1fr);}
  .prog-scroll-deck{min-height:min(56vh, 520px); height:min(56vh, 520px);}
  .prog-scroll-stack{display:none;}
}

/* Contact page premium */
.contact-hero{
  min-height:min(72vh,620px);
  display:flex; align-items:center; justify-content:center;
  padding:140px 0 68px; text-align:center; color:#fff; position:relative; overflow:hidden;
  background:linear-gradient(160deg,#06152f 0%,var(--ink-navy) 50%,#12284f 100%);
}
.contact-hero::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 45% 55% at 88% 18%,rgba(183,32,46,.28),transparent 60%),
    radial-gradient(ellipse 35% 45% at 10% 88%,rgba(0,0,0,.16),transparent 55%);
}
.contact-hero::after{
  content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--brass) 35%,var(--pillar-red) 65%,transparent);
}
.contact-hero-inner{
  position:relative; z-index:1; max-width:760px; margin:0 auto; width:100%;
}
.contact-hero .eyebrow{color:var(--brass);}
.contact-hero h1{
  color:#fff; font-size:clamp(2.4rem,5.5vw,4rem); margin-bottom:16px;
  line-height:1.05; letter-spacing:-.02em;
}
.contact-hero-lede{
  color:rgba(255,255,255,.72); max-width:44ch; margin:0 auto 26px; font-size:1.05rem;
}
.contact-hero-actions{display:flex; flex-wrap:wrap; justify-content:center; gap:12px;}
.contact-hero-ghost{
  border-color:rgba(255,255,255,.35); color:#fff; background:transparent;
}
.contact-hero-ghost:hover{background:#fff; color:var(--ink-black); border-color:#fff;}

.contact-page{padding:80px 0 90px; background:var(--paper);}
.contact-page-intro{
  max-width:56ch; margin:0 auto 36px; text-align:center;
}
.contact-page-intro h2{font-size:clamp(1.55rem,3vw,2.1rem); margin-bottom:12px;}
.contact-page-intro p{margin:0; color:var(--ink-muted);}
.contact-grid{
  display:grid; grid-template-columns:1.05fr .95fr; gap:28px; align-items:stretch;
}
.contact-copy h2{font-size:clamp(1.5rem,3vw,2rem); margin-bottom:12px;}
.contact-copy > p{max-width:42ch;}
.contact-meta{margin-top:24px; display:flex; flex-direction:column; gap:12px;}
.contact-meta li{
  font-family:var(--font-mono); font-size:.85rem; color:var(--ink-muted);
  padding-left:14px; border-left:2px solid var(--brass);
}
.contact-channels{
  margin:28px 0 0; display:flex; flex-direction:column; gap:14px;
}
.contact-channels li{
  display:grid; gap:2px;
  padding:14px 16px; background:#fff; border:1px solid var(--fog-line);
  border-radius:12px; border-left:3px solid var(--brass);
}
.contact-channels--compact{
  margin:0; display:grid; grid-template-columns:1fr 1fr; gap:12px;
}
.contact-channels--compact li{margin:0; background:var(--paper);}
.contact-channel-label{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--ink-muted);
}
.contact-channels a{
  font-weight:700; color:var(--ink-black); font-size:1.02rem;
}
.contact-channels a:hover{color:var(--pillar-red);}
.contact-channel-note{font-size:.8rem; color:var(--ink-muted);}
.contact-map-panel{
  display:flex; flex-direction:column; gap:16px; min-height:100%;
}
.contact-map{
  flex:1; min-height:320px; border-radius:var(--radius); overflow:hidden;
  border:1px solid var(--fog-line); background:#dfe6ef;
  box-shadow:var(--shadow-soft);
}
.contact-map iframe{display:block; width:100%; height:100%; min-height:320px; border:0;}
.contact-map-meta{
  display:flex; flex-direction:column; gap:14px;
  padding:18px 18px 16px; background:#fff; border:1px solid var(--fog-line);
  border-radius:var(--radius);
}
.contact-map-meta strong{
  display:block; margin-top:4px; font-size:.95rem; font-weight:600;
  color:var(--ink-black); line-height:1.4;
}
.contact-hours{
  margin-top:28px; padding-top:22px; border-top:1px solid var(--fog-line);
}
.contact-hours ul{display:flex; flex-direction:column; gap:10px; margin-top:12px;}
.contact-hours li{
  display:flex; justify-content:space-between; gap:16px;
  font-size:.9rem; color:var(--ink-muted);
}
.contact-hours strong{color:var(--ink-black); font-weight:600;}
.page-hero-meta{
  display:flex; flex-wrap:wrap; justify-content:flex-start; gap:10px; margin-top:22px;
}
.page-hero-meta span{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.08em; text-transform:uppercase;
  color:rgba(255,255,255,.78); border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06); padding:6px 12px; border-radius:999px;
}
.contact-card{
  background:#fff; border:1px solid var(--fog-line); border-radius:var(--radius);
  padding:32px 28px; box-shadow:var(--shadow-soft); position:relative; overflow:hidden;
}
.contact-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--brass),var(--pillar-red));
}
.contact-card h2{font-size:1.45rem; margin:0 0 8px;}
.contact-card-lede{font-size:.92rem; margin:0 0 22px;}
.contact-fields{display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; margin-bottom:16px;}
.contact-fields .field--full{grid-column:1 / -1;}
.contact-actions{display:flex; flex-wrap:wrap; gap:12px;}
.contact-error{color:var(--pillar-red); font-size:.85rem; margin:12px 0 0;}
.contact-thanks{text-align:center; padding:20px 8px;}
.contact-thanks h3{font-size:1.5rem; margin:0 0 10px;}
.contact-thanks p{margin:0 0 22px;}
.contact-badge{
  display:inline-flex; align-items:center; gap:8px;
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:1.4px; text-transform:uppercase;
  color:var(--pillar-red); margin-bottom:12px;
}
.contact-help{
  padding:90px 0; background:#fff; border-top:1px solid var(--fog-line);
  position:relative;
}
.contact-help::before{
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--brass) 40%,var(--pillar-red) 60%,transparent);
}
.contact-help-head{text-align:center; max-width:52ch; margin:0 auto 40px;}
.contact-help-head h2{font-size:clamp(1.7rem,3.2vw,2.4rem); margin-bottom:10px;}
.contact-help-head p{margin:0;}
.contact-help-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:16px;
}
.contact-help-grid--3{grid-template-columns:repeat(3,1fr);}
.contact-help-item{
  display:flex; flex-direction:column; gap:10px;
  padding:24px 20px 22px; border:1px solid var(--fog-line); border-radius:var(--radius);
  background:var(--paper); position:relative; overflow:hidden;
  transition:transform .25s var(--ease), border-color .25s, box-shadow .25s, background .25s;
}
.contact-help-item::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--brass),var(--pillar-red));
  transform:scaleX(0); transform-origin:left; transition:transform .3s var(--ease);
}
.contact-help-item:hover{
  transform:translateY(-4px); border-color:transparent; box-shadow:var(--shadow-soft); background:#fff;
}
.contact-help-item:hover::before{transform:scaleX(1);}
.contact-help-tag{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.12em; text-transform:uppercase;
  color:var(--pillar-red);
}
.contact-help-item h3{
  font-size:1.22rem; margin:0; color:var(--ink-black);
}
.contact-help-item p{
  margin:0; font-size:.88rem; flex:1; color:var(--ink-muted);
}
.contact-help-link{
  font-weight:700; font-size:.9rem; color:var(--ink-black);
}
.contact-help-item:hover .contact-help-link{color:var(--pillar-red);}
.contact-process{
  padding:90px 0; background:var(--ink-navy); color:#fff; border-top:none;
  position:relative; overflow:hidden;
}
.contact-process::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 40% 50% at 90% 20%,rgba(183,32,46,.22),transparent 55%),
    radial-gradient(ellipse 35% 40% at 10% 90%,rgba(0,0,0,.14),transparent 50%);
}
.contact-process .wrap{position:relative; z-index:1;}
.contact-process-head{text-align:center; margin-bottom:40px;}
.contact-process-head .eyebrow{color:var(--brass);}
.contact-process-head h2{font-size:clamp(1.7rem,3.2vw,2.4rem); margin:0; color:#fff;}
.contact-steps{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
}
.contact-steps li{
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.12); border-radius:var(--radius);
  padding:28px 22px; display:flex; flex-direction:column; gap:8px;
  transition:background .25s var(--ease), border-color .25s;
}
.contact-steps li:hover{
  background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.35);
}
.contact-step-num{
  font-family:var(--font-mono); font-size:.78rem; letter-spacing:.14em;
  color:var(--brass); font-weight:600;
}
.contact-steps strong{
  font-family:var(--font-head); font-size:1.25rem; color:#fff; font-weight:600;
}
.contact-steps span:last-child{
  font-size:.9rem; color:rgba(255,255,255,.68); line-height:1.5;
}
.contact-faq{
  padding:100px 0;
  background:
    radial-gradient(ellipse 45% 40% at 100% 0%,rgba(183,32,46,.06),transparent 55%),
    radial-gradient(ellipse 40% 35% at 0% 100%,rgba(10,31,68,.04),transparent 50%),
    var(--paper);
  border-top:1px solid var(--fog-line);
}
.contact-faq-head{
  max-width:48ch; margin:0 auto 40px; text-align:center;
}
.contact-faq-head h2{
  font-size:clamp(1.85rem,3.4vw,2.55rem); margin-bottom:12px;
}
.contact-faq-head p{margin:0; color:var(--ink-muted);}
.contact-faq-list{
  max-width:780px; margin:0 auto;
  display:flex; flex-direction:column; gap:12px;
}
.contact-faq-item{
  border:1px solid var(--fog-line); border-radius:16px; background:#fff;
  overflow:hidden;
  box-shadow:0 10px 28px -22px rgba(6,21,47,.18);
  transition:border-color .25s, box-shadow .25s, transform .25s var(--ease);
}
.contact-faq-item:hover{
  border-color:rgba(10,31,68,.14);
  box-shadow:0 16px 36px -20px rgba(6,21,47,.22);
}
.contact-faq-item[open]{
  border-color:rgba(183,32,46,.28);
  box-shadow:0 18px 40px -22px rgba(183,32,46,.28);
}
.contact-faq-item summary{
  cursor:pointer; list-style:none;
  display:grid; grid-template-columns:auto 1fr auto; gap:16px; align-items:center;
  padding:20px 22px; color:var(--ink-black);
}
.contact-faq-item summary::-webkit-details-marker{display:none;}
.contact-faq-num{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.12em;
  color:var(--pillar-red); font-weight:600;
}
.contact-faq-q{
  font-weight:700; font-size:1.02rem; line-height:1.35;
}
.contact-faq-toggle{
  width:32px; height:32px; border-radius:50%;
  display:grid; place-items:center; position:relative;
  background:var(--paper); border:1px solid var(--fog-line);
  transition:background .25s, border-color .25s, transform .25s var(--ease);
}
.contact-faq-toggle::before,
.contact-faq-toggle::after{
  content:''; position:absolute; background:var(--ink-black);
  transition:transform .25s var(--ease), background .25s;
}
.contact-faq-toggle::before{width:12px; height:1.5px;}
.contact-faq-toggle::after{width:1.5px; height:12px;}
.contact-faq-item[open] .contact-faq-toggle{
  background:var(--pillar-red); border-color:var(--pillar-red);
  transform:rotate(90deg);
}
.contact-faq-item[open] .contact-faq-toggle::before,
.contact-faq-item[open] .contact-faq-toggle::after{background:#fff;}
.contact-faq-item[open] .contact-faq-toggle::after{transform:scaleY(0);}
.contact-faq-a{
  padding:0 22px 22px 62px;
}
.contact-faq-a p{
  margin:0; font-size:.94rem; color:var(--ink-muted); line-height:1.6;
  border-top:1px solid var(--fog-line); padding-top:16px;
}
.contact-faq-a a{
  color:var(--pillar-red); font-weight:600; text-decoration:none;
}
.contact-faq-a a:hover{text-decoration:underline;}
@media (max-width:1000px){
  .contact-help-grid,
  .contact-help-grid--3{grid-template-columns:repeat(2,1fr);}
  .contact-steps{grid-template-columns:1fr;}
}
@media (max-width:860px){
  .contact-grid{grid-template-columns:1fr;}
  .contact-fields{grid-template-columns:1fr;}
  .contact-map,.contact-map iframe{min-height:280px;}
  .contact-channels--compact{grid-template-columns:1fr;}
}
@media (max-width:560px){
  .contact-help-grid,
  .contact-help-grid--3{grid-template-columns:1fr;}
  .contact-faq-item summary{gap:12px; padding:18px 16px;}
  .contact-faq-q{font-size:.95rem;}
  .contact-faq-a{padding:0 16px 18px 16px;}
}

/* ============ WHATSAPP FLOAT ============ */
.whatsapp-float{
  position:fixed; right:22px; bottom:22px; z-index:90;
  width:58px; height:58px; border-radius:50%;
  display:grid; place-items:center;
  background:#25D366; color:#fff;
  box-shadow:0 12px 28px -10px rgba(37,211,102,.65);
  transition:transform .22s var(--ease), box-shadow .22s var(--ease), background .2s;
}
.whatsapp-float svg{width:30px; height:30px; display:block;}
.whatsapp-float:hover{
  transform:translateY(-3px) scale(1.05);
  background:#1ebe57;
  box-shadow:0 16px 34px -10px rgba(37,211,102,.75);
}
.whatsapp-float:focus-visible{
  outline:3px solid rgba(37,211,102,.45); outline-offset:3px;
}
.whatsapp-float::after{
  content:''; position:absolute; inset:0; border-radius:50%;
  border:2px solid rgba(37,211,102,.55);
  animation:wa-pulse 2.2s ease-out infinite;
}
@keyframes wa-pulse{
  0%{ transform:scale(1); opacity:.7; }
  100%{ transform:scale(1.55); opacity:0; }
}
@media (prefers-reduced-motion:reduce){
  .whatsapp-float::after{animation:none;}
}
@media (max-width:900px){
  body:has(.mini-contact) .whatsapp-float{bottom:78px;}
}
@media (max-width:560px){
  .whatsapp-float{right:16px; bottom:16px; width:54px; height:54px;}
  .whatsapp-float svg{width:28px; height:28px;}
  body:has(.mini-contact) .whatsapp-float{bottom:74px;}
}

/* ============ MINI CONTACT (right dock, scroll-open) ============ */
.mini-contact{
  position:fixed;
  top:130px;
  right:0;
  z-index:70;
  width:min(272px, calc(100vw - 24px));
  display:flex; flex-direction:column; align-items:flex-end;
  pointer-events:none;
  opacity:0; visibility:hidden;
  transform:translateX(18px);
  transition:opacity .35s var(--ease), transform .35s var(--ease), visibility .35s;
}
.mini-contact.is-dock-ready{
  opacity:1; visibility:visible; transform:none;
}
.mini-contact > *{pointer-events:auto;}
.mini-contact-toggle{
  display:inline-flex; align-items:center; gap:8px;
  border:none; cursor:pointer;
  background:var(--ink-navy); color:#fff;
  font-family:var(--font-body); font-weight:700; font-size:.78rem;
  letter-spacing:.06em; text-transform:uppercase;
  padding:12px 16px; border-radius:12px 0 0 12px;
  box-shadow:0 10px 28px -12px rgba(183,32,46,.45);
  transition:background .2s var(--ease);
}
.mini-contact-toggle:hover{background:var(--royal-navy);}
.mini-contact.is-open .mini-contact-toggle{background:var(--pillar-red);}
.mini-contact-panel{
  display:none;
  width:100%;
  margin-bottom:8px;
  background:#fff;
  border:1px solid var(--fog-line);
  border-right:none;
  border-radius:16px 0 0 16px;
  box-shadow:-12px 16px 40px -18px rgba(183,32,46,.28);
  overflow:hidden;
  position:relative;
  max-height:min(70vh, 540px);
  overflow-y:auto;
}
.mini-contact.is-open .mini-contact-panel{display:block;}
.mini-contact-panel::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--brass),var(--pillar-red));
}
.mini-contact-copy{
  padding:16px 16px 0;
}
.mini-contact-copy .eyebrow{margin-bottom:6px;}
.mini-contact-copy h2{
  font-size:1.2rem; margin:0 0 4px; line-height:1.15;
}
.mini-contact-copy p{
  margin:0; font-size:.8rem; line-height:1.4; color:var(--ink-muted);
}
.mini-contact-card{
  padding:12px 16px 14px; background:transparent; border:none; box-shadow:none;
  position:relative; overflow:visible;
}
.mini-contact-card::before{display:none;}
.mini-fields{
  display:grid; grid-template-columns:1fr;
  gap:8px; margin-bottom:10px;
}
.mini-fields .field span{font-size:.72rem;}
.mini-fields .field input{
  padding:9px 11px; font-size:.86rem; min-height:40px;
}
.mini-fields .btn{
  width:100%; height:42px; justify-content:center; margin-top:2px;
}
.mini-consent{margin:0; font-size:.7rem; font-weight:400; line-height:1.35;}
.mini-thanks{padding:10px 0 4px;}
.mini-thanks p{margin:0; color:var(--ink-black); font-size:.88rem;}
@media (max-width:900px){
  .mini-contact{
    top:auto; bottom:18px; right:0;
    width:min(280px, calc(100vw - 16px));
  }
}

@media (max-width:700px){
  .route-widget{padding:22px;}
  .stations .stop-name{display:none;}
}

/* ============ BRANCHES ============ */
.visually-hidden{position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;}

.branch-hero{
  min-height:min(62vh,520px);
  display:flex; align-items:center; justify-content:center;
  padding:140px 0 72px; text-align:center; color:#fff; position:relative; overflow:hidden;
  background:
    radial-gradient(ellipse 55% 60% at 80% 10%,rgba(183,32,46,.22),transparent 58%),
    radial-gradient(ellipse 40% 50% at 12% 90%,rgba(201,162,39,.1),transparent 55%),
    linear-gradient(160deg,#06152f 0%,#0a1f44 55%,#122a5c 100%);
}
.branch-hero::after{
  content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--brass) 35%,var(--pillar-red) 65%,transparent);
}
.branch-hero-inner{
  position:relative; z-index:1; max-width:640px; margin:0 auto; width:100%;
}
.branch-hero .eyebrow{color:var(--brass);}
.branch-hero h1{
  color:#fff; font-size:clamp(2.5rem,5.8vw,4.2rem); margin-bottom:16px;
  line-height:1.05; letter-spacing:-.02em;
}
.branch-hero-lede{
  color:rgba(255,255,255,.72); max-width:44ch; margin:0 auto 26px; font-size:1.06rem;
}
.branch-hero-actions{display:flex; flex-wrap:wrap; justify-content:center; gap:12px;}
.branch-hero-ghost{
  border-color:rgba(255,255,255,.35); color:#fff; background:transparent;
}
.branch-hero-ghost:hover{background:#fff; color:var(--ink-black); border-color:#fff;}

.branch-spot{
  padding:88px 0 100px;
  background:
    radial-gradient(ellipse 50% 40% at 0% 0%,rgba(183,32,46,.05),transparent 55%),
    var(--paper);
}
.branch-spot-head{
  max-width:52ch; margin:0 auto 40px; text-align:center;
}
.branch-spot-head h2{
  font-size:clamp(1.85rem,3.4vw,2.55rem); margin-bottom:12px;
}
.branch-spot-head p{margin:0; color:var(--ink-muted);}
.branch-spot-grid{
  display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);
  gap:28px; align-items:stretch;
}
.branch-spot-card{
  background:#fff;
  border:1px solid var(--fog-line);
  border-radius:calc(var(--radius) + 4px);
  padding:32px 28px 28px;
  display:flex; flex-direction:column; gap:22px;
  box-shadow:0 18px 40px rgba(6,21,47,.06);
}
.branch-spot-badge{
  align-self:flex-start;
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.12em;
  text-transform:uppercase; color:var(--pillar-red);
  background:rgba(183,32,46,.08); border:1px solid rgba(183,32,46,.16);
  padding:6px 12px; border-radius:999px;
}
.branch-spot-card h3{
  margin:0; font-size:1.55rem; letter-spacing:-.02em; color:var(--ink-black);
}
.branch-spot-meta{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:18px;
}
.branch-spot-meta li{
  display:grid; grid-template-columns:40px 1fr; gap:14px; align-items:flex-start;
}
.branch-spot-icon{
  width:40px; height:40px; border-radius:12px;
  display:grid; place-items:center;
  background:var(--paper); color:var(--royal-navy);
  border:1px solid var(--fog-line);
}
.branch-spot-icon svg{width:18px; height:18px;}
.branch-spot-meta strong{
  display:block; font-size:.78rem; letter-spacing:.06em;
  text-transform:uppercase; color:var(--ink-muted); margin-bottom:4px;
  font-family:var(--font-mono); font-weight:500;
}
.branch-spot-meta p{
  margin:0; color:var(--ink-text); font-size:.98rem; line-height:1.45;
}
.branch-spot-meta a{color:inherit; text-decoration:none;}
.branch-spot-meta a:hover{color:var(--pillar-red);}
.branch-spot-actions{
  margin-top:auto; display:flex; flex-wrap:wrap; gap:12px; padding-top:6px;
}
.branch-spot-map{
  border-radius:calc(var(--radius) + 4px);
  overflow:hidden; min-height:420px;
  border:1px solid var(--fog-line);
  box-shadow:0 18px 40px rgba(6,21,47,.06);
  background:#dfe6ef;
}
.branch-spot-map iframe{
  display:block; width:100%; height:100%; min-height:420px; border:0;
}
@media (max-width:900px){
  .branch-hero{min-height:auto; padding:120px 0 64px;}
  .branch-spot{padding:64px 0 80px;}
  .branch-spot-grid{grid-template-columns:1fr;}
  .branch-spot-map,.branch-spot-map iframe{min-height:320px;}
  .contact-hero{min-height:auto; padding:120px 0 64px;}
}

.branches{padding:110px 0; background:var(--paper); border-top:1px solid var(--fog);}
.branches.branch-map-section{border-top:none; padding:80px 0 100px;}
.branches h2{font-size:clamp(2rem,3.6vw,2.8rem);}
.branches-intro{max-width:60ch; font-size:1.02rem; margin-bottom:44px;}

.map-panel{
  display:grid; grid-template-columns:1.5fr 1fr; gap:40px; align-items:start; margin-bottom:56px;
}

.map-scroll{
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  mask-image:linear-gradient(to right, transparent, black 22px, black calc(100% - 22px), transparent);
}
.map-visual{
  position:relative; width:100%; min-width:640px; aspect-ratio:894.3/377.4;
  background:#fff; border:1px solid var(--fog-line); border-radius:20px;
  box-shadow:var(--shadow-soft);
}
.turkey-map{position:absolute; inset:0; width:100%; height:100%;}

.province{fill:var(--fog); stroke:#fff; stroke-width:1; transition:fill .2s;}
.province.has-branch{fill:var(--royal-navy); cursor:pointer;}
.province.has-branch:hover{fill:var(--brass);}
.province.is-active{fill:var(--pillar-red) !important;}

.city-marker-hit{fill:transparent; cursor:pointer;}
.city-marker-dot{fill:#fff; stroke:var(--ink-navy); stroke-width:1.4; pointer-events:none;}
.city-marker.is-active .city-marker-dot{
  fill:var(--pillar-red); stroke:#fff;
  animation:dot-pulse 2.2s ease-in-out infinite;
}
@keyframes dot-pulse{
  0%,100%{filter:drop-shadow(0 0 0 rgba(183,32,46,.5));}
  50%{filter:drop-shadow(0 0 4px rgba(183,32,46,.7));}
}
@media (prefers-reduced-motion:reduce){
  .city-marker.is-active .city-marker-dot{animation:none;}
}

.map-side{display:flex; flex-direction:column; gap:24px;}
.city-legend{
  display:flex; flex-direction:column; gap:2px; max-height:280px; overflow-y:auto;
  border:1px solid var(--fog-line); border-radius:12px; padding:8px; background:#fff;
}
.legend-region-heading{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:1.5px; text-transform:uppercase;
  color:var(--brass); padding:10px 10px 4px;
}
.city-row{
  display:flex; justify-content:space-between; align-items:center; width:100%;
  padding:9px 10px; border-radius:6px; border:none; background:none; cursor:pointer;
  font-family:var(--font-body); font-size:.9rem; color:var(--ink-muted);
  transition:background .15s, color .15s;
}
.city-row-count{font-family:var(--font-mono); font-size:.74rem; color:var(--ink-muted);}
.city-row:hover{background:var(--paper); color:var(--ink-black);}
.city-row.is-active{background:var(--paper); color:var(--pillar-red); font-weight:600;}
.city-row.is-active .city-row-count{color:var(--ink-black);}

.region-detail{
  background:#fff; border:1.5px solid var(--fog-line); border-radius:14px; padding:26px 24px;
}
.region-detail-eyebrow{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:1.5px; text-transform:uppercase; color:var(--brass);
}
.region-detail h3{font-size:1.5rem; margin:8px 0 10px; display:flex; align-items:baseline; gap:10px; flex-wrap:wrap;}
.region-detail-count{font-family:var(--font-mono); font-size:.85rem; color:var(--ink-muted); font-weight:400;}
.region-detail p{font-size:.92rem; margin-bottom:16px;}
.region-detail-chips{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:20px;}
.region-detail-chips span{
  font-family:var(--font-mono); font-size:.72rem; color:var(--ink-black);
  background:var(--paper); border:1px solid var(--fog-line); border-radius:999px; padding:5px 12px;
}

@media (max-width:900px){
  .map-panel{grid-template-columns:1fr;}
  .map-scroll{margin:0 -22px; padding:0 22px 16px;}
}

/* -- Branches: improved visuals & animations -- */
/* Map visual: subtle grid pattern */
.map-visual{
  background:linear-gradient(135deg, #f4f6fb 0%, #edf0f8 100%);
  background-image:
    linear-gradient(135deg, #f4f6fb 0%, #edf0f8 100%),
    repeating-linear-gradient(0deg, transparent, transparent 30px, rgba(183,32,46,.03) 30px, rgba(183,32,46,.03) 31px),
    repeating-linear-gradient(90deg, transparent, transparent 30px, rgba(183,32,46,.03) 30px, rgba(183,32,46,.03) 31px);
}
/* Province entrance when map-panel becomes visible */
.map-panel.is-visible .province.has-branch{
  animation:provinceIn .6s var(--ease) both;
}
.map-panel.is-visible .province.has-branch:nth-of-type(odd){ animation-delay:.05s; }
.map-panel.is-visible .province.has-branch:nth-of-type(3n){ animation-delay:.1s; }
@keyframes provinceIn{
  from{opacity:0; fill:var(--fog);}
  to{opacity:1;}
}
@media (prefers-reduced-motion:reduce){
  .map-panel.is-visible .province.has-branch{animation:none;}
}
/* Province hover: smooth lift */
.province.has-branch{transition:fill .22s, filter .22s;}
.province.has-branch:hover{filter:brightness(1.1);}
.province.is-active{fill:var(--pillar-red) !important; filter:none;}

/* City marker: bigger hit area, pulsing ring */
.city-marker-dot{fill:#fff; stroke:var(--brass); stroke-width:1.8; pointer-events:none; transition:fill .22s, stroke .22s, r .22s;}
.city-marker.is-active .city-marker-dot{fill:var(--pillar-red); stroke:var(--pillar-red);}
/* Outer pulse ring on active marker */
.city-marker-ring{
  fill:none; stroke:var(--pillar-red); stroke-width:1.5; opacity:0; pointer-events:none;
}
.city-marker.is-active .city-marker-ring{
  animation:markerRing 2s ease-out infinite;
}
@keyframes markerRing{
  0%{opacity:.8; r:6;}
  100%{opacity:0; r:14;}
}
@media (prefers-reduced-motion:reduce){
  .city-marker.is-active .city-marker-ring{animation:none; opacity:0;}
}

/* Legend: active row has left accent bar */
.city-row{
  position:relative; border-left:2px solid transparent;
  transition:background .15s, color .15s, border-color .15s;
}
.city-row.is-active{border-color:var(--pillar-red);}

/* Region detail: slide transition */
.region-detail{
  background:#fff; border:1.5px solid var(--fog-line); border-radius:16px; padding:26px 24px;
  position:relative; overflow:hidden;
  transition:box-shadow .22s;
}
.region-detail:hover{box-shadow:0 8px 24px rgba(183,32,46,.08);}
.region-detail::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg, var(--pillar-red), var(--brass));
}
/* Animate detail content on city switch */
.region-detail.is-switching{
  animation:detailSlide .24s var(--ease) both;
}
@keyframes detailSlide{
  from{opacity:0; transform:translateX(8px);}
  to{opacity:1; transform:translateX(0);}
}
/* District chips: stagger on switch */
.region-detail-chips span{
  font-family:var(--font-mono); font-size:.72rem; color:var(--ink-black);
  background:var(--paper); border:1px solid var(--fog-line); border-radius:999px; padding:5px 12px;
  transition:background .18s, border-color .18s;
}
.region-detail-chips span:hover{background:#fff; border-color:var(--brass);}

/* City legend: scrollbar style */
.city-legend{scrollbar-width:thin; scrollbar-color:var(--fog-line) transparent;}
.city-legend::-webkit-scrollbar{width:4px;}
.city-legend::-webkit-scrollbar-track{background:transparent;}
.city-legend::-webkit-scrollbar-thumb{background:var(--fog-line); border-radius:2px;}

/* ============ SECTION ENHANCEMENTS ============ */

/* -- Programs: decorative diagonal pattern + rule -- */
.programs{ overflow:hidden; position:relative; }
.programs-deco{
  position:absolute; inset:0; pointer-events:none;
  background-image:repeating-linear-gradient(
    -52deg,
    transparent, transparent 56px,
    rgba(255,255,255,.018) 56px, rgba(255,255,255,.018) 58px
  );
}
.programs-rule{
  width:52px; height:3px; margin-top:22px; border-radius:2px;
  background:linear-gradient(90deg, var(--pillar-red) 0%, rgba(255,255,255,.55) 100%);
}

/* Tab stagger on scroll reveal */
.programs-ui.is-visible .prog-tab{
  animation:progTabIn .44s var(--ease) both;
}
.programs-ui.is-visible .prog-tab:nth-child(1){ animation-delay:0s; }
.programs-ui.is-visible .prog-tab:nth-child(2){ animation-delay:.09s; }
.programs-ui.is-visible .prog-tab:nth-child(3){ animation-delay:.18s; }
.programs-ui.is-visible .prog-tab:nth-child(4){ animation-delay:.27s; }
.programs-ui.is-visible .prog-tab:nth-child(5){ animation-delay:.36s; }
@keyframes progTabIn{
  from{ opacity:0; transform:translateX(-20px); }
  to{   opacity:1; transform:translateX(0); }
}
@media (prefers-reduced-motion:reduce){
  .programs-ui.is-visible .prog-tab{ animation:none; }
}

/* Prog panel icon shimmer */
.prog-panel-icon::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(115deg, rgba(255,255,255,.18) 0%, transparent 55%);
}
/* Panel enter animation */
.prog-panel.is-active{ animation:panelFadeUp .36s var(--ease) both; }
@keyframes panelFadeUp{
  from{ opacity:0; transform:translateY(12px); }
  to{   opacity:1; transform:translateY(0); }
}

/* -- Why section: decoration + stat cards -- */
.why{ position:relative; overflow:hidden; }
.why-bg-accent{
  position:absolute; top:-80px; right:-80px;
  width:480px; height:480px; border-radius:50%;
  background:radial-gradient(circle, rgba(183,32,46,.042) 0%, transparent 68%);
  pointer-events:none;
}

.why-media{
  display:grid; grid-template-columns:1fr 1fr; gap:16px;
  position:relative;
}
.why-quote{ grid-column:1/-1; }

.why-stat-card{
  background:var(--sc-bg, var(--ink-navy));
  border-radius:var(--radius); padding:32px 26px;
  color:#fff; display:flex; flex-direction:column; gap:6px;
  position:relative; overflow:hidden; min-height:185px;
}
.wsc-ring{
  position:absolute; bottom:-44px; right:-44px;
  display:block; width:140px; height:140px; border-radius:50%;
  border:32px solid rgba(255,255,255,.07); pointer-events:none;
}
.wsc-label{
  font-family:var(--font-mono); font-size:.66rem; letter-spacing:2px;
  text-transform:uppercase; color:rgba(255,255,255,.52);
}
.wsc-num{
  font-family:var(--font-head); font-size:clamp(3rem,4.5vw,4.6rem);
  font-weight:700; line-height:.85; color:#fff; display:block; margin:10px 0 4px;
}
.wsc-sub{
  font-size:.8rem; color:rgba(255,255,255,.48); font-family:var(--font-mono);
}

/* Third stat inline in copy */
.why-third-stat{
  display:inline-flex; align-items:baseline; gap:10px;
  margin-top:28px; padding:16px 22px;
  border-left:3px solid var(--pillar-red);
  background:var(--paper); border-radius:0 10px 10px 0;
}
.wts-num{
  font-family:var(--font-head); font-size:1.85rem; font-weight:700;
  color:var(--ink-black); line-height:1;
}
.wts-label{
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--ink-muted);
}

/* Why list items stagger */
.why-copy.is-visible .why-list li{
  animation:wListIn .52s var(--ease) both;
}
.why-copy.is-visible .why-list li:nth-child(1){ animation-delay:.18s; }
.why-copy.is-visible .why-list li:nth-child(2){ animation-delay:.32s; }
.why-copy.is-visible .why-list li:nth-child(3){ animation-delay:.46s; }
@keyframes wListIn{
  from{ opacity:0; transform:translateX(-16px); }
  to{   opacity:1; transform:translateX(0); }
}
@media (prefers-reduced-motion:reduce){
  .why-copy.is-visible .why-list li{ animation:none; }
}
@media (max-width:900px){
  .why-media{ grid-template-columns:1fr 1fr; }
}
@media (max-width:560px){
  .why-media{ grid-template-columns:1fr; }
}

/* -- Route section: dark premium -- */
.route-section{ position:relative; overflow:hidden; }
.route-section::before{
  content:''; position:absolute;
  top:-80px; right:-100px; width:500px; height:500px; border-radius:50%;
  background:radial-gradient(circle, rgba(0,0,0,.09), transparent 68%);
  pointer-events:none;
}
.route-section::after{
  content:''; position:absolute;
  bottom:-100px; left:-60px; width:380px; height:380px; border-radius:50%;
  background:radial-gradient(circle, rgba(183,32,46,.06), transparent 68%);
  pointer-events:none;
}
.route-head{ margin-bottom:20px; }
.route-widget{
  border:1px solid var(--fog-line); border-radius:16px;
  box-shadow:0 12px 36px -20px rgba(10,31,68,.2);
  position:relative; overflow:hidden;
}
.route-widget::before{
  content:''; position:absolute; top:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg, var(--pillar-red) 0%, var(--brass) 50%, var(--pillar-red) 100%);
}
/* Quiz question slide transition */
.quiz-question:not([hidden]){
  animation:qSlideIn .28s var(--ease) both;
}
@keyframes qSlideIn{
  from{ opacity:0; transform:translateY(8px); }
  to{   opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion:reduce){
  .quiz-question:not([hidden]){ animation:none; }
}

/* SVG station enhancement */
.stations circle{
  filter:drop-shadow(0 0 0 rgba(183,32,46,0));
  transition:filter .35s var(--ease), fill .35s var(--ease);
}
.stations .completed circle{ fill:var(--pillar-red) !important; stroke:none; filter:drop-shadow(0 0 5px rgba(183,32,46,.45)); }
.stations .completed text{ fill:var(--pillar-red); }

/* -- Branches: enhanced stats -- */
.branches-head{ margin-bottom:48px; }
.branch-stats{ list-style:none; padding:0; }
.branch-stat-num{
  font-family:var(--font-head); font-size:clamp(2.6rem,4vw,3.4rem);
  font-weight:700; color:var(--ink-black); line-height:1; display:block;
  position:relative; padding-bottom:10px;
}
.branch-stat-num::after{
  content:''; position:absolute; bottom:0; left:0;
  width:28px; height:2.5px; background:var(--pillar-red); border-radius:2px;
  transition:width .4s var(--ease);
}
.branch-stats.is-visible .branch-stat-num::after{ width:44px; }
.branch-stat-label{
  font-family:var(--font-mono); font-size:.75rem; letter-spacing:1.5px;
  text-transform:uppercase; color:var(--ink-muted); margin-top:10px; display:block;
}
@media (max-width:560px){
  .branch-stats{ gap:28px 32px; }
}

/* ============ CTA BANNER ============ */
.cta-banner{
  background:linear-gradient(135deg, var(--ink-navy), var(--royal-navy));
  padding:90px 0; text-align:center; color:#fff;
}
.cta-banner h2{color:#fff; font-size:clamp(2rem,4vw,2.8rem);}
.cta-banner p{color:#D7DCE8; max-width:50ch; margin:0 auto 28px;}

/* ============ GAMES TEASER (home) ============ */
.games-teaser{
  background:var(--ink-navy);
  padding:56px 0;
  border-top:1px solid rgba(255,255,255,0.06);
}
.games-teaser-inner{
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:24px;
}
.games-teaser .eyebrow{color:var(--brass); margin-bottom:8px;}
.games-teaser h2{
  color:#fff; font-size:clamp(1.4rem,3vw,1.85rem); margin:0 0 8px;
}
.games-teaser p{color:rgba(255,255,255,0.62); margin:0; max-width:46ch;}

/* ============ GAMES HUB PAGE ============ */

/* --- Hero --- */
.games-hero{
  background:linear-gradient(155deg,#06152f 0%,#0A1F44 55%,#12284f 100%);
  padding:0; text-align:center; color:#fff;
  position:relative; overflow:hidden;
  min-height:min(78vh,720px);
  display:flex; align-items:center; justify-content:center;
}
.games-hero::before{
  content:''; position:absolute; inset:0;
  background:
    radial-gradient(ellipse 60% 80% at 15% 50%,rgba(124,58,237,.18) 0%,transparent 60%),
    radial-gradient(ellipse 50% 70% at 85% 40%,rgba(6,182,212,.15) 0%,transparent 60%),
    radial-gradient(ellipse 40% 60% at 50% 0%,rgba(0,0,0,.1) 0%,transparent 70%);
  pointer-events:none;
}
.games-hero::after{
  content:''; position:absolute; bottom:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,#2563eb 0%,#fff 35%,#B7202E 65%,#2563eb 100%);
  animation:heroBorderGlow 3s ease-in-out infinite;
}
@keyframes heroBorderGlow{0%,100%{opacity:.6;}50%{opacity:1;}}

.games-hero-particles{position:absolute;inset:0;pointer-events:none;z-index:0;}

.ghp-dot{
  position:absolute; width:5px; height:5px; border-radius:50%;
  animation:ghpFloat var(--ghp-dur,8s) ease-in-out infinite;
  animation-delay:var(--ghp-delay,0s);
  left:var(--ghp-x,50%); top:var(--ghp-y,50%);
}
@keyframes ghpFloat{0%,100%{transform:translateY(0) scale(1);opacity:.4;}50%{transform:translateY(-22px) scale(1.8);opacity:.85;}}
.ghp-dot:nth-child(1){--ghp-x:5%;--ghp-y:30%;--ghp-dur:7.2s;--ghp-delay:0s;background:#B7202E;}
.ghp-dot:nth-child(2){--ghp-x:16%;--ghp-y:65%;--ghp-dur:9s;--ghp-delay:.9s;background:#2563eb;}
.ghp-dot:nth-child(3){--ghp-x:30%;--ghp-y:28%;--ghp-dur:6.4s;--ghp-delay:1.7s;background:#93c5fd;}
.ghp-dot:nth-child(4){--ghp-x:47%;--ghp-y:78%;--ghp-dur:11s;--ghp-delay:2.3s;background:#B7202E;}
.ghp-dot:nth-child(5){--ghp-x:63%;--ghp-y:20%;--ghp-dur:7.8s;--ghp-delay:.4s;background:#B7202E;}
.ghp-dot:nth-child(6){--ghp-x:76%;--ghp-y:52%;--ghp-dur:8.2s;--ghp-delay:1.8s;background:#93c5fd;}
.ghp-dot:nth-child(7){--ghp-x:87%;--ghp-y:35%;--ghp-dur:10.5s;--ghp-delay:.6s;background:#fff;}
.ghp-dot:nth-child(8){--ghp-x:94%;--ghp-y:68%;--ghp-dur:9.3s;--ghp-delay:3s;background:#B7202E;}

.ghp-ring{
  position:absolute; border-radius:50%;
  animation:ghpRing var(--ghp-dur,12s) ease-in-out infinite;
  animation-delay:var(--ghp-delay,0s);
}
.ghp-ring--1{width:400px;height:400px;left:-100px;top:-120px;--ghp-dur:14s;--ghp-delay:0s;border:1.5px solid rgba(124,58,237,.18);}
.ghp-ring--2{width:600px;height:600px;right:-140px;bottom:-220px;--ghp-dur:18s;--ghp-delay:2s;border:1.5px solid rgba(6,182,212,.12);}
.ghp-ring--3{width:250px;height:250px;left:42%;top:-70px;--ghp-dur:11s;--ghp-delay:1s;border:1.5px solid rgba(0,0,0,.12);}
@keyframes ghpRing{0%,100%{transform:scale(1) rotate(0deg);opacity:.12;}50%{transform:scale(1.14) rotate(25deg);opacity:.25;}}

.ghp-icon{
  position:absolute; font-size:2rem; opacity:.14;
  animation:ghpIcon var(--ghp-dur,9s) ease-in-out infinite;
  animation-delay:var(--ghp-delay,0s);
}
.ghp-icon--1{left:7%;top:32%;--ghp-dur:9.5s;--ghp-delay:0s;}
.ghp-icon--2{right:9%;top:28%;--ghp-dur:11.2s;--ghp-delay:1.4s;}
.ghp-icon--3{left:21%;bottom:22%;--ghp-dur:8.3s;--ghp-delay:.7s;}
.ghp-icon--4{right:17%;bottom:28%;--ghp-dur:10.4s;--ghp-delay:2.1s;}
@keyframes ghpIcon{0%,100%{transform:translateY(0) rotate(-10deg);opacity:.14;}50%{transform:translateY(-18px) rotate(10deg);opacity:.25;}}

.games-hero-inner{
  position:relative;z-index:1;max-width:760px;width:100%;
  margin:0 auto; padding:120px 24px 100px;
  display:flex; flex-direction:column; align-items:center; text-align:center;
}

.games-hero-eyebrow{
  color:#B7202E;display:inline-block;position:relative;font-weight:700;
  background:rgba(183,32,46,.1);padding:5px 16px;border-radius:50px;
  border:1px solid rgba(183,32,46,.28);
  box-shadow:0 0 20px rgba(183,32,46,.15);
  margin-bottom:18px;
}

.games-hero-title{
  font-size:clamp(2.2rem,5vw,3.8rem); margin:0 0 22px; line-height:1.14;
  background:linear-gradient(135deg,#fff 0%,#fff 38%,#B7202E 68%,#2563eb 100%);
  background-size:200% 200%;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation:titleGrad 5s ease-in-out infinite;
}
.games-hero-title em{font-style:italic;font-family:var(--font-head);}
@keyframes titleGrad{0%,100%{background-position:0% 50%;}50%{background-position:100% 50%;}}

.games-hero-lede{color:rgba(255,255,255,.7);max-width:48ch;margin:0 auto 32px;font-size:1.06rem;line-height:1.7;}

.games-hero-cta{
  display:inline-flex;align-items:center;gap:10px;
  border-radius:50px!important;
  position:relative;overflow:hidden;
  box-shadow:0 8px 40px rgba(183,32,46,.5),0 0 0 0 rgba(183,32,46,.3);
  animation:ctaPulse 3s ease-in-out infinite;
  font-size:1rem!important;padding:16px 32px!important;
}
@keyframes ctaPulse{
  0%,100%{box-shadow:0 8px 40px rgba(183,32,46,.5),0 0 0 0 rgba(183,32,46,.3);}
  50%{box-shadow:0 10px 52px rgba(183,32,46,.7),0 0 0 8px rgba(183,32,46,.08);}
}
.games-hero-cta::after{
  content:'';position:absolute;top:50%;left:-70%;width:50%;height:220%;
  background:rgba(255,255,255,.25);transform:rotate(25deg) translateY(-50%);
  transition:left .55s cubic-bezier(.4,0,.2,1);
}
.games-hero-cta:hover::after{left:140%;}
.games-hero-cta:hover{transform:translateY(-4px) scale(1.04)!important;}

.games-hero-stats{
  display:flex;align-items:center;justify-content:center;gap:20px;margin-top:32px;
  font-family:var(--font-mono);font-size:.76rem;
  color:rgba(255,255,255,.45);letter-spacing:.06em;
}
.games-hero-stats strong{color:rgba(255,255,255,.8);}
.stat-sep{color:rgba(255,255,255,.2);font-size:.9rem;}

/* --- Catalog --- */
.games-catalog{padding:100px 0;background:var(--paper);}
.games-catalog-head{text-align:center;margin-bottom:60px;}
.games-catalog-head h2{font-size:clamp(1.9rem,3.4vw,2.6rem);}
.games-catalog-head p{max-width:48ch;margin:.6em auto 0;}
.text-red{color:var(--pillar-red);}

/* --- Cards grid --- */
.games-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}

.game-card{
  background:#fff; border:1.5px solid var(--fog-line); border-radius:24px;
  overflow:hidden; display:flex; flex-direction:column;
  color:inherit; position:relative;
  transition:transform .3s var(--ease),box-shadow .3s var(--ease),border-color .3s;
  box-shadow:0 4px 20px rgba(0,0,0,.06);
}
a.game-card{cursor:pointer;}
a.game-card:hover{
  transform:translateY(-10px) scale(1.02);
  box-shadow:0 32px 72px -16px rgba(183,32,46,.2),0 0 0 3px var(--pillar-red);
  border-color:transparent;
}
a.game-card:hover .game-card-shine{left:160%;}
a.game-card:hover .gc-icon-wrap{transform:scale(1.18) rotate(-6deg);}
a.game-card:hover .gc-ring--1{transform:scale(1.4);opacity:.5;}
a.game-card:hover .gc-ring--2{transform:scale(1.2);opacity:.3;}

.game-card-shine{
  position:absolute;top:0;left:-60%;width:50%;height:100%;
  background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.22) 50%,transparent 65%);
  transition:left .55s cubic-bezier(.4,0,.2,1);
  pointer-events:none;z-index:10;
}

.game-card-top{
  height:180px;display:flex;align-items:center;justify-content:center;
  position:relative;overflow:hidden;
}
.game-card-top--navy  {background:linear-gradient(145deg,#06152f,#16305C);}
.game-card-top--red   {background:linear-gradient(145deg,#B7202E,#B7202E);}
.game-card-top--brass {background:linear-gradient(145deg,#f5f5f5,#ffffff);}
.game-card-top--teal  {background:linear-gradient(145deg,#134e4a,#0d9488);}
.game-card-top--violet{background:linear-gradient(145deg,#4c1d95,#7c3aed);}
.game-card-top--amber {background:linear-gradient(145deg,#78350f,#000000);}

.gc-bg-orb{
  position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 80% at 50% 30%,rgba(255,255,255,.18) 0%,transparent 70%);
}
.gc-icon-wrap{
  position:relative;z-index:2;
  width:78px;height:78px;border-radius:24px;
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  border:2px solid rgba(255,255,255,.3);
  display:flex;align-items:center;justify-content:center;
  font-size:2.2rem;color:#fff;
  transition:transform .3s var(--ease);
  box-shadow:0 8px 28px rgba(0,0,0,.3),inset 0 1px 0 rgba(255,255,255,.3);
}
.gc-ring{
  position:absolute;border-radius:50%;z-index:1;
  border:1.5px solid rgba(255,255,255,.2);
  transition:transform .5s var(--ease),opacity .5s var(--ease);
}
.gc-ring--1{width:108px;height:108px;opacity:.3;}
.gc-ring--2{width:155px;height:155px;opacity:.14;}

.game-card--soon{opacity:.75;}
.game-card-soon-overlay{
  position:absolute;inset:0;z-index:5;
  background:rgba(255,255,255,.05);
  backdrop-filter:blur(1.5px);-webkit-backdrop-filter:blur(1.5px);
}
.game-soon-badge{
  position:absolute;top:14px;right:14px;z-index:8;
  background:linear-gradient(135deg,rgba(37,99,235,.95),rgba(29,78,216,.9));
  color:#fff;font-family:var(--font-mono);font-size:.6rem;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;
  padding:6px 12px 6px 9px;border-radius:50px;
  display:flex;align-items:center;gap:5px;
  box-shadow:0 4px 16px rgba(37,99,235,.35);
  animation:badgePulse 2.5s ease-in-out infinite;
}
@keyframes badgePulse{
  0%,100%{box-shadow:0 4px 16px rgba(37,99,235,.35);}
  50%{box-shadow:0 4px 28px rgba(37,99,235,.6);}
}

.game-card-body{padding:24px 24px 26px;display:flex;flex-direction:column;gap:12px;flex:1;}
.game-card-body h3{font-size:1.18rem;margin:0;color:var(--ink-black);}
.game-card-body p{font-size:.9rem;margin:0;flex:1;color:var(--ink-muted);line-height:1.6;}

.game-card-meta{
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  font-family:var(--font-mono);font-size:.72rem;color:var(--ink-muted);
}
.game-chip{
  background:rgba(124,58,237,.1);color:#5b21b6;
  border:1px solid rgba(124,58,237,.2);
  padding:4px 10px;border-radius:50px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;
}
.game-chip--amber{background:rgba(245,158,11,.1);color:#b45309;border-color:rgba(245,158,11,.25);border-radius:50px;}
.game-chip--red{background:rgba(183,32,46,.08);color:#B7202E;border-color:rgba(183,32,46,.22);border-radius:50px;}
.game-chip--green{background:rgba(34,197,94,.1);color:#15803d;border-color:rgba(34,197,94,.22);border-radius:50px;}

.game-card-cta{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:4px;padding:12px 16px;
  background:linear-gradient(135deg,#B7202E,#B7202E);color:#fff;
  font-size:.82rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  border-radius:14px;transition:all .25s;
  box-shadow:0 4px 16px rgba(183,32,46,.35);
}
a.game-card:hover .game-card-cta{background:linear-gradient(135deg,#B7202E,#B7202E);transform:translateY(-2px);box-shadow:0 8px 24px rgba(183,32,46,.5);}
.game-card-cta--muted{background:var(--fog);color:var(--ink-muted);cursor:not-allowed;box-shadow:none;}
a.game-card:hover .game-card-cta--muted{background:var(--fog);transform:none;box-shadow:none;}

/* --- CTA strip --- */
.games-cta{
  position:relative;overflow:hidden;
  background:linear-gradient(155deg,#06152f 0%,#0A1F44 55%,#12284f 100%);
  border-top:none;padding:80px 0;
}
.games-cta-bg{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 60% 100% at 0% 50%,rgba(183,32,46,.2) 0%,transparent 60%),
    radial-gradient(ellipse 50% 80% at 100% 50%,rgba(124,58,237,.15) 0%,transparent 60%),
    radial-gradient(ellipse 40% 60% at 50% 0%,rgba(0,0,0,.1) 0%,transparent 70%);
}
.games-cta-inner{
  position:relative;z-index:1;
  display:flex;align-items:center;justify-content:space-between;gap:32px;flex-wrap:wrap;
}
.games-cta-copy .eyebrow{color:#B7202E;margin-bottom:10px;display:block;}
.games-cta h2{font-size:clamp(1.4rem,2.8vw,1.95rem);margin:0;max-width:36ch;color:#fff;}

@media (max-width:1000px){.games-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:600px){
  .games-grid{grid-template-columns:1fr;}
  .games-hero{min-height:min(70vh,640px);}
  .games-hero-inner{padding:100px 20px 80px;}
  .games-cta-inner{flex-direction:column;align-items:flex-start;}
  .games-hero-stats{flex-wrap:wrap;gap:12px;justify-content:center;}
}

/* ============ FOOTER ============ */
.site-footer{
  position:relative; overflow:hidden;
  background:
    radial-gradient(ellipse 55% 60% at 100% 0%,rgba(183,32,46,.22),transparent 55%),
    radial-gradient(ellipse 40% 50% at 0% 100%,rgba(201,162,39,.08),transparent 50%),
    linear-gradient(165deg,#06152f 0%,#0a1f44 55%,#08152F 100%);
  color:rgba(255,255,255,.68);
  padding:0;
}
.footer-accent{
  height:3px;
  background:linear-gradient(90deg,transparent,var(--brass) 25%,var(--pillar-red) 55%,transparent);
}
.footer-main{
  display:grid; grid-template-columns:1.15fr 1.4fr; gap:48px;
  padding:56px 0 48px; align-items:start;
}
.footer-brand{max-width:40ch;}
.footer-logo{
  display:inline-flex; align-items:center;
  background:#fff; border-radius:12px; padding:10px 14px;
  margin-bottom:16px;
  transition:transform .2s var(--ease);
}
.footer-logo:hover{transform:translateY(-2px);}
.footer-logo .logo-img{height:34px; width:auto; display:block;}
.footer-note{
  margin:0 0 22px; font-size:.95rem; line-height:1.55; color:rgba(255,255,255,.78);
}
.footer-cta-row{display:flex; flex-wrap:wrap; gap:10px;}
.footer-ghost{
  border-color:rgba(255,255,255,.28); color:#fff; background:transparent;
}
.footer-ghost:hover{background:#fff; color:var(--ink-black); border-color:#fff;}
.footer-cols{
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px;
}
.footer-col h3{
  margin:0 0 16px; color:#fff;
  font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
}
.footer-col ul{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:10px;
}
.footer-col a{
  color:rgba(255,255,255,.68); font-size:.92rem;
  transition:color .2s, transform .2s;
  display:inline-block;
}
.footer-col a:hover{color:#fff; transform:translateX(3px);}
.footer-contact li{
  display:flex; flex-direction:column; gap:2px;
}
.footer-contact span{
  font-family:var(--font-mono); font-size:.65rem; letter-spacing:.1em;
  text-transform:uppercase; color:rgba(255,255,255,.4);
}
.footer-contact a{font-weight:600; color:#fff;}
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.18);
}
.footer-bottom-inner{
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center;
  gap:12px 20px; padding:18px 0; font-size:.8rem; color:rgba(255,255,255,.45);
}
.footer-bottom-links{display:flex; gap:18px;}
.footer-bottom-links a{color:rgba(255,255,255,.55); font-size:.8rem;}
.footer-bottom-links a:hover{color:#fff;}
@media (max-width:900px){
  .footer-main{grid-template-columns:1fr; gap:36px; padding:44px 0 36px;}
  .footer-cols{grid-template-columns:1fr 1fr; gap:28px 20px;}
}
@media (max-width:560px){
  .footer-cols{grid-template-columns:1fr;}
  .footer-bottom-inner{flex-direction:column; text-align:center;}
}

/* ===== INTRO / SPLASH SCREEN - WORLD OF WORDS EDITION ===== */
#bt-intro{
  position:fixed; inset:0; z-index:99999;
  background:rgb(228, 21, 32);
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  overflow:hidden;
  transition:opacity .7s ease .1s, transform .7s cubic-bezier(.76,0,.24,1) .1s;
}
#bt-intro.is-exiting{ opacity:0; transform:scale(1.04); pointer-events:none; }

/* ── Noise grain ── */
.intro-noise{
  position:absolute; inset:0; pointer-events:none; z-index:1;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.82' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.05'/%3E%3C/svg%3E");
  background-size:180px 180px;
  opacity:.45; mix-blend-mode:screen;
  animation:grainShift .09s steps(1) infinite;
}
@keyframes grainShift{
  0%  { background-position:0 0;    }
  25% { background-position:34px -22px; }
  50% { background-position:-18px 38px; }
  75% { background-position:28px 12px;  }
}

/* ── Radial center glow ── */
.intro-glow{
  position:absolute; inset:0; pointer-events:none; z-index:1;
  background:radial-gradient(ellipse 60% 50% at 50% 50%,rgba(255,255,255,.18) 0%,transparent 70%);
  animation:glowPulse 3s ease-in-out infinite;
}
@keyframes glowPulse{
  0%  { opacity:.6;  transform:scale(1);    }
  50% { opacity:1;   transform:scale(1.08); }
  100%{ opacity:.6;  transform:scale(1);    }
}

/* ── Ambient floating language chars ── */
.intro-floats{
  position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:1;
}
.intro-floats span{
  position:absolute;
  font-family:var(--font-head);
  font-size:clamp(2.4rem,5.5vw,4.6rem);
  font-weight:800;
  color:#fff;
  opacity:.55;
  text-shadow:0 2px 18px rgba(0,0,0,.35);
  animation:floatDrift ease-in-out infinite;
}
.intro-floats span:nth-child(2),
.intro-floats span:nth-child(6),
.intro-floats span:nth-child(10){ opacity:.7; }

.intro-floats span:nth-child(1) {left:7%;  top:12%;animation-duration:8s; animation-delay:0s}
.intro-floats span:nth-child(2) {left:20%; top:78%;animation-duration:11s;animation-delay:1.3s}
.intro-floats span:nth-child(3) {left:80%; top:22%;animation-duration:7s; animation-delay:0.5s}
.intro-floats span:nth-child(4) {left:68%; top:72%;animation-duration:12s;animation-delay:2.2s}
.intro-floats span:nth-child(5) {left:45%; top:90%;animation-duration:9s; animation-delay:0.9s}
.intro-floats span:nth-child(6) {left:90%; top:48%;animation-duration:10s;animation-delay:1.7s}
.intro-floats span:nth-child(7) {left:10%; top:58%;animation-duration:13s;animation-delay:3.1s}
.intro-floats span:nth-child(8) {left:58%; top:8%; animation-duration:9s; animation-delay:0.3s}
.intro-floats span:nth-child(9) {left:33%; top:40%;animation-duration:7s; animation-delay:4.6s}
.intro-floats span:nth-child(10){left:76%; top:85%;animation-duration:11s;animation-delay:2.9s}
.intro-floats span:nth-child(11){left:4%;  top:88%;animation-duration:14s;animation-delay:1.9s}
.intro-floats span:nth-child(12){left:93%; top:8%; animation-duration:8s; animation-delay:3.6s}
@keyframes floatDrift{
  0%   { transform:translateY(0)    rotate(0deg)   scale(1);    opacity:.45; }
  25%  { opacity:.75; }
  50%  { transform:translateY(-30px) rotate(8deg)  scale(1.12); opacity:.6;  }
  75%  { opacity:.8; }
  100% { transform:translateY(0)    rotate(0deg)   scale(1);    opacity:.45; }
}

/* ── Word stage ── */
.intro-word-stage{
  position:absolute; inset:0; z-index:10;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:0; pointer-events:none;
  transition:opacity .35s ease;
}
.intro-word-stage.is-gone{ opacity:0; }

.intro-word-wrap{
  display:flex; flex-direction:column; align-items:center; gap:clamp(10px,2vmin,16px);
}

/* Language label */
.intro-w-lang{
  font-family:var(--font-mono);
  font-size:clamp(.52rem,.85vw,.65rem);
  letter-spacing:.42em;
  color:rgba(255,255,255,.55);
  text-transform:uppercase;
  opacity:0; display:block;
  will-change:opacity,transform;
}
.intro-w-lang.is-active{ animation:langIn .38s ease .2s forwards; }
.intro-w-lang.is-leaving{ animation:langOut .26s ease forwards; }
@keyframes langIn{
  from{ opacity:0; transform:translateY(6px); }
  to{   opacity:1; transform:translateY(0);   }
}
@keyframes langOut{
  from{ opacity:1; }
  to{   opacity:0; }
}

/* Step dots */
.intro-dots{
  display:flex; gap:10px; margin-top:clamp(28px,5vmin,44px);
  opacity:0; animation:pgIn .5s ease .7s forwards;
}
.intro-dot{
  width:7px; height:7px; border-radius:50%;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.28);
  transition:background .35s ease, transform .35s cubic-bezier(.22,.85,.28,1), border-color .35s ease;
}
.intro-dot.is-on{
  background:#fff;
  border-color:#fff;
  transform:scale(1.4);
  box-shadow:0 0 10px rgba(255,255,255,.45);
}

.intro-w{
  position:relative;
  font-family:var(--font-head);
  font-size:clamp(3.2rem,11vw,8.5rem);
  font-weight:800; letter-spacing:.05em;
  color:#fff; text-align:center;
  text-shadow:
    0 0 80px rgba(0,0,0,.25),
    0 0 40px rgba(0,0,0,.18),
    0 2px 24px rgba(0,0,0,.45);
  opacity:0; display:block;
  will-change:transform,opacity,filter;
}
.intro-w.is-active{
  animation:wIn .48s cubic-bezier(.22,.85,.28,1) forwards;
}
.intro-w.is-leaving{
  animation:wOut .32s cubic-bezier(.55,0,.95,.45) forwards;
}
@keyframes wIn{
  0%  { opacity:0; transform:scale(.62) translateY(20px); filter:blur(18px); }
  72% { opacity:1; transform:scale(1.04) translateY(-2px); filter:blur(0); }
  100%{ opacity:1; transform:scale(1)   translateY(0);    filter:blur(0); }
}
@keyframes wOut{
  0%  { opacity:1; transform:scale(1);    filter:blur(0);    }
  40% { opacity:.8; }
  100%{ opacity:0; transform:scale(1.35); filter:blur(16px); }
}

/* ── Brand panel ── */
.intro-brand{
  display:none; flex-direction:column; align-items:center;
  text-align:center; z-index:11; gap:0;
  padding:0 16px; position:relative; overflow:visible;
}
.intro-brand.is-visible{ display:flex; }
.intro-brand.is-visible::before{
  content:'';
  position:fixed; top:0; bottom:0; width:3px;
  background:linear-gradient(180deg,transparent,rgba(255,255,255,.7) 40%,rgba(255,255,255,.7) 60%,transparent);
  filter:blur(4px);
  animation:scanLine .55s cubic-bezier(.4,0,.2,1) 0s forwards;
  pointer-events:none; z-index:20;
}
@keyframes scanLine{
  0%  { left:-5%;  opacity:0; }
  15% { opacity:1; }
  85% { opacity:1; }
  100%{ left:105%; opacity:0; }
}

/* Logo */
.ib-logo-wrap{
  margin-bottom:clamp(18px,3vmin,28px);
  opacity:0;
}
.intro-brand.is-visible .ib-logo-wrap{
  animation:ibLogoIn .6s cubic-bezier(.22,.85,.28,1) .06s forwards;
}
@keyframes ibLogoIn{
  0%  { opacity:0; transform:translateY(-18px) scale(.86); filter:blur(10px); }
  100%{ opacity:1; transform:translateY(0)     scale(1);   filter:blur(0);    }
}
.ib-logo{
  height:clamp(64px,11vmin,96px); width:auto;
  filter:brightness(0) invert(1) drop-shadow(0 0 22px rgba(255,255,255,.2));
  display:block;
}

/* Gold rule */
.ib-rule{
  display:flex; align-items:center; gap:12px;
  width:min(400px,82vw);
  margin-bottom:clamp(10px,1.8vmin,16px);
  opacity:0;
}
.intro-brand.is-visible .ib-rule{
  animation:ibFadeUp .45s ease .55s forwards;
}
.ib-rule-l{
  flex:1; height:1px;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.65),transparent);
}
.ib-rule-gem{
  color:var(--brass); font-size:.58rem; flex-shrink:0;
  filter:drop-shadow(0 0 6px rgba(255,255,255,.7));
}

/* Subtitle */
.ib-sub{
  font-family:var(--font-mono); font-size:clamp(.58rem,.95vw,.72rem);
  letter-spacing:.24em; color:rgba(255,255,255,.42);
  text-transform:uppercase; margin:0 0 clamp(6px,1.2vmin,10px);
  opacity:0;
}
.intro-brand.is-visible .ib-sub{
  animation:ibFadeUp .45s ease .7s forwards;
}

/* Tagline */
.ib-tag{
  font-family:var(--font-head);
  font-size:clamp(1rem,2.5vw,1.35rem);
  font-weight:500; font-style:italic;
  color:rgba(255,255,255,.68); letter-spacing:.02em;
  margin:0 0 clamp(20px,3.5vmin,32px);
  opacity:0;
}
.intro-brand.is-visible .ib-tag{
  animation:ibFadeUp .45s ease .84s forwards;
}

@keyframes ibFadeUp{
  from{ opacity:0; transform:translateY(10px); }
  to{   opacity:1; transform:translateY(0);    }
}

/* Guarantee seal */
.ib-seal{
  position:relative; display:inline-flex;
  justify-content:center; align-items:center;
  opacity:0; transform:translateY(-36px) scale(1.22) rotate(7deg);
}
.intro-brand.is-visible .ib-seal{
  animation:ibSealIn .62s cubic-bezier(.22,.85,.35,1.4) 1.0s forwards;
}
@keyframes ibSealIn{
  0%  { opacity:0; transform:translateY(-36px) scale(1.22) rotate(7deg); }
  60% { opacity:1; transform:translateY(4px)   scale(.96)  rotate(-1deg); }
  100%{ opacity:1; transform:translateY(0)     scale(1)    rotate(0);     }
}
.ib-seal-ring{
  position:absolute; inset:-12px; border-radius:50%;
  border:2px solid rgba(183,32,46,.6); opacity:0; pointer-events:none;
  animation:sPulse 1.8s ease-out 2.2s infinite;
}
.ib-seal-ring--2{ inset:-24px; border-color:rgba(183,32,46,.3); animation-delay:2.6s; }
@keyframes sPulse{
  0%  { opacity:.9; transform:scale(.85); }
  100%{ opacity:0;  transform:scale(1.38); }
}
.intro-guarantee{
  width:clamp(76px,10.5vmin,100px); height:auto; display:block;
  filter:
    drop-shadow(0 0 18px rgba(183,32,46,.75))
    drop-shadow(0 8px 24px rgba(183,32,46,.55));
  animation:sealBob 3.4s ease-in-out 2.3s infinite;
}
@keyframes sealBob{
  0%,100%{ transform:translateY(0)    rotate(-.6deg) scale(1);    }
  50%    { transform:translateY(-7px) rotate(.6deg)  scale(1.02); }
}

/* ── Progress bar (pinned bottom) ── */
.intro-pg{
  position:absolute; bottom:clamp(28px,5vmin,48px);
  left:50%; transform:translateX(-50%);
  width:min(440px,calc(100vw - 40px)); z-index:15;
  opacity:0; animation:pgIn .4s ease .4s forwards;
}
@keyframes pgIn{
  from{ opacity:0; transform:translateX(-50%) translateY(8px); }
  to{   opacity:1; transform:translateX(-50%) translateY(0);   }
}
.intro-pg-head{
  display:flex; justify-content:space-between; align-items:baseline;
  font-family:var(--font-mono); letter-spacing:.14em;
  margin-bottom:12px;
}
.intro-pg-lbl{
  font-size:clamp(.78rem,1.8vw,.95rem);
  color:rgba(255,255,255,.72);
  text-transform:uppercase;
  font-weight:600;
}
#introProgressPct{
  font-family:var(--font-head);
  font-size:clamp(1.35rem,3.6vw,1.85rem);
  font-weight:800; color:#fff; letter-spacing:.02em;
  min-width:4ch; text-align:right;
  text-shadow:0 2px 12px rgba(0,0,0,.25);
}
.intro-pg-track{
  width:100%; height:8px;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.35);
  border-radius:99px; overflow:hidden;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.12);
}
#introProgressBar{
  position:relative; height:100%; width:0%;
  background:linear-gradient(90deg,#fff 0%,#f5f5f5 55%,#fff 100%);
  border-radius:99px;
  box-shadow:0 0 16px rgba(255,255,255,.55), 0 0 32px rgba(255,255,255,.25);
  will-change:width;
}
#introProgressBar::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);
  background-size:200% 100%;
  animation:barShine 1.0s linear infinite;
}
@keyframes barShine{ from{background-position:150% 0} to{background-position:-150% 0} }

@media (prefers-reduced-motion:reduce){ #bt-intro{ display:none !important; } }

/* ============ CONSULTANT / ONLINE EXAM ============ */
.main-nav .nav-consultant{display:none;}

.cons-body{background:var(--paper);}
.cons-main{min-height:calc(100vh - 160px);}
.cons-login-hero{
  padding:120px 0 90px; position:relative; overflow:hidden;
  background:
    linear-gradient(115deg,rgba(6,21,47,.94) 0%,rgba(10,31,68,.8) 55%,rgba(10,31,68,.55) 100%),
    url('../assets/hero.jpg') center/cover no-repeat;
  color:#fff;
}
.cons-login-hero::after{
  content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--brass) 35%,var(--pillar-red) 65%,transparent);
}
.cons-login-grid{
  position:relative; z-index:1;
  display:grid; grid-template-columns:1.1fr .9fr; gap:40px; align-items:center;
}
.cons-login-copy h1{
  color:#fff; font-size:clamp(2.4rem,5vw,3.8rem); line-height:1.05; margin-bottom:14px;
}
.cons-login-copy > p{color:rgba(255,255,255,.72); max-width:40ch; margin-bottom:22px;}
.cons-login-copy .eyebrow{color:var(--brass);}
.cons-login-points{display:flex; flex-direction:column; gap:10px; margin:0; padding:0; list-style:none;}
.cons-login-points li{
  position:relative; padding-left:18px; color:rgba(255,255,255,.78); font-size:.95rem;
}
.cons-login-points li::before{
  content:''; position:absolute; left:0; top:.55em; width:7px; height:7px; border-radius:50%;
  background:var(--pillar-red);
}
.cons-login-points strong{color:#fff;}
.cons-login-card{
  background:#fff; border-radius:var(--radius); padding:32px 28px;
  box-shadow:var(--shadow-soft); border:1px solid var(--fog-line); position:relative; overflow:hidden;
}
.cons-login-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--brass),var(--pillar-red));
}
.cons-login-card h2{font-size:1.45rem; margin-bottom:10px;}
.cons-login-card-note{margin:0 0 16px; font-size:.9rem; color:var(--ink-muted);}
.cons-login-or{
  margin:0 0 14px; text-align:center;
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-muted);
}
.cons-login-card .field{display:flex; flex-direction:column; gap:6px; margin-bottom:14px;}
.cons-login-card .field input{
  width:100%; box-sizing:border-box;
}
.cons-demo-hint{
  margin:16px 0 0; font-size:.78rem; color:var(--ink-muted);
}
.cons-demo-hint code{
  font-family:var(--font-mono); background:var(--paper); padding:2px 6px; border-radius:4px;
  color:var(--ink-black);
}
.exam-demo-score{
  margin:0 0 18px; padding:12px 14px; border-radius:10px;
  background:var(--paper); border:1px solid var(--fog-line);
  color:var(--ink-black); font-size:.92rem;
}

/* ===== Consultant dashboard ===== */
.cons-dash-hero{
  position:relative; overflow:hidden; color:#fff;
  padding:120px 0 56px;
  background:
    linear-gradient(120deg,rgba(6,21,47,.96) 0%,rgba(10,31,68,.82) 48%,rgba(10,31,68,.55) 100%),
    url('../assets/hero.jpg') center/cover no-repeat;
}
.cons-dash-hero::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 42% 55% at 90% 12%,rgba(183,32,46,.28),transparent 58%),
    radial-gradient(ellipse 35% 45% at 8% 88%,rgba(0,0,0,.16),transparent 55%);
}
.cons-dash-hero::after{
  content:''; position:absolute; bottom:0; left:0; right:0; height:2px;
  background:linear-gradient(90deg,transparent,var(--brass) 35%,var(--pillar-red) 65%,transparent);
}
.cons-dash-hero-inner{position:relative; z-index:1; max-width:820px;}
.cons-dash-hero .eyebrow{color:var(--brass);}
.cons-dash-hero h1{
  color:#fff; font-size:clamp(2.4rem,5.2vw,3.8rem); line-height:1.05;
  margin:0 0 14px; letter-spacing:-.02em;
}
.cons-dash-lede{
  margin:0 0 28px; max-width:48ch; color:rgba(255,255,255,.72); font-size:1.02rem;
}
.cons-dash-lede strong{color:#fff;}
.cons-demo-chip{
  display:inline-flex; align-items:center; margin:0 0 14px;
  padding:7px 12px; border-radius:999px;
  border:1px solid rgba(255,255,255,.45);
  background:rgba(255,255,255,.14);
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--brass);
}
.cons-dash-stats{
  display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px;
  padding-top:22px; border-top:1px solid rgba(255,255,255,.14);
}
.cons-dash-stats div{
  padding:14px 12px 10px; border-radius:12px;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.1);
}
.cons-dash-stats strong{
  display:block; font-family:var(--font-head); font-size:1.7rem; color:#fff;
  line-height:1.1; margin-bottom:4px;
}
.cons-dash-stats span{
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.08em;
  text-transform:uppercase; color:rgba(255,255,255,.62);
}
.cons-dash-marquee{border-bottom:1px solid var(--fog-line);}

.cons-dash-flow{
  padding:28px 0; background:#fff; border-bottom:1px solid var(--fog-line);
}
.cons-flow-steps{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:18px;
}
.cons-flow-steps li{
  display:flex; flex-direction:column; gap:4px;
  padding:6px 4px 6px 0;
}
.cons-flow-num{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.14em;
  color:var(--brass); font-weight:600;
}
.cons-flow-steps strong{
  font-family:var(--font-head); font-size:1.15rem; color:var(--ink-black); font-weight:600;
}
.cons-flow-steps span{font-size:.88rem; color:var(--ink-muted);}

.cons-panel-body{
  padding:64px 0 100px;
  background:
    radial-gradient(ellipse 45% 35% at 0% 0%,rgba(0,0,0,.07),transparent 55%),
    var(--paper);
}
.cons-section-head{margin-bottom:28px;}
.cons-section-head--row{
  display:flex; align-items:flex-end; justify-content:space-between; gap:20px; flex-wrap:wrap;
}
.cons-section-head h2{font-size:clamp(1.6rem,3vw,2.3rem); margin-bottom:6px;}
.cons-section-head p{margin:0; max-width:42ch;}

.cons-cat-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-bottom:64px;
}
.cons-cat{
  position:relative; overflow:hidden;
  background:#fff; border:1px solid rgba(183,32,46,.08); border-radius:18px;
  padding:26px 22px 22px;
  box-shadow:0 18px 44px -34px rgba(183,32,46,.45);
  transition:transform .28s var(--ease), box-shadow .28s var(--ease);
}
.cons-cat:hover{
  transform:translateY(-4px);
  box-shadow:0 28px 56px -34px rgba(183,32,46,.5);
}
.cons-cat::before{
  content:''; position:absolute; top:0; left:0; right:0; height:4px;
  background:linear-gradient(90deg,var(--brass),var(--pillar-red));
}
.cons-cat--kids::before{background:linear-gradient(90deg,#0f766e,#14b8a6);}
.cons-cat--teens::before{background:linear-gradient(90deg,var(--brass),#d4a85a);}
.cons-cat--adults::before{background:linear-gradient(90deg,var(--pillar-red-dark),var(--pillar-red));}
.cons-cat-head{
  display:flex; align-items:flex-start; gap:14px; margin-bottom:14px;
}
.cons-cat-mark{
  flex-shrink:0; width:48px; height:48px; border-radius:14px;
  display:grid; place-items:center;
  font-family:var(--font-head); font-size:1.35rem; font-weight:700; color:#fff;
  background:var(--ink-navy);
}
.cons-cat--kids .cons-cat-mark{background:linear-gradient(145deg,#0f766e,#115e59);}
.cons-cat--teens .cons-cat-mark{background:linear-gradient(145deg,#000000,var(--brass));}
.cons-cat--adults .cons-cat-mark{background:linear-gradient(145deg,var(--pillar-red-dark),var(--pillar-red));}
.cons-cat-kicker{
  margin:0 0 4px; font-family:var(--font-mono); font-size:.68rem;
  letter-spacing:.12em; text-transform:uppercase; color:var(--ink-muted);
}
.cons-cat-head h2{font-size:1.7rem; margin:0 0 4px; line-height:1.1;}
.cons-cat-hint{margin:0; font-size:.84rem; color:var(--ink-muted); max-width:28ch;}
.cons-cat-count{
  display:inline-flex; margin-bottom:14px; padding:5px 10px; border-radius:999px;
  font-family:var(--font-mono); font-size:.68rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-black); background:var(--paper); border:1px solid var(--fog-line);
}
.cons-level-grid{display:flex; flex-direction:column; gap:8px;}
.cons-level-btn{
  display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:12px;
  padding:12px 14px; border-radius:12px; border:1px solid var(--fog-line);
  background:var(--paper); transition:background .2s, border-color .2s, transform .2s, box-shadow .2s;
}
.cons-level-btn:hover{
  background:#fff; border-color:rgba(0,0,0,.55);
  transform:translateX(3px); box-shadow:0 10px 24px -18px rgba(183,32,46,.35);
}
.cons-level-idx{
  font-family:var(--font-mono); font-size:.72rem; letter-spacing:.08em; color:var(--brass);
}
.cons-level-label{font-weight:700; color:var(--ink-black); font-size:.95rem;}
.cons-level-cta{
  font-family:var(--font-mono); font-size:.7rem; letter-spacing:.06em; text-transform:uppercase;
  color:var(--pillar-red); white-space:nowrap;
}

.cons-recent-block{margin-top:8px;}
.cons-recent-layout{
  display:grid; grid-template-columns:.85fr 1.15fr; gap:28px; align-items:stretch;
}
.cons-recent-copy{
  background:var(--ink-navy); color:#fff; border-radius:18px; padding:32px 28px;
  position:relative; overflow:hidden;
}
.cons-recent-copy::before{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:
    radial-gradient(ellipse 50% 50% at 100% 0%,rgba(183,32,46,.28),transparent 55%),
    radial-gradient(ellipse 40% 40% at 0% 100%,rgba(0,0,0,.16),transparent 50%);
}
.cons-recent-copy > *{position:relative; z-index:1;}
.cons-recent-copy .eyebrow{color:var(--brass);}
.cons-recent-copy h2{color:#fff; font-size:clamp(1.5rem,2.8vw,2rem); margin-bottom:10px;}
.cons-recent-copy > p{color:rgba(255,255,255,.7); margin:0 0 18px; max-width:34ch;}
.cons-recent-points{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
.cons-recent-points li{
  position:relative; padding-left:16px; font-size:.9rem; color:rgba(255,255,255,.78);
}
.cons-recent-points li::before{
  content:''; position:absolute; left:0; top:.55em; width:7px; height:7px; border-radius:50%;
  background:var(--pillar-red);
}
.cons-recent{
  background:#fff; border:1px solid var(--fog-line); border-radius:18px;
  padding:22px 20px; box-shadow:0 18px 44px -34px rgba(183,32,46,.4);
  min-height:280px;
}
.cons-empty{margin:0; color:var(--ink-muted);}
.cons-empty-card{
  height:100%; min-height:240px; display:flex; flex-direction:column;
  align-items:flex-start; justify-content:center; gap:8px; padding:12px;
}
.cons-empty-mark{
  font-family:var(--font-head); font-size:2rem; font-weight:700;
  color:rgba(183,32,46,.12); line-height:1; margin-bottom:4px;
}
.cons-empty-card strong{color:var(--ink-black); font-size:1.15rem;}
.cons-empty-card p{margin:0; color:var(--ink-muted); max-width:32ch; font-size:.9rem;}
.cons-recent-list{list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px;}
.cons-recent-list li{
  display:grid; grid-template-columns:64px 1fr auto; gap:14px; align-items:center;
  padding:12px; border-radius:12px; border:1px solid var(--fog-line); background:var(--paper);
}
.cons-recent-score{
  width:64px; height:64px; border-radius:14px;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  background:var(--ink-navy); color:#fff;
}
.cons-recent-score strong{
  font-family:var(--font-head); font-size:1.05rem; line-height:1; color:#fff;
}
.cons-recent-score span{
  font-family:var(--font-mono); font-size:.62rem; letter-spacing:.04em;
  color:rgba(255,255,255,.65); margin-top:3px;
}
.cons-recent-meta{display:flex; flex-direction:column; gap:2px; min-width:0;}
.cons-recent-meta strong{color:var(--ink-black); font-size:.95rem;}
.cons-recent-meta span{color:var(--ink-muted); font-size:.84rem;}
.cons-recent-meta em{
  font-style:normal; font-family:var(--font-mono); font-size:.7rem;
  letter-spacing:.04em; color:var(--brass);
}
.cons-mail-btn{flex-shrink:0;}
.cons-recent-note{margin:14px 0 0; font-size:.78rem; color:var(--ink-muted);}

.exam-main{padding:100px 0 80px;}
.cons-card{
  max-width:720px; margin:0 auto; background:#fff; border:1px solid var(--fog-line);
  border-radius:var(--radius); padding:36px 32px; box-shadow:var(--shadow-soft);
  position:relative; overflow:hidden;
}
.cons-card::before{
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(90deg,var(--brass),var(--pillar-red));
}
.cons-card--center{text-align:center;}
.cons-card--center .exam-done-actions{justify-content:center;}
.exam-gate h1,.exam-shell .exam-title{font-size:clamp(1.6rem,3vw,2.2rem); margin-bottom:10px;}
.exam-gate > p{margin-bottom:22px;}
.exam-gate-form .field{display:block; margin-bottom:16px;}
.exam-gate-actions,.exam-done-actions{
  display:flex; flex-wrap:wrap; gap:12px; margin-top:8px;
}
.exam-done-hint{margin:18px 0 0; font-size:.82rem;}
.exam-top{
  display:flex; justify-content:space-between; gap:20px; align-items:flex-start;
  margin-bottom:28px; padding-bottom:20px; border-bottom:1px solid var(--fog);
}
.exam-student{margin:0; font-size:.9rem;}
.exam-progress-meta{min-width:140px; text-align:right;}
.exam-progress-meta span{
  font-family:var(--font-mono); font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-muted);
}
.exam-progress-bar{
  margin-top:8px; height:6px; border-radius:99px; background:var(--fog); overflow:hidden;
}
.exam-progress-bar i{
  display:block; height:100%; background:linear-gradient(90deg,var(--brass),var(--pillar-red));
  border-radius:99px;
}
.exam-question{text-align:left;}
.exam-nav{margin-top:28px;}
.exam-nav .btn:disabled{opacity:.45; cursor:not-allowed;}

@media (max-width:960px){
  .cons-login-grid{grid-template-columns:1fr; gap:28px;}
  .cons-dash-hero{padding:110px 0 48px;}
  .cons-dash-stats{grid-template-columns:repeat(2,1fr);}
  .cons-flow-steps{grid-template-columns:1fr; gap:14px;}
  .cons-cat-grid{grid-template-columns:1fr;}
  .cons-recent-layout{grid-template-columns:1fr;}
  .cons-recent-list li{grid-template-columns:56px 1fr; gap:10px;}
  .cons-recent-list li .cons-mail-btn{grid-column:1 / -1;}
  .exam-top{flex-direction:column;}
  .exam-progress-meta{text-align:left; width:100%;}
  .cons-card{padding:28px 20px;}
}
@media (max-width:560px){
  .cons-dash-stats{grid-template-columns:1fr 1fr;}
  .cons-dash-stats strong{font-size:1.4rem;}
  .cons-section-head--row .btn{display:none;}
}

/* ============ HOMEPAGE: white canvas (footer excluded) ============ */
body.page-home{
  background:#fff;
}
body.page-home .site-header,
body.page-home .site-header.scrolled{
  background:rgba(255,255,255,.86);
  border-bottom-color:rgba(201,208,221,.65);
}
body.page-home .site-header.scrolled{
  background:rgba(255,255,255,.96);
}
body.page-home .about-story,
body.page-home .about-story-visual,
body.page-home .about-story-copy,
body.page-home .programs,
body.page-home .games-teaser,
body.page-home .cta-banner{
  background:#fff !important;
}
body.page-home .about-story-copy{
  background:linear-gradient(180deg,#fff 0%, #fff 100%) !important;
}
body.page-home .about-story-visual{
  color:var(--ink-black);
}
body.page-home .about-story-visual::before{
  background:
    radial-gradient(circle at 30% 20%,rgba(183,32,46,.12),transparent 45%),
    radial-gradient(circle at 80% 80%,rgba(10,31,68,.06),transparent 40%);
}
body.page-home .about-year-mark{color:rgba(10,31,68,.08);}
body.page-home .about-story-visual-copy .eyebrow{color:var(--pillar-red);}
body.page-home .about-story-visual-copy h2{color:var(--ink-black);}
body.page-home .about-story-visual-copy p{color:var(--ink-muted);}

/* Programs on white */
body.page-home .programs-head h2{color:var(--ink-black);}
body.page-home .programs .eyebrow--dark{color:var(--pillar-red);}
body.page-home .programs-lead{color:var(--ink-muted);}
body.page-home .programs-rule{
  background:linear-gradient(90deg, var(--pillar-red) 0%, rgba(10,31,68,.25) 100%);
}
body.page-home .programs-deco{opacity:.35;}
body.page-home .prog-home-card{
  background:#fff;
  border-color:rgba(10,31,68,.1);
}

/* Timeline on brand red (homepage variant) */
body.page-home .about-timeline{
  background:
    radial-gradient(ellipse 50% 40% at 50% 0%, rgba(255,255,255,.12), transparent 55%),
    rgb(228, 21, 32) !important;
}
body.page-home .about-timeline-glow{
  background:radial-gradient(ellipse at 50% 100%, rgba(0,0,0,.18), transparent 60%);
}
body.page-home .about-timeline-rail-fill{
  background:linear-gradient(90deg, #fff, rgba(255,255,255,.85));
  box-shadow:0 0 18px rgba(255,255,255,.35);
}
body.page-home .about-timeline-node{
  background:#fff;
  border-color:rgba(255,255,255,.95);
  box-shadow:0 0 0 6px rgba(255,255,255,.22), 0 8px 20px rgba(0,0,0,.2);
}
body.page-home .about-timeline-card{
  background:rgba(255,255,255,.12);
  border-color:rgba(255,255,255,.22);
}
body.page-home .about-year{
  background:rgba(255,255,255,.95);
  color:rgb(228,21,32);
}
body.page-home .home-about-timeline .btn-outline{
  border-color:#fff; color:#fff;
}
body.page-home .home-about-timeline .btn-outline:hover{
  background:#fff; color:rgb(228, 21, 32); border-color:#fff;
}

/* Games teaser + CTA on white */
body.page-home .games-teaser{border-top:1px solid var(--fog-line);}
body.page-home .games-teaser .eyebrow{color:var(--pillar-red);}
body.page-home .games-teaser h2{color:var(--ink-black);}
body.page-home .games-teaser p{color:var(--ink-muted);}
body.page-home .cta-banner{color:var(--ink-black);}
body.page-home .cta-banner h2{color:var(--ink-black);}
body.page-home .cta-banner p{color:var(--ink-muted);}

/* Keep footer dark as-is */

/* ============ RESPONSIVE HARDENING ============ */
html{
  max-width:100%;
}
body{
  max-width:100%;
}
body.nav-open{
  overflow:hidden;
}
body.nav-open .site-header{
  z-index:300;
}
img, video, iframe, canvas{
  max-width:100%;
}
.wrap{
  padding-left:max(16px, env(safe-area-inset-left));
  padding-right:max(16px, env(safe-area-inset-right));
}

@media (max-width:1100px){
  .main-nav .nav-mobile-cta{
    display:inline-flex !important;
    margin-top:16px;
    width:100%;
    justify-content:center;
    padding:14px 18px;
    font-size:.95rem;
    border-radius:12px;
  }
  .main-nav .nav-mobile-cta .btn-full-label{display:inline;}
  .main-nav .nav-mobile-cta .btn-short-label{display:none;}
}

@media (max-width:900px){
  .hero{
    min-height:auto;
  }
  .hero-content{
    margin-left:0;
    padding:20px 0 72px;
  }
  .hero-copy h1{
    font-size:clamp(1.85rem, 8.2vw, 2.7rem);
    word-break:break-word;
  }
  .hero-lede{font-size:.95rem;}
  .hero-actions{
    flex-direction:column;
    align-items:stretch;
    gap:10px;
  }
  .hero-actions .btn{
    width:100%;
    justify-content:center;
    white-space:normal;
  }
  .hero-guarantee-wrap{
    top:10px;
    right:max(10px, env(safe-area-inset-right));
    width:clamp(64px, 18vw, 88px);
  }
  .hero-scroll{display:none;}
  .programs-page-intro-inner{grid-template-columns:1fr; gap:24px;}
  .cta-banner .cta-inner,
  .cta-inner{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width:700px){
  .header-inner{height:58px; gap:10px;}
  .site-header.scrolled .header-inner{height:52px;}
  .logo-img{height:28px;}
  .btn{white-space:normal; text-align:center;}
  .header-actions .btn{white-space:nowrap; text-align:center;}
  input, select, textarea{font-size:16px !important;}
  .about-hero h1,
  .page-hero h1,
  .programs-page-hero h1,
  .contact-hero h1,
  .branch-hero h1,
  .games-hero h1{
    font-size:clamp(1.7rem, 8vw, 2.3rem);
  }
  .about-hero-actions,
  .branch-hero-actions,
  .contact-hero-actions,
  .games-hero-cta{
    flex-wrap:wrap;
    justify-content:center;
  }
  .about-hero-actions .btn,
  .branch-hero-actions .btn,
  .contact-hero-actions .btn{
    width:100%;
    max-width:320px;
    justify-content:center;
  }
  .mini-contact{
    width:min(100vw - 12px, 340px);
    bottom:max(14px, env(safe-area-inset-bottom));
  }
  .mini-contact.is-open .mini-contact-panel{
    max-height:min(62vh, 480px);
  }
  .footer-cta-row{flex-direction:column; align-items:stretch;}
  .footer-cta-row .btn{width:100%; justify-content:center;}
  .footer-col a:hover{transform:none;}
  .intro-floats span{font-size:clamp(1.6rem, 8vw, 2.4rem);}
  .intro-w{font-size:clamp(2.1rem, 12vw, 3.2rem) !important;}
  .ib-logo, .ib-logo-wrap img{max-width:min(220px, 70vw); height:auto;}
}

@media (max-width:480px){
  .wrap{padding-left:max(14px, env(safe-area-inset-left)); padding-right:max(14px, env(safe-area-inset-right));}
  .hero-booth{width:clamp(112px, 42vw, 140px);}
  .hero-stats{gap:6px; font-size:.58rem;}
  .hero-callbox__menu{width:min(280px, calc(100vw - 24px));}
  .whatsapp-float{
    right:max(12px, env(safe-area-inset-right));
    bottom:max(14px, env(safe-area-inset-bottom));
  }
  body:has(.mini-contact) .whatsapp-float{
    bottom:max(72px, calc(env(safe-area-inset-bottom) + 58px));
  }
  .contact-card,
  .cons-card{padding:22px 16px;}
  .games-grid{grid-template-columns:1fr;}
}

@media (hover:none){
  .prog-viz:hover,
  .prog-home-card:hover,
  .pc-cat-card:hover,
  .pc-ex-card:hover{
    transform:none;
  }
  .btn:hover span{transform:none;}
}

@media (max-width:1100px) and (orientation:landscape){
  .hero{min-height:auto;}
  .hero-content{padding-top:20px; padding-bottom:40px;}
  .main-nav{padding-top:16px;}
}

.prog-detail-hero{
  background:linear-gradient(155deg,#020c1e 0%,#0A1F44 55%,#091a3a 100%);
  padding:128px 0 56px; color:#fff;
}
.prog-detail-hero-inner{max-width:760px;}
.prog-detail-crumb{
  display:flex; flex-wrap:wrap; gap:8px; align-items:center;
  font-size:.78rem; color:rgba(255,255,255,.55); margin-bottom:18px;
}
.prog-detail-crumb a{color:rgba(255,255,255,.7); text-decoration:none;}
.prog-detail-crumb a:hover{color:#fff;}
.prog-detail-hero h1{
  color:#fff;
  font-size:clamp(1.8rem,4.4vw,3rem); line-height:1.15; margin:8px 0 16px;
}
.prog-detail-hero .eyebrow{color:#fff;}
.prog-detail-lede{color:rgba(255,255,255,.78); font-size:1.05rem; max-width:62ch; margin:0 0 24px;}
.prog-detail-actions{display:flex; flex-wrap:wrap; gap:12px; margin-bottom:22px;}
.prog-detail-ghost{border-color:rgba(255,255,255,.35); color:#fff;}
.prog-detail-ghost:hover{background:#fff; color:#0A1F44;}
.prog-detail-nap{
  list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px 18px;
  font-size:.82rem; color:rgba(255,255,255,.62);
}
.prog-detail-nap a{color:#fff;}
.prog-detail-article{padding:56px 0 24px; background:#fff;}
.prog-detail-layout{
  display:grid; grid-template-columns:minmax(0,1fr) 280px; gap:40px; align-items:start;
}
.prog-detail-main p{color:#3b4453; line-height:1.7; margin:0 0 16px;}
.prog-detail-main h2{font-size:clamp(1.25rem,2.4vw,1.7rem); margin:32px 0 12px; color:#0A1F44;}
.prog-detail-figure{margin:0 0 28px; border-radius:16px; overflow:hidden;}
.prog-detail-figure img{display:block; width:100%; height:auto;}
.prog-detail-list{margin:0 0 8px; padding-left:1.2rem; color:#3b4453; line-height:1.65;}
.prog-detail-list li{margin-bottom:8px;}
.prog-detail-card{
  position:sticky; top:96px;
  background:#0A1F44; color:#fff; border-radius:16px; padding:22px 20px;
}
.prog-detail-card h2{font-size:1.2rem; margin:0 0 10px; color:#fff;}
.prog-detail-card p{color:rgba(255,255,255,.75); font-size:.92rem; margin:0 0 14px;}
.prog-detail-card .btn{width:100%; margin-bottom:8px; justify-content:center;}
.prog-detail-card .btn-outline{
  border-color:rgba(255,255,255,.45); color:#fff; background:transparent;
}
.prog-detail-card .btn-outline:hover{
  background:#fff; color:#0A1F44; border-color:#fff;
}
.prog-detail-aside-note{font-size:.75rem; margin-top:10px !important;}
.prog-detail-faq{padding:48px 0; background:#f6f7fb;}
.prog-detail-faq h2{margin:0 0 22px; color:#0A1F44;}
.prog-detail-faq-list{display:grid; gap:10px; max-width:800px;}
.prog-detail-faq-item{
  background:#fff; border:1px solid #e6e9f0; border-radius:12px; padding:4px 16px 4px;
}
.prog-detail-faq-item summary{
  cursor:pointer; font-weight:700; color:#0A1F44; padding:12px 0; list-style:none;
}
.prog-detail-faq-item p{margin:0 0 14px; color:#4b5563; line-height:1.6;}
.prog-detail-related{padding:48px 0 72px; background:#fff;}
.prog-detail-related h2{margin:0 0 20px; color:#0A1F44;}
.prog-detail-related-grid{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px;
}
.prog-detail-related-grid a{
  display:block; text-decoration:none; color:#0A1F44;
  border:1px solid #e6e9f0; border-radius:12px; padding:16px 16px 14px;
}
.prog-detail-related-grid a:hover{border-color:#B7202E;}
.prog-detail-related-grid span{
  display:block; font-size:.72rem; letter-spacing:.06em; text-transform:uppercase;
  color:#B7202E; margin-bottom:6px;
}
@media (max-width:860px){
  .prog-detail-layout{grid-template-columns:1fr;}
  .prog-detail-card{position:static;}
  .prog-detail-related-grid{grid-template-columns:1fr;}
  .prog-detail-hero{padding:110px 0 40px;}
}

/* ============ ŞUBE GALERİSİ ============ */
.sube-gallery{
  padding:72px 0 80px;
  background:
    radial-gradient(ellipse 70% 50% at 0% 0%, rgba(183,32,46,.06), transparent 55%),
    #f6f7fb;
}
.sube-gallery-head{max-width:640px; margin:0 0 32px;}
.sube-gallery-head h2{margin:0 0 10px;}
.sube-gallery-head p{color:#5b6472; margin:0; max-width:52ch;}
.sube-bento{
  display:grid;
  grid-template-columns:1.45fr 1fr 1fr;
  grid-template-rows:minmax(220px,32vh) minmax(160px,22vh);
  gap:12px;
}
.sube-gallery--about .sube-bento{
  grid-template-columns:1.35fr 1fr 1fr 1fr;
  grid-template-rows:minmax(240px,34vh) minmax(170px,22vh);
}
.sube-shot{
  position:relative; display:block; width:100%; height:100%;
  padding:0; border:0; border-radius:16px; overflow:hidden; cursor:zoom-in;
  background:#0A1F44; isolation:isolate; font:inherit; color:inherit;
}
.sube-shot--hero{grid-row:1 / span 2;}
.sube-shot img{
  width:100%; height:100%; object-fit:cover; display:block;
  transform:scale(1.02); transition:transform .7s cubic-bezier(.22,1,.36,1), filter .4s;
  filter:saturate(1.04);
}
.sube-shot::after{
  content:''; position:absolute; inset:0;
  background:linear-gradient(180deg,transparent 42%, rgba(6,21,47,.72) 100%);
  pointer-events:none;
}
.sube-shot:hover img,
.sube-shot:focus-visible img{transform:scale(1.08);}
.sube-shot:focus-visible{outline:3px solid #B7202E; outline-offset:3px;}
.sube-shot-meta{
  position:absolute; left:14px; right:14px; bottom:12px; z-index:1;
  display:flex; align-items:baseline; gap:10px; text-align:left; color:#fff;
}
.sube-shot-meta em{
  font-family:var(--font-mono); font-style:normal; font-size:.68rem;
  letter-spacing:.12em; color:rgba(255,255,255,.7);
}
.sube-shot-meta strong{
  font-family:var(--font-head); font-size:.92rem; font-weight:700; letter-spacing:.01em;
}
.sube-lightbox{
  position:fixed; inset:0; z-index:80;
  align-items:center; justify-content:center;
  background:rgba(6,21,47,.88); padding:24px;
}
.sube-lightbox[hidden]{display:none !important;}
.sube-lightbox.is-open{display:flex;}
.sube-lightbox img{
  max-width:min(1100px,92vw); max-height:82vh; width:auto; height:auto;
  border-radius:14px; box-shadow:0 24px 80px rgba(0,0,0,.4);
}
.sube-lightbox-caption{
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%);
  color:#fff; font-size:.9rem; text-align:center; max-width:70ch;
}
.sube-lightbox-close,
.sube-lightbox-nav{
  position:absolute; border:0; background:rgba(255,255,255,.12); color:#fff;
  width:44px; height:44px; border-radius:50%; cursor:pointer; font-size:1.4rem;
  display:flex; align-items:center; justify-content:center;
}
.sube-lightbox-close{top:20px; right:20px;}
.sube-lightbox-nav.prev{left:16px; top:50%; transform:translateY(-50%);}
.sube-lightbox-nav.next{right:16px; top:50%; transform:translateY(-50%);}
.sube-lightbox-close:hover,
.sube-lightbox-nav:hover{background:#B7202E;}
@media (max-width:900px){
  .sube-bento,
  .sube-gallery--about .sube-bento{
    grid-template-columns:1fr 1fr;
    grid-template-rows:none;
  }
  .sube-shot--hero{grid-column:1 / -1; min-height:240px;}
  .sube-shot{min-height:180px;}
}
@media (max-width:560px){
  .sube-bento,
  .sube-gallery--about .sube-bento{grid-template-columns:1fr; gap:10px;}
  .sube-shot{min-height:200px; border-radius:14px;}
  .sube-lightbox-nav{display:none;}
}
@media (prefers-reduced-motion:reduce){
  .sube-shot img{transition:none;}
  .sube-shot:hover img{transform:none;}
}


/* ============ BLOG VE FİYATLAR ============ */
.blog-list a{display:flex; flex-direction:column; gap:4px; font-weight:700; line-height:1.35;}
.blog-list-desc{display:block; font-weight:400; font-size:.9rem; color:#4b5563; line-height:1.5; margin-top:4px;}
.blog-sources{font-size:.85rem; color:#6b7280;}
.blog-sources a{color:#B7202E;}
.prog-detail-main a{color:#B7202E; text-underline-offset:2px;}

/* ============ BLOG (v2) ============ */
.bt-blog-hero{padding-bottom:64px;}
.bt-blog-hero__meta{
  display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px;
  font-size:.82rem; color:rgba(255,255,255,.72); margin:0 0 14px;
}
.bt-blog-pill{
  display:inline-flex; align-items:center; padding:5px 11px; border-radius:999px;
  background:var(--pillar-red); color:#fff; font-size:.7rem; font-weight:700;
  letter-spacing:.06em; text-transform:uppercase; line-height:1;
}
.bt-blog-pill--light{background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.22);}

/* Filtre */
.bt-blog-filter{display:flex; flex-wrap:wrap; gap:8px; margin-top:26px;}
.bt-blog-filter button{
  font:inherit; font-size:.82rem; font-weight:600; cursor:pointer;
  padding:8px 16px; border-radius:999px; color:#fff;
  background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.22);
  transition:background .2s var(--ease), border-color .2s var(--ease);
}
.bt-blog-filter button:hover{border-color:rgba(255,255,255,.5);}
.bt-blog-filter button.is-active{background:#fff; color:var(--ink-navy); border-color:#fff;}

/* Liste */
.bt-blog-index{padding:56px 0 80px; background:var(--paper);}
.bt-blog-grid{
  display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px;
}
.bt-blog-card{
  display:flex; flex-direction:column; background:#fff; border-radius:18px;
  overflow:hidden; border:1px solid var(--fog);
  box-shadow:0 1px 2px rgba(10,31,68,.04);
  transition:transform .25s var(--ease), box-shadow .25s var(--ease), border-color .25s var(--ease);
}
.bt-blog-card:hover{transform:translateY(-4px); box-shadow:var(--shadow-soft); border-color:transparent;}
.bt-blog-card[hidden]{display:none;}
.bt-blog-card__media{position:relative; display:block; aspect-ratio:16/10; overflow:hidden; background:var(--fog);}
.bt-blog-card__media img{width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s var(--ease);}
.bt-blog-card:hover .bt-blog-card__media img{transform:scale(1.04);}
.bt-blog-card__media .bt-blog-pill{position:absolute; left:14px; top:14px; box-shadow:0 4px 12px rgba(0,0,0,.18);}
.bt-blog-card__body{display:flex; flex-direction:column; flex:1; padding:20px 22px 22px;}
.bt-blog-meta{display:flex; gap:8px; align-items:center; font-size:.78rem; color:#5b6477; margin:0 0 10px;}
.bt-blog-card__title{font-size:1.08rem; line-height:1.35; margin:0 0 10px; color:var(--ink-navy);}
.bt-blog-card__title a{color:inherit; text-decoration:none;}
.bt-blog-card__title a:hover{color:var(--pillar-red);}
.bt-blog-card__excerpt{
  font-size:.9rem; line-height:1.6; color:#4b5563; margin:0 0 18px;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.bt-blog-card__more{
  margin-top:auto; font-size:.86rem; font-weight:700; color:var(--pillar-red); text-decoration:none;
}
.bt-blog-card__more span{display:inline-block; transition:transform .2s var(--ease);}
.bt-blog-card:hover .bt-blog-card__more span{transform:translateX(4px);}

.bt-blog-card--featured{flex-direction:row; margin-bottom:28px;}
.bt-blog-card--featured .bt-blog-card__media{flex:0 0 56%; aspect-ratio:auto; min-height:340px;}
.bt-blog-card--featured .bt-blog-card__body{padding:36px 40px; justify-content:center;}
.bt-blog-card--featured .bt-blog-card__title{font-size:1.6rem; line-height:1.25;}
.bt-blog-card--featured .bt-blog-card__excerpt{font-size:1rem; -webkit-line-clamp:4;}
.bt-blog-card--featured .bt-blog-card__more{margin-top:8px;}
.bt-blog-empty{text-align:center; color:#5b6477; padding:24px 0;}

/* Yazı sayfası */
.bt-blog-progress{position:fixed; top:0; left:0; right:0; height:3px; z-index:2000; pointer-events:none;}
.bt-blog-progress span{display:block; height:100%; background:var(--pillar-red); transform:scaleX(0); transform-origin:0 50%;}
.bt-blog-layout{
  display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:56px; align-items:start;
  padding-bottom:64px;
}
.bt-blog-main{min-width:0;}
.bt-blog-figure{margin:-40px 0 32px; border-radius:20px; overflow:hidden; box-shadow:var(--shadow-soft); background:var(--fog);}
.bt-blog-figure img{display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:cover;}
.bt-blog-content{font-size:1.02rem; line-height:1.8; color:#1f2937; max-width:720px;}
.bt-blog-content h2{
  font-size:1.45rem; line-height:1.3; color:var(--ink-navy);
  margin:44px 0 14px; scroll-margin-top:110px;
}
.bt-blog-content h2:first-child{margin-top:0;}
.bt-blog-content p{margin:0 0 16px;}
.bt-blog-content a{color:var(--pillar-red); text-underline-offset:3px; font-weight:600;}
.bt-blog-list,.bt-blog-steps{margin:0 0 20px; padding:0; list-style:none;}
.bt-blog-list li{position:relative; padding-left:26px; margin-bottom:10px;}
.bt-blog-list li::before{
  content:""; position:absolute; left:4px; top:.72em; width:8px; height:8px;
  border-radius:50%; background:var(--pillar-red);
}
.bt-blog-steps{counter-reset:step;}
.bt-blog-steps li{position:relative; padding-left:44px; margin-bottom:14px; counter-increment:step;}
.bt-blog-steps li::before{
  content:counter(step); position:absolute; left:0; top:.1em; width:30px; height:30px;
  border-radius:50%; background:var(--ink-navy); color:#fff; font-size:.85rem; font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.bt-blog-table-wrap{overflow-x:auto; margin:4px 0 22px; border:1px solid var(--fog); border-radius:14px;}
.bt-blog-table{width:100%; border-collapse:collapse; font-size:.93rem; line-height:1.5;}
.bt-blog-table th,.bt-blog-table td{padding:12px 16px; text-align:left; vertical-align:top; border-bottom:1px solid var(--fog);}
.bt-blog-table thead th{background:var(--ink-navy); color:#fff; font-weight:700; font-size:.82rem; letter-spacing:.02em;}
.bt-blog-table tbody th{color:var(--ink-navy); font-weight:700; white-space:nowrap;}
.bt-blog-table tbody tr:nth-child(even){background:var(--paper);}
.bt-blog-table tbody tr:last-child th,.bt-blog-table tbody tr:last-child td{border-bottom:0;}
.bt-blog-callout{
  margin:6px 0 22px; padding:18px 20px 18px 22px; border-radius:14px;
  background:#FDF2F3; border-left:4px solid var(--pillar-red);
}
.bt-blog-callout__label{display:block; font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--pillar-red); margin-bottom:4px;}
.bt-blog-callout p{margin:0;}
.bt-blog-sources{font-size:.85rem; color:#5b6477; margin-top:-4px;}
.bt-blog-sources a{font-weight:500;}

.bt-blog-toc{
  background:#fff; border:1px solid var(--fog); border-radius:16px; padding:20px 22px;
}
.bt-blog-toc__title{font-size:.74rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--pillar-red); margin:0 0 10px;}
.bt-blog-toc ol{margin:0; padding:0 0 0 18px; font-size:.88rem; line-height:1.5;}
.bt-blog-toc li{margin-bottom:8px;}
.bt-blog-toc a{color:var(--ink-navy); text-decoration:none;}
.bt-blog-toc a:hover{color:var(--pillar-red); text-decoration:underline;}
.bt-blog-toc--inline{display:none; margin-bottom:28px;}
.bt-blog-aside{padding-top:32px;}
.bt-blog-aside__sticky{position:sticky; top:110px; display:grid; gap:18px;}
.bt-blog-aside-card{background:var(--ink-navy); color:#fff; border-radius:16px; padding:22px;}
.bt-blog-aside-card__title{font-weight:800; font-size:1.05rem; margin:0 0 8px;}
.bt-blog-aside-card p{font-size:.88rem; line-height:1.55; color:rgba(255,255,255,.8); margin:0 0 14px;}
.bt-blog-aside-card .btn{width:100%; justify-content:center; margin-bottom:8px;}
.bt-blog-aside-card .btn-outline{color:#fff; border-color:rgba(255,255,255,.35);}

.bt-blog-author{
  display:flex; gap:16px; align-items:flex-start; margin-top:40px; padding:20px 22px;
  border:1px solid var(--fog); border-radius:16px; background:var(--paper); max-width:720px;
}
.bt-blog-author img{border-radius:12px; background:#fff; flex:0 0 auto;}
.bt-blog-author__name{font-weight:800; color:var(--ink-navy); margin:0 0 4px;}
.bt-blog-author p{font-size:.88rem; line-height:1.6; color:#4b5563; margin:0;}
.bt-blog-author a{color:var(--pillar-red);}

.bt-blog-related{padding:56px 0 64px; background:var(--paper);}
.bt-blog-related h2{color:var(--ink-navy); margin:0 0 24px;}
.bt-blog-related .bt-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
.bt-blog-related__label{font-size:.74rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:#5b6477; margin:32px 0 12px;}
.bt-blog-chips{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px;}
.bt-blog-chips a{
  display:inline-block; padding:9px 16px; border-radius:999px; background:#fff;
  border:1px solid var(--fog-line); color:var(--ink-navy); font-size:.86rem; font-weight:600; text-decoration:none;
}
.bt-blog-chips a:hover{border-color:var(--pillar-red); color:var(--pillar-red);}

.bt-blog-cta{background:linear-gradient(135deg,var(--pillar-red) 0%,var(--pillar-red-dark) 100%); color:#fff; padding:52px 0;}
.bt-blog-cta__inner{display:flex; align-items:center; justify-content:space-between; gap:32px;}
.bt-blog-cta__eyebrow{font-size:.74rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; opacity:.8; margin:0 0 6px;}
.bt-blog-cta h2{color:#fff; margin:0 0 6px; font-size:1.6rem;}
.bt-blog-cta p{margin:0; color:rgba(255,255,255,.88);}
.bt-blog-cta__actions{display:flex; gap:12px; flex-wrap:wrap; flex:0 0 auto;}
.bt-blog-cta .btn-primary{background:#fff; color:var(--pillar-red); border-color:#fff;}
.bt-blog-cta__ghost{color:#fff; border-color:rgba(255,255,255,.6);}

@media (max-width:1024px){
  .bt-blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .bt-blog-layout{grid-template-columns:1fr; gap:0;}
  .bt-blog-aside{display:none;}
  .bt-blog-toc--inline{display:block;}
}
@media (max-width:760px){
  .bt-blog-grid,.bt-blog-related .bt-blog-grid{grid-template-columns:1fr;}
  .bt-blog-card--featured{flex-direction:column;}
  .bt-blog-card--featured .bt-blog-card__media{flex:none; aspect-ratio:16/10; min-height:0;}
  .bt-blog-card--featured .bt-blog-card__body{padding:22px;}
  .bt-blog-card--featured .bt-blog-card__title{font-size:1.25rem;}
  .bt-blog-figure{margin-top:-24px; border-radius:14px;}
  .bt-blog-content h2{font-size:1.25rem;}
  .bt-blog-cta__inner{flex-direction:column; align-items:flex-start;}
  .bt-blog-table th,.bt-blog-table td{padding:10px 12px;}
  .bt-blog-table tbody th{white-space:normal;}
}
@media (prefers-reduced-motion:reduce){
  .bt-blog-card,.bt-blog-card__media img,.bt-blog-card__more span{transition:none;}
  .bt-blog-card:hover{transform:none;}
  .bt-blog-card:hover .bt-blog-card__media img{transform:none;}
}
