/*
Theme Name: Alunas da Luna
Author: Teacher Luna
Description: Landing page em pixel art para brasileiras no Brasil e no exterior.
Version: 0.6.2
Text Domain: teacher-luna
*/
@font-face{font-family:Luna;src:url('assets/montserrat.woff2') format('woff2');font-style:normal;font-weight:100 900;font-display:swap}
:root{--cream:#fcf6eb;--plum:#493047;--muted:#766273;--pink:#ecc1d3;--rose:#f5dfe6;--purple:#d5c9eb;--mint:#dce8ce;--line:#d9cccb;--ink:#4a3046;--paper:#fffaf3}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--cream);color:var(--plum);font-family:Luna,Arial,sans-serif;font-size:15px;line-height:1.75;padding-bottom:82px}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit}button{font:inherit;color:inherit}a,button,summary{touch-action:manipulation}button{cursor:pointer}img{max-width:100%;height:auto}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #9b456e;outline-offset:5px}.section-width{width:min(1180px,calc(100% - 100px));margin-inline:auto}.site-header{width:min(1320px,calc(100% - 80px));margin:0 auto;min-height:112px;display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;font-size:19px;font-weight:700;line-height:1.1;letter-spacing:-.7px}.brand img{image-rendering:pixelated;object-fit:contain;width:38px;height:55px}.brand-small{display:block;font-size:19px}.brand-small b{font-size:28px;letter-spacing:-1px}.brand i{color:#a879aa;font-style:normal;margin-left:5px}.site-header nav{display:flex;gap:30px;font-size:13px;font-weight:600}.site-header nav a{text-decoration:none}.site-header nav a:hover{color:#a44d79}.button{display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:16px 22px;border:2px solid var(--plum);box-shadow:4px 4px 0 var(--plum);background:var(--pink);text-decoration:none;font-weight:750;font-size:14px;line-height:1.4;transition:transform .15s,box-shadow .15s;min-height:54px}.button span{font-size:22px;line-height:1}.button:hover{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--plum);background:#e9b3cb}.button-small{min-height:45px;padding:11px 17px;gap:18px;font-size:12px}.hero{padding-top:34px;padding-bottom:85px;display:grid;grid-template-columns:1.07fr 1fr;align-items:center;gap:65px}.hero-copy{padding-top:4px}.audience-switch{padding:0;margin:0 0 35px;border:0}.audience-switch legend{font-size:11px;letter-spacing:.2px;margin-bottom:7px;color:var(--muted)}.audience-switch>div{display:inline-flex;border:1px solid #d0bfcc;background:#f6eced;padding:4px;gap:4px}.audience-switch button{padding:7px 13px;border:1px solid transparent;background:transparent;font-size:11px;font-weight:600;min-height:34px}.audience-switch button[aria-pressed=true]{background:var(--paper);border-color:var(--plum);box-shadow:2px 2px 0 #ccbec6}.eyebrow{font:600 10px/1.5 Luna,Arial,sans-serif;letter-spacing:2.2px;margin:0 0 18px}.pixel-heart{color:#ae5780;font-family:monospace;font-size:16px;margin-right:7px}.hero h1{font-size:clamp(35px,3.9vw,56px);font-weight:750;letter-spacing:-2.2px;line-height:1.16;margin:0 0 22px}.highlight{position:relative;display:inline-block;z-index:0}.highlight:before{content:'';position:absolute;left:-4px;right:-9px;bottom:1px;height:38%;background:var(--pink);z-index:-1}.hero-description{max-width:450px;line-height:1.85;margin:0 0 28px;color:var(--muted);font-size:14px}.cta-note{font-size:10px;color:var(--muted);margin:15px 0 25px}.hero-facts{display:flex;gap:22px;padding-top:22px;border-top:1px solid var(--line);font-size:10px;color:var(--muted)}.hero-facts span{display:flex;flex-direction:column}.hero-facts b{color:var(--plum);font-size:14px}.hero-art{position:relative;padding:12px 15px 25px 0}.room-window{border:3px solid var(--plum);box-shadow:10px 10px 0 #d7c8dc;background:#f7d7e5;transform:rotate(1.3deg)}.window-toolbar{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:36px;padding:8px 11px;border-bottom:2px solid var(--plum);background:#f4e5e8;font:10px/1.3 monospace}.window-toolbar>span:first-child{display:flex;gap:5px}.window-toolbar i{display:block;width:7px;height:7px;background:#c18ca8;border:1px solid var(--plum)}.window-toolbar i:nth-child(2){background:#eed995}.window-toolbar i:nth-child(3){background:#c6d4bc}.room-scene{position:relative;overflow:hidden;aspect-ratio:1/.99;background:#f9e7de}.pixel{image-rendering:pixelated}.room-background{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 35%;opacity:.9}.luna-sprite{position:absolute;width:68%;max-width:none;bottom:0;left:16%;filter:drop-shadow(0 5px 0 #6e3d5420);animation:breathe 5s steps(2,end) infinite;transform-origin:bottom}.desk{height:13%;position:absolute;left:0;bottom:0;right:0;background:#edbf8c;border-top:5px solid #774855;box-shadow:inset 0 7px 0 #f8dba5;display:flex;align-items:center;justify-content:space-between;padding:0 25px}.desk-label{font:10px/1 monospace;letter-spacing:3px;background:#fae5b9;border:2px solid #9c6b69;padding:6px}.desk-mug{font-size:25px;border:3px solid #744559;background:#f4bbce;line-height:1;width:35px;height:35px;position:relative;top:-9px}.desk-mug:after{content:'';position:absolute;right:-13px;top:6px;width:9px;height:15px;border:3px solid #744559}.speech-bubble{position:absolute;left:16px;top:42px;padding:14px 18px;background:#fffaef;border:2px solid var(--plum);box-shadow:4px 4px 0 #b88a9f;font:600 14px/1.5 monospace;z-index:1;transform:rotate(-4deg)}.speech-bubble:after{content:'';position:absolute;bottom:-10px;left:23px;width:14px;height:14px;background:#fffaef;border-bottom:2px solid var(--plum);border-right:2px solid var(--plum);transform:skewY(40deg)}.speech-bubble span{color:#a2527e}.art-sticker{position:absolute;z-index:2}.sticker-star{color:#a47caf;font-size:64px;right:-16px;top:-27px;transform:rotate(12deg);text-shadow:2px 2px 0 var(--plum)}.sticker-note{right:-12px;bottom:3px;padding:11px 20px;background:#e4e9cc;box-shadow:3px 3px 0 #a4aa8a;font:13px/1.5 monospace;transform:rotate(-7deg)}.ribbon{display:flex;align-items:center;justify-content:center;gap:40px;padding:17px 30px;background:#ebe5ef;border-top:1px solid var(--plum);border-bottom:1px solid var(--plum);font-size:11px;font-weight:600}.ribbon i{font-size:16px;font-style:normal;color:#91678d}.life-section{padding-top:95px;padding-bottom:100px}.section-heading{max-width:600px;margin-bottom:36px}h2{font-size:clamp(30px,3vw,43px);font-weight:750;letter-spacing:-1.7px;line-height:1.2;margin:0 0 22px}h2 span{color:#986582}.section-heading>p:last-child{font-size:14px;color:var(--muted)}.life-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.life-card{position:relative;border:1px solid var(--plum);padding:27px 28px 28px;background:#f2e7ec;box-shadow:4px 4px 0 #d9cbd1}.life-card:nth-child(2){background:#e9eddf;box-shadow:4px 4px 0 #d4dac6}.life-card:nth-child(3){background:#eee7f4;box-shadow:4px 4px 0 #d5cadf}.card-number{display:block;font:10px/1.5 monospace;letter-spacing:1.3px}.pixel-icon{display:block;font:40px/1.5 monospace;margin:15px 0 8px}h3{font-size:18px;font-weight:700;line-height:1.5;letter-spacing:-.4px;margin:0 0 12px}.life-card p{color:var(--muted);font-size:13px;line-height:1.8;margin:0}.custom-section{background:#f0e9f4;border-block:1px solid #d8c9dd;background-image:linear-gradient(#b1a0b414 1px,transparent 1px),linear-gradient(90deg,#b1a0b414 1px,transparent 1px);background-size:24px 24px}.custom-layout{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:center;padding-block:85px}.lesson-window{border:2px solid var(--plum);background:var(--paper);box-shadow:7px 7px 0 #c5b6d1;transform:rotate(-1deg)}.lesson-content{padding:28px 24px 35px;position:relative;min-height:405px}.lesson-tabs{display:flex;flex-wrap:wrap;gap:7px}.lesson-tabs button{border:1px solid #c6afbd;background:transparent;padding:7px 9px;font-size:10px;min-height:34px}.lesson-tabs button[aria-pressed=true]{background:var(--pink);border-color:var(--plum)}.lesson-example{padding-top:25px;max-width:330px;min-height:255px}.lesson-example>span:first-child{font:36px/1.3 monospace;color:#a25b84}.lesson-example h3{font-size:23px;line-height:1.35;margin:12px 0}.lesson-example p{font-size:12px;line-height:1.9;padding-right:36px;margin-bottom:14px}.example-caption{display:block;font-size:9px;color:var(--muted);max-width:230px}.lesson-luna{position:absolute;bottom:0;right:8px;width:78px}.custom-copy p:not(.eyebrow){font-size:13px;color:var(--muted);max-width:420px}.check-list{padding:0;list-style:none;font-size:12px;margin:25px 0}.check-list li{margin-bottom:9px}.check-list li:before{content:'✓';display:inline-block;font-family:monospace;background:#dbe4cc;border:1px solid #a3ad94;width:18px;height:18px;line-height:16px;text-align:center;margin-right:10px;color:#4e614a}.text-link{font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid #9d718d;padding-bottom:5px}.text-link:hover{color:#a34e7b}.text-link span{margin-left:10px}.about-section{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px;padding-block:105px;align-items:center}.photo-composition{position:relative;padding:10px 28px 12px 8px}.photo-frame{margin:0;background:var(--paper);padding:12px 12px 0;border:1px solid var(--plum);box-shadow:7px 7px 0 #dfd2d5;transform:rotate(-3deg)}.photo-frame img{width:100%;height:350px;object-fit:cover;object-position:center 27%;display:block}.photo-frame figcaption{font:12px/1.5 monospace;text-align:center;padding:17px 0}.experience-note{position:absolute;bottom:52px;right:-22px;background:var(--mint);border:1px solid var(--plum);box-shadow:4px 4px 0 #b2bda3;padding:14px 20px;transform:rotate(3deg);display:flex;flex-direction:column}.experience-note b{font-size:25px;line-height:1.4}.experience-note span{font-size:10px;line-height:1.5}.photo-spark{position:absolute;left:-18px;top:-20px;font-size:60px;color:#b17da0}.about-copy p:not(.eyebrow){font-size:13px;color:var(--muted)}.about-copy p.handwritten{font:17px/1.8 monospace;color:#956284;margin:25px 0}.steps-section{background:#e8ecdf;border-block:1px solid #d4dac6;padding:75px 0 80px}.steps-section .section-heading{text-align:center;margin:0 auto 45px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:50px;list-style:none;padding:0;margin:0}.step-number{display:inline-block;border:1px solid var(--plum);background:#fcf6eb;box-shadow:3px 3px 0 #a9b79b;padding:2px 9px;font:20px/1.8 monospace;margin-bottom:20px}.steps h3{font-size:16px}.steps p{font-size:12px;color:#65705f;line-height:1.9;margin:0}.faq-section{padding-block:95px;display:grid;grid-template-columns:.75fr 1.25fr;gap:80px}.faq-luna{width:65px;margin-top:14px}.faq-list details{border-bottom:1px solid #d5c5ce;padding-block:19px}.faq-list details:first-child{border-top:1px solid #d5c5ce}.faq-list summary{font-size:13px;font-weight:650;list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:26px}.faq-list summary::-webkit-details-marker{display:none}.faq-list summary:after{content:'+';font:22px monospace}.faq-list details[open] summary:after{content:'−'}.faq-list details p{font-size:12px;color:var(--muted);padding-right:20px;margin-bottom:3px}.contact-section{position:relative;text-align:center;background:#f3e1e8;border:1px solid var(--plum);box-shadow:7px 7px 0 #dec6d3;padding:50px 40px;margin-bottom:75px}.contact-section>p:not(.eyebrow){font-size:13px;color:var(--muted)}.contact-spark{position:absolute;right:32px;top:19px;font-size:46px;color:#af79a3}.form-placeholder{max-width:650px;margin:30px auto 0;background:var(--paper);padding:25px;border:1px dashed #ae879e}.draft-label{display:inline-block;background:#eee9d5;color:#76643f;font:9px/1.5 monospace;letter-spacing:1.2px;padding:5px 9px;margin-bottom:13px}.form-placeholder h3{font-size:17px}.form-placeholder p{font-size:12px;color:var(--muted);margin:0 auto 17px;max-width:420px}.site-footer{display:flex;gap:20px;align-items:center;justify-content:space-between;padding-bottom:30px;font-size:10px;color:var(--muted)}.site-footer a{text-decoration:none}.footer-brand{font-weight:750;font-size:16px;color:var(--plum)}.footer-brand span{color:#a35f86}.sticky-cta{position:fixed;bottom:0;left:0;right:0;z-index:10;border-top:1px solid var(--plum);background:#fcf6ebf5;backdrop-filter:blur(10px);padding:12px max(30px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;gap:20px}.sticky-cta>div{display:flex;align-items:center;font-size:12px}.skip-link{position:fixed;left:10px;top:-100px;background:var(--plum);color:white;z-index:30;padding:10px}.skip-link:focus{top:10px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.no-script{background:#fff0b5;padding:20px;text-align:center}.no-script a{font-weight:bold}@keyframes breathe{0%,100%{transform:translateY(0)}50%{transform:translateY(2px)}}
@media(min-width:1500px){.hero{padding-top:60px;padding-bottom:100px}.hero h1{font-size:57px}}
@media(max-width:1050px){.section-width{width:calc(100% - 60px)}.site-header{width:calc(100% - 50px)}.hero{gap:30px}.hero h1{font-size:42px}.hero-art{padding-right:10px}.hero-facts{gap:16px}.ribbon{gap:22px;font-size:10px}.custom-layout{gap:45px}.about-section{gap:65px}.photo-frame img{height:320px}.life-card{padding:22px}.site-header nav{gap:20px}.window-toolbar{font-size:9px}.speech-bubble{font-size:12px;top:20px;padding:10px 14px}.sticker-star{font-size:48px}.experience-note{right:-18px}.faq-section{gap:40px}}
@media(max-width:760px){body{padding-bottom:85px}.section-width{width:calc(100% - 40px)}.site-header{width:calc(100% - 40px);min-height:85px}.site-header nav{display:none}.site-header>.button{font-size:10px;padding:10px;gap:8px}.brand{font-size:15px;gap:7px}.brand-small{font-size:15px}.brand-small b{font-size:22px}.brand img{width:27px;height:40px}.hero{grid-template-columns:1fr;padding-top:15px;padding-bottom:50px;gap:30px}.hero-copy{padding-top:0}.audience-switch{margin-bottom:30px}.hero h1{font-size:clamp(36px,8.5vw,53px);letter-spacing:-1.8px}.hero-description{max-width:540px;font-size:13px}.hero-art{max-width:470px;width:calc(100% - 16px);margin:auto;padding-right:10px}.room-scene{aspect-ratio:1/1}.hero-facts{justify-content:space-between;gap:10px}.hero-facts span{font-size:9px}.hero-facts b{font-size:13px}.eyebrow{font-size:9px;letter-spacing:1.8px}.ribbon{display:grid;grid-template-columns:1fr 1fr;text-align:center;gap:7px 12px;padding:17px 20px;font-size:9px}.ribbon i{display:none}.life-section{padding-block:60px}.life-grid{grid-template-columns:1fr;gap:20px}.life-card{padding:22px 24px 24px}.life-card .pixel-icon{position:absolute;right:23px;top:4px;font-size:28px}.life-card h3{margin-top:19px;max-width:90%;font-size:18px}.life-card p{max-width:460px;font-size:12px}.custom-layout{grid-template-columns:1fr;gap:38px;padding-block:55px}.custom-copy{order:-1}.custom-copy h2{font-size:34px}.lesson-window{max-width:490px;width:100%;margin:auto}.lesson-content{min-height:375px}.lesson-example{max-width:100%;padding-right:15px;min-height:240px}.lesson-example h3{font-size:23px}.lesson-example p{max-width:390px}.about-section{grid-template-columns:1fr;gap:35px;padding-block:65px}.photo-composition{max-width:340px;width:90%;margin:auto}.photo-frame img{height:320px}.experience-note{right:-11px;bottom:40px}.about-copy h2{font-size:33px}.steps-section{padding-block:55px}.steps{grid-template-columns:1fr;gap:29px}.steps li{position:relative;padding-left:65px}.step-number{position:absolute;top:0;left:0}.steps h3{font-size:16px}.steps p{font-size:12px}.faq-section{grid-template-columns:1fr;gap:15px;padding-block:60px}.faq-luna{display:none}.faq-section h2{font-size:33px}.faq-list summary{font-size:12px}.contact-section{padding:35px 20px;margin-bottom:45px}.contact-section h2{font-size:29px}.contact-spark{font-size:28px;right:12px;top:7px}.form-placeholder{padding:20px 12px}.form-placeholder .text-link{font-size:10px}.site-footer{display:grid;grid-template-columns:1fr 1fr;font-size:9px;gap:14px}.site-footer p{margin:0}.footer-brand{font-size:13px}.sticky-cta{padding:12px 20px;justify-content:center;min-height:77px}.sticky-cta>div{display:none}.sticky-cta .button{width:100%;max-width:440px;min-height:46px;font-size:13px;justify-content:space-between}.sticker-note{font-size:11px}.speech-bubble{top:28px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* Clareza da oferta, demonstrações e primeiro contato. */
:root { --muted:#655362; }
.hero { gap:48px; padding-top:24px; }
.hero h1 { font-size:clamp(35px,3.6vw,51px); }
.hero .highlight { display:inline; background:linear-gradient(transparent 65%,var(--pink) 65%); box-decoration-break:clone; -webkit-box-decoration-break:clone; }
.hero .highlight:before { display:none; }
body[data-audience="exterior"] .hero h1 { font-size:clamp(32px,3.15vw,45px); }
.offer-label { max-width:490px; font-size:12px; letter-spacing:1.1px; line-height:1.7; }
.audience-switch { margin-bottom:24px; }
.audience-switch legend, .audience-switch button { font-size:13px; }
.audience-switch button { min-height:44px; }
.hero-description { font-size:16px; }
.cta-note { font-size:13px; line-height:1.7; max-width:480px; margin-bottom:20px; }
.teacher-intro { display:flex; align-items:center; gap:12px; text-decoration:none; margin:22px 0; max-width:480px; }
.teacher-intro img { width:52px; height:52px; flex-shrink:0; object-fit:cover; object-position:50% 25%; border:2px solid var(--plum); box-shadow:3px 3px 0 var(--pink); }
.teacher-intro strong, .teacher-intro > span > span { display:block; font-size:12px; line-height:1.6; }
.teacher-intro > span > span { color:var(--muted); }
.hero-facts { font-size:12px; }
.hero-facts b { font-size:16px; }
.life-card p, .custom-copy p:not(.eyebrow), .about-copy p:not(.eyebrow), .steps p, .faq-list details p { font-size:15px; line-height:1.85; }
.section-heading > p:last-child { font-size:16px; }
.check-list, .faq-list summary, .contact-section > p:not(.eyebrow) { font-size:15px; }
.text-link { font-size:14px; }
.eyebrow { font-size:11px; }
.card-number { font-size:12px; letter-spacing:.7px; }
.ribbon { font-size:13px; gap:28px; }
.lesson-content { min-height:565px; padding:25px; }
.lesson-tabs { gap:8px; }
.lesson-tabs button { font-size:12px; min-height:44px; padding:8px 10px; }
.lesson-example { max-width:none; padding-top:16px; }
.lesson-example h3 { font-size:22px; }
.lesson-example p { font-size:14px; padding-right:0; line-height:1.7; }
.lesson-example .demo-label { font:600 10px/1.5 Luna,Arial,sans-serif; letter-spacing:1.2px; color:#785c70; margin:15px 0 5px; }
.practice-example { padding:2px 15px 12px; border-left:3px solid #a6b48b; background:#ecf0e3; margin-block:18px; }
.practice-example blockquote { margin:14px 0 6px; font-size:17px; font-weight:650; line-height:1.6; }
.practice-example #lesson-translation { font-size:13px; margin:0; }
.example-caption { max-width:none; font-size:12px; line-height:1.7; }
.custom-layout { gap:65px; }
.comfort-section { padding-block:75px; display:grid; grid-template-columns:1fr 1fr; gap:65px; align-items:center; }
.comfort-section > div > p:not(.eyebrow) { font-size:15px; color:var(--muted); max-width:470px; }
.comfort-notes { border:1px solid var(--plum); background:#f5ede7; box-shadow:5px 5px 0 #ddcbd4; padding:5px 24px; }
.comfort-notes article { padding:20px 0 16px 34px; position:relative; }
.comfort-notes article + article { border-top:1px solid var(--line); }
.comfort-notes article > span { position:absolute; left:0; font:25px/1.4 monospace; color:#925779; }
.comfort-notes h3 { font-size:17px; margin-bottom:6px; }
.comfort-notes p { margin:0; color:var(--muted); font-size:14px; }
.about-section { padding-top:25px; }
.steps { grid-template-columns:repeat(4,1fr); gap:27px; }
.steps h3 { font-size:17px; }
.steps p { color:#4f5d47; }
.experience-note span { font-size:12px; }
.faq-list summary { min-height:44px; }
.contact-section { padding:50px 45px; }
.contact-section > p:not(.eyebrow) { max-width:640px; margin-inline:auto; }
.lead-form { text-align:left; max-width:740px; margin:30px auto 0; background:var(--paper); border:1px solid var(--plum); box-shadow:4px 4px 0 #d2bdcb; padding:30px; }
.form-context { margin:0 0 12px; padding:12px 15px; background:#eee7f4; font-size:14px; font-weight:650; }
.form-required { font-size:12px; color:var(--muted); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.form-grid label { display:flex; flex-direction:column; gap:8px; font-size:14px; font-weight:600; }
.full-field { grid-column:1/-1; }
.form-grid input, .form-grid select, .form-grid textarea { width:100%; min-width:0; min-height:48px; background:#fffdf8; border:1px solid #9a8394; color:var(--plum); font:400 16px/1.6 Luna,Arial,sans-serif; padding:10px 12px; border-radius:0; }
.form-grid input::placeholder, .form-grid textarea::placeholder { color:#766573; opacity:1; }
.form-grid textarea { resize:vertical; }
.form-grid :is(input,select,textarea):focus-visible { outline:3px solid #a65e83; outline-offset:2px; }
.field-hint { font-size:12px; color:var(--muted); line-height:1.7; font-weight:400; }
.consent-label { display:flex; align-items:flex-start; gap:11px; font-size:13px; line-height:1.7; margin-top:23px; cursor:pointer; }
.consent-label input { width:20px; height:20px; flex-shrink:0; margin-top:2px; accent-color:#925779; }
.lead-form .button { margin-top:12px; }
.lead-form .button:disabled { opacity:.65; cursor:wait; transform:none; }
.form-next { font-size:13px; line-height:1.8; color:var(--muted); margin-top:22px; }
.preview-note { font-size:12px; line-height:1.7; background:#f4ebd0; color:#65512f; padding:11px 14px; }
.form-status { font-size:14px; border:1px solid var(--plum); padding:15px; margin-top:20px; scroll-margin-block:110px; }
.form-status[data-state="success"] { background:#e6eddb; }
.form-status[data-state="error"] { background:#f8dfe5; }
.form-status[data-state="pending"] { background:#eee7f4; }
.honey-field { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
[hidden] { display:none!important; }
.site-footer { font-size:12px; flex-wrap:wrap; }
.sticky-cta > div { font-size:13px; }
@media(max-width:1050px) {
  .hero { gap:30px; }
  .hero h1 { font-size:40px; }
  body[data-audience="exterior"] .hero h1 { font-size:35px; }
  .custom-layout, .comfort-section { gap:35px; }
  .ribbon { gap:18px; font-size:11px; }
  .steps { grid-template-columns:1fr 1fr; gap:35px; }
}
@media(max-width:760px) {
  .site-header { min-height:80px; }
  .site-header > .button { display:none; }
  .brand { flex-shrink:0; }
  .brand > span { white-space:nowrap; }
  .hero { padding-bottom:45px; }
  .hero h1 { font-size:clamp(34px,8.3vw,50px); }
  body[data-audience="exterior"] .hero h1 { font-size:clamp(30px,7.5vw,44px); }
  .hero-description, .section-heading > p:last-child { font-size:16px; }
  .hero-facts { font-size:12px; }
  .hero-facts span { font-size:11px; }
  .hero-facts b { font-size:15px; }
  .hero .button { width:100%; max-width:420px; font-size:14px; }
  .offer-label { font-size:11px; }
  .cta-note { font-size:13px; }
  .teacher-intro strong, .teacher-intro > span > span { font-size:12px; }
  .ribbon { font-size:11px; }
  .life-card p { font-size:15px; }
  .lesson-content { padding:22px 18px; min-height:0; }
  .lesson-tabs button { font-size:11px; padding:8px; }
  .lesson-example { min-height:0; padding-right:0; }
  .lesson-example p { font-size:14px; }
  .comfort-section { grid-template-columns:1fr; gap:20px; padding-block:55px; }
  .comfort-section h2 { font-size:31px; }
  .comfort-notes { padding-inline:20px; }
  .steps { grid-template-columns:1fr; gap:30px; }
  .steps p, .faq-list summary { font-size:15px; }
  .contact-section { padding:35px 15px; }
  .contact-section h2 { font-size:29px; overflow-wrap:break-word; }
  .lead-form { padding:22px 15px; }
  .form-grid { grid-template-columns:1fr; gap:18px; }
  .full-field { grid-column:auto; }
  .lead-form .button { width:100%; padding-inline:12px; gap:10px; font-size:13px; }
  .site-footer { display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
}

/* Visual 0.4: calm reading rhythm, a shared pixel grid and smaller mobile chrome. */
:root { --muted:#685565; --shadow:#d8c9d7; }
body { padding-bottom:68px; }
.site-header { min-height:94px; gap:24px; border-bottom:1px solid #e8dcd9; }
.site-header > .button { display:none; }
.site-header nav { margin-left:auto; }
.audience-menu { position:relative; margin-left:auto; z-index:20; font-size:12px; }
.audience-menu summary { display:flex; align-items:center; gap:14px; cursor:pointer; list-style:none; min-height:44px; padding:8px 12px; border:1px solid #c5afc0; background:#fffaf3; }
.audience-menu summary::-webkit-details-marker { display:none; }
.switch-caption { color:#7b526e; font-weight:650; }
.audience-switch { position:absolute; top:calc(100% + 8px); right:0; width:264px; background:var(--paper); padding:16px; border:2px solid var(--plum); box-shadow:4px 4px 0 var(--shadow); margin:0; }
.audience-switch legend { float:left; width:100%; margin-bottom:10px; }
.audience-switch > div { display:grid; width:100%; background:none; padding:0; border:0; gap:8px; }
.audience-switch button { text-align:left; border:1px solid var(--line); }
.audience-switch button[aria-pressed=true] { background:var(--mint); box-shadow:2px 2px 0 #aab99d; }
.mobile-welcome { display:none; }
.hero { gap:64px; padding-block:44px 58px; grid-template-columns:1.12fr 1fr; }
.hero h1, body[data-audience="exterior"] .hero h1 { font-size:clamp(36px,3.6vw,50px); line-height:1.13; letter-spacing:-1.8px; max-width:570px; text-wrap:balance; }
.hero-description { max-width:530px; line-height:1.7; margin-bottom:24px; }
.offer-label { font-size:10px; max-width:440px; letter-spacing:1.5px; margin-bottom:15px; }
.hero-art { padding:0 8px 18px 0; }
.room-window, .lesson-window, .photo-frame { transform:none; border:2px solid var(--plum); box-shadow:6px 6px 0 var(--shadow); }
.room-scene { aspect-ratio:4/3; }
.room-background { object-position:center 37%; }
.luna-sprite { width:238px; height:256px; left:calc(50% - 119px); bottom:0; animation:none; filter:none; }
.speech-bubble { transform:none; top:20px; left:16px; padding:10px 12px; font-size:12px; }
.desk { height:42px; border-top-width:4px; box-shadow:inset 0 5px 0 #f8dba5; }
.sticker-star { top:-32px; right:-13px; font-size:48px; }
.sticker-note { right:-10px; bottom:-2px; padding:8px 14px; font-size:12px; }
.teacher-intro { margin-block:20px; }
.teacher-intro strong { font-size:12px; }
.teacher-intro > span > span { font-size:11px; }
.hero-facts { padding-top:16px; gap:32px; }
.cta-note { font-size:11px; max-width:470px; }
.ribbon { padding-block:13px; background:#eee7f2; border-color:#d8c4d4; }
.life-section { padding-block:68px 76px; }
h2 { font-size:clamp(29px,2.8vw,39px); letter-spacing:-1.3px; text-wrap:balance; }
.section-heading { margin-bottom:30px; }
.life-section .section-heading { max-width:780px; display:grid; grid-template-columns:1.2fr 1fr; gap:0 44px; align-items:end; }
.life-section .section-heading .eyebrow { grid-column:1/-1; }
.life-section .section-heading h2 { margin:0; }
.life-section .section-heading > p:last-child { margin:0 0 3px; line-height:1.8; }
.life-card { padding:26px; border-color:#ab8fa3; box-shadow:4px 4px 0 #dfcbd5; }
.goal-icon { display:block; width:48px; height:48px; margin:22px 0 16px; }
.life-card h3 { font-size:19px; line-height:1.4; }
.life-card p { font-size:14px; }
.card-number { font-size:11px; letter-spacing:.8px; }
.custom-layout { padding-block:68px; gap:60px; grid-template-columns:1.08fr 1fr; }
.custom-copy h2 { font-size:38px; }
.custom-copy p:not(.eyebrow), .about-copy p:not(.eyebrow) { font-size:15px; line-height:1.85; }
.check-list { font-size:13px; }
.text-link { font-size:13px; }
.lesson-content { padding:24px; }
.lesson-tabs { display:grid; grid-template-columns:repeat(3,1fr); gap:6px; }
.lesson-tabs button { display:flex; flex-direction:column; align-items:center; gap:7px; padding:10px 5px; min-height:74px; font-size:11px; line-height:1.4; background:#f4edf2; border-color:#c8b4c1; }
.lesson-tabs button[aria-pressed=true] { background:#dcc8e9; border:2px solid #62445c; font-weight:750; box-shadow:2px 2px 0 #62445c; }
.lesson-tabs img { image-rendering:pixelated; }
.lesson-example { min-height:445px; max-width:none; padding-top:22px; }
#lesson-icon { width:40px; height:40px; display:block; }
.lesson-example h3 { font-size:22px; min-height:60px; }
.lesson-example p { padding-right:0; }
.practice-example { padding:10px 14px 15px; margin-block:18px; border-left:4px solid #a3b890; }
.practice-example blockquote { font-size:17px; color:#405039; border-top:1px dashed #acbb9e; padding-top:14px; }
.example-caption { font-size:10px; }
.comfort-section { padding-block:64px; gap:64px; }
.comfort-section h2 { font-size:32px; }
.comfort-notes { box-shadow:none; background:#f5ecec; border:0; border-left:3px solid #d6b3c7; }
.about-section { gap:80px; padding-block:28px 80px; grid-template-columns:.9fr 1.1fr; }
.photo-composition { max-width:400px; padding:0 24px 36px 0; }
.photo-frame { padding:10px; }
.photo-frame img { height:auto; max-height:490px; aspect-ratio:517/760; object-fit:cover; object-position:center top; }
.photo-frame figcaption { font-size:11px; }
.experience-note { transform:none; right:0; bottom:8px; padding:12px 18px; }
.photo-avatar { position:absolute; width:119px; height:128px; bottom:7px; left:-14px; z-index:2; }
.photo-spark { top:-32px; left:-22px; font-size:43px; }
.steps-section { padding-block:64px; }
.steps-section .section-heading { text-align:left; max-width:none; margin-bottom:38px; }
.steps-section h2 br { display:none; }
.steps { position:relative; gap:30px; }
.steps::before { content:''; position:absolute; left:30px; right:30px; top:27px; border-top:3px dotted #9aac8b; }
.steps li { position:relative; }
.step-number { position:relative; display:flex; align-items:center; justify-content:center; gap:7px; width:82px; height:56px; padding:5px; margin-bottom:20px; background:#fbf6eb; z-index:1; font-size:14px; border-width:2px; }
.step-number img { image-rendering:pixelated; }
.steps h3 { font-size:16px; line-height:1.5; }
.steps p { font-size:13px; line-height:1.85; }
.faq-section { padding-block:70px; grid-template-columns:.8fr 1.2fr; }
.faq-list details { padding-block:16px; }
.faq-list details p { font-size:14px; line-height:1.85; }
.contact-section { background:transparent; box-shadow:none; border:0; padding:40px 0 0; margin-bottom:64px; }
.contact-section h2 { font-size:36px; }
.contact-section > p:not(.eyebrow) { font-size:15px; }
.contact-spark { right:12%; }
.lead-form { margin-top:28px; padding:32px; border:2px solid #8b6d83; box-shadow:6px 6px 0 #e3d4df; }
.form-context { padding:0 0 16px; background:none; border-bottom:1px dashed #c7b5c3; font-size:12px; color:#7e5572; font-weight:600; }
.form-required { font-size:11px; }
.form-group-title { font-size:14px; color:#885b77; margin:14px 0 0; padding-top:14px; border-top:1px solid #e6d9df; letter-spacing:.3px; }
.form-group-title:first-child { margin:0; padding:0; border:0; }
.form-grid { gap:20px; }
.form-grid input, .form-grid select, .form-grid textarea { background:#fffefb; border-color:#b69cae; border-width:1px 1px 2px; min-height:50px; }
.form-grid input[aria-invalid=true] { border-color:#a43f60; background:#fff6f6; }
.field-error { font-size:12px; color:#a02c51; font-weight:600; }
.field-error:empty { display:none; }
.consent-label { font-size:12px; }
.lead-form .button { width:100%; }
.form-next { font-size:12px; }
.sticky-cta { min-height:64px; padding-block:8px; border-color:#d9bdce; background:#fcf6ebfa; }
.sticky-cta .button { min-height:44px; }
.sticky-cta > div { font-size:12px; }
@media(max-width:1050px) {
 .hero { gap:36px; }
 .hero h1, body[data-audience="exterior"] .hero h1 { font-size:38px; }
 .custom-layout { gap:36px; }
 .steps { grid-template-columns:repeat(4,1fr); gap:18px; }
 .steps h3 { font-size:14px; }
 .steps p { font-size:12px; }
 .site-header { gap:18px; }
 .site-header nav { gap:18px; }
}
@media(max-width:760px) {
 body { padding-bottom:64px; }
 .section-width, .site-header { width:calc(100% - 36px); }
 .site-header { min-height:80px; gap:12px; }
 .audience-menu { font-size:11px; }
 .audience-menu summary { flex-direction:column; align-items:flex-start; justify-content:center; gap:0; padding:6px 9px; line-height:1.5; }
 .switch-caption { font-size:10px; }
 .audience-switch { width:248px; }
 .hero { display:block; padding-block:20px 38px; }
 .mobile-welcome { display:flex; gap:14px; align-items:center; padding:0 0 20px; color:#785a70; font:11px/1.7 monospace; }
 .mobile-welcome img { width:74.375px; height:80px; object-fit:contain; image-rendering:pixelated; }
 .mobile-welcome b { font-weight:500; color:#493047; }
 .hero h1, body[data-audience="exterior"] .hero h1 { font-size:clamp(32px,8.4vw,43px); letter-spacing:-1.3px; line-height:1.15; max-width:540px; margin-bottom:18px; }
 .hero-description { font-size:15px; margin-bottom:22px; line-height:1.75; }
 .offer-label { font-size:9px; letter-spacing:1px; margin-bottom:12px; }
 .hero .button { font-size:13px; min-height:52px; max-width:none; }
 .cta-note { font-size:11px; line-height:1.8; }
 .teacher-intro { margin-block:20px; }
 .hero-facts { gap:12px; }
 .hero-facts span { font-size:10px; }
 .hero-facts b { font-size:14px; }
 .hero-art { width:100%; max-width:400px; margin:28px auto 0; padding:0 6px 18px 0; }
 .room-scene { aspect-ratio:4/3; }
 .luna-sprite { width:178.5px; height:192px; left:calc(50% - 89.25px); }
 .speech-bubble { font-size:10px; top:14px; left:12px; padding:8px; }
 .desk { height:31px; padding-inline:18px; }
 .desk-label { font-size:8px; padding:3px 6px; }
 .desk-mug { width:25px; height:25px; font-size:18px; }
 .sticker-star { display:none; }
 .sticker-note { right:0; font-size:10px; }
 .ribbon { font-size:10px; padding:12px 18px; gap:5px; }
 .life-section { padding-block:44px 48px; }
 .life-section .section-heading { display:block; }
 .life-section .section-heading h2 { margin-bottom:16px; }
 .section-heading > p:last-child { font-size:14px; }
 h2, .custom-copy h2, .comfort-section h2, .about-copy h2, .faq-section h2 { font-size:30px; letter-spacing:-1px; }
 .life-card { padding:22px; }
 .goal-icon { position:absolute; right:20px; top:18px; margin:0; width:40px; height:40px; }
 .card-number { font-size:10px; max-width:75%; min-height:28px; }
 .life-card h3 { font-size:18px; margin-top:14px; max-width:100%; }
 .life-card p { font-size:14px; }
 .custom-layout { grid-template-columns:1fr; padding-block:46px; gap:30px; }
 .custom-copy p:not(.eyebrow), .about-copy p:not(.eyebrow) { font-size:14px; }
 .lesson-content { padding:20px 16px; }
 .lesson-tabs button { min-height:70px; font-size:10px; padding:9px 3px; }
 .lesson-example { min-height:470px; padding-right:0; }
 .lesson-example h3 { font-size:21px; min-height:58px; }
 .lesson-example p { font-size:14px; }
 .practice-example { margin-block:15px; padding-inline:12px; }
 .practice-example blockquote { font-size:16px; }
 .comfort-section { padding-block:48px; gap:24px; }
 .comfort-notes { padding-inline:18px; }
 .about-section { grid-template-columns:1fr; padding-block:12px 48px; gap:34px; }
 .photo-composition { width:90%; max-width:340px; padding-right:16px; }
 .photo-frame img { height:auto; max-height:none; }
 .photo-avatar { left:-14px; width:89.25px; height:96px; }
 .experience-note { right:-5px; padding:10px 14px; }
 .experience-note b { font-size:22px; }
 .steps-section { padding-block:46px; }
 .steps-section h2 br { display:initial; }
 .steps { grid-template-columns:1fr; gap:28px; }
 .steps::before { left:25px; top:26px; bottom:25px; right:auto; border-top:0; border-left:3px dotted #9aac8b; }
 .steps li { padding-left:72px; }
 .step-number { position:absolute; top:0; left:0; width:52px; height:66px; flex-direction:column; gap:0; }
 .step-number img { width:28px; height:28px; }
 .step-number span { line-height:1.5; font-size:12px; }
 .steps h3 { font-size:16px; }
 .steps p { font-size:13px; }
 .faq-section { grid-template-columns:1fr; padding-block:48px; gap:10px; }
 .faq-list summary { font-size:14px; }
 .faq-list details p { font-size:13px; }
 .contact-section { padding:12px 0 0; margin-bottom:45px; }
 .contact-section h2 { font-size:29px; }
 .contact-section > p:not(.eyebrow) { font-size:14px; }
 .contact-spark { display:none; }
 .lead-form { padding:22px 16px; margin-top:24px; box-shadow:4px 4px 0 #e3d4df; }
 .form-context { font-size:11px; }
 .form-grid { gap:18px; }
 .form-grid label { font-size:13px; }
 .form-group-title { font-size:13px; }
 .field-hint { font-size:11px; }
 .sticky-cta { min-height:62px; padding:8px 18px 12px; }
 .sticky-cta .button { min-height:44px; font-size:12px; }
 .site-footer { font-size:11px; }
}

/* Disponibilidade: seleção por dia, com faixas no fuso da candidata. */
.phone-field{display:flex;flex-direction:column;gap:8px;min-width:0}.phone-field .iti{width:100%;font-size:14px}.phone-field .iti__selected-country{min-height:48px;border:0;border-right:1px solid #b69cae;background:#f3eaf0;padding:0 10px;color:var(--plum);font:inherit}.phone-field .iti__selected-country-primary{padding:0;gap:7px;background:transparent}.phone-field .iti__selected-dial-code{margin-left:7px;white-space:nowrap}.phone-field .iti__dropdown-content{background:var(--paper);color:var(--plum);border:1px solid #b69cae;box-shadow:4px 4px 0 #e3d4df;max-width:none;z-index:25}.phone-field .iti__search-input{font:400 16px/1.5 Luna,Arial,sans-serif;min-height:46px;padding:10px}.phone-field .iti__country-list{max-height:230px}.phone-field .iti__country{min-height:42px;padding:9px 10px;font-size:13px;white-space:normal}.phone-field .iti__country.iti__highlight{background:#eee1ee}.phone-field .iti__country-name{flex:1}.phone-field .iti__dial-code{color:#78566d}.phone-field .iti__selected-country:focus-visible{outline:3px solid #a65e83;outline-offset:2px}.phone-field .iti__search-input-wrapper input{padding-left:34px}.phone-field .iti__search-clear{min-height:30px}.phone-field .iti__search-results{font-size:12px}
.availability{border:1px solid #cfc7da;border-radius:12px;padding:16px;min-width:0}.availability legend{font-weight:700;padding:0 8px}.availability-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.availability-day{display:flex;flex-direction:column;gap:8px}.availability-day label{display:flex;flex-direction:row;justify-content:flex-start;text-align:left;align-items:center;gap:8px;font-weight:400;font-size:.95rem}.availability-day input[type=checkbox]{width:20px;height:20px;min-height:20px;padding:0;margin:0;flex-shrink:0}.availability-day strong{font-size:1rem}@media(max-width:480px){.availability-grid{grid-template-columns:1fr}.availability{padding:12px}}
