/* ══════════════════════════════════════════════════════
   DC TELECOM — styles.css
   ══════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --o:#F97316; --od:#EA580C;
  --ol:#FFF7ED; --om:#FED7AA;
  --blk:#111; --dark:#1A1A1A;
  --gray:#6B7280; --gl:#F3F4F6;
  --gb:#E5E7EB; --wh:#fff; --bg:#F9F9F7;
}
html{scroll-behavior:smooth}
body{font-family:'Plus Jakarta Sans',sans-serif;background:var(--wh);color:var(--blk);overflow-x:hidden;line-height:1.6}

/* ── NAV ── */
nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 1.5rem;height:64px;
  background:rgba(255,255,255,.96);backdrop-filter:blur(14px);
  border-bottom:1px solid var(--gb);
  transition:box-shadow .3s;
}
nav.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.08)}
.nav-logo{display:flex;align-items:center;gap:8px;text-decoration:none;font-size:1.2rem;font-weight:800;color:var(--blk);letter-spacing:-.02em}
.nav-logo-img{height:36px;width:auto;display:block;object-fit:contain}
.footer-logo-img{height:38px;width:auto;display:block;object-fit:contain;margin-bottom:1rem}
.logo-box{width:32px;height:32px;background:var(--o);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;color:#fff}
nav ul{display:flex;gap:2rem;list-style:none}
nav ul a{text-decoration:none;color:var(--gray);font-size:.855rem;font-weight:500;transition:color .2s}
nav ul a:hover{color:var(--blk)}
.nav-right{display:flex;align-items:center;gap:.75rem}
.btn-login{background:transparent;border:none;color:var(--blk);font-size:.855rem;font-weight:600;cursor:pointer;font-family:inherit;padding:.5rem .75rem;text-decoration:none;transition:color .2s}
.btn-login:hover{color:var(--o)}
.btn-started{background:var(--o);border:none;color:#fff;font-size:.855rem;font-weight:700;cursor:pointer;font-family:inherit;padding:.55rem 1.25rem;border-radius:100px;text-decoration:none;transition:background .2s,transform .15s}
.btn-started:hover{background:var(--od);transform:translateY(-1px)}

/* ── HERO ── */
.hero{
  min-height:100vh;display:grid;grid-template-columns:1fr 1fr;
  align-items:center;padding:80px 3rem 3rem;
  position:relative;overflow:hidden;background:var(--wh);
}
#hero-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:all;z-index:0}
.hero-left{position:relative;z-index:2;padding-right:2rem}
.hero-h1{font-size:clamp(2.4rem,4.5vw,3.4rem);font-weight:800;line-height:1.1;letter-spacing:-.03em;color:var(--blk);margin-bottom:1.2rem}
.accent{color:var(--o)}
.hero-sub{font-size:1rem;color:var(--gray);line-height:1.75;max-width:400px;margin-bottom:2rem}
.hero-actions{display:flex;align-items:center;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--o);color:#fff;border:none;font-family:inherit;font-size:.875rem;font-weight:700;padding:.75rem 1.5rem;border-radius:100px;cursor:pointer;text-decoration:none;transition:background .2s,transform .2s,box-shadow .2s}
.btn-primary:hover{background:var(--od);transform:translateY(-2px);box-shadow:0 10px 28px rgba(249,115,22,.3)}
.btn-primary--sm{padding:.62rem 1.3rem;font-size:.8rem}
.btn-outline{display:inline-flex;align-items:center;gap:6px;background:transparent;border:1.5px solid var(--gb);color:var(--blk);font-family:inherit;font-size:.875rem;font-weight:600;padding:.75rem 1.5rem;border-radius:100px;cursor:pointer;text-decoration:none;transition:border-color .2s,color .2s}
.btn-outline:hover{border-color:var(--o);color:var(--o)}
.hero-tags{display:flex;flex-wrap:wrap;gap:.5rem}
.htag-break{flex-basis:100%;height:0;margin:0;padding:0;border:0;background:transparent}
.htag{background:var(--wh);border:1px solid var(--gb);border-radius:100px;padding:.32rem .85rem;font-size:.76rem;font-weight:500;color:var(--dark);transition:border-color .2s,color .2s;cursor:default}
.htag:hover{border-color:var(--o);color:var(--o)}


/* ── HERO RIGHT — single large visual ── */
.hero-right {
  position: relative;
  z-index: 2;
  height: 540px;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Main container */
.hero-visual {
  position: relative;
  width: 100%;
  max-width: 460px;
  height: 540px;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: heroFloat 5s ease-in-out infinite;
}

@keyframes heroFloat {
  0%,100% { transform: translateY(0px); }
  50%      { transform: translateY(-22px); }
}

/* SVG fills its container */
.hv-svg {
  width: 100%;
  height: 100%;
  overflow: visible;
  filter: drop-shadow(0 40px 80px rgba(249,115,22,.18));
}

/* Background glow orbs */
.hv-orb {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}
.hv-orb1 {
  width: 280px; height: 280px;
  background: radial-gradient(circle, rgba(249,115,22,.12) 0%, transparent 70%);
  top: 50%; left: 50%;
  transform: translate(-50%,-55%);
  animation: orbPulse 3.5s ease-in-out infinite;
}
.hv-orb2 {
  width: 180px; height: 180px;
  background: radial-gradient(circle, rgba(249,115,22,.08) 0%, transparent 70%);
  bottom: 10%; left: 10%;
  animation: orbPulse 4s ease-in-out infinite reverse;
}
@keyframes orbPulse {
  0%,100% { transform: translate(-50%,-55%) scale(1); opacity: 1; }
  50%      { transform: translate(-50%,-55%) scale(1.25); opacity: .6; }
}
.hv-orb2 { animation: orb2Pulse 4s ease-in-out infinite; }
@keyframes orb2Pulse {
  0%,100% { transform: scale(1); opacity: .8; }
  50%      { transform: scale(1.3); opacity: .4; }
}

/* Pulse rings at tower base */
.pulse-ring {
  position: absolute;
  bottom: 55px;
  left: 50%;
  transform: translateX(-50%);
  border-radius: 50%;
  border: 1.5px solid rgba(249,115,22,.5);
  pointer-events: none;
}
.pr1 { width: 80px;  height: 28px; animation: ringPulse 2.4s .0s ease-out infinite; }
.pr2 { width: 140px; height: 44px; animation: ringPulse 2.4s .5s ease-out infinite; }
.pr3 { width: 210px; height: 60px; animation: ringPulse 2.4s 1s ease-out infinite; }

@keyframes ringPulse {
  0%   { transform: translateX(-50%) scaleX(1) scaleY(1); opacity: .6; }
  100% { transform: translateX(-50%) scaleX(1.5) scaleY(1.5); opacity: 0; }
}

/* chip group subtle float counter-animation */
.chip-group {
  animation: chipFloat 4.2s ease-in-out infinite;
  transform-origin: 90px 364px;
}
@keyframes chipFloat {
  0%,100% { transform: translateY(0); }
  50%      { transform: translateY(-10px); }
}

.hero-stats{
  position:absolute;bottom:2.5rem;left:0;right:0;z-index:2;
  display:flex;justify-content:center;gap:0;
}
.hstat{text-align:center;padding:0 2.5rem}
.hstat+.hstat{border-left:1px solid var(--gb)}
.hstat-n{font-size:2rem;font-weight:800;line-height:1;color:var(--blk)}
.hstat-acc{color:var(--o);font-size:1.3rem}
.hstat-l{font-size:.63rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin-top:4px}

/* ── PARTNERS ── */
.partners{padding:2.5rem 3rem;border-top:1px solid var(--gb);border-bottom:1px solid var(--gb);text-align:center;background:var(--wh)}
.partners-label{font-size:.68rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--o);margin-bottom:1.5rem}
.partners-logos{display:flex;align-items:center;justify-content:center;gap:3.5rem;flex-wrap:wrap}
.plogo{font-size:1.05rem;font-weight:700;color:#C0C0C0;letter-spacing:.06em;cursor:default;transition:color .2s}
.plogo:hover{color:var(--gray)}

/* ══════════════════════════════════════════════
   BENTO SERVICES GRID
   4 col × 4 row via grid-template-areas
   Row heights: 300 240 260 150
   ══════════════════════════════════════════════ */
.services-section{padding:5rem 3rem;background:var(--bg)}
.services-wrap{max-width:1200px;margin:0 auto}
.services-header{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;margin-bottom:2.2rem}
.stag{display:inline-block;background:var(--o);color:#fff;font-size:.68rem;font-weight:700;padding:.27rem .75rem;border-radius:100px;letter-spacing:.08em;text-transform:uppercase;margin-bottom:.75rem}
.services-h2{font-size:clamp(1.5rem,2.5vw,2.1rem);font-weight:800;line-height:1.2;letter-spacing:-.02em;max-width:560px}
.services-side{font-size:.82rem;color:var(--gray);line-height:1.65;text-align:right;max-width:180px;flex-shrink:0}

/* grid */
.bento{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  grid-template-rows:300px 240px 260px 150px;
  grid-template-areas:
    "A A B C"
    "A A D E"
    "F F G H"
    "I I I I";
  gap:14px;
}

/* base card */
.bc{
  border-radius:22px;padding:1.5rem;overflow:hidden;
  position:relative;display:flex;flex-direction:column;
  background:var(--wh);cursor:default;
  box-shadow:0 1px 6px rgba(0,0,0,.05);
  transition:transform .42s cubic-bezier(.16,1,.3,1),box-shadow .42s cubic-bezier(.16,1,.3,1),background .25s;
  /* entrance */
  opacity:0;transform:translateY(24px);
}
.bc.in{opacity:1;transform:none}
.bc:hover{transform:translateY(-5px) scale(1.009) !important;box-shadow:0 20px 52px rgba(0,0,0,.11);z-index:2}
/* shimmer */
.bc::before{content:'';position:absolute;inset:0;background:linear-gradient(108deg,transparent 36%,rgba(255,255,255,.3) 50%,transparent 64%);transform:translateX(-120%);transition:transform .62s ease;pointer-events:none}
.bc:hover::before{transform:translateX(120%)}

/* area placements */
.bc-A{grid-area:A}
.bc-B{grid-area:B}
.bc-C{grid-area:C}
.bc-D{grid-area:D}
.bc-E{grid-area:E}
.bc-F{grid-area:F}
.bc-G{grid-area:G}
.bc-H{grid-area:H}
.bc-I{grid-area:I}

/* variants */
.bc--orange{background:var(--o)}
.bc--orange:hover{background:var(--od)}
.bc--dark{background:#111}
.bc--dark:hover{background:#1c1c1c}

/* typography */
.bc-eyebrow{font-size:.61rem;font-weight:600;letter-spacing:.13em;text-transform:uppercase;color:var(--gray);margin-bottom:.35rem;flex-shrink:0}
.bc--orange .bc-eyebrow,.bc--dark .bc-eyebrow{color:rgba(255,255,255,.45)}
.bc-number{font-size:2.5rem;font-weight:800;letter-spacing:-.035em;line-height:1;color:var(--blk);flex-shrink:0}
.bc-number--white{color:#fff}
.bc-heading{font-size:.9rem;font-weight:700;color:var(--blk);line-height:1.35;margin-bottom:.2rem;flex-shrink:0}
.bc--orange .bc-heading,.bc--dark .bc-heading{color:#fff}
.bc-body{font-size:.75rem;color:var(--gray);line-height:1.65;margin-top:.5rem}
.bc--orange .bc-body,.bc--dark .bc-body{color:rgba(255,255,255,.62)}

/* icon */
.bc-icon-wrap{width:46px;height:46px;border-radius:13px;background:var(--ol);display:flex;align-items:center;justify-content:center;font-size:1.25rem;margin-bottom:.85rem;flex-shrink:0;transition:transform .4s cubic-bezier(.16,1,.3,1)}
.bc:hover .bc-icon-wrap{transform:rotate(-7deg) scale(1.1)}
.bc--orange .bc-icon-wrap{background:rgba(255,255,255,.2)}
.bc--dark   .bc-icon-wrap{background:rgba(255,255,255,.1)}

/* pills */
.bc-pill{display:inline-flex;align-items:center;border-radius:100px;padding:.22rem .68rem;font-size:.69rem;font-weight:700;margin-top:.45rem;width:fit-content;flex-shrink:0}
.bc-pill--green {background:#ECFDF5;color:#059669;border:1px solid #A7F3D0}
.bc-pill--orange{background:rgba(249,115,22,.12);color:var(--o);border:1px solid rgba(249,115,22,.25)}
.bc-pill--white {background:rgba(255,255,255,.2);color:#fff;border:1px solid rgba(255,255,255,.3)}

/* chart */
.bc-chart{display:block;width:100%;flex:0 0 auto;margin-top:.8rem}
.bc-A .bc-chart{height:110px}
.bc-D .bc-chart{height:80px}
.bc-F .bc-chart{height:90px}

/* chips */
.bc-chips{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.65rem;flex-shrink:0}
.bc-chip{background:var(--ol);color:var(--o);border-radius:100px;padding:.2rem .6rem;font-size:.64rem;font-weight:700;cursor:default;transition:background .2s,color .2s,transform .18s}
.bc-chip:hover{background:var(--o);color:#fff;transform:scale(1.06)}
.bc--orange .bc-chip{background:rgba(255,255,255,.2);color:#fff}
.bc--orange .bc-chip:hover{background:rgba(255,255,255,.35)}

/* trio stats */
.bc-trio{display:flex;justify-content:space-between;flex-shrink:0}
.bc-trio>div{text-align:center}
.trio-n{font-size:1.1rem;font-weight:800;color:#fff;line-height:1}
.trio-l{font-size:.58rem;color:rgba(255,255,255,.55);margin-top:2px;letter-spacing:.04em}

/* ring */
.ring-wrap{position:relative;width:94px;height:94px;margin:.5rem auto .4rem;flex-shrink:0}
.ring-svg{width:100%;height:100%;transform:rotate(-90deg)}
.ring-track{fill:none;stroke:#EBEBEB;stroke-width:9}
.ring-prog{fill:none;stroke:var(--o);stroke-width:9;stroke-linecap:round;stroke-dasharray:264;stroke-dashoffset:264;transition:stroke-dashoffset 1.3s cubic-bezier(.16,1,.3,1)}
.ring-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.ring-pct{font-size:1.2rem;font-weight:800;color:var(--blk);line-height:1}
.ring-lbl{font-size:.52rem;color:var(--gray);text-transform:uppercase;letter-spacing:.08em}

/* signal bars */
.sig-row{display:flex;align-items:flex-end;gap:4px;height:36px;margin:.4rem 0;flex-shrink:0}
.sig-bar{flex:1;border-radius:3px 3px 0 0;background:var(--o);transition:opacity .3s}

/* progress */
.prog-bar{height:7px;background:var(--gl);border-radius:100px;overflow:hidden;flex-shrink:0}
.prog-bar--white{background:rgba(255,255,255,.18)}
.prog-fill{height:100%;width:0%;border-radius:100px;background:linear-gradient(90deg,var(--o),var(--od));transition:width 1.3s cubic-bezier(.16,1,.3,1)}
.prog-fill--white{background:#fff}
.prog-lbls{display:flex;justify-content:space-between;font-size:.66rem;color:var(--gray)}

/* op pills */
.op-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto}
.op-pill{background:var(--gl);border:1px solid var(--gb);border-radius:100px;padding:.25rem .7rem;font-size:.66rem;font-weight:700;color:var(--dark);cursor:default;transition:background .2s,border-color .2s,color .2s,transform .18s}
.op-pill:hover{background:var(--o);border-color:var(--o);color:#fff;transform:scale(1.07)}

/* F — reducao layout */
.bc-F-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.3rem;height:100%}
.bc-F-left,.bc-F-right{display:flex;flex-direction:column}

/* G — chip figure */
.chip-figure{flex-shrink:0;margin:.4rem 0}
.esim-card{background:linear-gradient(135deg,#1a1a2e,#0f3460);border-radius:12px;padding:.8rem 1rem;position:relative;overflow:hidden;flex-shrink:0;transition:transform .35s cubic-bezier(.16,1,.3,1)}
.bc:hover .esim-card{transform:scale(1.025)}
.esim-card::before{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(249,115,22,.22),transparent 55%)}
.esim-badge{position:absolute;top:.55rem;right:.6rem;background:var(--o);border-radius:5px;padding:.1rem .4rem;font-size:.56rem;font-weight:700;color:#fff}
.esim-lbl{font-size:.59rem;color:rgba(255,255,255,.38);letter-spacing:.08em;margin-bottom:.18rem}
.esim-num{font-size:.9rem;font-weight:700;color:#fff;letter-spacing:.1em}

/* H — TV */
.tv-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;margin:.65rem 0;flex-shrink:0}
.tv-blk{background:linear-gradient(135deg,#1a1a2e,#0f3460);border-radius:10px;padding:.55rem .3rem;text-align:center;cursor:default;transition:transform .28s cubic-bezier(.16,1,.3,1)}
.tv-blk:hover{transform:scale(1.07)}
.tv-blk span{display:block;font-size:1rem}
.tv-blk small{display:block;font-size:.56rem;color:rgba(255,255,255,.5);margin-top:2px}

/* I — wifi strip */
.bc-I{
  flex-direction:row !important;align-items:center;
  padding:1rem 1.6rem;gap:1.6rem;background:var(--wh);
}
.wifi-stack{display:flex;flex-direction:column-reverse;align-items:center;gap:4px;height:70px;justify-content:flex-end;flex-shrink:0}
.warc{border-radius:50%;border-style:solid;border-color:var(--o);border-bottom:none;border-left:none;border-right:none;opacity:.2;transition:opacity .4s}
.warc.on{opacity:1}
.wdot{width:7px;height:7px;border-radius:50%;background:var(--o)}
.bc-I-text{flex:1;min-width:0}
.bc-I-sep{width:1px;height:60%;background:var(--gb);flex-shrink:0}
.bc-I-cta{flex-shrink:0;min-width:180px}

/* ── HOW IT WORKS ── */
/* ══════════════════ COMO FUNCIONA v3 — ORANGE ══════════════════ */
.hiw3-section{
  background:#F97316;
  position:relative;
  overflow:hidden;
  padding:5rem 3rem 0;
}

/* Big decorative word */
.hiw3-deco{
  position:absolute;
  top:-0.1em; right:-0.05em;
  font-size:clamp(12rem,22vw,20rem);
  font-weight:900;
  line-height:1;
  color:rgba(0,0,0,.07);
  pointer-events:none;
  letter-spacing:-.05em;
  user-select:none;
}

.hiw3-inner{
  max-width:1200px;
  margin:0 auto;
  position:relative;
  z-index:1;
}

/* Header */
.hiw3-tag{
  display:inline-block;
  font-size:.68rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;
  color:rgba(0,0,0,.45);
  background:rgba(0,0,0,.1);
  border-radius:100px;
  padding:.35rem .85rem;
  margin-bottom:1rem;
}
.hiw3-header{margin-bottom:3.5rem}
.hiw3-title{
  font-size:clamp(2.2rem,4vw,3.4rem);
  font-weight:900;line-height:1.05;
  letter-spacing:-.04em;
  color:#fff;
  max-width:560px;
  text-shadow:0 2px 20px rgba(0,0,0,.12);
}

/* CARDS GRID — asymmetric */
.hiw3-grid{
  display:grid;
  grid-template-columns:1.1fr 1fr 1.1fr;
  gap:1.2rem;
  align-items:end;
}

/* BASE CARD */
.hiw3-card{
  background:rgba(255,255,255,.18);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.35);
  border-radius:24px;
  padding:2.2rem 2rem;
  position:relative;
  overflow:hidden;
  cursor:pointer;
  transition:transform .35s cubic-bezier(.34,1.56,.64,1), background .3s, box-shadow .3s;
}
.hiw3-card:hover{
  transform:translateY(-10px) scale(1.02);
  background:rgba(255,255,255,.28);
  box-shadow:0 30px 60px rgba(0,0,0,.15);
}

/* Card 2 taller — offset up to break grid symmetry */
.hiw3-card--2{
  padding-top:3rem;
  padding-bottom:3rem;
  margin-bottom:2rem;
  background:rgba(255,255,255,.26);
  border-color:rgba(255,255,255,.5);
}

/* Shine sweep on hover */
.hiw3-card-shine{
  position:absolute;inset:0;
  background:linear-gradient(115deg,transparent 40%,rgba(255,255,255,.22) 50%,transparent 60%);
  transform:translateX(-100%);
  transition:transform .6s ease;
  pointer-events:none;border-radius:inherit;
}
.hiw3-card:hover .hiw3-card-shine{transform:translateX(100%)}

/* Big step number */
.hiw3-card-num{
  font-size:5rem;
  font-weight:900;
  line-height:1;
  color:rgba(17,17,17,.55);
  letter-spacing:-.04em;
  position:absolute;
  top:.8rem;right:1.2rem;
  pointer-events:none;
  transition:color .3s;
}
.hiw3-card:hover .hiw3-card-num{color:rgba(17,17,17,.85)}

/* Icon circle */
.hiw3-card-icon{
  width:52px;height:52px;
  border-radius:16px;
  background:rgba(255,255,255,.25);
  border:1px solid rgba(255,255,255,.4);
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  margin-bottom:1.4rem;
  transition:background .3s;
}
.hiw3-card:hover .hiw3-card-icon{background:rgba(255,255,255,.38)}

.hiw3-card-title{
  font-size:1.25rem;font-weight:800;
  color:#fff;line-height:1.2;
  letter-spacing:-.02em;
  margin-bottom:.75rem;
}
.hiw3-card-desc{
  font-size:.83rem;color:rgba(255,255,255,.78);
  line-height:1.7;
  margin-bottom:1.4rem;
}

/* Pill badge */
.hiw3-card-pill{
  display:inline-block;
  font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  background:rgba(255,255,255,.22);
  border:1px solid rgba(255,255,255,.35);
  color:#fff;border-radius:100px;
  padding:.3rem .75rem;
  margin-bottom:1.2rem;
}

/* Badges row */
.hiw3-card-badges{display:flex;gap:.4rem;margin-bottom:1.2rem;flex-wrap:wrap}
.hiw3-card-badges span{
  font-size:.68rem;font-weight:700;
  background:rgba(0,0,0,.12);
  border:1px solid rgba(0,0,0,.1);
  color:#fff;border-radius:100px;
  padding:.28rem .65rem;
}

/* CTA link */
.hiw3-card-cta{
  display:inline-flex;align-items:center;gap:.45rem;
  font-size:.78rem;font-weight:800;
  color:#fff;
  border-bottom:1.5px solid rgba(255,255,255,.4);
  padding-bottom:.1rem;
  letter-spacing:.01em;
  transition:border-color .2s, gap .2s;
}
.hiw3-card:hover .hiw3-card-cta{border-color:#fff;gap:.7rem}

/* Bottom strip */
.hiw3-strip{
  margin-top:3.5rem;
  padding:1.2rem 0;
  border-top:1px solid rgba(255,255,255,.2);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:1.4rem;
  flex-wrap:wrap;
  font-size:.75rem;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;
  color:rgba(255,255,255,.65);
}
.hiw3-strip-dot{
  width:4px;height:4px;border-radius:50%;
  background:rgba(255,255,255,.35);flex-shrink:0;
}

/* Responsive */
@media(max-width:900px){
  .hiw3-grid{grid-template-columns:1fr 1fr;gap:1rem}
  .hiw3-card--3{grid-column:1/-1}
  .hiw3-card--2{margin-bottom:0}
}
@media(max-width:600px){
  .btn-started{display:none !important}
  .hero{padding:88px 1.5rem 2rem;min-height:auto !important;grid-template-columns:1fr !important;display:block !important}
  .hero-left{padding-right:0 !important;margin-bottom:2rem !important}
  .hero-right{display:none !important}
  .hero-h1{font-size:1.8rem !important;line-height:1.2 !important;margin-bottom:1rem !important;max-width:100% !important}
  .hero-sub{font-size:.9rem !important;margin-bottom:1.5rem !important;max-width:100% !important}
  .hero-actions{display:flex !important;flex-direction:column !important;gap:.75rem !important;margin-bottom:1.5rem !important;width:100% !important;align-items:stretch !important}
  .btn-primary,.btn-outline{font-size:.8rem !important;padding:.6rem 1rem !important;width:100% !important;display:flex !important;justify-content:center !important;flex:1 !important}
  .hero-stats{position:static !important;display:flex !important;overflow-x:auto !important;overflow-y:hidden !important;gap:0 !important;border-top:1px solid var(--gb) !important;padding-top:.5rem !important;margin-top:.5rem !important;width:100vw !important;margin-left:calc(-50vw + 50%) !important;padding-left:1.5rem !important;padding-right:1.5rem !important;scroll-behavior:smooth !important;margin-bottom:.5rem !important}
  .hero-stats::-webkit-scrollbar{display:none}
  .hstat{padding:1rem 1.5rem !important;border-left:none !important;border-bottom:none !important;flex-shrink:0 !important;min-width:max-content !important}
  .hstat+.hstat{border-left:none !important}
  .hstat-n{font-size:1.2rem !important}
  .hstat-acc{font-size:.9rem !important}
  .hstat-l{font-size:.55rem !important}
  .hero-tags{gap:.4rem !important;justify-content:flex-start !important}
  .htag{padding:.25rem .65rem !important;font-size:.7rem !important}
  .hiw3-section{padding:4rem 1.2rem 0}
  .hiw3-grid{grid-template-columns:1fr}
  .hiw3-card--2{margin-bottom:0}
  .hiw3-deco{font-size:10rem;top:0;right:-0.1em}
  .services-section{padding:3rem 1.5rem}
  .services-header{flex-direction:column;align-items:flex-start;gap:.8rem}
  .services-h2{font-size:clamp(1.4rem,4vw,1.8rem)}
  .services-side{text-align:left;max-width:100%;font-size:.75rem}
  .stag{font-size:.6rem;padding:.2rem .6rem}
  .svc-cards-section{padding:3rem 1.5rem}
  .svc-cards-header{flex-direction:column;align-items:flex-start;gap:.8rem}
  .svc-cards-h2{font-size:clamp(1.4rem,4vw,1.8rem)}
  .svc-cards-side{text-align:left;font-size:.75rem}
  .svc-grid,.svc-grid-row2{grid-template-columns:1fr}
  .bc{padding:1.5rem;display:flex;flex-direction:column;align-items:center;text-align:center}
  .bc-icon-wrap{margin-left:auto;margin-right:auto}
  .bc-eyebrow{font-size:.65rem}
  .bc-body{font-size:.8rem}
  .partners-logos{gap:1.5rem !important}
  .plogo{font-size:.7rem !important;font-weight:700 !important}
  .reviews-section{padding:3rem 1.5rem}
  .reviews-wrap{max-width:100%}
  .reviews-header{flex-direction:column;align-items:flex-start;gap:.8rem}
  .reviews-h2{font-size:clamp(1.4rem,4vw,1.8rem)}
  .reviews-grid{grid-template-columns:1fr}
  .rcard{padding:1.2rem}
  .rcard-text{font-size:.75rem}
  .cta-section{padding:3rem 1.5rem}
  .cta-h2{font-size:clamp(1.6rem,4vw,2rem)}
  .cta-p{font-size:.85rem}
  .cta-email{font-size:.85rem}
  .btn-wpp{font-size:.75rem;padding:.6rem 1.2rem}
}

@media(max-width:480px){
  .btn-started{display:none !important}
  .hero{padding:88px 1rem 1.5rem !important;min-height:auto !important;display:block !important}
  .hero-h1{font-size:1.6rem !important;line-height:1.2 !important;margin-bottom:.8rem !important}
  .hero-sub{font-size:.8rem !important;margin-bottom:1rem !important}
  .hero-actions{flex-direction:column !important;gap:.5rem !important;margin-bottom:1rem !important;width:100% !important;align-items:stretch !important}
  .btn-primary,.btn-outline{width:100% !important;justify-content:center !important;font-size:.75rem !important;padding:.55rem 1rem !important;flex:1 !important}
  .hero-stats{display:flex !important;overflow-x:auto !important;overflow-y:hidden !important;gap:0 !important;border-top:1px solid var(--gb) !important;padding-top:.4rem !important;margin-top:.3rem !important;width:100vw !important;margin-left:calc(-50vw + 50%) !important;padding-left:1rem !important;padding-right:1rem !important;scroll-behavior:smooth !important;-webkit-overflow-scrolling:touch !important;margin-bottom:.3rem !important}
  .hero-stats::-webkit-scrollbar{display:none}
  .hstat{padding:0.8rem 1.2rem !important;border-left:none !important;flex-shrink:0 !important;min-width:max-content !important}
  .hstat-n{font-size:1rem !important}
  .hstat-acc{font-size:.8rem !important}
  .hstat-l{font-size:.5rem !important;margin-top:2px !important}
  .bc{display:flex;flex-direction:column;align-items:center;text-align:center}
  .bc-icon-wrap{margin-left:auto;margin-right:auto}
  .hero-tags{gap:.3rem;flex-wrap:wrap}
  .htag{padding:.2rem .5rem;font-size:.65rem}
  .partners-logos{gap:1.2rem !important}
  .plogo{font-size:.65rem !important;font-weight:700 !important}
  .consult-section{padding:2rem 1rem}
  .consult-wrap{gap:1rem;max-width:100%}
  .consult-card-main{padding:0 1rem 1rem;border-radius:16px}
  .consult-avatar-large{width:140px;height:140px;margin:-40px auto -30px}
  .consult-card-label{font-size:.65rem;padding:.3rem .5rem;margin-bottom:.3rem}
  .consult-card-name{font-size:.7rem;margin:.3rem 0}
  .consult-metrics{display:none}
  .consult-badge{display:none}
  .consult-h2{font-size:1.3rem;line-height:1.3;margin-bottom:1rem}
  .consult-p{font-size:.75rem;margin-bottom:1rem}
  .consult-pillar{gap:.5rem}
  .consult-pillar-icon svg{width:16px;height:16px}
  .consult-pillar h4{font-size:.7rem;margin-bottom:.1rem}
  .consult-pillar p{font-size:.65rem}
}

@media(max-width:375px){
  .btn-started{display:none !important}
  .hero{padding:88px .75rem 1.2rem !important;min-height:auto !important;display:block !important}
  .hero-h1{font-size:1.4rem !important;line-height:1.2 !important;margin-bottom:.8rem !important}
  .hero-sub{font-size:.75rem !important;margin-bottom:1rem !important}
  .hero-actions{flex-direction:column !important;gap:.4rem !important;width:100% !important;align-items:stretch !important;margin-bottom:.8rem !important}
  .btn-primary,.btn-outline{font-size:.7rem !important;padding:.5rem .8rem !important;width:100% !important;justify-content:center !important;flex:1 !important}
  .hero-stats{display:flex !important;overflow-x:auto !important;overflow-y:hidden !important;gap:0 !important;border-top:1px solid var(--gb) !important;padding-top:.3rem !important;margin-top:.2rem !important;width:100vw !important;margin-left:calc(-50vw + 50%) !important;padding-left:.75rem !important;padding-right:.75rem !important;scroll-behavior:smooth !important;-webkit-overflow-scrolling:touch !important;margin-bottom:.2rem !important}
  .hero-stats::-webkit-scrollbar{display:none}
  .hstat{padding:0.7rem 1rem !important;border-left:none !important;flex-shrink:0 !important;min-width:max-content !important}
  .hstat-n{font-size:.9rem !important}
  .hstat-acc{font-size:.7rem !important}
  .hstat-l{font-size:.45rem !important;margin-top:2px !important}
  .bc{display:flex;flex-direction:column;align-items:center;text-align:center}
  .bc-icon-wrap{margin-left:auto;margin-right:auto}
  .htag{padding:.15rem .4rem;font-size:.6rem}
  .partners-logos{gap:1rem !important}
  .plogo{font-size:.6rem !important;font-weight:700 !important}
  .consult-section{padding:1.5rem .75rem}
  .consult-card-main{padding:0 .8rem .8rem;margin-bottom:1.5rem}
  .consult-avatar-large{width:100px;height:100px;margin:-30px auto -20px}
  .consult-card-label{font-size:.6rem}
  .consult-card-name{font-size:.65rem;margin:.2rem 0}
  .consult-h2{font-size:1.1rem}
  .consult-p{font-size:.7rem}
  .consult-pillar h4{font-size:.65rem}
  .consult-pillar p{font-size:.6rem}
}

/* ══════════════════ ATENDIMENTO CONSULTIVO ══════════════════ */
.consult-section{
  padding:6rem 3rem;
  background:var(--wh);
  position:relative;overflow:hidden;
}
.consult-section::before{
  content:'';position:absolute;
  top:-80px;right:-120px;
  width:500px;height:500px;
  background:radial-gradient(circle,rgba(249,115,22,.07) 0%,transparent 70%);
  pointer-events:none;
}
.consult-wrap{
  max-width:1160px;margin:0 auto;
  display:grid;grid-template-columns:1fr 1.1fr;
  gap:6rem;align-items:center;
}

/* Visual card */
.consult-visual{position:relative;display:flex;align-items:center;justify-content:center}
.consult-card-main{
  background:linear-gradient(145deg,#111 0%,#1a1a1a 100%);
  border:1px solid rgba(255,255,255,.1);
  border-radius:28px;
  padding:0 2rem 2.5rem;
  width:100%;max-width:360px;
  position:relative;z-index:2;
  box-shadow:0 40px 80px rgba(0,0,0,.18), 0 0 0 1px rgba(249,115,22,.06);
  overflow:visible;
}

.consult-avatar-large{
  position:relative;
  margin:-80px auto -60px;
  width:320px;
  height:320px;
  z-index:3;
}

.consult-avatar-large img{
  width:100%;
  height:100%;
  object-fit:contain;
  filter:drop-shadow(0 20px 40px rgba(0,0,0,0.3));
}

.consult-card-label{
  position:relative;
  z-index:4;
  padding-top:1.2rem;
}
.consult-avatar-ring{
  width:80px;height:80px;border-radius:50%;
  background:linear-gradient(135deg,rgba(249,115,22,.3),rgba(249,115,22,.05));
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 1.2rem;
  border:1.5px solid rgba(249,115,22,.25);
}
.consult-avatar{
  width:64px;height:64px;border-radius:50%;
  background:linear-gradient(135deg,#F97316,#EA580C);
  display:flex;align-items:center;justify-content:center;
}
.consult-card-label{
  text-align:center;font-size:.68rem;font-weight:900;letter-spacing:.14em;
  text-transform:uppercase;color:rgba(249,115,22,.7);margin-bottom:.4rem;
}
.consult-card-name{
  text-align:center;font-size:1.1rem;font-weight:700;color:#fff;
  line-height:1.4;margin-bottom:1.8rem;
}
.consult-metrics{
  display:flex;align-items:center;justify-content:space-between;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;padding:1rem;gap:.5rem;
}
.consult-metric{display:flex;flex-direction:column;align-items:center;gap:.2rem;flex:1}
.consult-metric-val{font-size:1rem;font-weight:800;color:#fff;letter-spacing:-.02em}
.consult-metric-lbl{font-size:.6rem;color:rgba(255,255,255,.35);text-align:center;line-height:1.3}
.consult-metric-divider{width:1px;height:36px;background:rgba(255,255,255,.1);flex-shrink:0}

/* Floating badges */
.consult-badge{
  position:absolute;z-index:3;
  display:flex;align-items:center;gap:.45rem;
  background:#fff;border-radius:100px;
  padding:.55rem 1rem;
  font-size:.73rem;font-weight:700;color:#111;
  box-shadow:0 12px 32px rgba(0,0,0,.12);
  white-space:nowrap;
}
.consult-badge--1{top:-18px;right:-20px;animation:badgeFloat 3s ease-in-out infinite}
.consult-badge--2{bottom:10px;left:-28px;animation:badgeFloat 3s ease-in-out infinite .8s}
@keyframes badgeFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}

/* Orb glows */
.consult-orb{position:absolute;border-radius:50%;pointer-events:none;z-index:0}
.consult-orb--1{width:180px;height:180px;bottom:-40px;right:-40px;background:radial-gradient(circle,rgba(249,115,22,.15),transparent 70%)}
.consult-orb--2{width:120px;height:120px;top:-20px;left:-20px;background:radial-gradient(circle,rgba(249,115,22,.08),transparent 70%)}

/* Text side */
.consult-h2{font-size:clamp(1.8rem,3vw,2.5rem);font-weight:800;line-height:1.2;letter-spacing:-.03em;color:var(--blk);margin:.6rem 0 1.2rem}
.consult-p{font-size:.95rem;color:var(--gray);line-height:1.8;max-width:480px;margin-bottom:2rem}

/* Pillars */
.consult-pillars{display:flex;flex-direction:column;gap:1.2rem}
.consult-pillar{
  display:flex;align-items:flex-start;gap:1rem;
  padding:1.1rem 1.2rem;
  border:1px solid var(--gb);border-radius:14px;
  transition:border-color .25s,background .25s;
}
.consult-pillar:hover{border-color:rgba(249,115,22,.35);background:#FFF7ED}
.consult-pillar-icon{
  width:40px;height:40px;border-radius:10px;
  background:rgba(249,115,22,.1);
  border:1px solid rgba(249,115,22,.18);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;color:#F97316;
}
.consult-pillar h4{font-size:.88rem;font-weight:700;color:var(--blk);margin-bottom:.2rem}
.consult-pillar p{font-size:.8rem;color:var(--gray);line-height:1.6}

/* Responsive */
@media(max-width:900px){
  .consult-wrap{grid-template-columns:1fr;gap:3rem}
  .consult-visual{order:-1}
  .consult-card-main{max-width:100%}
  .hiw3-section{padding:4rem 1.5rem}
}
@media(max-width:600px){
  .consult-section{padding:3rem 1.5rem}
  .consult-wrap{gap:1.5rem}
  .consult-card-main{padding:0 1.5rem 1.5rem;max-width:100%}
  .consult-avatar-large{width:200px;height:200px;margin:-50px auto -40px}
  .consult-avatar-large img{width:100%;height:100%}
  .consult-card-label{font-size:.75rem;padding:.4rem .6rem}
  .consult-card-name{font-size:.75rem;margin:.4rem 0}
  .consult-pillars{gap:.8rem}
  .consult-pillar h4{font-size:.75rem;margin-bottom:.15rem}
  .consult-pillar p{font-size:.7rem}
  .consult-badge--2{display:none}
}


/* ══════════════════════════════════════════════
   SERVICE CARDS — dark style, 7 equal columns
   ══════════════════════════════════════════════ */

.svc-cards-section { padding: 5rem 3rem; background: #0D0D0D; }
.svc-cards-wrap    { max-width: 1200px; margin: 0 auto; }

.svc-cards-header {
  display: flex; justify-content: space-between;
  align-items: flex-end; gap: 2rem; margin-bottom: 2.5rem;
}
.svc-cards-h2 {
  font-size: clamp(1.6rem, 2.8vw, 2.4rem); font-weight: 800;
  line-height: 1.15; letter-spacing: -.025em; color: #fff;
}
.svc-cards-side {
  font-size: .85rem; color: rgba(255,255,255,.38);
  line-height: 1.65; text-align: right; flex-shrink: 0;
}

/* ── 2-ROW GRID: row1 = 3 cols, row2 = 4 cols ── */
.svc-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: 16px;
}
.svc-grid-row2 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}

/* ── BASE CARD ── */
.sc {
  background: #161616;
  border: 1px solid #272727;
  border-radius: 22px;
  padding: 2rem 1.4rem 1.8rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  position: relative;
  overflow: hidden;
  cursor: default;
  min-height: 320px;
  transition:
    transform  .42s cubic-bezier(.16,1,.3,1),
    box-shadow .42s cubic-bezier(.16,1,.3,1),
    border-color .3s;
  opacity: 0;
  transform: translateY(26px);
}
.sc.in { opacity: 1; transform: translateY(0); }

.sc:hover {
  transform: translateY(-7px) scale(1.03) !important;
  box-shadow: 0 24px 56px rgba(249,115,22,.22);
  border-color: rgba(249,115,22,.4);
  z-index: 2;
}

/* shimmer sweep */
.sc::after {
  content: ''; position: absolute; inset: 0;
  background: linear-gradient(110deg,
    transparent 30%,
    rgba(249,115,22,.07) 48%,
    rgba(249,115,22,.14) 50%,
    rgba(249,115,22,.07) 52%,
    transparent 70%);
  transform: translateX(-120%);
  transition: transform .65s ease;
  pointer-events: none; z-index: 1;
}
.sc:hover::after { transform: translateX(120%); }

/* top-right corner glow accent */
.sc::before {
  content: ''; position: absolute;
  top: -40px; right: -30px;
  width: 120px; height: 120px;
  background: linear-gradient(135deg, rgba(249,115,22,.07) 0%, transparent 65%);
  border-radius: 50%;
  pointer-events: none; z-index: 0;
}

/* ── BG GLOW ── */
.sc-bg {
  position: absolute; inset: 0; border-radius: 18px;
  pointer-events: none; z-index: 0;
  opacity: 0; transition: opacity .4s;
}
.sc:hover .sc-bg { opacity: 1; }
.sc-bg--movel   { background: radial-gradient(ellipse 90% 50% at 50% 0%, rgba(249,115,22,.14) 0%, transparent 70%); }
.sc-bg--empresa { background: radial-gradient(ellipse 90% 50% at 50% 0%, rgba(249,115,22,.12) 0%, transparent 70%); }
.sc-bg--fibra   { background: radial-gradient(ellipse 90% 50% at 50% 15%, rgba(249,115,22,.16) 0%, transparent 70%); }
.sc-bg--tv      { background: radial-gradient(ellipse 90% 50% at 50% 0%, rgba(249,115,22,.12) 0%, transparent 70%); }
.sc-bg--port    { background: radial-gradient(ellipse 90% 50% at 50% 0%, rgba(249,115,22,.14) 0%, transparent 70%); }
.sc-bg--esim    { background: radial-gradient(ellipse 90% 50% at 60% 15%, rgba(249,115,22,.17) 0%, transparent 70%); }
.sc-bg--reducao { background: radial-gradient(ellipse 90% 50% at 50% 0%, rgba(249,115,22,.15) 0%, transparent 70%); }

/* ── ICON AREA ── */
.sc-icon-area {
  position: relative; z-index: 1;
  width: 100%;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .3rem 0 .6rem;
}
.sc-icon-svg {
  width: 100%;
  max-width: 140px;
  height: auto;
  max-height: 150px;
  filter: drop-shadow(0 6px 18px rgba(249,115,22,.22));
  transition:
    transform .45s cubic-bezier(.16,1,.3,1),
    filter    .45s;
}
.sc:hover .sc-icon-svg {
  transform: translateY(-8px) scale(1.08);
  filter: drop-shadow(0 16px 40px rgba(249,115,22,.5));
}

/* ── TEXT ── */
.sc-content { position: relative; z-index: 1; width: 100%; }

.sc-title {
  font-size: 1.1rem;
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: -.01em;
  color: rgba(255,255,255,.3);
  margin-bottom: .35rem;
}
.sc-title span { color: var(--o); display: block; }
.sc-desc {
  font-size: .8rem;
  color: rgba(255,255,255,.38);
  line-height: 1.55;
  font-weight: 400;
}

/* ── RESPONSIVE ── */
@media (max-width: 900px) {
  .svc-grid       { grid-template-columns: repeat(3, 1fr); }
  .svc-grid-row2  { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 700px) {
  .svc-cards-section { padding: 3rem 1rem; }
  .svc-cards-header  { flex-direction: column; align-items: flex-start; gap: .8rem; }
  .svc-cards-side    { text-align: left; }
  .svc-grid,
  .svc-grid-row2     { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .svc-grid,
  .svc-grid-row2     { grid-template-columns: 1fr; }
}


/* ── REVIEWS ── */
.reviews-section{padding:5rem 3rem;background:var(--wh)}
.reviews-wrap{max-width:1160px;margin:0 auto}
.reviews-header{display:flex;align-items:center;gap:4rem;margin-bottom:3rem}
.reviews-score-block{display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--bg);border:1px solid var(--gb);border-radius:20px;padding:1.8rem 2rem;flex-shrink:0}
.g-logo{margin-bottom:.5rem}
.g-score-num{font-size:3rem;font-weight:800;color:var(--blk);line-height:1;margin-bottom:.3rem}
.g-stars{display:flex;gap:2px;margin-bottom:.4rem}
.g-count{font-size:.75rem;color:var(--gray);margin-bottom:.9rem}
.g-link{font-size:.76rem;font-weight:700;color:var(--o);text-decoration:none;border:1px solid var(--om);border-radius:100px;padding:.3rem .8rem;transition:background .2s,color .2s}
.g-link:hover{background:var(--o);color:#fff}
.reviews-h2{font-size:clamp(1.6rem,2.8vw,2.4rem);font-weight:800;letter-spacing:-.02em;line-height:1.15;margin-bottom:.5rem}
.reviews-sub{font-size:.85rem;color:var(--gray)}
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.rcard{background:var(--bg);border:1px solid var(--gb);border-radius:18px;padding:1.4rem;transition:border-color .3s,transform .35s cubic-bezier(.16,1,.3,1),box-shadow .35s;cursor:default}
.rcard:hover{border-color:var(--om);transform:translateY(-4px);box-shadow:0 14px 40px rgba(0,0,0,.07)}
.rcard-top{display:flex;align-items:center;gap:.75rem;margin-bottom:.8rem}
.rcard-av{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:800;color:#fff;flex-shrink:0}
.rcard-name{font-size:.85rem;font-weight:700;line-height:1.2}
.rcard-date{font-size:.7rem;color:var(--gray)}
.rcard-stars{color:#FBBC05;font-size:.95rem;letter-spacing:2px;margin-bottom:.7rem}
.rcard-text{font-size:.84rem;color:var(--dark);line-height:1.72;margin-bottom:.9rem}
.rcard-tag{display:inline-block;background:var(--ol);color:var(--o);border-radius:100px;padding:.2rem .6rem;font-size:.65rem;font-weight:700}
.reviews-footer{text-align:center;margin-top:2rem}
.btn-google-review{display:inline-flex;align-items:center;gap:.6rem;background:var(--wh);border:1.5px solid var(--gb);color:var(--blk);font-family:inherit;font-size:.85rem;font-weight:600;padding:.7rem 1.6rem;border-radius:100px;text-decoration:none;transition:border-color .2s,box-shadow .2s}
.btn-google-review:hover{border-color:#4285F4;box-shadow:0 4px 16px rgba(66,133,244,.15)}

/* ── CTA ── */
.cta-section{padding:7rem 3rem;background:var(--blk);text-align:center;position:relative;overflow:hidden}
.cta-section::before{content:'DC';position:absolute;font-size:22rem;font-weight:900;color:rgba(255,255,255,.025);left:50%;transform:translateX(-50%);bottom:-4rem;line-height:1;pointer-events:none}
.cta-inner{position:relative;z-index:1;max-width:600px;margin:0 auto}
.cta-line{width:48px;height:2px;background:var(--o);margin:0 auto 2rem}
.cta-h2{font-size:clamp(2rem,4vw,3.2rem);font-weight:800;color:#fff;letter-spacing:-.02em;line-height:1.15;margin-bottom:1rem}
.cta-p{font-size:.92rem;color:rgba(255,255,255,.45);line-height:1.75;margin-bottom:2.2rem}
.cta-email{font-size:.92rem;color:rgba(255,255,255,.45);line-height:1.75;margin-bottom:2.2rem}
.email-link{color:#F97316;text-decoration:none;font-weight:600;transition:color .3s ease}
.email-link:hover{color:#EA580C;text-decoration:underline}
.cta-btns{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}
.btn-wpp{display:inline-flex;align-items:center;gap:8px;background:#25D366;color:#fff;border:none;font-family:inherit;font-size:.88rem;font-weight:700;padding:.8rem 1.8rem;border-radius:100px;cursor:pointer;text-decoration:none;transition:filter .2s,transform .2s}
.btn-wpp:hover{filter:brightness(1.1);transform:translateY(-2px)}

/* ── FOOTER ── */
.footer-full{background:var(--blk);border-top:1px solid rgba(255,255,255,.07)}

/* Top section */
.footer-top{
  max-width:1160px;margin:0 auto;
  display:grid;
  grid-template-columns:1.6fr 1fr 1fr 1fr;
  gap:3rem;
  padding:4rem 3rem 3rem;
}

/* Brand column */
.footer-col--brand{display:flex;flex-direction:column;align-items:flex-start}
.footer-col--brand img{margin-bottom:.8rem}
.footer-tagline{font-size:.82rem;color:rgba(255,255,255,.38);line-height:1.6;margin-bottom:1.4rem;max-width:220px;text-align:left}

/* Social icons */
.footer-socials{display:flex;flex-direction:column;gap:.65rem}
.fsoc{display:flex;align-items:center;gap:.6rem;text-decoration:none;font-size:.8rem;color:rgba(255,255,255,.38);transition:color .2s}
.fsoc:hover{color:rgba(255,255,255,.8)}

/* Link columns */
.footer-col h5{
  font-size:.68rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:rgba(255,255,255,.28);margin-bottom:1.1rem;
}
.footer-col ul{list-style:none}
.footer-col ul li{margin-bottom:.55rem}
.footer-col ul a,.footer-col ul span{
  text-decoration:none;color:rgba(255,255,255,.5);font-size:.83rem;
  transition:color .2s;line-height:1.5;
}
.footer-col ul a:hover{color:rgba(255,255,255,.85)}

/* Contact list */
.footer-contact li{display:flex;align-items:flex-start;gap:.55rem;margin-bottom:.7rem;color:rgba(255,255,255,.5);font-size:.83rem}
.footer-contact svg{flex-shrink:0;margin-top:2px;color:var(--o);opacity:.8}
.footer-contact a{text-decoration:none;color:rgba(255,255,255,.5);transition:color .2s}
.footer-contact a:hover{color:rgba(255,255,255,.85)}

/* Bottom bar */
.footer-bottom{
  border-top:1px solid rgba(255,255,255,.07);
  max-width:1160px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding:1.4rem 3rem;
}
.footer-bottom-copy{font-size:.72rem;color:rgba(255,255,255,.22)}
.footer-bottom-copy strong{color:rgba(255,255,255,.4)}
.footer-socials-mini{display:flex;gap:.6rem}
.footer-aureon{font-size:.72rem;color:rgba(255,255,255,.2)}
.footer-aureon a{color:rgba(255,255,255,.38);text-decoration:none;transition:color .2s}
.footer-aureon a:hover{color:rgba(255,255,255,.7)}

/* Nav social icons */
.nav-social{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:8px;color:var(--gray);border:1px solid var(--gb);transition:color .2s,border-color .2s;text-decoration:none}
.nav-social:hover{color:var(--blk);border-color:var(--blk)}
/* Override for dark footer context */
.footer-socials-mini .nav-social{color:rgba(255,255,255,.38);border-color:rgba(255,255,255,.1)}
.footer-socials-mini .nav-social:hover{color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.3)}

/* Footer responsive */
@media(max-width:960px){
  .footer-top{grid-template-columns:1fr 1fr;gap:2rem}
  .footer-col--brand{grid-column:1/-1}
}
@media(max-width:640px){
  .footer-top{grid-template-columns:1fr;padding:2.5rem 1.5rem 2rem}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:.8rem;padding:1.2rem 1.5rem}
}

/* ── REVEAL ── */
.reveal,.reveal-l,.reveal-r{opacity:0;transition:opacity .75s cubic-bezier(.16,1,.3,1),transform .75s cubic-bezier(.16,1,.3,1)}
.reveal{transform:translateY(26px)}
.reveal-l{transform:translateX(-24px)}
.reveal-r{transform:translateX(24px)}
.reveal.visible,.reveal-l.visible,.reveal-r.visible{opacity:1;transform:none}
.d1{transition-delay:.07s}.d2{transition-delay:.14s}.d3{transition-delay:.21s}
.d4{transition-delay:.28s}.d5{transition-delay:.35s}.d6{transition-delay:.42s}

/* ── RESPONSIVE ── */
@media(max-width:1024px){
  .bento{
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto;
    grid-template-areas:
      "A A"
      "B C"
      "D E"
      "F F"
      "G H"
      "I I";
  }
  .bc-A,.bc-F,.bc-I{min-height:260px}
  .bc-B,.bc-C,.bc-D,.bc-E,.bc-G,.bc-H{min-height:240px}
  .bc-F-grid{grid-template-columns:1fr}
  .bc-I{flex-direction:column !important;padding:1.4rem;gap:1rem}
  .bc-I-sep{width:80%;height:1px}
  .bc-I-cta{text-align:center}

  .plans-grid{grid-template-columns:1fr}
  .reviews-grid{grid-template-columns:1fr 1fr}
  .reviews-header{flex-direction:column;align-items:flex-start;gap:2rem}
  nav{padding:0 1.5rem}
  .hero,.services-section,.hiw3-section,.consult-section,.plans-section,.reviews-section,.cta-section{padding-left:1.5rem;padding-right:1.5rem}
  .partners{padding-left:1.5rem;padding-right:1.5rem}
}
@media(max-width:768px){
  nav ul{display:none}
  .hero{grid-template-columns:1fr;padding-top:88px;min-height:auto;padding-bottom:5rem}
  .hero-right{display:none}
  .hero-stats{position:static;margin-top:2.5rem;border-top:1px solid var(--gb);padding-top:1.5rem}
  .hstat{padding:0 1.2rem}
  .bento{grid-template-columns:1fr;grid-template-areas:"A""B""C""D""E""F""G""H""I"}
  .bc-F-grid{grid-template-columns:1fr}
  .reviews-grid{grid-template-columns:1fr}
  .plans-top{flex-direction:column;align-items:flex-start;gap:.5rem}
  .services-header{flex-direction:column;align-items:flex-start;gap:.8rem}
  .services-side{text-align:left;max-width:100%}
  .footer-inner{flex-direction:column;gap:1.2rem;text-align:center}
  .footer-links{flex-wrap:wrap;justify-content:center;gap:1.2rem}
}
