  :root{
    --primary-blue:#003366;
    --secundary-blue:#2563EB;
    
    --steel-blue:#35505C;
    --steel-blue-light:#5A7885;
    --plate:#C8CDD1;
    --plate-dark:#9AA3A9;
    --paper:#F2F1ED;
    --paper-line: rgba(26,29,31,0.12);
    --paper-line-dark: rgba(242,241,237,0.14);
  }
 
  *{ box-sizing:border-box; margin:0; padding:0; }
 
  body{
    font-family:'IBM Plex Sans', sans-serif;
    color:var(--ink);
    background:var(--paper);
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
  }
 
  h1,h2,h3,.num{
    font-family:'Barlow Condensed', sans-serif;
    font-weight:700;
    letter-spacing:0.01em;
    color:var(--graphite);
  }
 
  .wrap{
    max-width:1120px;
    margin:0 auto;
    padding:0 32px;
  }
 
  a{ color:inherit; }
 
  /* ---------- HERO ---------- */
  .hero{
    background:var(--primary-blue);
    color:var(--paper);
    padding:96px 0 72px;
    position:relative;
    overflow:hidden;
  }
 
  .hero-grid{
    display:grid;
    grid-template-columns:280px 1fr;
    gap:56px;
    align-items:center;  
    position:relative;
  }
  .hero::before{
    content:"";
    position:absolute;
    inset:0;
    background-image:
      linear-gradient(var(--paper-line-dark) 1px, transparent 1px),
      linear-gradient(90deg, var(--paper-line-dark) 1px, transparent 1px);
    background-size:48px 48px;
    opacity:0.4;
    pointer-events:none;
  }
 
  .plate{
    background:var(--secundary-blue);
    border:1px solid rgba(0,0,0,0.25);
    border-radius:4px;
    padding:28px 20px 22px;
    box-shadow:
      0 1px 0 rgba(255,255,255,0.4) inset,
      0 8px 24px rgba(0,0,0,0.35);
    animation:plate-in 0.7s cubic-bezier(.2,.7,.2,1) both;
  }
 
  @keyframes plate-in{
    from{ opacity:0; transform:translateY(14px); }
    to{ opacity:1; transform:translateY(0); }
  }
 
  .plate .num{
    font-size:96px;
    line-height:0.85;
    color:var(--graphite);
  }
  .plate .num-unit{
    font-family:'Barlow Condensed', sans-serif;
    font-size:15px;
    letter-spacing:0.14em;
    color:var(--ink);
    display:block;
    margin-top:6px;
    border-top:1px solid rgba(0,0,0,0.3);
    padding-top:8px;
  }
 
  .hero-copy .eyebrow{
    font-family:'IBM Plex Sans', sans-serif;
    font-size:13px;
    color:var(--steel-blue-light);
    margin-bottom:14px;
  }
 
  .hero-copy h1{
    font-size:44px;
    line-height:1.08;
    max-width:15ch;
    margin-bottom:20px;
  }
 
  .hero-copy p{
    font-size:17px;
    max-width:52ch;
    color:var(--plate);
  }
 
  /* ---------- STATS / FICHA TÉCNICA ---------- */
  .stats{
    background:var(--paper);
    border-bottom:1px solid var(--paper-line);
  }
 
  .stats-row{
    display:grid;
    grid-template-columns:1fr 1fr 1fr;
  }
 
  .stat{
    padding:36px 32px;
    border-left:1px solid var(--paper-line);
  }
  .stat:first-child{ border-left:none; padding-left:0; }
 
  .stat .num{
    font-size:40px;
    color:var(--primary-blue);
    line-height:1;
  }
 
  .stat .label{
    font-size:14px;
    color:var(--ink);
    margin-top:8px;
    max-width:22ch;
  }
 
  /* ---------- HISTÓRIA ---------- */
  .story{
    padding:88px 0;
  }
  .story .story-logo img{
    max-width:350px;
    margin-top: 1rem;
    border-radius: 8px;
  }
  .story-grid{
    display:grid;
    grid-template-columns:1fr 1.6fr;
    gap:64px;
  }
 
  .story h2{
    font-size:34px;
    line-height:1.1;
    position:sticky;
    top:32px;
    color:var(--primary-blue);
  }
 
  .story-body p{
    margin-top:16px;
    font-size:17px;
    max-width:58ch;
    margin-bottom:18px;
    color:var(--ink);
  }
 
  .story-body p:first-child{
    font-size:20px;
    color:var(--graphite);
  }
 
  /* ---------- SERVIÇOS ---------- */
  .services{
    background:var(--primary-blue);
    color:var(--paper);
    padding:88px 0 96px;
  }
 
  .services h2{
    color:var(--paper);
    font-size:30px;
    margin-bottom:8px;
  }
 
  .services .sub{
    color:var(--plate-dark);
    font-size:15px;
    margin-bottom:48px;
  }
 
  .service-list{
    border-top:1px solid var(--paper-line-dark);
  }
 
  .service{
    display:grid;
    grid-template-columns:120px 1fr;
    gap:32px;
    padding:28px 0;
    border-bottom:1px solid var(--paper-line-dark);
    align-items:baseline;
  }
 
  .service .code{
    font-family:'Barlow Condensed', sans-serif;
    font-size:15px;
    letter-spacing:0.08em;
    
  }
 
  .service h3{
    color:var(--paper);
    font-size:22px;
    font-weight:600;
    margin-bottom:8px;
  }
 
  .service p{
    color:var(--plate);
    font-size:15.5px;
    max-width:56ch;
  }
 
  /* ---------- COBERTURA NACIONAL ---------- */
  .coverage{
    padding:72px 0;
  }
 
  .coverage-inner{
    display:flex;
    align-items:center;
    gap:40px;
    border-top:1px solid var(--paper-line);
    border-bottom:1px solid var(--paper-line);
    padding:36px 0;
  }
 
  .coverage svg{ flex-shrink:0; }
 
  .coverage h3{
    font-size:24px;
    margin-bottom:4px;
  }
 
  .coverage p{
    color:var(--ink);
    font-size:15.5px;
  }
 .onde-estamos{
    width: 100%;
    max-height: 500px ;
    margin-bottom: 2rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

 /* ---------- Onde Estamos --------- */
.onde-estamos h1{
    font-size: 2rem;
    color: var(--primary-blue);
    margin-bottom: 1rem;
} 
.onde-estamos .map-box iframe{
    width: 400px;
    height: 300px;
    border-radius: 8px;
    overflow: hidden;
    border: 2px solid var(--paper-line);
 }
  /* ---------- RESPONSIVE ---------- */
  @media (max-width:820px){
    .hero-grid{ grid-template-columns:1fr; }
    .plate{ width:180px; }
    .plate .num{ font-size:72px; }
    .hero-copy h1{ font-size:34px; }
    .stats-row{ grid-template-columns:1fr; }
    .stat{ border-left:none; border-top:1px solid var(--paper-line); padding-left:0; }
    .stat:first-child{ border-top:none; }
    .story-grid{ grid-template-columns:1fr; gap:24px; }
    .story h2{ position:static; }
    .service{ grid-template-columns:1fr; gap:6px; }
    .coverage-inner{ flex-direction:column; align-items:flex-start; }
  }
 
  @media (prefers-reduced-motion: reduce){
    .plate{ animation:none; }
  }
 
  :focus-visible{
    outline:2px solid var(--steel-blue-light);
    outline-offset:3px;
  }
