/* SPARRD — Filigran, Premium, Hermès-Niveau */
@font-face{font-family:'Questrial';src:local('Questrial'),url('/sparrd/static/fonts/Questrial-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Inter';src:local('Inter'),url('/sparrd/static/fonts/Inter-Regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap;}
@font-face{font-family:'Inter';src:local('Inter SemiBold'),url('/sparrd/static/fonts/Inter-SemiBold.woff2') format('woff2');font-weight:600;font-style:normal;font-display:swap;}

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

/* ── Light Mode (default) — Trust & Professionalism ── */
:root{
  --bg:#FAFAF8;
  --bg-secondary:#F0EFEB;
  --card:#FFFFFF;
  --border:rgba(27,43,58,0.10);
  --border-subtle:rgba(27,43,58,0.06);
  --text:#1B2B3A;
  --text-body:#3A4A58;
  --gold:#2A7A6B;
  --gold-hover:#1F5F53;
  --gold-subtle:rgba(42,122,107,0.06);
  --muted:rgba(27,43,58,0.50);
  --radius:6px;
  --on-accent:#ffffff;
  --nav-bg:rgba(250,250,248,0.96);
  --card-shadow:0 2px 20px rgba(27,43,58,0.06);
  --section-alt:#F0EFEB;
  --premium:#B8923E;
  --premium-subtle:rgba(184,146,62,0.08);
  --success:#2A7A6B;
  --trust-gradient:linear-gradient(135deg, #2A7A6B 0%, #1B5A6B 100%);
}

/* ── Dark Mode ── */
[data-theme="dark"]{
  --bg:#111820;
  --bg-secondary:#161E28;
  --card:#1A2332;
  --border:rgba(255,255,255,0.08);
  --border-subtle:rgba(255,255,255,0.04);
  --text:#E4E8EC;
  --text-body:#A8B4C0;
  --gold:#3AADA0;
  --gold-hover:#2E9488;
  --gold-subtle:rgba(58,173,160,0.08);
  --muted:rgba(228,232,236,0.4);
  --on-accent:#111820;
  --nav-bg:rgba(17,24,32,0.94);
  --card-shadow:0 2px 24px rgba(0,0,0,0.20);
  --section-alt:rgba(22,30,40,0.6);
  --premium:#D4A84A;
  --premium-subtle:rgba(212,168,74,0.10);
}

html{scroll-behavior:smooth;}
body{font-family:'Inter',system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text-body);font-size:15px;line-height:1.65;min-height:100vh;display:flex;flex-direction:column;transition:background .4s,color .4s;-webkit-font-smoothing:antialiased;}
a{color:var(--gold);text-decoration:none;transition:color .3s;}
a:hover{color:var(--gold-hover);}
.container{max-width:1140px;margin:0 auto;padding:0 2rem;}
.text-muted{color:var(--muted);}
.text-center{text-align:center;}

/* ── Typography ── */
h1,h2,h3,.section-label,.hero-title,.page-title{
  font-family:'Questrial','Georgia',serif;
  color:var(--text);
  letter-spacing:0.02em;
  font-weight:600;
  line-height:1.2;
}

/* ── Navbar ── */
.navbar{position:sticky;top:0;z-index:100;background:var(--nav-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);padding:.65rem 0;}
.nav-inner{display:flex;align-items:center;justify-content:space-between;}
.logo{display:inline-flex;align-items:center;}
.logo-img{height:36px;width:auto;border-radius:4px;}
.logo-text{font-family:'Questrial',system-ui,sans-serif;font-size:1.4rem;letter-spacing:.22em;color:var(--text);}
.hero-logo{text-align:center;margin-bottom:2.5rem;}
.hero-logo-img{height:100px;width:auto;border-radius:14px;box-shadow:0 6px 30px rgba(0,0,0,0.12);}
.logo-dark{display:none;}
[data-theme="dark"] .logo-light{display:none !important;}
[data-theme="dark"] .logo-dark{display:inline-block !important;}
.nav-links{display:flex;align-items:center;gap:2rem;}
.nav-links a{color:var(--text-body);font-size:.85rem;letter-spacing:.03em;transition:color .3s;}
.nav-links a:hover{color:var(--gold);}
.nav-toggle{display:none;background:none;border:none;color:var(--text);font-size:1.3rem;cursor:pointer;}

/* Theme toggle */
.theme-toggle{background:none;border:1px solid var(--border);color:var(--muted);cursor:pointer;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;padding:0;transition:border-color .3s,color .3s;}
.theme-toggle:hover{border-color:var(--gold);color:var(--gold);}
.theme-icon-sun,.theme-icon-moon{display:none;}

/* ── Buttons ── */
.btn{display:inline-block;padding:.55rem 2rem;border-radius:var(--radius);font-weight:500;font-size:.75rem;letter-spacing:.15em;text-transform:uppercase;transition:all .3s;cursor:pointer;border:1px solid transparent;text-align:center;font-family:'Inter',system-ui,sans-serif;}
.btn-outline{border-color:var(--gold);color:var(--gold);background:transparent;}
.btn-outline:hover{background:var(--gold);color:var(--on-accent);}
.btn-gold{background:var(--gold);color:var(--on-accent);border-color:var(--gold);}
.btn-gold:hover{background:var(--gold-hover);border-color:var(--gold-hover);}
.btn-sm{padding:.4rem 1.2rem;font-size:.75rem;}
.btn-block{display:block;width:100%;}
.link-subtle{color:var(--muted);font-size:.85rem;letter-spacing:.03em;transition:color .3s;}
.link-subtle:hover{color:var(--gold);}

/* ── Hero ── */
.hero{padding:5rem 0 4rem;text-align:center;}
.hero-title{font-size:clamp(2.2rem,4.5vw,3.2rem);font-weight:500;margin-bottom:1rem;line-height:1.15;letter-spacing:-.01em;}
.hero-sub{font-size:1rem;color:var(--muted);max-width:480px;margin:0 auto 2rem;line-height:1.6;}

/* ── Sections ── */
.section{padding:4rem 0;}
.section-alt{background:var(--section-alt);}
.section-label{font-family:'Inter',system-ui,sans-serif;font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);text-align:center;margin-bottom:1.5rem;font-weight:600;}
.section-subtitle{text-align:center;color:var(--muted);max-width:480px;margin:0 auto 2.5rem;font-size:.95rem;}
.page-title{font-size:2.4rem;text-align:center;margin-bottom:1rem;padding-top:2rem;}
.pricing-subtitle{text-align:center;color:var(--muted);font-size:.9rem;margin-bottom:1.5rem;}

/* ── Stats Row ── */
.stats-row{display:flex;justify-content:center;align-items:center;gap:0;flex-wrap:wrap;}
.stat-item{text-align:center;padding:.8rem 2.5rem;border-radius:var(--radius);text-decoration:none;display:block;}
.stat-item.interactive{cursor:pointer;transition:background .3s;}
.stat-item.interactive:hover{background:var(--gold-subtle);}
.stat-item.interactive:hover .stat-action{opacity:1;transform:translateY(0);}
.stat-number{font-family:'Questrial',system-ui,sans-serif;font-size:2.8rem;font-weight:400;letter-spacing:.03em;color:var(--text);display:block;line-height:1.1;}
.stat-label{font-size:.85rem;color:var(--muted);margin-top:.3rem;display:block;letter-spacing:.03em;}
.stat-action{font-size:.7rem;color:var(--gold);letter-spacing:.1em;text-transform:uppercase;display:block;margin-top:.5rem;opacity:0;transform:translateY(4px);transition:all .3s;font-weight:500;}
.stat-divider{width:1px;height:40px;background:var(--border);}

/* ── Steps (How it works) ── */
.steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:960px;margin:0 auto;}
.step-item{text-align:center;padding:2rem 1.5rem;border:1px solid var(--border);border-radius:var(--radius);transition:all .3s;text-decoration:none;display:block;color:inherit;}
.step-item.interactive{cursor:pointer;}
.step-item:hover{border-color:var(--gold);background:var(--card);}
.step-item.interactive:hover .step-action{opacity:1;transform:translateY(0);}
.step-item h3{font-family:"Questrial",Georgia,serif;font-size:1.25rem;font-weight:500;margin-bottom:.5rem;letter-spacing:.01em;}
.step-item p{font-size:.9rem;color:var(--muted);line-height:1.7;}
.step-icon{font-size:2.2rem;color:var(--gold);margin-bottom:1rem;display:block;}
.step-number{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:1px solid var(--gold);color:var(--gold);font-family:'Questrial',system-ui,sans-serif;font-size:1rem;font-weight:500;margin-bottom:.8rem;}
.step-action{font-size:.72rem;color:var(--gold);letter-spacing:.12em;text-transform:uppercase;display:block;margin-top:1rem;opacity:0;transform:translateY(4px);transition:all .3s;font-weight:500;}

/* ── Testimonial (Hero) ── */
/* Testimonial Carousel */
.testimonial-carousel{position:relative;overflow:hidden;}
.testimonial-slide{display:none;animation:fadeIn .6s ease;}
.testimonial-slide.active{display:block;}
@media(max-width:768px){
  .testimonial-carousel{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;gap:1rem;scrollbar-width:none;padding-bottom:.5rem;}
  .testimonial-carousel::-webkit-scrollbar{display:none;}
  .testimonial-slide{display:block;flex:0 0 85%;scroll-snap-align:center;animation:none;}
  .testimonial-hero{grid-template-columns:1fr;text-align:center;}
}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:translateY(0);}}
.carousel-dots{display:flex;justify-content:center;gap:10px;margin-top:2.5rem;}
.carousel-dot{width:10px;height:10px;border-radius:50%;border:1px solid var(--gold);background:transparent;cursor:pointer;padding:0;transition:all .3s;}
.carousel-dot.active{background:var(--gold);}
.carousel-dot:hover{background:rgba(201,168,76,0.4);}
.testimonial-hero{display:grid;grid-template-columns:180px 1fr;gap:3rem;align-items:center;max-width:900px;margin:0 auto;}
.testimonial-photo{width:100%;aspect-ratio:3/4;object-fit:cover;border-radius:var(--radius);}
.testimonial-photo-placeholder{width:100%;aspect-ratio:3/4;background:var(--bg-secondary);border-radius:var(--radius);}
.testimonial-content{position:relative;}
.quote-mark{font-family:'Questrial',system-ui,sans-serif;font-size:4rem;color:var(--gold);line-height:1;margin-bottom:.5rem;opacity:.6;}
.testimonial-quote{font-family:'Questrial',system-ui,sans-serif;font-size:1.2rem;font-weight:400;color:var(--text);line-height:1.6;margin-bottom:1.5rem;font-style:italic;}
.testimonial-author{display:flex;flex-direction:column;gap:.15rem;}
.author-name{font-size:.85rem;font-weight:600;color:var(--text);letter-spacing:.03em;}
.author-role{font-size:.8rem;color:var(--muted);}

/* ── Pricing ── */
.pricing-tabs{display:flex;justify-content:center;align-items:center;gap:0;margin-bottom:2rem;border-bottom:1px solid var(--border);}
.pricing-tabs-prominent{border:1px solid var(--border);border-radius:var(--radius);padding:.3rem;gap:.5rem;max-width:500px;margin-left:auto;margin-right:auto;margin-bottom:2rem;background:var(--bg-secondary);}
.pricing-tabs-prominent .pricing-tab{border-bottom:none;border-radius:var(--radius);padding:.7rem 1.5rem;}
.pricing-tabs-prominent .pricing-tab.active{background:var(--card);box-shadow:var(--card-shadow);color:var(--text);}
.tab-divider{color:var(--border);font-size:.8rem;font-weight:300;}
.tab-icon{margin-right:.4rem;}
.pricing-tab{background:none;border:none;border-bottom:2px solid transparent;padding:.8rem 2rem;font-family:'Inter',system-ui,sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);cursor:pointer;transition:all .3s;}
.pricing-tab.active{color:var(--text);border-bottom-color:var(--gold);}
.pricing-tab:hover{color:var(--text);}

.pricing-panel{display:none;}
.pricing-panel.active{display:block;}

.billing-toggle{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:2rem;padding:1rem 1.5rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);max-width:420px;margin-left:auto;margin-right:auto;}
.toggle-label{font-size:.82rem;color:var(--muted);letter-spacing:.03em;transition:color .3s;}
.toggle-label.active{color:var(--text);font-weight:600;}
.toggle-label em{font-style:normal;display:inline-block;background:var(--gold);color:var(--on-accent);font-size:.65rem;font-weight:600;padding:2px 8px;border-radius:10px;margin-left:6px;letter-spacing:.08em;vertical-align:middle;}
.toggle-switch{width:44px;height:24px;background:var(--border);border:1px solid var(--border);border-radius:12px;cursor:pointer;position:relative;transition:background .3s;padding:0;flex-shrink:0;}
.toggle-switch.yearly{background:var(--gold);border-color:var(--gold);}
.toggle-knob{position:absolute;top:3px;left:3px;width:16px;height:16px;background:var(--on-accent);border-radius:50%;transition:transform .3s;}
.toggle-switch.yearly .toggle-knob{transform:translateX(20px);}

.pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem;align-items:stretch;}
.pricing-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem 1.5rem;text-align:center;position:relative;transition:all .3s;display:flex;flex-direction:column;justify-content:flex-start;overflow:visible;margin-top:12px;}
.pricing-card.interactive{cursor:pointer;}
.pricing-card:hover{border-color:var(--gold);box-shadow:0 4px 24px rgba(0,0,0,0.06);}
.pricing-card.featured{border-color:var(--gold);}
.pricing-card h3{font-family:'Questrial',system-ui,sans-serif;font-size:1.3rem;font-weight:400;letter-spacing:.03em;margin-bottom:1rem;letter-spacing:.02em;}
.pricing-card .price{font-family:'Questrial',system-ui,sans-serif;font-size:2.2rem;font-weight:500;color:var(--text);margin:.5rem 0;}
.pricing-card .price span{font-size:.85rem;font-weight:400;color:var(--muted);font-family:'Inter',system-ui,sans-serif;}
.price-note{font-size:.78rem;color:var(--gold);margin-bottom:1rem;letter-spacing:.03em;}
.pricing-card .card-bottom{margin-top:auto;padding-top:1rem;}
.pricing-card .price-note{font-size:.82rem;color:var(--muted);min-height:2.4em;}
.pricing-card .price-yearly{font-size:.82rem;color:var(--gold);margin-top:4px;min-height:1.4em;transition:all .3s;text-align:center;font-weight:500;}
.pricing-card .price-yearly .price-original{text-decoration:line-through;opacity:.6;margin-right:6px;}
.pricing-card .price-yearly .price-discounted{color:var(--gold);font-weight:600;}
.pricing-card .price-yearly .price-save{display:inline-block;background:rgba(42,122,107,.15);color:var(--gold);font-size:.75rem;padding:3px 10px;border-radius:12px;margin-left:8px;font-weight:600;animation:savePulse 2s ease-in-out 1;}
@keyframes savePulse{0%,100%{transform:scale(1);}50%{transform:scale(1.08);}}
.pricing-card ul{list-style:none;margin:1.5rem 0;text-align:left;flex:1;}
.pricing-card ul li{padding:.4rem 0;padding-left:1.4rem;position:relative;color:var(--text-body);font-size:.88rem;line-height:1.7;}
.pricing-card ul li::before{content:"·";position:absolute;left:.3rem;color:var(--muted);font-size:1.2rem;}
.pricing-card .btn{margin-top:1.5rem;}
.badge{position:absolute;top:-10px;left:50%;transform:translateX(-50%);background:var(--gold);color:var(--on-accent);padding:.2rem 1rem;border-radius:2px;font-size:.65rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;}

/* ── Hero Extended ── */
.hero-extended .hero-ctas{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.hero-trust{font-size:.8rem;color:var(--muted);margin-top:1.5rem;letter-spacing:.03em;}

/* ── Section Titles ── */
.section-title{font-size:clamp(1.6rem,3vw,2.2rem);text-align:center;margin-bottom:1rem;font-weight:500;}
.section-intro{text-align:center;max-width:680px;margin:0 auto 3rem;color:var(--text-body);line-height:1.8;font-size:.95rem;}

/* ── Pillar Cards (What is) ── */
.pillars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;max-width:960px;margin:0 auto;}
.pillar-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem 2rem;text-align:center;transition:all .3s;}
.pillar-card:hover{border-color:var(--gold);box-shadow:var(--card-shadow);}
.pillar-icon{color:var(--gold);margin-bottom:1.2rem;display:flex;justify-content:center;}
.pillar-card h3{font-family:'Questrial',system-ui,sans-serif;font-size:1.25rem;font-weight:400;letter-spacing:.03em;margin-bottom:.6rem;}
.pillar-card p{font-size:.88rem;color:var(--text-body);line-height:1.7;}

/* ── Topic Cards ── */
.topics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2rem;max-width:960px;margin:0 auto;}
.topics-grid .topic-card{width:auto;min-width:0;}
.topic-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:1.8rem 1.5rem;text-decoration:none;color:inherit;transition:all .3s;display:flex;flex-direction:column;align-items:center;text-align:center;}
.topic-card:hover{border-color:var(--gold);transform:translateY(-2px);box-shadow:var(--card-shadow);}
.topic-icon{font-size:2rem;display:block;margin-bottom:.8rem;text-align:center;}
.topic-card h3{font-family:'Questrial',system-ui,sans-serif;font-size:1.05rem;font-weight:400;letter-spacing:.03em;margin-bottom:.3rem;color:var(--text);}
.topic-card p{font-size:.82rem;color:var(--muted);line-height:1.5;}

/* ── Journey Cards ── */
.journeys-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;max-width:960px;margin:0 auto;}
.journey-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;transition:all .3s;}
.journey-card:hover{border-color:var(--gold);box-shadow:var(--card-shadow);}
.journey-card h3{font-family:'Questrial',system-ui,sans-serif;font-size:1.2rem;font-weight:400;letter-spacing:.03em;margin-bottom:.2rem;}
.journey-desc{font-size:.85rem;color:var(--muted);margin-bottom:1.2rem;}
.journey-steps{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem;}
.journey-step{background:var(--gold-subtle);color:var(--text);padding:.35rem .8rem;border-radius:20px;font-size:.78rem;font-weight:500;text-decoration:none;transition:all .2s;border:1px solid transparent;}
.journey-step:hover{border-color:var(--gold);color:var(--gold);}
.journey-arrow{color:var(--gold);font-size:.85rem;font-weight:300;}
.journey-insight{font-size:.78rem;color:var(--muted);display:flex;align-items:flex-start;gap:.4rem;line-height:1.5;padding-top:.8rem;border-top:1px solid var(--border-subtle);}
.journey-insight svg{flex-shrink:0;margin-top:1px;color:var(--gold);}

/* ── Session Flow Timeline ── */
.flow-timeline{max-width:640px;margin:0 auto;position:relative;}
.flow-timeline::before{content:'';position:absolute;left:24px;top:0;bottom:0;width:1px;background:var(--border);}
.flow-step{display:flex;gap:2rem;margin-bottom:2.5rem;position:relative;}
.flow-step:last-child{margin-bottom:0;}
.flow-number{flex-shrink:0;width:48px;height:48px;border-radius:50%;border:1px solid var(--gold);background:var(--bg);color:var(--gold);font-family:'Questrial',system-ui,sans-serif;font-size:1rem;font-weight:400;letter-spacing:.03em;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;}
.flow-content h3{font-family:'Questrial',system-ui,sans-serif;font-size:1.15rem;font-weight:400;letter-spacing:.03em;margin-bottom:.4rem;}
.flow-content p{font-size:.9rem;color:var(--text-body);line-height:1.7;margin-bottom:.4rem;}
.flow-detail{font-size:.78rem;color:var(--gold);font-weight:500;letter-spacing:.03em;}
.flow-note{text-align:center;color:var(--muted);font-size:.88rem;font-style:italic;margin-top:2.5rem;max-width:500px;margin-left:auto;margin-right:auto;}

/* ── For Whom ── */
.for-whom-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:860px;margin:0 auto;}
.for-whom-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem 2rem;transition:border-color .3s;text-align:center;}
.for-whom-card:hover{border-color:var(--gold);}
.for-whom-icon{color:var(--gold);margin-bottom:1rem;}
.for-whom-card h3{font-family:'Questrial',system-ui,sans-serif;font-size:1.3rem;font-weight:400;letter-spacing:.03em;margin-bottom:1.2rem;}
.for-whom-card ul{list-style:none;margin-bottom:1.5rem;text-align:left;display:inline-block;}
.for-whom-card ul li{padding:.4rem 0 .4rem 1.4rem;position:relative;font-size:.88rem;color:var(--text-body);line-height:1.7;}
.for-whom-card ul li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:600;font-size:.8rem;}

/* ── Legal Pages ── */
.legal-page{max-width:800px;}
.legal-page h1{font-family:'Questrial',system-ui,sans-serif;font-size:1.8rem;letter-spacing:.03em;margin-bottom:1.5rem;color:var(--text);}
.legal-page h2{font-family:'Questrial',system-ui,sans-serif;font-size:1.15rem;letter-spacing:.03em;margin:2rem 0 .6rem;color:var(--gold);}
.legal-page p{font-size:.9rem;color:var(--text-body);line-height:1.8;margin-bottom:.8rem;}
.legal-page ul{margin-left:1.5rem;margin-bottom:1rem;}
.legal-page li{font-size:.9rem;color:var(--text-body);line-height:1.8;margin-bottom:.3rem;}
.legal-page a{color:var(--gold);}
.legal-page strong{color:var(--text);font-weight:600;}
.legal-label{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem;}
.legal-back{display:inline-block;color:var(--gold);font-size:.85rem;margin-bottom:2rem;text-decoration:none;letter-spacing:.03em;}
.legal-back:hover{text-decoration:underline;}

/* ── Onboarding Wizard ── */
.wizard-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.6);z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;backdrop-filter:blur(4px);}
.wizard-modal{background:var(--bg);border-radius:12px;max-width:560px;width:100%;max-height:90vh;overflow-y:auto;padding:2.5rem 2rem 2rem;position:relative;box-shadow:0 20px 60px rgba(0,0,0,0.3);}
.wizard-close{position:absolute;top:12px;right:16px;background:none;border:none;font-size:1.6rem;color:var(--muted);cursor:pointer;line-height:1;}
.wizard-close:hover{color:var(--text);}
.wizard-progress{height:3px;background:var(--border);border-radius:2px;margin-bottom:2rem;}
.wizard-progress-bar{height:100%;background:var(--gold);border-radius:2px;transition:width .3s;}
.wizard-step h2{font-family:'Questrial',system-ui,sans-serif;font-size:1.4rem;font-weight:400;letter-spacing:.03em;margin-bottom:1.2rem;text-align:center;}
.wizard-options{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;}
.wizard-options.wizard-row{display:flex;flex-direction:row;flex-wrap:wrap;gap:.5rem;}
.wizard-option{display:flex;align-items:center;gap:.7rem;padding:.8rem 1.2rem;background:var(--card);border:1.5px solid var(--border);border-radius:8px;cursor:pointer;font-size:.88rem;color:var(--text);transition:all .15s;text-align:left;font-family:inherit;}
.wizard-option:hover{border-color:var(--gold);background:var(--gold-subtle);}
.wizard-option.selected{border-color:var(--gold);background:rgba(42,122,107,0.1);box-shadow:0 0 0 1px var(--gold);}
.wo-icon{font-size:1.2rem;flex-shrink:0;}
.wizard-row .wizard-option{flex:1;justify-content:center;min-width:100px;}
.wizard-actions{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem;}
.wizard-actions .btn{flex:1;}
.wizard-skip{display:block;width:100%;text-align:center;background:none;border:none;color:var(--muted);font-size:.78rem;margin-top:1rem;cursor:pointer;padding:.5rem;font-family:inherit;}
.wizard-skip:hover{color:var(--text);}
@media(max-width:480px){.wizard-modal{padding:1.5rem 1.2rem 1.2rem;}.wizard-option{padding:.55rem .8rem;font-size:.78rem;gap:.4rem;}.wizard-options{gap:.5rem;}}

/* ── Certification ── */
.cert-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;max-width:860px;margin:0 auto;}
.cert-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:2.5rem 2rem;transition:border-color .3s;}
.cert-card:hover{border-color:var(--gold);}
.cert-badge{margin-bottom:1.2rem;display:flex;justify-content:center;}
.cert-card h3{font-family:'Questrial',system-ui,sans-serif;font-size:1.2rem;font-weight:400;letter-spacing:.03em;margin-bottom:.6rem;}
.cert-card p{font-size:.88rem;color:var(--text-body);line-height:1.7;margin-bottom:1rem;}
.cert-card ul{list-style:none;}
.cert-card ul li{padding:.3rem 0 .3rem 1.4rem;position:relative;font-size:.85rem;color:var(--text-body);line-height:1.6;}
.cert-card ul li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:600;font-size:.8rem;}

/* ── FAQ ── */
.faq-list{max-width:680px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--border);transition:background .2s;}
.faq-question{padding:1.2rem 0;font-size:.95rem;font-weight:500;color:var(--text);cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-question::after{content:'+';font-size:1.2rem;color:var(--gold);font-weight:300;transition:transform .3s;}
.faq-item[open] .faq-question::after{content:'−';}
.faq-question::-webkit-details-marker{display:none;}
.faq-answer{padding:0 0 1.2rem;font-size:.9rem;color:var(--text-body);line-height:1.8;}

/* ── Pricing Promo ── */
.pricing-promo{text-align:center;padding:1rem 1.5rem;background:var(--gold-subtle);border:1px solid var(--gold);border-radius:var(--radius);color:var(--text);font-size:.88rem;font-weight:500;margin-top:1.5rem;max-width:500px;margin-left:auto;margin-right:auto;animation:fadeIn .4s ease;}
.pricing-promo.hidden{display:none;}

/* ── CTA ── */
.cta-section h2{font-size:2rem;margin-bottom:.8rem;}
.cta-section p{color:var(--muted);margin-bottom:2rem;font-size:.95rem;}
.cta-brand{margin-top:2.5rem;opacity:.5;}.cta-brand .logo-text{font-size:1.8rem;letter-spacing:.35em;}

/* ── Search ── */
.search-section{padding-top:3rem;}
.search-bar-wrap{max-width:600px;margin:0 auto 2rem;}
.search-bar-form{display:flex;border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--card);transition:border-color .3s;}
.search-bar-form:focus-within{border-color:var(--gold);}
.search-input{flex:1;border:none;background:transparent;padding:.9rem 1.2rem;font-size:.95rem;font-family:'Inter',system-ui,sans-serif;color:var(--text);outline:none;}
.search-input::placeholder{color:var(--muted);}
.search-submit{background:none;border:none;color:var(--gold);padding:0 1.2rem;font-size:1.1rem;cursor:pointer;transition:color .3s;}
.search-submit:hover{color:var(--gold-hover);}

.filter-chips{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:1.5rem;}
.chip{display:inline-flex;align-items:center;padding:.35rem 1rem;border:1px solid var(--border);border-radius:2px;font-size:.78rem;color:var(--text-body);cursor:pointer;transition:all .3s;letter-spacing:.03em;}
.chip input{display:none;}
.chip.active,.chip:hover{border-color:var(--gold);color:var(--gold);}
.chip-divider{width:1px;height:20px;background:var(--border);flex-shrink:0;}

.results-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:1px solid var(--border);}
.result-count{font-size:.82rem;color:var(--muted);letter-spacing:.03em;}
.sort-select{padding:.45rem .8rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);color:var(--text-body);font-size:.82rem;font-family:'Inter',system-ui,sans-serif;cursor:pointer;}
.sort-select:focus{outline:none;border-color:var(--gold);}

.coach-results{display:grid;gap:1.2rem;}
.no-results{color:var(--muted);text-align:center;padding:3rem 0;}

/* ── Coach Card (Search) ── */
.coach-card{display:grid;grid-template-columns:140px 1fr;gap:2rem;padding:2rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);text-decoration:none;color:var(--text);transition:border-color .3s;align-items:center;}
.coach-card:hover{border-color:rgba(201,168,76,0.2);}
.coach-card.premium{border-color:var(--gold);}
.coach-card-photo img{width:140px;height:140px;border-radius:var(--radius);object-fit:cover;display:block;}
.photo-placeholder-large{width:140px;height:140px;border-radius:var(--radius);background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;font-family:'Questrial',system-ui,sans-serif;font-size:2.4rem;font-weight:400;letter-spacing:.03em;color:var(--muted);}
.coach-card-body h3{font-family:'Questrial',system-ui,sans-serif;font-size:1.2rem;font-weight:400;letter-spacing:.03em;margin-bottom:.3rem;letter-spacing:.02em;}
.coach-title{color:var(--muted);font-size:.85rem;margin-bottom:.2rem;}
.coach-meta{font-size:.8rem;color:var(--muted);margin-bottom:.6rem;}
.coach-card-footer{display:flex;gap:1.2rem;align-items:center;margin-top:.6rem;}
.coach-price{font-size:.82rem;color:var(--gold);font-weight:600;}
.verified-badge{color:var(--gold);font-size:.75rem;font-weight:600;}
.tags{display:flex;flex-wrap:wrap;gap:.4rem;}
.tag{background:var(--gold-subtle);color:var(--text-body);padding:.2rem .7rem;border-radius:2px;font-size:.72rem;letter-spacing:.03em;}
.rating{color:var(--gold);font-weight:600;font-size:.82rem;}

/* ── Coach Profile ── */
.profile-hero{position:relative;height:420px;overflow:hidden;}
.profile-hero-photo img{width:100%;height:100%;object-fit:cover;display:block;}
.profile-hero-placeholder{width:100%;height:100%;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center;font-family:'Questrial',system-ui,sans-serif;font-size:6rem;font-weight:400;letter-spacing:.03em;color:var(--muted);}
.profile-hero-overlay{position:absolute;bottom:0;left:0;right:0;padding:3rem 0 2.5rem;background:linear-gradient(to top,rgba(0,0,0,0.7) 0%,rgba(0,0,0,0.3) 60%,transparent 100%);}
.profile-hero-info{color:#fff;}
.verified-label{display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:.5rem;}
.profile-hero-info h1{font-size:2.4rem;font-weight:600;margin-bottom:.3rem;color:#fff;}
.profile-title{font-size:1rem;opacity:.85;margin-bottom:.2rem;}
.profile-location{font-size:.85rem;opacity:.65;}

.profile-container{display:grid;grid-template-columns:1fr 300px;gap:3rem;align-items:start;max-width:960px;}
.profile-main{min-width:0;}
.profile-meta-bar{display:flex;align-items:center;gap:2rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border);}
.experience-badge{display:flex;flex-direction:column;align-items:center;gap:.1rem;}
.exp-number{font-family:'Questrial',system-ui,sans-serif;font-size:2rem;font-weight:400;letter-spacing:.03em;color:var(--text);line-height:1;}
.exp-label{font-size:.7rem;color:var(--muted);letter-spacing:.03em;}

/* Certified label */
.certified-label{display:inline-block;padding:4px 12px;border-radius:20px;font-size:.72rem;font-weight:600;background:rgba(42,122,107,0.12);color:var(--gold);letter-spacing:.05em;margin-bottom:4px;margin-right:4px;}
.cert-tags{display:flex;flex-wrap:wrap;gap:.5rem;}
.cert-tag{background:var(--gold-subtle);border:1px solid var(--gold);color:var(--text);padding:.4rem .8rem;border-radius:20px;font-size:.8rem;font-weight:500;display:inline-flex;align-items:center;gap:.3rem;}

/* Profile detail blocks */
.profile-details-grid{display:flex;gap:2rem;flex-wrap:wrap;padding:1.5rem;background:var(--bg-secondary);border-radius:var(--radius);margin-bottom:2rem !important;}
.detail-block h4{font-family:'Inter',system-ui,sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-bottom:.5rem;}
.detail-tags{display:flex;flex-wrap:wrap;gap:.4rem;}
.detail-tag{background:var(--card);border:1px solid var(--border);padding:.3rem .7rem;border-radius:20px;font-size:.8rem;color:var(--text-body);display:inline-flex;align-items:center;gap:.3rem;}
.detail-tag-native{border-color:var(--gold);background:var(--gold-subtle);}
.detail-tag small{font-size:.68rem;color:var(--gold);font-weight:500;}

.profile-section{margin-bottom:2rem;}
.profile-section h2{font-size:1.3rem;font-weight:600;margin-bottom:1.2rem;letter-spacing:.02em;}
.profile-bio{line-height:1.9;color:var(--text-body);}

.packages-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem;}
.package-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius);padding:1.8rem;}
.package-card h3{font-family:'Questrial',system-ui,sans-serif;font-size:1.05rem;font-weight:400;letter-spacing:.03em;margin-bottom:.4rem;}
.package-card p{font-size:.85rem;color:var(--muted);margin-bottom:.8rem;line-height:1.6;}
.package-price{font-family:'Questrial',system-ui,sans-serif;font-size:1.8rem;font-weight:400;letter-spacing:.03em;color:var(--gold);}
.package-duration{font-size:.78rem;color:var(--muted);}

/* Session Formats */
.session-formats{display:flex;flex-direction:column;gap:1rem;}
.session-format-card{padding:1.2rem 1.4rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);transition:border-color .2s;}
.session-format-card:hover{border-color:var(--gold);}
.sf-header{display:flex;align-items:flex-start;gap:.8rem;margin-bottom:.6rem;}
.sf-icon{font-size:1.3rem;margin-top:2px;}
.sf-header h4{font-family:'Inter',system-ui,sans-serif;font-size:.92rem;font-weight:600;margin-bottom:.2rem;}
.sf-type-tag{display:inline-block;font-size:.7rem;padding:2px 8px;border-radius:10px;font-weight:500;letter-spacing:.02em;}
.sf-individual{background:rgba(42,122,107,0.12);color:var(--gold);}
.sf-small_group{background:rgba(59,130,246,0.1);color:#3b82f6;}
.sf-group{background:rgba(168,85,247,0.1);color:#a855f7;}
.sf-desc{font-size:.84rem;color:var(--text-body);line-height:1.6;margin-bottom:.8rem;}
.sf-meta{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;}
.sf-price{font-weight:600;color:var(--text);font-size:.92rem;}
.sf-price small{font-weight:400;color:var(--muted);font-size:.78rem;}
.sf-individuality{font-size:.72rem;color:var(--muted);letter-spacing:.03em;}
.sf-ind-hoch{color:var(--gold);}
.sf-ind-mittel{color:#3b82f6;}
.sf-ind-basis{color:var(--muted);}

/* Qualifications */
.qual-list{display:flex;flex-direction:column;gap:1rem;}
.qual-item{display:flex;gap:1rem;align-items:flex-start;padding:1rem;background:var(--bg-secondary);border-radius:var(--radius);transition:background .2s;}
.qual-item:hover{background:var(--gold-subtle);}
.qual-logo{width:40px;height:40px;border-radius:6px;object-fit:contain;flex-shrink:0;}
.qual-logo-placeholder{width:40px;height:40px;border-radius:6px;background:var(--card);border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0;}
.qual-info h4{font-family:'Inter',system-ui,sans-serif;font-size:.88rem;font-weight:600;color:var(--text);margin-bottom:.15rem;}
.qual-info p{font-size:.82rem;color:var(--text-body);}
.qual-info a{color:var(--gold);text-decoration:none;}
.qual-info a:hover{text-decoration:underline;}
.qual-year{color:var(--muted);font-size:.75rem;margin-left:.4rem;}
.qual-proof{margin-left:.4rem;text-decoration:none;font-size:.85rem;opacity:.6;transition:opacity .2s;}
.qual-proof:hover{opacity:1;}

/* Career Timeline */
.career-list{position:relative;padding-left:1.5rem;}
.career-list::before{content:'';position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:var(--border);}
.career-item{display:flex;gap:1rem;margin-bottom:1.2rem;position:relative;}
.career-item:last-child{margin-bottom:0;}
.career-dot{width:11px;height:11px;border-radius:50%;border:2px solid var(--gold);background:var(--bg);flex-shrink:0;margin-top:4px;position:relative;z-index:1;}
.career-info h4{font-family:'Inter',system-ui,sans-serif;font-size:.88rem;font-weight:600;color:var(--text);margin-bottom:.1rem;}
.career-info p{font-size:.82rem;color:var(--text-body);margin-bottom:.1rem;}
.career-info a{color:var(--gold);text-decoration:none;}
.career-info a:hover{text-decoration:underline;}
.career-period{font-size:.75rem;color:var(--muted);}

.profile-testimonial{margin-bottom:2rem;padding-left:1.5rem;border-left:1px solid var(--gold);}
.profile-testimonial .quote-mark{font-size:2.5rem;margin-bottom:.3rem;}
.profile-testimonial .testimonial-text{font-family:'Questrial',system-ui,sans-serif;font-size:1.15rem;font-style:italic;color:var(--text);line-height:1.6;margin-bottom:.6rem;}
.profile-testimonial .testimonial-author{font-size:.82rem;color:var(--muted);}

.profile-sidebar{position:sticky;top:100px;}
.sidebar-cta{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;}
.sidebar-note{font-size:.78rem;color:var(--muted);text-align:center;margin-top:1rem;}

.mobile-cta{display:none;}

/* ── Footer ── */
.footer{margin-top:auto;border-top:1px solid var(--border);padding:1.5rem 0;background:var(--bg);}
.footer-inner{display:flex;flex-direction:column;align-items:center;text-align:center;gap:1rem;}
.footer-col{display:flex;flex-direction:column;align-items:center;gap:.3rem;}
.footer-col a{color:var(--muted);font-size:.8rem;letter-spacing:.03em;transition:color .3s;}
.footer-col a:hover{color:var(--gold);}
.footer .logo-img{height:20px;}

.main-content{flex:1;}

/* ── Mobile ── */
/* ── Tablet (769px – 1023px) ── */
@media(min-width:769px) and (max-width:1023px){
    .container{padding:0 2rem;}
    .hero-title{font-size:2.6rem;}
    .pillars-grid{grid-template-columns:repeat(3,1fr);gap:1.2rem;}
    .pillar-card{padding:1.8rem 1.2rem;}
    .topics-grid{grid-template-columns:repeat(3,1fr);}
    .journeys-grid{grid-template-columns:repeat(2,1fr);gap:1.2rem;}
    .for-whom-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem;}
    .steps-grid{grid-template-columns:repeat(3,1fr);gap:1.2rem;}
    .pricing-grid{grid-template-columns:repeat(2,1fr);gap:1.2rem;}
    .testimonial-hero{grid-template-columns:220px 1fr;gap:2rem;}
    .coach-card{grid-template-columns:120px 1fr;gap:1.5rem;padding:1.5rem;}
    .coach-card-photo img,.photo-placeholder-large{width:120px;height:120px;}
    .profile-container{grid-template-columns:1fr 260px;gap:2rem;}
    .profile-details-grid{gap:1.5rem;}
    .section{padding:3.5rem 0;}
    .stats-row{gap:0;}
    .stat-item{padding:.6rem 1.5rem;}
}

/* ── Mobile (≤768px) ── */
@media(max-width:768px){
    .container{padding:0 1.2rem;}
    .nav-toggle{display:block;}
    .nav-links{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg);flex-direction:column;padding:1.5rem;border-bottom:1px solid var(--border);gap:1rem;}
    .nav-links.open{display:flex;}
    .hero{padding:3rem 0 3rem;}
    .hero-title{font-size:1.8rem;}
    .hero-sub{font-size:.9rem;}
    .hero-ctas{flex-direction:column;align-items:center;gap:.8rem;}
    .hero-ctas .btn{width:100%;max-width:280px;}
    .section{padding:3rem 0;}
    .section-title{font-size:1.4rem;}
    .section-intro{font-size:.88rem;margin-bottom:2rem;}
    .stats-row{flex-direction:column;gap:1.5rem;}
    .stat-divider{width:40px;height:1px;}
    .stat-item{padding:0;}
    .stat-number{font-size:2.2rem;}
    .steps-grid{grid-template-columns:1fr;gap:1.5rem;}
    .step-item{padding:1.5rem 1.2rem;}
    .pillars-grid{grid-template-columns:1fr;gap:1.2rem;}
    .pillar-card{padding:2rem 1.5rem;}
    .topics-grid{grid-template-columns:repeat(2,1fr);}
    .topic-card{padding:1.2rem 1rem;}
    .topic-icon{font-size:1.4rem;margin-bottom:.5rem;}
    .topic-card h3{font-size:.95rem;}
    .topic-card p{font-size:.78rem;}
    .journeys-grid{grid-template-columns:1fr;gap:1rem;}
    .journey-card{padding:1.5rem;}
    .journey-steps{gap:.3rem;}
    .flow-timeline{max-width:100%;}
    .flow-timeline::before{left:23px;}
    .flow-step{gap:1.2rem;}
    .flow-number{width:40px;height:40px;font-size:.9rem;}
    .flow-content h3{font-size:1.05rem;}
    .for-whom-grid{grid-template-columns:1fr;gap:1.2rem;}
    .for-whom-card{padding:2rem 1.5rem;}
    .cert-grid{grid-template-columns:1fr;gap:1.2rem;}
    .cert-card{padding:2rem 1.5rem;}
    .faq-question{font-size:.9rem;padding:1rem 0;}
    .faq-answer{font-size:.85rem;}
    .testimonial-hero{grid-template-columns:1fr;gap:2rem;}
    .testimonial-photo,.testimonial-photo-placeholder{max-width:120px;margin:0 auto;aspect-ratio:1;border-radius:50%;}
    .testimonial-quote{font-size:1.05rem;}
    .pricing-grid{grid-template-columns:1fr;}
    .pricing-tabs-prominent{max-width:100%;}
    .pricing-tab{padding:.6rem 1rem;font-size:.72rem;}
    .billing-toggle{padding:.8rem 1rem;gap:.6rem;}
    .pricing-card{padding:1.5rem 1.2rem;}
    .profile-hero{height:280px;}
    .profile-hero-info h1{font-size:1.8rem;}
    .profile-container{grid-template-columns:1fr;}
    .profile-sidebar{display:none;}
    .profile-details-grid{flex-direction:column;gap:1.2rem;padding:1.2rem;}
    .mobile-cta{display:block;position:fixed;bottom:0;left:0;right:0;padding:.8rem 1.2rem;background:var(--bg);border-top:1px solid var(--border);z-index:90;}
    .coach-card{grid-template-columns:80px 1fr;gap:1rem;padding:1.2rem;}
    .coach-card-photo img,.photo-placeholder-large{width:80px;height:80px;}
    .coach-card-body h3{font-size:1.05rem;}
    .footer-inner{flex-direction:column;text-align:center;gap:.8rem;}
    .search-bar-wrap{margin-bottom:1.2rem;}
    .filter-chips{gap:.3rem;}
    .chip{padding:.25rem .7rem;font-size:.72rem;}
    .lang-dropdown{font-size:.7rem;padding:2px 4px;}
    .cta-section h2{font-size:1.5rem;}
    .cta-section p{font-size:.88rem;}
}

/* ── Language Switcher ── */
.lang-switcher{display:flex;align-items:center;}
.lang-dropdown{padding:3px 6px;font-size:.75rem;font-weight:600;letter-spacing:.08em;border:1px solid var(--border);border-radius:4px;background:var(--card);color:var(--text);cursor:pointer;appearance:auto;}

/* ── Pricing Page specifics ── */
.pricing-page .page-title{margin-bottom:1.5rem;}

/* Legal pages */
.legal-content{max-width:720px;margin:0 auto;}
.legal-content h1{font-family:'Questrial',system-ui,sans-serif;font-size:2rem;font-weight:500;margin-bottom:.5rem;}
.legal-subtitle{color:var(--muted);font-size:.85rem;margin-bottom:2.5rem;}
.legal-content h2{font-family:'Questrial',system-ui,sans-serif;font-size:1.25rem;font-weight:500;margin:2rem 0 .8rem;color:var(--text);}
.legal-content h3{font-size:.9rem;font-weight:600;margin:1.5rem 0 .5rem;letter-spacing:.02em;}
.legal-content p{margin-bottom:.8rem;font-size:.9rem;line-height:1.7;color:var(--text-body);}
.legal-content ul{margin:0 0 1rem 1.2rem;font-size:.9rem;line-height:1.7;color:var(--text-body);}
.legal-content li{margin-bottom:.4rem;}
.legal-content a{color:var(--gold);border-bottom:1px solid rgba(184,154,62,0.2);}
.legal-content a:hover{border-bottom-color:var(--gold);}

/* ── Desktop refinements (≥1024px) ── */
@media(min-width:1024px){
  body{font-size:16px;}
  .hero-title{font-size:3.4rem;}
  .hero-sub{font-size:1.1rem;max-width:540px;}
  .stat-number{font-size:3.2rem;}
  .stat-label{font-size:.9rem;}
  .step-item h3{font-size:1.35rem;}
  .step-item p{font-size:.95rem;}
  .pricing-card h3{font-size:1.4rem;}
  .pricing-card .price{font-size:2.4rem;}
  .pricing-card ul li{font-size:.92rem;}
  .testimonial-quote{font-size:1.3rem;}
  .section-label{font-size:.72rem;}
}

/* ── Role Wizard Overlay ── */
.role-wizard{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;display:flex;align-items:center;justify-content:center;animation:wizardIn .4s ease;}
.role-wizard.hidden{display:none;}
.role-wizard-backdrop{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.5);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);}
.role-wizard-content{position:relative;background:var(--card);border:1px solid var(--border);border-radius:6px;padding:3rem 2.5rem;max-width:600px;width:90%;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,0.15);}
.role-wizard-label{font-size:.65rem;letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin-bottom:.8rem;font-weight:600;}
.role-wizard-title{font-family:'Questrial',system-ui,sans-serif;font-size:1.8rem;font-weight:500;color:var(--text);margin-bottom:2.5rem;}
.role-wizard-options{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;}
.role-option{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius);padding:2rem 1.5rem;cursor:pointer;transition:all .3s;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.6rem;}
.role-option:hover{border-color:var(--gold);background:var(--gold-subtle);box-shadow:0 4px 24px rgba(0,0,0,0.06);}
.role-option-icon{font-size:2rem;display:block;}
.role-option-title{font-family:'Inter',system-ui,sans-serif;font-size:.85rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text);}
.role-option-desc{font-size:.85rem;color:var(--muted);line-height:1.5;}
@keyframes wizardIn{from{opacity:0;}to{opacity:1;}}
/* ── Small Mobile (≤480px) ── */
@media(max-width:480px){
  .container{padding:0 .6rem;}
  .hero-title{font-size:1.5rem;}
  .hero{padding:2.5rem 0;}
  .section{padding:2.5rem 0;}
  .topics-grid{grid-template-columns:1fr;}
  .topic-card{padding:1rem;}
  .topic-icon{font-size:1.6rem;margin-bottom:.5rem;}
  .topic-card .topic-content{flex:1;min-width:0;}
  .topic-card h3{font-size:.95rem;margin-bottom:.2rem;}
  .topic-card p{font-size:.78rem;}
  .role-wizard-options{grid-template-columns:1fr;}
  .role-wizard-content{padding:2rem 1.5rem;}
  .coach-card{grid-template-columns:64px 1fr;gap:.8rem;padding:1rem;}
  .coach-card-photo img,.photo-placeholder-large{width:64px;height:64px;border-radius:50%;}
  .stat-number{font-size:2rem;}
  .pricing-tabs-prominent{padding:.2rem;gap:.3rem;}
  .pricing-tab{padding:.5rem .8rem;font-size:.68rem;}
  .billing-toggle{flex-wrap:wrap;justify-content:center;}
  .btn{padding:.7rem 1.5rem;font-size:.8rem;min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
  .faq-question{min-height:44px;}
  .chip{min-height:36px;display:inline-flex;align-items:center;}
  .nav-toggle{min-width:44px;min-height:44px;display:flex;align-items:center;justify-content:center;}
}

/* Enterprise card */
.pricing-enterprise{border-style:dashed;}
.pricing-enterprise:hover{border-style:solid;border-color:var(--gold);}

/* Tier badges */
.tier-badge{padding:3px 10px;border-radius:10px;font-size:11px;font-weight:600;letter-spacing:0.5px;}
.tier-starter{background:rgba(150,150,150,0.15);color:var(--muted);}
.tier-professional{background:var(--gold-subtle);color:var(--gold);}
.tier-premium{background:var(--premium-subtle);color:var(--premium);}

/* Upgrade hint */
.upgrade-hint{font-size:11px;padding:3px 10px;border-radius:10px;background:rgba(184,154,62,0.1);color:var(--gold);font-weight:500;}

/* Coach dashboard forms */
.form-group{margin-bottom:1.2rem;}
.form-group label{display:block;font-size:13px;font-weight:600;margin-bottom:6px;letter-spacing:0.3px;}
.form-group input,.form-group select,.form-group textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:var(--radius);font-size:15px;font-family:inherit;background:var(--bg);color:var(--text);transition:border-color .2s;}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--gold);outline:none;box-shadow:0 0 0 2px rgba(42,122,107,.12);}
.form-input{width:100%;padding:10px 12px;border:1px solid var(--border);border-radius:6px;background:var(--bg);color:var(--text);font-size:14px;font-family:'Inter',sans-serif;}
.form-input:focus{outline:none;border-color:var(--gold);}
textarea.form-input{resize:vertical;}

/* Category checkboxes */
.category-check{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--border);border-radius:16px;font-size:13px;cursor:pointer;transition:border-color 0.2s;}
.category-check:has(input:checked){border-color:var(--gold);background:rgba(184,154,62,0.08);}
.category-check.locked{opacity:0.4;cursor:not-allowed;}
.category-check input{display:none;}

/* Chart cards */
.chart-card{padding:1.5rem;}
.chart-title{font-size:1rem;font-family:'Questrial',system-ui,sans-serif;margin-bottom:1rem;color:var(--gold);font-weight:600;}

/* Featured label */
.featured-label{display:inline-block;padding:3px 10px;border-radius:10px;font-size:11px;font-weight:600;background:var(--premium-subtle);color:var(--premium);margin-bottom:4px;}

/* ── Expandable Topic Cards ── */
.topic-card.expandable{cursor:pointer;position:relative;transition:all .3s ease;}
.topic-card.expandable .topic-detail{max-height:0;overflow:hidden;opacity:0;transition:max-height .4s ease, opacity .3s ease;margin-top:0;}
.topic-card.expandable.open .topic-detail{max-height:300px;opacity:1;margin-top:12px;}
.topic-detail p{font-size:.85rem;line-height:1.7;color:var(--text-body);margin-bottom:12px;}
.topic-link{font-size:.8rem;color:var(--gold);font-weight:500;text-decoration:none;letter-spacing:.04em;align-self:center;margin-top:auto;padding-top:.8rem;opacity:.7;transition:opacity .3s;}
.topic-card:hover .topic-link{opacity:1;}
.topic-link:hover{text-decoration:underline;}
.expand-icon{display:block;text-align:center;font-size:.7rem;color:var(--muted);margin-top:8px;}
.topic-card.expandable.open .expand-icon{display:none;}

/* ── Expandable Pricing Cards ── */
.pricing-card.expandable-price{cursor:pointer;position:relative;}
.pricing-card.expandable-price.open{overflow:visible;height:auto !important;align-self:start;min-height:0 !important;}
/* features-preview always visible, features-extra controlled by .open class above */
.pricing-card .features-preview{list-style:none;padding:0;margin:0 0 8px;}
.pricing-card .features-preview li{display:flex;gap:6px;align-items:flex-start;padding:4px 0 !important;padding-left:0 !important;position:static !important;font-size:.88rem;color:var(--text);}
.pricing-card .features-preview li::before{content:"✓" !important;position:static !important;left:auto !important;color:var(--gold);font-weight:600;flex-shrink:0;font-size:.88rem !important;}
.pricing-card .features-extra{list-style:none;padding:0;margin:0 0 8px;max-height:0;overflow:hidden;transition:max-height .4s ease,margin .4s ease,padding .4s ease;}
.pricing-card.expandable-price.open .features-extra{max-height:2000px;margin-bottom:16px;overflow:visible;}
.pricing-card .features-extra li{display:flex;gap:6px;align-items:flex-start;padding:4px 0 !important;padding-left:0 !important;position:static !important;font-size:.88rem;color:var(--text);}
.pricing-card .features-extra li::before{content:"✓" !important;position:static !important;left:auto !important;color:var(--gold);font-weight:600;flex-shrink:0;font-size:.88rem !important;}
.pricing-card.expandable-price .expand-price-icon{display:block;text-align:center;font-size:.8rem;color:var(--gold);margin:8px 0;cursor:pointer;transition:opacity .3s;}
.pricing-card.expandable-price .expand-price-icon:hover{opacity:.7;}
.pricing-card.expandable-price.open .expand-price-icon{display:none;}
.pricing-card.expandable-price .price-note{margin-bottom:0;}

/* ── Pre-Launch Features (temporary, remove after launch) ── */
.prelaunch-banner{background:linear-gradient(135deg,#b8972e 0%,#d4af37 50%,#c9a84c 100%);color:#fff;padding:.65rem 0;font-size:.85rem;position:sticky;top:0;z-index:1100;text-shadow:0 1px 2px rgba(0,0,0,.15);}
.prelaunch-inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.5rem;}
.prelaunch-text{display:flex;align-items:center;gap:.8rem;}
.prelaunch-badge{background:rgba(255,255,255,.2);padding:.2rem .7rem;border-radius:20px;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;}
.prelaunch-countdown{font-family:'Questrial',system-ui,sans-serif;font-weight:500;font-size:.9rem;letter-spacing:.02em;}
.founding-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;margin-bottom:3rem;}
.founding-card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;text-align:center;}
.founding-card:hover{border-color:var(--gold);box-shadow:var(--card-shadow);}
.founding-icon{font-size:2.5rem;margin-bottom:1rem;}
.founding-card h3{font-family:'Questrial',system-ui,sans-serif;font-size:1.3rem;font-weight:400;margin-bottom:.5rem;}
.founding-benefit{color:var(--gold);font-weight:600;font-size:.95rem;margin-bottom:1rem;}
.founding-card ul{list-style:none;text-align:left;margin:0 0 1.5rem;padding:0;}
.founding-card ul li{padding:.35rem 0;padding-left:1.4rem;position:relative;font-size:.88rem;color:var(--text-body);}
.founding-card ul li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:600;}
.founding-progress{margin-bottom:1.2rem;}
.founding-bar{height:6px;background:var(--border);border-radius:3px;overflow:hidden;margin-bottom:.4rem;}
.founding-fill{height:100%;background:var(--gold);border-radius:3px;transition:width .6s ease;}
.founding-count{font-size:.78rem;color:var(--muted);}
.founding-newsletter{text-align:center;padding:2.5rem;background:var(--card);border:1px solid var(--border);border-radius:var(--radius);}
.founding-newsletter h3{font-family:'Questrial',system-ui,sans-serif;font-size:1.2rem;font-weight:400;margin-bottom:.5rem;}
.newsletter-form{display:flex;gap:.5rem;max-width:460px;margin:1.2rem auto 0;justify-content:center;}
.newsletter-input{flex:1;padding:.7rem 1rem;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);color:var(--text);font-size:.9rem;font-family:inherit;}
.newsletter-input:focus{border-color:var(--gold);outline:none;}
.newsletter-count{margin-top:.8rem;font-size:.78rem;}
@media(max-width:768px){
  .founding-grid{grid-template-columns:1fr;}
  .prelaunch-inner{justify-content:center;text-align:center;}
  .newsletter-form{flex-direction:column;}
}
/* ── End Pre-Launch ── */

/* Skip Link (Accessibility) */
.skip-link{position:absolute;top:-100%;left:50%;transform:translateX(-50%);background:var(--gold);color:#fff;padding:.8rem 1.5rem;border-radius:var(--radius);z-index:9999;font-weight:600;text-decoration:none;transition:top .2s;}
.skip-link:focus{top:1rem;}

/* Pre-Launch Search Placeholder */
.prelaunch-search-placeholder{text-align:center;padding:3rem 1.5rem;background:linear-gradient(135deg,rgba(201,168,76,0.08),rgba(201,168,76,0.03));border:1px solid rgba(201,168,76,0.3);border-radius:var(--radius);margin:2rem 0;}
.prelaunch-search-placeholder .prelaunch-search-icon{font-size:3rem;margin-bottom:1rem;}
.prelaunch-search-placeholder h3{font-family:'Questrial',system-ui,sans-serif;font-size:1.4rem;color:var(--gold);margin-bottom:1rem;}
.prelaunch-search-placeholder p{color:var(--text-body);font-size:.95rem;max-width:500px;margin:0 auto;line-height:1.6;}
/* Pre-Launch Demo Banner */
.prelaunch-demo-banner{background:rgba(201,168,76,0.12);border:1px solid rgba(201,168,76,0.4);border-radius:var(--radius);padding:.8rem 1.2rem;margin-bottom:1.5rem;text-align:center;font-size:.85rem;color:var(--gold);font-weight:500;}
.prelaunch-demo-banner a{color:var(--gold);text-decoration:underline;}
/* Demo Badge on Coach Cards */
.demo-badge{position:absolute;top:8px;right:8px;background:rgba(201,168,76,0.9);color:#0a0a0a;font-size:.65rem;font-weight:700;padding:3px 8px;border-radius:4px;letter-spacing:.05em;text-transform:uppercase;z-index:2;}

/* Pre-Launch Search Placeholder */
.prelaunch-search-placeholder{text-align:center;padding:3rem 2rem;background:linear-gradient(135deg,rgba(201,168,76,0.08),rgba(201,168,76,0.03));border:1px solid rgba(201,168,76,0.3);border-radius:var(--radius);margin:2rem 0;}
.prelaunch-search-placeholder .prelaunch-search-icon{font-size:3rem;margin-bottom:1rem;}
.prelaunch-search-placeholder h3{font-family:'Questrial',system-ui,sans-serif;color:var(--gold);font-size:1.4rem;margin-bottom:1rem;}
.prelaunch-search-placeholder p{color:var(--text-body);font-size:.95rem;max-width:500px;margin:0 auto;line-height:1.6;}

/* Demo Coach Badge */
.demo-badge{display:inline-block;background:rgba(201,168,76,0.15);color:var(--gold);font-size:.7rem;font-weight:600;padding:3px 10px;border-radius:12px;border:1px solid rgba(201,168,76,0.3);letter-spacing:.03em;margin-left:6px;vertical-align:middle;}
.demo-banner{background:rgba(201,168,76,0.1);border:1px solid rgba(201,168,76,0.25);border-radius:var(--radius);padding:.8rem 1.2rem;margin-bottom:1.5rem;text-align:center;font-size:.85rem;color:var(--gold);}
.wizard-lang-tag{display:inline-flex;align-items:center;gap:4px;padding:.3rem .7rem;background:rgba(201,168,76,0.12);border:1px solid rgba(201,168,76,0.3);border-radius:6px;font-size:.8rem;color:var(--text);}

/* Topic show/hide */
.topic-hidden{display:none;}
.topics-grid.show-all .topic-hidden{display:flex;}
/* Desktop-only elements */
@media(max-width:767px){.desktop-only{display:none!important;}}
/* Compact topic cards */
.topic-card-compact{background:var(--card);border:1px solid var(--border);border-radius:10px;padding:.7rem 1rem;transition:border-color .2s;}
.topic-card-compact:hover{border-color:var(--gold, #c8a24e);}
.topics-grid.desktop-only{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:.6rem;}
/* Mobile-only */
@media(min-width:768px){.mobile-only{display:none!important;}}
/* Cluster Accordion */
.cluster-accordion{margin-bottom:.5rem;}
.cluster-header{display:flex;align-items:center;gap:.6rem;width:100%;padding:.85rem 1rem;background:var(--card);border:1.5px solid var(--border);border-radius:10px;cursor:pointer;font-size:.9rem;font-weight:600;color:var(--text);transition:all .2s;}
.cluster-header[aria-expanded="true"]{border-radius:10px 10px 0 0;border-bottom-color:transparent;}
.cluster-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0;}
.cluster-name{flex:1;text-align:left;}
.cluster-count{font-size:.75rem;color:var(--muted);background:var(--border);padding:.1rem .45rem;border-radius:8px;}
.cluster-chevron{font-size:.8rem;color:var(--muted);transition:transform .2s;}
.cluster-header[aria-expanded="true"] .cluster-chevron{transform:rotate(180deg);}
.cluster-body{padding:.5rem;background:var(--card);border:1.5px solid var(--border);border-top:0;border-radius:0 0 10px 10px;display:flex;flex-wrap:wrap;gap:.4rem;}
.topic-chip{display:inline-flex;align-items:center;gap:.3rem;padding:.45rem .7rem;border-radius:20px;border:1px solid;font-size:.8rem;text-decoration:none;color:var(--text);background:var(--bg);transition:all .15s;}
.topic-chip:active{transform:scale(.96);opacity:.8;}
