/* ===== Centro de Longevidad · Módulos GHL ===== */
[hidden]{display:none!important}
.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}
form.gf{background:none;padding:0;box-shadow:none;border-radius:0}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{padding:9px 16px;border-radius:99px;border:1.5px solid var(--line);background:#fff;font:600 .84rem 'Montserrat',sans-serif;color:var(--navy);cursor:pointer;transition:.2s}
.chip:hover{border-color:var(--sky)}
.chip.on{background:var(--navy);border-color:var(--navy);color:#fff}
.btn-sm{padding:11px 18px;font-size:.84rem}
.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}
.chk{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;font-weight:500;font-size:.84rem;color:var(--muted);line-height:1.45}
.chk input{width:18px;height:18px;flex-shrink:0;margin-top:1px;accent-color:var(--blue);padding:0}
.folio{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1rem;font-weight:600;padding:7px 14px;border-radius:10px;background:var(--mist);color:var(--navy);letter-spacing:.06em;display:inline-block}
.done-card{text-align:center;display:grid;gap:12px;justify-items:center;padding:8px 0}
.done-card p{color:var(--muted);font-size:.9rem;max-width:420px}
.done-ico{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,var(--blue),var(--sky));display:grid;place-items:center;box-shadow:0 14px 30px -10px rgba(0,160,249,.6)}
.slots-empty{font-size:.88rem;color:var(--muted);grid-column:1/-1;padding:16px;border:1.5px dashed var(--line);border-radius:14px;text-align:center}

/* NAV */
.nav-act{display:flex;align-items:center;gap:12px;margin-left:auto}
.cart-btn{position:relative;width:44px;height:44px;border-radius:50%;border:1.5px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;transition:border-color .2s}
.cart-btn:hover{border-color:var(--sky)}
.cart-btn svg{width:20px;height:20px;stroke:var(--navy);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.cart-count{min-width:20px;height:20px;border-radius:99px;background:var(--sky);color:#fff;font-size:.68rem;font-weight:700;display:inline-grid;place-items:center;padding:0 6px}
.cart-btn .cart-count{position:absolute;top:-5px;right:-5px}
.cart-count:empty{display:none}
@media (max-width:1180px){.nav-links{gap:20px;font-size:.82rem}}

/* AGENDA */
.agenda{background:#fff}
.book{display:grid;grid-template-columns:minmax(0,1fr) 330px;border:1px solid var(--line);border-radius:28px;overflow:hidden;box-shadow:var(--shadow);background:#fff}
.book-main{padding:36px 38px;display:flex;flex-direction:column;gap:26px;min-width:0;min-height:520px}
.steps{list-style:none;display:flex;gap:8px;counter-reset:s}
.steps li{flex:1;counter-increment:s;font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);padding-top:12px;border-top:3px solid var(--line);transition:.3s}
.steps li::before{content:"0" counter(s) " · "}
.steps li.on{color:var(--navy);border-color:var(--sky)}
.steps li.done{color:var(--blue);border-color:var(--blue)}
.bstep{display:none;gap:20px}
.bstep.on{display:grid;animation:ghlUp .45s cubic-bezier(.2,.8,.2,1)}
@keyframes ghlUp{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}
.bstep h4{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.05em;font-weight:500;font-size:1.3rem;color:var(--navy)}
.svc-pick{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px}
.svc-opt{text-align:left;padding:14px 16px;border-radius:14px;border:1.5px solid var(--line);background:var(--bg);cursor:pointer;font-family:inherit;transition:.2s;display:grid;gap:3px}
.svc-opt b{font-size:.9rem;color:var(--navy);line-height:1.3}
.svc-opt span{font-size:.72rem;color:var(--muted);line-height:1.35}
.svc-opt:hover{border-color:var(--sky)}
.svc-opt.on{border-color:var(--blue);background:#fff;box-shadow:0 0 0 4px rgba(0,160,249,.12)}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;scrollbar-width:thin}
.day{flex-shrink:0;width:66px;padding:11px 0;border-radius:14px;border:1.5px solid var(--line);background:#fff;text-align:center;cursor:pointer;font-family:inherit;transition:.2s}
.day:hover:not(:disabled){border-color:var(--sky)}
.day small{display:block;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.day b{font-family:'Oswald',sans-serif;font-size:1.5rem;font-weight:500;color:var(--navy);line-height:1.25;display:block}
.day span{font-size:.68rem;color:var(--muted)}
.day.on{background:var(--navy);border-color:var(--navy)}
.day.on small,.day.on b,.day.on span{color:#fff}
.day:disabled{opacity:.35;cursor:not-allowed}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.slot{padding:11px 0;border-radius:12px;border:1.5px solid var(--line);background:var(--bg);font:600 .86rem 'Montserrat',sans-serif;color:var(--navy);cursor:pointer;transition:.2s}
.slot:hover:not(:disabled){border-color:var(--sky)}
.slot.on{background:linear-gradient(135deg,var(--blue),var(--sky));color:#fff;border-color:transparent}
.slot:disabled{text-decoration:line-through;opacity:.38;cursor:not-allowed}
.book-nav{display:flex;justify-content:space-between;gap:12px;margin-top:auto}
.book-sum{background:var(--navy);color:#fff;padding:36px 30px;display:flex;flex-direction:column;gap:6px}
.book-sum h4{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.12em;font-weight:500;color:var(--sky-soft);font-size:.92rem;margin-bottom:10px}
.sum-row{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.86rem}
.sum-row span{opacity:.65;flex-shrink:0}
.sum-row b{text-align:right;font-weight:600}
.sum-foot{margin-top:auto;padding-top:18px;font-size:.76rem;opacity:.7;line-height:1.55}

/* CONFIRMAR */
.confirm{margin-top:28px;display:grid;grid-template-columns:.8fr 1.2fr;gap:34px;align-items:start;padding:34px 38px;border-radius:28px;background:var(--mist);border:1px solid var(--line)}
.confirm h3{font-family:'Oswald',sans-serif;text-transform:uppercase;font-weight:500;font-size:1.6rem;color:var(--navy);line-height:1.15;margin-top:12px}
.confirm p{color:var(--muted);font-size:.92rem;margin-top:8px}
.cf-form{grid-template-columns:1fr 1fr auto;gap:10px;align-items:end}
.cf-form input{background:#fff}
.appt{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px 22px;display:grid;gap:16px;margin-top:6px}
.appt-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}
.appt-info{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px}
.appt-info small{display:block;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.appt-info b{font-size:.9rem;color:var(--navy);font-weight:600}
.status{font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 11px;border-radius:99px;background:#fff1cc;color:#7a5400}
.status.ok{background:#d9f5e4;color:#126b37}
.status.no{background:#fde2e2;color:#9b2424}
.appt-actions{display:flex;flex-wrap:wrap;gap:8px}

/* TIENDA */
.store{background:linear-gradient(180deg,#fff,var(--mist))}
.store-bar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:26px}
.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:20px}
.prod{background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;display:flex;flex-direction:column;transition:transform .3s,box-shadow .3s}
.prod:hover{transform:translateY(-5px);box-shadow:var(--shadow)}
.ph{aspect-ratio:1/1;background:repeating-linear-gradient(135deg,#eef4f6 0 12px,#e5eef2 12px 24px);display:grid;place-items:center;position:relative}
.ph .lbl{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.68rem;color:var(--muted);background:rgba(255,255,255,.88);padding:4px 8px;border-radius:6px}
.ph .badge{position:absolute;top:12px;left:12px;font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:5px 10px;border-radius:99px;background:var(--navy);color:#fff}
.prod-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.prod-cat{font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.prod h3{font-size:1rem;color:var(--navy);line-height:1.3}
.prod p{font-size:.8rem;color:var(--muted);line-height:1.5}
.prod-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:12px}
.price{font-family:'Oswald',sans-serif;font-size:1.4rem;font-weight:500;color:var(--navy)}
.add{width:44px;height:44px;border-radius:50%;border:0;background:var(--navy);color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;transition:background .2s}
.add:hover{background:var(--blue)}
.store-note{margin-top:26px;font-size:.86rem;color:var(--muted);text-align:center}

/* CAPAS */
.overlay{position:fixed;inset:0;background:rgba(15,27,48,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:150;opacity:0;pointer-events:none;transition:opacity .3s}
.overlay.open{opacity:1;pointer-events:auto}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:#fff;z-index:160;transform:translateX(105%);transition:transform .4s cubic-bezier(.2,.8,.2,1);display:flex;flex-direction:column;box-shadow:-30px 0 60px -30px rgba(15,27,48,.4)}
.drawer.open{transform:none}
.drawer-head{padding:22px 26px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}
.drawer-head h3{font-family:'Oswald',sans-serif;text-transform:uppercase;font-weight:500;color:var(--navy);font-size:1.4rem}
.x{width:40px;height:40px;border-radius:50%;border:0;background:var(--mist);cursor:pointer;font-size:1.3rem;color:var(--navy);flex-shrink:0}
.drawer-body{flex:1;overflow:auto;padding:18px 26px;display:grid;gap:12px;align-content:start}
.ci{display:grid;grid-template-columns:52px 1fr auto;gap:14px;align-items:center;padding-bottom:12px;border-bottom:1px dashed var(--line)}
.ci .ph{border-radius:12px}
.ci b{font-size:.86rem;color:var(--navy);display:block;line-height:1.3}
.ci small{font-size:.76rem;color:var(--muted)}
.qty{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:99px}
.qty button{width:32px;height:32px;border:0;background:none;cursor:pointer;font-size:1rem;color:var(--navy)}
.qty span{min-width:20px;text-align:center;font-size:.84rem;font-weight:600}
.drawer-foot{padding:20px 26px 26px;border-top:1px solid var(--line);display:grid;gap:10px;background:var(--bg)}
.coupon{display:flex;gap:8px}
.coupon input{padding:11px 14px;background:#fff}
.coupon-msg{font-size:.78rem;color:var(--blue);font-weight:600}
.coupon-msg:empty{display:none}
.tot{display:flex;justify-content:space-between;font-size:.88rem;color:var(--muted)}
.tot.big{font-size:1.05rem;color:var(--navy);font-weight:700;padding-top:4px}
.empty{text-align:center;color:var(--muted);font-size:.9rem;padding:40px 0}
.modal{position:fixed;inset:0;z-index:170;display:grid;place-items:center;padding:20px;pointer-events:none}
.modal-card{width:min(480px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:26px;padding:32px;display:grid;gap:14px;opacity:0;transform:translateY(20px) scale(.98);transition:opacity .3s,transform .35s cubic-bezier(.2,.8,.2,1);box-shadow:0 40px 80px -30px rgba(15,27,48,.5)}
.modal.open .modal-card{opacity:1;transform:none;pointer-events:auto}
.modal-top{display:flex;justify-content:space-between;align-items:center;gap:12px}
.modal-card h3{font-family:'Oswald',sans-serif;text-transform:uppercase;font-weight:500;font-size:1.55rem;color:var(--navy);line-height:1.15}
.modal-card>p{color:var(--muted);font-size:.9rem}
.modal-card .gf{gap:14px}
.modal-card .gf .btn{justify-content:center}
.toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,30px);background:var(--navy);color:#fff;padding:14px 22px;border-radius:99px;font-size:.88rem;font-weight:600;z-index:200;opacity:0;transition:.35s;pointer-events:none;box-shadow:var(--shadow);max-width:calc(100% - 40px);text-align:center}
.toast.show{opacity:1;transform:translate(-50%,0)}

/* RULETA */
.premios{background:var(--navy);color:#fff;overflow:hidden}
.premios::before{content:"";position:absolute;inset:0;background:radial-gradient(600px 400px at 85% 30%,rgba(0,160,249,.22),transparent 70%),radial-gradient(500px 300px at 0% 100%,rgba(137,193,255,.14),transparent 70%);pointer-events:none}
.prem-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:60px;align-items:center;position:relative}
.premios .sec-head h2{color:#fff}
.premios .sec-head h2 .serif{color:var(--sky-soft)}
.premios .sec-head p{color:rgba(255,255,255,.75)}
.premios label{color:#fff}
.premios .chk{color:rgba(255,255,255,.75)}
.premios input{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff}
.premios input::placeholder{color:rgba(255,255,255,.45)}
.spin-form{gap:14px}
.spin-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.spin-count{font-size:.84rem;color:var(--sky-soft);font-weight:600}
.prize{margin-top:22px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.16);border-radius:20px;padding:22px 24px;display:grid;gap:10px;justify-items:start;animation:ghlUp .5s}
.prize small{font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--sky-soft)}
.prize b{font-family:'Oswald',sans-serif;text-transform:uppercase;font-weight:500;font-size:1.7rem;line-height:1.1}
.prize p{font-size:.86rem;opacity:.8}
.prize .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.3)}
.earn{margin-top:28px}
.earn h4{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.1em;font-weight:500;color:var(--sky-soft);font-size:.95rem;margin-bottom:6px}
.earn ul{list-style:none}
.earn li{display:flex;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.12);font-size:.9rem}
.earn li a{color:var(--sky-soft);font-weight:700;font-size:.84rem;white-space:nowrap}
.earn li.got span{opacity:.55;text-decoration:line-through}
.earn li.got a{display:none}
.earn li.got::after{content:"✓ Giro ganado";color:var(--sky-soft);font-size:.8rem;font-weight:700;white-space:nowrap}
.wheel-wrap{position:relative;width:min(440px,100%);aspect-ratio:1;margin:0 auto}
.wheel{position:absolute;inset:0;border-radius:50%;border:10px solid #fff;box-shadow:0 40px 80px -20px rgba(0,0,0,.55);transition:transform 5.2s cubic-bezier(.12,.72,.08,1)}
.wheel .lbl{position:absolute;inset:0}
.wheel .lbl span{position:absolute;left:50%;top:7%;transform:translateX(-50%);width:28%;text-align:center;font:500 .8rem/1.15 'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.03em}
.wheel-pin{position:absolute;top:-16px;left:50%;transform:translateX(-50%);width:34px;height:44px;background:#fff;clip-path:polygon(0 0,100% 0,50% 100%);z-index:3}
.wheel-hub{position:absolute;top:50%;left:50%;width:22%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;background:var(--navy);border:6px solid #fff;display:grid;place-items:center;font:500 1.2rem 'Oswald',sans-serif;color:#fff;letter-spacing:.12em;z-index:2}

/* CLASES */
.class-list{display:grid;gap:14px}
.cls{display:grid;grid-template-columns:100px minmax(0,1fr) auto;gap:26px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:22px;padding:22px 26px;transition:transform .3s,box-shadow .3s}
.cls:hover{box-shadow:var(--shadow);transform:translateY(-3px)}
.cls-date{text-align:center;border-right:1px solid var(--line);padding-right:22px}
.cls-date small{display:block;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.cls-date b{display:block;font:500 2.4rem/1.05 'Oswald',sans-serif;color:var(--navy)}
.cls-date span{font-size:.74rem;color:var(--muted);text-transform:capitalize}
.cls-mode{display:inline-block;font-size:.66rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:4px 10px;border-radius:99px;background:var(--mist);color:var(--navy);margin-bottom:6px}
.cls-mode.on{background:var(--navy);color:#fff}
.cls h3{font-family:'Oswald',sans-serif;text-transform:uppercase;font-weight:500;font-size:1.25rem;color:var(--navy);letter-spacing:.03em;line-height:1.2}
.cls-meta{display:flex;flex-wrap:wrap;gap:4px 18px;font-size:.82rem;color:var(--muted);margin-top:6px}
.cls-cta{display:grid;justify-items:end;gap:8px}
.seats{font-size:.74rem;font-weight:700;color:var(--blue)}

/* TESTS */
.tests{background:linear-gradient(180deg,var(--mist),var(--bg))}
.quiz-grid{display:grid;grid-template-columns:320px minmax(0,1fr);gap:24px}
.quiz-pick{display:grid;gap:12px;align-content:start}
.qp{text-align:left;padding:20px 22px;border-radius:18px;border:1.5px solid var(--line);background:#fff;cursor:pointer;display:grid;gap:4px;font-family:inherit;transition:.2s}
.qp:hover{border-color:var(--sky)}
.qp small{font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.qp b{font-family:'Oswald',sans-serif;text-transform:uppercase;font-weight:500;font-size:1.15rem;color:var(--navy);letter-spacing:.03em}
.qp span{font-size:.8rem;color:var(--muted);line-height:1.45}
.qp.on{border-color:var(--blue);box-shadow:0 0 0 4px rgba(0,160,249,.12)}
.quiz{background:#fff;border-radius:26px;box-shadow:var(--shadow);padding:38px;display:flex;flex-direction:column;gap:20px;min-height:460px}
.q-count{font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.q-prog{height:6px;border-radius:99px;background:var(--mist);overflow:hidden}
.q-prog i{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--sky));transition:width .4s}
.q-text{font:500 clamp(1.4rem,2.6vw,1.9rem)/1.25 'Oswald',sans-serif;color:var(--navy)}
.q-opts{display:grid;gap:10px}
.q-opt{text-align:left;padding:16px 20px;border-radius:14px;border:1.5px solid var(--line);background:var(--bg);font:600 .95rem 'Montserrat',sans-serif;color:var(--navy);cursor:pointer;transition:.2s;display:flex;justify-content:space-between;gap:12px}
.q-opt span{color:var(--sky);opacity:0;transition:.2s}
.q-opt:hover{border-color:var(--sky);background:#fff}
.q-opt:hover span,.q-opt.on span{opacity:1}
.q-opt.on{border-color:var(--blue);background:#fff}
.q-foot{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.disc{font-size:.74rem;color:var(--muted)}
.level{font:500 clamp(2rem,4vw,2.8rem)/1.05 'Oswald',sans-serif;text-transform:uppercase;color:var(--navy)}
.meter{height:12px;border-radius:99px;background:linear-gradient(90deg,#4cbf86,#f0c24f,#e2574c);position:relative;margin:6px 0}
.meter i{position:absolute;top:50%;left:0;width:24px;height:24px;border-radius:50%;background:#fff;border:5px solid var(--navy);transform:translate(-50%,-50%);transition:left 1s cubic-bezier(.2,.8,.2,1)}
.q-rec{color:var(--muted);font-size:1rem;max-width:560px}

/* RECURSOS */
.res-head{margin:64px 0 22px;display:grid;gap:6px}
.res-head h3{font-size:clamp(1.5rem,3vw,2rem);color:var(--navy)}
.res-head p{color:var(--muted)}
.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:18px}
.res{background:#fff;border:1px solid var(--line);border-radius:22px;padding:24px;display:flex;flex-direction:column;gap:10px;transition:transform .3s,box-shadow .3s}
.res:hover{transform:translateY(-4px);box-shadow:var(--shadow)}
.res-ico{width:44px;height:54px;border-radius:6px 16px 6px 6px;background:var(--mist);display:grid;place-items:center;font:700 .66rem ui-monospace,Menlo,monospace;color:var(--blue);letter-spacing:.08em}
.res small{font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--blue)}
.res h4{font-size:1rem;color:var(--navy);line-height:1.3}
.res p{font-size:.84rem;color:var(--muted)}
.res .btn{margin-top:auto;align-self:flex-start}

/* RESEÑAS */
.reviews{background:#fff}
.rev-grid{display:grid;grid-template-columns:340px minmax(0,1fr);gap:24px;align-items:start}
.rev-sum{background:var(--navy);color:#fff;border-radius:26px;padding:32px;display:flex;flex-direction:column;gap:8px}
.g-badge{align-self:flex-start;font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;padding:6px 12px;border-radius:99px;background:#fff;color:var(--navy)}
.rev-score{font:500 4.4rem/1 'Oswald',sans-serif;margin-top:10px}
.stars{color:#f5b301;letter-spacing:3px;font-size:1.1rem}
.rev-sum>small{font-size:.82rem;opacity:.7}
.fb{margin-top:18px;padding-top:20px;border-top:1px solid rgba(255,255,255,.14);display:grid;gap:10px}
.fb h4{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.08em;font-weight:500;color:var(--sky-soft)}
.rate{display:flex;gap:4px}
.rate button{font-size:2rem;line-height:1;background:none;border:0;color:rgba(255,255,255,.25);cursor:pointer;transition:color .15s,transform .15s;padding:2px}
.rate button.on{color:#f5b301}
.rate button:hover{transform:scale(1.12)}
.fb p{font-size:.86rem;opacity:.85}
.fb .gf{gap:10px}
.fb textarea,.fb input{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.2);color:#fff;min-height:0}
.fb textarea{min-height:90px}
.fb textarea::placeholder,.fb input::placeholder{color:rgba(255,255,255,.45)}
.fb .btn{align-self:flex-start;justify-self:start}
.rev-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px}
.rev{border:1px solid var(--line);border-radius:20px;padding:22px;background:var(--bg);display:grid;gap:10px;align-content:start}
.rev-head{display:flex;gap:12px;align-items:center}
.rev-av{width:40px;height:40px;border-radius:50%;background:linear-gradient(135deg,var(--navy),var(--blue));color:#fff;display:grid;place-items:center;font:500 .95rem 'Oswald',sans-serif;flex-shrink:0}
.rev-head b{display:block;font-size:.9rem;color:var(--navy)}
.rev-head small{font-size:.74rem;color:var(--muted)}
.rev p{font-size:.88rem;color:var(--ink)}
.demo-tag{grid-column:1/-1;font:500 .72rem ui-monospace,Menlo,monospace;color:var(--muted)}

@media (max-width:1100px){
  .nav-links,.nav-cta{display:none}
  .burger{display:block}
  .nav-links.open{display:flex;flex-direction:column;position:absolute;top:100%;left:0;right:0;background:rgba(255,255,255,.97);backdrop-filter:blur(14px);padding:24px;gap:18px;box-shadow:0 20px 40px -20px rgba(0,0,0,.2);font-size:.9rem}
  nav.menu-open{background:#fff}
}
@media (max-width:1024px){
  .book,.rev-grid,.quiz-grid,.prem-grid,.confirm{grid-template-columns:1fr}
  .prem-grid{gap:50px}
  .book-sum{padding:28px}
}
@media (max-width:640px){
  .book-main,.quiz{padding:26px 20px}
  .book-main{min-height:0}
  .steps li{font-size:0;letter-spacing:0}
  .steps li::before{content:"0" counter(s);font-size:.72rem}
  .cf-form{grid-template-columns:1fr}
  .confirm{padding:26px 20px}
  .cls{grid-template-columns:1fr;gap:12px;padding:20px}
  .cls-date{border:0;padding:0;text-align:left;display:flex;gap:10px;align-items:baseline}
  .cls-cta{justify-items:start}
  .modal-card{padding:26px 22px}
}
