/* =====================================================================
   BOOOT · CHASSI · _MARCA/patterns/chassis.css
   A camada de RITMO VERTICAL e layout que TODA superficie consome:
   Portal (Area 1, ja tem .lp) · Plataforma (Area 2, opta com .chassis) · posts.

   Regra-mae: a SEÇÃO NAO inventa espaçamento. Existe UM ritmo (--section-pad)
   e um grande so pros extremos (--section-pad-lg). Todo limite entre seções
   é 2x o ritmo, uniforme em 100% do portal. O gap virou defeito MENSURAVEL
   (_MOTOR/.gates/rhythm-gate.mjs), nunca o olho do dono.
   Proveniencia do padrao: every-layout (Stack) + DS B2B v1.3.0. Adotado, nao inventado.
   ===================================================================== */
:root{
  --section-pad: clamp(var(--space-6), 5.5vw, var(--space-7));   /* 48->64px · o ritmo padrao de TODA seção */
  --section-pad-lg: clamp(var(--space-7), 8vw, var(--space-8));  /* 64->80px · so o TOPO do hero e o EMBAIXO do fecho */
  --stack: var(--space-4);                                        /* respiro vertical padrao entre irmaos num bloco */
}

/* ---- SEÇÃO · o tijolo do chassi · herda o ritmo, zero override por pagina ---- */
:is(.chassis, .lp) main > section,
:is(.chassis, .lp) > section{ padding-block: var(--section-pad); }

/* divisor UNICO entre seções adjacentes (substitui os border-top espalhados nas paginas) */
:is(.chassis, .lp) main > section + section,
:is(.chassis, .lp) > section + section{ border-top: var(--hairline-dark); }

/* extremos: o hero respira no TOPO, o fecho respira EMBAIXO · o limite INTERNO entre seções fica uniforme */
:is(.chassis, .lp) .hero,
:is(.chassis, .lp) .doc-hero{ padding-block: var(--section-pad-lg) var(--section-pad); }
:is(.chassis, .lp) .closing,
:is(.chassis, .lp) .doc-cta{ padding-block: var(--section-pad) var(--section-pad-lg); }

/* ---- STACK · respiro vertical interno previsível (every-layout) · mata o margin-top solto ---- */
.stack{ display:flex; flex-direction:column; }
.stack > * + *{ margin-block-start: var(--stack); }
.stack--tight > * + *{ margin-block-start: var(--space-3); }
.stack--loose > * + *{ margin-block-start: var(--space-6); }
