/* Replicant Atelier — couche « maison » partagée (toutes pages).
   Chargée APRÈS atelier.css. Règle des deux matières : l'OR trace (filets,
   numéros, poinçon, petites capitales — le métier), le VIOLET respire
   (orbes, lueurs, pulsations — la vie). L'or ne brille jamais, le violet
   ne trace jamais. Le spécifique home vit dans home-luxe.css. */

:root{
  --gild:#c9a86f;
  --gild-lt:#e6cfa0;
  --gline:rgba(201,168,111,.34);
  --gline-sf:rgba(201,168,111,.13);
}

/* ---------- matière : grain photographique ---------- */
body::after{content:"";position:fixed;inset:0;z-index:200;pointer-events:none;opacity:.045;
  background:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='260' height='260'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/></filter><rect width='260' height='260' filter='url(%23n)'/></svg>")}

/* ---------- typographie ---------- */
h1,h2{font-weight:300;letter-spacing:-.01em}
.section{padding:clamp(6rem,13vh,10.5rem) 0}
.eyebrow{color:var(--gild);letter-spacing:.4em;font-size:.66rem}
.eyebrow::before{width:34px;background:linear-gradient(90deg,var(--gild),transparent)}

/* ---------- header ---------- */
.hdr .nav a{font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-dim)}
.hdr .nav a:hover{color:var(--ink)}
.hdr .nav a.active{color:var(--ink)}
.hdr .nav a.active::after{background:var(--gild)}
.brand-nm{letter-spacing:.06em}

/* ---------- boutons couture ---------- */
.btn{border-radius:0;text-transform:uppercase;font-size:.74rem;font-weight:500;
  letter-spacing:.18em;padding:1.05rem 2rem}
.btn-fill{background:var(--ink);border-color:var(--ink);color:#0b0713}
.btn-fill:hover{background:var(--gild-lt);border-color:var(--gild-lt);color:#0b0713;
  transform:translateY(-2px);box-shadow:0 18px 44px rgba(201,168,111,.16)}
.btn-ghost{border-color:var(--gline);color:var(--ink-soft)}
.btn-ghost:hover{border-color:var(--gild-lt);color:var(--gild-lt);background:transparent}
.btn-sm{padding:.62rem 1.2rem;font-size:.68rem}

/* ---------- hero de page (pages de contenu) ---------- */
.page-hero{border-bottom:1px solid var(--gline-sf);
  background:radial-gradient(58% 62% at 50% 0%,rgba(201,168,111,.06),transparent 62%),
    radial-gradient(92% 72% at 76% 8%,rgba(157,111,212,.11),transparent 60%),var(--night)}

/* ---------- filets & structure ---------- */
.trait{border-top:1px solid var(--gline-sf);padding-top:1.6rem}
.steps{border-top:1px solid var(--gline)}
.step{border-bottom:1px solid var(--gline-sf);padding:2rem 0}
.step:hover{background:linear-gradient(90deg,rgba(201,168,111,.04),transparent 60%)}
.step .no{color:var(--gild);font-style:italic;min-width:2.8ch}
.divider{background:var(--gline-sf)}
.faq{border-top:1px solid var(--gline)}
.faq-item{border-bottom:1px solid var(--gline-sf)}
.prose li::marker{color:var(--gild)}
.prose blockquote{border-left:1px solid var(--gline)}

/* ---------- cartes & vitrines ---------- */
.card{border-radius:0;border:1px solid var(--gline-sf);
  background:linear-gradient(180deg,rgba(18,13,29,.55),rgba(7,5,12,.35))}
.card:hover{border-color:var(--gline);box-shadow:0 30px 60px rgba(0,0,0,.5)}
.tag-pill,.pill{color:var(--gild);border-color:var(--gline);letter-spacing:.24em}
.price{font-weight:300}

/* ---------- formulaires ---------- */
.form-card{border-radius:0;border:1px solid var(--gline);
  background:linear-gradient(180deg,rgba(18,13,29,.55),rgba(7,5,12,.4))}
input[type=text],input[type=email],input[type=tel],input[type=password],input[type=url],select,textarea{
  border-radius:0}
input:focus,select:focus,textarea:focus{border-color:var(--gild);
  box-shadow:0 0 0 3px rgba(201,168,111,.14)}
.form-file{border-radius:0}
.form-file:hover,.form-file.drag-over{border-color:var(--gild);background:rgba(201,168,111,.05)}
.form-error,.form-ok{border-radius:0}

/* ---------- bande finale & footer ---------- */
.final{background:radial-gradient(70% 90% at 50% 0%,rgba(157,111,212,.10),transparent 60%),var(--void)}
.final .fine{color:var(--gild);font-size:.66rem;letter-spacing:.24em;text-transform:uppercase;margin-top:2rem}
.ft{border-top-color:var(--gline-sf)}

/* ---------- responsive ---------- */
@media(max-width:900px){
  .hdr .nav a{font-size:.92rem;letter-spacing:.24em;text-transform:uppercase;font-family:var(--sans)}
}
