/* INFOHAS v2 — Base (mobile-first) */

/* Programa Visual Premium V1 (ADR-0025) — Inter Variable (subset
 * Latin Extended, wght 400-700, opsz pinned 18 · 51 KB).
 * font-display: swap evita FOIT; preload via <link> opcional. */
@font-face{
  font-family:"Inter Variable";
  src:url("/static/v2/fonts/InterVariable.woff2") format("woff2-variations"),
      url("/static/v2/fonts/InterVariable.woff2") format("woff2");
  font-weight:400 700;
  font-style:normal;
  font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,
    U+02DA,U+02DC,U+2000-206F,U+2074,U+20AC,U+2122,U+2212,U+FEFF,
    U+FFFD,U+0100-024F,U+0259,U+1E00-1E9F,U+2020;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body.ih-body{font-family:var(--ih-font-display);background:var(--ih-bg);color:var(--ih-ink);
  line-height:var(--ih-leading-normal);
  font-feature-settings:"kern","liga","calt","case","cv11";
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
  position:relative}
/* Wave 2.7B: ambient grain layer (silent premium).
 * Camada fixed atras de tudo (z-index:-1), 2% opacity, multiply blend.
 * O utilizador NAO ve grao — sente que o site nao e "Figma flat".
 * pointer-events:none garante zero impacto em UX. */
body.ih-body::before{content:"";position:fixed;inset:0;z-index:-1;
  pointer-events:none;background-image:var(--ih-grain);
  background-size:160px 160px;opacity:.020;mix-blend-mode:multiply}
@media (prefers-color-scheme:dark){
  body.ih-body::before{opacity:.035;mix-blend-mode:overlay}
}
@media (prefers-reduced-motion:reduce){body.ih-body::before{opacity:.012}}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.ih-main{min-height:60vh}
.ih-muted{color:var(--ih-ink-soft)}
.ih-note{margin-top:24px;font-size:13px;color:var(--ih-ink-soft);
  border-top:1px solid var(--ih-line);padding-top:16px}
/* Tipografia · ADR-0025 (V1 Fase B). Hierarquia explícita via tokens. */
h1,h2,h3,h4{letter-spacing:var(--ih-tracking-tight);line-height:var(--ih-leading-tight);font-weight:600}
h1{font-size:clamp(var(--ih-type-2xl),8vw,var(--ih-type-4xl));font-weight:700}
h2{font-size:clamp(var(--ih-type-xl),5vw,var(--ih-type-2xl));font-weight:600}
h3{font-size:clamp(var(--ih-type-lg),3vw,var(--ih-type-xl));font-weight:600}
h4{font-size:var(--ih-type-lg);font-weight:600}
p{line-height:var(--ih-leading-normal)}
small{font-size:var(--ih-type-sm);color:var(--ih-ink-soft)}

/* Wave 3.3: section rhythm rebalanced — denser premium editorial density.
 * Era 64-128px (too empty, "landing page" feel); agora 40-72px (Apple
 * editorial density). Hero compact + section denser = paginas sentem-se
 * "immediate, premium, integrated" em vez de "empty, delayed". */
.ih-section{max-width:var(--ih-maxw);margin:0 auto;padding:clamp(40px,6vw,72px) var(--ih-space)}
/* Wave 2.7B: section--alt deixa de ser flip de cor solido.
 * Continua a usar bg-alt (warm ivory deeper) mas com bleed atmosferico
 * top/bottom — as bordas dissolvem em vez de cortarem. */
.ih-section--alt{background:var(--ih-bg-alt);max-width:none;
  position:relative;isolation:isolate}
.ih-section--alt>*{max-width:var(--ih-maxw);margin-inline:auto}
.ih-section--alt::before,.ih-section--alt::after{content:"";
  position:absolute;left:0;right:0;height:72px;pointer-events:none;z-index:-1}
.ih-section--alt::before{top:0;
  background:linear-gradient(180deg, var(--ih-bg) 0%, transparent 100%);
  opacity:.6}
.ih-section--alt::after{bottom:0;
  background:linear-gradient(0deg, var(--ih-bg) 0%, transparent 100%);
  opacity:.6}
.ih-section--top{padding-top:calc(var(--ih-nav-h) + 48px)}
.ih-section__head{text-align:center;margin-bottom:clamp(28px,5vw,52px)}
.ih-section__head p{color:var(--ih-ink-soft);margin-top:10px;font-size:17px}
.ih-crumb{font-size:13px;color:var(--ih-ink-soft);margin-bottom:18px}

/* Botões */
.ih-btn{display:inline-flex;align-items:center;justify-content:center;
  padding:13px 24px;border-radius:980px;font-size:15px;font-weight:500;
  border:1px solid transparent;cursor:pointer;transition:transform .25s var(--ih-ease),opacity .2s}
.ih-btn--sm{padding:8px 16px;font-size:13px}
.ih-btn--primary{background:var(--ih-accent);color:var(--ih-accent-ink)}
.ih-btn--ghost{background:transparent;border-color:var(--ih-line);color:var(--ih-ink)}
.ih-btn:hover{transform:translateY(-1px)}
.ih-btn:active{transform:translateY(0);opacity:.85}
