:root{
  --navy-950:#061923;
  --navy-900:#0a2438;
  --navy-800:#103a55;
  --navy-700:#16516f;
  --blue-500:#237aa0;
  --gold-500:#b99150;
  --gold-400:#d1ad70;
  --ink:#12212d;
  --muted:#5d6a74;
  --line:#dce4e9;
  --soft:#f3f7f9;
  --white:#ffffff;
  --max:1180px;
  --radius:18px;
  --shadow:0 22px 60px rgba(7,32,48,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--white);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img,svg{max-width:100%}
a{color:inherit}
button{font:inherit}
.container{width:min(calc(100% - 40px),var(--max));margin-inline:auto}
.skip-link{
  position:absolute;left:-9999px;top:12px;background:#fff;color:#000;padding:10px 14px;z-index:1000;border-radius:8px
}
.skip-link:focus{left:12px}
.topbar{background:var(--navy-950);color:#dfeaf0;font-size:.78rem}
.topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.topbar a{color:#fff;font-weight:700;text-underline-offset:3px}
.site-header{
  background:rgba(255,255,255,.97);
  border-bottom:1px solid rgba(10,36,56,.09);
  position:sticky;top:0;z-index:50;
  backdrop-filter:blur(14px);
}
.header-inner{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:max-content}
.brand-mark{
  width:52px;height:52px;display:flex;align-items:center;justify-content:center;
  background:transparent;box-shadow:none;border-radius:0;overflow:visible;flex:0 0 52px
}
.brand-mark img{display:block;width:52px;height:52px;object-fit:contain}
.brand-copy{display:flex;flex-direction:column;line-height:1.22}
.brand-copy strong{font-size:1rem;letter-spacing:-.015em}
.brand-copy small{font-size:.67rem;color:var(--muted);margin-top:4px}
.main-nav{display:flex;align-items:center;gap:15px}
.main-nav>a{font-size:.84rem;text-decoration:none;font-weight:650;white-space:nowrap}
.main-nav>a:not(.nav-cta):hover{color:var(--navy-700)}
.nav-cta{
  background:var(--navy-900);color:#fff!important;padding:10px 14px;border-radius:10px;
  box-shadow:0 8px 18px rgba(10,36,56,.15)
}
.nav-toggle{display:none;border:0;background:transparent;width:44px;height:44px;padding:9px;cursor:pointer}
.nav-toggle span{display:block;height:2px;background:var(--ink);margin:6px 0}
.hero{
  position:relative;overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%,rgba(35,122,160,.18),transparent 28%),
    linear-gradient(135deg,#f8fbfc 0%,#eef4f7 58%,#e7f0f4 100%);
}
.hero-grid-bg{
  position:absolute;inset:0;opacity:.28;pointer-events:none;
  background-image:
    linear-gradient(rgba(16,58,85,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(16,58,85,.08) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(to right,transparent 0%,#000 45%,#000 100%);
}
.hero-layout{
  position:relative;z-index:2;min-height:620px;padding:90px 0;
  display:grid;grid-template-columns:1.08fr .92fr;gap:72px;align-items:center
}
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  text-transform:uppercase;letter-spacing:.14em;font-size:.72rem;font-weight:850;color:var(--navy-700)
}
.eyebrow:before{content:"";width:28px;height:2px;background:var(--gold-500)}
.hero h1{
  max-width:820px;margin:18px 0 24px;
  font-size:clamp(2.65rem,5vw,5.2rem);line-height:.98;letter-spacing:-.05em;color:var(--navy-950)
}
.hero-lead{max-width:720px;margin:0;color:#465866;font-size:1.1rem}
.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:32px}
.btn{
  min-height:48px;display:inline-flex;align-items:center;justify-content:center;
  padding:12px 18px;border-radius:11px;text-decoration:none;font-weight:800;font-size:.91rem;transition:.18s ease
}
.btn:hover{transform:translateY(-1px)}
.btn-primary{background:var(--navy-900);color:#fff;box-shadow:0 14px 28px rgba(10,36,56,.18)}
.btn-ghost{background:rgba(255,255,255,.72);border:1px solid rgba(10,36,56,.14);color:var(--navy-900)}
.hero-points{
  list-style:none;margin:27px 0 0;padding:0;display:flex;gap:18px;flex-wrap:wrap;color:#596a76;font-size:.83rem
}
.hero-points li{display:flex;align-items:center;gap:7px}
.hero-points li:before{content:"✓";display:grid;place-items:center;width:18px;height:18px;border-radius:50%;background:#dceaf0;color:var(--navy-700);font-weight:900}
.hero-visual{display:flex;justify-content:flex-end}
.technical-board{
  width:min(100%,470px);border:1px solid rgba(255,255,255,.7);border-radius:24px;
  background:linear-gradient(145deg,#0b2c42,#071e2d);
  box-shadow:0 35px 85px rgba(4,28,42,.25);padding:22px;color:#e9f3f7;position:relative;overflow:hidden
}
.technical-board:before{
  content:"";position:absolute;inset:0;background:
    linear-gradient(rgba(116,194,226,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(116,194,226,.07) 1px,transparent 1px);
  background-size:28px 28px;pointer-events:none
}
.board-top,.metric-row,.board-caption,.building-wireframe{position:relative;z-index:2}
.board-top{display:flex;justify-content:space-between;align-items:center;font-size:.65rem;letter-spacing:.14em;color:#acc4d0}
.status-dot{display:flex;align-items:center;gap:7px}
.status-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:#75d3a1;box-shadow:0 0 0 5px rgba(117,211,161,.1)}
.building-wireframe{
  height:300px;margin:24px 0 18px;border:1px solid rgba(145,202,226,.16);border-radius:16px;overflow:hidden;
  background:radial-gradient(circle at 50% 40%,rgba(52,144,180,.16),transparent 42%)
}
.tower{position:absolute;bottom:28px;border:2px solid rgba(115,196,227,.65);background:rgba(38,117,151,.09)}
.tower:before,.tower:after{content:"";position:absolute;left:15%;right:15%;border-top:1px solid rgba(123,198,228,.35);box-shadow:0 28px 0 rgba(123,198,228,.35),0 56px 0 rgba(123,198,228,.35),0 84px 0 rgba(123,198,228,.35),0 112px 0 rgba(123,198,228,.35)}
.tower:before{top:26px}
.tower:after{top:40px;left:50%;bottom:0;border-left:1px solid rgba(123,198,228,.25);border-top:0;box-shadow:none}
.tower-a{left:12%;width:30%;height:62%}
.tower-b{left:39%;width:36%;height:78%}
.tower-c{right:8%;width:21%;height:50%}
.scan-line{position:absolute;left:4%;right:4%;top:48%;height:1px;background:linear-gradient(90deg,transparent,#d3b36e,#7fd2ed,transparent);box-shadow:0 0 16px rgba(127,210,237,.65)}
.point{position:absolute;width:10px;height:10px;border:2px solid #d3b36e;border-radius:50%;background:#0b2c42;box-shadow:0 0 0 6px rgba(211,179,110,.12)}
.p1{left:26%;top:40%}.p2{left:58%;top:28%}.p3{right:17%;top:62%}
.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.metric-row>div{border:1px solid rgba(177,213,226,.13);border-radius:11px;padding:10px}
.metric-label{display:block;color:#7997a7;font-size:.54rem;letter-spacing:.12em}
.metric-row strong{display:block;font-size:.79rem;margin-top:3px}
.board-caption{display:flex;align-items:center;gap:10px;margin-top:18px;color:#a8c0cc;font-size:.73rem}
.board-caption span{width:24px;height:2px;background:var(--gold-400)}
.trust-strip{border-top:1px solid #e5ecef;border-bottom:1px solid #e5ecef;background:#fff}
.trust-grid{display:grid;grid-template-columns:repeat(3,1fr)}
.trust-grid>div{padding:24px 30px;border-right:1px solid #e5ecef}
.trust-grid>div:first-child{padding-left:0}
.trust-grid>div:last-child{border-right:0}
.trust-grid strong{display:block;font-size:.9rem;color:var(--navy-900)}
.trust-grid span{display:block;color:var(--muted);font-size:.78rem;margin-top:2px}
.section{padding:92px 0}
.section-soft{background:var(--soft)}
.section-dark{background:var(--navy-950);color:#ecf5f8}
.section-head{max-width:780px;margin-bottom:42px}
.section-head.centered{text-align:center;margin-left:auto;margin-right:auto}
.section-head.centered .eyebrow{justify-content:center}
.section-head h2{
  font-size:clamp(2rem,3.5vw,3.15rem);line-height:1.08;letter-spacing:-.035em;margin:14px 0 18px;color:var(--navy-950)
}
.section-head p{color:var(--muted);font-size:1rem}
.section-head.light h2{color:#fff}
.section-head.light p{color:#aec0ca}
.section-dark .eyebrow{color:#8dc8df}
.pillar-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pillar-card{
  position:relative;border:1px solid var(--line);border-radius:var(--radius);
  padding:30px;background:#fff;min-height:480px;display:flex;flex-direction:column;
  box-shadow:0 8px 30px rgba(17,42,58,.045)
}
.pillar-card.featured{border-color:#d7c49c;box-shadow:0 18px 50px rgba(116,86,35,.09)}
.pillar-card.featured:before{content:"PILAR EM DESTAQUE";position:absolute;right:18px;top:18px;font-size:.52rem;letter-spacing:.14em;color:#85672f}
.pillar-number{font-size:.7rem;letter-spacing:.15em;font-weight:900;color:var(--gold-500)}
.pillar-card h3{font-size:1.65rem;letter-spacing:-.03em;margin:16px 0 12px;color:var(--navy-950)}
.pillar-card p{color:var(--muted);font-size:.92rem}
.pillar-card ul{margin:16px 0 26px;padding:0;list-style:none}
.pillar-card li{padding:8px 0;border-bottom:1px solid #edf1f3;font-size:.88rem}
.pillar-card li:before{content:"—";color:var(--gold-500);margin-right:8px}
.text-link{margin-top:auto;color:var(--navy-700);font-weight:850;text-decoration:none;font-size:.88rem}
.text-link:hover{text-decoration:underline;text-underline-offset:4px}
.problem-layout{display:grid;grid-template-columns:.75fr 1.25fr;gap:70px;align-items:start}
.problem-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid rgba(255,255,255,.13);border-left:1px solid rgba(255,255,255,.13)}
.problem-grid article{padding:26px;border-right:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);min-height:190px}
.problem-grid span{color:var(--gold-400);font-size:.64rem;letter-spacing:.15em}
.problem-grid h3{font-size:1.05rem;margin:9px 0 9px;color:#fff}
.problem-grid p{color:#b8c9d2;font-size:.84rem;margin:0}
.process-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:70px}
.process-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}
.process-list li{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line)}
.process-list>li>span{font-weight:900;color:var(--gold-500);font-size:.72rem;letter-spacing:.12em}
.process-list h3{margin:0 0 4px;font-size:1.05rem}
.process-list p{margin:0;color:var(--muted);font-size:.9rem}
.audience-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.audience-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px}
.audience-grid strong{display:block;color:var(--navy-900)}
.audience-grid p{font-size:.84rem;color:var(--muted);margin-bottom:0}
.location-layout{display:grid;grid-template-columns:1.1fr .9fr;gap:64px;align-items:center}
.location-layout h2{font-size:clamp(2rem,3.5vw,3.1rem);line-height:1.08;letter-spacing:-.035em;margin:14px 0 20px;color:var(--navy-950)}
.location-layout p{color:var(--muted)}
.location-card{
  background:linear-gradient(145deg,var(--navy-900),#0c324a);color:#fff;border-radius:20px;padding:34px;box-shadow:var(--shadow)
}
.location-pin{font-size:2.4rem;color:var(--gold-400)}
.location-card strong{display:block;font-size:1.5rem;margin:10px 0 4px}
.location-card p{color:#abc0cb}
.location-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:20px}
.location-tags span{border:1px solid rgba(255,255,255,.16);border-radius:999px;padding:7px 10px;font-size:.72rem}
.authority-layout{display:grid;grid-template-columns:1.25fr .75fr;gap:22px}
.authority-box,.authority-quote{border-radius:var(--radius);padding:38px}
.authority-box{background:var(--soft);border:1px solid var(--line)}
.authority-box h2{font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.08;letter-spacing:-.03em;margin:14px 0}
.authority-box p{color:var(--muted);max-width:730px}
.authority-quote{background:var(--navy-950);color:#fff;display:flex;flex-direction:column;justify-content:center}
.authority-quote>span{font-weight:950;font-size:3rem;letter-spacing:-.08em;color:var(--gold-400)}
.authority-quote blockquote{font-size:1.45rem;line-height:1.3;margin:14px 0}
.authority-quote p{color:#a9bec8;font-size:.8rem}
.faq-list{border-top:1px solid var(--line)}
.faq-list details{border-bottom:1px solid var(--line);padding:0}
.faq-list summary{cursor:pointer;list-style:none;padding:22px 36px 22px 0;font-weight:800;position:relative}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list summary:after{content:"+";position:absolute;right:0;top:20px;font-size:1.4rem;color:var(--navy-700)}
.faq-list details[open] summary:after{content:"–"}
.faq-list details p{color:var(--muted);max-width:860px;margin:-4px 0 22px;font-size:.92rem}
.cta-band{background:linear-gradient(120deg,var(--navy-900),#0b3149);color:#fff;padding:70px 0}
.cta-layout{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}
.cta-band .eyebrow{color:#9ed1e5}
.cta-band h2{font-size:clamp(2rem,3.5vw,3rem);line-height:1.08;letter-spacing:-.035em;margin:14px 0}
.cta-band p{color:#b5c7d0}
.cta-actions{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.btn-light{background:#fff;color:var(--navy-900)}
.light-link{color:#fff}
.whatsapp-float{
  position:fixed;right:22px;bottom:22px;z-index:60;width:54px;height:54px;border-radius:50%;
  display:grid;place-items:center;text-decoration:none;background:#1f8f5f;color:#fff;
  box-shadow:0 14px 34px rgba(12,70,45,.28);font-size:1.5rem
}
.site-footer{background:#071822;color:#dce8ed;padding:58px 0 22px}
.footer-main{display:grid;grid-template-columns:1.25fr repeat(4,minmax(0,1fr));gap:30px}
.footer-main strong{color:#fff}
.footer-main p{color:#9fb2bc;font-size:.82rem}
.footer-brand>strong{font-size:1.1rem}
.footer-brand .muted{color:#758e9b}
.footer-links{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.footer-links a{color:#aabdc6;text-decoration:none;font-size:.82rem}
.footer-links a:hover{color:#fff}
.footer-note{border-top:1px solid rgba(255,255,255,.1);margin-top:34px;padding-top:18px}
.footer-note p{color:#758d99;font-size:.72rem;max-width:920px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);margin-top:18px;padding-top:18px;display:flex;justify-content:space-between;gap:20px;color:#748d99}
.footer-bottom a{color:#aebfc7;text-decoration:none;font-size:.75rem}

@media (max-width:1050px){
  .nav-toggle{
    display:block;
    margin-left:auto;
    position:relative;
    z-index:120;
    border-radius:10px;
    transition:background .18s ease;
  }
  .nav-toggle:hover{background:#f3f7f9}
  .nav-toggle span{
    transition:transform .2s ease,opacity .2s ease;
    transform-origin:center;
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(1){
    transform:translateY(8px) rotate(45deg);
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(2){
    opacity:0;
  }
  .nav-toggle[aria-expanded="true"] span:nth-child(3){
    transform:translateY(-8px) rotate(-45deg);
  }

  .main-nav{
    display:flex;
    position:fixed;
    top:0;
    right:0;
    left:auto;
    width:min(390px,88vw);
    height:100dvh;
    padding:92px 28px 30px;
    background:#fff;
    border-left:1px solid var(--line);
    box-shadow:-22px 0 50px rgba(8,31,46,.16);
    flex-direction:column;
    align-items:stretch;
    gap:0;
    overflow-y:auto;
    z-index:110;
    transform:translateX(105%);
    visibility:hidden;
    transition:transform .24s ease,visibility .24s ease;
  }
  .main-nav.open{
    transform:translateX(0);
    visibility:visible;
  }
  .main-nav>a{
    padding:13px 2px;
    border-bottom:1px solid #e9eef1;
    font-size:.92rem;
    white-space:normal;
  }
  .main-nav>a:not(.nav-cta):hover{
    color:var(--navy-700);
    padding-left:5px;
  }
  .main-nav .nav-cta{
    margin-top:18px;
    padding:13px 16px;
    text-align:center;
    border-bottom:0;
    border-radius:10px;
  }

  .nav-overlay{
    position:fixed;
    inset:0;
    background:rgba(6,25,35,.46);
    backdrop-filter:blur(2px);
    z-index:90;
    opacity:0;
    visibility:hidden;
    transition:opacity .22s ease,visibility .22s ease;
  }
  .nav-overlay.open{
    opacity:1;
    visibility:visible;
  }

  body.nav-open{
    overflow:hidden;
  }
  .hero-layout{grid-template-columns:1fr;gap:42px;padding:70px 0}
  .hero-visual{justify-content:flex-start}
  .technical-board{width:100%}
  .problem-layout,.process-layout,.location-layout,.authority-layout,.cta-layout{grid-template-columns:1fr;gap:38px}
  .pillar-grid{grid-template-columns:1fr}
  .pillar-card{min-height:auto}
  .audience-grid{grid-template-columns:repeat(2,1fr)}
  .footer-main{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){
  .container{width:min(calc(100% - 28px),var(--max))}
  .topbar-inner{min-height:42px}
  .topbar-inner span{display:none}
  .header-inner{min-height:72px}
  .brand-mark{width:42px;height:42px}
  .brand-copy strong{font-size:.92rem}
  .brand-copy small{max-width:210px}
  .hero-layout{min-height:auto;padding:58px 0}
  .hero h1{font-size:2.65rem}
  .hero-lead{font-size:1rem}
  .hero-actions{flex-direction:column;align-items:stretch}
  .btn{width:100%}
  .hero-points{display:grid;gap:9px}
  .technical-board{padding:16px}
  .building-wireframe{height:235px}
  .trust-grid{grid-template-columns:1fr}
  .trust-grid>div{border-right:0;border-bottom:1px solid #e5ecef;padding:18px 0}
  .trust-grid>div:last-child{border-bottom:0}
  .section{padding:68px 0}
  .section-head{margin-bottom:30px}
  .problem-grid{grid-template-columns:1fr}
  .problem-grid article{min-height:auto}
  .audience-grid{grid-template-columns:1fr}
  .authority-box,.authority-quote,.location-card{padding:26px}
  .footer-main{grid-template-columns:1fr}
  .footer-bottom{flex-direction:column}
  .whatsapp-float{right:14px;bottom:14px;width:50px;height:50px}
}

a:focus-visible,button:focus-visible,summary:focus-visible{
  outline:3px solid #d1ad70;
  outline-offset:3px;
  border-radius:6px;
}


/* =========================================================
   PASSO 3 — ENGENHARIA DIAGNÓSTICA
   ========================================================= */
.breadcrumbs{
  border-bottom:1px solid var(--line);
  background:#fff
}
.breadcrumbs-inner{
  min-height:46px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  font-size:.74rem;
  color:#71808a
}
.breadcrumbs a{
  color:var(--navy-700);
  text-decoration:none;
  font-weight:700
}
.breadcrumbs a:hover{text-decoration:underline;text-underline-offset:3px}

.diag-hero{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 82% 18%,rgba(35,122,160,.18),transparent 27%),
    linear-gradient(135deg,#f7fafb 0%,#eef4f7 58%,#e8f1f5 100%)
}
.diag-hero:before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.24;
  background-image:
    linear-gradient(rgba(16,58,85,.08) 1px,transparent 1px),
    linear-gradient(90deg,rgba(16,58,85,.08) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:linear-gradient(to right,transparent 0%,#000 50%,#000 100%);
  pointer-events:none
}
.diag-hero-layout{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:1.04fr .96fr;
  gap:68px;
  align-items:center;
  min-height:570px;
  padding:80px 0
}
.diag-hero h1{
  margin:17px 0 22px;
  max-width:840px;
  color:var(--navy-950);
  font-size:clamp(2.6rem,4.8vw,4.8rem);
  line-height:1;
  letter-spacing:-.05em
}
.diag-hero .lead{
  max-width:760px;
  color:#4e606d;
  font-size:1.07rem
}
.diag-hero .microcopy{
  margin-top:22px;
  color:#6e7b84;
  font-size:.79rem
}
.diag-hero-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:30px
}
.diag-panel{
  position:relative;
  min-height:405px;
  border-radius:24px;
  overflow:hidden;
  background:linear-gradient(145deg,#0b2c42,#071e2d);
  color:#e8f2f6;
  box-shadow:0 35px 80px rgba(4,28,42,.22);
  padding:24px
}
.diag-panel:before{
  content:"";
  position:absolute;
  inset:0;
  background-image:
    linear-gradient(rgba(125,202,230,.07) 1px,transparent 1px),
    linear-gradient(90deg,rgba(125,202,230,.07) 1px,transparent 1px);
  background-size:28px 28px
}
.diag-panel>*{position:relative;z-index:2}
.diag-panel-top{
  display:flex;
  justify-content:space-between;
  gap:16px;
  font-size:.62rem;
  letter-spacing:.15em;
  color:#9db6c2
}
.diag-radar{
  position:relative;
  width:260px;
  height:260px;
  margin:34px auto 26px;
  border:1px solid rgba(130,197,224,.22);
  border-radius:50%;
  background:
    radial-gradient(circle,rgba(35,122,160,.12) 0 2px,transparent 3px),
    repeating-radial-gradient(circle,transparent 0 42px,rgba(135,205,232,.12) 43px 44px),
    linear-gradient(90deg,transparent 49.7%,rgba(135,205,232,.13) 50%,transparent 50.3%),
    linear-gradient(transparent 49.7%,rgba(135,205,232,.13) 50%,transparent 50.3%)
}
.diag-radar:before{
  content:"";
  position:absolute;
  inset:50% 50% auto auto;
  width:47%;
  height:1px;
  transform-origin:left center;
  transform:rotate(-35deg);
  background:linear-gradient(90deg,#d1ad70,transparent);
  box-shadow:0 0 16px rgba(209,173,112,.55)
}
.diag-radar:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:116px;
  height:116px;
  border-radius:50%;
  transform:translate(-50%,-50%);
  border:1px dashed rgba(127,210,237,.23)
}
.radar-dot{
  position:absolute;
  width:11px;height:11px;border-radius:50%;
  background:#0b2c42;border:2px solid var(--gold-400);
  box-shadow:0 0 0 7px rgba(209,173,112,.1)
}
.radar-dot.d1{left:26%;top:31%}
.radar-dot.d2{right:22%;top:43%}
.radar-dot.d3{left:43%;bottom:20%}
.diag-panel-foot{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px
}
.diag-panel-foot div{
  border:1px solid rgba(177,213,226,.13);
  border-radius:11px;
  padding:10px
}
.diag-panel-foot span{
  display:block;
  color:#7793a2;
  font-size:.53rem;
  letter-spacing:.12em
}
.diag-panel-foot strong{
  display:block;
  margin-top:4px;
  font-size:.77rem
}

.diag-intro-grid{
  display:grid;
  grid-template-columns:.86fr 1.14fr;
  gap:68px;
  align-items:start
}
.diag-definition{
  position:sticky;
  top:125px;
  border-left:3px solid var(--gold-500);
  padding-left:28px
}
.diag-definition h2,
.diag-content-block h2,
.diag-local h2,
.diag-cta h2{
  margin:14px 0 18px;
  color:var(--navy-950);
  font-size:clamp(2rem,3.4vw,3.05rem);
  line-height:1.08;
  letter-spacing:-.035em
}
.diag-definition p,
.diag-content-block p,
.diag-local p{
  color:var(--muted)
}
.diag-note{
  margin-top:25px;
  padding:19px 20px;
  border-radius:13px;
  background:var(--soft);
  border:1px solid var(--line);
  font-size:.83rem;
  color:#586975
}
.diag-text-stack{
  display:grid;
  gap:22px
}
.diag-text-card{
  border:1px solid var(--line);
  border-radius:16px;
  padding:28px;
  background:#fff
}
.diag-text-card span{
  display:block;
  color:var(--gold-500);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.15em
}
.diag-text-card h3{
  margin:8px 0 8px;
  color:var(--navy-950);
  font-size:1.22rem
}
.diag-text-card p{
  margin:0;
  color:var(--muted);
  font-size:.9rem
}

.diag-signals{
  background:var(--navy-950);
  color:#fff
}
.diag-signals .section-head h2{color:#fff}
.diag-signals .section-head p{color:#abc0ca}
.diag-signals .eyebrow{color:#91cae0}
.signal-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  border-left:1px solid rgba(255,255,255,.12);
  border-top:1px solid rgba(255,255,255,.12)
}
.signal-grid article{
  min-height:210px;
  padding:27px;
  border-right:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.12)
}
.signal-grid span{
  color:var(--gold-400);
  font-size:.63rem;
  letter-spacing:.14em
}
.signal-grid h3{
  margin:11px 0 9px;
  color:#fff;
  font-size:1.08rem
}
.signal-grid p{
  margin:0;
  color:#b8c9d2;
  font-size:.86rem
}

.diag-services-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px
}
.diag-service-card{
  border:1px solid var(--line);
  border-radius:17px;
  padding:28px;
  background:#fff;
  box-shadow:0 8px 30px rgba(17,42,58,.04)
}
.diag-service-card .service-kicker{
  color:var(--gold-500);
  font-size:.61rem;
  font-weight:900;
  letter-spacing:.15em
}
.diag-service-card h3{
  margin:10px 0 10px;
  color:var(--navy-950);
  font-size:1.35rem;
  letter-spacing:-.02em
}
.diag-service-card p{
  margin:0;
  color:var(--muted);
  font-size:.9rem
}
.diag-service-card ul{
  list-style:none;
  margin:17px 0 0;
  padding:0
}
.diag-service-card li{
  padding:7px 0;
  border-bottom:1px solid #edf1f3;
  color:#3c4f5d;
  font-size:.84rem
}
.diag-service-card li:before{
  content:"—";
  margin-right:8px;
  color:var(--gold-500)
}

.method-timeline{
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line)
}
.method-timeline article{
  position:relative;
  padding:28px 22px;
  border-right:1px solid var(--line)
}
.method-timeline article:last-child{border-right:0}
.method-timeline .step{
  display:block;
  color:var(--gold-500);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.15em
}
.method-timeline h3{
  margin:11px 0 7px;
  font-size:1rem;
  color:var(--navy-950)
}
.method-timeline p{
  margin:0;
  color:var(--muted);
  font-size:.81rem
}

.diag-audience{
  background:var(--soft)
}
.diag-audience-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px
}
.diag-audience-grid article{
  padding:25px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:14px
}
.diag-audience-grid strong{
  display:block;
  color:var(--navy-900)
}
.diag-audience-grid p{
  margin:7px 0 0;
  color:var(--muted);
  font-size:.84rem
}
.diag-audience-grid a{
  display:inline-block;
  margin-top:13px;
  color:var(--navy-700);
  text-decoration:none;
  font-size:.8rem;
  font-weight:800
}
.diag-audience-grid a:hover{text-decoration:underline;text-underline-offset:3px}

.diag-local-layout{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:60px;
  align-items:center
}
.diag-local-box{
  padding:34px;
  border-radius:19px;
  background:linear-gradient(145deg,var(--navy-900),#0b3149);
  color:#fff;
  box-shadow:var(--shadow)
}
.diag-local-box .local-label{
  color:var(--gold-400);
  text-transform:uppercase;
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.15em
}
.diag-local-box strong{
  display:block;
  margin:10px 0 8px;
  font-size:1.45rem
}
.diag-local-box p{
  color:#b1c3cc;
  font-size:.86rem
}
.diag-local-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:20px
}
.diag-local-tags span{
  border:1px solid rgba(255,255,255,.16);
  border-radius:999px;
  padding:7px 10px;
  font-size:.72rem
}

.diag-faq .faq-list{margin-top:18px}

.diag-crosslinks{
  padding-top:0
}
.crosslink-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:15px
}
.crosslink-card{
  display:block;
  padding:25px;
  border:1px solid var(--line);
  border-radius:15px;
  text-decoration:none;
  background:#fff
}
.crosslink-card:hover{
  border-color:#bfcfd8;
  box-shadow:0 12px 28px rgba(17,42,58,.06)
}
.crosslink-card span{
  display:block;
  color:var(--gold-500);
  font-size:.59rem;
  font-weight:900;
  letter-spacing:.14em
}
.crosslink-card strong{
  display:block;
  margin:8px 0 6px;
  color:var(--navy-900)
}
.crosslink-card p{
  margin:0;
  color:var(--muted);
  font-size:.82rem
}

.diag-cta{
  background:linear-gradient(120deg,var(--navy-900),#0b3149);
  color:#fff;
  padding:72px 0
}
.diag-cta-layout{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:52px;
  align-items:center
}
.diag-cta h2{color:#fff}
.diag-cta p{color:#b7c8d0}
.diag-cta .eyebrow{color:#9ed1e5}

@media (max-width:1050px){
  .diag-hero-layout,
  .diag-intro-grid,
  .diag-local-layout,
  .diag-cta-layout{
    grid-template-columns:1fr;
    gap:38px
  }
  .diag-definition{position:static}
  .signal-grid{grid-template-columns:repeat(2,1fr)}
  .method-timeline{grid-template-columns:repeat(2,1fr)}
  .method-timeline article:nth-child(2n){border-right:0}
  .method-timeline article:last-child{border-right:1px solid var(--line)}
  .diag-audience-grid{grid-template-columns:repeat(2,1fr)}
  .crosslink-grid{grid-template-columns:1fr}
}
@media (max-width:680px){
  .diag-hero-layout{min-height:auto;padding:58px 0}
  .diag-hero h1{font-size:2.55rem}
  .diag-panel{min-height:auto;padding:17px}
  .diag-radar{width:220px;height:220px}
  .diag-panel-foot{grid-template-columns:1fr}
  .diag-services-grid,
  .signal-grid,
  .method-timeline,
  .diag-audience-grid{
    grid-template-columns:1fr
  }
  .signal-grid article{min-height:auto}
  .method-timeline article,
  .method-timeline article:nth-child(2n),
  .method-timeline article:last-child{
    border-right:0
  }
}


/* =========================================================
   PASSO 3.1 — REVISÃO DE LEITURA, ESPAÇAMENTO E FAQ
   ========================================================= */
.diag-hero-layout{gap:54px;min-height:520px;padding:72px 0}
.diag-hero h1{
  font-size:clamp(2.35rem,4vw,4.45rem);
  line-height:1.02;
  margin-bottom:10px;
  max-width:760px
}
.hero-subtitle{
  margin:0 0 20px;
  color:#345266;
  font-size:1.02rem;
  font-weight:700;
  line-height:1.45
}
.diag-hero .lead{max-width:860px}
.diag-panel{min-height:370px}
.diag-panel-foot{
  gap:12px;
  align-items:stretch
}
.diag-panel-foot div{
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:68px
}
.diag-panel-foot span{
  margin-bottom:4px;
  white-space:nowrap
}
.diag-panel-foot strong{
  margin-top:0;
  line-height:1.15
}

.section{padding:84px 0}
.section-head{margin-bottom:34px}
.section-head h2{max-width:930px}
.diag-intro-grid{gap:46px}
.diag-text-stack{gap:16px}
.diag-text-card{padding:24px}
.diag-text-card h3{line-height:1.25}
.signal-grid article{min-height:176px;padding:24px}
.diag-services-grid{gap:16px}
.diag-service-card{padding:24px}
.method-timeline{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  border:0
}
.method-timeline article{
  display:grid;
  grid-template-columns:74px 1fr;
  gap:18px;
  align-items:start;
  padding:22px 0;
  border-right:0;
  border-bottom:1px solid var(--line)
}
.method-timeline article:first-child{border-top:1px solid var(--line)}
.method-timeline .step-badge{
  width:58px;
  height:58px;
  border-radius:14px;
  background:linear-gradient(145deg,var(--navy-900),#12384e);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  font-size:1.12rem;
  letter-spacing:-.02em;
  box-shadow:0 10px 24px rgba(17,42,58,.12)
}
.method-timeline .step-content h3{
  margin:2px 0 6px;
  font-size:1.14rem;
  color:var(--navy-950)
}
.method-timeline .step-content p{
  margin:0;
  color:var(--muted);
  font-size:.9rem
}

.diag-local-layout{gap:42px}
.diag-faq .section-head{margin-bottom:26px}
.faq-list{display:grid;gap:12px}
.faq-list details{
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  padding:0 18px
}
.faq-list summary{
  padding:18px 0;
  cursor:pointer;
  list-style:none;
  font-weight:800;
  color:var(--navy-950)
}
.faq-list summary::-webkit-details-marker{display:none}
.faq-list details[open] summary{padding-bottom:10px}
.faq-list details p{
  margin:0 0 18px;
  color:var(--muted);
  font-size:.92rem
}
.diag-cta{padding:64px 0}

@media (max-width:1100px){
  .diag-hero-layout{grid-template-columns:1fr;gap:30px;min-height:auto}
  .diag-panel{max-width:680px}
}
@media (max-width:820px){
  .section{padding:68px 0}
  .hero-subtitle{font-size:.95rem}
  .diag-hero h1{
    font-size:clamp(2rem,7.4vw,3.2rem);
    max-width:100%
  }
  .diag-hero .lead{
    font-size:1rem;
    line-height:1.62
  }
  .diag-panel{
    min-height:auto;
    padding:18px;
    border-radius:18px
  }
  .diag-radar{
    width:200px;
    height:200px;
    margin:22px auto 18px
  }
  .diag-panel-top{
    font-size:.58rem;
    gap:10px
  }
  .diag-panel-foot{
    grid-template-columns:1fr;
    gap:10px
  }
  .diag-definition{
    border-left-width:2px;
    padding-left:18px
  }
  .diag-definition h2,
  .diag-content-block h2,
  .diag-local h2,
  .diag-cta h2{
    font-size:clamp(1.6rem,6.4vw,2.2rem)
  }
  .signal-grid{grid-template-columns:1fr}
  .signal-grid article{min-height:auto}
  .diag-services-grid,
  .diag-audience-grid,
  .crosslink-grid{grid-template-columns:1fr}
  .method-timeline article{
    grid-template-columns:62px 1fr;
    gap:14px;
    padding:18px 0
  }
  .method-timeline .step-badge{
    width:50px;height:50px;font-size:1rem
  }
}
@media (max-width:560px){
  .diag-hero-layout{padding:56px 0}
  .section-head{margin-bottom:26px}
  .diag-text-card,
  .diag-service-card,
  .diag-local-box{
    padding:20px
  }
  .method-timeline .step-content h3{font-size:1.05rem}
}


/* =========================================================
   PASSO 3.2 — NUMERAÇÃO INLINE E ESPAÇOS MAIS CURTOS
   ========================================================= */
.signal-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.signal-grid article{
  min-height:auto;
  padding:22px 22px 20px;
}
.item-inline-head{
  display:flex;
  align-items:baseline;
  gap:10px;
  margin-bottom:10px;
  flex-wrap:wrap;
}
.item-number{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  font-size:.95rem;
  font-weight:900;
  color:var(--accent);
  letter-spacing:.06em;
  line-height:1;
}
.item-inline-head h3{
  margin:0;
  line-height:1.18;
  font-size:1.3rem;
  color:var(--navy-950);
}
.signal-grid article p{
  margin:0;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.65;
}

.method-timeline{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
}
.method-timeline article{
  padding:18px 0;
  border-top:1px solid var(--line);
}
.method-timeline article:last-child{
  border-bottom:1px solid var(--line);
}
.method-timeline .item-inline-head{
  margin-bottom:8px;
}
.method-timeline .item-inline-head h3{
  font-size:1.15rem;
}
.method-timeline p{
  margin:0 0 0 44px;
  color:var(--muted);
  font-size:.92rem;
  line-height:1.65;
}

/* afina espaços de seções dessa página */
.diag-definition .diag-definition-grid,
.diag-intro-grid,
.diag-local-layout{
  gap:30px;
}
.section{padding:76px 0}
.section-head{margin-bottom:24px}
.diag-content-block .section-head{margin-bottom:20px}
.diag-hero-layout{padding:60px 0}

@media (max-width:900px){
  .signal-grid{
    grid-template-columns:1fr;
    gap:14px;
  }
}
@media (max-width:820px){
  .section{padding:60px 0}
  .item-inline-head{
    gap:8px;
    margin-bottom:8px;
  }
  .item-number{
    min-width:30px;
    font-size:.9rem;
  }
  .item-inline-head h3{
    font-size:1.08rem;
  }
  .method-timeline article{
    padding:14px 0;
  }
  .method-timeline p{
    margin-left:38px;
    font-size:.9rem;
  }
  .signal-grid article{
    padding:18px;
  }
}


/* PASSO 11.1 — refinamento do menu lateral */
@media (max-width:680px){
  .main-nav{
    width:min(360px,92vw);
    padding:84px 22px 26px;
  }
  .main-nav>a{
    padding:12px 2px;
    font-size:.9rem;
  }
}


/* PASSO 15.1 — PARCERIAS NO MENU */
.nav-section-label,
.nav-partner-link{
  display:none;
}

@media (max-width:1050px){
  .main-nav .nav-section-label{
    display:block;
    margin-top:14px;
    padding:15px 2px 7px;
    color:var(--gold-500);
    font-size:.62rem;
    font-weight:900;
    letter-spacing:.14em;
    text-transform:uppercase;
    border-bottom:0;
  }

  .main-nav .nav-partner-link{
    display:block;
    padding-left:16px;
    color:var(--navy-800);
    font-size:.88rem;
    background:#f8fafb;
  }

  .main-nav .nav-partner-link + .nav-partner-link{
    border-top:0;
  }
}

/* PASSO 15.1 — PARCERIAS B2B NA HOME */
.b2b-partners{
  background:#fff;
}

.b2b-partner-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  max-width:1120px;
  margin:0 auto;
}

.b2b-partner-card{
  padding:30px;
  border:1px solid var(--line);
  border-radius:16px;
  background:linear-gradient(145deg,#fff,#f8fafb);
  box-shadow:0 8px 26px rgba(7,30,45,.045);
}

.b2b-partner-label{
  display:block;
  color:var(--gold-500);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.13em;
}

.b2b-partner-card h3{
  margin:10px 0 12px;
  color:var(--navy-950);
  font-size:1.35rem;
  line-height:1.24;
}

.b2b-partner-card p{
  margin:0;
  color:var(--muted);
  font-size:.88rem;
  line-height:1.65;
}

.b2b-partner-card ul{
  margin:18px 0 18px;
  padding-left:19px;
}

.b2b-partner-card li{
  margin:7px 0;
  color:#53636d;
  font-size:.82rem;
  line-height:1.48;
}

@media(max-width:900px){
  .b2b-partner-grid{
    grid-template-columns:1fr;
  }
}


/* PASSO 19 — LINKS DE TRANSPARÊNCIA E POLÍTICAS */
.footer-legal{
  padding-top:14px;
  padding-bottom:14px;
  border-top:1px solid rgba(255,255,255,.09);
}

.footer-legal nav{
  display:flex;
  flex-wrap:wrap;
  gap:9px 18px;
}

.footer-legal a{
  color:#9fb6c1;
  font-size:.68rem;
  font-weight:700;
  text-decoration:none;
}

.footer-legal a:hover{
  color:#fff;
}


/* CORREÇÃO 24.2 — CTA secundário de contato na Home */
.home-contact-link{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:4px 2px;
  position:relative;
  z-index:2;
}

@media(max-width:720px){
  .home-contact-link{
    width:max-content;
    max-width:100%;
    min-height:48px;
    padding:8px 2px;
  }
}
