@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap');

:root{--ink:#282327;--muted:#6e656a;--rose:#c493a9;--rose-dark:#86596c;--rose-soft:#ead3dd;--blush:#f7ecef;--paper:#fffaf8;--white:#fff;--gray:#e9e7e6;--line:#ded6d9;--green:#237a54;--shadow:0 24px 70px rgba(71,48,59,.14);--radius:28px;--shell:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;color:var(--ink);background:var(--paper);font-family:"DM Sans",Arial,sans-serif;line-height:1.65}body:has(.modalBackdrop:not([hidden])){overflow:hidden}a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}button{font:inherit}img{display:block;max-width:100%}.shell{width:min(var(--shell),calc(100% - 40px));margin-inline:auto}.srOnly{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.section{padding:104px 0}.kicker{margin:0 0 13px;color:var(--rose-dark);font-size:.76rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.sectionHead{max-width:700px;margin-bottom:42px}.sectionHead h2,.aboutCopy h2,.mapInfo h2,.faq h2,.ctaInner h2,.exitModal h2{margin:0;font:600 clamp(2.25rem,4.5vw,4rem)/1.05 "Playfair Display",Georgia,serif;letter-spacing:-.025em}.sectionHead>p:last-child{margin:17px 0 0;color:var(--muted);font-size:1.08rem}.button{min-height:50px;padding:13px 21px;border:1px solid transparent;border-radius:100px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:.91rem;font-weight:700;letter-spacing:.01em;transition:.25s ease;cursor:pointer}.button:hover{transform:translateY(-2px)}.button.primary{color:#fff;background:var(--rose-dark);box-shadow:0 12px 28px rgba(134,89,108,.22)}.button.primary:hover{background:#704658;box-shadow:0 16px 32px rgba(134,89,108,.28)}.button.ghost{color:var(--rose-dark);border-color:rgba(134,89,108,.4);background:rgba(255,255,255,.36)}.button.ghost:hover{background:#fff}.button.ghost.dark{background:transparent}.button.small{min-height:42px;padding:9px 18px}.textLink{color:var(--rose-dark);font-size:.88rem;font-weight:700;white-space:nowrap}.textLink:hover{text-decoration:underline;text-underline-offset:4px}
.topbar{position:sticky;top:0;z-index:50;background:rgba(255,250,248,.9);border-bottom:1px solid rgba(222,214,217,.78);backdrop-filter:blur(18px)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:10px;font-family:"Playfair Display",Georgia,serif;font-weight:600}.brand img{width:53px;height:53px;object-fit:contain;mix-blend-mode:multiply}.brand span{font-size:1.06rem}.navLinks{display:flex;align-items:center;gap:26px;font-size:.86rem;font-weight:600}.navLinks>a:not(.button){position:relative}.navLinks>a:not(.button)::after{content:"";position:absolute;left:0;right:100%;bottom:-6px;height:1px;background:var(--rose-dark);transition:.25s}.navLinks>a:not(.button):hover::after{right:0}.menuButton{display:none;background:none;border:0;padding:10px}.menuButton span{display:block;width:25px;height:1.5px;margin:5px;background:var(--ink)}
.hero{overflow:hidden;background:radial-gradient(circle at 12% 5%,#fff 0,transparent 36%),linear-gradient(140deg,#f9eff2 0%,#f1e2e7 48%,#e8e6e5 100%)}.heroGrid{min-height:740px;padding:62px 0 72px;display:grid;grid-template-columns:1.04fr .96fr;align-items:center;gap:78px}.heroCopy{position:relative;z-index:2}.eyebrow{display:inline-flex;margin:0 0 20px;padding:8px 13px;border:1px solid rgba(134,89,108,.25);border-radius:100px;color:var(--rose-dark);background:rgba(255,255,255,.45);font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.heroLogo{width:180px;height:112px;margin:0 0 -8px;object-fit:cover;object-position:center;mix-blend-mode:multiply}.hero h1{max-width:680px;margin:0;font:600 clamp(3.4rem,6vw,6.15rem)/.94 "Playfair Display",Georgia,serif;letter-spacing:-.055em;color:#3b3035}.heroLead{max-width:620px;margin:26px 0 0;color:#62565c;font-size:clamp(1rem,1.8vw,1.18rem)}.heroActions{display:flex;flex-wrap:wrap;gap:12px;margin-top:31px}.trustRow{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:41px;padding-top:24px;border-top:1px solid rgba(134,89,108,.22)}.trustRow span{color:var(--muted);font-size:.76rem;line-height:1.35}.trustRow b{display:block;margin-bottom:4px;color:var(--ink);font-size:.98rem}.heroVisual{position:relative;align-self:stretch;display:flex;align-items:center}.heroVisual::before{content:"";position:absolute;left:-55px;right:-80px;top:50%;height:82%;transform:translateY(-50%) rotate(4deg);border:1px solid rgba(255,255,255,.7);border-radius:48% 52% 44% 56%;background:rgba(255,255,255,.26)}.heroPhoto{position:relative;width:100%;height:620px;overflow:hidden;border-radius:48% 48% 28px 28px;box-shadow:var(--shadow);z-index:1}.heroPhoto img{width:100%;height:100%;object-fit:cover;object-position:50% 22%}.floatingCard{position:absolute;z-index:2;left:-50px;bottom:58px;padding:16px 20px;display:flex;align-items:center;gap:13px;border:1px solid rgba(255,255,255,.65);border-radius:18px;background:rgba(255,250,248,.9);box-shadow:0 18px 42px rgba(73,51,61,.16);backdrop-filter:blur(13px)}.floatingCard span{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--rose-dark);font:600 1rem "Playfair Display",serif}.floatingCard p{margin:0;font-size:.76rem;line-height:1.4;font-weight:600}
.servicesSection{background:#fff}.categoryTabs{display:flex;gap:9px;padding-bottom:12px;margin-bottom:32px;overflow-x:auto;scrollbar-width:thin}.categoryTabs button{flex:none;padding:10px 15px;border:1px solid var(--line);border-radius:100px;color:var(--muted);background:#fff;font-size:.79rem;font-weight:600;cursor:pointer}.categoryTabs button:hover,.categoryTabs button.active{color:#fff;border-color:var(--rose-dark);background:var(--rose-dark)}.servicesGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:17px}.serviceCard{min-height:287px;padding:25px;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:22px;background:linear-gradient(150deg,#fff,#fffaf9);transition:.25s}.serviceCard:hover{transform:translateY(-5px);border-color:#cdb7c0;box-shadow:0 20px 46px rgba(85,64,73,.09)}.serviceCard.featured{background:linear-gradient(145deg,#f4e5ea,#fff);border-color:#d3b3c0}.cardTop{display:flex;align-items:center;justify-content:space-between;min-height:24px;color:var(--rose-dark);font-size:.71rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.cardTop b{padding:5px 8px;border-radius:100px;color:#fff;background:var(--rose-dark);font-size:.59rem}.serviceCard h3{margin:18px 0 8px;font:600 1.55rem/1.15 "Playfair Display",serif}.serviceCard>p{margin:0 0 10px;color:var(--muted);font-size:.89rem}.serviceCard>small{color:#887a80;font-size:.73rem;line-height:1.55}.serviceFooter{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-top:auto;padding-top:22px}.serviceFooter strong{font-size:1.06rem}.priceNote{margin:25px 0 0;color:#867a7f;font-size:.72rem}
.courseSection{color:#fff;background:#2e282b}.sectionHead.light .kicker{color:#deb8c8}.sectionHead.light>p:last-child{color:#c9c1c4}.courseGrid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.courseCard{overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:var(--radius);background:#3a3236;box-shadow:0 25px 65px rgba(0,0,0,.17)}.courseCard.presencial{display:grid;grid-template-columns:.74fr 1.26fr;grid-column:1/-1}.courseImage{min-height:580px}.courseImage img{width:100%;height:100%;object-fit:cover}.courseBody{padding:40px}.courseTag{color:#e0b7c8;font-size:.7rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.courseBody h3{margin:12px 0 14px;font:600 2.1rem/1.05 "Playfair Display",serif}.courseBody p{margin:0 0 19px;color:#d0c8cb}.courseBody ul{padding:0;margin:0 0 29px;list-style:none}.courseBody li{position:relative;margin:9px 0;padding-left:23px;color:#eee9eb;font-size:.87rem}.courseBody li::before{content:"✓";position:absolute;left:0;color:#e4b7ca}.online{display:grid;grid-template-columns:1fr 1fr;grid-column:1/-1}.onlineCover{position:relative;min-height:500px;overflow:hidden;background:var(--rose)}.onlineCover::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(45,31,37,.06),rgba(45,31,37,.36))}.onlineCover img{width:100%;height:100%;object-fit:cover;object-position:50% 25%}.onlineCover div{position:absolute;z-index:1;inset:36px auto auto 36px;display:flex;flex-direction:column;color:#fff;text-shadow:0 2px 18px rgba(68,38,49,.24)}.onlineCover span{font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.onlineCover strong{margin:12px 0;font:600 clamp(2.6rem,5vw,5rem)/.88 "Playfair Display",serif}.onlineCover small{max-width:210px;font-size:.88rem}.online .courseBody{display:flex;flex-direction:column;justify-content:center}.online .button{align-self:flex-start;margin-top:8px}
.aboutSection{background:linear-gradient(135deg,#f6e9ed,#edeae8)}.aboutGrid{display:grid;grid-template-columns:.84fr 1.16fr;gap:80px;align-items:center}.aboutImage{position:relative;min-height:680px}.aboutImage::before{content:"";position:absolute;inset:35px -25px -25px 35px;border:1px solid rgba(134,89,108,.35);border-radius:210px 210px 28px 28px}.aboutImage img{position:relative;width:100%;height:680px;object-fit:cover;object-position:center top;border-radius:210px 210px 28px 28px;box-shadow:var(--shadow)}.aboutImage span{position:absolute;right:-28px;bottom:35px;padding:13px 18px;border-radius:100px;color:#fff;background:var(--rose-dark);font-size:.7rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.aboutCopy>p:not(.kicker){color:var(--muted);font-size:.96rem}.aboutCopy blockquote{margin:27px 0;padding:4px 0 4px 22px;border-left:2px solid var(--rose-dark);color:#4f3a43;font:500 1.24rem/1.5 "Playfair Display",serif}
.portfolioSection{background:var(--paper);overflow:hidden}.portfolioHead{display:flex;align-items:flex-end;justify-content:space-between;gap:30px}.carouselControls{display:flex;gap:9px;margin-bottom:42px}.carouselControls button{width:48px;height:48px;border:1px solid var(--line);border-radius:50%;color:var(--ink);background:#fff;font-size:1.2rem;cursor:pointer}.carouselControls button:hover{color:#fff;background:var(--rose-dark)}.portfolioTrack{display:flex;gap:17px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:10px calc((100vw - min(var(--shell),calc(100vw - 40px)))/2) 26px;margin-inline:calc((100vw - min(var(--shell),calc(100vw - 40px)))/-2)}.portfolioTrack::-webkit-scrollbar{display:none}.portfolioTrack figure{position:relative;flex:0 0 min(380px,78vw);height:510px;margin:0;overflow:hidden;border-radius:24px;scroll-snap-align:center;opacity:.7;transform:scale(.96);transition:.3s;cursor:pointer}.portfolioTrack figure.current{opacity:1;transform:scale(1)}.portfolioTrack img{width:100%;height:100%;object-fit:cover}.portfolioTrack figcaption{position:absolute;left:15px;bottom:15px;padding:8px 12px;border-radius:100px;color:#fff;background:rgba(35,28,31,.62);font-size:.72rem;font-weight:700;backdrop-filter:blur(8px)}.dots{display:flex;justify-content:center;gap:8px;margin-top:10px}.dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#d5c9ce;cursor:pointer}.dots button.active{width:24px;border-radius:10px;background:var(--rose-dark)}
.locationSection{background:#fff}.locationGrid{display:grid;grid-template-columns:1.03fr .97fr;gap:70px;align-items:center}.mapCard{overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);box-shadow:0 22px 60px rgba(73,54,62,.08)}.mapPattern{height:260px;display:grid;place-items:center;background-color:#e7d7dd;background-image:linear-gradient(30deg,rgba(255,255,255,.55) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.55) 87.5%),linear-gradient(150deg,rgba(255,255,255,.55) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.55) 87.5%),linear-gradient(30deg,rgba(255,255,255,.55) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.55) 87.5%),linear-gradient(150deg,rgba(255,255,255,.55) 12%,transparent 12.5%,transparent 87%,rgba(255,255,255,.55) 87.5%);background-size:80px 140px;background-position:0 0,0 0,40px 70px,40px 70px}.mapPattern span{width:92px;height:92px;display:grid;place-items:center;border:8px solid rgba(255,255,255,.82);border-radius:50% 50% 50% 0;color:#fff;background:var(--rose-dark);font:600 1.7rem "Playfair Display",serif;transform:rotate(-45deg);box-shadow:0 18px 35px rgba(80,47,62,.25)}.mapPattern span::first-letter{transform:rotate(45deg)}.mapInfo{padding:34px}.mapInfo h2{font-size:2.35rem}.mapInfo address{margin:21px 0;color:var(--muted);font-style:normal}.faq h2{margin-bottom:25px}.faq details{border-top:1px solid var(--line)}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{position:relative;padding:20px 36px 20px 0;font-weight:700;cursor:pointer;list-style:none}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"+";position:absolute;right:4px;top:17px;color:var(--rose-dark);font-size:1.35rem;font-weight:400}.faq details[open] summary::after{content:"−"}.faq details p{margin:0;padding:0 35px 21px 0;color:var(--muted);font-size:.9rem}
.ctaSection{padding:72px 0;color:#fff;background:linear-gradient(115deg,#805267,#a8788e)}.ctaInner{display:grid;grid-template-columns:1fr auto;gap:50px;align-items:center}.ctaInner .kicker{color:#f0d4df}.ctaInner h2{font-size:3.2rem}.ctaInner p:last-child{max-width:680px;margin:14px 0 0;color:#f2e7eb}.ctaActions{display:flex;flex-wrap:wrap;gap:10px}.ctaActions .button.primary{color:var(--rose-dark);background:#fff}.lightButton{color:#fff;border-color:rgba(255,255,255,.45);background:transparent}
footer{padding:62px 0 22px;color:#d6ced1;background:#282326}.footerGrid{display:grid;grid-template-columns:1.3fr 1fr 1fr .8fr;gap:40px}.footerBrand img{width:120px;height:80px;object-fit:cover;mix-blend-mode:screen;filter:invert(1)}.footerBrand p{margin:6px 0;font:500 1.15rem "Playfair Display",serif}.footerGrid>div:not(.footerBrand){display:flex;flex-direction:column;gap:8px;font-size:.82rem}.footerGrid strong{margin-bottom:5px;color:#fff;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase}.footerGrid p{margin:0}.footerGrid a:hover{color:#fff}.copyright{margin-top:45px;padding-top:19px;border-top:1px solid rgba(255,255,255,.1);font-size:.7rem}
.whatsappFloat{position:fixed;z-index:45;right:22px;bottom:22px;min-height:51px;padding:11px 18px;display:flex;align-items:center;gap:9px;border-radius:100px;color:#fff;background:var(--green);box-shadow:0 16px 34px rgba(35,122,84,.27);font-size:.78rem}.whatsappFloat span{font-size:1.3rem}.whatsappFloat:hover{transform:translateY(-2px);background:#196b47}.modalBackdrop{position:fixed;z-index:100;inset:0;padding:20px;display:grid;place-items:center;background:rgba(32,25,28,.65);backdrop-filter:blur(7px)}.modalBackdrop[hidden]{display:none}.exitModal{position:relative;width:min(520px,100%);padding:47px;text-align:center;border-radius:30px;background:#fffaf8;box-shadow:0 30px 90px rgba(0,0,0,.3)}.modalClose{position:absolute;right:17px;top:13px;width:38px;height:38px;border:0;border-radius:50%;color:#6f6167;background:#f1e7ea;font-size:1.45rem;cursor:pointer}.modalMark{width:62px;height:62px;margin:0 auto 20px;display:grid;place-items:center;border-radius:50%;color:#fff;background:var(--rose-dark);font:600 1.2rem "Playfair Display",serif}.exitModal h2{font-size:2.35rem}.exitModal>p:not(.kicker){color:var(--muted)}.exitModal .button{width:100%;margin-top:9px}.notNow{margin-top:15px;border:0;color:#85787d;background:none;font-size:.79rem;text-decoration:underline;cursor:pointer}
@media(max-width:980px){.navLinks{gap:16px}.navLinks>a:not(.button){display:none}.heroGrid{min-height:auto;grid-template-columns:1fr 1fr;gap:34px}.hero h1{font-size:clamp(3.2rem,7vw,4.8rem)}.trustRow{grid-template-columns:1fr}.heroPhoto{height:570px}.floatingCard{left:-25px}.servicesGrid{grid-template-columns:repeat(2,1fr)}.aboutGrid{gap:45px}.aboutImage,.aboutImage img{min-height:600px;height:600px}.locationGrid{gap:38px}.ctaInner{grid-template-columns:1fr}.footerGrid{grid-template-columns:1.3fr 1fr 1fr}}
@media(max-width:720px){.shell{width:min(100% - 28px,var(--shell))}.section{padding:76px 0}.topbar .nav{height:68px}.brand img{width:47px;height:47px}.menuButton{display:block}.navLinks{position:absolute;left:14px;right:14px;top:72px;padding:17px;display:none;flex-direction:column;align-items:stretch;gap:4px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow)}.navLinks.open{display:flex}.navLinks>a:not(.button){display:block;padding:9px}.heroGrid{padding:44px 0 60px;display:flex;flex-direction:column;gap:40px}.heroCopy{order:1}.heroVisual{order:0;width:100%}.heroPhoto{height:min(116vw,590px);border-radius:44% 44% 22px 22px}.heroLogo{width:150px;height:90px}.hero h1{font-size:clamp(3.25rem,14vw,5rem)}.heroLead{font-size:1rem}.heroActions{flex-direction:column}.heroActions .button{width:100%}.trustRow{grid-template-columns:repeat(3,1fr);gap:8px}.floatingCard{left:10px;bottom:20px}.floatingCard p{font-size:.68rem}.servicesGrid{grid-template-columns:1fr}.serviceCard{min-height:245px}.courseCard.presencial,.online{grid-template-columns:1fr}.courseImage{min-height:auto}.courseImage img{height:auto}.courseBody{padding:28px}.onlineCover{min-height:500px}.aboutGrid{grid-template-columns:1fr;gap:58px}.aboutImage,.aboutImage img{min-height:590px;height:590px}.aboutImage::before{inset:20px -8px -15px 20px}.aboutImage span{right:-2px}.portfolioHead{align-items:flex-start}.carouselControls{margin:0}.portfolioTrack figure{height:470px}.locationGrid{grid-template-columns:1fr}.ctaInner{gap:30px}.ctaInner h2{font-size:2.75rem}.ctaActions{flex-direction:column}.footerGrid{grid-template-columns:1fr 1fr}.footerBrand{grid-column:1/-1}.whatsappFloat b{display:none}.whatsappFloat{width:54px;height:54px;padding:0;justify-content:center}.exitModal{padding:42px 23px 28px}.exitModal h2{font-size:2rem}}
@media(max-width:420px){.trustRow{grid-template-columns:1fr 1fr}.trustRow span:last-child{grid-column:1/-1}.heroPhoto{height:510px}.portfolioTrack figure{height:430px}.footerGrid{grid-template-columns:1fr}.footerBrand{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Refinamentos de marca e localização — versão 2 */
.brand img{width:70px;height:54px;object-fit:contain;mix-blend-mode:normal}
.heroLogo{width:270px;height:auto;margin:0 0 8px;padding:10px 18px;object-fit:contain;mix-blend-mode:normal;border:1px solid rgba(255,255,255,.58);border-radius:18px;background:rgba(255,255,255,.34)}
.floatingCard span{width:62px;height:62px;padding:8px;overflow:hidden;background:#f2e5ea}
.floatingCard span img{width:100%;height:100%;object-fit:contain}
.onlineCover::after{background:linear-gradient(180deg,rgba(45,31,37,.03) 18%,rgba(45,31,37,.12) 48%,rgba(45,31,37,.62) 100%)}
.onlineCover div{inset:auto auto 38px 36px;max-width:78%;padding:16px 18px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(44,32,37,.44);text-shadow:0 2px 16px rgba(35,23,28,.55);backdrop-filter:blur(5px)}
.onlineCover strong{font-size:clamp(2.35rem,4.4vw,4rem)}
.googleMap{height:290px;overflow:hidden;background:#e9e6e7}
.googleMap iframe{width:100%;height:100%;display:block;border:0;filter:saturate(.82) contrast(.96)}
.footerBrand img{width:180px;height:105px;object-fit:contain;object-position:left center;mix-blend-mode:screen;filter:invert(1)}
@media(max-width:720px){.brand img{width:58px;height:48px}.heroLogo{width:230px;height:auto;padding:8px 14px}.floatingCard span{width:54px;height:54px}.onlineCover div{left:18px;right:18px;bottom:24px;max-width:none}.onlineCover strong{font-size:2.75rem}.googleMap{height:250px}.footerBrand img{width:165px;height:96px}}
