:root{--white:#fff;--ink:#101010;--muted:#6d636a;--pink:#e85d8f;--pink-dark:#b83262;--pink-soft:#fff1f6;--pink-line:rgba(232,93,143,.22);--line:rgba(16,16,16,.09);--shadow:0 24px 70px rgba(184,50,98,.12);--shadow-2:0 18px 55px rgba(16,16,16,.08);--radius:30px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:'Montserrat',system-ui,-apple-system,Segoe UI,Arial,sans-serif;color:var(--ink);background:#fff;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:'Montserrat',sans-serif}.wrap{width:min(1180px,calc(100% - 36px));margin:0 auto}.topbar{position:sticky;top:14px;z-index:30;margin-top:14px}.nav{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:13px 15px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.88);backdrop-filter:blur(18px);box-shadow:0 16px 50px rgba(16,16,16,.06)}.brand{display:flex;align-items:center;gap:12px;font-weight:900;text-transform:uppercase;letter-spacing:-.03em}.brand-mark{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ink);border:1px solid var(--pink-line);font-weight:900;box-shadow:0 14px 34px rgba(16,16,16,.12)}.brand small{display:block;color:var(--pink);font-size:10px;letter-spacing:.22em;font-weight:800;margin-top:1px}.menu{display:flex;gap:22px;align-items:center;font-size:14px;font-weight:700;color:#252025}.menu a{position:relative}.menu a:after{content:"";position:absolute;left:0;bottom:-7px;width:0;height:2px;border-radius:9px;background:var(--pink);transition:.25s}.menu a:hover:after{width:100%}.hero{position:relative;padding:92px 0 72px}.hero-grid{display:grid;grid-template-columns:1.08fr .92fr;gap:56px;align-items:center}.eyebrow{display:inline-flex;align-items:center;gap:10px;padding:10px 14px;border-radius:999px;background:#fff;color:var(--pink-dark);font-size:13px;font-weight:900;letter-spacing:.03em;text-transform:uppercase;border:1px solid var(--pink-line)}.eyebrow:before{content:"";width:8px;height:8px;border-radius:50%;background:var(--pink);box-shadow:0 0 0 8px rgba(232,93,143,.12)}h1{font-size:clamp(45px,7vw,88px);line-height:.93;margin:25px 0 24px;font-weight:900;letter-spacing:-.075em;max-width:760px}h1 span{color:var(--pink)}.lead{font-size:20px;line-height:1.65;color:#342d33;max-width:670px;margin:0 0 32px;font-weight:500}.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin:0 0 28px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:17px 24px;border-radius:999px;font-weight:900;border:1px solid transparent;transition:.25s;cursor:pointer;line-height:1}.btn-primary{background:var(--pink);color:#fff;box-shadow:0 20px 45px rgba(232,93,143,.28)}.btn-primary:hover{transform:translateY(-3px);background:var(--pink-dark)}.btn-ghost{background:#fff;color:var(--ink);border-color:var(--line);box-shadow:0 14px 42px rgba(16,16,16,.06)}.micro{display:flex;flex-wrap:wrap;gap:10px;color:#5f5660;font-size:14px;font-weight:700}.micro span{padding:10px 13px;border-radius:999px;background:#fff;border:1px solid var(--line)}.visual{position:relative;min-height:610px;border-radius:44px;background:#fff;border:1px solid var(--pink-line);box-shadow:var(--shadow);overflow:hidden;padding:28px}.music-lines{position:absolute;inset:54px 28px auto;display:grid;gap:13px;opacity:.32}.music-lines i{display:block;height:2px;background:linear-gradient(90deg,transparent,var(--pink),transparent)}.note{position:absolute;font-weight:900;color:rgba(232,93,143,.36);animation:note 7s ease-in-out infinite}.note.n1{left:50px;top:130px;font-size:38px}.note.n2{right:64px;top:178px;font-size:58px;animation-delay:-2s}.note.n3{left:42%;top:82px;font-size:28px;animation-delay:-4s}@keyframes note{0%,100%{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-22px) rotate(7deg)}}.lesson-card{position:absolute;left:30px;right:30px;top:255px;border-radius:34px;background:rgba(255,255,255,.9);backdrop-filter:blur(18px);border:1px solid var(--pink-line);box-shadow:0 28px 70px rgba(16,16,16,.09);padding:26px;z-index:2}.lesson-card b{display:block;font-size:14px;color:var(--pink-dark);letter-spacing:.12em;text-transform:uppercase;margin-bottom:12px}.lesson-card strong{display:block;font-size:clamp(28px,4vw,45px);line-height:1;font-weight:900;letter-spacing:-.06em}.lesson-card p{margin:14px 0 0;color:var(--muted);line-height:1.65;font-weight:600}.keys{position:absolute;left:26px;right:26px;bottom:26px;height:164px;border-radius:26px;background:#fff;display:flex;gap:6px;padding:10px;box-shadow:inset 0 -18px 30px rgba(16,16,16,.08),0 24px 54px rgba(16,16,16,.08)}.key{flex:1;border-radius:0 0 17px 17px;background:#fff;position:relative;box-shadow:inset 0 -8px 12px rgba(16,16,16,.06);animation:key 2.2s ease-in-out infinite}.key:nth-child(2){animation-delay:.2s}.key:nth-child(4){animation-delay:.42s}.key:after{content:"";position:absolute;top:0;right:-12px;width:22px;height:94px;border-radius:0 0 10px 10px;background:#101010;z-index:3;box-shadow:0 10px 24px rgba(0,0,0,.18)}.key:nth-child(3):after,.key:nth-child(7):after{display:none}@keyframes key{0%,100%{transform:translateY(0)}50%{transform:translateY(4px)}}section{padding:82px 0;background:#fff}.section-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:34px}.kicker{font-size:13px;font-weight:900;text-transform:uppercase;color:var(--pink-dark);letter-spacing:.14em;margin-bottom:13px}.section-title{font-size:clamp(34px,5vw,58px);line-height:1.02;margin:0;font-weight:900;letter-spacing:-.06em;max-width:760px}.section-title span{color:var(--pink)}.section-text{max-width:430px;color:var(--muted);font-size:16px;line-height:1.65;font-weight:500}.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card,.step,.time-card,.price-card,.fear,.compare-col,.quiz-card,.soft-panel,.form,.cta-panel,.map-card,.gift,.gallery-card,.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow-2);position:relative;overflow:hidden}.card:hover,.step:hover,.price-card:hover{transform:translateY(-4px);transition:.25s;border-color:var(--pink-line)}.icon{width:52px;height:52px;border-radius:18px;background:#fff;display:grid;place-items:center;color:var(--pink-dark);font-size:24px;font-weight:900;margin-bottom:22px;border:1px solid var(--pink-line)}.card h3,.step h3{font-size:22px;line-height:1.18;margin:0 0 12px;font-weight:900;letter-spacing:-.035em}.card p,.step p{margin:0;color:var(--muted);line-height:1.65;font-weight:500}.marquee{padding:16px 0;border-block:1px solid var(--pink-line);background:#fff;overflow:hidden}.marquee-track{display:flex;gap:28px;width:max-content;animation:marquee 22s linear infinite}.marquee span{font-size:14px;text-transform:uppercase;letter-spacing:.18em;font-weight:900;color:var(--pink-dark);white-space:nowrap}@keyframes marquee{to{transform:translateX(-50%)}}.steps,.timeline,.pricing{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.step-num{width:44px;height:44px;border-radius:50%;background:var(--pink);color:#fff;display:grid;place-items:center;font-weight:900;margin-bottom:18px}.time-card b{display:block;font-size:28px;color:var(--pink);letter-spacing:-.05em;margin-bottom:8px}.time-card p{margin:0;color:var(--muted);line-height:1.55;font-weight:500}.split-section,.form-wrap,.map-card{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:stretch}.soft-panel{border-color:var(--pink-line);border-radius:38px;box-shadow:var(--shadow)}.soft-panel h2,.cta-panel h2,.gift h2{font-size:clamp(32px,5vw,54px);line-height:1.02;letter-spacing:-.06em;margin:0 0 18px}.soft-panel h2 span,.cta-panel h2 span{color:var(--pink)}.soft-panel p,.cta-panel p,.gift p{color:var(--muted);line-height:1.7;font-weight:500;margin:0 0 18px}.soft-list{display:grid;gap:12px;margin-top:24px}.soft-list div{display:flex;gap:12px;align-items:flex-start;font-weight:700;line-height:1.5}.soft-list div:before{content:"✓";width:26px;height:26px;flex:0 0 26px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--pink-dark);font-weight:900;border:1px solid var(--pink-line)}.quiz-progress{height:9px;border-radius:999px;background:#fff;overflow:hidden;margin-bottom:24px;border:1px solid var(--pink-line)}.quiz-progress span{display:block;height:100%;width:25%;background:var(--pink);border-radius:999px;transition:.25s}.quiz-step{display:none}.quiz-step.active{display:block}.quiz-step h3,.quiz-result h3{font-size:26px;margin:0 0 18px;letter-spacing:-.04em}.quiz-options{display:grid;gap:10px}.quiz-option{border:1px solid var(--line);border-radius:20px;padding:16px 18px;background:#fff;font-weight:800;cursor:pointer;transition:.2s;text-align:left}.quiz-option:hover,.quiz-option.selected{border-color:var(--pink);transform:translateY(-2px)}.quiz-controls{display:flex;gap:10px;margin-top:18px}.quiz-controls .btn{flex:1}.quiz-result{display:none}.quiz-result.active{display:block}.quiz-result input{width:100%;border:1px solid var(--line);border-radius:18px;padding:16px 17px;outline:none;background:#fff;font-size:15px;font-weight:600;color:var(--ink);margin-bottom:10px}.fear-grid,.compare{display:grid;grid-template-columns:1fr 1fr;gap:16px}.fear b{display:block;font-size:18px;letter-spacing:-.03em;margin-bottom:9px}.fear p,.compare-col li{margin:0;color:var(--muted);line-height:1.65;font-weight:500}.compare-col h3{font-size:26px;letter-spacing:-.04em;margin:0 0 18px}.compare-col ul{list-style:none;padding:0;margin:0;display:grid;gap:12px}.compare-col li{position:relative;padding-left:28px}.compare-col li:before{position:absolute;left:0;top:0;font-weight:900}.compare-col.bad li:before{content:"×";color:#999}.compare-col.good li:before{content:"✓";color:var(--pink)}.price-card{border-radius:34px}.price-card.featured{border-color:var(--pink-line);box-shadow:var(--shadow)}.price-title{font-size:24px;font-weight:900;margin:0 0 8px;letter-spacing:-.04em}.price{font-size:48px;font-weight:900;color:var(--pink);letter-spacing:-.07em;margin:16px 0}.checks{display:grid;gap:10px;margin:20px 0}.checks div{color:var(--muted);font-weight:700}.checks div:before{content:"✓";color:var(--pink);font-weight:900;margin-right:8px}.gallery{display:grid;grid-template-columns:1.2fr .8fr .8fr;grid-auto-rows:190px;gap:14px}.gallery-card{border-radius:28px;border-color:var(--pink-line);display:flex;align-items:end;background-size:cover;background-position:center}.gallery-card:first-child{grid-row:span 2}.gallery-card:before{content:"♪";position:absolute;right:22px;top:10px;font-size:80px;color:rgba(232,93,143,.18);font-weight:900}.gallery-card b{font-size:20px;letter-spacing:-.04em;position:relative}.gallery-card p{margin:8px 0 0;color:var(--muted);font-weight:600;line-height:1.45;position:relative}.map-card{grid-template-columns:1fr 1fr;border-radius:40px}.map-visual{border-radius:30px;min-height:300px;background:#fff;border:1px solid var(--pink-line);position:relative;overflow:hidden}.map-visual iframe{width:100%;height:100%;min-height:300px;border:0}.map-pin{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:84px;height:84px;border-radius:50% 50% 50% 12px;background:var(--pink);rotate:-45deg;box-shadow:0 20px 50px rgba(232,93,143,.35)}.map-pin:after{content:"GP";position:absolute;inset:18px;border-radius:50%;background:#fff;display:grid;place-items:center;rotate:45deg;color:var(--pink-dark);font-weight:900}.map-info{padding:18px}.map-info h3{font-size:32px;margin:0 0 12px;letter-spacing:-.05em}.map-info p{color:var(--muted);line-height:1.65;font-weight:500}.map-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.faq{display:grid;gap:12px}.faq details{border-radius:24px;padding:20px 22px}.faq summary{font-weight:900;cursor:pointer;letter-spacing:-.02em}.faq p{color:var(--muted);line-height:1.65;font-weight:500;margin:14px 0 0}.form-wrap{grid-template-columns:.9fr 1.1fr}.cta-panel{border-radius:40px;border-color:var(--pink-line);box-shadow:var(--shadow);padding:38px}.form{border-radius:40px;padding:28px}.field{display:grid;gap:8px;margin-bottom:14px}.field label{font-size:13px;font-weight:900;color:#312930}.field input,.field select{width:100%;border:1px solid var(--line);border-radius:18px;padding:16px 17px;outline:none;background:#fff;font-size:15px;font-weight:600;color:var(--ink)}.field input:focus,.field select:focus{border-color:var(--pink);box-shadow:0 0 0 4px rgba(232,93,143,.10)}.form .btn{width:100%;margin-top:6px}.small-note{font-size:12px;color:var(--muted);line-height:1.55;margin:14px 0 0;font-weight:500}footer{padding:42px 0 70px;border-top:1px solid var(--line);background:#fff}.footer-grid{display:flex;justify-content:space-between;gap:22px;align-items:flex-start}.footer-grid b{font-size:20px;font-weight:900}.footer-grid p{margin:8px 0 0;color:var(--muted);font-weight:500;line-height:1.6}.mobile-sticky{display:none;position:fixed;left:10px;right:10px;bottom:10px;z-index:60;background:rgba(255,255,255,.92);backdrop-filter:blur(16px);border:1px solid var(--line);border-radius:24px;padding:8px;box-shadow:0 18px 50px rgba(16,16,16,.16);gap:8px}.mobile-sticky a{flex:1;text-align:center;padding:13px 10px;border-radius:18px;font-size:13px;font-weight:900}.mobile-sticky .primary{background:var(--pink);color:#fff}.mobile-sticky .secondary{background:#101010;color:#fff}.reveal{opacity:0;transform:translateY(24px);transition:.7s ease}.reveal.show{opacity:1;transform:translateY(0)}@media(max-width:980px){.menu{display:none}.hero-grid,.split-section,.form-wrap,.map-card{grid-template-columns:1fr}.visual{min-height:540px}.grid-3,.steps,.timeline,.pricing{grid-template-columns:1fr 1fr}.section-head{display:block}.section-text{margin-top:14px}.footer-grid{display:block}.footer-grid>div{margin-bottom:18px}.compare,.fear-grid,.gallery{grid-template-columns:1fr 1fr}.gallery-card:first-child{grid-row:auto}}@media(max-width:640px){.wrap{width:min(100% - 24px,1180px)}.hero{padding:54px 0 46px}h1{font-size:44px}.lead{font-size:17px}.grid-3,.steps,.timeline,.pricing,.compare,.fear-grid,.gallery{grid-template-columns:1fr}.gallery{grid-auto-rows:170px}.visual{min-height:510px;border-radius:32px}.lesson-card{left:18px;right:18px;top:190px}.keys{left:16px;right:16px;height:136px}.section-title{font-size:34px}.nav{border-radius:26px}.brand small{display:none}.mobile-sticky{display:flex}body{padding-bottom:86px}}

/* Grand Piano Web App layer */
body.gp-web-app{background:#fff;min-height:100svh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;padding-bottom:96px}
body.gp-web-app:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 8%,rgba(232,93,143,.08),transparent 28%),radial-gradient(circle at 88% 22%,rgba(232,93,143,.06),transparent 26%);z-index:-1}
.app-main{background:#fff}.app-header{top:10px;margin-top:10px}.app-header .nav{border-radius:28px;padding:10px 12px;box-shadow:0 12px 44px rgba(16,16,16,.08)}
.gp-web-app .brand-mark{border-radius:18px}.gp-web-app section{scroll-margin-top:96px}.gp-web-app .hero{min-height:calc(100svh - 80px);display:flex;align-items:center}.gp-web-app .hero-grid{width:100%}.gp-web-app .card,.gp-web-app .step,.gp-web-app .time-card,.gp-web-app .price-card,.gp-web-app .fear,.gp-web-app .compare-col,.gp-web-app .quiz-card,.gp-web-app .soft-panel,.gp-web-app .form,.gp-web-app .cta-panel,.gp-web-app .map-card,.gp-web-app .gift,.gp-web-app .gallery-card,.gp-web-app .faq details{border-radius:32px;box-shadow:0 16px 50px rgba(16,16,16,.055);background:#fff}.gp-web-app .visual{box-shadow:0 24px 80px rgba(232,93,143,.12);background:#fff}.gp-web-app .btn,.gp-web-app .quiz-option,.gp-web-app input,.gp-web-app select{min-height:48px}.gp-web-app .btn:active,.gp-web-app .quiz-option:active,.app-tabbar a:active{transform:scale(.97)}
.app-tabbar{position:fixed;left:50%;bottom:14px;transform:translateX(-50%);z-index:80;width:min(720px,calc(100% - 20px));display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:8px;border:1px solid rgba(16,16,16,.08);border-radius:28px;background:rgba(255,255,255,.92);backdrop-filter:blur(20px);box-shadow:0 18px 60px rgba(16,16,16,.18)}
.app-tabbar a{height:58px;border-radius:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;font-size:11px;font-weight:900;color:#40373e;transition:.18s;background:#fff;border:1px solid transparent}.app-tabbar a span{font-size:18px;line-height:1;color:var(--pink)}.app-tabbar a:hover{border-color:var(--pink-line);box-shadow:0 10px 28px rgba(232,93,143,.12)}.app-tabbar .app-whatsapp{background:var(--pink);color:#fff;border-color:var(--pink);box-shadow:0 14px 34px rgba(232,93,143,.28)}.app-tabbar .app-whatsapp:before{content:"✆";font-size:18px;line-height:1}.app-tabbar .app-whatsapp:hover{background:var(--pink-dark);color:#fff}.mobile-sticky{display:none!important}
@media(max-width:980px){body.gp-web-app{padding-bottom:104px}.app-header .btn{display:none}.gp-web-app .hero{min-height:auto}.app-tabbar{bottom:10px}}
@media(max-width:640px){body.gp-web-app{padding-bottom:104px}.app-header{top:8px;margin-top:8px}.app-header .nav{border-radius:24px}.app-tabbar{grid-template-columns:repeat(5,1fr);border-radius:24px;padding:6px;width:calc(100% - 14px)}.app-tabbar a{height:54px;border-radius:18px;font-size:10px}.app-tabbar a span{font-size:17px}.gp-web-app h1{font-size:42px}.gp-web-app .hero-actions .btn{width:100%}.gp-web-app .visual{min-height:470px}.gp-web-app footer{padding-bottom:116px}}
