
:root{

  --night:#0d1220; --night2:#131a2e; --night3:#1a2340;

  --dawn:#f6efe3; --dawn2:#efe6d6; --paper:#fbf7ee;

  --ink:#232a3d; --ink-soft:#5a6278;

  --terra:#c2603e; --terra-deep:#9c4a2e;

  --sage:#7d8a6e; --sage-deep:#5f6d52;

  --gold:#d9a441; --gold-soft:#e8c87a;

  --blue:#4f6f9e;

  --serif:'Switzer',system-ui,sans-serif;

  --disp:'Switzer',system-ui,sans-serif;

  --body:'Switzer',system-ui,sans-serif;

}

*{margin:0;padding:0;box-sizing:border-box}

html{scroll-behavior:smooth}

body{font-family:var(--body);background:var(--night);color:var(--dawn);line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}

a{color:inherit;text-decoration:none}

img{max-width:100%;display:block}



/* NAV */

nav{position:fixed;top:0;left:0;right:0;z-index:100;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:rgba(13,18,32,.72);border-bottom:1px solid rgba(217,164,65,.12);transition:padding .3s}

.nav-inner{max-width:1200px;margin:0 auto;padding:.85rem 1.5rem;display:flex;align-items:center;justify-content:space-between;position:relative}

.wordmark{font-family:var(--serif);font-size:1rem;font-weight:600;letter-spacing:-.02em;color:var(--dawn);line-height:1.2}

.wordmark .by{font-size:.7rem;font-weight:400;color:var(--ink-soft);display:block;line-height:1}

.wordmark em{font-style:italic;color:var(--gold);font-weight:400}

.nav-links{display:flex;gap:2rem;list-style:none}

.nav-links a{font-family:var(--disp);font-size:.7rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);transition:color .2s}

.nav-links a:hover{color:var(--gold)}

/* Hamburger */

.hamburger{display:none;flex-direction:column;gap:5px;cursor:pointer;padding:8px 10px;background:transparent;border:1px solid rgba(217,164,65,.25);border-radius:8px;z-index:101}

.hamburger span{display:block;width:22px;height:2px;background:var(--gold);border-radius:2px;transition:all .3s}

.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}

.hamburger.open span:nth-child(2){opacity:0}

.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}

/* Mobile nav overlay */

.nav-overlay{display:none}

@media(max-width:760px){

  .nav-links{display:flex;flex-wrap:wrap;gap:.5rem 1rem;justify-content:flex-end;max-width:70%}

  .nav-links a{font-size:.6rem;letter-spacing:.08em}

  .hamburger{display:flex}

  .nav-links.mobile-open{display:flex;flex-direction:column;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(13,18,32,.97);backdrop-filter:blur(20px);gap:0;padding:5rem 2rem 2rem;z-index:100;align-items:center;justify-content:center}

  .nav-links.mobile-open li{margin:.5rem 0}

  .nav-links.mobile-open a{font-size:1.3rem;letter-spacing:.15em;color:var(--dawn)}

}

@media(max-width:480px){

  .nav-links{display:none}

  .nav-inner{padding:.75rem 1rem}

  .wordmark{font-size:.85rem}

  .wordmark .by{font-size:.6rem}

}



/* HERO */

.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:6rem 3rem 3rem}

.hero-sky{position:absolute;inset:0;background:radial-gradient(ellipse 80% 60% at 30% 35%,rgba(217,164,65,.12) 0%,transparent 60%),radial-gradient(ellipse 60% 40% at 70% 80%,rgba(79,111,158,.08) 0%,transparent 50%),linear-gradient(180deg,var(--night) 0%,var(--night2) 50%,var(--night3) 100%);z-index:0;pointer-events:none}

.hero-layout{position:relative;z-index:2;display:grid;grid-template-columns:1.1fr 1fr;gap:3rem;max-width:1400px;width:100%;margin:0 auto;align-items:end;padding-bottom:3rem}

@media(max-width:900px){.hero-layout{grid-template-columns:1fr;gap:2rem;text-align:center;align-items:center;padding-bottom:0}}

@media(max-width:900px){.hero-right{display:none!important}}

@media(max-width:760px){.hero-layout{gap:0!important}}

.hero{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:6rem 3rem 3rem}

@media(max-width:480px){

  .hero{min-height:auto!important;padding:4.5rem 1rem 1.5rem!important;align-items:flex-start!important;overflow-x:hidden!important}

  .hero-layout{grid-template-columns:1fr!important;gap:0!important;text-align:center!important;align-items:center!important;padding-bottom:0!important;width:100%!important;max-width:100%!important}

  .hero-content{max-width:100%!important;width:100%!important;text-align:center!important;margin:0!important}

  .hero h1{font-size:clamp(1.4rem,5vw,1.75rem)!important;line-height:1.15!important;margin-bottom:.8rem!important;word-break:break-word!important}

  .hero-time{font-size:clamp(1.5rem,5.2vw,1.85rem)!important;line-height:1.1!important;margin-bottom:.3rem!important;word-break:break-word!important}

  .hero-sub{font-size:.95rem!important;max-width:100%!important;width:100%!important;margin:0 0 1.2rem!important;line-height:1.55!important;word-break:break-word!important}

  .eyebrow{font-size:.55rem!important;padding:.25rem .7rem!important;margin-bottom:.8rem!important;max-width:100%!important}

  .cta-row{flex-direction:column!important;gap:.5rem!important;margin-top:1rem!important;width:100%!important}

  .btn{font-size:.7rem!important;padding:.6rem 1rem!important;width:100%!important;justify-content:center!important;box-sizing:border-box!important}

  .hero-sky{width:100%!important;max-width:100vw!important}

}

/* Telegram-style chat */

.agent-motif{position:relative;width:100%;max-width:400px;aspect-ratio:9/18;border-radius:0;border:1px solid rgba(255,255,255,.06);background:#0f1622;box-shadow:0 0 80px rgba(217,164,65,.08),0 25px 70px rgba(0,0,0,.5);overflow:hidden;opacity:1;margin:0 auto;align-self:center;animation:chat-glow-in 1s cubic-bezier(.22,.61,.36,1) .2s both}

@media(max-width:900px){.agent-motif{display:none}}

@keyframes chat-glow-in{0%{opacity:0;transform:translateY(20px) scale(.96)}100%{opacity:1;transform:translateY(0) scale(1)}}

/* Telegram header */

.tg-header{position:absolute;top:0;left:0;right:0;height:60px;background:#17212b;border-bottom:1px solid rgba(255,255,255,.04);display:flex;align-items:center;gap:12px;padding:0 16px;z-index:2}

.tg-avatar{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--terra));display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;position:relative}

.tg-avatar::after{content:'';position:absolute;bottom:0;right:0;width:10px;height:10px;border-radius:50%;background:#4ade80;border:2.5px solid #17212b}

.tg-info{flex:1}

.tg-name{font-family:var(--disp);font-weight:600;font-size:.9rem;color:#fff;line-height:1.2}

.tg-status{font-family:var(--disp);font-size:.68rem;color:rgba(255,255,255,.45);letter-spacing:.02em}

/* Telegram chat area */

.chat-body{position:absolute;top:60px;left:0;right:0;bottom:56px;padding:12px 10px;display:flex;flex-direction:column;gap:6px;overflow:hidden;background:#0f1622}

/* Telegram message bubbles */

.msg{max-width:78%;padding:.55rem .85rem;border-radius:0;font-family:var(--disp);font-size:.82rem;line-height:1.5;opacity:0;transform:translateY(6px);animation:msg-in .35s cubic-bezier(.22,.61,.36,1) forwards;position:relative;word-wrap:break-word}

@keyframes msg-in{to{opacity:1;transform:translateY(0)}}

.msg.agent{align-self:flex-start;background:#182533;color:#fff;border-bottom-left-radius:4px;margin-left:2px}

.msg.user{align-self:flex-end;background:#2b5278;color:#fff;border-bottom-right-radius:4px;margin-right:2px}

/* Telegram read check */

.msg.user::after{content:'✓✓';position:absolute;bottom:4px;right:8px;font-size:.55rem;color:rgba(74,222,128,.7)}

/* Telegram time */

.msg-time{font-size:.6rem;color:rgba(255,255,255,.35);margin-top:2px;display:block;text-align:right}

/* Typing indicator (Telegram style) */

.typing-dots{display:flex;gap:5px;padding:.55rem .85rem;align-self:flex-start;background:#182533;border-radius:0;border-bottom-left-radius:4px;margin-left:2px;opacity:0;animation:msg-in .35s forwards}

.typing-dots span{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.5);animation:td-bounce 1.2s infinite}

.typing-dots span:nth-child(2){animation-delay:.15s}

.typing-dots span:nth-child(3){animation-delay:.3s}

@keyframes td-bounce{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}

/* Voice message (Morning Minute) — Telegram style */

.voice-msg{max-width:78%;align-self:flex-start;background:#182533;border-radius:0;border-bottom-left-radius:4px;margin-left:2px;padding:.6rem .85rem;opacity:0;transform:translateY(6px);animation:msg-in .35s forwards;position:relative}

.voice-msg-inner{display:flex;align-items:center;gap:10px}

.voice-play{width:32px;height:32px;border-radius:50%;background:#2b5278;display:flex;align-items:center;justify-content:center;flex-shrink:0}

.voice-play svg{width:12px;height:12px;fill:#fff}

.voice-wave{display:flex;align-items:center;gap:2px;height:20px;flex:1}

.voice-wave span{width:3px;border-radius:2px;background:rgba(255,255,255,.4)}

.voice-wave span:nth-child(1){height:8px}

.voice-wave span:nth-child(2){height:14px}

.voice-wave span:nth-child(3){height:18px}

.voice-wave span:nth-child(4){height:12px}

.voice-wave span:nth-child(5){height:16px}

.voice-wave span:nth-child(6){height:10px}

.voice-wave span:nth-child(7){height:14px}

.voice-wave span:nth-child(8){height:6px}

.voice-wave span:nth-child(9){height:12px}

.voice-wave span:nth-child(10){height:8px}

.voice-wave span:nth-child(11){height:10px}

.voice-wave span:nth-child(12){height:6px}

.voice-wave span:nth-child(13){height:8px}

.voice-wave span:nth-child(14){height:4px}

.voice-wave span:nth-child(15){height:6px}

.voice-wave span:nth-child(16){height:10px}

.voice-wave span:nth-child(17){height:12px}

.voice-wave span:nth-child(18){height:8px}

.voice-wave span:nth-child(19){height:5px}

.voice-wave span:nth-child(20){height:3px}

.voice-duration{font-family:var(--disp);font-size:.7rem;color:rgba(255,255,255,.5);flex-shrink:0}

.voice-caption{font-size:.72rem;color:rgba(255,255,255,.45);margin-top:6px;line-height:1.4}

/* Telegram input bar */

.input-bar{position:absolute;bottom:0;left:0;right:0;height:56px;background:#17212b;border-top:1px solid rgba(255,255,255,.04);display:flex;align-items:center;padding:0 14px;gap:12px;z-index:2}

.input-bar .emoji-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.4);font-size:1.1rem}

.input-bar .placeholder{flex:1;font-family:var(--disp);font-size:.78rem;color:rgba(255,255,255,.3)}

.input-bar .send{width:32px;height:32px;border-radius:50%;background:#2b5278;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.8rem;flex-shrink:0}



.hero-content{position:relative;z-index:2;text-align:left;max-width:680px}

.hero-logo{display:none;margin-bottom:1.2rem;text-align:center}

@media(max-width:900px){.hero-content{text-align:center;max-width:780px;margin:0 auto}}
@media(max-width:900px){.hero-logo{display:block;margin:0 auto 1.5rem}}
@media(min-width:901px){.hero-logo-desktop{display:block}}
@media(max-width:900px){.hero-logo-desktop{display:none}}

.hero-logo-svg{width:min(400px,90%);max-width:100%;height:auto;display:block;margin:0 auto}

.eyebrow{font-family:var(--disp);font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:1.8rem;display:inline-block;border:1px solid rgba(217,164,65,.28);padding:.4rem 1.1rem;border-radius:100px}

.hero h1{font-family:var(--serif);font-size:clamp(2.4rem,5vw,3.8rem);font-weight:700;line-height:1.05;letter-spacing:-.02em;color:var(--dawn);margin-bottom:1.5rem}

.hero h1 em{font-style:italic;font-weight:400;color:var(--gold)}

.hero-sub{font-size:1.1rem;color:var(--ink-soft);max-width:520px;margin:0 0 2.5rem;line-height:1.7}

@media(max-width:900px){.hero-sub{max-width:580px;margin:0 auto 2.5rem}}

.hero-time{font-family:var(--disp);font-size:clamp(2.8rem,6.5vw,4.8rem);font-weight:700;letter-spacing:-.04em;color:var(--gold);line-height:1;margin-bottom:.4rem}

.hero-time-label{font-family:var(--disp);font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft)}

.hero-underline{position:relative;display:inline-block}

.hero-underline::after{content:'';position:absolute;left:-2%;right:-2%;bottom:.08em;height:.12em;background:linear-gradient(90deg,transparent 0%,var(--terra) 15%,var(--gold) 50%,var(--terra) 85%,transparent 100%);border-radius:1px;transform:scaleX(0);transform-origin:left;animation:underline-draw 1.2s cubic-bezier(.22,.61,.36,1) .6s forwards}

@keyframes underline-draw{to{transform:scaleX(1)}}

.cta-row{display:flex;gap:1rem;justify-content:flex-start;flex-wrap:wrap;margin-top:2.5rem}

@media(max-width:900px){.cta-row{justify-content:center}}

.btn{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--disp);font-size:.85rem;font-weight:600;letter-spacing:.04em;padding:.9rem 2rem;border-radius:0;transition:all .2s;cursor:pointer;border:none}

.btn-primary{background:var(--gold);color:var(--night)}

.btn-primary:hover{background:var(--gold-soft);transform:translateY(-1px)}

.btn-ghost{background:transparent;color:var(--dawn);border:1px solid rgba(246,239,227,.18)}

.btn-ghost:hover{border-color:var(--gold);color:var(--gold)}

.scroll-cue{position:absolute;bottom:2rem;left:50%;transform:translateX(-50%);font-family:var(--disp);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);opacity:.6;animation:bob 2s ease-in-out infinite}

@keyframes bob{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(6px)}}



/* SECTIONS */

section{padding:6rem 1.5rem;position:relative}

.sec-inner{max-width:1000px;margin:0 auto}

.kicker{font-family:var(--disp);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:flex;align-items:center;gap:.8rem}

.kicker::after{content:'';flex:1;height:1px;background:rgba(217,164,65,.2)}

.sec-title{font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:600;letter-spacing:-.015em;margin-bottom:1.5rem;line-height:1.1}

.sec-title em{font-style:italic;font-weight:400;color:var(--gold)}

.sec-lead{font-size:1.1rem;line-height:1.7;max-width:680px;margin-bottom:2.5rem}



/* Alternating bg */

.dark{background:var(--night)}

.dark2{background:var(--night2)}

.cream{background:var(--paper);color:var(--ink)}

.cream .kicker{color:var(--terra)}

.cream .kicker::after{background:rgba(194,96,62,.2)}

.cream .sec-title{color:var(--ink)}

.cream .sec-title em{color:var(--terra)}

.cream .sec-lead{color:var(--ink-soft)}



/* Feature cards */

.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:2rem}

@media(max-width:820px){.feature-grid{grid-template-columns:1fr}}

.feature-card{background:rgba(19,26,46,.6);border:1px solid rgba(217,164,65,.1);border-radius:0;padding:2rem 1.5rem;transition:all .3s}

.feature-card:hover{border-color:rgba(217,164,65,.3);transform:translateY(-3px)}

.cream .feature-card{background:#fff;border:1px solid rgba(194,96,62,.1);box-shadow:0 4px 20px rgba(0,0,0,.04)}

.cream .feature-card:hover{border-color:rgba(194,96,62,.25)}

.feature-icon{width:52px;height:52px;border-radius:0;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:1.2rem}

.feature-card h3{font-family:var(--serif);font-size:1.3rem;font-weight:600;margin-bottom:.6rem}

.feature-card .feature-tag{font-family:var(--disp);font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}

.cream .feature-tag{color:var(--terra)}

.feature-card p{font-size:.95rem;color:var(--ink-soft);line-height:1.65}

.cream .feature-card p{color:var(--ink-soft)}

/* Host credentials grid — 4 across */

.cred-grid{grid-template-columns:repeat(4,1fr);gap:1.1rem}

.cred-grid .feature-card{padding:1.6rem 1.1rem}

.cred-grid .feature-icon{width:46px;height:46px;font-size:1.2rem;margin-bottom:1rem}

.cred-grid .feature-card h3{font-size:1.08rem}

.cred-grid .feature-card p{font-size:.84rem;line-height:1.55}

.cred-grid .feature-tag{margin-bottom:.4rem}

@media(max-width:900px){.cred-grid{grid-template-columns:repeat(2,1fr)}}

@media(max-width:480px){.cred-grid{grid-template-columns:1fr}}

.feature-time{font-family:var(--disp);font-size:.65rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(217,164,65,.08)}

.cream .feature-time{border-color:rgba(194,96,62,.08)}



/* Schedule */

.schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:2rem}

@media(max-width:820px){.schedule-grid{grid-template-columns:1fr}}

.day-card{background:rgba(19,26,46,.6);border:1px solid rgba(217,164,65,.12);border-radius:0;padding:1.5rem;text-align:center;transition:all .3s}

.day-card:hover{border-color:rgba(217,164,65,.3)}

.day-name{font-family:var(--disp);font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem}

.day-time{font-family:var(--disp);font-size:1.6rem;font-weight:700;color:var(--dawn);margin-bottom:.4rem}

.day-topic{font-family:var(--serif);font-size:1rem;font-style:italic;color:var(--ink-soft)}

.cream .day-card{background:#fff;border:1px solid rgba(194,96,62,.1)}

.cream .day-name{color:var(--terra)}

.cream .day-time{color:var(--ink)}

.cream .day-topic{color:var(--ink-soft)}



/* Weekly curriculum */

.week-list{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}

.week-item{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem;align-items:center;padding:1.5rem 1.8rem;background:rgba(19,26,46,.5);border:1px solid rgba(217,164,65,.1);border-radius:0;transition:all .3s}

.week-item:hover{border-color:rgba(217,164,65,.25)}

.cream .week-item{background:#fff;border:1px solid rgba(194,96,62,.08)}

.cream .week-item:hover{border-color:rgba(194,96,62,.2)}

.week-num{font-family:var(--disp);font-size:1.1rem;font-weight:700;color:var(--gold);letter-spacing:.04em;min-width:70px}

.cream .week-num{color:var(--terra)}

.week-title{font-family:var(--serif);font-size:1.15rem;font-weight:600;color:var(--dawn)}

.cream .week-title{color:var(--ink)}

.week-desc{font-size:.88rem;color:var(--ink-soft);margin-top:.2rem}

.week-price{font-family:var(--disp);font-size:1.4rem;font-weight:700;color:var(--gold);white-space:nowrap}

.cream .week-price{color:var(--terra)}

@media(max-width:680px){.week-item{grid-template-columns:1fr;gap:.5rem}.week-price{font-size:1.1rem}}



/* Pricing */

.pricing-box{max-width:480px;margin:2rem auto 0;background:rgba(19,26,46,.6);border:1px solid rgba(217,164,65,.18);border-radius:0;padding:3rem 2.5rem;text-align:center}

.pricing-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;align-items:start;margin-top:2rem}
.pricing-grid .pricing-box{margin:0;width:100%;max-width:none}
@media(max-width:760px){.pricing-grid{grid-template-columns:1fr;gap:1.5rem}}

.cream .pricing-box{background:#fff;border:1px solid rgba(194,96,62,.15);box-shadow:0 8px 30px rgba(0,0,0,.06)}

.price-amount{font-family:var(--disp);font-size:clamp(3rem,8vw,4.5rem);font-weight:700;letter-spacing:-.03em;color:var(--gold);line-height:1}

.cream .price-amount{color:var(--terra)}

.price-unit{font-family:var(--disp);font-size:.85rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);margin-top:.4rem}

.price-include{list-style:none;margin:2rem 0;text-align:left}

.price-include li{padding:.6rem 0;border-bottom:1px solid rgba(217,164,65,.08);font-size:.95rem;color:var(--ink-soft);display:flex;align-items:center;gap:.7rem}

.cream .price-include li{border-color:rgba(194,96,62,.06)}

.price-include li::before{content:'✓';color:var(--gold);font-weight:700;font-size:1.1rem}

.cream .price-include li::before{color:var(--terra)}

.price-include li:last-child{border-bottom:none}



/* What you build */

.build-grid{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-top:2rem;align-items:start}

@media(max-width:760px){.build-grid{grid-template-columns:1fr}}

.build-col h4{font-family:var(--serif);font-size:1.2rem;font-weight:600;margin-bottom:1rem;color:var(--dawn)}

.cream .build-col h4{color:var(--ink)}

.build-col p{font-size:.95rem;color:var(--ink-soft);line-height:1.7;margin-bottom:1rem}

.build-list{list-style:none;counter-reset:step}

.build-list li{counter-increment:step;padding:.6rem 0 .6rem 2.2rem;position:relative;font-size:.92rem;color:var(--ink-soft);line-height:1.55}

.build-list li::before{content:counter(step);position:absolute;left:0;top:.5rem;width:1.5rem;height:1.5rem;border-radius:50%;background:rgba(217,164,65,.12);color:var(--gold);font-family:var(--disp);font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center}

.cream .build-list li::before{background:rgba(194,96,62,.1);color:var(--terra)}

.cream .build-list li{color:var(--ink-soft)}



/* FAQ */

.faq-list{margin-top:2rem;display:flex;flex-direction:column;gap:1rem}

.faq-item{background:rgba(19,26,46,.5);border:1px solid rgba(217,164,65,.1);border-radius:0;padding:1.5rem 1.8rem;cursor:pointer;transition:all .3s}

.faq-item:hover{border-color:rgba(217,164,65,.2)}

.cream .faq-item{background:#fff;border:1px solid rgba(194,96,62,.08)}

.cream .faq-item:hover{border-color:rgba(194,96,62,.2)}

.faq-q{font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--dawn);display:flex;justify-content:space-between;align-items:center}

.cream .faq-q{color:var(--ink)}

.faq-q::after{content:'+';font-family:var(--disp);font-size:1.4rem;color:var(--gold);transition:transform .3s}

.faq-item.open .faq-q::after{transform:rotate(45deg)}

.cream .faq-q::after{color:var(--terra)}

.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease,margin .3s;font-size:.95rem;color:var(--ink-soft);line-height:1.7}

.faq-item.open .faq-a{max-height:300px;margin-top:1rem}



/* CTA section */

.cta-section{text-align:center;padding:7rem 1.5rem}

.cta-section h2{font-family:var(--serif);font-size:clamp(2rem,5vw,3.2rem);font-weight:600;letter-spacing:-.02em;margin-bottom:1.2rem}

.cta-section h2 em{font-style:italic;color:var(--gold)}

.cta-section p{font-size:1.1rem;color:var(--ink-soft);max-width:520px;margin:0 auto 2.5rem}



/* FOOTER */

footer{padding:3rem 1.5rem 2rem;text-align:center;border-top:1px solid rgba(217,164,65,.1);background:var(--night)}

.footer-wordmark{font-family:var(--serif);font-size:1.3rem;font-weight:600;margin-bottom:1rem}

.footer-wordmark em{font-style:italic;color:var(--gold);font-weight:400}

.footer-links{display:flex;gap:1.5rem;justify-content:center;flex-wrap:wrap;margin-bottom:1.5rem}

.footer-links a{font-family:var(--disp);font-size:.68rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);opacity:.7;transition:opacity .2s}

.footer-links a:hover{opacity:1}

.footer-disclaim{font-size:.78rem;color:var(--ink-soft);opacity:.6;max-width:560px;margin:0 auto;line-height:1.6}



/* Reveal */

.reveal{opacity:0;transform:translateY(30px);transition:opacity .8s ease,transform .8s ease}

.reveal.in{opacity:1;transform:translateY(0)}

.reveal:nth-child(2){transition-delay:.1s}

.reveal:nth-child(3){transition-delay:.2s}

.reveal:nth-child(4){transition-delay:.3s}

@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none}}



/* Chat bubble motif */



/* Lucide icons */
.lucide-icon{width:1.4em;height:1.4em;display:inline-block;vertical-align:middle;stroke-width:1.8}
.feature-icon .lucide-icon,.c-icon .lucide-icon,.card-icon .lucide-icon{width:1.3em;height:1.3em}
.essential-icon .lucide-icon{width:1.8em;height:1.8em}

/* Glimpse section background */
.glimpse-section{position:relative;overflow:hidden}
.glimpse-section::before{content:"";position:absolute;inset:0;background:url('https://jovial-arbor-pmwd.here.now/images/ch4-digital-defence-1.png') center/cover no-repeat;opacity:.22;pointer-events:none}
.glimpse-section .sec-inner{position:relative;z-index:2}
/* Idea section background */
.idea-section{position:relative;overflow:hidden}
.idea-section::before{content:"";position:absolute;inset:0;background:url('https://sable-castle-h2ef.here.now/images/ch4-digital-defence-2.png') center/cover no-repeat;opacity:.22;pointer-events:none}
.idea-section .sec-inner{position:relative;z-index:2}
/* Enrol section background */
.enrol-section{position:relative;overflow:hidden}
.enrol-section::before{content:"";position:absolute;inset:0;background:url('https://smooth-thistle-jepf.here.now/images/ch5-community-1.png') center/cover no-repeat;opacity:.22;pointer-events:none}
.enrol-section .sec-inner{position:relative;z-index:2}
.chat-demo{max-width:400px;margin:2rem auto 0;aspect-ratio:9/18;background:#0f1622;border:1px solid rgba(255,255,255,.06);border-radius:0;box-shadow:0 0 80px rgba(217,164,65,.08),0 25px 70px rgba(0,0,0,.5);overflow:hidden;font-size:.82rem;line-height:1.6;display:flex;flex-direction:column;position:relative}
.chat-demo .chat-body{flex:1;overflow:hidden;padding:1rem .9rem;display:flex;flex-direction:column;justify-content:flex-end;gap:.45rem}
.chat-demo .chat-msg{max-width:78%;padding:.55rem .85rem;border-radius:0;font-family:var(--disp);font-size:.82rem;line-height:1.5;position:relative;word-wrap:break-word}
.chat-demo .chat-msg.chat-user{align-self:flex-end;background:rgba(79,111,158,.25);color:var(--dawn);border-top-right-radius:4px}
.chat-demo .chat-msg.chat-agent{align-self:flex-start;background:#182533;color:var(--gold);border-top-left-radius:4px}
.chat-demo .chat-time{font-family:var(--disp);font-size:.6rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:.3rem}

/* Glow progression grid */
.glow-grid{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;gap:1.2rem;align-items:stretch;margin-top:3rem}
.glow-card{background:rgba(19,26,46,.6);border:1px solid rgba(217,164,65,.1);padding:1.8rem 1.5rem;transition:all .3s;position:relative;overflow:hidden}
.glow-card:hover{border-color:rgba(217,164,65,.35);transform:translateY(-3px)}
.glow-stage{font-family:var(--disp);font-size:.6rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem}
.glow-icon{width:48px;height:48px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;margin-bottom:1rem}
.glow-icon .lucide-icon{width:1.5em;height:1.5em}
.glow-card h4{font-family:var(--serif);font-size:1.05rem;font-weight:600;margin-bottom:.5rem;color:var(--dawn);line-height:1.25}
.glow-card p{font-size:.88rem;line-height:1.65;color:var(--ink-soft)}
.glow-tag{display:inline-block;margin-top:1rem;font-family:var(--disp);font-size:.58rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--gold);border:1px solid rgba(217,164,65,.25);padding:.3rem .7rem}
.glow-arrow{align-self:center;display:flex}
.glow-arrow-down{display:none}
@media(max-width:1100px){.glow-grid{grid-template-columns:1fr auto 1fr;gap:1rem}.glow-arrow-down{display:flex;align-self:center}}
@media(max-width:700px){.glow-grid{grid-template-columns:1fr}.glow-arrow{display:none}.glow-arrow-down{display:flex;justify-content:center;margin:.2rem 0}}

/* Ascent infographic */
.ascent-wrap{margin-top:3rem;position:relative}
.ascent-svg{width:100%;max-width:1000px;display:block;margin:0 auto;height:auto}
.ascent-path{stroke-dasharray:6,4;animation:ascent-flow 30s linear infinite}
@keyframes ascent-flow{to{stroke-dashoffset:-200}}
.ascent-star{animation:ascent-pulse 3s ease-in-out infinite}
@keyframes ascent-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.15)}}
@media(max-width:760px){
  .ascent-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-left:-1.5rem;margin-right:-1.5rem;padding:0 1.5rem}
  .ascent-svg{min-width:720px}
}



/* Eight Essentials grid */

.essentials-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:2.5rem}

@media(max-width:900px){.essentials-grid{grid-template-columns:repeat(2,1fr)}}

@media(max-width:480px){.essentials-grid{grid-template-columns:1fr}}

.essential-card{background:rgba(19,26,46,.6);border:1px solid rgba(217,164,65,.1);border-radius:0;padding:1.5rem 1.2rem;transition:all .3s;position:relative;overflow:hidden}

.essential-card:hover{border-color:rgba(217,164,65,.3);transform:translateY(-3px)}

.cream .essential-card{background:#fff;border:1px solid rgba(194,96,62,.08);box-shadow:0 4px 16px rgba(0,0,0,.03)}

.cream .essential-card:hover{border-color:rgba(194,96,62,.2)}

.essential-num{font-family:var(--disp);font-size:.62rem;font-weight:700;letter-spacing:.12em;color:var(--gold);margin-bottom:.5rem}

.cream .essential-num{color:var(--terra)}

.essential-icon{font-size:1.8rem;margin-bottom:.6rem;line-height:1;color:var(--dawn)}

.essential-card h4{font-family:var(--serif);font-size:1.05rem;font-weight:600;margin-bottom:.4rem;color:var(--dawn);line-height:1.2}

.cream .essential-card h4{color:var(--ink)}

.essential-card .essential-activity{font-size:.82rem;color:var(--ink-soft);line-height:1.55;margin-top:.6rem;padding-top:.6rem;border-top:1px solid rgba(217,164,65,.06)}

.cream .essential-card .essential-activity{border-color:rgba(194,96,62,.06)}

.essential-activity strong{color:var(--gold);font-weight:600}

.cream .essential-activity strong{color:var(--terra)}

.essential-card .personalise-badge{display:inline-block;font-family:var(--disp);font-size:.55rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--sage);background:rgba(125,138,110,.1);padding:.2rem .5rem;border-radius:100px;margin-top:.7rem}

.cream .personalise-badge{color:var(--sage-deep);background:rgba(125,138,110,.08)}



/* Personalise highlight band */

.personalise-band{display:grid;grid-template-columns:1fr 1fr;gap:2.5rem;align-items:center;margin-top:3rem}

@media(max-width:760px){.personalise-band{grid-template-columns:1fr}}

.personalise-band .pb-text h4{font-family:var(--serif);font-size:1.4rem;font-weight:600;margin-bottom:1rem;color:var(--dawn)}

.cream .personalise-band .pb-text h4{color:var(--ink)}

.personalise-band .pb-text p{font-size:.95rem;color:var(--ink-soft);line-height:1.7;margin-bottom:1rem}

.personalise-band .pb-steps{list-style:none;counter-reset:ps}

.personalise-band .pb-steps li{counter-increment:ps;padding:.5rem 0 .5rem 2.2rem;position:relative;font-size:.88rem;color:var(--ink-soft);line-height:1.55}

.personalise-band .pb-steps li::before{content:counter(ps);position:absolute;left:0;top:.4rem;width:1.5rem;height:1.5rem;border-radius:50%;background:rgba(217,164,65,.12);color:var(--gold);font-family:var(--disp);font-size:.68rem;font-weight:700;display:flex;align-items:center;justify-content:center}

.cream .personalise-band .pb-steps li::before{background:rgba(194,96,62,.1);color:var(--terra)}

.personalise-band .pb-steps li strong{color:var(--dawn);font-weight:600}

.cream .personalise-band .pb-steps li strong{color:var(--ink)}

.chat-msg{margin-bottom:.8rem;padding:.6rem .9rem;border-radius:0;max-width:85%}

.chat-user{background:rgba(79,111,158,.15);color:var(--dawn);margin-left:auto;text-align:right}

.chat-agent{background:rgba(217,164,65,.08);color:var(--gold);border:1px solid rgba(217,164,65,.1)}

.chat-time{font-family:var(--disp);font-size:.6rem;color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;margin-bottom:.3rem}

/* MODAL */

.modal-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:rgba(13,18,32,.75);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .4s ease}

.modal-overlay.show{opacity:1;pointer-events:auto}

.modal-card{background:linear-gradient(145deg,var(--gold) 0%,#e8c87a 50%,var(--gold) 100%);color:var(--night);border-radius:0;padding:3rem 2.8rem 2.5rem;max-width:480px;width:90%;box-shadow:0 30px 80px rgba(0,0,0,.5),0 0 0 1px rgba(255,255,255,.15) inset;transform:scale(.92) translateY(20px);transition:transform .4s cubic-bezier(.22,.61,.36,1);position:relative}

.modal-overlay.show .modal-card{transform:scale(1) translateY(0)}

.modal-close{position:absolute;top:16px;right:20px;background:none;border:none;font-size:1.6rem;color:var(--night);opacity:.5;cursor:pointer;transition:opacity .2s;font-family:var(--body)}

.modal-close:hover{opacity:1}

.modal-badge{font-family:var(--disp);font-size:.7rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--terra-deep);margin-bottom:1rem;display:inline-block;background:rgba(13,18,32,.08);padding:.35rem .9rem;border-radius:100px}

.modal-title{font-family:var(--serif);font-size:clamp(1.6rem,4vw,2.2rem);font-weight:700;line-height:1.15;margin-bottom:.6rem;color:var(--night)}

.modal-title em{font-style:italic;font-weight:400;color:var(--terra-deep)}

.modal-sub{font-size:.95rem;color:rgba(13,18,32,.7);line-height:1.6;margin-bottom:1.8rem}

.modal-form-row{display:flex;gap:.6rem;margin-bottom:.8rem}

.modal-form-row.single{flex-direction:column}

.modal-form-row input{flex:1;background:rgba(255,255,255,.5);border:1.5px solid rgba(13,18,32,.15);border-radius:12px;padding:.85rem 1rem;font-size:.95rem;font-family:var(--body);color:var(--night);outline:none;transition:border-color .2s,background .2s}

.modal-form-row input:focus{border-color:var(--terra);background:rgba(255,255,255,.8)}

.modal-form-row input::placeholder{color:rgba(13,18,32,.4)}

.modal-btn{width:100%;background:var(--night);color:var(--dawn);border:none;padding:1rem 1.5rem;border-radius:0;font-weight:700;font-size:.95rem;font-family:var(--disp);letter-spacing:.06em;cursor:pointer;transition:all .25s;text-transform:uppercase}

.modal-btn:hover{background:var(--night2);transform:translateY(-1px)}

.modal-btn:disabled{opacity:.6;cursor:default;transform:none}

.modal-note{font-size:.78rem;color:rgba(13,18,32,.55);margin-top:.9rem;line-height:1.5;text-align:center}

.modal-success{display:none;background:rgba(255,255,255,.4);border:1.5px solid var(--sage);border-radius:12px;padding:1.2rem 1.5rem;text-align:center}

.modal-success.show{display:block}

.modal-success .check{font-size:2rem;color:var(--sage-deep);margin-bottom:.3rem}

.modal-success p{font-size:.95rem;color:var(--night);line-height:1.6}

.modal-success p em{font-style:italic;color:var(--terra-deep)}

.modal-error{display:none;color:var(--terra-deep);font-size:.85rem;margin-top:.5rem;text-align:center}

.modal-error.show{display:block}

/* Subpage nav + intro */
.learn-back{font-family:var(--disp);font-size:.8rem;font-weight:600;letter-spacing:.04em;color:var(--dawn);text-decoration:none;opacity:.7;transition:opacity .2s,color .2s}
.learn-back:hover{opacity:1;color:var(--gold)}
.subpage-intro{padding-top:5rem;padding-bottom:1rem;text-align:center}
.subpage-intro .sec-inner{max-width:760px}
.subpage-intro .sec-lead{margin-left:auto;margin-right:auto}

/* Learn More split button on landing page */
.learn-more-split{margin:2.5rem 0 0; padding:3rem 1.5rem 3.5rem;text-align:center;border-top:1px solid rgba(217,164,65,.12);border-bottom:1px solid rgba(217,164,65,.12);background:rgba(19,26,46,.35)}
.learn-more-split .lms-kicker{font-family:var(--disp);font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold);margin-bottom:1rem;display:block}
.learn-more-split .lms-title{font-family:var(--serif);font-size:clamp(1.6rem,3.5vw,2.4rem);font-weight:600;letter-spacing:-.015em;color:var(--dawn);margin-bottom:1rem;line-height:1.1}
.learn-more-split .lms-sub{font-size:1.05rem;color:var(--ink-soft);max-width:540px;margin:0 auto 2rem;line-height:1.7}
.lms-btn{display:inline-flex;align-items:center;gap:.6rem;font-family:var(--disp);font-size:1.05rem;font-weight:700;letter-spacing:.02em;padding:1.1rem 2.6rem;background:var(--gold);color:var(--night);text-decoration:none;transition:all .2s}
.lms-btn:hover{background:var(--gold-soft);transform:translateY(-1px)}
.lms-btn .arrow{transition:transform .2s}
.lms-btn:hover .arrow{transform:translateX(4px)}

/* ===== Afterschool Type System — Expedition (Tanker display + Switzer) =====
   Tanker is a single-weight (400) condensed display face with no italic.
   Assign it to the true display moments, force its natural weight, and
   neutralise synthesized italic/bold so it stays crisp. */
.hero h1,
.hero-time,
.sec-title,
.price-amount,
.modal-title,
.lms-title,
.cta-section h2{
  font-family:'Tanker','Switzer',sans-serif;
  font-weight:400;
  font-style:normal;
  letter-spacing:.005em;
}
.hero h1 em,
.hero-time em,
.sec-title em,
.modal-title em{
  font-style:normal;
}
/* the hero italic-accent words keep their gold, emphasis via colour not slant */
.hero h1 em,.hero-time em{color:#d9a441;}
.sec-title em{color:#d9a441;}
/* keep the brand nav wordmark as a serif-ish lockup */
footer .footer-wordmark{font-family:'Tanker','Switzer',sans-serif;font-weight:400;}

