/* Ubatã Telecom — base clara, laranja da marca e navegação direta. */
@font-face{font-family:'Source Sans 3';src:url('assets/source-sans-3-vf.woff2') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
:root{--orange:#fa7b2b;--orange-hover:#ff9149;--accent:#ae460b;--ink:#24292e;--muted:#606975;--line:#e1e5e9;--light:#f6f7f9;--white:#fff;--gutter:clamp(32px,3.5vw,112px)}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:116px}
body{margin:0;background:var(--white);color:var(--ink);font-family:'Source Sans 3',Arial,sans-serif;font-size:17px;line-height:1.65;-webkit-font-smoothing:antialiased}
body.menu-open,body.dialog-open{overflow:hidden}
p,h1,h2,h3,figure{margin:0}
h1,h2,h3{font-weight:650;text-wrap:balance}
a{color:inherit;text-decoration:none}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
button,a,input,select,summary{-webkit-tap-highlight-color:transparent}
img{display:block;width:100%;height:auto}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #226493;outline-offset:4px}
input:focus-visible,select:focus-visible{outline-offset:2px}
[hidden]{display:none!important}
::selection{color:var(--ink);background:#ffbb8c}
/* A estrutura acompanha o monitor; somente os parágrafos limitam a leitura. */
.container{width:calc(100% - var(--gutter) * 2);margin-inline:auto}
.icon-definitions{position:absolute;width:0;height:0;overflow:hidden}
.icon{display:block;flex-shrink:0;width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link{position:fixed;top:10px;left:16px;z-index:200;padding:12px 20px;background:white;transform:translateY(-170%)}
.skip-link:focus{transform:translateY(0)}
.eyebrow{color:var(--accent);font-size:12px;line-height:1.5;font-weight:600;letter-spacing:1.2px}
h2{font-size:36px;line-height:1.23;letter-spacing:-.015em}
.section{padding:80px 0}
.button{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:51px;padding:14px 21px;border:1px solid transparent;border-radius:6px;font-size:15px;line-height:1.4;font-weight:600;transition:background 180ms ease,border-color 180ms ease}
.button>.icon{width:20px;height:20px}
.button-orange{background:var(--orange);color:#22272a}
.button-orange:hover{background:var(--orange-hover)}
.button-dark{background:var(--ink);color:white}
.button-dark:hover{background:#3b444c}
.text-link{display:inline-flex;align-items:center;gap:9px;font-size:15px;font-weight:600}
.text-link>.icon{width:18px;height:18px}
.text-link:hover{color:var(--accent);text-decoration:underline;text-underline-offset:4px}

/* Cabeçalho. */
.utility-bar{background:var(--ink);color:#eff2f5;font-size:12px}
.utility-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:31px}
.utility-inner>span,.utility-inner>a{display:flex;align-items:center;gap:8px}
.utility-inner .icon{width:13px;height:13px}
.utility-inner>a:hover{text-decoration:underline;text-underline-offset:3px}
.site-header{position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);background:white;transition:box-shadow 180ms ease}
.site-header.is-scrolled{box-shadow:0 3px 15px #20252b0b}
.header-inner{display:flex;align-items:center;gap:34px;height:96px}
.brand{display:flex;align-items:center;flex-shrink:0;width:162px;height:96px}
.brand>img{width:100%;height:100%;object-fit:contain}
.navigation{display:flex;align-items:center;gap:29px;margin-left:auto}
.navigation>a{position:relative;padding:14px 0;font-size:15px;font-weight:500;white-space:nowrap}
.navigation>a:hover,.navigation>a[aria-current]{color:var(--accent)}
.navigation>a[aria-current]::after{position:absolute;right:0;bottom:6px;left:0;height:2px;background:var(--orange);content:''}
.navigation .mobile-support{display:none}
.header-contact{display:flex;align-items:center;justify-content:center;gap:13px;min-height:44px;padding:10px 14px;border:1px solid #d7dce1;border-radius:6px;color:var(--ink);font-size:14px;font-weight:600;white-space:nowrap;transition:border-color 180ms ease,background 180ms ease}
.header-contact>.icon{width:16px;height:16px;color:var(--accent)}
.header-contact:hover{border-color:var(--orange);background:#fff7ef}
.menu-toggle{display:none}

/* Capa: fotografia horizontal sem texto sobre o rosto das pessoas. */
.hero{padding:36px 0 28px;background:#fff8f1}
.hero-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:56px}
.hero-copy{padding:9px 0 18px}
h1{margin-top:18px;font-size:56px;line-height:1.12;font-weight:700;letter-spacing:-.02em}
h1>span{color:var(--accent)}
.hero-description{max-width:430px;margin-top:17px;color:#555e68;font-size:18px;line-height:1.7}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:19px 24px;margin-top:22px}
.hero-actions>.button{font-size:15px;gap:18px}
.hero-support{font-size:14px}
.hero-support>.icon{color:#187447}
.hero-photo{position:relative;width:100%;max-width:960px;min-width:0;justify-self:end}
.hero-viewport{position:relative;isolation:isolate;height:clamp(280px,31vw,400px);overflow:hidden;border-radius:16px;background:#e9e5df}
.hero-slides,.hero-slide{position:absolute;inset:0}
.hero-slides{touch-action:pan-y pinch-zoom}
.hero-slide{z-index:0;opacity:0;pointer-events:none;transition:opacity 650ms ease}
.hero-slide.is-active{z-index:1;opacity:1;pointer-events:auto}
.hero-slide>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:var(--slide-focus,50% 50%);user-select:none}
.hero-photo figcaption{margin-top:10px;color:#5b6269;font-size:12px;text-align:center;line-height:1.6}
#heroCaption{white-space:pre-line}
.carousel-controls{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:8px;color:var(--ink)}
/* Reserva a mesma altura antes de o carrossel ativar os controles. */
.carousel-controls[hidden]{display:flex!important;visibility:hidden;pointer-events:none}
.carousel-arrows,.carousel-meta{display:flex;align-items:center;gap:7px}
.carousel-meta{gap:12px}
.carousel-meta>span{color:#5e6670;font-size:10px;letter-spacing:.6px;font-variant-numeric:tabular-nums;white-space:nowrap}
.carousel-button{display:grid;place-items:center;flex-shrink:0;width:35px;height:35px;padding:0;border:1px solid #d6dce1;border-radius:50%;background:white;color:var(--ink);transition:border-color 180ms ease,background 180ms ease}
.carousel-button>.icon{width:16px;height:16px;stroke-width:1.8}
.carousel-previous>.icon{transform:rotate(180deg)}
.carousel-button:hover{border-color:var(--orange);background:#fff1e5}
.carousel-button[data-state='playing']>.icon-play,.carousel-button[data-state='paused']>.icon-pause{display:none}
.carousel-dots{display:flex;align-items:center}
.carousel-dots button{display:grid;place-items:center;width:25px;height:35px;padding:0;border:0;background:transparent}
.carousel-dots button>span{display:block;width:6px;height:6px;border-radius:50%;background:#b9c1c7;transition:background 180ms ease,transform 180ms ease}
.carousel-dots button[aria-pressed='true']>span{background:var(--accent);transform:scale(1.3)}
.carousel-dots button:disabled{opacity:.35;cursor:default}

/* Entrada curta, iniciada pelo CSS junto à primeira pintura da página. */
@media(prefers-reduced-motion:no-preference){
  @keyframes opening-rise{
    from{opacity:0;transform:translateY(12px)}
    to{opacity:1;transform:translateY(0)}
  }
  @keyframes opening-photo{
    from{opacity:0;transform:translateX(14px)}
    to{opacity:1;transform:translateX(0)}
  }
  .site-header .brand{animation:opening-rise 440ms cubic-bezier(.22,1,.36,1) backwards}
  .hero-copy>.eyebrow,.hero-copy>h1,.hero-description,.hero-actions{animation:opening-rise 560ms cubic-bezier(.22,1,.36,1) backwards}
  .hero-copy>.eyebrow{animation-delay:80ms}
  .hero-copy>h1{animation-delay:150ms}
  .hero-description{animation-delay:230ms}
  .hero-actions{animation-delay:310ms}
  .hero-photo{animation:opening-photo 680ms cubic-bezier(.22,1,.36,1) 190ms backwards}
  .site-header .brand:focus-within,.hero-actions:focus-within,.hero-photo:focus-within{animation:none}
}

/* Acessos de serviço, logo após a capa. */
.quick-access{background:white;border-bottom:1px solid var(--line)}
.quick-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:20px 0}
.quick-grid>a{display:flex;align-items:center;gap:16px;min-width:0;padding:6px 30px;border-left:1px solid var(--line)}
.quick-grid>a:first-child{padding-left:0;border-left:0}
.quick-grid>a:last-child{padding-right:0}
.quick-icon{width:28px;height:28px;color:var(--accent)}
.quick-grid>a>span{display:grid;gap:2px;min-width:0}
.quick-grid small{color:var(--muted);font-size:13px;line-height:1.5}
.quick-grid strong{font-size:18px;font-weight:600;line-height:1.5}
.quick-arrow{width:16px;height:16px;margin-left:auto;color:#737c86}
.quick-grid>a:hover strong{color:var(--accent)}

/* Planos. */
.plans-section{padding-top:56px;background:var(--light)}
.section-heading{margin-bottom:25px}
.section-heading h2{margin-top:12px}
.section-heading>div>p:not(.eyebrow){max-width:600px;margin-top:16px;color:var(--muted);font-size:17px;line-height:1.75}
.plans-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:35px}
.plan-city-field{display:grid;gap:7px;min-width:175px;flex-shrink:0}
.plan-city-field>label{color:var(--muted);font-size:13px;font-weight:500}
.plan-city-field>select{width:100%;min-height:43px;padding:10px 29px 10px 13px;border:1px solid #cfd6de;border-radius:6px;background:white;font-size:14px}
.plans-note{display:flex;align-items:flex-start;gap:8px;margin-bottom:22px;color:#626b75;font-size:14px;line-height:1.7}
.plans-note>.icon{width:17px;height:17px;margin-top:2px;color:var(--accent)}
.plan-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;min-width:0;margin:0;padding:0;border:0}
.plan-card{position:relative;display:block;min-width:0;cursor:pointer}
.plan-card>input{position:absolute;top:25px;left:25px;width:1px;height:1px;opacity:0}
.plan-card-inner{display:flex;flex-direction:column;height:100%;padding:25px 24px 23px;border:1px solid #dce1e6;border-radius:10px;background:white;transition:border-color 180ms ease,box-shadow 180ms ease}
.plan-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#717a83;font-size:11px;font-weight:500;letter-spacing:.7px}
.plan-card-top>.icon{width:21px;height:21px;color:#89929b}
.plan-speed{display:flex;align-items:baseline;gap:8px;margin-top:22px;line-height:1}
.plan-speed>strong{font-size:65px;line-height:1;font-weight:700;letter-spacing:-2.5px}
.plan-speed>span{font-size:13px;font-weight:600;letter-spacing:.4px}
.plan-description{min-height:3.4em;margin-top:13px;color:var(--muted);font-size:15px;line-height:1.7}
.plan-price{display:grid;gap:3px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.plan-price>strong{font-size:24px;font-weight:600;line-height:1.3;letter-spacing:-.01em}
.plan-price>span{color:#68727d;font-size:12px;line-height:1.7}
.plan-pick{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:43px;margin-top:24px;padding:10px 13px;border:1px solid #dce1e6;border-radius:5px;background:#f8f9fa;font-size:14px;font-weight:500}
.plan-check{display:grid;place-items:center;flex-shrink:0;width:17px;height:17px;border:1px solid #b3bec8;border-radius:50%;background:white}
.plan-check>.icon{width:12px;height:12px;stroke-width:2;opacity:0}
.pick-selected{display:none}
.plan-card>input:checked+.plan-card-inner{border-color:var(--orange);box-shadow:0 0 0 1px var(--orange)}
.plan-card>input:checked+.plan-card-inner .plan-speed{color:var(--accent)}
.plan-card>input:checked+.plan-card-inner .plan-card-top>.icon{color:var(--accent)}
.plan-card>input:checked+.plan-card-inner .plan-pick{border-color:var(--orange);background:#fff0e3;color:#813505}
.plan-card>input:checked+.plan-card-inner .plan-check{background:var(--orange);border-color:var(--orange);color:var(--ink)}
.plan-card>input:checked+.plan-card-inner .plan-check>.icon{opacity:1}
.plan-card>input:checked+.plan-card-inner .pick-selected{display:inline}
.plan-card>input:checked+.plan-card-inner .pick-idle{display:none}
.plan-card>input:focus-visible+.plan-card-inner{outline:3px solid #226493;outline-offset:4px}
.plan-card:hover .plan-card-inner{border-color:var(--orange)}
.plan-summary{display:flex;align-items:center;justify-content:space-between;gap:25px;margin-top:23px;padding:21px 25px;border:1px solid var(--line);border-radius:8px;background:white}
.plan-summary-copy>span{color:var(--muted);font-size:14px}
.plan-summary-copy>p{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px;margin-top:5px;font-size:15px}
.plan-summary-copy strong{font-size:20px;font-weight:600}
.summary-divider{color:#85909b}
.plan-summary>.button{font-size:14px;min-height:47px}
.business-line{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:24px;color:var(--muted);font-size:15px}
.business-line .text-link{color:var(--ink);font-size:14px}

/* Consulta de cobertura. */
.coverage-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:100px}
.coverage-copy h2{margin-top:14px;font-size:40px;line-height:1.2}
.coverage-copy>p:not(.eyebrow){max-width:390px;margin-top:20px;color:var(--muted);font-size:17px;line-height:1.75}
.city-list{display:grid;gap:11px;max-width:390px;margin-top:26px}
.city-list>button{display:flex;align-items:center;gap:12px;width:100%;min-height:55px;padding:12px 17px;border:1px solid #dce2e7;border-radius:7px;background:white;text-align:left;font-size:17px;font-weight:500;transition:border-color 180ms ease,background 180ms ease}
.city-list>button>.icon{width:20px;height:20px;color:#7c8792}
.city-list .city-arrow{width:17px;height:17px;margin-left:auto}
.city-list>button[aria-pressed='true']{border-color:var(--orange);background:#fff5ec;color:#873a0c}
.city-list>button[aria-pressed='true']>.icon{color:var(--accent)}
.city-list>button:hover{border-color:var(--orange)}
.coverage-copy>.coverage-note{font-size:13px!important;line-height:1.8!important;margin-top:22px}
.subscription-guide{max-width:490px;margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.subscription-guide h3{font-size:20px;line-height:1.3}
.subscription-steps{display:grid;gap:13px;margin:16px 0 0;padding-left:21px}
.subscription-steps li{padding-left:4px}
.subscription-steps li::marker{color:var(--accent);font-size:15px;font-weight:600}
.subscription-steps strong{font-size:15px;font-weight:600;line-height:1.4}
.subscription-steps p{margin-top:3px;color:var(--muted);font-size:14px;line-height:1.6}
.coverage-form{min-width:0;padding:33px 34px 29px;border:1px solid #e0e5ea;border-radius:12px;background:#fafbfc}
.coverage-form h3{font-size:25px;line-height:1.3;letter-spacing:-.4px}
.form-intro{margin-top:9px;color:var(--muted);font-size:15px;line-height:1.8}
.coverage-interest{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:20px 0 22px;padding:11px 12px;border:1px solid #e2e6ea;border-radius:5px;background:white;font-size:14px;color:var(--muted)}
.coverage-interest strong{color:var(--ink);font-weight:600}
.coverage-interest>a{color:var(--accent);font-size:12px;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.form-field{display:flex;flex-direction:column;gap:7px;min-width:0;margin-bottom:17px}
.form-field label{font-size:14px;font-weight:600}
.optional{margin-left:3px;color:var(--muted);font-size:12px;font-weight:400}
.form-field input,.form-field select{width:100%;min-width:0;height:46px;padding:10px 12px;border:1px solid #c9d1da;border-radius:5px;background:white;font-size:16px;transition:border-color 180ms ease}
.form-field select{padding-right:23px}
.form-field input::placeholder{color:#78828c;font-size:14px;opacity:1}
.form-field input:hover,.form-field select:hover,.plan-city-field>select:hover{border-color:#8e9aa6}
.form-row{display:grid;grid-template-columns:1.2fr 1fr;gap:14px}
.coverage-form>.button{width:100%;margin-top:5px;font-size:14px}
.form-note{margin-top:13px;text-align:center;color:#65707b;font-size:13px;line-height:1.8}
.form-note a{text-decoration:underline}
.form-status{margin-top:17px;padding:13px;border:1px solid #a3bca8;border-radius:5px;color:#365c41;font-size:14px;line-height:1.8}
.form-status a{display:block;text-decoration:underline;text-underline-offset:3px}

/* A empresa, dúvidas e contato. */
.company-section{padding-top:10px}
.company-grid{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:100px;padding-top:60px;border-top:1px solid var(--line)}
.company-grid h2{margin-top:15px;font-size:35px}
.company-copy>p{max-width:68ch;color:var(--muted);font-size:17px;line-height:1.75}
.company-copy>p+p{margin-top:16px}
.company-links{display:flex;flex-wrap:wrap;align-items:center;gap:14px 26px;margin-top:22px}
.company-links>.text-link{font-size:15px}
.company-links>.text-link>.icon{width:17px;height:17px}
.faq-section{background:var(--light);border-top:1px solid #e9edf0}
.faq-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:100px}
.faq-copy h2{margin-top:14px}
.faq-copy>p:not(.eyebrow){max-width:300px;margin-top:20px;color:var(--muted);font-size:16px;line-height:1.75}
.faq-copy>.text-link{margin-top:23px;font-size:14px}
.faq-list{border-top:1px solid #d6dde4}
.faq-list>details{border-bottom:1px solid #d6dde4}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:23px 0;font-size:18px;font-weight:600;line-height:1.5;list-style:none;cursor:pointer}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary>.icon{width:17px;height:17px;stroke-width:1.8;transition:transform 180ms ease}
.faq-list details[open] summary{color:var(--accent)}
.faq-list details[open] summary>.icon{transform:rotate(45deg)}
.faq-answer{max-width:75ch;padding:0 25px 23px 0;color:var(--muted);font-size:16px;line-height:1.75}
.faq-answer a{color:var(--accent);font-weight:500;text-decoration:underline;text-underline-offset:3px}
.contact-section{padding:44px 0;background:#ffead9}
.contact-inner{display:flex;align-items:center;justify-content:space-between;gap:35px}
.contact-inner h2{font-size:29px;letter-spacing:-.7px}
.contact-inner p{margin-top:10px;color:#6a5142;font-size:16px;line-height:1.75}
.contact-inner>.button{flex-shrink:0;gap:15px}
.site-footer{background:#252a2f;color:#dce2e7}
.footer-main{display:grid;grid-template-columns:1.2fr 1fr 1.2fr .8fr;gap:44px;padding:45px 0 40px}
.footer-brand>img{width:185px;max-width:100%}
.footer-brand>p{margin-top:10px;color:#b0bac4;font-size:12px}
.footer-links,.footer-area{min-width:0;padding-top:17px}
.footer-links h3,.footer-area h3{margin-bottom:20px;color:#f3f6f8;font-size:14px;font-weight:600}
.footer-links>a{display:flex;align-items:center;gap:7px;width:fit-content;margin-top:11px;color:#bdc7d0;font-size:14px;line-height:1.6}
.footer-links>a>.icon{width:13px;height:13px}
.footer-links>a:hover,.back-top:hover{color:var(--orange)}
.footer-area p{color:#bdc7d0;font-size:14px;line-height:2.2}
.back-top{display:inline-flex;align-items:center;gap:9px;margin-top:17px;color:#bdc7d0;font-size:13px}
.back-top>.icon{width:14px;height:14px;transform:rotate(-90deg)}
.footer-bottom{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:24px;padding:23px 0 25px;border-top:1px solid #414950;color:#b5bfc9;line-height:1.6}
.footer-company{min-width:0}
.footer-company>p{color:#dce2e7;font-size:13px}
.footer-company>small{display:block;margin-top:2px;color:#a3afb9;font-size:11px}
.footer-legal{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:8px 24px;font-size:13px}
.footer-legal>button{min-height:36px;padding:6px 0;border:0;background:none;color:inherit;font-size:inherit}
.footer-legal>button:hover,.footer-bottom a:hover{color:white;text-decoration:underline;text-underline-offset:3px}
.developer-credit{justify-self:end;color:#96a2ad;font-size:10px;font-weight:400;line-height:1.6;text-align:right}
.developer-credit>a{color:inherit}
.floating-contact{position:fixed;right:22px;bottom:22px;z-index:35;display:grid;place-items:center;width:54px;height:54px;border:1px solid #178447;border-radius:50%;background:#25d366;color:#122e1c;box-shadow:0 4px 12px #172e1f15;transition:background 180ms ease,opacity 180ms ease}
.floating-contact>.icon{width:28px;height:28px}
.floating-contact:hover{background:#48dc7d}
.floating-contact.is-footer{opacity:0;visibility:hidden;pointer-events:none}
dialog{width:min(560px,calc(100% - 36px));max-height:85dvh;overflow-y:auto;padding:37px 33px 30px;border:1px solid var(--line);border-radius:10px;background:white;color:var(--ink)}
dialog::backdrop{background:#18222c99}
dialog h2{padding-right:30px;font-size:27px;letter-spacing:-.5px}
dialog p{margin-top:19px;color:var(--muted);font-size:16px;line-height:1.75}
dialog .image-credits{padding-top:16px;border-top:1px solid var(--line);font-size:13px;line-height:1.7}
.image-credits>a{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.dialog-close{position:absolute;top:10px;right:10px;display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:#f2f4f6;font-size:25px;line-height:1}

/* Texto e espaçamento acompanham a capa em monitores maiores. */
@media(min-width:1440px){
  .hero-grid{gap:clamp(56px,4vw,112px)}
  h1{font-size:clamp(56px,4vw,84px)}
  .hero-description{max-width:52ch;font-size:20px}
  .plan-card-inner{padding:32px}
  .plan-speed>strong{font-size:clamp(65px,4vw,78px)}
  .coverage-grid,.company-grid,.faq-grid{gap:clamp(100px,6vw,180px)}
}
@media(max-width:1120px){
  :root{--gutter:28px}
  .header-inner{gap:25px}
  .brand{width:151px}
  .navigation{gap:23px}
  .header-contact{font-size:13px;gap:10px}
  .hero-grid{gap:36px}
  h1{font-size:48px}
  .hero-description{font-size:17px}
  .hero-actions{gap:17px}
  .hero-actions>.button{font-size:14px;padding-inline:18px}
  .hero-support{font-size:13px}
  .quick-grid>a{padding-inline:23px;gap:13px}
  .quick-grid strong{font-size:16px}
  .quick-grid small{font-size:12px}
  .plan-cards{gap:16px}
  .plan-card-inner{padding:24px 19px 21px}
  .plan-speed>strong{font-size:60px}
  .plan-speed>span{font-size:12px}
  .plan-description{font-size:14px}
  .plan-price>strong{font-size:22px}
  .coverage-grid,.company-grid,.faq-grid{gap:65px}
  .footer-main{gap:30px}
}
@media(max-width:900px){
  :root{--gutter:25px}
  html{scroll-padding-top:106px}
  .header-inner{height:86px;gap:22px}
  .brand{width:139px;height:86px}
  .header-contact{margin-left:auto;font-size:14px}
  .menu-toggle{display:flex;align-items:center;justify-content:center;flex-direction:column;flex-shrink:0;gap:6px;width:39px;height:39px;padding:0;border:1px solid #c8d0d9;border-radius:5px;background:white}
  .menu-toggle>span{display:block;width:17px;height:1px;background:var(--ink);transition:transform 180ms ease}
  .menu-toggle[aria-expanded='true']>span:first-child{transform:translateY(3.5px) rotate(45deg)}
  .menu-toggle[aria-expanded='true']>span:last-child{transform:translateY(-3.5px) rotate(-45deg)}
  .navigation{position:absolute;top:100%;right:0;left:0;display:none;max-height:calc(100dvh - 120px);overflow:auto;margin:0;padding:10px var(--gutter) 25px;border-bottom:2px solid var(--orange);background:white}
  .navigation.is-open{display:flex;align-items:stretch;flex-direction:column;gap:0}
  .navigation>a{padding:17px 0;border-top:1px solid var(--line);font-size:18px}
  .navigation>a::after{display:none}
  .navigation .mobile-support{display:flex;align-items:center;gap:12px;color:var(--accent);font-size:15px}
  .navigation .mobile-support>.icon{width:16px;height:16px}
  .hero{padding:30px 0 26px}
  .hero-grid{gap:30px;grid-template-columns:1fr 1fr}
  h1{font-size:clamp(38px,5.4vw,44px);letter-spacing:-.02em}
  .hero-description{font-size:16px;line-height:1.7}
  .hero-copy>.eyebrow{font-size:11px;letter-spacing:.9px}
  .hero-actions{gap:16px;margin-top:23px}
  .hero-actions>.button{font-size:14px;min-height:47px;padding-inline:16px;gap:13px}
  .hero-support{font-size:13px}
  .hero-viewport{height:clamp(260px,38vw,340px)}
  .hero-photo figcaption{font-size:11px;min-height:35px}
  .carousel-meta>span{display:none}
  .quick-grid>a{padding-inline:17px;gap:11px}
  .quick-icon{width:24px;height:24px}
  .quick-grid strong{font-size:15px}
  .quick-grid small{font-size:12px}
  .quick-arrow{display:none}
  .section{padding:65px 0}
  .plans-section{padding-top:44px}
  h2{font-size:32px}
  .plans-heading{align-items:flex-start;gap:30px}
  .section-heading>div>p:not(.eyebrow){font-size:16px}
  .plan-city-field{min-width:160px}
  .plan-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
  .plan-card-inner{padding:27px 27px 23px}
  .plan-speed>strong{font-size:67px}
  .plan-speed>span{font-size:13px}
  .plan-description{font-size:15px}
  .plan-price>strong{font-size:25px}
  .plan-pick{font-size:14px}
  .coverage-grid{gap:35px}
  .coverage-copy h2{font-size:35px}
  .coverage-copy>p:not(.eyebrow){font-size:16px}
  .coverage-form{padding:28px 24px 25px}
  .coverage-form h3{font-size:24px}
  .form-row{gap:10px}
  .company-section{padding-top:0}
  .company-grid{gap:35px;padding-top:50px}
  .company-grid h2{font-size:31px}
  .company-copy>p{font-size:16px}
  .company-links>.text-link{font-size:14px;gap:7px}
  .faq-grid{gap:45px;grid-template-columns:.8fr 1.2fr}
  .faq-list summary{font-size:17px;gap:18px}
  .contact-inner h2{font-size:25px}
  .contact-inner p{font-size:15px}
  .contact-inner>.button{font-size:14px;padding-inline:18px;gap:10px}
  .contact-inner>.button>.icon:last-child{display:none}
  .footer-main{grid-template-columns:1.1fr 1fr 1.2fr;gap:25px}
  .footer-area{display:none}
  .footer-bottom{grid-template-columns:minmax(0,1fr) auto;gap:0 28px}
  .footer-company{grid-row:1/3}
  .footer-legal{justify-content:flex-end;gap:8px 20px}
  .developer-credit{grid-column:2}
}
@media(max-width:650px){
  :root{--gutter:20px}
  html{scroll-padding-top:96px}
  .utility-inner{min-height:28px;font-size:11px}
  .utility-inner .icon{width:12px;height:12px}
  .utility-inner>span,.utility-inner>a{gap:5px}
  .header-inner{height:78px;gap:15px}
  .brand{width:119px;height:78px}
  .header-contact{min-height:38px;padding:8px 0;border:0;font-size:12px;gap:7px}
  .header-contact>.icon{width:13px;height:13px}
  .menu-toggle{width:35px;height:35px}
  .navigation{max-height:calc(100dvh - 108px)}
  .hero{padding:26px 0 22px}
  .hero-grid{grid-template-columns:minmax(0,1fr);gap:22px}
  .hero-copy{padding:0}
  .hero-copy>.eyebrow{font-size:11px;letter-spacing:.9px}
  h1{margin-top:17px;font-size:44px;line-height:1.13;letter-spacing:-.02em}
  .hero-description{max-width:430px;margin-top:16px;font-size:16px;line-height:1.7}
  .hero-actions{gap:16px;margin-top:21px}
  .hero-actions>.button{min-height:49px;padding:14px 16px;font-size:15px;gap:12px}
  .hero-support{font-size:14px}
  .hero-viewport{height:clamp(180px,40vw,240px);border-radius:11px}
  .hero-photo figcaption{min-height:0;margin-top:10px;font-size:12px}
  .carousel-controls{margin-top:7px}
  .carousel-meta>span{display:block;font-size:9px}
  .quick-grid{grid-template-columns:repeat(3,minmax(0,1fr));padding:12px 0}
  .quick-grid>a{align-items:center;justify-content:flex-start;flex-direction:column;gap:7px;min-height:70px;padding:5px 8px;border-top:0;border-left:1px solid var(--line);text-align:center}
  .quick-grid>a:first-child{padding-left:8px;border-left:0}
  .quick-grid>a:last-child{padding-right:8px}
  .quick-grid strong{font-size:13px;line-height:1.3}
  .quick-grid small,.quick-arrow{display:none}
  .quick-icon{width:21px;height:21px}
  .section{padding:53px 0}
  .plans-section{padding-top:38px}
  h2{font-size:30px;line-height:1.25;letter-spacing:-.015em}
  .eyebrow{font-size:11px;letter-spacing:.9px}
  .plans-heading{display:block;margin-bottom:22px}
  .section-heading h2{margin-top:13px;max-width:410px}
  .section-heading>div>p:not(.eyebrow){margin-top:15px;font-size:16px;line-height:1.75}
  .plan-city-field{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:23px}
  .plan-city-field>label{font-size:13px}
  .plan-city-field>select{width:185px;max-width:65%;font-size:14px}
  .plans-note{font-size:13px;margin-bottom:22px;line-height:1.8}
  .plan-cards{gap:15px}
  .plan-card-inner{padding:24px 21px 21px}
  .plan-speed{display:block;margin-top:22px}
  .plan-speed>strong{font-size:61px}
  .plan-speed>span{display:block;margin-top:7px;font-size:12px;letter-spacing:1px}
  .plan-description{min-height:43px;margin-top:15px;font-size:14px}
  .plan-price{margin-top:18px;padding-top:19px}
  .plan-price>strong{font-size:22px}
  .plan-price>span{font-size:12px}
  .plan-pick{padding-inline:10px;font-size:13px;margin-top:20px}
  .plan-check{width:16px;height:16px}
  .plan-summary{display:block;margin-top:21px;padding:22px}
  .plan-summary>.button{width:100%;margin-top:17px;font-size:14px}
  .business-line{display:block;margin-top:23px;font-size:15px}
  .business-line>.text-link{margin-top:10px}
  .coverage-grid{grid-template-columns:minmax(0,1fr);gap:30px}
  .coverage-copy h2{font-size:34px;margin-top:14px}
  .coverage-copy>p:not(.eyebrow){max-width:420px;margin-top:18px;font-size:16px;line-height:1.75}
  .city-list{max-width:none;margin-top:23px;gap:10px}
  .city-list>button{min-height:54px;font-size:17px}
  .coverage-copy>.coverage-note{font-size:13px!important;margin-top:20px}
  .coverage-form{padding:28px 23px 25px}
  .coverage-form h3{font-size:25px}
  .form-intro{font-size:15px}
  .form-row{grid-template-columns:1.15fr 1fr;gap:12px}
  .form-field input,.form-field select{height:48px}
  .form-field input::placeholder{font-size:14px}
  .company-section{padding-top:0}
  .company-grid{grid-template-columns:minmax(0,1fr);gap:24px;padding-top:43px}
  .company-grid h2{font-size:30px}
  .company-copy>p{font-size:16px;line-height:1.75}
  .company-links{margin-top:21px}
  .company-links>.text-link{font-size:15px;gap:8px}
  .faq-grid{grid-template-columns:minmax(0,1fr);gap:29px}
  .faq-copy>p:not(.eyebrow){max-width:400px;margin-top:16px}
  .faq-copy>.text-link{margin-top:18px}
  .faq-list summary{padding:22px 0;font-size:18px;gap:20px}
  .faq-answer{padding:0 10px 22px 0;font-size:16px;line-height:1.75}
  .contact-section{padding:37px 0}
  .contact-inner{display:block}
  .contact-inner h2{font-size:28px;line-height:1.3}
  .contact-inner p{max-width:420px;margin-top:12px;font-size:16px;line-height:1.75}
  .contact-inner>.button{margin-top:23px;font-size:15px;padding-inline:22px;gap:15px}
  .footer-main{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 22px;padding:33px 0 32px}
  .footer-brand{grid-column:1/-1}
  .footer-brand>img{width:178px}
  .footer-brand>p{margin-top:8px;font-size:12px}
  .footer-links{padding-top:6px}
  .footer-links h3{font-size:13px;margin-bottom:19px}
  .footer-links>a{font-size:14px;margin-top:12px;gap:6px}
  .footer-links>a>.icon{width:12px;height:12px}
  .footer-bottom{grid-template-columns:minmax(0,1fr);justify-items:center;gap:5px;padding:20px 0 23px;text-align:center}
  .footer-company{grid-row:auto}
  .footer-legal{justify-content:center;gap:24px}
  .developer-credit{grid-column:auto;justify-self:center;margin-top:1px;text-align:center}
  .floating-contact{right:16px;bottom:16px;width:51px;height:51px}
  .floating-contact>.icon{width:27px;height:27px}
  dialog{padding:32px 25px 27px}
  dialog h2{font-size:25px}
}
/* Em telefones estreitos, cada plano vira uma linha completa. */
@media(max-width:500px){
  .plan-cards{grid-template-columns:minmax(0,1fr);gap:16px}
  .plan-card-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 24px;padding:23px 24px 21px}
  .plan-card-top{grid-column:1/-1;grid-row:1}
  .plan-speed{grid-column:1;grid-row:2;margin-top:19px}
  .plan-speed>strong{font-size:57px;letter-spacing:-2px}
  .plan-description{grid-column:1;grid-row:3;min-height:0;margin-top:12px;font-size:14px}
  .plan-price{grid-column:2;grid-row:2/4;align-self:center;gap:5px;margin:15px 0 0;padding:0;border:0}
  .plan-price>strong{font-size:23px;line-height:1.35}
  .plan-price>span{font-size:12px;line-height:1.7}
  .plan-pick{grid-column:1/-1;grid-row:4;min-height:41px;margin-top:20px;padding:10px 13px;font-size:14px}
}
@media(max-width:380px){
  :root{--gutter:16px}
  .utility-inner{font-size:10px;gap:10px}
  .utility-inner>span,.utility-inner>a{gap:4px}
  .header-inner{height:73px;gap:10px}
  .brand{width:109px;height:73px}
  .header-contact{font-size:11px;gap:5px}
  .header-contact>.icon{width:12px;height:12px}
  .menu-toggle{width:33px;height:33px}
  h1{font-size:38px;letter-spacing:-.02em}
  .hero-copy>.eyebrow{font-size:11px;letter-spacing:.7px}
  .hero-description{font-size:16px}
  .hero-actions{gap:16px}
  .plan-card-inner{padding-inline:21px;gap:0 20px}
  .plan-speed>strong{font-size:54px}
  .plan-price>strong{font-size:20px}
  .plan-description{font-size:13px}
  .coverage-form{padding:26px 20px 23px}
  .coverage-form h3{font-size:23px}
  .form-row{grid-template-columns:minmax(0,1fr)}
  .company-links>.text-link{font-size:14px;gap:6px}
  .contact-inner h2{font-size:26px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
