:root{
  /* Palette Architext (adapte si besoin) */
  --brand: #0c6689;
  --ink: #0f172a;
  --muted: #4b5563;
  --tile: #ffffff;
  --grad-a: #F8FCFF;  /* clair */
  --grad-b: #eaf6fb;  /* un peu plus soutenu */
}

/* Fond headerless + conteneur */
.home-blank{ background: linear-gradient(180deg, var(--grad-a), var(--grad-b)); color: var(--ink); }
.container{ max-width:1120px; margin-inline:auto; padding-inline:1rem; }

/* Layout plein écran : titre | hubs | CTA */
.home-hero{
  min-height:100svh;
  display:grid;
  grid-template-rows:auto 1fr auto;
  justify-items:center;               /* centre horizontalement chaque section */
}
.home-head,
.home-hubs,
.home-cta{
  width:min(1120px,100%);
  justify-self:center;
}

/* Respiration haut/bas */
.home-head{ padding-top:clamp(.5rem,2vh,2rem); }
.home-cta{  padding-bottom:clamp(.5rem,2vh,2rem); }

/* Titre + sous-titre */
.home-title{
  font-size:clamp(1.8rem,1.2rem + 3vw,3rem);
  line-height:1.1;
  letter-spacing:.3px;
  margin:0 0 .35rem;
  text-align:center;
}
.home-sub{
  text-align:center;
  opacity:.9;
  max-width:70ch;
  margin:.25rem auto 0;
}

/* Grille des hubs (centrée verticalement) */
.home-hubs{
  align-self:center;                  /* centre verticalement dans la rangée 1fr */
  display:grid;
  gap:clamp(.75rem,1.5vw,1.25rem);
  grid-template-columns:repeat(auto-fit, minmax(240px,1fr));
  margin:clamp(1rem,1.5vw,1.25rem) 0 clamp(1.5rem,3vw,2.5rem);
}

/* Tuiles */
.hub-tile{
  position:relative;
  display:block;
  text-decoration:none;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(0,0,0,.06);
  background:var(--tile);
  min-height:170px;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.hub-tile::before{
  content:"";
  position:absolute; inset:0;
  opacity:.12;
  transition:opacity .18s ease;
  background:linear-gradient(135deg, #5899AB, #060644); /* défaut */
}
.hub-tile:hover{ transform:translateY(-2px); box-shadow:0 16px 40px rgba(0,0,0,.12); border-color:rgba(0,0,0,.12); }
.hub-tile:hover::before{ opacity:.18; }

.hub-tile__body{ position:relative; padding:1rem 1rem 1.2rem; }
.hub-tile h2{ margin:.15rem 0 .35rem; font-size:1.18rem; }
.hub-tile p{ margin:0; color:var(--muted); }

/* Variantes visuelles par hub */
.hub--litt::before{ background:linear-gradient(135deg, #8aa7ff, #9ee6ff); }
.hub--uni::before { background:linear-gradient(135deg, #ffe8a3, #c9f7e1); }
.hub--auto::before{ background:linear-gradient(135deg, #b6f3c5, #bfe8ff); }
.hub--poli::before{ background:linear-gradient(135deg, #bcd8ff, #d9e7f3); }

/* CTA / formulaire d’abo */
.home-cta{
  display:flex;
  gap:.75rem;
  align-items:center;
  justify-content:center;
  flex-wrap:wrap;
}
.home-sub input[type=email]{
  padding:.75rem .95rem;
  min-width:260px;
  border:1px solid rgba(0,0,0,.15);
  border-radius:.6rem;
}
.home-sub button,
.home-cta .btn{
  padding:.75rem 1rem;
  border-radius:.6rem;
  background:var(--ghost-accent-color, var(--brand));
  color:#fff;
  border:0;
}
.home-sub small{ display:block; text-align:center; margin-top:.35rem; opacity:.85; }

/* Petits écrans */
@media (max-width:540px){
  .hub-tile{ min-height:150px; }
  .hub-tile h2{ font-size:1.1rem; }
}

/* Variante alternative (à activer si tu veux centrer tout le bloc d’un seul tenant)
.home-hero{ min-height:100svh; display:flex; flex-direction:column; }
.home-head{ margin-top:clamp(.5rem,2vh,2rem); }
.home-cta{ margin-top:auto; padding-bottom:clamp(1rem,3vh,2rem); }
*/
