/* InterMed · LP de Diagnóstico — base (tokens do Design Guide da LP) */
:root{
  --tinta:#0A1633; --tinta-2:#13224A;
  --petroleo:#0F3B90; --petroleo-2:#1F4FB3; --menta:#3295E8;
  --ambar:#3295E8; --ambar-2:#5AADF0;
  --papel:#F7F7F5; --branco:#FFFFFF;
  --texto-2:#46506A; --nevoa:#A7B3CC; --borda:#DADFE8; --erro:#B42318;

  --fonte-titulo:"Fraunces",Georgia,serif;
  --fonte-texto:"Inter",system-ui,sans-serif;
  --fonte-mono:"JetBrains Mono",ui-monospace,monospace;

  --raio-s:6px; --raio-m:12px; --raio-l:20px; --raio-pilula:999px;
  --sombra-1:0 1px 2px rgba(10,22,51,.06),0 4px 12px rgba(10,22,51,.05);
  --sombra-2:0 2px 4px rgba(10,22,51,.06),0 16px 40px rgba(10,22,51,.10);
  --brilho-ambar:0 8px 24px rgba(50,149,232,.35);

  --rapido:160ms; --medio:240ms; --lento:480ms;
  --curva:cubic-bezier(.2,.8,.2,1);
  --container:1200px; --coluna-leitura:720px;
  --margem:24px;
}
@media (min-width:1024px){:root{--margem:48px}}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:80px}
body{margin:0;background:var(--papel);color:var(--tinta);font:400 16px/26px var(--fonte-texto);font-feature-settings:'ss01','cv11';-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
@media (min-width:768px){body{font-size:17px;line-height:28px}}
img{max-width:100%;display:block}
a{color:var(--petroleo);text-underline-offset:3px}
a:hover{color:var(--petroleo-2)}
:focus-visible{outline:3px solid var(--petroleo-2);outline-offset:2px;border-radius:4px}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.container{max-width:calc(var(--container) + 2*var(--margem));margin:0 auto;padding-inline:var(--margem)}

/* Tipografia */
h1,h2{font-family:var(--fonte-titulo);font-weight:600;margin:0;text-wrap:balance;font-variation-settings:'SOFT' 50,'opsz' 72}
h1{font-size:clamp(2.25rem,1.4rem + 3.2vw,3.75rem);line-height:1.1;letter-spacing:-.02em}
h2{font-size:clamp(1.875rem,1.3rem + 2.2vw,2.75rem);line-height:1.18;letter-spacing:-.015em}
h1 em,h2 em{font-style:italic;font-weight:500}
h3{font:600 19px/26px var(--fonte-texto);letter-spacing:-.005em;margin:0}
@media (min-width:768px){h3{font-size:22px;line-height:30px}}
.texto-grande{font-size:17px;line-height:28px}
@media (min-width:768px){.texto-grande{font-size:20px;line-height:32px}}
.pequeno{font-size:14px;line-height:22px}
.tab{font-variant-numeric:tabular-nums}

/* Etiqueta de laudo: REF. 0X · NOME */
.etiqueta{display:inline-flex;align-items:center;gap:10px;font:500 11px/16px var(--fonte-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--petroleo);margin:0 0 16px}
.etiqueta::before{content:"";width:24px;height:1px;background:currentColor;flex:none}
.etiqueta.sem-traco::before{display:none}
@media (min-width:768px){.etiqueta{font-size:12px}}
.escuro .etiqueta{color:var(--menta)}

/* Marca-texto âmbar */
.marca-texto{background:linear-gradient(transparent 58%,rgba(50,149,232,.35) 58%,rgba(50,149,232,.35) 92%,transparent 92%) no-repeat;background-size:100% 100%;-webkit-box-decoration-break:clone;box-decoration-break:clone}
.js .marca-texto{background-size:0% 100%;transition:background-size 600ms var(--curva)}
.js .marca-texto.on{background-size:100% 100%}

/* Ícones Lucide */
.ic{width:20px;height:20px;flex:none;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}

/* Botões */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 28px;border-radius:var(--raio-m);font:600 16px/24px var(--fonte-texto);letter-spacing:.005em;text-decoration:none;border:1px solid transparent;cursor:pointer;transition:background-color var(--rapido) var(--curva),border-color var(--rapido) var(--curva),transform var(--rapido) var(--curva),box-shadow var(--rapido) var(--curva);-webkit-tap-highlight-color:transparent}
@media (min-width:768px){.btn{font-size:17px}}
.btn .ic{transition:transform var(--rapido) var(--curva)}
.btn-principal{background:var(--ambar);color:var(--tinta)}
.btn-principal:hover{background:var(--ambar-2);color:var(--tinta);transform:translateY(-2px);box-shadow:var(--brilho-ambar)}
.btn-principal:hover .ic{transform:translateX(4px)}
.btn-principal:active{transform:translateY(1px);box-shadow:none;transition-duration:100ms}
.btn-sec-escuro{background:transparent;color:#fff;border-color:rgba(255,255,255,.24)}
.btn-sec-escuro:hover{color:#fff;border-color:var(--menta);background:rgba(255,255,255,.06)}
.btn-sec-claro{background:transparent;color:var(--petroleo);border-color:var(--petroleo)}
.btn-sec-claro:hover{color:var(--petroleo);background:rgba(15,59,144,.06)}
@media (max-width:767px){.btn-bloco-mobile{width:100%}}

/* Texturas */
.rel{position:relative;isolation:isolate}
.ruido::after{content:"";position:absolute;inset:0;pointer-events:none;opacity:.035;z-index:-1;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.grade-ecg::before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;background-image:linear-gradient(rgba(50,149,232,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(50,149,232,.06) 1px,transparent 1px),linear-gradient(rgba(50,149,232,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(50,149,232,.12) 1px,transparent 1px);background-size:8px 8px,8px 8px,40px 40px,40px 40px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 80%);mask-image:radial-gradient(ellipse 70% 60% at 50% 40%,#000 30%,transparent 80%)}
.grade-ecg.clara::before{background-image:linear-gradient(rgba(15,59,144,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(15,59,144,.04) 1px,transparent 1px),linear-gradient(rgba(15,59,144,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(15,59,144,.07) 1px,transparent 1px)}
.bg-hero{background-color:var(--tinta);background-image:radial-gradient(60% 50% at 78% 20%,rgba(15,59,144,.45) 0%,transparent 70%),radial-gradient(40% 40% at 10% 90%,rgba(50,149,232,.12) 0%,transparent 70%)}
.escuro{background-color:var(--tinta);color:#fff}
.escuro h1,.escuro h2,.escuro h3{color:#fff}

/* Cabeçalho */
.topo{position:sticky;top:0;z-index:40;background:rgba(10,22,51,.92);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.08)}
.topo .container{display:flex;align-items:center;justify-content:space-between;height:68px;gap:16px}
.topo .logo img{height:32px;width:auto}
.topo .btn{min-height:44px;padding:0 18px;font-size:15px}
.topo.claro{background:rgba(247,245,240,.94);border-bottom-color:var(--borda)}
@media (max-width:767px){.topo .btn{display:none}}

/* Rodapé */
.rodape{background:var(--tinta-2);color:var(--nevoa);font-size:14px;line-height:22px;padding-block:56px calc(56px + env(safe-area-inset-bottom,0px))}
.rodape .container{display:grid;gap:32px}
@media (min-width:768px){.rodape .container{grid-template-columns:1.4fr 1fr 1fr}}
.rodape img{height:30px;width:auto;margin-bottom:16px}
.rodape h2{font:500 11px/16px var(--fonte-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--menta);margin:0 0 12px}
.rodape p{margin:0 0 6px}
.rodape a{color:#fff}
.rodape a:hover{color:var(--menta)}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .pulso path{stroke-dashoffset:0!important}
}
