:root{--sand:#F2E6C9;--sand-light:#F7F0DE;--sand-pale:#FBF7EE;--lilac:#C4B4CC;--lilac-light:#D8CCDF;--lilac-dark:#A08AAC;--mint:#A8CDB8;--mint-light:#C5DFCE;--mint-dark:#7BB494;--coral:#C87C7A;--coral-light:#D9A09E;--coral-dark:#B0605E;--text-dark:#4A3E42;--text-medium:#6E5F64;--text-light:#9A8D91;--white:#FFFDF8;--border-soft:rgba(196,180,204,0.2);--wa:#25D366;--wa-dark:#1EBE5A}
*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}
body{font-family:'Nunito',sans-serif;color:var(--text-dark);background:var(--white);overflow-x:hidden;-webkit-font-smoothing:antialiased}

.nav{position:fixed;top:4px;left:0;right:0;z-index:100;padding:.8rem 1.5rem;display:flex;align-items:center;justify-content:space-between;transition:all .4s}
.nav.scrolled{background:rgba(251,247,238,.95);backdrop-filter:blur(12px);box-shadow:0 2px 20px rgba(74,62,66,.06);padding:.5rem 1.5rem}
.nav-logo{height:52px;transition:height .4s}.nav.scrolled .nav-logo{height:40px}
.nav-links{display:none;gap:1.8rem;list-style:none}
.nav-links a{font-size:.76rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-medium);text-decoration:none;transition:color .3s}.nav-links a:hover{color:var(--coral)}
.nav-cta{padding:.5rem 1.4rem;background:var(--wa);color:#fff;font-family:'Nunito',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;border-radius:50px;transition:all .3s;display:inline-flex;align-items:center;gap:.4rem}
.nav-cta:hover{background:var(--wa-dark);transform:translateY(-1px)}.nav-cta svg{width:14px;height:14px;fill:#fff}
@media(min-width:768px){.nav-links{display:flex}.nav{padding:.8rem 3rem}.nav.scrolled{padding:.5rem 3rem}}

.color-bar{display:flex;height:4px}.color-bar span{flex:1}.bar-lilac{background:var(--lilac)}.bar-mint{background:var(--mint)}.bar-coral{background:var(--coral)}
.color-bar-top{position:fixed;top:0;left:0;right:0;z-index:101}

.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--sand);padding:6rem 1.5rem 3rem;overflow:hidden}
.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 20% 30%,rgba(168,205,184,.12) 0%,transparent 55%),radial-gradient(ellipse at 80% 70%,rgba(196,180,204,.1) 0%,transparent 50%);pointer-events:none}
.hero-deco{position:absolute;border-radius:50%;opacity:.08;pointer-events:none}
.hero-deco-1{width:400px;height:400px;background:var(--lilac);top:-120px;right:-100px}
.hero-deco-2{width:280px;height:280px;background:var(--mint);bottom:-60px;left:-100px}
.hero-inner{display:flex;flex-direction:column;align-items:center;gap:2.5rem;max-width:1060px;width:100%}
.hero-photo{width:100%;max-width:380px;border-radius:24px;overflow:hidden;box-shadow:0 30px 70px rgba(74,62,66,.12);animation:fadeUp .9s ease-out .1s both}
.hero-photo img{width:100%;height:500px;object-fit:cover;object-position:center 15%;display:block}
.hero-text{text-align:center;animation:fadeUp .9s ease-out .3s both}
.hero-name{font-family:'Playfair Display',serif;font-size:2.8rem;font-weight:500;color:var(--text-dark);line-height:1.1}.hero-name span{color:var(--coral)}
.hero-subtitle{font-size:.82rem;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--coral);margin-top:.5rem}
.hero-credentials{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:1.2rem}
.hero-badge{display:inline-flex;align-items:center;gap:.3rem;padding:.35rem .9rem;background:rgba(255,255,255,.6);border-radius:50px;font-size:.7rem;font-weight:500;color:var(--text-medium);backdrop-filter:blur(4px);border:1px solid rgba(196,180,204,.15)}
.hero-badge svg{width:12px;height:12px;fill:none;stroke:var(--mint-dark);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.hero-tagline{font-size:1rem;font-weight:300;color:var(--text-medium);margin-top:1.2rem;max-width:420px;line-height:1.7;margin-left:auto;margin-right:auto}
.hero-buttons{display:flex;flex-direction:column;align-items:center;gap:.8rem;margin-top:1.8rem}
.hero-social{display:flex;gap:.7rem;margin-top:1rem}
.hero-social a{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.5);display:flex;align-items:center;justify-content:center;transition:all .3s;text-decoration:none}
.hero-social a:hover{background:#fff;transform:translateY(-2px);box-shadow:0 4px 15px rgba(74,62,66,.1)}.hero-social svg{width:16px;height:16px}
@keyframes fadeUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}

section{padding:5rem 1.5rem}.section-inner{max-width:680px;margin:0 auto}
.section-label{font-size:.7rem;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--coral);margin-bottom:.8rem;display:flex;align-items:center;gap:.8rem}
.section-label::before{content:'';width:24px;height:2px;background:var(--coral-light);border-radius:2px}
.section-title{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:500;color:var(--text-dark);line-height:1.25;margin-bottom:1.8rem}
.section-title em{font-style:italic;color:var(--coral)}
.section-text{font-size:1rem;font-weight:300;line-height:1.85;color:var(--text-medium)}.section-text+.section-text{margin-top:1rem}

.section-photo{width:100%;max-width:340px;margin:0 auto;position:relative}
.section-photo::before{content:'';position:absolute;top:12px;left:12px;width:100%;height:100%;border-radius:20px;background:var(--lilac-light);opacity:.4;z-index:0;transition:all .4s}
.section-photo:hover::before{top:8px;left:8px}
.section-photo .photo-inner{position:relative;z-index:1;border-radius:20px;overflow:hidden;box-shadow:0 10px 40px rgba(74,62,66,.08)}
.section-photo img{width:100%;height:400px;object-fit:cover;object-position:center 15%;display:block}
.section-photo.mint-accent::before{background:var(--mint-light)}.section-photo.coral-accent::before{background:var(--coral-light);opacity:.3}

.sobre{background:var(--white)}.sobre-layout{display:flex;flex-direction:column;gap:2.5rem}
.missao{background:var(--sand-pale);position:relative;overflow:hidden}
.missao::before{content:'';position:absolute;width:400px;height:400px;border-radius:50%;background:var(--mint);opacity:.05;top:-150px;right:-100px;pointer-events:none}
.missao-content{display:flex;flex-direction:column;gap:2.5rem}
.missao-quote{padding:1.5rem 1.5rem 1.5rem 2rem;background:linear-gradient(135deg,rgba(168,205,184,.1),rgba(196,180,204,.08));border-left:3px solid var(--mint);border-radius:0 14px 14px 0;margin-top:1.2rem}
.missao-quote .section-text{font-style:italic;color:var(--text-light)}

.servicos{background:var(--white)}.servicos-grid{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}
.servico-card{display:flex;align-items:center;gap:1.2rem;padding:1.3rem 1.5rem;background:var(--sand-pale);border-radius:16px;transition:all .4s;cursor:default;border:1px solid transparent}
.servico-card:hover{border-color:var(--lilac-light);transform:translateY(-2px);box-shadow:0 8px 25px rgba(196,180,204,.12)}
.servico-icon{width:46px;height:46px;border-radius:14px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.servico-icon.lilac{background:var(--lilac-light)}.servico-icon.mint{background:var(--mint-light)}.servico-icon.coral{background:rgba(200,124,122,.15)}
.servico-icon svg{width:20px;height:20px;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.servico-icon.lilac svg{stroke:var(--lilac-dark)}.servico-icon.mint svg{stroke:var(--mint-dark)}.servico-icon.coral svg{stroke:var(--coral)}
.servico-card h3{font-size:.95rem;font-weight:500;color:var(--text-dark)}

.cta-wrapper{text-align:center;margin-top:2.5rem}
.cta-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.95rem 2.6rem;background:var(--coral);color:#fff;font-family:'Nunito',sans-serif;font-size:.8rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;border-radius:50px;border:none;cursor:pointer;transition:all .4s;box-shadow:0 4px 15px rgba(200,124,122,.2)}
.cta-btn:hover{background:var(--coral-dark);transform:translateY(-2px);box-shadow:0 8px 25px rgba(200,124,122,.3)}
.cta-btn svg{width:16px;height:16px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.cta-btn-wa{background:var(--wa);box-shadow:0 4px 15px rgba(37,211,102,.2)}.cta-btn-wa:hover{background:var(--wa-dark);box-shadow:0 8px 25px rgba(37,211,102,.3)}.cta-btn-wa svg{fill:#fff;stroke:none}

.image-break{position:relative;height:380px;overflow:hidden}
.image-break img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.image-break::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(255,253,248,.15) 0%,transparent 20%,transparent 80%,rgba(251,247,238,.15) 100%);pointer-events:none}

.videos{background:var(--sand-light);padding:5rem 0;overflow:hidden}
.videos-header{padding:0 1.5rem;text-align:center}
.videos-header .section-label{justify-content:center}.videos-header .section-label::before{display:none}
.videos-header .section-title{text-align:center}
.video-carousel{margin-top:2rem}
.video-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:0 1.5rem 1.5rem;scrollbar-width:none}
.video-track::-webkit-scrollbar{display:none}
.video-card{flex:0 0 85vw;max-width:340px;scroll-snap-align:start;background:var(--white);border-radius:16px;overflow:hidden;border:1px solid var(--border-soft);box-shadow:0 4px 15px rgba(74,62,66,.04);transition:all .3s}
.video-card:hover{border-color:var(--lilac);box-shadow:0 8px 25px rgba(74,62,66,.08)}
.video-card iframe{width:100%;height:480px;border:none;display:block}
.video-nav{display:flex;justify-content:center;gap:.4rem;margin-top:1rem}
.video-dot{width:8px;height:8px;border-radius:50%;background:var(--lilac-light);border:none;cursor:pointer;padding:0;transition:all .3s}
.video-dot.active{background:var(--coral);width:24px;border-radius:4px}
.videos-cta{text-align:center;margin-top:2rem;padding:0 1.5rem}
.cta-btn-ig{background:linear-gradient(135deg,#833AB4,#FD1D1D,#F77737);box-shadow:0 4px 15px rgba(131,58,180,.2)}.cta-btn-ig:hover{box-shadow:0 8px 25px rgba(131,58,180,.3);transform:translateY(-2px);filter:brightness(1.05)}.cta-btn-ig svg{fill:none;stroke:#fff}

.locais{background:var(--sand-pale)}.locais-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:2rem}
.local-card{padding:1.4rem;background:var(--white);border-radius:16px;border:1px solid var(--border-soft);transition:all .3s;text-decoration:none;color:inherit;display:block}
.local-card:hover{border-color:var(--mint);transform:translateY(-2px);box-shadow:0 8px 25px rgba(168,205,184,.15)}
.local-card-header{display:flex;align-items:center;gap:.8rem;margin-bottom:.8rem}
.local-card-icon{width:38px;height:38px;border-radius:12px;background:var(--mint-light);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.local-card-icon svg{width:18px;height:18px;fill:none;stroke:var(--mint-dark);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.local-card h3{font-size:.95rem;font-weight:600;color:var(--text-dark)}.local-card .local-city{font-size:.72rem;font-weight:500;color:var(--coral);letter-spacing:.05em}
.local-card p{font-size:.88rem;font-weight:300;line-height:1.6;color:var(--text-light)}
.local-card .directions{display:inline-flex;align-items:center;gap:.4rem;margin-top:.8rem;font-size:.78rem;font-weight:600;color:var(--mint-dark)}
.local-card .directions svg{width:14px;height:14px;fill:none;stroke:var(--mint-dark);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.duvidas{background:var(--white)}.duvidas-layout{display:flex;flex-direction:column;gap:2.5rem}
.faq-list{margin-top:1.5rem;display:flex;flex-direction:column;gap:.6rem}
.faq-item{background:var(--sand-pale);border-radius:14px;overflow:hidden;border:1px solid var(--border-soft);transition:border-color .3s}
.faq-item:hover,.faq-item.active{border-color:var(--lilac)}
.faq-question{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:1.2rem 1.4rem;background:none;border:none;cursor:pointer;text-align:left;font-family:'Nunito',sans-serif;font-size:.92rem;font-weight:500;color:var(--text-dark);transition:color .3s}.faq-question:hover{color:var(--coral)}
.faq-question .icon{width:26px;height:26px;border-radius:50%;background:var(--sand-light);display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .4s}
.faq-question .icon svg{width:12px;height:12px;stroke:var(--coral);stroke-width:2.5;fill:none;transition:transform .4s}
.faq-item.active .faq-question .icon{background:var(--coral)}.faq-item.active .faq-question .icon svg{stroke:#fff;transform:rotate(45deg)}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .5s cubic-bezier(.25,.46,.45,.94)}.faq-answer-inner{padding:0 1.4rem 1.3rem}
.faq-answer p{font-size:.9rem;font-weight:300;line-height:1.75;color:var(--text-light)}.faq-item.active .faq-answer{max-height:200px}

.footer{background:var(--text-dark);padding:3.5rem 1.5rem;text-align:center;position:relative;overflow:hidden}
.footer::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--lilac),var(--mint),var(--coral))}
.footer-logo{height:70px;margin-bottom:1.5rem}
.footer-text{font-size:.9rem;font-weight:300;color:rgba(242,230,201,.6);margin-bottom:1.8rem;max-width:340px;margin-left:auto;margin-right:auto;line-height:1.6}
.footer-buttons{display:flex;flex-direction:column;align-items:center;gap:.8rem;margin-bottom:1.5rem}
.footer-cta{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 2.2rem;border:1px solid rgba(200,124,122,.5);background:transparent;color:var(--coral-light);font-family:'Nunito',sans-serif;font-size:.78rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;text-decoration:none;border-radius:50px;transition:all .4s}
.footer-cta:hover{background:var(--coral);border-color:var(--coral);color:#fff}
.footer-cta-wa{border-color:rgba(37,211,102,.5);color:#6CD99A}.footer-cta-wa:hover{background:var(--wa);border-color:var(--wa);color:#fff}
.footer-social{display:flex;justify-content:center;gap:.8rem;margin-bottom:1.5rem}
.footer-social a{width:36px;height:36px;border-radius:50%;border:1px solid rgba(242,230,201,.15);display:flex;align-items:center;justify-content:center;transition:all .3s;text-decoration:none}
.footer-social a:hover{border-color:var(--coral);background:rgba(200,124,122,.15)}.footer-social svg{width:16px;height:16px}
.footer-copy{margin-top:1.5rem;font-size:.7rem;font-weight:300;color:rgba(242,230,201,.3);letter-spacing:.08em}

.wa-float{position:fixed;bottom:1.5rem;right:1.5rem;z-index:99;width:56px;height:56px;border-radius:50%;background:var(--wa);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(37,211,102,.35);transition:all .3s;text-decoration:none;animation:fp 3s ease-in-out infinite}
.wa-float:hover{transform:scale(1.1);background:var(--wa-dark);box-shadow:0 6px 28px rgba(37,211,102,.45)}.wa-float svg{width:28px;height:28px;fill:#fff}
.wa-float-label{position:absolute;right:68px;top:50%;transform:translateY(-50%);background:#fff;color:var(--text-dark);font-family:'Nunito',sans-serif;font-size:.78rem;font-weight:600;padding:.5rem 1rem;border-radius:8px;box-shadow:0 4px 15px rgba(0,0,0,.08);white-space:nowrap;opacity:0;transition:opacity .3s;pointer-events:none}
.wa-float-label::after{content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%);border-left:6px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent}
.wa-float:hover .wa-float-label{opacity:1}
@keyframes fp{0%,100%{box-shadow:0 4px 20px rgba(37,211,102,.35)}50%{box-shadow:0 4px 30px rgba(37,211,102,.5)}}

.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:translateY(0)}.reveal-d1{transition-delay:.1s}.reveal-d2{transition-delay:.2s}

@media(min-width:768px){
    section{padding:6.5rem 2rem}
    .hero-inner{flex-direction:row;align-items:center;gap:3.5rem}
    .hero-photo{max-width:420px;flex-shrink:0}.hero-photo img{height:560px}
    .hero-text{text-align:left}.hero-name{font-size:3.8rem}.hero-tagline{margin-left:0}.hero-buttons{align-items:flex-start}.hero-credentials{justify-content:flex-start}.hero-social{justify-content:flex-start}
    .section-title{font-size:2.6rem}
    .sobre-layout{flex-direction:row;align-items:center;gap:3.5rem;max-width:920px;margin:0 auto}.sobre-layout .section-photo{flex-shrink:0;width:320px;max-width:320px}.sobre-layout .section-photo img{height:430px}
    .missao-content{flex-direction:row-reverse;align-items:center;gap:3.5rem;max-width:920px;margin:0 auto}.missao-content .section-photo{flex-shrink:0;width:300px;max-width:300px}.missao-content .section-photo img{height:390px}
    .video-card{flex:0 0 340px}.video-card iframe{height:540px}.video-track{padding:0 3rem 1.5rem}
    .image-break{height:460px}.locais-grid{grid-template-columns:repeat(3,1fr)}
    .duvidas-layout{flex-direction:row;align-items:flex-start;gap:3.5rem;max-width:920px;margin:0 auto}.duvidas-layout .section-photo{flex-shrink:0;width:270px;max-width:270px}.duvidas-layout .section-photo img{height:400px}
    .footer-buttons{flex-direction:row;justify-content:center}
    .videos-header{padding:0 3rem}
}
@media(min-width:1024px){.section-inner{max-width:720px}.hero-name{font-size:4.2rem}.hero-photo{max-width:450px}.hero-photo img{height:600px}.section-title{font-size:2.8rem}.sobre-layout,.missao-content,.duvidas-layout{max-width:980px}.image-break{height:500px}}

/* ============================================================
   QUIZ — "Meu filho é seletivo?"
   ============================================================ */
.quiz-section{background:linear-gradient(170deg,var(--sand-pale) 0%,var(--sand-light) 100%);padding:5rem 1.5rem;position:relative;overflow:hidden}
.quiz-section::before{content:'';position:absolute;width:500px;height:500px;border-radius:50%;background:var(--lilac);opacity:.04;top:-200px;left:-150px;pointer-events:none}
.quiz-section::after{content:'';position:absolute;width:350px;height:350px;border-radius:50%;background:var(--mint);opacity:.04;bottom:-100px;right:-100px;pointer-events:none}
.quiz-section .section-inner{max-width:580px;position:relative;z-index:1}

.quiz-card{background:var(--white);border-radius:24px;padding:2.5rem 2rem;box-shadow:0 8px 40px rgba(74,62,66,.06);border:1px solid var(--border-soft)}

/* Intro */
.quiz-intro{text-align:center}
.quiz-intro-badge{display:inline-block;padding:.3rem 1rem;background:rgba(123,180,148,.12);color:var(--mint-dark);font-size:.7rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;border-radius:50px;margin-bottom:1.2rem}
.quiz-main-title{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:500;color:var(--text-dark);line-height:1.2;margin-bottom:.8rem}
.quiz-main-title em{font-style:italic;color:var(--coral)}
.quiz-main-subtitle{font-size:.95rem;font-weight:300;color:var(--text-medium);line-height:1.7;max-width:420px;margin:0 auto 1.5rem}
.quiz-intro-features{display:flex;flex-direction:column;gap:.5rem;align-items:center;margin-bottom:2rem}
.quiz-intro-features span{display:inline-flex;align-items:center;gap:.4rem;font-size:.82rem;font-weight:500;color:var(--text-medium)}
.quiz-intro-features svg{width:16px;height:16px;fill:none;stroke:var(--mint-dark);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.quiz-start-btn{font-size:.85rem;padding:1rem 3rem}

/* Progress */
.quiz-progress{width:100%;height:5px;background:var(--sand-light);border-radius:3px;margin-bottom:1.5rem;overflow:hidden}
.quiz-progress-bar{height:100%;background:linear-gradient(90deg,var(--mint),var(--coral));border-radius:3px;transition:width .5s ease}
.quiz-step-indicator{font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;color:var(--text-light);margin-bottom:1rem}

/* Question */
.quiz-question{font-family:'Playfair Display',serif;font-size:1.4rem;font-weight:500;color:var(--text-dark);line-height:1.35;margin-bottom:1.8rem}

/* Fields */
.quiz-fields{display:flex;flex-direction:column;gap:1rem}
.quiz-field{display:flex;flex-direction:column;gap:.4rem}
.quiz-field-label{font-size:.75rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-light)}

.quiz-select{width:100%;padding:.85rem 1.2rem;font-family:'Nunito',sans-serif;font-size:.9rem;color:var(--text-dark);background:var(--sand-pale);border:1.5px solid var(--border-soft);border-radius:12px;outline:none;transition:border-color .3s;appearance:none;cursor:pointer}
.quiz-select:focus{border-color:var(--lilac)}

.quiz-input{width:100%;padding:.85rem 1.2rem;font-family:'Nunito',sans-serif;font-size:.9rem;color:var(--text-dark);background:var(--sand-pale);border:1.5px solid var(--border-soft);border-radius:12px;outline:none;transition:border-color .3s}
.quiz-input:focus{border-color:var(--lilac)}
.quiz-input-error{border-color:var(--coral)!important;animation:quiz-shake .4s ease}

/* Radio options */
.quiz-options{display:flex;flex-direction:column;gap:.6rem}
.quiz-option{cursor:pointer;display:block}
.quiz-option input{display:none}
.quiz-option-box{display:block;padding:1rem 1.3rem;background:var(--sand-pale);border:1.5px solid var(--border-soft);border-radius:14px;font-size:.9rem;font-weight:400;color:var(--text-dark);transition:all .3s;line-height:1.4}
.quiz-option:hover .quiz-option-box{border-color:var(--lilac-light);background:rgba(196,180,204,.08)}
.quiz-option.selected .quiz-option-box,.quiz-option input:checked~.quiz-option-box{border-color:var(--coral);background:rgba(200,124,122,.06);color:var(--text-dark);font-weight:500}

/* Nav buttons */
.quiz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:2rem;gap:1rem}
.quiz-btn-back{background:none;border:none;font-family:'Nunito',sans-serif;font-size:.82rem;font-weight:600;color:var(--text-light);cursor:pointer;padding:.5rem;transition:color .3s;letter-spacing:.05em}
.quiz-btn-back:hover{color:var(--coral)}
.quiz-btn-next{margin-left:auto;font-size:.78rem;padding:.85rem 2.2rem}

/* Shake animation */
@keyframes quiz-shake{0%,100%{transform:translateX(0)}20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.quiz-shake{animation:quiz-shake .4s ease}

/* Fade in */
.quiz-fade-in{animation:quizFadeIn .5s ease both}
@keyframes quizFadeIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}

/* ---- Result ---- */
.quiz-result{text-align:center}
.quiz-result-badge{display:inline-block;padding:.5rem 1.4rem;font-size:.85rem;font-weight:700;border-radius:50px;margin-bottom:1.2rem;letter-spacing:.05em}
.quiz-result-title{font-family:'Playfair Display',serif;font-size:1.8rem;font-weight:500;color:var(--text-dark);margin-bottom:1.5rem}
.quiz-result-title em{font-style:italic;color:var(--coral)}

.quiz-result-meter{margin:0 auto 1.5rem;max-width:360px}
.quiz-meter-track{width:100%;height:10px;background:var(--sand-light);border-radius:5px;overflow:hidden}
.quiz-meter-fill{height:100%;border-radius:5px;transition:width 1s ease .3s}
.quiz-meter-labels{display:flex;justify-content:space-between;margin-top:.4rem}
.quiz-meter-labels span{font-size:.68rem;font-weight:600;letter-spacing:.05em}

.quiz-result-text{font-size:.95rem;font-weight:300;line-height:1.8;color:var(--text-medium);max-width:440px;margin:0 auto 2rem}
.quiz-result-cta{font-size:.78rem;padding:1rem 2.4rem}
.quiz-btn-restart{display:block;margin:1.2rem auto 0;background:none;border:none;font-family:'Nunito',sans-serif;font-size:.78rem;font-weight:500;color:var(--text-light);cursor:pointer;text-decoration:underline;transition:color .3s}
.quiz-btn-restart:hover{color:var(--coral)}

/* Share button */
.quiz-share-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;margin-top:1rem;padding:.85rem 2rem;width:100%;max-width:360px;background:var(--sand-pale);border:1.5px solid var(--border-soft);border-radius:50px;font-family:'Nunito',sans-serif;font-size:.8rem;font-weight:600;color:var(--text-medium);cursor:pointer;transition:all .3s;letter-spacing:.03em}
.quiz-share-btn:hover{border-color:var(--lilac);background:rgba(196,180,204,.08);color:var(--text-dark);transform:translateY(-1px)}

/* Quiz page — full height */
.quiz-page{min-height:calc(100vh - 80px);display:flex;align-items:center}

/* ---- Banner CTA (home) ---- */
.quiz-banner{background:linear-gradient(170deg,var(--sand-pale) 0%,var(--sand-light) 100%);padding:5rem 1.5rem;position:relative;overflow:hidden}
.quiz-banner::before{content:'';position:absolute;width:450px;height:450px;border-radius:50%;background:var(--coral);opacity:.04;top:-180px;right:-120px;pointer-events:none}
.quiz-banner-inner{max-width:920px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:2.5rem;text-align:center}
.quiz-banner-content{max-width:500px}
.quiz-banner-badge{display:inline-block;padding:.3rem 1rem;background:rgba(200,124,122,.1);color:var(--coral);font-size:.7rem;font-weight:600;letter-spacing:.15em;text-transform:uppercase;border-radius:50px;margin-bottom:1rem}
.quiz-banner-title{font-family:'Playfair Display',serif;font-size:2.2rem;font-weight:500;color:var(--text-dark);line-height:1.2;margin-bottom:.8rem}
.quiz-banner-title em{font-style:italic;color:var(--coral)}
.quiz-banner-text{font-size:.92rem;font-weight:300;color:var(--text-medium);line-height:1.7;margin-bottom:1.8rem}
.quiz-banner-cta{font-size:.82rem;padding:1rem 2.8rem}

.quiz-banner-visual{display:flex;gap:1rem;justify-content:center}
.quiz-banner-card{background:var(--white);border:1px solid var(--border-soft);border-radius:16px;padding:1.2rem 1.5rem;text-align:center;min-width:100px;box-shadow:0 4px 15px rgba(74,62,66,.04);transition:all .3s}
.quiz-banner-card:hover{transform:translateY(-3px);box-shadow:0 8px 25px rgba(74,62,66,.08)}
.quiz-banner-card p{font-size:.75rem;font-weight:500;color:var(--text-light);margin-top:.4rem}
.quiz-banner-q{font-family:'Playfair Display',serif;font-size:2rem;color:var(--lilac-dark);font-weight:600}
.quiz-banner-levels{display:flex;gap:.3rem;justify-content:center;font-size:1.4rem}
.quiz-banner-time{font-family:'Nunito',sans-serif;font-size:1.1rem;font-weight:700;color:var(--mint-dark)}

@media(min-width:768px){
    .quiz-section{padding:6.5rem 2rem}
    .quiz-card{padding:3rem 2.8rem}
    .quiz-main-title{font-size:2.6rem}
    .quiz-intro-features{flex-direction:row;gap:1.5rem}
    .quiz-question{font-size:1.55rem}
    .quiz-banner{padding:6.5rem 2rem}
    .quiz-banner-inner{flex-direction:row;text-align:left;gap:3.5rem}
    .quiz-banner-visual{flex-direction:column}
    .quiz-banner-title{font-size:2.6rem}
}
