/* Fontes locais: mesma tipografia, sem CSS externo no caminho de renderização. */
@font-face{font-family:'DM Sans';font-style:normal;font-weight:400 700;font-display:swap;src:url('/assets/fonts/dm-sans-latin.woff2') format('woff2')}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url('/assets/fonts/manrope-latin-800.woff2') format('woff2')}
:root{--navy:#293e56;--blue:#486e8c;--cream:#faf9f5;--pale:#edf2f4;--text:#5d6873;--line:#dce1e2;--serif:Georgia,'Times New Roman',serif;--sans:'DM Sans',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:106px}body{margin:0;background:var(--cream);font-family:var(--sans);color:var(--navy);font-size:15px;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}button{cursor:pointer}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}.container{width:min(1240px,calc(100% - 112px));margin:auto}.topbar{background:var(--navy);color:#f6f4eb;font-size:11px;letter-spacing:.3px}.topbar .container{display:flex;justify-content:space-between;align-items:center;min-height:34px}.topbar a{display:flex;align-items:center;gap:8px}.topbar svg{width:13px;height:13px}.header{background:rgba(250,249,245,.97);position:sticky;top:0;z-index:20;border-bottom:1px solid rgba(41,62,86,.08)}.nav-wrap{display:flex;align-items:center;justify-content:space-between;min-height:100px;gap:30px}.brand{display:flex;align-items:center;gap:12px}.brand img{border-radius:50%;object-fit:cover}.brand>span{font-family:'Manrope',sans-serif;font-size:22px;letter-spacing:-.8px;font-weight:800;white-space:nowrap}.brand small{display:block;font-family:var(--sans);font-size:8px;letter-spacing:1.75px;font-weight:550;margin-top:4px}.header nav{display:flex;align-items:center;gap:31px;font-size:12px;font-weight:550}.header nav>a:hover{color:var(--blue)}.button{display:inline-flex;align-items:center;justify-content:center;gap:13px;background:var(--navy);color:#fff;border:1px solid var(--navy);border-radius:5px;padding:19px 24px;font-size:12px;font-weight:550;transition:background .2s,transform .2s;min-height:54px}.button:hover{background:#3f5d78;transform:translateY(-2px)}.button svg{width:18px;height:18px}.button-small{min-height:44px;padding:12px 18px;font-size:11px}.menu-button{display:none}.hero{background:var(--pale);overflow:hidden}.hero-grid{display:grid;grid-template-columns:1.04fr 1fr;gap:65px;padding-top:62px;padding-bottom:74px;align-items:center}.eyebrow{font-size:10px;font-weight:650;letter-spacing:1.9px;line-height:1.6;margin:0 0 26px;text-transform:uppercase}.hero .eyebrow{display:flex;align-items:center;gap:9px}.eyebrow>span{width:6px;height:6px;background:var(--blue);border-radius:50%}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--serif);font-weight:400;letter-spacing:-2.2px}h1{font-size:clamp(48px,4.6vw,69px);line-height:1.08;margin-bottom:25px}h1 em,h2 em{font-weight:400;color:var(--blue)}h1 em{white-space:nowrap}.hero-description{max-width:390px;font-size:14px;line-height:1.85;color:var(--text);margin-bottom:29px}.hero-actions{display:flex;align-items:center;gap:24px}.text-link{display:inline-flex;gap:14px;align-items:center;font-size:11px;font-weight:600;border-bottom:1px solid #a9bac6;padding:7px 0}.text-link span{font-size:20px}.text-link svg{width:16px;height:16px}.hero-note{display:flex;gap:13px;align-items:center;margin-top:36px}.hero-note>svg{width:28px;height:28px;stroke-width:1.2}.hero-note p{font-size:10px;line-height:1.7;margin:0;color:var(--text)}.hero-note strong{font-weight:550;color:var(--navy)}.hero-visual{position:relative;padding-bottom:20px}.hero-image{display:block;width:100%;height:498px;object-fit:cover;object-position:50% 58%;border-radius:150px 8px 8px 8px}.care-seal{background:#f5f1e5;width:108px;height:108px;border:5px solid var(--pale);border-radius:50%;position:absolute;top:15px;left:-39px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;transform:rotate(-12deg)}.care-seal svg{width:25px;height:25px}.care-seal span{text-align:center;font-size:8px;font-weight:650;letter-spacing:1.1px;line-height:1.6}.photo-note{position:absolute;bottom:48px;left:-33px;padding:17px 24px;background:#faf9f5;box-shadow:0 8px 35px #293e5610;border-radius:5px;display:flex;align-items:center;gap:13px}.note-icon{width:34px;height:34px;border-radius:50%;background:#e6eee8;display:grid;place-items:center;color:#5e7867}.note-icon svg{width:18px}.photo-note p{margin:0;font-size:10px;line-height:1.8;color:var(--text)}.photo-note strong{font-weight:550;color:var(--navy)}.visual-caption{position:absolute;bottom:-4px;right:0;font-size:7px;letter-spacing:1.6px}.qualities{border-bottom:1px solid var(--line);background:#f4f5f1}.qualities .container{display:flex;justify-content:space-between;align-items:center;min-height:91px;gap:20px}.qualities span{display:flex;align-items:center;gap:11px;font-size:11px;font-weight:500}.qualities svg{width:23px;height:23px}.qualities i{height:20px;width:1px;background:var(--line)}.section{padding:94px 0}h2{font-size:47px;line-height:1.12;margin-bottom:20px}.section-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:40px;margin-bottom:33px}.section-heading h2{margin-bottom:0}.section-heading>p{max-width:307px;font-size:13px;line-height:1.8;color:var(--text);margin-bottom:4px}.section .eyebrow{margin-bottom:19px}.filters{display:flex;gap:8px;border-bottom:1px solid var(--line);margin-bottom:26px;padding-bottom:18px;flex-wrap:wrap}.filters button{border:1px solid transparent;background:transparent;color:var(--text);font-size:11px;padding:10px 17px;border-radius:4px}.filters button.active{background:var(--navy);color:#fff}.filters button:not(.active):hover{border-color:var(--line)}.service-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.service-card{position:relative;padding:29px 28px 22px;border:1px solid var(--line);border-radius:5px;transition:background .2s,border-color .2s}.service-card:hover{background:#f0f3f1;border-color:#a5b9c6}.service-number{position:absolute;top:26px;right:25px;font-size:9px;color:#8b97a1;letter-spacing:1px}.service-icon{width:36px;height:36px;stroke-width:1.15;color:var(--blue);margin-bottom:25px}.service-card h3{font-weight:550;font-size:17px;letter-spacing:-.4px;margin-bottom:12px}.service-card>p{font-size:12px;line-height:1.8;color:var(--text);margin-bottom:23px;min-height:64px}.service-link{padding:14px 0 0;border:0;border-top:1px solid var(--line);color:var(--navy);display:flex;align-items:center;justify-content:space-between;width:100%;background:transparent;font-size:10px;font-weight:550}.service-link svg{width:17px;height:17px}.how{background:var(--navy);color:#fff}.how>.container{display:grid;grid-template-columns:1fr 1fr;gap:110px}.how .eyebrow{color:#b9d0dc}.how h2 em{color:#b9cfdd}.how-title>p:last-child{font-size:12px;color:#c4cdd5;line-height:1.8}.steps{padding-top:4px}.steps article{display:flex;gap:22px;border-bottom:1px solid #ffffff22;padding:0 0 23px;margin-bottom:25px}.steps article:last-child{margin:0;padding:0;border:0}.steps article>span{font-family:var(--serif);font-size:29px;font-style:italic;color:#a6bfd1;line-height:1}.steps h3{font-size:15px;font-weight:500;margin-bottom:9px}.steps p{font-size:12px;color:#c4cdd5;line-height:1.8;margin:0}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.contact-copy>p:not(.eyebrow){font-size:12px;color:var(--text);line-height:1.85;max-width:370px}.contact-details{padding:0;list-style:none;margin:27px 0 29px}.contact-details li{display:flex;gap:15px;margin:20px 0;align-items:flex-start}.contact-details svg{width:20px;height:20px;color:var(--blue)}.contact-details strong,.contact-details a{display:block;font-size:12px;font-weight:550;margin-bottom:5px}.contact-details span{display:block;font-size:10px;color:var(--text);line-height:1.7}.faq{padding-top:0}.faq-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:85px}.faq h2{font-size:42px}.faq .text-link{margin-top:4px}.faq-items details{border-bottom:1px solid var(--line)}.faq-items details:first-child{border-top:1px solid var(--line)}.faq-items summary{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 0;font-size:13px;font-weight:550;cursor:pointer;list-style:none}.faq-items summary::-webkit-details-marker{display:none}.faq-items summary>span{font-size:22px;font-weight:400}.faq-items details[open] summary>span{transform:rotate(45deg)}.faq-items p{line-height:1.8;color:var(--text);font-size:12px;max-width:95%;padding:0 0 6px}.closing{background:#e9eeeb;padding:44px 0}.closing>.container{display:flex;align-items:center;justify-content:space-between;gap:25px}.closing>.container>svg{width:39px;height:39px}.closing h2{font-size:36px;margin:0;letter-spacing:-1.3px}.button-light{background:transparent;color:var(--navy);border-color:#a9b8b2}.button-light:hover{background:#d4dfd8}footer{padding:40px 0 22px}.footer-top{display:flex;justify-content:space-between;align-items:center;padding-bottom:29px}.footer-top .brand>span{font-size:20px}.footer-top .brand small{font-size:7px;letter-spacing:1px}.social-link{display:flex;align-items:center;gap:11px;font-size:11px}.social-link svg{width:18px;height:18px}.social-link>span{font-size:20px;margin-left:5px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:20px;border-top:1px solid var(--line);font-size:9px;color:#75808a}.floating-wa{position:fixed;bottom:23px;right:24px;z-index:25;background:var(--navy);color:white;display:grid;place-items:center;border-radius:50%;width:53px;height:53px;box-shadow:0 3px 16px #293e5633;border:2px solid var(--cream);transition:transform .2s}.floating-wa:hover{transform:scale(1.08)}.floating-wa svg{width:26px;height:26px}dialog{border:1px solid var(--line);background:var(--cream);color:var(--navy);padding:42px;max-width:480px;width:calc(100% - 32px);border-radius:12px;max-height:90vh;overflow:auto}dialog::backdrop{background:#152a3eb3;backdrop-filter:blur(5px)}dialog .eyebrow{font-size:9px;margin-bottom:17px}dialog h2{font-size:42px;margin-bottom:17px}dialog>p:not(.eyebrow){font-size:12px;line-height:1.8;color:var(--text)}.close-dialog{position:absolute;right:15px;top:11px;border:0;background:transparent;color:var(--navy);font-size:29px;line-height:1;padding:5px}form{margin-top:23px}form label{display:block;font-size:11px;font-weight:550;margin-bottom:9px}form label span{font-weight:400;color:var(--text)}form select,form textarea{width:100%;padding:13px 12px;border:1px solid #b9c7d0;border-radius:5px;color:var(--navy);background:#fff;margin-bottom:20px;font-size:12px}form textarea{resize:vertical}form .button{width:100%}form>small{display:block;font-size:9px;line-height:1.8;color:var(--text);margin-top:14px}button:focus-visible,a:focus-visible,summary:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #699ab6;outline-offset:5px}.skip-link{position:fixed;left:15px;top:-80px;padding:12px;background:white;z-index:100}.skip-link:focus{top:15px}[hidden]{display:none!important}
@media(min-width:1500px){.hero-grid{padding-top:80px;padding-bottom:90px}.hero-image{height:560px}h1{font-size:74px}.hero-description{font-size:15px}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.hero-grid{gap:42px}.hero-actions{gap:17px;flex-wrap:wrap}h1{font-size:54px}.hero-image{height:470px}.header nav{gap:20px}.brand>span{font-size:19px}.brand img{width:60px;height:60px}.brand small{font-size:7px}.contact-grid{gap:55px}.how>.container{gap:65px}.service-card{padding:25px 22px}.qualities span{font-size:10px}.hero-note{margin-top:25px}.faq-grid{gap:50px}.closing h2{font-size:32px}}
@media(max-width:800px){.container{width:calc(100% - 48px)}.topbar .container{justify-content:center}.topbar .container>span{display:none}.nav-wrap{min-height:82px}.brand img{width:56px;height:56px}.menu-button{display:flex;flex-direction:column;justify-content:center;gap:6px;width:44px;height:44px;background:transparent;border:1px solid var(--line);border-radius:4px}.menu-button span{width:20px;height:1px;background:var(--navy);margin:0 auto}.header nav{display:none;position:absolute;top:82px;left:0;right:0;padding:24px;background:var(--cream);border-bottom:1px solid var(--line);align-items:stretch;box-shadow:0 10px 15px #293e5610}.header nav.open{display:flex;flex-direction:column;gap:24px}.hero-grid{grid-template-columns:1fr 1fr;gap:30px;padding:43px 0 50px}.hero .eyebrow{font-size:8px;letter-spacing:1.2px}h1{font-size:41px;letter-spacing:-1.5px}h1 em{white-space:normal}.hero-description{font-size:12px}.hero-image{height:460px;border-top-left-radius:100px}.hero-actions .button{padding:15px 18px;font-size:11px;gap:9px}.hero-actions .button>svg:last-child{display:none}.hero-actions .text-link{font-size:10px}.care-seal{width:83px;height:83px;left:-25px;top:20px}.care-seal span{font-size:6px}.care-seal svg{width:20px;height:20px}.photo-note{left:-15px;padding:13px;bottom:40px;gap:8px}.photo-note p{font-size:8px}.note-icon{width:28px;height:28px}.hero-note p{font-size:9px}.visual-caption{font-size:5px;letter-spacing:1px}.qualities .container{display:grid;grid-template-columns:1fr 1fr;padding:23px 0;gap:22px}.qualities i{display:none}.qualities span{font-size:10px}.section{padding:66px 0}h2{font-size:39px}.section-heading>p{max-width:230px;font-size:12px}.service-grid{grid-template-columns:repeat(2,1fr)}.how>.container{grid-template-columns:1fr;gap:30px}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:25px}.steps article{display:block;border-bottom:0;padding:0;margin:0}.steps article>span{display:block;margin-bottom:20px}.steps h3{line-height:1.5;font-size:14px}.steps p{font-size:11px}.contact-grid{gap:30px}.contact h2{font-size:36px}.contact-copy>p:not(.eyebrow){font-size:11px}.contact .button{font-size:10px;padding:15px;gap:10px}.contact-details span{font-size:9px}.contact-details strong{font-size:10px}.faq{padding-top:0}.faq-grid{grid-template-columns:1fr;gap:25px}.faq h2{font-size:39px}.closing>.container{flex-wrap:wrap;justify-content:center;text-align:center}.closing h2{font-size:32px}.closing>.container>svg{width:28px;height:28px}.closing .button{min-height:45px}.footer-bottom{font-size:8px;line-height:1.8}.social-link{font-size:10px}}
@media(max-width:560px){html{scroll-padding-top:83px}.container{width:calc(100% - 40px)}.topbar{font-size:10px}.topbar .container{min-height:28px}.nav-wrap{min-height:76px}.header nav{top:76px}.brand img{width:50px;height:50px}.brand>span{font-size:19px}.brand small{font-size:6.5px}.hero-grid{grid-template-columns:1fr;padding-top:36px;gap:38px;padding-bottom:39px}.hero .eyebrow{font-size:8px;margin-bottom:22px}h1{font-size:48px;line-height:1.06;margin-bottom:22px}h1 em{white-space:nowrap;font-size:43px;letter-spacing:-2px}.hero-description{max-width:330px;font-size:13px;line-height:1.8;margin-bottom:23px}.hero-actions{gap:20px;align-items:center}.hero-actions .button{min-height:50px;padding:16px;font-size:10px}.hero-actions .text-link{font-size:9px;gap:7px}.hero-note{margin-top:24px}.hero-note p{font-size:9px}.hero-note>svg{width:24px;height:24px}.hero-visual{margin-left:19px;margin-right:0;padding-bottom:19px}.hero-image{height:360px;object-position:center 60%;border-top-left-radius:110px}.care-seal{width:88px;height:88px;left:-24px;top:10px}.photo-note{left:-19px;bottom:39px;padding:14px 17px}.photo-note p{font-size:9px}.visual-caption{font-size:6px}.qualities .container{gap:24px 12px}.qualities span{font-size:9px;gap:8px}.qualities svg{width:20px;height:20px}.section{padding:57px 0}.section-heading{display:block;margin-bottom:24px}h2{font-size:39px;letter-spacing:-1.7px}.section .eyebrow{font-size:8px;letter-spacing:1.45px;margin-bottom:16px}.section-heading>p{max-width:300px;margin:20px 0 0;font-size:12px}.filters{gap:4px;padding-bottom:14px;margin-bottom:18px}.filters button{font-size:9px;padding:9px 10px}.service-grid{gap:12px}.service-card{padding:22px 17px 18px}.service-number{font-size:8px;top:21px;right:17px}.service-icon{width:30px;height:30px;margin-bottom:23px}.service-card h3{font-size:15px;line-height:1.35;min-height:40px;margin-bottom:9px}.service-card>p{font-size:10px;line-height:1.8;min-height:90px;margin-bottom:15px}.service-link{font-size:8px;gap:5px;line-height:1.5}.service-link svg{width:14px}.how>.container{gap:23px}.how-title>p:last-child{font-size:11px}.steps{display:block}.steps article{display:flex;gap:20px;border-bottom:1px solid #ffffff22;padding-bottom:22px;margin-bottom:23px}.steps article>span{margin:0}.steps h3{font-size:13px;margin-bottom:7px}.steps p{font-size:11px}.contact-grid{grid-template-columns:1fr;gap:35px}.contact h2{font-size:39px}.contact-copy>p:not(.eyebrow){font-size:12px;max-width:none}.contact-details strong,.contact-details a{font-size:11px}.contact-details span{font-size:9px}.contact .button{font-size:11px;padding:17px 20px}.faq{padding-top:5px}.faq-grid{gap:29px}.faq h2{font-size:37px}.faq-items summary{font-size:12px;line-height:1.5;padding:21px 0}.faq-items p{font-size:11px}.closing{padding:34px 0}.closing>.container{gap:18px}.closing h2{font-size:30px}.closing>.container>svg{display:none}.closing .button{font-size:10px;padding:13px 20px}footer{padding-top:29px;padding-bottom:24px}.footer-top{align-items:flex-start;gap:25px;flex-direction:column}.footer-top .brand img{width:48px;height:48px}.footer-top .brand>span{font-size:19px}.footer-top .brand small{font-size:6px}.footer-bottom{flex-direction:column;gap:6px;padding-right:45px}.floating-wa{width:49px;height:49px;right:15px;bottom:15px}dialog{padding:34px 25px}dialog h2{font-size:38px}dialog .eyebrow{font-size:8px}form .button{font-size:11px;padding:16px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
@media(max-width:560px){h1{font-size:clamp(40px,12.3vw,48px)}h1 em{font-size:clamp(32px,10.2vw,43px)}}

/* Bolhas de sabão: brilho translúcido e movimento suave. */
/* Película transparente, borda iridescente e reflexos de janela. */
.hero{position:relative;isolation:isolate}.hero-grid{position:relative;z-index:1}
.bubble-background,.bubble-trail{position:fixed;inset:0;overflow:hidden;pointer-events:none;user-select:none}
.bubble-background{z-index:2}.bubble-trail{z-index:21}
.soap-bubble{position:absolute;display:block;width:var(--size);height:var(--size);pointer-events:none;will-change:transform,opacity}
.bubble-film{position:absolute;inset:0;display:block;border-radius:50%;border:1px solid rgba(137,183,203,.46);background:radial-gradient(ellipse at 28% 23%,rgba(255,255,255,.92),rgba(255,255,255,.12) 16%,transparent 35%),radial-gradient(ellipse at 76% 78%,rgba(215,176,206,.23),transparent 46%),radial-gradient(ellipse at 27% 77%,rgba(151,218,223,.2),transparent 42%),radial-gradient(circle,transparent 54%,rgba(194,222,232,.13) 72%,rgba(255,255,255,.7) 100%);box-shadow:inset 1px 2px 4px #ffffffa6,inset -2px -3px 6px #81b5c528,0 2px 7px #3f6b8310;animation:bubble-breathe var(--wobble) ease-in-out infinite alternate}
.bubble-film::before{content:'';position:absolute;inset:-1px;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--shine-angle),#ffffffeb,#b7dfe4a8 15%,#c1b3da7d 30%,#f0caddb3 43%,#f7e5b5b8 55%,#a9dadd99 70%,#c8d8edb3 85%,#ffffffeb);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask-composite:exclude}
.bubble-film::after{content:'';position:absolute;left:17%;top:12%;width:28%;height:15%;border-top:2px solid #fffffff2;border-left:1px solid #ffffff7a;border-radius:50%;transform:rotate(-38deg);box-shadow:15px 20px 0 -8px #ffffffc4}
@keyframes bubble-breathe{from{transform:scale(1.025,.975) rotate(-5deg)}to{transform:scale(.98,1.02) rotate(5deg)}}
@media(prefers-reduced-motion:reduce){.bubble-background,.bubble-trail{display:none}.bubble-film{animation:none}}

/* Endereços com leitura direta e contatos separados por unidade. */
.topbar-units{display:flex;align-items:center;gap:14px}.topbar-units>span{opacity:.5}
.units-heading{margin-bottom:32px}.units-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.unit-card{padding:32px;border:1px solid #d6e0e4;border-radius:8px;background:#f0f4f5;scroll-margin-top:125px}
.unit-card-top{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:25px;border-bottom:1px solid #d7e1e5;margin-bottom:25px}
.unit-label{display:block;font-size:8px;letter-spacing:1.8px;color:var(--blue);margin-bottom:8px;font-weight:600}
.unit-card h3{font-family:var(--serif);font-size:35px;letter-spacing:-1px;font-weight:400;margin:0;line-height:1.1}
.unit-badge{font-size:9px;line-height:1.5;padding:7px 10px;background:#e1eae6;border-radius:4px;color:#4d6b5c;white-space:nowrap}
.unit-address{display:flex;align-items:flex-start;gap:12px}.unit-address>svg{width:21px;height:21px;color:var(--blue)}
.unit-address strong{display:block;font-size:15px;font-weight:550;line-height:1.6}.unit-address span{display:block;font-size:11px;color:var(--text);line-height:1.8;margin-top:4px}
.unit-description{font-size:12px;line-height:1.8;color:var(--text);margin:18px 0 23px;min-height:44px}
.unit-info,.unit-phone{display:flex;align-items:center;gap:10px;font-size:11px;line-height:1.7;margin-bottom:13px}.unit-info svg,.unit-phone svg{width:17px;height:17px;color:var(--blue)}
.unit-phone{font-size:13px;font-weight:550;margin-bottom:24px}.unit-card>.button{width:100%;font-size:11px;min-height:48px;padding:15px 20px}
.unit-card-links{display:flex;justify-content:space-between;gap:16px;margin-top:20px;font-size:10px;color:var(--blue)}.unit-card-links a{border-bottom:1px solid #b3c7d2;padding-bottom:4px}.unit-card-links a:hover{color:var(--navy)}
.footer-socials{display:flex;gap:25px;align-items:center}
@media(max-width:800px){.unit-card{padding:24px}.unit-card-top{align-items:flex-start;flex-direction:column;gap:14px;padding-bottom:20px;margin-bottom:20px}.unit-card h3{font-size:31px}.unit-address strong{font-size:13px}.unit-address span{font-size:10px}.unit-description{font-size:11px;min-height:80px}.unit-info{font-size:10px;min-height:34px}.unit-card-links{font-size:9px;flex-wrap:wrap}.unit-badge{font-size:8px}}
@media(max-width:560px){.units-grid{grid-template-columns:1fr;gap:20px}.unit-card{padding:25px 23px}.unit-card-top{flex-direction:row;align-items:center}.unit-card h3{font-size:31px}.unit-badge{font-size:8px;padding:6px 8px}.unit-address strong{font-size:14px}.unit-address span{font-size:10px}.unit-description{min-height:0;font-size:11px}.unit-info{min-height:0;font-size:10px}.unit-card-links{font-size:9px}.footer-socials{gap:25px}}
button.text-link{background:transparent;border:0;border-bottom:1px solid #a9bac6;color:var(--navy)}
.unit-address{font-style:normal}.unit-card h3 .unit-label{font-family:var(--sans);letter-spacing:1.8px;font-weight:600;line-height:1.6}
.contact-options{display:grid;gap:12px;margin-top:26px}.contact-options>a{display:flex;align-items:center;gap:14px;min-height:88px;padding:18px;border:1px solid #cbd8df;border-radius:7px;background:var(--pale);transition:background .2s,border-color .2s}.contact-options>a:hover{background:#e1eaf0;border-color:var(--blue)}.contact-options>a>svg{color:var(--blue);width:23px;height:23px}.contact-options>a>svg:last-child{margin-left:auto;width:17px}.contact-options strong,.contact-options small{display:block}.contact-options strong{font-size:17px;font-weight:550;margin-bottom:7px}.contact-options small{font-size:10px;line-height:1.6;color:var(--text)}
/* Fotografias e avaliações: leitura compacta e fontes bem identificadas. */
.real-care { padding-top: 0; padding-bottom: 64px; }
.real-care-grid { display: grid; grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 48px; align-items: start; }
.real-gallery { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 14px; }
.real-gallery figure { margin: 0; }
.real-gallery img { display: block; width: 100%; height: 374px; object-fit: cover; border-radius: 8px; background: var(--pale); }
.real-gallery figure:first-child img { object-position: 47% center; }
.real-gallery figcaption { font-size: 12px; color: var(--text); line-height: 1.6; margin-top: 9px; }
.gallery-source { grid-column: 1/-1; display: flex; align-items: center; gap: 8px; font-size: 11px; line-height: 1.6; color: var(--blue); width: fit-content; }
.gallery-source svg { width: 15px; height: 15px; }
.gallery-source:hover { text-decoration: underline; }
.customer-proof { min-width: 0; }
.reviews-title { font-family: var(--sans); font-size: 18px; font-weight: 600; line-height: 1.4; letter-spacing: -.3px; margin: 0 0 14px; }
.review-heading { display: flex; align-items: center; gap: 18px; margin-bottom: 18px; }
.review-score { font-family: var(--sans); font-size: 40px; font-weight: 600; line-height: 1; letter-spacing: -1.8px; }
.review-score>small { font-size: 14px; font-weight: 400; letter-spacing: 0; margin-left: 5px; color: var(--text); }
.review-stars { display: block; color: #92702d; font-size: 14px; letter-spacing: 2px; margin-bottom: 4px; line-height: 1; }
.review-heading p { font-size: 12px; color: var(--text); line-height: 1.5; margin: 0; }
.review-heading strong { font-weight: 500; }
.review-cards { display: grid; gap: 12px; }
.customer-review { margin: 0; padding: 18px 20px; border: 1px solid #dce3e7; border-radius: 10px; background: #fff; }
.customer-review figcaption { display: flex; align-items: center; gap: 10px; }
.review-avatar { display: grid; place-items: center; flex-shrink: 0; width: 36px; height: 36px; border-radius: 50%; background: #e8efec; color: #526c60; font-size: 12px; font-weight: 600; }
.customer-review figcaption strong, .customer-review figcaption div>span { display: block; line-height: 1.5; }
.customer-review figcaption strong { font-size: 13px; font-weight: 600; }
.customer-review figcaption div>span { color: var(--text); font-size: 11px; }
.customer-review blockquote { margin: 12px 0 0; font-family: var(--sans); font-size: 15px; font-weight: 400; line-height: 1.65; letter-spacing: 0; overflow-wrap: break-word; }
.customer-review .review-rating { margin: 12px 0 0; line-height: 1; }
.customer-review .review-rating .review-stars { font-size: 15px; }
.customer-review .review-without-comment { margin: 12px 0 0; font-size: 15px; line-height: 1.65; color: var(--text); }
.review-source { display: flex; flex-direction: column; align-items: stretch; gap: 9px; margin-top: 16px; }
.review-source>.button { width: 100%; font-size: 13px; min-height: 48px; padding: 12px 16px; }
.review-source>small { font-size: 11px; line-height: 1.5; color: var(--text); }
@media (max-width: 1100px) {
  .real-care-grid { gap: 28px; }
  .real-gallery img { height: 400px; }
  .customer-review { padding: 16px; }
}
@media (max-width: 800px) {
  .real-care-grid { grid-template-columns: 1fr; gap: 28px; }
  .real-gallery img { height: 320px; }
  .review-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .review-source { align-items: flex-start; }
  .review-source>.button { width: auto; }
}
@media (max-width: 560px) {
  .real-care { padding-top: 0; padding-bottom: 40px; }
  .real-gallery { gap: 10px; }
  .real-gallery img { height: 220px; }
  .real-gallery figcaption { font-size: 11px; }
  .gallery-source { font-size: 10px; }
  .real-care-grid { gap: 26px; }
  .reviews-title { font-size: 18px; margin-bottom: 14px; }
  .review-cards { grid-template-columns: 1fr; }
  .customer-review { padding: 16px; }
  .customer-review figcaption strong { font-size: 14px; }
  .customer-review figcaption div>span { font-size: 11px; }
  .customer-review blockquote { font-size: 15px; line-height: 1.6; }
  .review-source { align-items: stretch; }
  .review-source>.button { width: 100%; white-space: normal; }
  .contact-options>a { padding: 16px 12px; gap: 10px; }
  .contact-options small { font-size: 9px; }
}

/* Ações: mesma geometria; preenchimento define a prioridade. */
.button {
  min-height: 52px;
  padding: 14px 22px;
  gap: 10px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
  transition: background .18s, border-color .18s, box-shadow .18s;
}
.button:hover { transform: none; box-shadow: 0 3px 10px #293e5612; }
.button svg { width: 18px; height: 18px; }
.button-small { min-height: 46px; padding: 11px 18px; font-size: 13px; }
.button-secondary { background: transparent; color: var(--navy); border-color: #a4b5c2; }
.button-secondary:hover { background: #e2eaee; border-color: var(--blue); }
.button:focus-visible { outline: 2px solid #527c99; outline-offset: 4px; }
.contact .button, .closing .button, form .button { min-height: 52px; padding: 14px 20px; font-size: 14px; gap: 10px; }
.service-link { min-height: 44px; font-size: 12px; }

/* Abertura: uma ação principal, uma secundária e atendimento como informação. */
.hero-grid {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  gap: clamp(32px, 4.7vw, 72px);
  padding-top: 48px;
  padding-bottom: 48px;
}
.hero-copy { min-width: 0; }
.hero .eyebrow { font-size: 10px; letter-spacing: 1.5px; margin-bottom: 22px; }
.hero h1 {
  font-size: clamp(43px, 4.3vw, 64px);
  line-height: 1.08;
  letter-spacing: -2.3px;
  margin-bottom: 24px;
}
.hero h1>span, .hero h1>em { display: block; }
.hero h1>em { font-size: .81em; line-height: 1.2; letter-spacing: -1.8px; white-space: nowrap; margin-top: 8px; }
.hero-description { max-width: 410px; font-size: 15px; line-height: 1.8; margin-bottom: 26px; }
.hero-actions { display: flex; align-items: stretch; flex-wrap: nowrap; gap: 12px; }
.hero .hero-actions>.button { min-height: 52px; padding: 14px 20px; gap: 10px; font-size: 14px; }
.hero .hero-actions>.button>svg { display: block; width: 18px; height: 18px; }
.hero-availability { display: flex; gap: 30px; margin-top: 26px; }
.hero-availability>div { display: flex; gap: 9px; align-items: flex-start; }
.hero-availability svg { width: 18px; height: 18px; margin-top: 2px; color: var(--blue); }
.hero-availability p { margin: 0; font-size: 12px; line-height: 1.6; }
.hero-availability strong, .hero-availability span { display: block; }
.hero-availability strong { font-weight: 600; }
.hero-availability span { font-size: 11px; color: var(--text); }
.hero-visual { padding-bottom: 22px; }
.hero-image { height: 480px; border-radius: 120px 10px 10px 10px; }
.care-seal { width: 94px; height: 94px; left: -25px; top: 18px; }
.care-seal span { font-size: 7px; }
.photo-note { left: -20px; bottom: 42px; padding: 16px 20px; }
@media (min-width: 1500px) {
  .hero-grid { padding-top: 48px; padding-bottom: 48px; }
  .hero-image { height: 480px; }
}
@media (max-width: 1100px) {
  .hero-grid { gap: 36px; }
  .hero h1 { font-size: clamp(43px, 4.7vw, 52px); }
  .hero .hero-actions>.button { padding: 14px 16px; font-size: 13px; }
  .hero-description { font-size: 14px; }
  .hero-availability { gap: 22px; }
  .hero-image { height: 460px; }
}
@media (min-width: 561px) and (max-width: 900px) {
  .hero-grid { grid-template-columns: 1fr; gap: 38px; padding-top: 44px; padding-bottom: 44px; }
  .hero-copy { max-width: 620px; }
  .hero h1 { font-size: 58px; }
  .hero-description { max-width: 480px; font-size: 15px; }
  .hero .hero-actions>.button { font-size: 14px; padding: 14px 22px; }
  .hero-visual { width: 100%; max-width: 620px; margin: 0; }
  .hero-image { height: 340px; object-position: center 65%; }
  .care-seal { left: auto; right: 20px; top: 20px; }
  .photo-note { left: 20px; bottom: 42px; }
}
@media (max-width: 560px) {
  .contact .button, .closing .button, form .button { font-size: 13px; padding: 14px 12px; gap: 8px; }
  .service-link { font-size: 11px; }
  .hero-grid { grid-template-columns: 1fr; gap: 32px; padding-top: 30px; padding-bottom: 32px; }
  .hero .eyebrow { font-size: 8px; letter-spacing: 1.2px; margin-bottom: 20px; }
  .hero h1 { font-size: clamp(40px, 12vw, 54px); letter-spacing: -1.8px; margin-bottom: 22px; }
  .hero h1>em { font-size: .78em; letter-spacing: -1.3px; margin-top: 8px; }
  .hero-description { font-size: 14px; line-height: 1.75; max-width: 370px; margin-bottom: 24px; }
  .hero-actions { display: grid; grid-template-columns: 1.08fr 1fr; gap: 10px; }
  .hero .hero-actions>.button { font-size: 13px; padding: 14px 12px; min-height: 52px; gap: 8px; }
  .hero-availability { display: grid; grid-template-columns: 1.08fr 1fr; gap: 10px; margin-top: 24px; }
  .hero-availability>div { gap: 7px; }
  .hero-availability p { font-size: 12px; }
  .hero-availability span { font-size: 10px; }
  .hero-visual { margin: 0; padding-bottom: 18px; }
  .hero-image { height: 330px; border-top-left-radius: 90px; }
  .care-seal { width: 78px; height: 78px; left: auto; right: 14px; top: 14px; border-width: 3px; }
  .care-seal svg { width: 20px; height: 20px; }
  .care-seal span { font-size: 6px; }
  .photo-note { left: 12px; bottom: 34px; padding: 12px 15px; }
  .photo-note p { font-size: 9px; }
  .visual-caption { font-size: 5px; letter-spacing: 1px; }
}
@media (max-width: 380px) {
  .hero-actions { grid-template-columns: 1fr; }
  .hero .hero-actions>.button { min-height: 48px; }
}


/* Revisão das demais seções: ritmo, leitura e áreas de toque consistentes. */
.header { background: var(--cream); }
.services.section, .how.section, .contact.section { padding: 72px 0; }
.faq.section { padding: 0 0 72px; }
.section-heading { gap: 40px; margin-bottom: 28px; }
.section-heading>p { font-size: 15px; line-height: 1.75; max-width: 340px; }
.qualities .container { min-height: 80px; }
.qualities span { font-size: 12px; line-height: 1.6; }

/* Serviços: filtros legíveis e ações sempre no fim do cartão. */
.filters { gap: 8px; margin-bottom: 24px; padding: 0; border-bottom: 0; }
.filters button { min-height: 44px; border: 1px solid #cbd7de; border-radius: 24px; padding: 10px 16px; font-size: 13px; line-height: 1.5; }
.filters button.active { border-color: var(--navy); }
.filters button:not(.active):hover { border-color: var(--blue); background: #edf2f4; }
.service-grid { gap: 20px; }
.service-card { display: flex; flex-direction: column; padding: 26px; border-radius: 10px; }
.service-icon { margin-bottom: 18px; }
.service-number { top: 26px; right: 26px; font-size: 11px; }
.service-card h3 { font-size: 18px; line-height: 1.4; font-weight: 600; min-height: 0; margin: 0 0 10px; }
.service-card>p { min-height: 0; font-size: 14px; line-height: 1.7; margin: 0 0 22px; }
.service-card>.service-link { justify-content: center; width: 100%; margin-top: auto; min-height: 48px; padding: 12px; border: 1px solid #a4b5c2; border-radius: 8px; font-size: 13px; font-weight: 600; line-height: 1.4; gap: 10px; }
.service-link svg { width: 17px; height: 17px; }

/* Como funciona: passos com texto de apoio fácil de ler. */
.how>.container { grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 64px; align-items: start; }
.how-title>p:last-child { max-width: 370px; font-size: 15px; line-height: 1.75; margin-bottom: 0; }
.steps { display: grid; gap: 22px; padding: 0; }
.steps article { display: flex; gap: 18px; padding: 0 0 22px; margin: 0; border-bottom: 1px solid #ffffff25; }
.steps article:last-child { padding: 0; border: 0; }
.steps article>span { display: block; margin: 0; min-width: 30px; font-size: 28px; line-height: 1.15; }
.steps h3 { font-size: 17px; line-height: 1.4; margin-bottom: 8px; }
.steps p { font-size: 14px; line-height: 1.75; }

/* Unidades: contatos e ações alinhados, sem links minúsculos. */
.units-grid { gap: 24px; }
.unit-card { display: flex; flex-direction: column; min-width: 0; padding: 28px; border-radius: 12px; scroll-margin-top: 16px; }
.unit-card-top { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 14px; padding-bottom: 22px; margin-bottom: 22px; }
.unit-card h3 { font-size: 34px; }
.unit-card h3 .unit-label { font-size: 10px; letter-spacing: 1.5px; }
.unit-badge { font-size: 11px; padding: 7px 10px; line-height: 1.5; }
.unit-address { gap: 12px; }
.unit-address>div { min-width: 0; }
.unit-address strong { font-size: 16px; line-height: 1.5; }
.unit-address span { font-size: 13px; line-height: 1.65; }
.unit-description { min-height: 0; margin: 16px 0 18px; font-size: 14px; line-height: 1.7; }
.unit-info { min-height: 42px; align-items: flex-start; gap: 10px; margin-bottom: 12px; font-size: 13px; line-height: 1.6; }
.unit-info svg { margin-top: 2px; }
.unit-phone { min-height: 44px; margin-top: auto; margin-bottom: 14px; font-size: 15px; }
.unit-card>.button { font-size: 14px; min-height: 52px; padding: 14px 16px; }
.unit-card-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; margin-top: 12px; font-size: 13px; }
.unit-card-links a { display: flex; align-items: center; justify-content: center; min-height: 44px; padding: 10px; border: 1px solid #b3c7d2; border-radius: 8px; line-height: 1.5; text-align: center; }
.unit-card-links a:hover { background: #e2eaee; border-color: var(--blue); }

/* Dúvidas e encerramento: o mesmo padrão de ação do restante da página. */
.faq-grid { grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); gap: 64px; }
.faq h2 { margin-bottom: 24px; }
.faq-grid>.faq-items { min-width: 0; }
.faq-items summary { min-height: 64px; padding: 20px 0; font-size: 15px; line-height: 1.5; gap: 18px; }
.faq-items summary>span { flex-shrink: 0; width: 24px; text-align: center; }
.faq-items p { max-width: none; margin: 0 0 20px; padding: 0; font-size: 14px; line-height: 1.75; }
.faq .button { font-size: 14px; }
.closing { padding: 36px 0; }
.closing>.container { flex-wrap: nowrap; justify-content: space-between; text-align: left; gap: 24px; }
.closing h2 { font-size: 34px; line-height: 1.25; }
.closing .button { flex-shrink: 0; }
footer { padding: 32px 0 24px; }
.footer-top { gap: 24px; padding-bottom: 24px; }
.footer-socials { gap: 12px; flex-wrap: wrap; }
.social-link { min-height: 44px; padding: 10px 14px; border: 1px solid var(--line); border-radius: 8px; font-size: 13px; line-height: 1.5; gap: 8px; }
.social-link:hover { background: var(--pale); }
.footer-bottom { font-size: 11px; line-height: 1.7; padding-top: 20px; }

/* Contato: rótulos legíveis e campos que não exigem zoom no celular. */
dialog { padding: 32px; width: calc(100% - 32px); max-width: 520px; max-height: calc(100dvh - 32px); }
dialog .eyebrow { margin: 0 30px 12px 0; font-size: 10px; letter-spacing: 1.2px; }
dialog h2 { font-size: 32px; line-height: 1.2; letter-spacing: -1px; margin-bottom: 12px; padding-right: 16px; }
dialog>p:not(.eyebrow) { font-size: 14px; line-height: 1.65; margin-bottom: 0; }
.close-dialog { top: 10px; right: 10px; display: grid; place-items: center; width: 44px; height: 44px; padding: 0; border-radius: 7px; }
.close-dialog:hover { background: var(--pale); }
form { margin-top: 22px; }
form label { font-size: 14px; line-height: 1.5; margin-bottom: 8px; }
form select, form textarea { font-size: 16px; line-height: 1.5; padding: 12px; margin-bottom: 18px; border-radius: 8px; min-height: 48px; }
form textarea { min-height: 100px; }
form .button { min-height: 52px; font-size: 14px; padding: 14px 12px; gap: 8px; white-space: normal; }
form>small { font-size: 11px; line-height: 1.65; margin-top: 12px; }
.contact-options { margin-top: 22px; }
.contact-options>a { min-height: 92px; border-radius: 8px; padding: 18px; gap: 12px; }
.contact-options>a>span { min-width: 0; }
.contact-options strong { font-size: 18px; margin-bottom: 4px; }
.contact-options small { font-size: 13px; line-height: 1.6; }
.contact-options .contact-phone { display: block; white-space: nowrap; }
@media (max-width: 1100px) {
  .how>.container, .faq-grid { gap: 40px; }
  .unit-card { padding: 24px; }
  .unit-card-top { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 900px) {
  .how>.container, .faq-grid { grid-template-columns: 1fr; gap: 28px; }
  .steps { grid-template-columns: 1fr; }
  .section-heading>p { max-width: 300px; }
  .header nav>a { display: flex; align-items: center; min-height: 44px; }
}
@media (max-width: 800px) {
  .header nav.open { gap: 8px; }
  .header nav>a { padding: 10px 0; }
  .service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .qualities span { font-size: 11px; }
  .closing>.container { flex-wrap: wrap; }
  .closing h2 { font-size: 32px; }
  .closing>.container>svg { display: none; }
  .footer-top { align-items: flex-start; flex-direction: column; }
  .footer-bottom { flex-direction: column; gap: 8px; padding-right: 64px; }
}
@media (max-width: 560px) {
  .services.section, .how.section, .contact.section { padding: 48px 0; }
  .faq.section { padding: 0 0 48px; }
  .section .eyebrow { font-size: 10px; letter-spacing: 1.2px; }
  .section-heading { margin-bottom: 24px; }
  .section-heading>p { max-width: none; font-size: 14px; line-height: 1.7; margin-top: 16px; }
  .qualities .container { padding: 20px 0; gap: 16px 12px; }
  .filters { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; margin-bottom: 20px; }
  .filters button { font-size: 12px; padding: 10px; }
  .service-grid { grid-template-columns: 1fr; gap: 14px; }
  .service-card { display: grid; grid-template-columns: 34px minmax(0,1fr); column-gap: 14px; row-gap: 10px; padding: 20px; }
  .service-number { display: none; }
  .service-icon { grid-column: 1; grid-row: 1/3; width: 32px; height: 32px; margin: 0; }
  .service-card h3 { grid-column: 2; font-size: 17px; min-height: 0; margin: 0; }
  .service-card>p { grid-column: 2; font-size: 14px; min-height: 0; margin: 0; }
  .service-card>.service-link { grid-column: 1/-1; margin-top: 8px; font-size: 13px; }
  .how-title>p:last-child { font-size: 14px; }
  .steps article { gap: 14px; padding-bottom: 20px; }
  .steps h3 { font-size: 16px; }
  .steps p { font-size: 14px; }
  .unit-card { padding: 24px; }
  .unit-card-top { flex-direction: row; align-items: center; padding-bottom: 18px; margin-bottom: 18px; }
  .unit-card h3 { font-size: 31px; }
  .unit-badge { font-size: 10px; }
  .unit-address strong { font-size: 15px; }
  .unit-address span, .unit-info { font-size: 13px; }
  .unit-description { font-size: 14px; }
  .unit-card-links { font-size: 12px; }
  .faq-grid { gap: 24px; }
  .faq h2 { font-size: 37px; }
  .faq-items summary { font-size: 15px; padding: 18px 0; }
  .faq-items p { font-size: 14px; }
  .closing { padding: 32px 0; }
  .closing>.container { display: grid; grid-template-columns: 1fr; gap: 20px; }
  .closing h2 { font-size: 30px; }
  .closing .button { width: 100%; }
  .footer-socials { gap: 10px; }
  .social-link { font-size: 13px; }
  .footer-bottom { font-size: 11px; }
  dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); padding: 24px; }
  dialog h2 { font-size: 30px; }
  dialog .eyebrow { font-size: 9px; }
  .contact-options>a { padding: 16px 12px; gap: 10px; }
  .contact-options small { font-size: 12px; }
}

/* Páginas locais: foco na cidade, contato direto e informações de atendimento. */
.home-unit-links>a{display:flex;gap:10px;align-items:center;color:var(--navy);padding:9px 0}.home-unit-links>a>svg{width:19px;height:19px;color:var(--blue)}.home-unit-links strong,.home-unit-links small{display:block}.home-unit-links strong{font-size:13px;font-weight:600;margin-bottom:5px}.home-unit-links small{font-size:11px;color:var(--text)}.home-unit-links a:hover strong{text-decoration:underline}
.topbar a[aria-current="page"]{text-decoration:underline;text-underline-offset:4px}
.unit-page-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px;padding:9px 0;color:var(--blue);font-size:12px}.unit-page-link>svg{width:17px;height:17px}.unit-page-link:hover{text-decoration:underline}
.city-hero .hero-grid{padding-top:48px;padding-bottom:49px;gap:60px}.city-hero h1{font-size:clamp(46px,4.4vw,65px);letter-spacing:-2px;line-height:1.06;margin-bottom:24px}.city-hero h1>span{display:block}.city-hero h1>em{display:block;font-size:.69em;white-space:normal;letter-spacing:-1.5px;margin-top:12px}.city-hero .hero-description{font-size:15px;max-width:470px;line-height:1.8;margin-bottom:25px}.city-hero .hero-actions{display:flex;gap:13px;flex-wrap:wrap}.city-hero .hero-actions>.button{font-size:13px;min-height:52px;padding:15px 21px}.city-hero .hero-image{height:455px;object-position:50% 58%;border-radius:100px 10px 10px 10px}.city-birigui .hero-image{object-position:52% 70%}.city-hero .hero-visual{padding-bottom:20px}.city-hero .visual-caption{font-size:8px;letter-spacing:1px;line-height:1.5}
.local-proof{display:flex;align-items:center;gap:15px;margin:25px 0 0;max-width:440px}.proof-stars{color:#967336;letter-spacing:2px;font-size:14px;white-space:nowrap}.local-proof strong{display:block;font-size:12px;font-weight:600;line-height:1.6}.local-proof small{display:block;font-size:10px;line-height:1.7;color:var(--text);margin-top:3px}.delivery-proof>svg{width:28px;height:28px;color:var(--blue)}a.local-proof:hover strong{text-decoration:underline}.campaign-context{font-size:12px;color:var(--blue);margin:18px 0 0;line-height:1.7}
.city-page .real-care{padding-top:65px;padding-bottom:65px}.city-page .real-care .section-heading{margin-bottom:27px}.city-page .real-care .real-gallery img{height:290px}.city-page .real-care .section-heading h2{font-size:39px}.city-page .real-care .review-score{font-size:54px}
.local-details{background:#f1f4f1}.local-details h2{max-width:700px;margin-bottom:32px}.practical-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px}.practical-grid article{padding-top:22px;border-top:1px solid #cad7d0}.practical-grid h3{font-size:17px;font-weight:550;margin-bottom:13px}.practical-grid p{font-size:13px;line-height:1.85;color:var(--text);margin:0}.city-location-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}.city-location .unit-card{width:100%}.location-intro{font-size:14px;line-height:1.85;max-width:430px;color:var(--text);margin-bottom:22px}.city-location .text-link{font-size:12px}.city-page .faq .button{font-size:12px;padding:14px 19px;min-height:48px}.city-page .qualities .container{justify-content:space-around}.city-page .qualities span{font-size:12px}.city-page .contact .button{font-size:13px}.city-page .footer-bottom a,.privacy-settings{color:var(--blue);text-decoration:underline;text-underline-offset:3px}.privacy-settings{border:0;background:transparent;padding:0;margin-left:10px;cursor:pointer;font:inherit}.footer-bottom a{margin-left:8px}
.privacy-content{max-width:820px;padding-top:65px;padding-bottom:70px}.privacy-content h1{font-size:48px}.privacy-content h2{font-family:var(--sans);font-size:22px;letter-spacing:-.4px;font-weight:550;line-height:1.4;margin-top:36px;margin-bottom:14px}.privacy-content p{font-size:15px;line-height:1.9;color:var(--text)}.privacy-content p a{text-decoration:underline;color:var(--blue)}.privacy-contacts,.privacy-navigation{display:flex;gap:15px;flex-wrap:wrap;margin-top:26px}.privacy-contacts .button{font-size:12px}.privacy-navigation{padding-top:25px;border-top:1px solid var(--line);font-size:13px}.privacy-navigation a{text-decoration:underline}
.measurement-panel{position:fixed;left:24px;right:24px;bottom:20px;z-index:60;max-width:680px;margin:auto;padding:24px;background:var(--cream);border:1px solid #b7cbd8;border-radius:10px;box-shadow:0 8px 40px #293e5628}.measurement-panel h2{font-family:var(--sans);font-size:19px;font-weight:600;letter-spacing:-.3px;margin-bottom:10px}.measurement-panel p{font-size:13px;line-height:1.8;color:var(--text);margin-bottom:18px}.measurement-panel p a{text-decoration:underline}.measurement-actions{display:flex;gap:12px;flex-wrap:wrap}.measurement-actions .button{font-size:12px;min-height:44px;padding:12px 16px}
@media(max-width:1100px){.city-hero .hero-grid{gap:38px}.city-hero h1{font-size:52px}.city-hero .hero-actions>.button{font-size:12px;padding:14px 17px}.city-location-grid{gap:38px}.practical-grid{gap:24px}}
@media(max-width:900px){.city-hero .hero-grid{grid-template-columns:1fr;gap:30px}.city-hero .hero-copy{max-width:620px}.city-hero .hero-visual{max-width:620px}.city-hero .hero-image{height:330px}.city-location-grid{grid-template-columns:1fr;gap:28px}.city-location-grid>div{max-width:620px}.city-location .unit-card{max-width:620px}.practical-grid{grid-template-columns:1fr;gap:25px}.local-details h2{font-size:39px}.city-page .qualities .container{gap:18px;justify-content:space-between}.city-page .qualities span{font-size:10px}.city-page .qualities span:last-child{grid-column:1/-1}.city-page .real-care .section-heading h2{font-size:36px}}
@media(max-width:560px){.city-hero .hero-grid{padding-top:31px;padding-bottom:32px;gap:28px}.city-hero h1{font-size:clamp(42px,12.6vw,51px);letter-spacing:-1.7px;margin-bottom:22px}.city-hero h1>em{font-size:.68em;letter-spacing:-1px;margin-top:12px}.city-hero .hero-description{font-size:14px;line-height:1.75;margin-bottom:23px}.city-hero .hero-actions{display:grid;grid-template-columns:1.08fr 1fr;gap:10px}.city-hero .hero-actions>.button{font-size:12px;padding:14px 10px;gap:7px;min-height:49px}.city-hero .hero-actions svg{width:16px;height:16px}.local-proof{gap:12px;margin-top:23px}.proof-stars{font-size:11px;letter-spacing:1px}.local-proof strong{font-size:11px}.local-proof small{font-size:9px}.city-hero .hero-image{height:285px;border-top-left-radius:75px}.city-hero .visual-caption{font-size:6px;letter-spacing:.7px}.city-page .qualities span{font-size:10px}.city-page .qualities .container{grid-template-columns:1fr 1fr}.city-page .real-care{padding-top:43px;padding-bottom:43px}.city-page .real-care .real-gallery img{height:235px}.city-page .real-care .section-heading h2{font-size:33px}.local-details h2{font-size:34px;letter-spacing:-1.3px}.practical-grid h3{font-size:16px}.practical-grid p{font-size:13px}.city-location h2{font-size:35px}.location-intro{font-size:13px}.city-page .faq h2{font-size:34px}.privacy-content{padding-top:40px}.privacy-content h1{font-size:38px}.privacy-content h2{font-size:20px}.privacy-content p{font-size:14px}.privacy-page .brand>span{font-size:18px}.privacy-page .header .text-link{font-size:11px}.measurement-panel{left:12px;right:12px;bottom:12px;padding:20px}.measurement-actions{display:grid;grid-template-columns:1fr}.measurement-actions .button{width:100%}}
@media(max-width:360px){.city-hero .hero-actions{grid-template-columns:1fr}.local-proof{align-items:flex-start}.proof-stars{padding-top:4px}}

/* Atendimento profissional e cobertura regional. */
.professional { padding-top: 0; }
.professional-grid { display: grid; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); gap: 64px; align-items: center; padding-bottom: 64px; }
.professional-copy { min-width: 0; }
.professional-copy h2 { margin-bottom: 24px; }
.professional-copy>p:not(.eyebrow) { font-size: 15px; line-height: 1.85; color: var(--text); max-width: 550px; }
.professional-segments { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 24px 0 28px; list-style: none; }
.professional-segments li { padding: 9px 13px; border: 1px solid #cdd9df; border-radius: 4px; font-size: 12px; color: var(--blue); }
.professional-copy>.button { font-size: 14px; }
.professional-copy>.professional-phone { margin: 12px 0 0; font-size: 12px; }
.professional-phone a { display: inline-block; padding: 10px 0; white-space: nowrap; text-decoration: underline; text-underline-offset: 3px; }
.professional-coverage { min-width: 0; padding: 36px; background: var(--pale); border: 1px solid #d6e0e4; border-radius: 8px; }
.coverage-icon { display: grid; place-items: center; width: 46px; height: 46px; background: #dce7ed; color: var(--blue); border-radius: 50%; margin-bottom: 22px; }
.professional-coverage .eyebrow { margin-bottom: 14px; }
.professional-coverage h3 { font-family: var(--serif); font-weight: 400; font-size: 36px; line-height: 1.15; letter-spacing: -1px; margin-bottom: 20px; }
.professional-coverage p { font-size: 14px; line-height: 1.8; color: var(--text); }
.professional-coverage strong { font-weight: 600; color: var(--navy); }
.professional-coverage ul { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 22px; margin: 24px 0; padding: 0; list-style: none; font-size: 14px; line-height: 1.5; }
.professional-coverage li { padding-left: 13px; position: relative; }
.professional-coverage li::before { content: ''; position: absolute; top: .6em; left: 0; width: 4px; height: 4px; border-radius: 50%; background: var(--blue); }
.professional-coverage .coverage-note { border-top: 1px solid #cdd9df; padding-top: 18px; margin-bottom: 0; font-size: 12px; }
.city-page .professional { padding-top: 55px; }
@media(max-width:1100px) { .professional-grid { gap: 36px; } .professional-coverage { padding: 28px; } .header nav { gap: 20px; } }
@media(max-width:900px) { .professional-grid { grid-template-columns: 1fr; gap: 28px; } .professional-copy>p:not(.eyebrow) { max-width: none; } }
@media(max-width:560px) { .professional.section { padding: 0 0 44px; } .professional-grid { padding-bottom: 0; } .professional-copy>p:not(.eyebrow) { font-size: 14px; } .professional-copy>.professional-phone { font-size: 12px; } .professional-copy>.button { width: 100%; font-size: 13px; padding: 16px; } .professional-coverage { padding: 24px; } .professional-coverage h3 { font-size: 32px; } .professional-coverage ul { font-size: 13px; gap: 12px 16px; } .city-page .professional { padding-top: 44px; } }
@media(max-width:560px){.privacy-page .nav-wrap{gap:12px}.privacy-page .brand img{width:44px;height:44px}.privacy-page .brand>span{font-size:17px}.privacy-page .brand small{font-size:6px}.privacy-page .header .text-link{white-space:nowrap}}

/* UX e SEO: serviço e cidades claros, prova local perto da ação. */
body:not(.city-page) .hero h1 .hero-cities { font-size: .78em; line-height: 1.2; margin-top: 6px; letter-spacing: -1.5px; }
.home-proof { margin-top: 22px; }
.home-proof+.hero-availability { margin-top: 18px; }
.home-unit-links>a { min-height: 48px; border-bottom: 1px solid #becdd7; }
.home-unit-links>a:hover { border-color: var(--blue); }
body:not(.city-page) .real-care.section { padding-top: 64px; padding-bottom: 24px; }
.professional-teaser.section { padding-top: 0; padding-bottom: 64px; }
.business-callout { display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.professional-teaser .business-callout { padding: 34px; background: var(--pale); border: 1px solid #d6e0e4; border-radius: 10px; }
.business-callout h2 { font-size: 36px; line-height: 1.2; margin-bottom: 14px; }
.business-callout p:not(.eyebrow) { font-size: 14px; color: var(--text); line-height: 1.8; margin-bottom: 0; max-width: 580px; }
.business-callout>.button { flex-shrink: 0; max-width: 340px; font-size: 13px; line-height: 1.5; text-align: center; }
.business-callout .eyebrow { margin-bottom: 14px; }
.company-page .professional { padding-top: 64px; }
.company-page .professional-grid { padding-bottom: 0; }
.company-page .business-hero h1>em { font-size: .6em; }
.company-page .business-hero .hero-image { object-position: center 45%; }
.company-page .business-hero .hero-actions>.button { padding-left: 16px; padding-right: 16px; }
.business-contact a:not(.button) { text-decoration: underline; text-underline-offset: 3px; }
.business-contact p+p { margin-top: 12px; }
.campaign-service .city-hero h1 { font-size: clamp(39px, 3.8vw, 55px); line-height: 1.12; }
.campaign-service .city-hero h1>span { overflow-wrap: break-word; }
.header #menu>a[aria-current="page"] { text-decoration: underline; text-underline-offset: 7px; }
@media (max-width: 1100px) {
  .business-callout { align-items: flex-start; flex-direction: column; gap: 24px; }
}
@media (max-width: 560px) {
  body:not(.city-page) .hero h1 { font-size: clamp(37px, 10.9vw, 49px); }
  body:not(.city-page) .hero h1 .hero-cities { font-size: .79em; letter-spacing: -1px; }
  .home-proof { margin-top: 20px; gap: 10px; }
  .home-proof strong { font-size: 12px; }
  .home-proof small { font-size: 10px; }
  .home-unit-links small { font-size: 12px; }
  .home-unit-links strong { font-size: 14px; }
  body:not(.city-page) .real-care.section { padding-top: 44px; padding-bottom: 0; }
  .professional-teaser.section { padding-bottom: 44px; }
  .professional-teaser .business-callout { width: calc(100% - 40px); padding: 24px; }
  .business-callout h2 { font-size: 31px; letter-spacing: -1px; }
  .business-callout p:not(.eyebrow) { font-size: 14px; }
  .business-callout>.button { width: 100%; max-width: none; padding: 14px 12px; }
  .company-page .professional { padding-top: 44px; }
  .company-page .business-hero .hero-actions { grid-template-columns: 1fr; }
  .company-page .business-hero h1>em { font-size: .6em; }
  .campaign-service .city-hero h1 { font-size: clamp(34px, 10.3vw, 43px); }
}

/* Menu: destaque visível sem deslocar os itens ao passar o mouse. */
.header #menu > a:not(.button) {
  position: relative;
  isolation: isolate;
  --nav-highlight: 0;
  --nav-scale: .92;
  --nav-line: 0;
  transition: color .2s ease;
}
.header #menu > a:not(.button)::before {
  content: '';
  position: absolute;
  z-index: -1;
  inset: -13px -12px;
  border: 1px solid #bdd1df;
  border-radius: 10px;
  background: #dce9f1;
  box-shadow: 0 4px 12px #293e5610;
  opacity: var(--nav-highlight);
  transform: scale(var(--nav-scale));
  transition: opacity .2s ease, transform .25s ease;
  pointer-events: none;
}
.header #menu > a:not(.button)::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: -7px;
  height: 3px;
  border-radius: 3px;
  background: var(--blue);
  transform: scaleX(var(--nav-line));
  transform-origin: left;
  transition: transform .25s ease;
  pointer-events: none;
}
.header #menu > a:not(.button):focus-visible {
  --nav-highlight: 1;
  --nav-scale: 1;
  --nav-line: 1;
  color: var(--navy);
  outline: 2px solid var(--blue);
  outline-offset: 16px;
  border-radius: 2px;
}
.header #menu > .button {
  position: relative;
  overflow: hidden;
  --cta-shine: -160%;
  transition: background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.header #menu > .button::after {
  content: '';
  position: absolute;
  inset: -1px;
  background: linear-gradient(110deg, transparent 25%, #ffffff30 50%, transparent 75%);
  transform: translateX(var(--cta-shine));
  transition: transform .65s ease;
  pointer-events: none;
}
.header #menu > .button:focus-visible {
  --cta-shine: 160%;
  color: #fff;
  background: #3c6687;
  border-color: #3c6687;
  box-shadow: 0 8px 20px #293e5633;
}
@media (hover: hover) {
  .header #menu > a:not(.button):hover {
    --nav-highlight: 1;
    --nav-scale: 1;
    --nav-line: 1;
    color: var(--navy);
  }
  .header #menu > .button:hover {
    --cta-shine: 160%;
    color: #fff;
    background: #3c6687;
    border-color: #3c6687;
    box-shadow: 0 8px 20px #293e5633;
    transform: translateY(-3px);
  }
}
@media (max-width: 900px) {
  .header #menu > a:not(.button)::before { inset: 0 -8px; }
  .header #menu > a:not(.button)::after { bottom: 3px; }
  .header #menu > a:not(.button):focus-visible { outline-offset: 6px; }
}
@media (prefers-reduced-motion: reduce) {
  .header #menu > a:not(.button),
  .header #menu > a:not(.button)::before,
  .header #menu > a:not(.button)::after,
  .header #menu > .button,
  .header #menu > .button::after { transition: none; }
  .header #menu > .button:hover { transform: none; }
  .header #menu > .button::after { display: none; }
}

/* Contraste de leitura do rodapé, preservando a paleta da marca. */
.footer-bottom{color:var(--text)}
.footer-bottom a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}

/* Transições curtas e consistentes, com leitura imediata e resposta às interações. */
:root { --motion-ease: cubic-bezier(.22, 1, .36, 1); }
.header { transition: box-shadow .25s ease; }
.button, .header #menu > .button {
  transition: background .2s ease, border-color .2s ease, color .2s ease, box-shadow .25s ease, transform .25s var(--motion-ease);
}
.button:active, .header #menu > .button:active { transform: translateY(0) scale(.98); }
.filters button { transition: background .2s ease, color .2s ease, border-color .2s ease; }
.service-card, .unit-card, .contact-options > a {
  transition: background .25s ease, border-color .25s ease, box-shadow .3s ease;
}
.service-link, .text-link, .unit-page-link { transition: color .2s ease, border-color .2s ease; }
.service-link > svg, .text-link > svg, .unit-page-link > svg, .contact-options > a > svg:last-child {
  transition: transform .3s var(--motion-ease);
}
.service-link:focus-visible > svg, .text-link:focus-visible > svg,
.unit-page-link:focus-visible > svg, .contact-options > a:focus-visible > svg:last-child { transform: translateX(4px); }
.faq-items summary { transition: color .2s ease; }
.faq-items summary:hover { color: var(--blue); }
.faq-items summary > span { transition: transform .25s var(--motion-ease); }
.faq-items details[data-expanded="false"] summary > span { transform: rotate(0); }
.faq-items details[data-expanded="true"] summary > span { transform: rotate(45deg); }
form select, form textarea { transition: border-color .2s ease, box-shadow .2s ease; }
form select:focus, form textarea:focus { border-color: var(--blue); box-shadow: 0 0 0 3px #486e8c14; }
.close-dialog { transition: background .2s ease, transform .2s ease; border-radius: 50%; }
.close-dialog:hover { background: var(--pale); }
.close-dialog:active { transform: scale(.94); }
dialog[open]::backdrop { animation: contact-backdrop-in .28s ease both; }
dialog.is-closing::backdrop { animation: contact-backdrop-out .16s ease both; }
@keyframes contact-backdrop-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes contact-backdrop-out { from { opacity: 1; } to { opacity: 0; } }
@media (hover: hover) and (pointer: fine) {
  .button:hover { box-shadow: 0 6px 16px #293e5618; }
  .service-card:hover, .unit-card:hover { box-shadow: 0 8px 24px #293e560c; }
  .service-link:hover > svg, .text-link:hover > svg, .unit-page-link:hover > svg,
  .contact-options > a:hover > svg:last-child { transform: translateX(4px); }
}
@media (max-width: 800px) {
  .header #menu {
    display: flex; flex-direction: column; gap: 8px;
    visibility: hidden; opacity: 0; transform: translateY(-8px); pointer-events: none;
    transition: opacity .2s ease, transform .25s var(--motion-ease), visibility 0s linear .25s;
  }
  .header #menu.open {
    visibility: visible; opacity: 1; transform: translateY(0); pointer-events: auto;
    transition: opacity .2s ease, transform .25s var(--motion-ease), visibility 0s;
  }
  .menu-button span { transition: transform .25s var(--motion-ease); }
  .menu-button[aria-expanded="true"] span:first-child { transform: translateY(3.5px) rotate(45deg); }
  .menu-button[aria-expanded="true"] span:last-child { transform: translateY(-3.5px) rotate(-45deg); }
}
@media (prefers-reduced-motion: reduce) {
  dialog[open]::backdrop { animation: none; }
  .button:hover, .button:active, .header #menu > .button:active, .floating-wa:hover { transform: none; }
}

.service-grid { align-content: start; }
.service-grid.is-filtering { overflow: clip; }

/* Navegação entre páginas da mesma origem, com fallback nativo do navegador. */
@view-transition { navigation: auto; }
::view-transition-old(root) { animation: page-out .16s ease both; }
::view-transition-new(root) { animation: page-in .2s ease both; }
@keyframes page-out { to { opacity: 0; } }
@keyframes page-in { from { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  @view-transition { navigation: none; }
  ::view-transition-old(root), ::view-transition-new(root) { animation: none; }
}
