/* =========================================================================
   VELORA — shared page chrome
   Header, footer, buttons and the "stub" hero used by the secondary pages
   (produit / manifeste / qui-je-suis). Colour, type and spacing come from
   tokens.css. The home page (index.html) keeps its own richer stylesheet.
   ========================================================================= */

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--font-body);color:var(--text-heading);background:var(--surface);
  line-height:var(--lh-body);font-size:var(--fs-base);-webkit-font-smoothing:antialiased;
  min-height:100vh;display:flex;flex-direction:column;
}
::selection{background:var(--selection-bg);color:var(--selection-text)}
a{color:inherit}
img{max-width:100%}
.wrap{max-width:var(--page-max);margin:0 auto;padding:0 var(--page-gutter)}

/* header */
header.site{
  position:sticky;top:0;z-index:20;background:var(--surface-header);
  backdrop-filter:saturate(180%) blur(12px);-webkit-backdrop-filter:saturate(180%) blur(12px);
  border-bottom:1px solid var(--border);
}
header.site .bar{
  max-width:var(--page-max);margin:0 auto;padding:15px var(--page-gutter);
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none}
.brand .mono{height:32px;width:auto}
.brand .word{height:20px;width:auto}
.nav{display:flex;gap:28px}
.nav a{
  text-decoration:none;font-size:.83rem;letter-spacing:.03em;
  font-weight:var(--fw-medium);color:var(--text-body);transition:color var(--ease);
}
.nav a:hover,.nav a.current{color:var(--text-accent)}

/* buttons */
.btn{
  display:inline-flex;align-items:center;gap:9px;text-decoration:none;white-space:nowrap;
  background:var(--action-bg);color:var(--action-text);padding:13px 26px;border-radius:var(--radius-pill);
  font-size:.86rem;letter-spacing:var(--ls-button);font-weight:var(--fw-semibold);
  transition:background var(--ease),transform var(--ease),box-shadow var(--ease);
}
.btn:hover{background:var(--action-bg-hover);transform:translateY(-2px);box-shadow:var(--shadow-button)}
.btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px}
.btn.lg{padding:16px 34px;font-size:.95rem}
.btn.ghost{background:transparent;color:var(--text-heading);border:1.5px solid var(--border-warm)}
.btn.ghost:hover{background:var(--surface-card);box-shadow:var(--shadow-soft)}

/* stub page hero */
main.stub{
  flex:1;display:flex;align-items:center;position:relative;overflow:hidden;
  padding:clamp(70px,14vw,150px) 0;
}
main.stub::before{
  content:"";position:absolute;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(48vw 44vw at 15% -10%, var(--glow-cool), transparent 60%),
    radial-gradient(44vw 40vw at 92% 8%, var(--glow-warm), transparent 58%);
}
main.stub .wrap{position:relative;z-index:1;max-width:var(--page-narrow)}
.eyebrow{
  display:inline-flex;align-items:center;gap:10px;font-size:var(--fs-eyebrow);
  letter-spacing:var(--ls-eyebrow);text-transform:uppercase;font-weight:var(--fw-semibold);
  color:var(--text-accent);margin-bottom:22px;
}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--text-accent);opacity:.6}
h1{
  font-family:var(--font-display);font-weight:var(--fw-medium);font-size:clamp(2.4rem,6vw,3.6rem);
  line-height:1.1;letter-spacing:-.01em;color:var(--text-heading);
}
.lead{
  font-size:var(--fs-lead);font-weight:var(--fw-light);color:var(--text-body);
  max-width:52ch;margin:24px 0 0;line-height:1.6;
}
.actions{margin-top:36px;display:flex;gap:14px;flex-wrap:wrap}

/* footer */
footer{
  border-top:1px solid var(--border);padding:30px var(--page-gutter);display:flex;
  justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center;font-size:.82rem;
  color:var(--text-muted);font-weight:var(--fw-light);max-width:var(--page-max);margin:0 auto;width:100%;
}
footer a{text-decoration:none}
footer a:hover{color:var(--text-accent)}
.foot-nav{display:flex;flex-wrap:wrap;gap:20px}

@media (max-width:880px){
  .nav{display:none}
  .brand .mono{height:28px}
  .brand .word{height:17px}
  .btn{padding:12px 20px;font-size:.8rem}
}
@media (prefers-reduced-motion:reduce){
  *{transition:none!important;animation:none!important}
  html{scroll-behavior:auto}
}
