  :root{
    --navy-deep:#0A2E38;
    --navy-mid:#123B47;
    --navy-line: rgba(241,230,210,0.10);
    --sand:#F1E6D2;
    --sand-soft:#F8F2E5;
    --coral:#FF7A59;
    --coral-dim:#c95a3f;
    --moss:#6B9B6E;
    --moss-dim:#4f7a52;
    --ink:#0D1B1E;
    --cream:#F7F3EA;
    --muted: rgba(247,243,234,0.62);
    --muted-ink: rgba(13,27,30,0.60);
    --radius: 14px;
    --wrap: 1180px;
  }
  *{box-sizing:border-box; margin:0; padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Inter', sans-serif;
    background:var(--sand-soft);
    color:var(--ink);
    line-height:1.5;
    -webkit-font-smoothing:antialiased;
  }
  img,svg{display:block; max-width:100%;}
  a{color:inherit; text-decoration:none;}
  .mono{font-family:'JetBrains Mono', monospace;}
  h1,h2,h3,h4{font-family:'Space Grotesk', sans-serif; letter-spacing:-0.01em;}
  .wrap{max-width:var(--wrap); margin:0 auto; padding:0 28px;}
  .eyebrow{
    font-family:'JetBrains Mono', monospace;
    font-size:12.5px;
    letter-spacing:0.14em;
    text-transform:uppercase;
    font-weight:700;
  }
  section{padding:96px 0;}
  @media (max-width:720px){ section{padding:64px 0;} }

  /* -------- NAV -------- */
  header.nav{
    position:sticky; top:0; z-index:50;
    background:rgba(10,46,56,0.92);
    backdrop-filter: blur(10px);
    border-bottom:1px solid var(--navy-line);
  }
  .nav-inner{
    max-width:var(--wrap); margin:0 auto; padding:16px 28px;
    display:flex; align-items:center; justify-content:space-between;
  }
  .logo{
    display:flex; align-items:center; gap:10px;
    font-family:'Space Grotesk', sans-serif; font-weight:500; font-size:19px;
    color:var(--cream);
  }
  .logo .logo-x{flex-shrink:0; object-fit:contain;}
  .logo .logo-text b{font-weight:800;}
  .nav-links{display:flex; align-items:center; gap:32px;}
  .nav-links a{
    color:var(--muted); font-size:14.5px; font-weight:500;
    transition:color .2s;
  }
  .nav-links a:hover{color:var(--cream);}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:11px 20px; border-radius:999px;
    font-size:14.5px; font-weight:600;
    border:1px solid transparent; cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease, background .2s;
  }
  .btn:hover{transform:translateY(-1px);}
  .btn-primary{background:var(--coral); color:#1a0d08;}
  .btn-primary:hover{box-shadow:0 8px 20px -6px rgba(255,122,89,0.55);}
  .btn-ghost-dark{border-color:rgba(247,243,234,0.28); color:var(--cream);}
  .btn-ghost-dark:hover{background:rgba(247,243,234,0.08);}
  .nav-cta{display:none;}
  @media (min-width:640px){ .nav-cta{display:inline-flex;} }
  .nav-links{display:none;}
  @media (min-width:900px){ .nav-links{display:flex;} }

  /* -------- HERO -------- */
  .hero{
    position:relative; overflow:hidden;
    background:var(--navy-deep);
    padding:76px 0 0 0;
  }
  .hero-inner{
    position:relative; z-index:2;
    max-width:var(--wrap); margin:0 auto; padding:0 28px 64px;
    display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center;
  }
  @media (max-width:900px){ .hero-inner{grid-template-columns:1fr;} }
  .hero-eyebrow{color:var(--coral); margin-bottom:18px; display:flex; align-items:center; gap:10px;}
  .hero-eyebrow .dot{width:7px; height:7px; border-radius:50%; background:var(--moss); box-shadow:0 0 0 4px rgba(107,155,110,0.25);}
  .hero h1{
    color:var(--cream); font-size:clamp(34px, 5vw, 54px); line-height:1.06; font-weight:700;
    max-width:15ch;
  }
  .hero h1 em{font-style:normal; color:var(--coral);}
  .hero p.lead{
    margin-top:20px; color:var(--muted); font-size:17px; max-width:46ch; line-height:1.6;
  }
  .hero-actions{display:flex; gap:14px; margin-top:32px; flex-wrap:wrap;}
  .hero-stats{
    margin-top:44px; display:flex; gap:34px; flex-wrap:wrap;
    border-top:1px solid var(--navy-line); padding-top:26px;
  }
  .hero-stats div b{
    display:block; font-family:'JetBrains Mono', monospace; color:var(--cream);
    font-size:22px; font-weight:700;
  }
  .hero-stats div span{color:var(--muted); font-size:13px;}

  .hero-visual{position:relative; height:420px;}
  @media (max-width:900px){ .hero-visual{height:300px;} }
  .hero-visual svg{width:100%; height:100%;}

  /* -------- SECTION HEADS -------- */
  .section-head{max-width:640px; margin-bottom:48px;}
  .section-head .eyebrow{color:var(--coral-dim);}
  .section-head h2{font-size:clamp(26px,3.4vw,38px); margin-top:10px; color:var(--ink);}
  .section-head p{margin-top:14px; color:var(--muted-ink); font-size:16px; max-width:56ch;}
  .on-dark .section-head h2{color:var(--cream);}
  .on-dark .section-head p{color:var(--muted);}
  .on-dark .section-head .eyebrow{color:var(--moss);}

  /* -------- ZONE TOGGLE -------- */
  .zone-toggle{
    display:inline-flex; background:var(--sand); border-radius:999px;
    padding:5px; gap:4px; margin-bottom:44px;
    border:1px solid rgba(13,27,30,0.08);
  }
  .zone-toggle button{
    border:none; background:transparent; cursor:pointer;
    padding:11px 22px; border-radius:999px; font-family:'Space Grotesk',sans-serif;
    font-weight:600; font-size:14.5px; color:var(--muted-ink);
    transition:all .25s ease; display:flex; align-items:center; gap:8px;
  }
  .zone-toggle button.active{
    background:var(--navy-deep); color:var(--cream);
  }
  .zone-toggle button.active.rural{background:var(--moss-dim);}
  .zone-toggle .tag{
    width:6px; height:6px; border-radius:50%; background:var(--coral);
  }
  .zone-toggle button.rural .tag{background:var(--moss);}

  /* -------- PLAN CARDS -------- */
  .plans-grid{
    display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:20px;
  }
  .plan-set{display:none;}
  .plan-set.active{display:grid; grid-template-columns:repeat(auto-fit, minmax(240px,1fr)); gap:20px;}
  .plan-card{
    background:var(--cream); border-radius:var(--radius);
    padding:28px 24px; border:1px solid rgba(13,27,30,0.08);
    position:relative; display:flex; flex-direction:column;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s;
  }
  .plan-card:hover{transform:translateY(-4px); box-shadow:0 16px 32px -18px rgba(10,46,56,0.35); border-color:rgba(13,27,30,0.16);}
  .plan-card.featured{background:var(--navy-deep); color:var(--cream); border-color:var(--navy-deep);}
  .plan-card .badge{
    position:absolute; top:-11px; right:22px;
    background:var(--coral); color:#1a0d08; font-size:11.5px; font-weight:700;
    padding:5px 12px; border-radius:999px; font-family:'JetBrains Mono',monospace;
    letter-spacing:0.04em;
  }
  .plan-card .plan-name{font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:15px; color:var(--muted-ink);}
  .plan-card.featured .plan-name{color:var(--moss);}
  .plan-card .speed{
    margin-top:10px; font-family:'JetBrains Mono',monospace; font-weight:700;
    font-size:40px; line-height:1; color:var(--ink);
  }
  .plan-card.featured .speed{color:var(--cream);}
  .plan-card .speed span{font-size:15px; font-weight:500; margin-left:4px; opacity:0.6;}
  .plan-card .price{margin-top:14px; font-size:14.5px; color:var(--muted-ink);}
  .plan-card.featured .price{color:var(--muted);}
  .plan-card .price b{
    font-family:'JetBrains Mono',monospace; font-size:22px; color:var(--ink); font-weight:700;
  }
  .plan-card.featured .price b{color:var(--cream);}
  .plan-card ul{list-style:none; margin:20px 0 26px; flex:1;}
  .plan-card ul li{
    font-size:13.8px; padding:7px 0; color:var(--muted-ink);
    display:flex; gap:9px; align-items:flex-start; border-top:1px solid rgba(13,27,30,0.07);
  }
  .plan-card.featured ul li{color:var(--muted); border-top-color:var(--navy-line);}
  .plan-card ul li:first-child{border-top:none;}
  .plan-card ul li svg{flex-shrink:0; margin-top:3px;}
  .plan-card .cta{
    text-align:center; padding:12px; border-radius:10px;
    background:var(--navy-deep); color:var(--cream); font-weight:600; font-size:14px;
    transition:background .2s;
  }
  .plan-card .cta:hover{background:var(--coral-dim); color:#1a0d08;}
  .plan-card.featured .cta{background:var(--coral); color:#1a0d08;}
  .plan-card.featured .cta:hover{background:#ff8f70;}
  .plans-note{margin-top:28px; font-size:13.5px; color:var(--muted-ink);}

  /* -------- HOW IT WORKS -------- */
  .tech-split{
    display:grid; grid-template-columns:1fr 1fr; gap:2px;
    background:rgba(13,27,30,0.08); border-radius:var(--radius); overflow:hidden;
  }
  @media (max-width:760px){ .tech-split{grid-template-columns:1fr;} }
  .tech-col{background:var(--cream); padding:38px 34px;}
  .tech-col.rural{background:#F0EBDD;}
  .tech-col .icon-wrap{
    width:46px; height:46px; border-radius:12px; display:flex; align-items:center; justify-content:center;
    background:rgba(255,122,89,0.14); margin-bottom:20px;
  }
  .tech-col.rural .icon-wrap{background:rgba(107,155,110,0.16);}
  .tech-col h3{font-size:21px; margin-bottom:12px;}
  .tech-col p{font-size:14.8px; color:var(--muted-ink); line-height:1.65;}
  .tech-col .tech-tags{margin-top:20px; display:flex; gap:8px; flex-wrap:wrap;}
  .tech-col .tech-tags span{
    font-family:'JetBrains Mono',monospace; font-size:11.5px; padding:5px 10px;
    background:rgba(13,27,30,0.06); border-radius:6px; color:var(--muted-ink);
  }

  /* -------- COVERAGE -------- */
  .coverage{background:var(--navy-deep); color:var(--cream);}
  .coverage-grid{display:grid; grid-template-columns:1.1fr 0.9fr; gap:48px; align-items:center;}
  @media (max-width:860px){ .coverage-grid{grid-template-columns:1fr;} }
  .city-list{display:flex; flex-wrap:wrap; gap:10px; margin-top:26px;}
  .city-pill{
    padding:9px 16px; border-radius:999px; border:1px solid var(--navy-line);
    font-size:13.5px; color:var(--muted); display:flex; align-items:center; gap:8px;
  }
  .city-pill .dot{width:6px; height:6px; border-radius:50%; background:var(--moss);}
  .city-pill.urban .dot{background:var(--coral);}

  .city-cards{display:flex; flex-direction:column; gap:12px; margin-top:26px;}
  .city-card{
    display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:14px;
    padding:18px 22px; border-radius:12px; border:1px solid var(--navy-line);
    background:rgba(247,243,234,0.03);
  }
  .city-card .city-name{
    font-family:'Space Grotesk',sans-serif; font-weight:600; font-size:16.5px; color:var(--cream);
    display:flex; align-items:center; gap:10px;
  }
  .city-card .city-name .dot{width:6px; height:6px; border-radius:50%; background:var(--coral); flex-shrink:0;}
  .city-card .tech-badges{display:flex; gap:8px; flex-wrap:wrap;}
  .tech-badge{
    font-family:'JetBrains Mono',monospace; font-size:11.5px; font-weight:700; letter-spacing:0.03em;
    padding:6px 12px; border-radius:999px; display:flex; align-items:center; gap:6px;
  }
  .tech-badge.ftth{background:rgba(255,122,89,0.16); color:#FFB199;}
  .tech-badge.radio{background:rgba(107,155,110,0.18); color:#A9CFA9;}
  .tech-badge .dot{width:5px; height:5px; border-radius:50%; background:currentColor;}
  .coverage-map{
    aspect-ratio:1/1; border-radius:var(--radius); background:var(--navy-mid);
    border:1px solid var(--navy-line); position:relative; overflow:hidden;
  }

  /* -------- FEATURES -------- */
  .feat-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:22px;}
  .feat-card{padding:6px 0;}
  .feat-card .num{
    font-family:'JetBrains Mono',monospace; color:var(--coral-dim); font-size:12.5px; font-weight:700;
  }
  .feat-card h4{font-size:17.5px; margin:12px 0 8px;}
  .feat-card p{font-size:14px; color:var(--muted-ink); line-height:1.6;}

  /* -------- FAQ -------- */
  .faq-item{border-top:1px solid rgba(13,27,30,0.12);}
  .faq-item:last-child{border-bottom:1px solid rgba(13,27,30,0.12);}
  .faq-q{
    width:100%; text-align:left; background:none; border:none; cursor:pointer;
    padding:22px 4px; display:flex; justify-content:space-between; align-items:center; gap:20px;
    font-family:'Space Grotesk',sans-serif; font-size:16.5px; font-weight:600; color:var(--ink);
  }
  .faq-q .plus{
    flex-shrink:0; width:26px; height:26px; border-radius:50%; border:1px solid rgba(13,27,30,0.2);
    display:flex; align-items:center; justify-content:center; position:relative; transition:transform .25s;
  }
  .faq-item.open .faq-q .plus{transform:rotate(45deg); background:var(--coral); border-color:var(--coral);}
  .faq-a{max-height:0; overflow:hidden; transition:max-height .3s ease;}
  .faq-item.open .faq-a{max-height:200px;}
  .faq-a p{padding:0 4px 24px; font-size:14.8px; color:var(--muted-ink); max-width:64ch; line-height:1.6;}

  /* -------- FINAL CTA -------- */
  .final-cta{
    background:linear-gradient(135deg, var(--navy-deep) 0%, #0a2530 100%);
    color:var(--cream); border-radius:20px; padding:56px 44px;
    display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center;
    position:relative; overflow:hidden;
  }
  @media (max-width:820px){ .final-cta{grid-template-columns:1fr; padding:40px 26px;} }
  .final-cta h2{font-size:clamp(24px,3vw,32px); max-width:16ch;}
  .final-cta p{margin-top:14px; color:var(--muted); max-width:44ch; font-size:15px;}
  .wa-btn{
    margin-top:26px; display:inline-flex; align-items:center; gap:10px;
    background:#25D366; color:#04140c; font-weight:700; padding:15px 26px; border-radius:12px; font-size:15.5px;
  }
  .final-form{
    background:rgba(247,243,234,0.06); border:1px solid var(--navy-line);
    border-radius:14px; padding:26px;
  }
  .final-form label{font-size:12.5px; color:var(--muted); font-family:'JetBrains Mono',monospace; letter-spacing:0.04em;}
  .final-form input, .final-form select{
    width:100%; margin:6px 0 16px; padding:12px 14px; border-radius:8px;
    border:1px solid var(--navy-line); background:rgba(247,243,234,0.05); color:var(--cream); font-size:14px;
    font-family:'Inter',sans-serif;
  }
  .final-form input::placeholder{color:rgba(247,243,234,0.35);}
  .final-form select{
    appearance:none; -webkit-appearance:none; -moz-appearance:none;
    background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none'><path d='M6 9l6 6 6-6' stroke='%23F7F3EA' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");
    background-repeat:no-repeat; background-position:right 14px center; padding-right:38px;
    cursor:pointer;
  }
  .final-form select:invalid{color:rgba(247,243,234,0.55);}
  .final-form select option{background:var(--navy-deep); color:var(--cream);}
  .final-form button{width:100%; margin-top:4px;}

  /* -------- FOOTER -------- */
  footer{background:#081F26; color:var(--muted); padding:56px 0 30px;}
  .footer-grid{display:grid; grid-template-columns:1.3fr 0.8fr 1fr 0.9fr; gap:40px;}
  @media (max-width:700px){ .footer-grid{grid-template-columns:1fr; gap:30px;} }
  footer h5{font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:0.08em; color:var(--cream); margin-bottom:16px; text-transform:uppercase;}
  footer ul{list-style:none;}
  footer ul li{margin-bottom:10px; font-size:14px;}
  footer ul li a:hover{color:var(--cream);}
  .footer-bottom{
    margin-top:48px; padding-top:24px; border-top:1px solid var(--navy-line);
    display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; font-size:12.5px;
  }

  .reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}

  /* -------- PAGE HEAD (subpáginas) -------- */
  .page-head{
    background:var(--navy-deep); color:var(--cream);
    padding:64px 0 52px; border-bottom:1px solid var(--navy-line);
  }
  .page-head .eyebrow{color:var(--coral);}
  .page-head .crumb{
    display:flex; align-items:center; gap:8px; margin-bottom:16px;
    font-size:13px; color:var(--muted);
  }
  .page-head .crumb a:hover{color:var(--cream);}
  .page-head h1{font-size:clamp(28px,4vw,42px); margin-top:8px; max-width:22ch; font-weight:700;}
  .page-head p{margin-top:14px; color:var(--muted); max-width:54ch; font-size:16px; line-height:1.6;}

  .nav-links a.active{color:var(--cream);}
  .nav-links a.active{position:relative;}
  .nav-links a.active::after{
    content:""; position:absolute; left:0; right:0; bottom:-20px; height:2px; background:var(--coral);
  }
  .nav-links{position:relative;}

  /* -------- HOME TEASER LINKS -------- */
  .teaser-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:20px;}
  .teaser-card{
    background:var(--cream); border-radius:var(--radius); padding:28px 26px;
    border:1px solid rgba(13,27,30,0.08); display:flex; flex-direction:column; gap:14px;
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s;
  }
  .teaser-card:hover{transform:translateY(-4px); box-shadow:0 16px 32px -18px rgba(10,46,56,0.3); border-color:rgba(13,27,30,0.16);}
  .teaser-card .icon-wrap{
    width:44px; height:44px; border-radius:11px; display:flex; align-items:center; justify-content:center;
    background:rgba(255,122,89,0.14);
  }
  .teaser-card h3{font-size:18.5px;}
  .teaser-card p{font-size:14px; color:var(--muted-ink); line-height:1.6; flex:1;}
  .teaser-card .go{
    font-family:'JetBrains Mono',monospace; font-size:12.5px; font-weight:700; color:var(--coral-dim);
    display:flex; align-items:center; gap:6px;
  }

  /* -------- NAV ACTIONS (Central do Cliente + CTA) -------- */
  .nav-actions{display:none; align-items:center; gap:10px;}
  @media (min-width:640px){ .nav-actions{display:flex;} }
  .btn-client{
    border-color:rgba(241,230,210,0.35); color:var(--cream);
    display:inline-flex; align-items:center; gap:7px;
  }
  .btn-client svg{flex-shrink:0;}

  /* -------- CLIENT AREA STRIP (mobile-visible link) -------- */
  .client-strip{
    background:var(--navy-mid); border-bottom:1px solid var(--navy-line);
  }
  .client-strip a{
    display:flex; align-items:center; justify-content:center; gap:8px;
    padding:9px 14px; color:var(--cream); font-size:13px; font-weight:600;
  }
  @media (min-width:640px){ .client-strip{display:none;} }

  /* -------- POLICY / LEGAL CONTENT -------- */
  .policy-content{max-width:760px;}
  .policy-content .updated{
    font-family:'JetBrains Mono',monospace; font-size:12.5px; color:var(--muted-ink);
    margin-bottom:36px; display:inline-block; padding:6px 12px; background:var(--sand);
    border-radius:999px;
  }
  .policy-content h2{
    font-size:19px; margin-top:38px; margin-bottom:12px; display:flex; align-items:baseline; gap:10px;
  }
  .policy-content h2 .step-num{
    font-family:'JetBrains Mono',monospace; font-size:13px; color:var(--coral-dim); font-weight:700;
  }
  .policy-content p{font-size:15px; color:var(--muted-ink); line-height:1.75; margin-bottom:10px;}
  .policy-content ul{margin:10px 0 4px 0; padding-left:0; list-style:none;}
  .policy-content ul li{
    font-size:15px; color:var(--muted-ink); line-height:1.7; padding:6px 0 6px 22px; position:relative;
  }
  .policy-content ul li::before{
    content:""; position:absolute; left:2px; top:15px; width:6px; height:6px; border-radius:50%;
    background:var(--coral);
  }
  .policy-content a.inline-link{color:var(--coral-dim); font-weight:600; text-decoration:underline;}
  .footer-bottom a{color:var(--muted); transition:color .2s;}
  .footer-bottom a:hover{color:var(--cream);}
