/* Rick Gás V8 — Correção definitiva dos espaçamentos e da navegação */
:root{--safe-content: min(1320px, calc(100% - 48px));}
html { scroll-behavior:smooth; scroll-padding-top:92px; }
html,body{max-width:100%;overflow-x:clip}
[id]{scroll-margin-top:92px}
button,a{touch-action:manipulation}
body{overflow-wrap:normal}
.hero{height:auto !important;min-height:640px;overflow:hidden;}
.hero-content{padding-top:80px;padding-bottom:88px;align-items:center;}
.hero-copy{min-width:0;max-width:100%;}
.hero h1{font-size:clamp(54px,6.8vw,98px);line-height:1.05;letter-spacing:-.045em;overflow-wrap:normal;word-break:normal;max-width:12ch}
.hero-description{font-size:15px;line-height:1.8;max-width:550px;}
.hero-actions{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-top:25px;}
.hero-actions .text-link{white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;}
.hero-art{min-width:0;align-self:center;margin-block:0;}
.hero-photo{width:100%;height:100%;object-fit:cover;display:block}
.hero-shortcuts,.hero-location,.hero-trust-pills,.hero-bottom{display:none!important}
.menu-toggle{box-sizing:border-box;font-size:13px;font-weight:600;line-height:1.2;letter-spacing:0;white-space:nowrap;overflow:visible;}
/* prevent clipping/letter collisions in every section */
.massive-heading{white-space:normal!important;overflow-wrap:normal;word-break:normal;line-height:1.11;letter-spacing:-.04em;}
.services-heading h2,.process-intro h2,.regions-info h2,.faq-lead h2,.quote-copy h2,.safety-copy h2{line-height:1.1;letter-spacing:-.035em;overflow-wrap:normal;word-break:normal;}
.h-card{min-width:0}
.h-card-text{min-width:0}
.h-card-text h3{font-size:clamp(29px,3vw,43px);line-height:1.17;letter-spacing:-.035em;overflow-wrap:normal;word-break:normal;}
.h-card-text h3 em{line-height:inherit;display:block;}
.service-grid{gap:14px;background:transparent}
.service-item{min-width:0;display:flex;flex-direction:column;gap:8px;}
.service-item h3{line-height:1.33;letter-spacing:-.018em;margin:0;}
.service-item p{line-height:1.72;overflow-wrap:break-word;}
.service-item>a,.service-item>button{margin-top:auto;}
.process-grid{gap:18px;}
.process-card,.process-card:not(:first-child){min-width:0;padding:24px;border:1px solid rgba(255,255,255,.14);border-radius:18px;}
.process-card h3{font-size:clamp(18px,1.6vw,23px);line-height:1.3;letter-spacing:-.015em;margin-top:24px;}
.process-card p{font-size:14px;line-height:1.7;}
.faq-items details summary{line-height:1.5;}
.quote-panel{min-width:0}
@media (min-width:1001px){
 .hero-content{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);gap:clamp(25px,4vw,58px)}
 .hero{min-height:730px;}
 .hero-art{width:100%;height:565px;}
 .hero h1{font-size:clamp(60px,6.15vw,91px)}
}
@media (max-width:1000px){
 .hero-content{display:grid;grid-template-columns:1fr;gap:30px;padding-top:42px;}
 .hero{height:auto!important;min-height:0!important;}
 .hero-copy{max-width:760px;padding-right:0}
 .hero h1{max-width:12ch;}
 .hero-art{margin:0 auto;max-width:640px;width:100%;height:auto;aspect-ratio:1.25;transform:none;}
 .horizontal-top{gap:16px;}
 .horizontal-top h2{font-size:clamp(27px,4vw,40px);line-height:1.18;letter-spacing:-.025em;}
 .h-card{height:auto;min-height:450px;}
 .h-card-text{padding:clamp(24px,3vw,36px);}
 .h-card-text h3{font-size:clamp(25px,3.6vw,35px)}
 .process-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
 .services-heading h2{font-size:clamp(40px,5.2vw,66px)}
}
@media (max-width:700px){
 html {scroll-padding-top:78px}
 [id]{scroll-margin-top:78px}
 .site-header{padding-inline:20px}
 .site-header .menu-toggle{width:auto;min-width:76px;max-width:92px;height:42px;padding:0 13px;border-radius:12px;border:1px solid rgba(255,255,255,.25);color:#f5f8fc;display:flex;justify-content:center;align-items:center;background:transparent;}
 .hero-content{padding-top:110px;padding-bottom:38px;gap:20px;}
 .hero-eyebrow{margin-bottom:23px;line-height:1.55;letter-spacing:.09em;flex-wrap:wrap;}
 .hero h1{font-size:clamp(39px,10.6vw,58px);line-height:1.11;letter-spacing:-.035em;max-width:13ch;margin:0 0 16px;}
 .hero-description{font-size:15px;line-height:1.67;max-width:100%;margin-bottom:15px;}
 .hero-actions{display:flex;align-items:center;gap:14px 18px;margin-top:18px;}
 .hero-actions .btn{flex:0 1 auto;min-height:51px;padding:0 19px;font-size:13px}
 .hero-actions .text-link{min-height:47px;font-size:13px;text-decoration:none;}
 .hero-art{width:100%;max-width:520px;height:auto;aspect-ratio:1.18;max-height:none;transform:none;margin:18px auto 0;overflow:hidden;}
 .hero-photo{height:100%;object-fit:cover}
 .horizontal-sticky{padding-top:70px;padding-bottom:54px}
 .horizontal-top{display:flex;flex-direction:column;align-items:stretch;gap:16px;margin-bottom:20px;padding-bottom:0;}
 .horizontal-top>div:first-child{min-width:0;width:100%;}
 .horizontal-top h2{font-size:clamp(27px,7.5vw,36px);line-height:1.16;letter-spacing:-.028em;max-width:100%;margin-top:12px}
 .horizontal-nav{align-self:flex-start;justify-content:flex-start;flex-wrap:wrap;gap:8px;}
 .horizontal-counter{width:auto;text-align:left;margin-right:6px;white-space:nowrap;}
 .horizontal-nav .mini-arrow{min-width:71px;}
 .h-track{align-items:stretch;padding-inline:20px;gap:14px;}
 .h-card{width:calc(100vw - 52px);max-width:460px;height:auto;min-height:0;display:flex;flex-direction:column;}
 .card-visual{height:210px;flex-shrink:0;}
 .h-card-text{padding:22px 22px 24px;display:flex;flex-direction:column;gap:13px;min-width:0;}
 .h-card-text h3{font-size:clamp(25px,7vw,34px);line-height:1.2;letter-spacing:-.028em;margin:4px 0;}
 .h-card-text p{font-size:13px;line-height:1.6;margin:0;}
 .card-action{margin-top:auto;min-height:44px;}
 .massive-heading{font-size:clamp(41px,10vw,63px)!important;line-height:1.12;letter-spacing:-.038em;}
 .services-heading h2,.process-intro h2,.regions-info h2,.faq-lead h2,.quote-copy h2{font-size:clamp(37px,9.3vw,57px);line-height:1.11;letter-spacing:-.036em;}
 .services-heading{margin:24px 0;}
 .service-grid{grid-template-columns:1fr!important;gap:12px;}
 .service-item{min-height:0;padding:22px;}
 .process-intro{margin:25px 0 31px;}
 .process-grid{grid-template-columns:1fr;gap:14px;}
 .process-card,.process-card:not(:first-child){min-height:0;padding:22px;border:1px solid rgba(255,255,255,.14)}
 .process-card h3{margin-top:12px;font-size:20px;}
 .process-card p{font-size:13px;}
 .quote-panel{padding:24px 19px}
 .faq-items summary{min-width:0;overflow-wrap:break-word;}
 .mobile-conversion-dock{padding-bottom:calc(10px + env(safe-area-inset-bottom));}
}
@media (max-width:360px){
 .container{width:calc(100% - 32px)}
 .hero h1{font-size:clamp(37px,10.4vw,43px)}
 .hero-actions{gap:9px}
 .hero-actions .btn{font-size:12px}
 .hero-actions .text-link{font-size:12px}
 .mobile-conversion-dock a{font-size:12px}
}
@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}
/* Fitting the service photograph to the entire card on desktop eliminates dead white space. */
@media (min-width:701px){
 .h-card{display:grid;grid-template-columns:49% 51%;height:clamp(420px,34vw,530px);min-height:420px;}
 .h-card .card-visual{height:100%;min-height:100%;align-self:stretch}
 .h-card .card-visual img{width:100%;height:100%;object-fit:cover}
 .h-card .h-card-text{height:100%;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;}
 .h-card .card-action{margin-top:auto;align-self:flex-start;}
}
/* Toasts should never obscure the sticky mobile booking buttons. */
@media (max-width:700px){
 .toast{bottom:calc(95px + env(safe-area-inset-bottom));max-width:calc(100vw - 36px);line-height:1.4;}
}
