/* CLARITYCLEAN — Home premium, responsiva e sem dependências */
:root { --ink:#173a5f; --ink-soft:#325a7b; --sand:#f4f6fa; --paper:#f4f6fa; --paper-dark:#f4f6fa; --acid:#f4f6fa; --line:rgb(23 58 95 / .16); --muted:#526e86; --white:#fff; --serif:Sora,Arial,sans-serif; --sans:system-ui,-apple-system,'Segoe UI',Arial,sans-serif; --mono:'SFMono-Regular',Consolas,'Liberation Mono',monospace; --container:76rem; --shadow:0 24px 70px rgb(23 58 95 / .15); }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; scroll-padding-top:5rem; }
body { margin:0; color:var(--ink); background:var(--paper); font:400 1rem/1.65 var(--sans); overflow-x:hidden; }
body.menu-open { overflow:hidden; }
a { color:inherit; }
img { max-width:100%; height:auto; }
button { font:inherit; }
:focus-visible { outline:3px solid var(--ink); outline-offset:3px; box-shadow:0 0 0 6px var(--acid); }
a[aria-disabled="true"] { opacity:.65; cursor:not-allowed; }
.container { width:min(calc(100% - 2.5rem),var(--container)); margin-inline:auto; }
.sr-only { position:absolute; width:1px; height:1px; margin:-1px; clip:rect(0,0,0,0); overflow:hidden; white-space:nowrap; }
.skip-link { position:fixed; left:1rem; top:-5rem; z-index:100; padding:.65rem 1rem; background:var(--acid); color:var(--ink); font-weight:800; text-decoration:none; }.skip-link:focus { top:1rem; }

/* Header */
.site-header { position:fixed; z-index:50; inset:0 0 auto; color:var(--white); transition:background .35s,box-shadow .35s,color .35s; }.site-header.is-scrolled { color:var(--ink); background:rgb(248 247 243 / .93); box-shadow:0 1px 0 var(--line); backdrop-filter:blur(16px); }
.header-inner { min-height:5.4rem; display:flex; align-items:center; justify-content:space-between; gap:1rem; }.brand { display:inline-flex; align-items:center; gap:.58rem; font-size:.9rem; letter-spacing:.06em; font-weight:800; text-decoration:none; }.brand > span:last-child span { color:var(--acid); }.is-scrolled .brand > span:last-child span { color:#526e86; }.brand-mark { width:1.85rem; aspect-ratio:1; display:grid; place-items:center; border:1px solid currentColor; border-radius:50%; font:600 1.2rem/1 var(--serif); letter-spacing:0; }
.site-nav ul { list-style:none; padding:0; margin:0; display:flex; align-items:center; gap:1.5rem; }.site-nav li a { color:inherit; text-decoration:none; font-size:.78rem; font-weight:700; }.site-nav li a:hover { color:var(--acid); }.is-scrolled .site-nav li a:hover { color:#526e86; }.site-nav { display:flex; align-items:center; gap:1.7rem; }.button { display:inline-flex; justify-content:center; align-items:center; gap:.55rem; min-height:3.15rem; padding:.75rem 1.1rem; border:1px solid var(--acid); border-radius:0; background:var(--acid); color:var(--ink); font-size:.78rem; font-weight:800; letter-spacing:.01em; text-decoration:none; transition:transform .25s,background .25s,color .25s; }.button:hover { transform:translateY(-3px); background:#f4f6fa; }.button-small { min-height:2.55rem; padding:.55rem .8rem; font-size:.72rem; }.nav-cta { color:var(--ink); }.menu-toggle { display:none; border:0; background:transparent; padding:.4rem 0 .4rem .5rem; color:currentColor; }.menu-toggle > span:not(.sr-only) { display:block; width:1.5rem; height:1px; margin:.32rem; background:currentColor; transition:transform .25s,opacity .25s; }

/* Hero */
.hero { position:relative; isolation:isolate; min-height:min(53rem,100svh); display:grid; align-items:end; padding:8rem 0 4.8rem; color:var(--white); overflow:hidden; background:radial-gradient(circle at 75% 17%,#325a7b 0%,transparent 30%),linear-gradient(116deg,#173a5f 15%,#173a5f 58%,#325a7b 100%); }.hero::before { content:''; position:absolute; z-index:-1; inset:0; opacity:.3; background-image:linear-gradient(110deg,transparent 48%,rgb(105 185 232 / .11)),radial-gradient(rgb(255 255 255 / .7) .5px,transparent .7px); background-size:auto,5px 5px; mask-image:linear-gradient(to bottom,black,transparent); }.hero-glow { position:absolute; z-index:-1; width:55rem; height:55rem; top:-30rem; right:-14rem; border:1px solid rgb(105 185 232 / .25); border-radius:50%; box-shadow:0 0 0 9rem rgb(105 185 232 / .025),0 0 0 18rem rgb(105 185 232 / .025); animation:drift 11s ease-in-out infinite alternate; }.hero-grid { display:grid; grid-template-columns:1.12fr .88fr; align-items:end; gap:3rem; }.kicker { display:flex; align-items:center; gap:.7rem; margin:0 0 1.25rem; color:#526e86; font:500 .67rem/1 var(--mono); letter-spacing:.12em; text-transform:uppercase; }.kicker span { display:block; width:1.8rem; height:1px; background:currentColor; }.kicker-light { color:#dce7f0; }.hero .kicker { color:var(--acid); }.hero h1 { max-width:10.5ch; margin:0; font:600 clamp(3.1rem,6.2vw,6.3rem)/.98 var(--serif); letter-spacing:-.065em; }.hero h1 em { color:var(--acid); font-weight:inherit; }.hero-description { max-width:35rem; margin:1.7rem 0 0; color:#f4f6fa; font-size:clamp(1rem,1.4vw,1.15rem); }.hero-actions { display:flex; flex-wrap:wrap; gap:.8rem; margin-top:2rem; }.button-ghost { border-color:rgb(255 255 255 / .35); background:transparent; color:var(--white); }.button-ghost:hover { border-color:var(--white); background:var(--white); color:var(--ink); }.hero-note { margin:1.6rem 0 0; color:#a8bfd1; font-size:.76rem; }.hero-visual { position:relative; padding:0 1rem 1.7rem 0; }.media-placeholder { position:relative; display:grid; place-items:center; overflow:hidden; color:rgb(255 255 255 / .8); background:#325a7b; }.media-placeholder::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg,rgb(255 255 255 / .12),transparent 45%,rgb(0 0 0 / .16)),repeating-linear-gradient(120deg,transparent 0 18px,rgb(255 255 255 / .025) 18px 19px); }.media-label,.service-image > span,.equipment-visual > span { position:relative; z-index:1; text-align:center; font:.65rem/1.6 var(--mono); letter-spacing:.1em; }.media-label small,.service-image small,.equipment-visual small { color:var(--acid); font-size:.6rem; }.hero-media { min-height:26rem; background:linear-gradient(140deg,#526e86,#325a7b 52%,#173a5f); border-radius:12rem 12rem 1rem 1rem; box-shadow:var(--shadow); }.hero-media::after { content:''; position:absolute; inset:13% 20%; border:1px solid rgb(105 185 232 / .45); border-radius:50%; }.media-orb { position:absolute; border-radius:50%; filter:blur(1px); }.orb-one { width:13rem; height:13rem; left:9%; bottom:11%; background:rgb(105 185 232 / .24); }.orb-two { width:7rem; height:7rem; right:15%; top:15%; background:rgb(255 255 255 / .28); }.hero-card { position:absolute; z-index:2; bottom:0; left:-2.6rem; width:13rem; padding:1rem 1.1rem; color:var(--ink); background:var(--sand); box-shadow:var(--shadow); }.hero-card p { margin:.45rem 0 0; font:600 1rem/1.15 var(--serif); }.card-dot { display:block; width:.55rem; height:.55rem; border-radius:50%; background:var(--acid); }.scroll-cue { position:absolute; left:50%; bottom:1rem; display:flex; flex-direction:column; align-items:center; gap:.5rem; color:#dce7f0; font:.58rem/1 var(--mono); letter-spacing:.12em; text-decoration:none; text-transform:uppercase; transform:translateX(-50%); }.scroll-cue i { width:1px; height:2.2rem; background:linear-gradient(#dce7f0,transparent); }

/* Shared sections */
.section { padding:8rem 0; }.section-soft { background:var(--paper-dark); }.section-dark { color:var(--white); background:var(--ink); }.section-heading { display:grid; grid-template-columns:.7fr 1.3fr; gap:1rem; align-items:start; margin-bottom:3.5rem; }.section-heading h2,.why h2,.equipment h2,.membership h2,.faq h2,.final-cta h2,.business h2,.transformation h2 { max-width:14ch; margin:0; font:600 clamp(2.25rem,4.1vw,4.2rem)/1.02 var(--serif); letter-spacing:-.055em; }.section-heading > div > p { max-width:32rem; margin:1.25rem 0 0; color:var(--muted); }.heading-light > div > p,.transformation p,.business p { color:#dce7f0; }.heading-light h2 { color:var(--white); }

/* Services */
.services-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.25rem; align-items:start; }.service-card { min-width:0; background:var(--white); box-shadow:0 1px 0 var(--line); }.service-card-offset { margin-top:3.2rem; }.service-image { min-height:14.5rem; text-decoration:none; transition:transform .35s; }.service-card:hover .service-image { transform:scale(.975); }.service-sofa { background:linear-gradient(135deg,#a8bfd1,#526e86); }.service-protection { background:linear-gradient(135deg,#a8bfd1,#325a7b); }.service-rug { background:linear-gradient(135deg,#a8bfd1,#325a7b); }.service-carpet { background:linear-gradient(135deg,#dce7f0,#526e86); }.service-body { padding:1.3rem 1.25rem 1.45rem; }.service-number { margin:0; color:#526e86; font:.64rem var(--mono); }.service-body h3 { margin:.55rem 0 .65rem; font:600 1.5rem/1.08 var(--serif); letter-spacing:-.035em; }.service-body > p:not(.service-number) { min-height:5rem; margin:0; color:var(--muted); font-size:.82rem; }.service-body ul { min-height:4rem; margin:1.1rem 0; padding:0; list-style:none; border-top:1px solid var(--line); }.service-body li { padding-top:.45rem; color:#325a7b; font-size:.72rem; }.service-body li::before { content:'•'; padding-right:.45rem; color:#526e86; }.text-link { display:inline-flex; align-items:center; gap:.5rem; color:var(--ink); font-size:.76rem; font-weight:800; text-decoration:none; }.text-link span { transition:transform .2s; }.text-link:hover span { transform:translateX(4px); }

/* Transformation and why */
.transformation { padding:7rem 0; }.transformation-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:4rem; align-items:center; }.transformation h2 { margin-bottom:1.3rem; }.placeholder-caption { padding-left:.8rem; border-left:1px solid var(--acid); color:#a8bfd1!important; font-size:.76rem; }.comparison { position:relative; display:grid; grid-template-columns:1fr 1fr; min-height:28rem; border:1px solid rgb(255 255 255 / .18); }.comparison-pane { display:flex; align-items:end; padding:1.2rem; background:linear-gradient(145deg,#325a7b,#173a5f); }.comparison-after { background:linear-gradient(145deg,#a8bfd1,#325a7b); }.comparison-pane span { padding:.35rem .5rem; background:rgb(23 58 95 / .75); font:.65rem var(--mono); letter-spacing:.1em; }.comparison-line { position:absolute; left:50%; top:0; bottom:0; width:1px; background:var(--acid); }.comparison-line i { position:absolute; top:50%; left:50%; width:2.7rem; height:2.7rem; border:1px solid var(--acid); border-radius:50%; background:var(--ink); transform:translate(-50%,-50%); }.comparison-line i::before { content:'↔'; position:absolute; inset:0; display:grid; place-items:center; color:var(--acid); }.why-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:8rem; }.why-intro > p:not(.kicker) { max-width:24rem; color:var(--muted); }.values-list { border-top:1px solid var(--line); }.values-list article { display:grid; grid-template-columns:4rem 1fr; gap:1rem; padding:1.8rem 0; border-bottom:1px solid var(--line); }.values-list span { color:#526e86; font:.7rem var(--mono); }.values-list h3 { margin:0; font:600 1.45rem/1.15 var(--serif); }.values-list p { margin:.45rem 0 0; color:var(--muted); font-size:.88rem; }

/* Process and equipment */
.process-list { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; margin:0; padding:0; list-style:none; counter-reset:steps; }.process-list li { position:relative; padding-top:1.2rem; border-top:1px solid var(--ink); }.process-list li::before { content:''; position:absolute; top:-.25rem; width:.45rem; height:.45rem; border-radius:50%; background:var(--ink); }.process-list b { color:#526e86; font:.64rem var(--mono); }.process-list h3 { min-height:3.5rem; margin:.8rem 0 .45rem; font:600 1.12rem/1.1 var(--serif); }.process-list p { margin:0; color:var(--muted); font-size:.78rem; }.equipment-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }.equipment-visual { min-height:32rem; background:linear-gradient(145deg,#526e86,#325a7b); }.equipment h2 { margin-bottom:1.3rem; }.equipment p:not(.kicker) { max-width:31rem; color:var(--muted); }.check-list { margin:1.8rem 0 0; padding:0; list-style:none; }.check-list li { padding:.8rem 0; border-top:1px solid var(--line); font-size:.8rem; }.check-list li::before { content:'↗'; margin-right:.7rem; color:#526e86; }

/* Testimonial, membership and business */
.testimonials { padding:7.5rem 0; }.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.testimonial-placeholder { min-height:15rem; padding:1.5rem; border:1px solid rgb(255 255 255 / .2); background:rgb(255 255 255 / .04); }.testimonial-placeholder > span { color:var(--acid); font-size:.85rem; letter-spacing:.14em; }.testimonial-placeholder p { margin:2.7rem 0 1rem; color:#dce7f0; font:600 1.3rem/1.25 var(--serif); }.testimonial-placeholder small { color:#a8bfd1; font:.62rem var(--mono); }.review-link { display:inline-flex; margin-top:2rem; color:var(--acid); font-size:.75rem; font-weight:800; text-decoration:none; }.membership { padding-top:6.5rem; padding-bottom:6.5rem; }.membership-card { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:4rem; color:var(--ink); background:var(--sand); }.membership h2 { margin-bottom:1.2rem; }.membership-card > div > p:not(.kicker):not(.placeholder-caption) { max-width:35rem; }.button-dark { border-color:var(--ink); background:var(--ink); color:var(--white); white-space:nowrap; }.button-dark:hover { background:var(--ink-soft); color:var(--white); }.business { padding:6.5rem 0; color:var(--white); background:linear-gradient(110deg,#325a7b,#173a5f); }.business-inner { display:flex; align-items:end; justify-content:space-between; gap:2rem; }.business h2 { margin-bottom:1.3rem; }.business p { max-width:32rem; }.button-light { border-color:var(--white); background:var(--white); color:var(--ink); white-space:nowrap; }

/* FAQ, contact and footer */
.faq-layout { display:grid; grid-template-columns:.75fr 1.25fr; gap:7rem; }.faq h2 { margin-bottom:1.2rem; }.faq-layout > div > p:not(.kicker) { color:var(--muted); }.accordion { border-top:1px solid var(--line); }.accordion details { border-bottom:1px solid var(--line); }.accordion summary { display:flex; justify-content:space-between; gap:1rem; padding:1.25rem 0; cursor:pointer; font-weight:700; list-style:none; }.accordion summary::-webkit-details-marker { display:none; }.accordion summary span { color:#526e86; font-size:1.3rem; font-weight:400; transition:transform .2s; }.accordion details[open] summary span { transform:rotate(45deg); }.accordion details p { max-width:44rem; margin:0 0 1.25rem; color:var(--muted); font-size:.88rem; }.final-cta { padding:8rem 0; color:var(--white); background:radial-gradient(circle at 80% 30%,#325a7b,transparent 37%),var(--ink); }.final-cta-inner { text-align:center; }.final-cta .kicker { justify-content:center; }.final-cta h2 { max-width:12ch; margin-inline:auto; }.final-cta p:not(.kicker) { max-width:33rem; margin:1.4rem auto 2rem; color:#dce7f0; }.site-footer { padding:4.5rem 0 1.5rem; color:#dce7f0; background:#173a5f; }.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.25fr; gap:2rem; padding-bottom:3.5rem; }.brand-footer { color:var(--white); }.footer-brand p { max-width:15rem; margin:1.2rem 0; color:#a8bfd1; font-size:.78rem; }.social-link { color:var(--acid); font-size:.74rem; font-weight:800; text-decoration:none; }.footer-grid h2 { margin:0 0 1rem; color:var(--white); font-size:.73rem; letter-spacing:.06em; text-transform:uppercase; }.footer-grid ul { margin:0; padding:0; list-style:none; }.footer-grid li,.footer-contact a,.footer-contact p { margin:.45rem 0; color:#a8bfd1; font-size:.75rem; }.footer-grid a { display:block; text-decoration:none; }.footer-grid a:hover { color:var(--acid); }.footer-bottom { display:flex; justify-content:space-between; gap:1rem; padding-top:1.2rem; border-top:1px solid rgb(255 255 255 / .13); color:#526e86; font-size:.67rem; }.footer-bottom a { color:inherit; }.cookie-banner { position:fixed; right:1rem; bottom:1rem; z-index:90; max-width:23rem; padding:1.2rem; color:var(--ink); background:var(--white); box-shadow:var(--shadow); }.cookie-banner p { margin:0 0 1rem; font-size:.75rem; }.cookie-banner a { font-weight:800; }

/* Motion */
html.js [data-reveal] { opacity:0; transform:translateY(20px); transition:opacity .7s ease,transform .7s ease; } html.js [data-reveal].is-visible { opacity:1; transform:none; } [data-delay="1"] { transition-delay:.12s; } [data-delay="2"] { transition-delay:.24s; } @keyframes drift { to { transform:translate(-4rem,4rem) rotate(9deg); } } @media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } html.js [data-reveal] { opacity:1; transform:none; } }

@media (max-width: 65rem) { .site-nav ul { gap:1rem; }.services-grid { grid-template-columns:repeat(2,1fr); }.service-card-offset { margin-top:2rem; }.process-list { grid-template-columns:repeat(3,1fr); }.process-list li:nth-child(4) { grid-column:2; }.why-layout,.faq-layout { gap:4rem; }.equipment-grid { gap:3rem; } }
@media (max-width: 48rem) { .container { width:min(calc(100% - 2rem),var(--container)); }.header-inner { min-height:4.7rem; }.menu-toggle { position:relative; z-index:2; display:block; }.menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform:translateY(6px) rotate(45deg); }.menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity:0; }.menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform:translateY(-6px) rotate(-45deg); }.site-nav { position:absolute; top:0; right:0; left:0; display:none; align-items:stretch; padding:6.5rem 1rem 1.5rem; color:var(--ink); background:var(--paper); box-shadow:0 1rem 2rem rgb(23 58 95 / .12); }.site-nav[data-open="true"] { display:flex; flex-direction:column; }.site-nav ul { display:grid; gap:0; }.site-nav li { border-bottom:1px solid var(--line); }.site-nav li a { display:block; padding:1rem 0; font-size:1.05rem; }.nav-cta { margin-top:1rem; }.hero { min-height:auto; padding:8rem 0 3.5rem; }.hero-grid,.transformation-grid,.why-layout,.equipment-grid,.faq-layout { grid-template-columns:1fr; }.hero h1 { font-size:clamp(3.1rem,13vw,4.6rem); }.hero-visual { margin-top:2.3rem; padding-right:.5rem; }.hero-media { min-height:20rem; }.hero-card { left:-.3rem; }.scroll-cue { display:none; }.section { padding:5.5rem 0; }.section-heading { grid-template-columns:1fr; margin-bottom:2.5rem; }.section-heading h2,.why h2,.equipment h2,.membership h2,.faq h2,.final-cta h2,.business h2,.transformation h2 { font-size:clamp(2.25rem,10vw,3.35rem); }.services-grid { grid-template-columns:1fr; gap:1.2rem; }.service-card-offset { margin-top:0; }.service-image { min-height:13rem; }.service-body > p:not(.service-number),.service-body ul { min-height:initial; }.transformation-grid { gap:2.5rem; }.comparison { min-height:21rem; }.why-layout,.faq-layout { gap:2.5rem; }.process-list { grid-template-columns:1fr 1fr; gap:1.7rem 1rem; }.process-list li:nth-child(4) { grid-column:auto; }.process-list h3 { min-height:initial; }.equipment-visual { min-height:21rem; }.testimonial-grid { grid-template-columns:1fr; }.testimonial-placeholder { min-height:auto; }.testimonial-placeholder p { margin:1.5rem 0 1rem; }.membership-card { display:block; padding:2rem; }.membership-card .button { margin-top:1.5rem; }.business-inner { display:block; }.business-inner .button { margin-top:1.5rem; }.final-cta { padding:5.5rem 0; }.footer-grid { grid-template-columns:1fr 1fr; gap:2.5rem 1rem; }.footer-brand { grid-column:1/-1; }.footer-bottom { flex-direction:column; }.cookie-banner { right:.7rem; bottom:.7rem; left:.7rem; max-width:none; } }
@media (max-width: 27rem) { .hero-actions { display:grid; }.button { width:100%; }.footer-grid { grid-template-columns:1fr; }.process-list { grid-template-columns:1fr; } }

/* Página de serviço: Limpeza de estofados */
.site-header-solid { color:var(--ink); background:rgb(248 247 243 / .93); box-shadow:0 1px 0 var(--line); backdrop-filter:blur(16px); }.site-header-solid .brand > span:last-child span { color:#526e86; }.site-header-solid .site-nav li a:hover { color:#526e86; }.service-page { background:var(--paper); }.service-hero { position:relative; padding:10.5rem 0 5.5rem; overflow:hidden; background:linear-gradient(120deg,#f4f6fa,#f4f6fa 60%,#dce7f0); }.service-hero::after { content:''; position:absolute; z-index:0; width:38rem; height:38rem; top:-22rem; right:3%; border:1px solid rgb(23 58 95 / .14); border-radius:50%; box-shadow:0 0 0 5rem rgb(23 58 95 / .025),0 0 0 10rem rgb(23 58 95 / .02); }.service-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; gap:4rem; align-items:center; }.breadcrumbs { display:flex; flex-wrap:wrap; gap:.45rem; margin:0 0 2.2rem; color:#526e86; font:.65rem var(--mono); }.breadcrumbs a { color:inherit; text-decoration:none; }.breadcrumbs a:hover { color:var(--ink); }.service-hero h1 { max-width:10.5ch; margin:0; font:600 clamp(3.25rem,6vw,5.6rem)/.98 var(--serif); letter-spacing:-.065em; }.service-lead { max-width:35rem; margin:1.6rem 0 0; color:#325a7b; font-size:1.05rem; }.service-hero .button-ghost { border-color:rgb(23 58 95 / .35); color:var(--ink); }.service-hero .button-ghost:hover { color:var(--white); background:var(--ink); }.service-hero-media { min-height:31rem; color:var(--white); background:linear-gradient(145deg,#526e86,#325a7b 56%,#173a5f); box-shadow:var(--shadow); }.service-hero-media::after { content:''; position:absolute; inset:9%; border:1px solid rgb(255 255 255 / .32); }.service-hero-media > span { z-index:2; }.service-hero-arc { position:absolute; z-index:1; width:23rem; height:23rem; top:50%; left:50%; border-radius:50%; border:1px solid rgb(105 185 232 / .75); transform:translate(-50%,-50%); }.service-hero-media p { position:absolute; z-index:2; right:1.4rem; bottom:1.2rem; margin:0; font:italic 1.8rem/1 var(--serif); }.split-heading { display:grid; grid-template-columns:1.15fr .85fr; gap:5rem; align-items:end; }.split-heading h2 { max-width:15ch; margin:0; font:600 clamp(2.3rem,4.5vw,4.4rem)/1.02 var(--serif); letter-spacing:-.06em; }.split-heading > div:last-child > p { color:var(--muted); }.split-heading .text-link { margin-top:1.3rem; }.concern-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; margin-top:4rem; }.concern-grid article { padding:1.25rem 0; border-top:1px solid var(--ink); }.concern-grid span,.type-grid > article > span { color:#526e86; font:.66rem var(--mono); }.concern-grid h3 { margin:.85rem 0 .5rem; font:600 1.3rem/1.1 var(--serif); }.concern-grid p { margin:0; color:var(--muted); font-size:.8rem; }.solution { padding:7.5rem 0; }.solution-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }.solution-image { min-height:28rem; background:linear-gradient(135deg,#526e86,#325a7b); }.solution h2 { max-width:14ch; margin:0 0 1.4rem; font:600 clamp(2.25rem,4vw,4rem)/1.03 var(--serif); letter-spacing:-.055em; }.solution p:not(.kicker) { color:#dce7f0; }.solution-list { margin:2rem 0 0; padding:0; list-style:none; border-top:1px solid rgb(255 255 255 / .18); }.solution-list li { display:flex; gap:1rem; padding:1rem 0; border-bottom:1px solid rgb(255 255 255 / .18); color:#dce7f0; font-size:.83rem; }.solution-list span { color:var(--acid); font:.67rem var(--mono); }.type-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); }.type-grid article { min-height:13rem; padding:1.5rem; background:var(--paper); }.type-grid h3 { margin:2.8rem 0 .7rem; font:600 1.5rem/1 var(--serif); }.type-grid p { margin:0; color:var(--muted); font-size:.8rem; }.benefits-layout { display:grid; grid-template-columns:.85fr 1.15fr; gap:7rem; }.benefits h2 { max-width:13ch; margin:0; font:600 clamp(2.3rem,4.2vw,4rem)/1.02 var(--serif); letter-spacing:-.055em; }.benefit-list { border-top:1px solid var(--line); }.benefit-list article { display:grid; grid-template-columns:2.5rem 1fr; gap:1rem; padding:1.5rem 0; border-bottom:1px solid var(--line); }.benefit-list > article > span { color:#526e86; }.benefit-list h3 { margin:0; font:600 1.35rem/1.1 var(--serif); }.benefit-list p { margin:.5rem 0 0; color:var(--muted); font-size:.85rem; }.service-process { display:grid; grid-template-columns:repeat(5,1fr); gap:1.2rem; margin:0; padding:0; list-style:none; }.service-process li { position:relative; padding-top:1.1rem; border-top:1px solid var(--ink); }.service-process li::before { content:''; position:absolute; top:-.22rem; width:.42rem; height:.42rem; border-radius:50%; background:#526e86; }.service-process b { color:#526e86; font:.65rem var(--mono); }.service-process h3 { min-height:3.5rem; margin:.8rem 0 .45rem; font:600 1.16rem/1.1 var(--serif); }.service-process p { margin:0; color:var(--muted); font-size:.78rem; }.before-after { padding:7.5rem 0; }.before-after-heading { display:grid; grid-template-columns:.9fr 1.1fr; gap:3rem; align-items:end; margin-bottom:3rem; }.before-after-heading h2 { max-width:13ch; margin:0; font:600 clamp(2.35rem,4.3vw,4.2rem)/1.03 var(--serif); letter-spacing:-.055em; }.before-after-heading p:not(.kicker) { max-width:30rem; margin:0; color:#dce7f0; }.ba-gallery { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.ba-item { margin:0; }.ba-photo { min-height:24rem; background:linear-gradient(145deg,#325a7b,#173a5f); }.ba-photo-light { background:linear-gradient(145deg,#a8bfd1,#325a7b); }.ba-item figcaption { padding:.75rem 0; color:#a8bfd1; font:.7rem var(--mono); }.difference-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:7rem; }.difference h2 { max-width:14ch; margin:0 0 1.3rem; font:600 clamp(2.3rem,4.2vw,4rem)/1.02 var(--serif); letter-spacing:-.055em; }.difference > .container > div > p:not(.kicker) { max-width:29rem; color:var(--muted); }.difference-list { border-top:1px solid var(--line); }.difference-list > div { display:grid; grid-template-columns:3rem 1fr; column-gap:1rem; padding:1.3rem 0; border-bottom:1px solid var(--line); }.difference-list b { grid-row:span 2; color:#526e86; font:.65rem var(--mono); }.difference-list h3 { margin:0; font:600 1.35rem/1.1 var(--serif); }.difference-list p { margin:.45rem 0 0; color:var(--muted); font-size:.83rem; }.aftercare-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }.aftercare-visual { min-height:28rem; background:linear-gradient(145deg,#a8bfd1,#325a7b); }.aftercare h2 { max-width:14ch; margin:0 0 1.3rem; font:600 clamp(2.3rem,4.1vw,4rem)/1.02 var(--serif); letter-spacing:-.055em; }.aftercare p:not(.kicker) { color:var(--muted); }.care-list { margin:1.8rem 0 0; padding:0; list-style:none; }.care-list li { padding:.75rem 0 .75rem 1.4rem; border-top:1px solid var(--line); color:#325a7b; font-size:.84rem; }.care-list li::before { content:'•'; position:absolute; margin-left:-1.1rem; color:#526e86; }.related-services { padding-top:2rem; }.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.related-grid a { position:relative; min-height:16rem; padding:1.5rem; color:var(--white); background:var(--ink-soft); text-decoration:none; transition:transform .25s,background .25s; }.related-grid a:nth-child(2) { background:#526e86; }.related-grid a:nth-child(3) { color:var(--ink); background:var(--sand); }.related-grid a:hover { transform:translateY(-5px); background:#325a7b; }.related-grid a:nth-child(3):hover { background:#dce7f0; }.related-grid span { font:.65rem var(--mono); opacity:.7; }.related-grid h3 { max-width:10ch; margin:3.7rem 0 .6rem; font:600 1.8rem/1 var(--serif); }.related-grid p { max-width:17rem; margin:0; opacity:.82; font-size:.8rem; }.related-grid i { position:absolute; right:1.5rem; bottom:1.2rem; font-style:normal; font-size:1.3rem; }

@media (max-width:65rem) { .concern-grid,.type-grid { grid-template-columns:repeat(2,1fr); }.service-process { grid-template-columns:repeat(3,1fr); }.service-process li:nth-child(4) { grid-column:2; }.solution-grid,.aftercare-grid { gap:3rem; }.split-heading,.benefits-layout,.difference-grid { gap:4rem; } }
@media (max-width:48rem) { .service-hero { padding:8.5rem 0 4rem; }.service-hero-grid,.split-heading,.solution-grid,.benefits-layout,.before-after-heading,.difference-grid,.aftercare-grid { grid-template-columns:1fr; }.service-hero-grid { gap:2.5rem; }.service-hero h1 { font-size:clamp(3rem,13vw,4.5rem); }.service-hero-media { min-height:21rem; }.service-hero-arc { width:16rem; height:16rem; }.split-heading,.benefits-layout,.difference-grid { gap:2.5rem; }.concern-grid,.type-grid { grid-template-columns:1fr; margin-top:2.5rem; }.type-grid article { min-height:10rem; }.type-grid h3 { margin:1.5rem 0 .5rem; }.solution { padding:5.5rem 0; }.solution-image,.aftercare-visual { min-height:21rem; }.service-process { grid-template-columns:1fr 1fr; }.service-process li:nth-child(4) { grid-column:auto; }.service-process h3 { min-height:initial; }.before-after { padding:5.5rem 0; }.before-after-heading { gap:1.3rem; }.ba-gallery { grid-template-columns:1fr; }.ba-photo { min-height:18rem; }.related-grid { grid-template-columns:1fr; }.related-grid a { min-height:13rem; }.related-grid h3 { margin:2rem 0 .6rem; } }
@media (max-width:27rem) { .service-process { grid-template-columns:1fr; } }

/* Variações: Impermeabilização de estofados */
.waterproof-hero { background:linear-gradient(120deg,#f4f6fa,#f4f6fa 55%,#dce7f0); }.waterproof-hero::after { border-color:rgb(24 92 82 / .16); }.waterproof-hero-media { background:linear-gradient(145deg,#526e86,#325a7b 60%,#325a7b); }.drop-shape { position:absolute; z-index:1; width:13rem; height:16rem; top:18%; left:50%; border:1px solid rgb(105 185 232 / .75); border-radius:70% 30% 72% 28% / 55% 42% 58% 45%; transform:translateX(-50%) rotate(45deg); }.waterproof-intro { padding-bottom:6rem; }.explanation-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:4rem; background:var(--line); }.explanation-cards article { min-height:16rem; padding:1.6rem; background:var(--paper); }.explanation-cards b { color:#526e86; font:.65rem var(--mono); }.explanation-cards h3 { margin:4rem 0 .6rem; font:600 1.55rem/1.05 var(--serif); }.explanation-cards p { margin:0; color:var(--muted); font-size:.82rem; }.waterproof-benefits { padding:7rem 0; }.benefit-list-light { border-color:rgb(255 255 255 / .2); }.benefit-list-light article { border-color:rgb(255 255 255 / .2); }.benefit-list-light h3 { color:var(--white); }.benefit-list-light p { color:#dce7f0; }.indication-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.indication-grid article { min-height:14rem; padding:1.5rem; border:1px solid var(--line); }.indication-grid span { color:#526e86; font:.65rem var(--mono); }.indication-grid h3 { margin:3.6rem 0 .6rem; font:600 1.55rem/1.05 var(--serif); }.indication-grid p { margin:0; color:var(--muted); font-size:.82rem; }.surfaces-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }.surfaces-visual { min-height:28rem; background:linear-gradient(145deg,#a8bfd1,#325a7b); }.surfaces h2 { max-width:13ch; margin:0 0 1.3rem; font:600 clamp(2.3rem,4.1vw,4rem)/1.02 var(--serif); letter-spacing:-.055em; }.surfaces p:not(.kicker) { color:var(--muted); }.waterproof-photo { background:linear-gradient(145deg,#325a7b,#173a5f); }.waterproof-photo-light { background:linear-gradient(145deg,#a8bfd1,#526e86); }.waterproof-aftercare { background:linear-gradient(145deg,#a8bfd1,#526e86); }
@media (max-width:48rem) { .explanation-cards,.indication-grid { grid-template-columns:1fr; margin-top:2.5rem; }.explanation-cards article,.indication-grid article { min-height:11rem; }.explanation-cards h3,.indication-grid h3 { margin:1.8rem 0 .6rem; }.surfaces-grid { grid-template-columns:1fr; gap:2.5rem; }.surfaces-visual { min-height:21rem; } }

/* Variações: Lavagem de tapetes */
.rug-hero { background:linear-gradient(120deg,#f4f6fa,#f4f6fa 57%,#dce7f0); }.rug-hero-media { background:linear-gradient(140deg,#526e86,#325a7b 55%,#325a7b); }.rug-pattern { position:absolute; z-index:1; width:16rem; height:16rem; border:1px solid rgb(105 185 232 / .72); transform:rotate(45deg); }.rug-pattern::before,.rug-pattern::after { content:''; position:absolute; inset:22%; border:1px solid rgb(105 185 232 / .58); }.rug-pattern::after { inset:42%; }.rug-intro { padding-bottom:6rem; }.rug-value-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:4rem; background:var(--line); }.rug-value-grid article { min-height:15rem; padding:1.5rem; background:var(--paper); }.rug-value-grid span { color:#526e86; font:.65rem var(--mono); }.rug-value-grid h3 { margin:3.6rem 0 .6rem; font:600 1.5rem/1.05 var(--serif); }.rug-value-grid p { margin:0; color:var(--muted); font-size:.82rem; }.rug-types { padding:7.5rem 0; }.rug-type-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid rgb(255 255 255 / .2); }.rug-type-grid article { min-height:17rem; padding:1.5rem; border-right:1px solid rgb(255 255 255 / .2); }.rug-type-grid article:last-child { border-right:0; }.rug-type-grid b { color:var(--acid); font:.65rem var(--mono); }.rug-type-grid h3 { margin:4rem 0 .7rem; color:var(--white); font:600 1.5rem/1.05 var(--serif); }.rug-type-grid p { margin:0; color:#dce7f0; font-size:.82rem; }.fibers-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }.fibers-visual { min-height:29rem; background:linear-gradient(145deg,#a8bfd1,#526e86); }.fibers h2 { max-width:13ch; margin:0 0 1.3rem; font:600 clamp(2.3rem,4.1vw,4rem)/1.02 var(--serif); letter-spacing:-.055em; }.fibers p:not(.kicker) { color:var(--muted); }.rug-audience { padding-top:6.5rem; padding-bottom:6.5rem; }.logistics-banner { padding:4rem 0; color:var(--white); background:#325a7b; }.logistics-banner .kicker { color:var(--acid); }.logistics-banner h2 { max-width:15ch; margin:0; font:600 clamp(2rem,3.5vw,3.3rem)/1.03 var(--serif); }.logistics-banner p:not(.kicker) { max-width:35rem; color:#dce7f0; }.rug-photo { background:linear-gradient(145deg,#325a7b,#325a7b); }.rug-photo-light { background:linear-gradient(145deg,#a8bfd1,#526e86); }.rug-aftercare { background:linear-gradient(145deg,#a8bfd1,#526e86); }
@media (max-width:65rem) { .rug-type-grid { grid-template-columns:repeat(2,1fr); }.rug-type-grid article:nth-child(2) { border-right:0; }.rug-type-grid article:nth-child(-n+2) { border-bottom:1px solid rgb(255 255 255 / .2); } }
@media (max-width:48rem) { .rug-value-grid,.rug-type-grid { grid-template-columns:1fr; margin-top:2.5rem; }.rug-value-grid article,.rug-type-grid article { min-height:11rem; border-right:0; border-bottom:1px solid var(--line); }.rug-type-grid article { border-color:rgb(255 255 255 / .2)!important; }.rug-value-grid h3,.rug-type-grid h3 { margin:1.8rem 0 .6rem; }.fibers-grid { grid-template-columns:1fr; gap:2.5rem; }.fibers-visual { min-height:21rem; } }

/* Variações: Lavagem de carpetes */
.carpet-hero { background:linear-gradient(120deg,#dce7f0,#f4f6fa 57%,#dce7f0); }.carpet-hero-media { background:linear-gradient(145deg,#526e86,#325a7b 56%,#325a7b); }.carpet-lines { position:absolute; z-index:1; width:72%; height:72%; border-left:1px solid rgb(105 185 232 / .65); border-right:1px solid rgb(105 185 232 / .65); transform:skewX(-18deg); }.carpet-lines::before,.carpet-lines::after { content:''; position:absolute; inset:0 32%; border-left:1px solid rgb(105 185 232 / .45); border-right:1px solid rgb(105 185 232 / .45); }.carpet-lines::after { inset:0 65%; }.carpet-intro { padding-bottom:6rem; }.carpet-benefit-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:4rem; background:var(--line); }.carpet-benefit-grid article { min-height:15rem; padding:1.5rem; background:var(--paper); }.carpet-benefit-grid span { color:#526e86; font:.65rem var(--mono); }.carpet-benefit-grid h3 { margin:3.6rem 0 .6rem; font:600 1.5rem/1.05 var(--serif); }.carpet-benefit-grid p { margin:0; color:var(--muted); font-size:.82rem; }.carpet-types { padding:7.5rem 0; }.carpet-type-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid rgb(255 255 255 / .2); }.carpet-type-grid article { min-height:17rem; padding:1.5rem; border-right:1px solid rgb(255 255 255 / .2); }.carpet-type-grid article:last-child { border-right:0; }.carpet-type-grid b { color:var(--acid); font:.65rem var(--mono); }.carpet-type-grid h3 { margin:4rem 0 .7rem; color:var(--white); font:600 1.5rem/1.05 var(--serif); }.carpet-type-grid p { margin:0; color:#dce7f0; font-size:.82rem; }.context-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.context-grid article { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:1.5rem; padding:1.2rem; background:var(--paper-dark); }.context-media { min-height:16rem; background:linear-gradient(145deg,#a8bfd1,#526e86); }.context-media-business { background:linear-gradient(145deg,#526e86,#325a7b); }.context-grid h3 { margin:.5rem 0; font:600 1.65rem/1.05 var(--serif); }.context-grid p:not(.service-number) { margin:0; color:var(--muted); font-size:.8rem; }.carpet-photo { background:linear-gradient(145deg,#325a7b,#173a5f); }.carpet-photo-light { background:linear-gradient(145deg,#a8bfd1,#526e86); }.prep-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }.prep-visual { min-height:28rem; background:linear-gradient(145deg,#a8bfd1,#325a7b); }.carpet-prep h2 { max-width:13ch; margin:0 0 1.3rem; font:600 clamp(2.3rem,4.1vw,4rem)/1.02 var(--serif); letter-spacing:-.055em; }.carpet-prep p:not(.kicker) { color:var(--muted); }.carpet-aftercare { background:linear-gradient(145deg,#a8bfd1,#526e86); }
@media (max-width:48rem) { .carpet-benefit-grid,.carpet-type-grid,.context-grid { grid-template-columns:1fr; margin-top:2.5rem; }.carpet-benefit-grid article,.carpet-type-grid article { min-height:11rem; border-right:0; border-bottom:1px solid var(--line); }.carpet-type-grid article { border-color:rgb(255 255 255 / .2)!important; }.carpet-benefit-grid h3,.carpet-type-grid h3 { margin:1.8rem 0 .6rem; }.context-grid article { grid-template-columns:1fr; }.context-media { min-height:14rem; }.prep-grid { grid-template-columns:1fr; gap:2.5rem; }.prep-visual { min-height:21rem; } }

/* Página de assinatura e manutenção */
.membership-page { background:var(--paper); }.membership-hero { position:relative; min-height:44rem; padding:10.5rem 0 5rem; color:var(--white); overflow:hidden; background:radial-gradient(circle at 70% 30%,#526e86,transparent 32%),linear-gradient(120deg,#173a5f,#325a7b); }.membership-hero::before { content:''; position:absolute; inset:0; opacity:.25; background:repeating-linear-gradient(90deg,transparent 0 5rem,rgb(255 255 255 / .12) 5.05rem 5.1rem); }.membership-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:5rem; }.breadcrumbs-light { color:#dce7f0; }.membership-hero h1 { max-width:10.5ch; margin:0; font:600 clamp(3.25rem,6vw,5.8rem)/.98 var(--serif); letter-spacing:-.065em; }.membership-hero p:not(.kicker):not(.breadcrumbs) { max-width:34rem; color:#dce7f0; font-size:1.05rem; }.membership-hero-visual { min-height:29rem; color:var(--white); background:linear-gradient(145deg,#a8bfd1,#325a7b 55%,#173a5f); box-shadow:var(--shadow); }.membership-hero-visual::after { content:''; position:absolute; inset:10%; border:1px solid rgb(255 255 255 / .3); }.membership-hero-visual > span { z-index:2; }.membership-ring { position:absolute; z-index:1; width:17rem; height:17rem; border:1px solid var(--acid); border-radius:50%; box-shadow:0 0 0 2.8rem rgb(105 185 232 / .08),0 0 0 5.6rem rgb(105 185 232 / .04); }.membership-hero-visual p { position:absolute; z-index:2; bottom:1.2rem; right:1.2rem; margin:0; font:italic 1.75rem/1 var(--serif); }.membership-explainer { padding-bottom:6rem; }.membership-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:4rem; background:var(--line); }.membership-steps article { min-height:15rem; padding:1.5rem; background:var(--paper); }.membership-steps span { color:#526e86; font:.65rem var(--mono); }.membership-steps h3 { margin:3.6rem 0 .6rem; font:600 1.5rem/1.05 var(--serif); }.membership-steps p { margin:0; color:var(--muted); font-size:.82rem; }.membership-advantages { padding:7rem 0; }.preventive-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }.preventive-visual { min-height:28rem; background:linear-gradient(145deg,#a8bfd1,#526e86); }.preventive h2 { max-width:13ch; margin:0 0 1.3rem; font:600 clamp(2.3rem,4.1vw,4rem)/1.02 var(--serif); letter-spacing:-.055em; }.preventive p:not(.kicker) { color:var(--muted); }.guidance-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.guidance-grid article { min-height:15rem; padding:1.5rem; background:var(--white); }.guidance-grid span { color:#526e86; font:.65rem var(--mono); text-transform:uppercase; letter-spacing:.06em; }.guidance-grid h3 { margin:3rem 0 .6rem; font:600 1.55rem/1.05 var(--serif); }.guidance-grid p { margin:0; color:var(--muted); font-size:.82rem; }.audience-grid { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.audience-grid article { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:1.5rem; padding:1.2rem; background:var(--paper-dark); }.audience-media { min-height:16rem; background:linear-gradient(145deg,#dce7f0,#526e86); }.audience-media-business { background:linear-gradient(145deg,#526e86,#325a7b); }.audience-grid h3 { margin:.5rem 0; font:600 1.65rem/1.05 var(--serif); }.audience-grid p:not(.service-number) { margin:0; color:var(--muted); font-size:.8rem; }.plans { padding:7.5rem 0; }.plans-heading { display:grid; grid-template-columns:.8fr 1.2fr; gap:2rem; align-items:end; margin-bottom:3rem; }.plans-heading h2 { max-width:14ch; margin:0; color:var(--white); font:600 clamp(2.3rem,4.2vw,4rem)/1.02 var(--serif); letter-spacing:-.055em; }.plans-heading p:not(.kicker) { max-width:32rem; margin:0; color:#dce7f0; }.plan-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1rem; }.plan-card { display:flex; flex-direction:column; min-height:28rem; padding:1.7rem; color:var(--ink); background:var(--paper); }.plan-card:nth-child(2) { background:var(--acid); }.plan-frequency,.plan-label { margin:0; color:#526e86; font:.64rem var(--mono); letter-spacing:.05em; text-transform:uppercase; }.plan-card h3 { margin:.8rem 0; font:600 2rem/1 var(--serif); }.plan-price { margin:0 0 1.4rem; font:600 1.25rem var(--serif); }.plan-card ul { min-height:4.8rem; margin:.45rem 0 1.1rem; padding:0; list-style:none; }.plan-card li { margin:.35rem 0; font-size:.77rem; }.plan-card li::before { content:'•'; margin-right:.4rem; color:#526e86; }.plan-card .button { width:100%; margin-top:auto; }.plans-note { margin:1.3rem 0 0; color:#dce7f0; font-size:.78rem; }.plans-note strong { color:var(--acid); }.interest-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:7rem; }.interest h2 { max-width:12ch; margin:0 0 1.3rem; font:600 clamp(2.3rem,4.1vw,4rem)/1.02 var(--serif); letter-spacing:-.055em; }.interest > .container > div > p:not(.kicker) { max-width:25rem; color:var(--muted); }.membership-form { display:grid; grid-template-columns:1fr 1fr; gap:1rem; align-content:start; }.form-field { display:grid; gap:.35rem; }.form-field-wide { grid-column:1/-1; }.form-field label { font-size:.75rem; font-weight:800; }.form-field input,.form-field textarea,.form-field select { width:100%; padding:.75rem; border:1px solid var(--line); border-radius:0; color:var(--ink); background:var(--white); font:inherit; }.form-field input:focus,.form-field textarea:focus,.form-field select:focus { border-color:#526e86; outline:2px solid rgb(105 185 232 / .55); outline-offset:1px; }.membership-form .button { width:max-content; }.form-result { grid-column:1/-1; min-height:1.4rem; margin:0; color:#325a7b; font-size:.78rem; }.membership-popup { position:fixed; z-index:80; right:1rem; bottom:1rem; width:min(calc(100% - 2rem),26rem); padding:1.5rem; color:var(--white); background:var(--ink); box-shadow:var(--shadow); }.membership-popup[hidden] { display:none; }.membership-popup h2 { max-width:13ch; margin:.55rem 0; font:600 2rem/1 var(--serif); }.membership-popup p:not(.kicker) { margin:.5rem 0 1.2rem; color:#dce7f0; font-size:.82rem; }.popup-close { position:absolute; top:.7rem; right:.7rem; display:grid; place-items:center; width:2rem; height:2rem; border:0; color:var(--white); background:transparent; cursor:pointer; font-size:1.35rem; }.membership-popup .button { width:100%; }.membership-popup .kicker { color:var(--acid); }
@media (max-width:48rem) { .membership-hero { min-height:auto; padding:8.5rem 0 4rem; }.membership-hero-grid,.preventive-grid,.interest-grid { grid-template-columns:1fr; gap:2.5rem; }.membership-hero h1 { font-size:clamp(3rem,13vw,4.5rem); }.membership-hero-visual { min-height:21rem; }.membership-steps,.guidance-grid,.plan-grid { grid-template-columns:1fr; margin-top:2.5rem; }.membership-steps article,.guidance-grid article { min-height:11rem; }.membership-steps h3,.guidance-grid h3 { margin:1.8rem 0 .6rem; }.preventive-visual { min-height:21rem; }.audience-grid { grid-template-columns:1fr; }.audience-grid article { grid-template-columns:1fr; }.audience-media { min-height:14rem; }.plans-heading { grid-template-columns:1fr; gap:1.2rem; }.plans { padding:5.5rem 0; }.plan-card { min-height:initial; }.membership-form { grid-template-columns:1fr; }.membership-form .button { width:100%; }.form-field-wide,.form-result { grid-column:auto; }.membership-popup { right:.7rem; bottom:.7rem; width:calc(100% - 1.4rem); } }

/* Página B2B */
.business-page { background:var(--paper); }.business-hero { position:relative; min-height:44rem; padding:10.5rem 0 5rem; overflow:hidden; color:var(--white); background:radial-gradient(circle at 75% 20%,#526e86,transparent 28%),linear-gradient(120deg,#173a5f,#325a7b); }.business-hero::before { content:''; position:absolute; inset:0; opacity:.18; background-image:linear-gradient(90deg,rgb(255 255 255 / .5) 1px,transparent 1px),linear-gradient(rgba(255,255,255,.5) 1px,transparent 1px); background-size:5rem 5rem; }.business-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:5rem; }.business-hero h1 { max-width:10.5ch; margin:0; font:600 clamp(3.25rem,6vw,5.8rem)/.98 var(--serif); letter-spacing:-.065em; }.business-hero p:not(.kicker) { max-width:35rem; color:#dce7f0; font-size:1.05rem; }.business-hero-visual { min-height:29rem; background:linear-gradient(145deg,#526e86,#325a7b 58%,#173a5f); box-shadow:var(--shadow); }.business-hero-visual::after { content:''; position:absolute; inset:9%; border:1px solid rgb(255 255 255 / .3); }.business-hero-visual > span { z-index:2; }.business-grid-mark { position:absolute; z-index:1; width:16rem; height:16rem; border:1px solid var(--acid); }.business-grid-mark::before,.business-grid-mark::after { content:''; position:absolute; inset:33%; border:1px solid rgb(105 185 232 / .6); }.business-grid-mark::after { inset:66%; }.business-hero-visual p { position:absolute; z-index:2; right:1.3rem; bottom:1.2rem; margin:0; font:italic 1.75rem/1 var(--serif); }.business-value { padding-bottom:6rem; }.business-value-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; margin-top:4rem; background:var(--line); }.business-value-grid article { min-height:15rem; padding:1.5rem; background:var(--paper); }.business-value-grid span { color:#526e86; font:.65rem var(--mono); }.business-value-grid h3 { margin:3.6rem 0 .6rem; font:600 1.5rem/1.05 var(--serif); }.business-value-grid p { margin:0; color:var(--muted); font-size:.82rem; }.business-sectors { padding:7rem 0; }.sector-grid { display:grid; grid-template-columns:repeat(5,1fr); border-top:1px solid rgb(255 255 255 / .2); }.sector-grid span { display:grid; min-height:7rem; place-items:center; padding:1rem; border-right:1px solid rgb(255 255 255 / .2); border-bottom:1px solid rgb(255 255 255 / .2); color:#f4f6fa; text-align:center; font:600 1rem/1.1 var(--serif); }.sector-note { color:#dce7f0; font-size:.72rem; }.b2b-service-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }.b2b-media { min-height:14rem; color:var(--white); background:linear-gradient(145deg,#526e86,#325a7b); text-decoration:none; }.b2b-media-alt { background:linear-gradient(145deg,#a8bfd1,#526e86); }.b2b-media-rug { background:linear-gradient(145deg,#a8bfd1,#526e86); }.b2b-media-carpet { background:linear-gradient(145deg,#a8bfd1,#325a7b); }.b2b-service-grid h3 { margin:1.1rem 0 .5rem; font:600 1.4rem/1.05 var(--serif); }.b2b-service-grid p { margin:0; color:var(--muted); font-size:.8rem; }.maintenance-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:6rem; }.maintenance-visual { min-height:28rem; background:linear-gradient(145deg,#a8bfd1,#325a7b); }.business-maintenance h2 { max-width:13ch; margin:0 0 1.3rem; font:600 clamp(2.3rem,4.1vw,4rem)/1.02 var(--serif); letter-spacing:-.055em; }.business-maintenance p:not(.kicker) { color:var(--muted); }.proposal { padding:7.5rem 0; }.proposal-grid { display:grid; grid-template-columns:.8fr 1.2fr; gap:7rem; }.proposal h2 { max-width:12ch; margin:0 0 1.3rem; color:var(--white); font:600 clamp(2.3rem,4.1vw,4rem)/1.02 var(--serif); letter-spacing:-.055em; }.proposal > .container > div > p:not(.kicker) { max-width:26rem; color:#dce7f0; }.business-form { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }.business-form .form-field label { color:#f4f6fa; }.business-form .form-field input,.business-form .form-field textarea,.business-form .form-field select { border-color:rgb(255 255 255 / .22); color:var(--white); background:rgb(255 255 255 / .08); }.business-form .form-field select option { color:var(--ink); }.business-form .form-result { color:var(--acid); }
@media (max-width:65rem) { .sector-grid { grid-template-columns:repeat(3,1fr); }.b2b-service-grid { grid-template-columns:repeat(2,1fr); } }
@media (max-width:48rem) { .business-hero { min-height:auto; padding:8.5rem 0 4rem; }.business-hero-grid,.maintenance-grid,.proposal-grid { grid-template-columns:1fr; gap:2.5rem; }.business-hero h1 { font-size:clamp(3rem,13vw,4.5rem); }.business-hero-visual { min-height:21rem; }.business-value-grid,.sector-grid,.b2b-service-grid { grid-template-columns:1fr; margin-top:2.5rem; }.business-value-grid article { min-height:11rem; }.business-value-grid h3 { margin:1.8rem 0 .6rem; }.sector-grid span { min-height:4.5rem; border-right:0; }.b2b-media { min-height:12rem; }.maintenance-visual { min-height:21rem; }.proposal { padding:5.5rem 0; }.business-form { grid-template-columns:1fr; }.business-form .button { width:100%; } }

/* Página institucional */
.about-page { background:var(--paper); }.about-hero { position:relative; min-height:43rem; padding:10.5rem 0 5rem; color:var(--white); overflow:hidden; background:radial-gradient(circle at 75% 20%,#526e86,transparent 30%),linear-gradient(120deg,#173a5f,#325a7b); }.about-hero-grid { position:relative; z-index:1; display:grid; grid-template-columns:1.05fr .95fr; align-items:center; gap:5rem; }.about-hero h1 { max-width:11ch; margin:0; font:600 clamp(3.25rem,6vw,5.8rem)/.98 var(--serif); letter-spacing:-.065em; }.about-hero p:not(.kicker) { max-width:34rem; color:#dce7f0; font-size:1.05rem; }.about-hero-visual { min-height:29rem; background:linear-gradient(145deg,#a8bfd1,#526e86 56%,#325a7b); box-shadow:var(--shadow); }.about-hero-visual i { position:absolute; width:14rem; height:14rem; border:1px solid var(--acid); border-radius:50%; }.about-hero-visual p { position:absolute; z-index:2; right:1.3rem; bottom:1.2rem; margin:0; font:italic 1.75rem/1 var(--serif); }.story-grid,.purpose-grid,.method-grid,.commitment-grid { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:center; }.story h2,.purpose h2,.method h2,.commitment h2 { max-width:13ch; margin:0; font:600 clamp(2.3rem,4.1vw,4rem)/1.02 var(--serif); letter-spacing:-.055em; }.story p:not(.kicker),.method p:not(.kicker),.commitment p:not(.kicker) { color:var(--muted); }.placeholder-copy { padding-left:1rem; border-left:2px solid #526e86; }.about-purpose { padding:7rem 0; }.purpose h2 { color:var(--white); margin-bottom:1.3rem; }.purpose p:not(.kicker) { color:#dce7f0; }.purpose-visual,.method-visual { min-height:25rem; background:linear-gradient(145deg,#a8bfd1,#526e86); }.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--line); }.values-grid article { min-height:14rem; padding:1.5rem; background:var(--paper); }.values-grid span { color:#526e86; font:.65rem var(--mono); }.values-grid h3 { margin:3.4rem 0 .6rem; font:600 1.5rem/1.05 var(--serif); }.values-grid p { margin:0; color:var(--muted); font-size:.82rem; }.about-method-list { margin:1.8rem 0 0; padding:0; list-style:none; border-top:1px solid var(--line); }.about-method-list li { display:flex; gap:1rem; padding:1rem 0; border-bottom:1px solid var(--line); color:#325a7b; font-size:.84rem; }.about-method-list b,.commitment-list b { color:#526e86; font:.65rem var(--mono); }.commitment-list { border-top:1px solid var(--line); }.commitment-list > div { display:grid; grid-template-columns:3rem 1fr; column-gap:1rem; padding:1.3rem 0; border-bottom:1px solid var(--line); }.commitment-list b { grid-row:span 2; }.commitment-list h3 { margin:0; font:600 1.35rem/1.1 var(--serif); }.commitment-list p { margin:.4rem 0 0; font-size:.82rem; }.about-gallery { padding:7rem 0; }.about-gallery-grid { display:grid; grid-template-columns:1.1fr .9fr 1fr; gap:1rem; }.about-gallery-grid > div { min-height:20rem; background:linear-gradient(145deg,#526e86,#325a7b); }.about-gallery-grid > div:nth-child(2) { background:linear-gradient(145deg,#a8bfd1,#526e86); }.about-gallery-grid > div:nth-child(3) { background:linear-gradient(145deg,#526e86,#325a7b); }
@media (max-width:48rem) { .about-hero { min-height:auto; padding:8.5rem 0 4rem; }.about-hero-grid,.story-grid,.purpose-grid,.method-grid,.commitment-grid { grid-template-columns:1fr; gap:2.5rem; }.about-hero h1 { font-size:clamp(3rem,13vw,4.5rem); }.about-hero-visual,.purpose-visual,.method-visual { min-height:21rem; }.values-grid,.about-gallery-grid { grid-template-columns:1fr; }.values-grid article { min-height:11rem; }.values-grid h3 { margin:1.8rem 0 .6rem; }.about-gallery-grid > div { min-height:16rem; } }

/* SEO local: página única de áreas atendidas */
.areas-page { background:var(--paper); }.areas-hero { padding:10.5rem 0 5rem; color:var(--white); background:radial-gradient(circle at 72% 20%,#526e86,transparent 28%),linear-gradient(120deg,#173a5f,#325a7b); }.areas-hero-grid,.local-services-grid,.map-grid { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:6rem; }.areas-hero h1 { max-width:11ch; margin:0; font:600 clamp(3.25rem,6vw,5.8rem)/.98 var(--serif); letter-spacing:-.065em; }.areas-hero p:not(.kicker) { max-width:34rem; color:#dce7f0; font-size:1.05rem; }.areas-hero-visual,.local-services-media { min-height:28rem; background:linear-gradient(145deg,#a8bfd1,#325a7b); box-shadow:var(--shadow); }.coverage-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1px; background:var(--line); }.coverage-grid article { min-height:16rem; padding:1.5rem; background:var(--paper); }.coverage-label { color:#526e86; font:.65rem var(--mono); text-transform:uppercase; }.coverage-grid h3 { margin:2.8rem 0 .6rem; font:600 1.65rem/1 var(--serif); }.coverage-grid ul { min-height:4.2rem; margin:1.4rem 0 .6rem; padding:0; list-style:none; }.coverage-grid li { margin:.35rem 0; color:#325a7b; font-size:.8rem; }.coverage-grid li::before { content:'•'; color:#526e86; margin-right:.4rem; }.coverage-grid article > p:last-child { color:var(--muted); font-size:.76rem; }.local-services h2,.local-info h2,.map-section h2 { max-width:13ch; margin:0 0 1.3rem; font:600 clamp(2.3rem,4.1vw,4rem)/1.02 var(--serif); letter-spacing:-.055em; }.local-services p:not(.kicker),.local-info p:not(.kicker) { color:var(--muted); }.local-services .care-list a { color:inherit; }.info-grid { display:grid; grid-template-columns:1fr 1fr; gap:7rem; }.info-list { border-top:1px solid var(--line); }.info-list > div { display:grid; grid-template-columns:3rem 1fr; column-gap:1rem; padding:1.3rem 0; border-bottom:1px solid var(--line); }.info-list b { grid-row:span 2; color:#526e86; font:.65rem var(--mono); }.info-list h3 { margin:0; font:600 1.35rem/1.1 var(--serif); }.info-list p { margin:.4rem 0 0; color:var(--muted); font-size:.82rem; }.map-section { padding:7rem 0; }.map-section h2 { color:var(--white); }.map-section p:not(.kicker) { color:#dce7f0; }.map-frame { min-height:25rem; position:relative; }.map-frame iframe { position:absolute; inset:0; width:100%; height:100%; border:0; }.map-placeholder { min-height:25rem; background:linear-gradient(145deg,#325a7b,#173a5f); }.map-frame iframe:not([hidden]) + .map-placeholder { display:none; }
@media (max-width:48rem) { .areas-hero { padding:8.5rem 0 4rem; }.areas-hero-grid,.local-services-grid,.info-grid,.map-grid { grid-template-columns:1fr; gap:2.5rem; }.areas-hero h1 { font-size:clamp(3rem,13vw,4.5rem); }.areas-hero-visual,.local-services-media { min-height:21rem; }.coverage-grid { grid-template-columns:1fr; }.coverage-grid article { min-height:11rem; }.coverage-grid h3 { margin:1.8rem 0 .6rem; }.map-placeholder,.map-frame { min-height:20rem; } }

/* Blog */
.blog-page { background:var(--paper); }.blog-hero { padding:10rem 0 4.5rem; color:var(--white); background:radial-gradient(circle at 75% 20%,#526e86,transparent 28%),var(--ink); }.blog-hero h1 { max-width:11ch; margin:0; font:600 clamp(3.2rem,6vw,5.7rem)/.98 var(--serif); letter-spacing:-.065em; }.blog-hero p:not(.kicker) { max-width:35rem; color:#dce7f0; }.blog-search { display:flex; max-width:34rem; margin-top:2rem; border:1px solid rgb(255 255 255 / .35); background:rgb(255 255 255 / .09); }.blog-search input { width:100%; border:0; padding:.9rem 1rem; color:var(--white); background:transparent; font:inherit; }.blog-search input::placeholder { color:#dce7f0; }.blog-search button { width:3.5rem; border:0; color:var(--acid); background:transparent; cursor:pointer; font-size:1.5rem; }.blog-toolbar { display:flex; justify-content:space-between; gap:1rem; align-items:center; margin-bottom:2rem; }.category-filters { display:flex; flex-wrap:wrap; gap:.4rem; }.category-filters button { border:1px solid var(--line); padding:.45rem .7rem; background:transparent; cursor:pointer; font-size:.72rem; }.category-filters .is-active { border-color:var(--ink); color:var(--white); background:var(--ink); }.blog-toolbar > p { margin:0; color:var(--muted); font-size:.75rem; }.featured-posts { display:grid; grid-template-columns:1.35fr .65fr; gap:1rem; margin-bottom:3rem; }.featured-post { display:grid; grid-template-columns:1.1fr .9fr; min-height:21rem; background:var(--white); }.featured-post-small { display:block; }.featured-media { min-height:100%; color:var(--white); background:linear-gradient(145deg,#a8bfd1,#325a7b); }.featured-post-small .featured-media { min-height:12rem; background:linear-gradient(145deg,#a8bfd1,#325a7b); }.featured-post > div { padding:1.6rem; }.article-category { margin:0; color:#526e86; font:.64rem var(--mono); text-transform:uppercase; }.featured-post h2,.article-grid h2 { margin:.65rem 0; font:600 1.8rem/1.05 var(--serif); }.featured-post h2 a,.article-grid h2 a { text-decoration:none; }.featured-post p:not(.article-category) { color:var(--muted); font-size:.84rem; }.article-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1rem; }.article-grid article { padding-bottom:1rem; }.article-grid article[hidden],.featured-post[hidden] { display:none; }.article-thumb { min-height:10rem; color:var(--white); background:linear-gradient(145deg,#a8bfd1,#325a7b); }.article-grid article:nth-child(3n) .article-thumb { background:linear-gradient(145deg,#a8bfd1,#526e86); }.article-grid h2 { font-size:1.3rem; }.article-grid p:not(.article-category) { margin:0; color:var(--muted); font-size:.78rem; }.pagination { display:flex; justify-content:center; gap:.4rem; margin-top:3rem; }.pagination span,.pagination button { display:grid; width:2.3rem; aspect-ratio:1; place-items:center; border:1px solid var(--line); background:transparent; font-size:.75rem; }.pagination span { color:var(--white); background:var(--ink); }.blog-empty { margin:2rem 0; color:var(--muted); text-align:center; }.newsletter-card { display:flex; align-items:center; justify-content:space-between; gap:2rem; padding:3rem; background:var(--sand); }.newsletter-card h2 { max-width:16ch; margin:0; font:600 clamp(2rem,3.5vw,3.3rem)/1.03 var(--serif); }.newsletter-card p:not(.kicker) { max-width:35rem; color:var(--muted); }.newsletter-card form { display:flex; min-width:20rem; }.newsletter-card input { width:100%; padding:.8rem; border:1px solid var(--line); background:var(--white); }.newsletter-card button:disabled { opacity:.55; cursor:not-allowed; }
@media (max-width:65rem) { .article-grid { grid-template-columns:repeat(3,1fr); } }
@media (max-width:48rem) { .blog-hero { padding:8.5rem 0 3.5rem; }.blog-hero h1 { font-size:clamp(3rem,13vw,4.5rem); }.blog-toolbar { align-items:flex-start; flex-direction:column; }.featured-posts,.featured-post { grid-template-columns:1fr; }.featured-media { min-height:15rem; }.article-grid { grid-template-columns:1fr 1fr; }.newsletter-card { display:block; padding:2rem; }.newsletter-card form { min-width:0; margin-top:1.5rem; }.newsletter-card .button { width:auto; } }

/* Atalhos globais de contato: números e links são montados somente pelo JavaScript de configuração. */
.floating-contact { position:fixed; z-index:70; right:1rem; bottom:1rem; display:grid; gap:.45rem; }.floating-contact a { display:flex; align-items:center; justify-content:center; min-height:2.8rem; padding:.65rem .9rem; color:var(--ink); background:var(--acid); box-shadow:0 8px 24px rgb(23 58 95 / .22); font-size:.75rem; font-weight:800; text-decoration:none; }.floating-whatsapp { gap:.4rem; }.floating-whatsapp span:first-child { font-size:1.2rem; }.floating-phone { background:var(--white)!important; }.floating-contact a:hover { transform:translateY(-2px); }
.floating-quote { min-height:2.8rem; border:0; padding:.65rem .9rem; color:var(--white); background:var(--ink); box-shadow:0 8px 24px rgb(23 58 95 / .22); cursor:pointer; font:800 .75rem var(--sans); }.quote-modal { position:fixed; z-index:110; inset:0; display:grid; place-items:center; padding:1rem; background:rgb(8 28 26 / .7); backdrop-filter:blur(5px); }.quote-modal[hidden] { display:none; }.quote-dialog { position:relative; width:min(100%,42rem); max-height:calc(100svh - 2rem); overflow:auto; padding:2rem; background:var(--paper); box-shadow:var(--shadow); }.quote-dialog h2 { max-width:14ch; margin:.4rem 0 .7rem; font:600 clamp(2rem,5vw,3rem)/1 var(--serif); }.quote-dialog > p:not(.kicker) { margin-top:0; color:var(--muted); font-size:.85rem; }.quote-dialog form { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-top:1.3rem; }.quote-dialog .button { width:max-content; }.quote-error { grid-column:1/-1; min-height:1.3rem; margin:0; color:#325a7b; font-size:.78rem; }
@media (max-width:48rem) { .floating-contact { right:.7rem; bottom:.7rem; }.floating-contact a { min-height:2.65rem; }.floating-phone { display:none!important; } }
@media (max-width:48rem) { .floating-quote { min-height:2.65rem; }.quote-modal { padding:0; align-items:end; }.quote-dialog { width:100%; max-height:92svh; padding:1.5rem 1rem; }.quote-dialog form { grid-template-columns:1fr; }.quote-dialog .button { width:100%; }.quote-dialog .form-field-wide,.quote-error { grid-column:auto; } }

/* Performance: evita pintura de seções fora da tela e efeitos caros em aparelhos móveis. */
@media (min-width:49rem) { main > .section:not(.hero), main > .section-dark, main > .section-soft { content-visibility:auto; contain-intrinsic-size:auto 55rem; } }
@media (max-width:48rem) { .site-header.is-scrolled,.site-header-solid { backdrop-filter:none; }.hero-glow { animation:none; }.media-placeholder::before { background:linear-gradient(135deg,rgb(255 255 255 / .1),transparent 50%); } }

/* Mantém o convite de assinatura acima do aviso de privacidade, quando ambos estiverem visíveis. */
.membership-popup { bottom:5.5rem; }
@media (max-width:48rem) { .membership-popup { bottom:5.5rem; } }

/* Auditoria mobile: evita estouros, amplia alvos de toque e preserva leitura em 320–414 px. */
@media (max-width:48rem) {
  html { overflow-x:clip; }
  body { overflow-x:clip; }
  main, section, article, form, [class*="grid"], [class*="card"], [class*="list"] { min-width:0; }
  h1, h2, h3, p, a, li, summary, label { overflow-wrap:anywhere; }
  input, select, textarea { min-width:0; max-width:100%; font-size:16px; }
  .site-nav { max-height:100svh; overflow-y:auto; overscroll-behavior:contain; }
  .site-nav li a, .menu-toggle, .category-filters button, .pagination button { min-height:44px; }
  .accordion summary { min-height:52px; align-items:center; }
  .floating-contact { bottom:max(.7rem, env(safe-area-inset-bottom)); }
  .cookie-banner { bottom:max(.7rem, env(safe-area-inset-bottom)); }
  .membership-popup { bottom:5.75rem; }
  .article-grid { grid-template-columns:1fr; }
  .category-filters { width:100%; }
  .category-filters button { flex:1 1 auto; }
}
@media (max-width:27rem) {
  .container { width:calc(100% - 1.5rem); }
  .hero h1, .service-hero h1, .membership-hero h1, .business-hero h1, .about-hero h1, .areas-hero h1, .blog-hero h1 { letter-spacing:-.045em; }
  .hero-card { max-width:calc(100% - .6rem); }
  .quote-dialog { padding:1.25rem .75rem; }
}

/* Páginas legais e links de rodapé. */
.footer-legal { display:flex; flex-wrap:wrap; gap:1rem; }
.legal-content { padding:8rem 0 5rem; }
.legal-content h1 { max-width:15ch; margin:0 0 1.4rem; font:600 clamp(2.8rem,5vw,4.5rem)/1 var(--serif); letter-spacing:-.055em; }
.legal-content h2 { max-width:28ch; margin:2.5rem 0 .7rem; font:600 1.65rem/1.1 var(--serif); }
.legal-content p { max-width:48rem; }
.legal-content p:not(.legal-lead) { color:var(--muted); }
.legal-lead { max-width:45rem; font-size:1.1rem; }
@media (max-width:48rem) { .legal-content { padding:6.5rem 0 4rem; }.footer-legal { gap:.8rem; } }

/* Página 404 */
.error-page{min-height:100svh;background:var(--ink);color:var(--paper)}
.error-main{position:relative;display:grid;min-height:100svh;place-items:center;overflow:hidden;background:radial-gradient(circle at 78% 24%,rgba(124,207,188,.16),transparent 24rem),linear-gradient(128deg,#173a5f 0%,#173a5f 100%)}
.error-content{position:relative;z-index:1;max-width:58rem;padding-top:4rem;padding-bottom:4rem}
.error-page .brand{margin-bottom:clamp(3rem,8vh,6.5rem)}
.error-code{margin:0 0 -.3rem;font-family:Sora,Arial,sans-serif;font-size:clamp(7rem,25vw,15rem);font-weight:400;letter-spacing:-.12em;line-height:.8;color:rgba(247,245,237,.1)}
.kicker-light{color:var(--acid)}
.kicker-light span{background:var(--acid)}
.error-content h1{max-width:10ch;margin:.8rem 0 1rem;font-family:Sora,Arial,sans-serif;font-size:clamp(2.8rem,7vw,5.5rem);font-weight:400;letter-spacing:-.065em;line-height:.94}
.error-description{max-width:38rem;margin:0;color:rgba(247,245,237,.78);font-size:1.08rem;line-height:1.65}
.error-actions{margin-top:2rem}
.button-light{background:var(--paper);color:var(--ink)}
.button-light:hover{background:var(--acid)}
.button-ghost-light{border-color:rgba(247,245,237,.45);color:var(--paper)}
.button-ghost-light:hover{border-color:var(--acid);background:rgba(124,207,188,.1);color:var(--acid)}
.error-links{display:flex;flex-wrap:wrap;gap:.75rem 1.4rem;margin-top:clamp(3.5rem,8vh,6rem);max-width:48rem}
.error-links a{border-bottom:1px solid rgba(247,245,237,.32);padding-bottom:.22rem;color:rgba(247,245,237,.85);font-size:.86rem;font-weight:700;letter-spacing:.045em;text-transform:uppercase;transition:border-color .2s,color .2s}
.error-links a:hover{border-color:var(--acid);color:var(--acid)}
.error-orbit{position:absolute;border:1px solid rgba(247,245,237,.14);border-radius:50%;pointer-events:none}
.error-orbit-one{width:min(73vw,67rem);height:min(73vw,67rem);right:-30vw;top:-29vw}
.error-orbit-two{width:min(45vw,44rem);height:min(45vw,44rem);bottom:-24vw;left:-19vw;border-color:rgba(124,207,188,.22)}
@media (max-width:48rem){.error-content{padding-top:2rem;padding-bottom:2.5rem}.error-page .brand{margin-bottom:4rem}.error-code{font-size:clamp(6.2rem,32vw,9rem)}.error-content h1{font-size:clamp(2.55rem,13vw,4rem)}.error-description{font-size:1rem}.error-actions{display:grid;grid-template-columns:1fr}.error-actions .button{justify-content:space-between}.error-links{display:grid;grid-template-columns:1fr;margin-top:3.5rem;gap:1rem}.error-links a{width:max-content;max-width:100%;font-size:.78rem}.error-orbit-one{width:32rem;height:32rem;right:-18rem;top:-12rem}.error-orbit-two{width:22rem;height:22rem;bottom:-10rem;left:-11rem}}
