/*
Theme Name: INETSOL Oficial
Theme URI: https://example.com/
Author: INETSOL
Description: Tema institucional INETSOL 2.0 para conectividade, tecnologia e soluções residenciais, empresariais e corporativas.
Version: 2.2.1
Requires at least: 6.0
Tested up to: 6.8
Requires PHP: 7.4
Text Domain: inetsol
*/

:root {
  --inetsol-bg: #130b2f;
  --inetsol-bg-soft: #1d1142;
  --inetsol-primary: #6f46ff;
  --inetsol-primary-2: #8f6cff;
  --inetsol-accent: #23d5ab;
  --inetsol-white: #ffffff;
  --inetsol-text: #211d2d;
  --inetsol-muted: #6f6a7d;
  --inetsol-surface: #ffffff;
  --inetsol-surface-soft: #f7f5fb;
  --inetsol-border: #e9e4f4;
  --inetsol-danger: #ff5f68;
  --container: 1180px;
  --radius: 22px;
  --shadow: 0 22px 60px rgba(35, 20, 76, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--inetsol-text);
  background: var(--inetsol-white);
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
button, input, select, textarea { font: inherit; }
.container { width: min(var(--container), calc(100% - 40px)); margin-inline: auto; }
.section { padding: 88px 0; }
.section--soft { background: var(--inetsol-surface-soft); }
.section--dark { background: var(--inetsol-bg); color: var(--inetsol-white); }
.eyebrow { display:inline-flex; gap:8px; align-items:center; font-size:.78rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--inetsol-primary); }
.eyebrow::before { content:""; width:28px; height:2px; background:currentColor; border-radius:99px; }
.section-title { margin:10px 0 14px; font-size:clamp(2rem,4vw,3.3rem); line-height:1.08; letter-spacing:-.04em; }
.section-copy { max-width:720px; color:var(--inetsol-muted); font-size:1.05rem; }
.section--dark .section-copy { color:rgba(255,255,255,.72); }

.site-header { position:sticky; top:0; z-index:100; background:rgba(19,11,47,.94); backdrop-filter:blur(16px); border-bottom:1px solid rgba(255,255,255,.08); }
.header-inner { min-height:76px; display:flex; align-items:center; gap:28px; }
.site-branding { display:flex; align-items:center; min-width:max-content; }
.custom-logo-link { display:flex; align-items:center; }
.custom-logo { max-height:44px; width:auto; }
.brand-fallback { color:white; font-size:1.35rem; font-weight:900; letter-spacing:-.04em; }
.main-navigation { margin-left:auto; }
.main-navigation ul { list-style:none; display:flex; gap:22px; margin:0; padding:0; align-items:center; }
.main-navigation a { color:rgba(255,255,255,.82); font-weight:650; font-size:.92rem; transition:.2s ease; }
.main-navigation a:hover { color:white; }
.header-actions { display:flex; gap:10px; }
.menu-toggle { display:none; margin-left:auto; background:transparent; border:1px solid rgba(255,255,255,.18); color:white; border-radius:12px; padding:9px 12px; }

.btn { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:48px; padding:0 20px; border-radius:14px; font-weight:800; border:1px solid transparent; transition:.2s ease; cursor:pointer; }
.btn:hover { transform:translateY(-1px); }
.btn-primary { background:linear-gradient(135deg,var(--inetsol-primary),var(--inetsol-primary-2)); color:white; box-shadow:0 12px 28px rgba(111,70,255,.28); }
.btn-light { background:white; color:var(--inetsol-bg); }
.btn-outline { border-color:rgba(255,255,255,.22); color:white; background:transparent; }
.btn-outline-dark { border-color:var(--inetsol-border); color:var(--inetsol-text); background:white; }

.hero { position:relative; overflow:hidden; min-height:650px; display:flex; align-items:center; color:white; background:radial-gradient(circle at 75% 20%, rgba(143,108,255,.32), transparent 32%), radial-gradient(circle at 15% 85%, rgba(35,213,171,.13), transparent 30%), linear-gradient(145deg,#100827,#1a0d42 65%,#231256); }
.hero::after { content:""; position:absolute; inset:auto -150px -260px auto; width:600px; height:600px; border:1px solid rgba(255,255,255,.10); border-radius:50%; box-shadow:0 0 0 70px rgba(255,255,255,.025), 0 0 0 140px rgba(255,255,255,.018); }
.hero-grid { position:relative; z-index:2; display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:center; padding:88px 0; }
.hero h1 { margin:16px 0 22px; font-size:clamp(2.8rem,6vw,5.3rem); line-height:.98; letter-spacing:-.055em; max-width:780px; }
.hero p { margin:0; max-width:660px; color:rgba(255,255,255,.77); font-size:1.14rem; }
.hero-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.hero-badges { display:flex; flex-wrap:wrap; gap:10px; margin-top:34px; }
.hero-badge { border:1px solid rgba(255,255,255,.12); background:rgba(255,255,255,.06); padding:9px 13px; border-radius:999px; font-size:.84rem; color:rgba(255,255,255,.82); }
.hero-panel { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.12); border-radius:28px; padding:28px; box-shadow:0 30px 90px rgba(0,0,0,.28); backdrop-filter:blur(20px); }
.hero-panel strong { display:block; font-size:1.12rem; margin-bottom:14px; }
.quick-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.quick-link { padding:18px; border-radius:18px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.08); min-height:126px; display:flex; flex-direction:column; justify-content:space-between; transition:.2s ease; }
.quick-link:hover { background:rgba(255,255,255,.13); transform:translateY(-2px); }
.quick-icon { width:38px; height:38px; border-radius:12px; background:rgba(255,255,255,.14); display:grid; place-items:center; font-weight:900; }
.quick-link span:last-child { color:rgba(255,255,255,.72); font-size:.86rem; }

.trust-strip { border-bottom:1px solid var(--inetsol-border); background:white; }
.trust-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.trust-item { padding:23px 20px; border-right:1px solid var(--inetsol-border); }
.trust-item:last-child { border-right:0; }
.trust-item b { display:block; font-size:.96rem; }
.trust-item span { display:block; font-size:.82rem; color:var(--inetsol-muted); margin-top:2px; }

.cards { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; margin-top:38px; }
.card { background:white; border:1px solid var(--inetsol-border); border-radius:var(--radius); padding:28px; box-shadow:0 8px 24px rgba(31,19,65,.05); }
.card h3 { margin:14px 0 10px; font-size:1.28rem; }
.card p { margin:0; color:var(--inetsol-muted); }
.icon-box { width:48px; height:48px; border-radius:15px; display:grid; place-items:center; background:#efeaff; color:var(--inetsol-primary); font-weight:900; }
.inetsol-svg-icon { width:24px; height:24px; display:block; flex:0 0 auto; }
.quick-icon .inetsol-svg-icon { width:20px; height:20px; }
.icon-box .inetsol-svg-icon, .coverage-location-icon .inetsol-svg-icon { width:25px; height:25px; }
.whatsapp-float .inetsol-svg-icon { width:27px; height:27px; }

.plan-tabs { display:flex; gap:8px; padding:6px; background:var(--inetsol-surface-soft); border:1px solid var(--inetsol-border); width:max-content; border-radius:14px; margin-top:34px; }
.plan-tab { border:0; background:transparent; color:var(--inetsol-muted); padding:10px 16px; border-radius:10px; font-weight:800; cursor:pointer; }
.plan-tab.is-active { background:white; color:var(--inetsol-text); box-shadow:0 5px 18px rgba(29,17,66,.08); }
.plan-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:16px; margin-top:24px; }
.plan-grid[data-plan-group="business"] { grid-template-columns:repeat(3,1fr); }
.plan-card { position:relative; border:1px solid var(--inetsol-border); border-radius:22px; padding:24px; background:white; display:flex; flex-direction:column; min-height:410px; }
.plan-card.featured { border-color:rgba(111,70,255,.45); box-shadow:0 20px 55px rgba(111,70,255,.13); }
.plan-card .tag { position:absolute; top:14px; right:14px; background:#efeaff; color:var(--inetsol-primary); padding:6px 9px; border-radius:999px; font-size:.69rem; font-weight:900; text-transform:uppercase; letter-spacing:.05em; }
.plan-card h3 { margin:0 0 6px; font-size:1.08rem; }
.plan-speed { font-size:1.72rem; font-weight:950; letter-spacing:-.04em; margin-bottom:16px; }
.plan-price { margin:8px 0 18px; }
.plan-price small { color:var(--inetsol-muted); display:block; }
.plan-price strong { display:block; font-size:1.72rem; letter-spacing:-.04em; }
.plan-features { list-style:none; padding:0; margin:0 0 24px; display:grid; gap:10px; color:var(--inetsol-muted); font-size:.9rem; }
.plan-features li::before { content:"✓"; color:var(--inetsol-primary); font-weight:900; margin-right:8px; }
.plan-card .btn { margin-top:auto; width:100%; }

.coverage-box { display:grid; grid-template-columns:.9fr 1.1fr; gap:38px; align-items:stretch; margin-top:36px; }
.coverage-info { border-radius:28px; padding:34px; background:linear-gradient(145deg,var(--inetsol-bg-soft),#2b1764); color:white; }
.coverage-info h3 { font-size:1.7rem; margin:0 0 12px; }
.coverage-info p { color:rgba(255,255,255,.73); }
.coverage-form { background:white; border:1px solid var(--inetsol-border); border-radius:28px; padding:34px; box-shadow:var(--shadow); }
.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.form-field { display:grid; gap:7px; }
.form-field.full { grid-column:1/-1; }
.form-field label { font-size:.83rem; font-weight:800; }
.form-field input, .form-field select, .form-field textarea { width:100%; border:1px solid #dcd6e9; border-radius:12px; padding:12px 13px; outline:none; background:white; }
.form-field input:focus, .form-field textarea:focus { border-color:var(--inetsol-primary); box-shadow:0 0 0 3px rgba(111,70,255,.10); }
.form-note { color:var(--inetsol-muted); font-size:.8rem; margin-top:10px; }

.cta-panel { border-radius:30px; padding:42px; background:linear-gradient(135deg,#6f46ff,#4e2cc8); color:white; display:flex; align-items:center; justify-content:space-between; gap:30px; box-shadow:0 30px 70px rgba(80,44,200,.23); }
.cta-panel h2 { margin:0 0 8px; font-size:clamp(1.8rem,3vw,2.7rem); letter-spacing:-.04em; }
.cta-panel p { margin:0; color:rgba(255,255,255,.78); }

.faq { display:grid; gap:12px; margin-top:34px; }
.faq details { border:1px solid var(--inetsol-border); border-radius:16px; background:white; padding:18px 20px; }
.faq summary { cursor:pointer; font-weight:800; }
.faq p { color:var(--inetsol-muted); margin:12px 0 0; }

.page-hero { background:linear-gradient(140deg,#120a2d,#241052); color:white; padding:76px 0 70px; }
.page-hero h1 { margin:8px 0 14px; font-size:clamp(2.4rem,5vw,4.2rem); letter-spacing:-.05em; }
.page-hero p { color:rgba(255,255,255,.74); max-width:760px; }
.page-content { padding:72px 0; }
.entry-content > * { max-width:840px; }
.entry-content > .alignwide { max-width:var(--container); }

.site-footer { background:#0d071f; color:white; padding:58px 0 28px; }
.footer-grid { display:grid; grid-template-columns:1.3fr .7fr .7fr .9fr; gap:36px; }
.footer-brand p { color:rgba(255,255,255,.58); max-width:380px; }
.footer-title { font-weight:900; margin-bottom:12px; }
.footer-links { list-style:none; margin:0; padding:0; display:grid; gap:9px; color:rgba(255,255,255,.65); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.09); margin-top:40px; padding-top:22px; display:flex; justify-content:space-between; gap:20px; color:rgba(255,255,255,.45); font-size:.82rem; }

.whatsapp-float { position:fixed; right:22px; bottom:22px; z-index:90; width:56px; height:56px; border-radius:18px; background:#21c063; color:white; display:grid; place-items:center; font-size:1.25rem; font-weight:900; box-shadow:0 16px 40px rgba(20,160,80,.3); }

@media (max-width: 1080px) {
  .header-actions { display:none; }
  .plan-grid { grid-template-columns:repeat(3,1fr); }
  .cards { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 860px) {
  .main-navigation { position:absolute; top:76px; left:0; right:0; background:#130b2f; padding:18px 20px 24px; display:none; border-top:1px solid rgba(255,255,255,.08); }
  .main-navigation.is-open { display:block; }
  .main-navigation ul { flex-direction:column; align-items:flex-start; }
  .menu-toggle { display:block; }
  .hero-grid, .coverage-box, .footer-grid { grid-template-columns:1fr; }
  .hero { min-height:auto; }
  .trust-grid { grid-template-columns:1fr 1fr; }
  .trust-item:nth-child(2) { border-right:0; }
  .plan-grid, .plan-grid[data-plan-group="business"] { grid-template-columns:repeat(2,1fr); }
  .cta-panel { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 620px) {
  .container { width:min(var(--container), calc(100% - 26px)); }
  .section { padding:64px 0; }
  .hero-grid { padding:66px 0; gap:32px; }
  .hero h1 { font-size:2.8rem; }
  .quick-grid, .cards, .plan-grid, .plan-grid[data-plan-group="business"], .form-grid, .trust-grid { grid-template-columns:1fr; }
  .trust-item { border-right:0; border-bottom:1px solid var(--inetsol-border); }
  .trust-item:last-child { border-bottom:0; }
  .plan-tabs { width:100%; }
  .plan-tab { flex:1; }
  .coverage-form, .coverage-info, .cta-panel { padding:25px; }
  .footer-bottom { flex-direction:column; }
}


/* Cobertura: cidades atendidas */
.coverage-areas-section { background:#fff; }
.coverage-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; margin-bottom:34px; }
.coverage-heading h2 { margin:8px 0 10px; font-size:clamp(2rem,4vw,3.25rem); line-height:1.06; letter-spacing:-.045em; max-width:760px; }
.coverage-heading p { margin:0; color:var(--inetsol-muted); max-width:760px; }
.coverage-location-card, .coverage-empty-state { border:1px solid var(--inetsol-border); border-radius:24px; background:white; }
.coverage-location-card { padding:30px; display:grid; grid-template-columns:auto 1fr; gap:18px; min-height:100%; box-shadow:0 10px 35px rgba(31,19,65,.06); }
.coverage-location-card--cities { background:linear-gradient(145deg,#fbfaff,#f4f0ff); }
.coverage-location-card--full { width:100%; }
.coverage-location-icon { width:48px; height:48px; border-radius:15px; display:grid; place-items:center; flex:0 0 48px; background:#e9e2ff; color:var(--inetsol-primary); font-weight:950; font-size:1.3rem; }
.coverage-location-kicker { display:block; color:var(--inetsol-primary); text-transform:uppercase; letter-spacing:.075em; font-size:.72rem; font-weight:950; margin-bottom:6px; }
.coverage-location-card h3, .coverage-empty-state h3 { margin:0 0 15px; font-size:1.35rem; }
.coverage-chip-list { display:flex; flex-wrap:wrap; gap:8px; }
.coverage-chip { display:inline-flex; align-items:center; min-height:34px; padding:6px 11px; border-radius:999px; background:white; border:1px solid #dfd7f3; color:#3a3150; font-size:.84rem; font-weight:800; }
.coverage-disclaimer { margin:24px 0 0; padding:16px 18px; border-radius:15px; border:1px solid var(--inetsol-border); background:var(--inetsol-surface-soft); color:var(--inetsol-muted); font-size:.9rem; }
.coverage-disclaimer strong { color:var(--inetsol-text); }
.coverage-empty-state { display:flex; align-items:center; gap:18px; padding:28px; }
.coverage-empty-state > div:nth-child(2) { flex:1; }
.coverage-empty-state p { margin:0; color:var(--inetsol-muted); }
.coverage-check-list { list-style:none; padding:0; margin:24px 0 0; display:grid; gap:11px; color:rgba(255,255,255,.78); }
.coverage-check-list li::before { content:"✓"; display:inline-grid; place-items:center; width:22px; height:22px; margin-right:9px; border-radius:50%; background:rgba(255,255,255,.12); color:white; font-weight:900; }

@media (max-width: 860px) {
  .coverage-heading { align-items:flex-start; flex-direction:column; }
}
@media (max-width: 620px) {
  .coverage-location-card { grid-template-columns:1fr; }
  .coverage-empty-state { align-items:flex-start; flex-direction:column; }
}


/* v1.2 — Separação real entre planos residenciais e empresariais */
.plan-choice-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin-top:38px; }
.plan-choice-card { background:#fff; border:1px solid var(--inetsol-border); border-radius:28px; padding:34px; box-shadow:0 12px 34px rgba(31,19,65,.06); display:flex; flex-direction:column; align-items:flex-start; }
.plan-choice-card--business { background:linear-gradient(145deg,#fff,#f4f0ff); border-color:rgba(111,70,255,.28); }
.plan-choice-card h3 { margin:10px 0 8px; font-size:1.65rem; }
.plan-choice-card p { color:var(--inetsol-muted); margin:0; }
.plan-choice-card .btn { margin-top:auto; }
.plan-choice-points { list-style:none; padding:0; margin:22px 0 28px; display:grid; gap:9px; color:var(--inetsol-muted); }
.plan-choice-points li::before { content:"✓"; color:var(--inetsol-primary); font-weight:900; margin-right:8px; }
.plan-grid--business { grid-template-columns:repeat(3,1fr); }
.plan-grid--residential { grid-template-columns:repeat(5,1fr); }
.plan-price-normal { font-size:1.05rem !important; color:var(--inetsol-muted); text-decoration:line-through; margin-bottom:7px; font-weight:750; }

@media (max-width: 1000px) {
  .plan-grid--residential, .plan-grid--business { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 680px) {
  .plan-choice-grid, .plan-grid--residential, .plan-grid--business { grid-template-columns:1fr; }
}


/* v1.3 — Serviços de tecnologia */
.service-heading-row { display:flex; justify-content:space-between; align-items:flex-end; gap:28px; }
.service-heading-row > div { max-width:780px; }
.service-feature-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; margin-top:36px; }
.service-feature-card { position:relative; overflow:hidden; min-height:310px; padding:30px; border:1px solid var(--inetsol-border); border-radius:26px; background:linear-gradient(145deg,#fff,#faf8ff); display:flex; flex-direction:column; }
.service-feature-card::after { content:""; position:absolute; width:150px; height:150px; right:-70px; top:-70px; border-radius:50%; background:rgba(111,70,255,.07); }
.service-feature-card h3 { margin:42px 0 12px; font-size:1.45rem; }
.service-feature-card p { margin:0 0 24px; color:var(--inetsol-muted); }
.service-feature-card a { margin-top:auto; color:var(--inetsol-primary); font-weight:900; }
.service-number { display:inline-flex; align-items:center; justify-content:center; width:42px; height:32px; border-radius:999px; background:#efeaff; color:var(--inetsol-primary); font-size:.76rem; font-weight:950; }
.service-detail-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:38px; }
.service-detail-card { border:1px solid var(--inetsol-border); border-radius:28px; background:white; padding:30px; display:flex; flex-direction:column; box-shadow:0 10px 34px rgba(31,19,65,.05); }
.service-detail-top { display:flex; justify-content:space-between; align-items:center; }
.service-detail-card h3 { margin:20px 0 12px; font-size:1.48rem; }
.service-detail-card > p { color:var(--inetsol-muted); margin:0; }
.service-list { list-style:none; padding:0; margin:24px 0 28px; display:grid; gap:10px; color:var(--inetsol-muted); font-size:.92rem; }
.service-list li::before { content:"✓"; color:var(--inetsol-primary); font-weight:950; margin-right:8px; }
.service-detail-card .btn { margin-top:auto; }
.service-process { display:grid; grid-template-columns:.95fr 1.05fr; gap:50px; align-items:start; }
.process-list { list-style:none; counter-reset:service-process; padding:0; margin:0; display:grid; gap:14px; }
.process-list li { counter-increment:service-process; position:relative; padding:20px 20px 20px 64px; border:1px solid var(--inetsol-border); border-radius:18px; background:white; }
.process-list li::before { content:counter(service-process, decimal-leading-zero); position:absolute; left:18px; top:19px; width:32px; height:32px; display:grid; place-items:center; border-radius:10px; background:#efeaff; color:var(--inetsol-primary); font-size:.72rem; font-weight:950; }
.process-list strong, .process-list span { display:block; }
.process-list span { margin-top:3px; color:var(--inetsol-muted); font-size:.9rem; }

@media (max-width: 900px) {
  .service-heading-row { align-items:flex-start; flex-direction:column; }
  .service-feature-grid, .service-detail-grid { grid-template-columns:1fr; }
  .service-process { grid-template-columns:1fr; }
}


/* v1.7 — acabamento visual e rodapé premium */
.hero-panel--premium { padding:14px; }
.hero-panel--premium .quick-title { padding:12px 12px 4px; margin:0; font-size:.92rem; color:rgba(255,255,255,.78); }
.hero-visual { position:relative; overflow:hidden; min-height:250px; margin-bottom:10px; border-radius:20px; border:1px solid rgba(255,255,255,.10); background:radial-gradient(circle at 68% 24%,rgba(143,108,255,.72),transparent 25%),radial-gradient(circle at 25% 76%,rgba(35,213,171,.26),transparent 27%),linear-gradient(145deg,#241052,#140a31); }
.hero-visual::before { content:""; position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.045) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.045) 1px,transparent 1px); background-size:34px 34px; mask-image:linear-gradient(to bottom,black,transparent 92%); }
.hero-visual--image { background-size:cover!important; background-position:center!important; }
.hero-visual--image::before { display:none; }
.network-orbit { position:absolute; border:1px solid rgba(255,255,255,.15); border-radius:50%; }
.network-orbit--one { width:220px; height:220px; right:-38px; top:-54px; box-shadow:0 0 0 34px rgba(255,255,255,.025); }
.network-orbit--two { width:150px; height:150px; left:-42px; bottom:-58px; box-shadow:0 0 0 28px rgba(35,213,171,.035); }
.network-node { position:absolute; width:52px; height:52px; border-radius:17px; display:grid; place-items:center; color:white; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(12px); box-shadow:0 18px 34px rgba(0,0,0,.18); }
.network-node .inetsol-svg-icon { width:24px; height:24px; }
.network-node--wifi { right:38px; top:36px; }
.network-node--building { left:44px; top:76px; }
.network-node--code { right:106px; bottom:54px; }
.hero-visual-copy { position:absolute; z-index:2; left:24px; right:24px; bottom:22px; display:grid; gap:5px; }
.hero-visual-copy span { color:rgba(255,255,255,.68); font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; font-weight:850; }
.hero-visual-copy strong { margin:0; max-width:310px; font-size:1.2rem; line-height:1.18; }
.hero-panel--premium .quick-link { min-height:108px; }

.prefooter-showcase { position:relative; overflow:hidden; padding:78px 0 72px; color:white; background:radial-gradient(circle at 10% 10%,rgba(35,213,171,.15),transparent 22%),radial-gradient(circle at 85% 5%,rgba(143,108,255,.38),transparent 30%),linear-gradient(145deg,#170b39,#29105e); }
.prefooter-showcase::after { content:""; position:absolute; width:520px; height:520px; border:1px solid rgba(255,255,255,.08); border-radius:50%; right:-250px; bottom:-330px; box-shadow:0 0 0 70px rgba(255,255,255,.018),0 0 0 140px rgba(255,255,255,.012); }
.prefooter-showcase .container { position:relative; z-index:2; }
.prefooter-heading { display:flex; align-items:end; justify-content:space-between; gap:28px; margin-bottom:30px; }
.prefooter-heading .eyebrow { color:#c9bbff; }
.prefooter-heading h2 { max-width:760px; margin:10px 0 0; font-size:clamp(2rem,4vw,3.35rem); line-height:1.05; letter-spacing:-.045em; }
.visual-ribbon { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.visual-tile { position:relative; overflow:hidden; min-height:210px; padding:24px; border-radius:22px; border:1px solid rgba(255,255,255,.11); display:flex; flex-direction:column; justify-content:space-between; transition:transform .2s ease,border-color .2s ease; }
.visual-tile:hover { transform:translateY(-3px); border-color:rgba(255,255,255,.25); }
.visual-tile::before { content:""; position:absolute; width:160px; height:160px; right:-70px; top:-70px; border-radius:50%; background:rgba(255,255,255,.07); box-shadow:0 0 0 28px rgba(255,255,255,.025); }
.visual-tile--fiber { background:linear-gradient(145deg,rgba(111,70,255,.6),rgba(46,27,98,.7)); }
.visual-tile--business { background:linear-gradient(145deg,rgba(75,52,157,.68),rgba(27,17,64,.78)); }
.visual-tile--network { background:linear-gradient(145deg,rgba(35,213,171,.17),rgba(34,26,77,.78)); }
.visual-tile--digital { background:linear-gradient(145deg,rgba(143,108,255,.38),rgba(25,13,59,.82)); }
.visual-tile-icon { width:48px; height:48px; border-radius:15px; display:grid; place-items:center; background:rgba(255,255,255,.12); border:1px solid rgba(255,255,255,.12); }
.visual-tile-icon .inetsol-svg-icon { width:24px; height:24px; }
.visual-tile span:last-child { position:relative; z-index:2; display:grid; gap:3px; }
.visual-tile small { color:rgba(255,255,255,.58); text-transform:uppercase; letter-spacing:.07em; font-weight:800; font-size:.68rem; }
.visual-tile strong { max-width:190px; font-size:1.05rem; line-height:1.25; }

.site-footer { background:#0a0518; padding:64px 0 26px; }
.footer-grid--premium { grid-template-columns:1.35fr .85fr .75fr 1fr; }
.footer-brand .custom-logo { max-height:50px; }
.footer-brand p { margin:20px 0 0; color:rgba(255,255,255,.6); line-height:1.7; }
.footer-title { color:white; font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.footer-links a { transition:.2s ease; }
.footer-links a:hover { color:white; padding-left:2px; }
.footer-social { display:flex; gap:9px; margin-top:22px; }
.footer-social a { width:40px; height:40px; display:grid; place-items:center; border-radius:12px; color:white; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.055); transition:.2s ease; }
.footer-social a:hover { background:rgba(255,255,255,.1); transform:translateY(-2px); }
.footer-social .inetsol-svg-icon { width:19px; height:19px; }
.footer-contact-list li { display:flex; gap:9px; align-items:flex-start; }
.footer-contact-list .inetsol-svg-icon { width:16px; height:16px; margin-top:4px; flex:0 0 16px; color:#a894ff; }
.footer-bottom { align-items:center; }

@media (max-width: 980px) {
  .visual-ribbon { grid-template-columns:repeat(2,1fr); }
  .footer-grid--premium { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 680px) {
  .prefooter-showcase { padding:62px 0; }
  .prefooter-heading { align-items:flex-start; flex-direction:column; }
  .visual-ribbon { grid-template-columns:1fr; }
  .visual-tile { min-height:170px; }
  .footer-grid--premium { grid-template-columns:1fr; }
  .hero-panel--premium { padding:10px; }
  .hero-visual { min-height:220px; }
}

/* =========================================================
   INETSOL 2.0 — posicionamento, arquitetura e acabamento
   ========================================================= */
:root {
  --inetsol-bg: #100721;
  --inetsol-bg-soft: #1b0d3b;
  --inetsol-primary: #6d43f2;
  --inetsol-primary-2: #8b68ff;
  --inetsol-accent: #5fddc7;
  --inetsol-text: #201b2c;
  --inetsol-muted: #6f687b;
  --inetsol-surface-soft: #f7f5fb;
  --inetsol-border: #e8e2f1;
}

.site-header--v2 .header-inner { min-height:78px; gap:22px; }
.site-header--v2 .main-navigation ul { gap:17px; }
.site-header--v2 .main-navigation a { font-size:.86rem; font-weight:730; }
.header-coverage-link { color:rgba(255,255,255,.76); font-size:.82rem; font-weight:800; white-space:nowrap; }
.header-coverage-link:hover { color:white; }
.btn-header { min-height:42px; padding-inline:15px; border-radius:12px; font-size:.82rem; white-space:nowrap; }
.eyebrow--light { color:#cbbcff; }

.hero--v2 { min-height:720px; background:radial-gradient(circle at 78% 12%,rgba(137,100,255,.34),transparent 28%),radial-gradient(circle at 8% 90%,rgba(95,221,199,.10),transparent 27%),linear-gradient(145deg,#0d061c,#190b38 55%,#261054); }
.hero--v2::before { content:""; position:absolute; inset:0; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:54px 54px; mask-image:linear-gradient(to bottom,rgba(0,0,0,.75),transparent 92%); }
.hero-grid--v2 { grid-template-columns:1.02fr .98fr; gap:64px; padding:96px 0 92px; }
.hero-copy-v2 h1 { max-width:720px; font-size:clamp(3.15rem,6.3vw,5.65rem); }
.hero-copy-v2 p { max-width:620px; font-size:1.12rem; }
.hero-panel--v2 { background:rgba(255,255,255,.055); }
.hero-panel--v2 .hero-visual--v2 { min-height:350px; }
.hero-panel--v2 .quick-grid--v2 { grid-template-columns:1fr 1fr; }
.hero-panel--v2 .quick-link { min-height:105px; }
.network-node--shield { left:126px; bottom:26px; }
.hero-visual-copy--v2 strong { max-width:390px; font-size:1.42rem; }
.hero-visual-copy--v2 span { letter-spacing:.12em; }

.brand-signature-strip { border-bottom:1px solid var(--inetsol-border); background:#fff; }
.brand-signature-inner { min-height:82px; display:grid; grid-template-columns:1.4fr repeat(3,1fr); align-items:center; }
.brand-signature-inner > * { padding:20px 24px; border-right:1px solid var(--inetsol-border); }
.brand-signature-inner > *:last-child { border-right:0; }
.brand-signature-inner strong { font-size:1rem; letter-spacing:.08em; }
.brand-signature-inner span { color:var(--inetsol-muted); font-size:.88rem; font-weight:750; }

.section--intro-v2 { padding-top:104px; }
.section-heading-split { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr); gap:58px; align-items:end; }
.section-heading-split .section-title { max-width:760px; margin-bottom:0; }
.section-heading-split .section-copy { margin:0; }
.section-heading-split--dark .section-copy { color:rgba(255,255,255,.66); }

.division-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-top:44px; }
.division-card { position:relative; overflow:hidden; min-height:330px; padding:34px; border:1px solid var(--inetsol-border); border-radius:28px; background:#fff; box-shadow:0 14px 44px rgba(35,20,76,.06); display:flex; flex-direction:column; align-items:flex-start; transition:.22s ease; }
.division-card:hover { transform:translateY(-4px); box-shadow:0 22px 52px rgba(35,20,76,.10); border-color:rgba(109,67,242,.28); }
.division-card::after { content:""; position:absolute; width:180px; height:180px; right:-90px; top:-80px; border-radius:50%; background:rgba(109,67,242,.06); box-shadow:0 0 0 36px rgba(109,67,242,.018); }
.division-card--business { background:linear-gradient(145deg,#fff,#f7f3ff); }
.division-card--solutions { background:linear-gradient(145deg,#fff,#f5fbfa); }
.division-card--corporate { background:linear-gradient(145deg,#17102a,#27134e); border-color:rgba(255,255,255,.08); color:white; }
.division-card--corporate::after { background:rgba(255,255,255,.055); }
.division-card--corporate p { color:rgba(255,255,255,.64); }
.division-icon { width:54px; height:54px; display:grid; place-items:center; border-radius:17px; background:#eee8ff; color:var(--inetsol-primary); }
.division-card--corporate .division-icon { background:rgba(255,255,255,.1); color:#cbbcff; }
.division-label { margin-top:30px; color:var(--inetsol-primary); text-transform:uppercase; letter-spacing:.08em; font-size:.7rem; font-weight:900; }
.division-card--corporate .division-label { color:#cbbcff; }
.division-card h3 { margin:9px 0 10px; max-width:510px; font-size:1.65rem; line-height:1.15; letter-spacing:-.025em; }
.division-card p { margin:0; color:var(--inetsol-muted); max-width:520px; }
.division-link { margin-top:auto; padding-top:24px; font-weight:900; font-size:.88rem; }

.tech-pillar-section { background:radial-gradient(circle at 90% 10%,rgba(109,67,242,.28),transparent 30%),linear-gradient(145deg,#0b0618,#160b31); }
.pillar-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; margin-top:42px; }
.pillar-card { min-height:230px; padding:28px; border:1px solid rgba(255,255,255,.09); border-radius:22px; background:rgba(255,255,255,.045); }
.pillar-card > span { width:46px; height:46px; display:grid; place-items:center; border-radius:14px; background:rgba(255,255,255,.085); color:#cbbcff; }
.pillar-card h3 { margin:32px 0 8px; font-size:1.16rem; }
.pillar-card p { margin:0; color:rgba(255,255,255,.62); font-size:.9rem; }

.plan-choice-grid--v2 { margin-top:44px; }
.plan-choice-card--v2 { min-height:440px; }
.plan-choice-card--v2 h3 { font-size:1.72rem; }
.plan-choice-top { width:100%; display:flex; align-items:center; justify-content:space-between; gap:18px; }
.plan-family { display:block; margin-bottom:8px; color:var(--inetsol-primary); font-size:.66rem; font-weight:900; text-transform:uppercase; letter-spacing:.07em; }
.plan-grid--residential .plan-card, .plan-grid--business .plan-card { min-height:470px; box-shadow:0 10px 28px rgba(35,20,76,.045); }
.plan-card.featured { transform:translateY(-4px); }

.solutions-highlight { background:#fff; }
.solutions-highlight-grid { display:grid; grid-template-columns:.92fr 1.08fr; gap:74px; align-items:center; }
.solution-stack { display:grid; gap:12px; }
.solution-row { display:grid; grid-template-columns:52px 1fr; gap:16px; align-items:center; padding:20px; border:1px solid var(--inetsol-border); border-radius:18px; background:linear-gradient(145deg,#fff,#fbfaff); }
.solution-row > span { width:48px; height:48px; display:grid; place-items:center; border-radius:14px; background:#eee8ff; color:var(--inetsol-primary); }
.solution-row strong,.solution-row small { display:block; }
.solution-row small { margin-top:3px; color:var(--inetsol-muted); line-height:1.45; }

.coverage-section-v2 { background:linear-gradient(180deg,#fff,#faf8fd); }
.coverage-box--v2 .coverage-info { background:radial-gradient(circle at 85% 5%,rgba(139,104,255,.32),transparent 30%),linear-gradient(145deg,#150a31,#281256); }
.coverage-step { display:inline-grid; min-width:38px; height:28px; place-items:center; padding:0 9px; margin-top:15px; border-radius:999px; background:rgba(255,255,255,.1); color:#cbbcff; font-size:.68rem; font-weight:900; }
.coverage-info .coverage-step:first-child { margin-top:0; }
.coverage-box--v2 .coverage-info h3 { margin:8px 0 2px; font-size:1.22rem; }
.coverage-box--v2 .coverage-info p { margin:0 0 8px; font-size:.9rem; }

.client-area-v2 { background:linear-gradient(145deg,#0b0618,#160b31); }
.client-action-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:40px; }
.client-action-card { min-height:210px; padding:26px; border:1px solid rgba(255,255,255,.09); border-radius:22px; background:rgba(255,255,255,.045); display:flex; flex-direction:column; }
.client-action-card > span { width:45px; height:45px; display:grid; place-items:center; border-radius:14px; background:rgba(255,255,255,.09); color:#cbbcff; }
.client-action-card strong { margin-top:32px; font-size:1.08rem; }
.client-action-card small { margin-top:5px; color:rgba(255,255,255,.58); }

.final-cta-v2 { padding-top:72px; }
.cta-panel--v2 { background:radial-gradient(circle at 92% 15%,rgba(255,255,255,.13),transparent 25%),linear-gradient(135deg,#6d43f2,#4825af); }
.cta-actions-v2 { display:flex; gap:10px; flex-wrap:wrap; }

.page-hero--v2 { position:relative; overflow:hidden; padding:92px 0 84px; background:radial-gradient(circle at 82% 14%,rgba(139,104,255,.31),transparent 30%),linear-gradient(145deg,#0e071f,#221047); }
.page-hero--v2::after { content:""; position:absolute; width:460px; height:460px; border:1px solid rgba(255,255,255,.08); border-radius:50%; right:-230px; bottom:-300px; box-shadow:0 0 0 55px rgba(255,255,255,.014); }
.page-hero-grid-v2 { position:relative; z-index:2; display:grid; grid-template-columns:1.15fr .85fr; gap:60px; align-items:center; }
.page-hero--v2 h1 { max-width:820px; font-size:clamp(2.8rem,5vw,4.7rem); line-height:1.01; }
.page-hero-aside-v2 { padding:30px; border-radius:24px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.055); backdrop-filter:blur(14px); }
.page-hero-aside-v2 strong { display:block; margin-bottom:10px; font-size:1.25rem; }
.page-hero-aside-v2 p { margin:0; font-size:.96rem; }
.corp-kicker { display:inline-block; margin-bottom:18px; padding:7px 10px; border-radius:999px; background:rgba(255,255,255,.09); color:#cbbcff; font-size:.68rem; font-weight:900; text-transform:uppercase; letter-spacing:.08em; }

.cards--v2 .card { min-height:245px; }
.cards--v2 .card h3 { margin-top:28px; }
.business-diagnostic-v2 { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:start; }
.diagnostic-list-v2 { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.diagnostic-list-v2 span { padding:18px 18px 18px 44px; position:relative; border:1px solid var(--inetsol-border); border-radius:16px; background:#fff; font-size:.88rem; font-weight:720; }
.diagnostic-list-v2 span::before { content:"✓"; position:absolute; left:17px; color:var(--inetsol-primary); font-weight:950; }
.service-detail-grid--v2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.service-detail-card--corporate { background:linear-gradient(145deg,#fff,#f7f3ff); }

.prefooter-showcase--v2 { background:radial-gradient(circle at 9% 8%,rgba(95,221,199,.11),transparent 22%),radial-gradient(circle at 86% 7%,rgba(139,104,255,.34),transparent 30%),linear-gradient(145deg,#110725,#25104e); }

@media (max-width:1180px) {
  .site-header--v2 .main-navigation ul { gap:12px; }
  .site-header--v2 .main-navigation a { font-size:.8rem; }
  .header-actions { display:none; }
}
@media (max-width:960px) {
  .section-heading-split,.solutions-highlight-grid,.business-diagnostic-v2,.page-hero-grid-v2 { grid-template-columns:1fr; gap:30px; }
  .pillar-grid { grid-template-columns:repeat(2,1fr); }
  .client-action-grid { grid-template-columns:1fr; }
  .service-detail-grid--v2 { grid-template-columns:1fr; }
  .page-hero-aside-v2 { max-width:680px; }
}
@media (max-width:860px) {
  .site-header--v2 .main-navigation ul { gap:0; }
  .brand-signature-inner { grid-template-columns:1fr 1fr; }
  .brand-signature-inner > * { border-bottom:1px solid var(--inetsol-border); }
  .brand-signature-inner > *:nth-child(2) { border-right:0; }
  .division-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
  .hero--v2 { min-height:auto; }
  .hero-grid--v2 { padding:70px 0 62px; gap:34px; }
  .hero-copy-v2 h1 { font-size:2.85rem; }
  .hero-panel--v2 .hero-visual--v2 { min-height:270px; }
  .hero-panel--v2 .quick-grid--v2 { grid-template-columns:1fr; }
  .brand-signature-inner { grid-template-columns:1fr; }
  .brand-signature-inner > * { border-right:0; }
  .section-heading-split { gap:20px; }
  .division-card { min-height:300px; padding:27px; }
  .pillar-grid { grid-template-columns:1fr; }
  .diagnostic-list-v2 { grid-template-columns:1fr; }
  .page-hero--v2 { padding:68px 0 62px; }
  .page-hero--v2 h1 { font-size:2.65rem; }
  .cta-actions-v2 { width:100%; }
  .cta-actions-v2 .btn { width:100%; }
}

/* =========================================================
   INETSOL 2.1 — RESPONSIVIDADE MOBILE RECONSTRUÍDA
   Mantido no final do CSS para prevalecer sobre regras legadas.
   ========================================================= */
html, body { max-width:100%; overflow-x:hidden; }
.hero-copy-v2, .hero-panel--v2, .section-heading-split > *, .solutions-highlight-grid > *, .business-diagnostic-v2 > *, .page-hero-grid-v2 > * { min-width:0; }

@media (max-width: 960px) {
  .container { width:min(var(--container), calc(100% - 32px)); }

  /* Cabeçalho */
  .site-header--v2 .header-inner { min-height:72px; gap:12px; }
  .site-branding { min-width:0; flex:1 1 auto; }
  .custom-logo-link { max-width:100%; }
  .custom-logo { max-width:220px; max-height:40px; object-fit:contain; }
  .brand-fallback { font-size:1.2rem; }
  .menu-toggle { display:block; flex:0 0 auto; margin-left:auto; min-height:44px; padding:8px 14px; font-size:1rem; }
  .site-header--v2 .main-navigation {
    position:absolute;
    top:72px;
    left:0;
    right:0;
    display:none;
    width:100%;
    max-height:calc(100vh - 72px);
    overflow-y:auto;
    padding:14px 16px 20px;
    background:rgba(16,7,33,.985);
    border-top:1px solid rgba(255,255,255,.08);
    box-shadow:0 20px 40px rgba(0,0,0,.24);
  }
  .site-header--v2 .main-navigation.is-open { display:block; }
  .site-header--v2 .main-navigation ul { width:100%; flex-direction:column; align-items:stretch; gap:0; }
  .site-header--v2 .main-navigation li { width:100%; }
  .site-header--v2 .main-navigation a { display:block; width:100%; padding:12px 6px; font-size:.96rem; border-bottom:1px solid rgba(255,255,255,.07); }
  .site-header--v2 .main-navigation li:last-child a { border-bottom:0; }
  .header-actions { display:none!important; }

  /* Hero: uma única coluna no tablet e celular */
  .hero--v2 { min-height:auto; display:block; }
  .hero-grid--v2 {
    grid-template-columns:minmax(0,1fr)!important;
    gap:38px;
    padding:68px 0 60px;
    align-items:stretch;
  }
  .hero-copy-v2 { width:100%; max-width:760px; }
  .hero-copy-v2 h1 { max-width:720px; font-size:clamp(3rem,8.7vw,4.65rem); line-height:.98; overflow-wrap:normal; word-break:normal; }
  .hero-copy-v2 p { max-width:660px; }
  .hero-panel--v2 { width:100%; max-width:760px; padding:12px; }
  .hero-panel--v2 .hero-visual--v2 { min-height:310px; }
  .hero-panel--v2 .quick-grid--v2 { grid-template-columns:repeat(2,minmax(0,1fr)); }

  /* Grades e seções */
  .section-heading-split,
  .solutions-highlight-grid,
  .business-diagnostic-v2,
  .page-hero-grid-v2,
  .coverage-box,
  .service-process { grid-template-columns:minmax(0,1fr)!important; }
  .division-grid { grid-template-columns:minmax(0,1fr)!important; }
  .pillar-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .client-action-grid { grid-template-columns:minmax(0,1fr); }
  .page-hero-aside-v2 { width:100%; max-width:720px; }
  .plan-grid--residential, .plan-grid--business, .plan-grid, .plan-grid[data-plan-group="business"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .service-feature-grid, .service-detail-grid, .service-detail-grid--v2 { grid-template-columns:minmax(0,1fr); }
  .footer-grid, .footer-grid--premium { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

@media (max-width: 640px) {
  :root { --radius:18px; }
  .container { width:calc(100% - 28px); }
  .section { padding:56px 0; }

  /* Cabeçalho compacto */
  .site-header--v2 .header-inner { min-height:68px; }
  .site-header--v2 .main-navigation { top:68px; max-height:calc(100vh - 68px); }
  .custom-logo { max-width:194px; max-height:38px; }
  .menu-toggle { min-height:42px; padding:7px 13px; border-radius:12px; }

  /* Hero mobile */
  .hero-grid--v2 { gap:30px; padding:50px 0 48px; }
  .eyebrow { max-width:100%; font-size:.72rem; line-height:1.45; letter-spacing:.075em; }
  .eyebrow::before { width:22px; flex:0 0 22px; }
  .hero-copy-v2 h1,
  .hero h1 {
    margin:14px 0 18px;
    max-width:100%;
    font-size:clamp(2.55rem,12.5vw,3.15rem);
    line-height:.99;
    letter-spacing:-.055em;
    overflow-wrap:normal;
    word-break:normal;
    hyphens:none;
  }
  .hero-copy-v2 p, .hero p { font-size:1rem; line-height:1.62; }
  .hero-actions { display:grid; grid-template-columns:1fr; width:100%; gap:10px; margin-top:24px; }
  .hero-actions .btn { width:100%; min-height:50px; }
  .hero-badges { margin-top:22px; gap:7px; }
  .hero-badge { padding:7px 10px; font-size:.75rem; }

  /* Painel tecnológico agora ocupa a largura real do celular */
  .hero-panel--v2 { max-width:none; padding:8px; border-radius:22px; }
  .hero-panel--v2 .hero-visual--v2 { min-height:230px; margin-bottom:8px; border-radius:17px; }
  .hero-visual-copy { left:18px; right:18px; bottom:17px; }
  .hero-visual-copy--v2 strong { max-width:270px; font-size:1.02rem; line-height:1.22; }
  .hero-visual-copy--v2 span { font-size:.63rem; }
  .network-orbit--one { width:170px; height:170px; right:-52px; top:-44px; }
  .network-orbit--two { width:120px; height:120px; left:-38px; bottom:-48px; }
  .network-node { width:44px; height:44px; border-radius:14px; }
  .network-node--wifi { right:24px; top:25px; }
  .network-node--building { left:28px; top:60px; }
  .network-node--code, .network-node--shield { right:74px; bottom:45px; }
  .hero-panel--v2 .quick-grid--v2 { grid-template-columns:minmax(0,1fr); gap:8px; }
  .hero-panel--v2 .quick-link {
    min-height:82px;
    padding:14px;
    display:grid;
    grid-template-columns:42px minmax(0,1fr);
    align-items:center;
    justify-content:initial;
    gap:12px;
  }
  .hero-panel--v2 .quick-icon { width:40px; height:40px; }
  .hero-panel--v2 .quick-link span:last-child { font-size:.82rem; line-height:1.45; }

  /* Tipografia e blocos */
  .section-title { font-size:clamp(2rem,9.5vw,2.7rem); line-height:1.06; }
  .section-copy { font-size:.98rem; line-height:1.65; }
  .section-heading-split { gap:16px; }
  .brand-signature-inner { grid-template-columns:1fr!important; }
  .brand-signature-inner > * { border-right:0!important; }

  .division-grid, .pillar-grid, .plan-choice-grid,
  .plan-grid--residential, .plan-grid--business, .plan-grid,
  .plan-grid[data-plan-group="business"], .diagnostic-list-v2,
  .form-grid, .trust-grid, .visual-ribbon,
  .footer-grid, .footer-grid--premium { grid-template-columns:minmax(0,1fr)!important; }

  .division-card { min-height:auto; padding:24px; border-radius:22px; }
  .division-label { margin-top:22px; }
  .division-card h3 { font-size:1.42rem; }
  .pillar-card { min-height:auto; padding:22px; }
  .pillar-card h3 { margin:20px 0 7px; }
  .plan-choice-card, .plan-choice-card--v2 { min-height:auto; padding:24px; }
  .plan-choice-card--v2 h3 { font-size:1.48rem; }
  .plan-card, .plan-grid--residential .plan-card, .plan-grid--business .plan-card { min-height:auto; transform:none!important; padding:22px; }

  .solution-row { grid-template-columns:44px minmax(0,1fr); gap:12px; padding:16px; }
  .solution-row > span { width:42px; height:42px; }
  .service-feature-card, .service-detail-card { min-height:auto; padding:23px; }

  .coverage-box { gap:18px; }
  .coverage-form, .coverage-info, .cta-panel, .page-hero-aside-v2 { padding:22px; border-radius:22px; }
  .coverage-box--v2 .coverage-info h3 { font-size:1.12rem; }
  .form-field.full { grid-column:auto; }
  .form-field input, .form-field select, .form-field textarea { min-height:48px; font-size:16px; }

  .page-hero--v2 { padding:56px 0 50px; }
  .page-hero--v2 h1 { max-width:100%; font-size:clamp(2.35rem,11.5vw,3rem); line-height:1.01; }
  .business-diagnostic-v2 { gap:28px; }

  .client-action-card { min-height:auto; padding:22px; }
  .client-action-card strong { margin-top:20px; }
  .cta-panel--v2 h2 { font-size:1.85rem; line-height:1.12; }
  .cta-actions-v2, .cta-actions-v2 .btn { width:100%; }

  .prefooter-showcase { padding:54px 0; }
  .prefooter-heading { gap:14px; margin-bottom:24px; }
  .visual-tile { min-height:155px; padding:21px; }
  .site-footer { padding:50px 0 24px; }
  .footer-grid--premium { gap:28px; }
  .footer-bottom { flex-direction:column; align-items:flex-start; gap:10px; }

  .whatsapp-float { right:14px; bottom:16px; width:52px; height:52px; border-radius:16px; }
}

@media (max-width: 380px) {
  .container { width:calc(100% - 24px); }
  .custom-logo { max-width:172px; }
  .hero-copy-v2 h1, .hero h1 { font-size:2.42rem; }
  .section-title { font-size:2rem; }
  .hero-badge { font-size:.7rem; }
}


/* Cobertura 2.2: mapa Leaflet + OpenStreetMap */
.coverage-map-shell { margin:0 0 24px; border:1px solid var(--inetsol-border); border-radius:28px; background:#fff; overflow:hidden; box-shadow:0 18px 48px rgba(31,19,65,.08); }
.coverage-map-head { display:flex; align-items:flex-end; justify-content:space-between; gap:28px; padding:26px 28px 22px; background:linear-gradient(145deg,#fbfaff,#f5f1ff); border-bottom:1px solid var(--inetsol-border); }
.coverage-map-head h3 { margin:4px 0 7px; font-size:1.45rem; letter-spacing:-.025em; }
.coverage-map-head p { margin:0; max-width:760px; color:var(--inetsol-muted); font-size:.92rem; }
.coverage-map-legend { display:flex; align-items:center; gap:9px; white-space:nowrap; color:#4c425e; font-weight:800; font-size:.82rem; }
.coverage-map-legend > span { width:12px; height:12px; border-radius:50%; background:var(--inetsol-primary); box-shadow:0 0 0 5px rgba(111,70,255,.12); }
.coverage-map { width:100%; height:470px; background:#eeeaf6; z-index:1; }
.coverage-map-foot { min-height:56px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:13px 20px; border-top:1px solid var(--inetsol-border); color:var(--inetsol-muted); font-size:.82rem; }
.coverage-map-foot span { display:flex; align-items:center; gap:8px; }
.coverage-map-foot .inetsol-svg-icon { width:17px; height:17px; color:var(--inetsol-primary); }
.coverage-map-foot a { color:var(--inetsol-primary); font-weight:900; }
.coverage-map-foot a:hover { text-decoration:underline; }
.inetsol-map-marker-wrap { background:transparent !important; border:0 !important; }
.inetsol-map-marker { position:relative; display:block; width:34px; height:34px; border-radius:50% 50% 50% 4px; transform:rotate(-45deg); background:linear-gradient(145deg,var(--inetsol-primary-2),var(--inetsol-primary)); border:3px solid #fff; box-shadow:0 8px 22px rgba(49,25,118,.34); }
.inetsol-map-marker > span { position:absolute; inset:8px; border-radius:50%; background:#fff; }
.inetsol-map-popup { min-width:205px; display:grid; gap:5px; color:var(--inetsol-text); }
.inetsol-map-popup strong { font-size:1rem; color:#24183f; }
.inetsol-map-popup span { font-size:.85rem; font-weight:750; }
.inetsol-map-popup small { color:var(--inetsol-muted); line-height:1.4; }
.inetsol-map-popup a { margin-top:5px; color:var(--inetsol-primary); font-weight:900; }
.leaflet-container { font-family:inherit; }
.leaflet-control-attribution { font-size:10px; }

@media (max-width: 760px) {
  .coverage-map-head { align-items:flex-start; flex-direction:column; padding:22px; gap:14px; }
  .coverage-map { height:390px; }
  .coverage-map-foot { align-items:flex-start; flex-direction:column; gap:7px; padding:14px 18px; }
}
