/* ============================================================
   IaConfigurator — MAISON DE CONFIGURATION
   Système de design partagé · maison.css
   Univers : luxe mat sombre · hardware haute couture · accent rouge
   ============================================================ */

:root{
  --noir:#0B0A0A;
  --noir-2:#100E0E;
  --charbon:#15110F;
  --trait:#2B2522;
  --trait-soft:#1C1815;
  --ivoire:#ECE6DC;
  --cendre:#8C857C;
  --cendre-2:#5B544C;
  --rouge:#E10600;
  --rouge-2:#FF3A24;
  --rouge-soft:rgba(225,6,0,.10);
  --maxw:1280px;
  --serif:'Fraunces',serif;
  --sans:'Archivo',sans-serif;
  --mono:'JetBrains Mono',monospace;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--noir);color:var(--ivoire);font-family:var(--sans);line-height:1.55;-webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
input,textarea,select{font-family:inherit}
::selection{background:var(--rouge);color:#fff}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 40px}

/* grain matte overlay */
body::after{content:"";position:fixed;inset:0;pointer-events:none;z-index:9000;opacity:.04;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='200' height='200'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:200px}

/* labels */
.kicker{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.26em;text-transform:uppercase;color:var(--cendre)}
.kicker--red{color:var(--rouge)}

/* EDITION STRIP */
.strip{border-bottom:1px solid var(--trait-soft)}
.strip__in{display:flex;align-items:center;justify-content:space-between;height:34px;font-family:var(--mono);font-size:.62rem;letter-spacing:.22em;text-transform:uppercase;color:var(--cendre-2)}
.strip__in span{display:flex;gap:8px;align-items:center}
.strip__in i{width:4px;height:4px;background:var(--rouge);border-radius:50%;display:inline-block}

/* MASTHEAD */
.mast{position:sticky;top:0;z-index:100;background:rgba(11,10,10,.82);backdrop-filter:blur(16px) saturate(1.1);border-bottom:1px solid var(--trait-soft)}
.mast__in{display:flex;align-items:center;justify-content:space-between;height:78px}
.brand{display:flex;align-items:center;gap:14px}
.seal{width:42px;height:42px;border-radius:50%;border:1px solid var(--rouge);display:grid;place-items:center;position:relative;flex:0 0 auto}
.seal::before{content:"";position:absolute;inset:4px;border:1px solid var(--trait);border-radius:50%}
.seal span{font-family:var(--serif);font-weight:900;font-size:1.05rem;color:var(--rouge);font-style:italic}
.brand__txt{display:flex;flex-direction:column;line-height:1.05}
.brand__name{font-family:var(--serif);font-weight:600;font-size:1.18rem;letter-spacing:.01em}
.brand__name em{color:var(--rouge);font-style:italic}
.brand__sub{font-family:var(--mono);font-size:.56rem;letter-spacing:.24em;text-transform:uppercase;color:var(--cendre-2);margin-top:3px}
.nav{display:flex;align-items:center;gap:2px}
.nav a{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cendre);padding:11px 16px;position:relative;transition:color .2s}
.nav a.is-active{color:var(--ivoire)}
.nav a:not(.nav__cta):hover{color:var(--ivoire)}
.nav a:not(.nav__cta)::after{content:"";position:absolute;left:16px;bottom:7px;width:0;height:1px;background:var(--rouge);transition:width .25s}
.nav a:not(.nav__cta):hover::after,.nav a.is-active:not(.nav__cta)::after{width:calc(100% - 32px)}
.nav__cta{color:var(--ivoire);border:1px solid var(--trait);border-radius:2px;margin-left:10px;transition:border-color .2s,background .2s}
.nav__cta:hover{border-color:var(--rouge);background:var(--rouge-soft)}
#navAuth a{font-family:var(--mono);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cendre);padding:11px 14px}
#navAuth a:hover{color:var(--ivoire)}
.burger{display:none;background:none;border:1px solid var(--trait);border-radius:2px;width:42px;height:42px;color:var(--ivoire);font-size:1.2rem}

/* BUTTONS / LINKS */
.btn{display:inline-flex;align-items:center;gap:12px;font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;padding:17px 30px;border-radius:2px;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s}
.btn--solid{background:var(--rouge);color:#fff;border:1px solid var(--rouge)}
.btn--solid:hover{transform:translateY(-2px);box-shadow:0 18px 50px rgba(225,6,0,.34)}
.btn--ghost{border:1px solid var(--trait);color:var(--ivoire)}
.btn--ghost:hover{border-color:var(--rouge);transform:translateY(-2px)}
.link{font-family:var(--mono);font-size:.74rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ivoire);display:inline-flex;align-items:center;gap:9px;border-bottom:1px solid var(--trait);padding-bottom:5px;transition:border-color .25s,gap .25s}
.link:hover{border-color:var(--rouge);gap:14px}
.btn .ar,.link .ar{transition:transform .25s}
.btn:hover .ar,.link:hover .ar{transform:translateX(4px)}

/* PAGE HEADER (intérieur) */
.phead{padding:72px 0 18px;position:relative}
.phead__k{margin-bottom:24px;display:inline-block}
.phead h1{font-family:var(--serif);font-weight:500;font-size:clamp(2.6rem,5.4vw,4.4rem);line-height:1.0;letter-spacing:-.015em}
.phead h1 em{font-style:italic;color:var(--rouge)}
.phead__sub{font-family:var(--mono);font-size:.82rem;letter-spacing:.04em;color:var(--cendre);margin-top:22px;max-width:560px;line-height:1.8}

/* SECTIONS */
.sec{padding:84px 0;border-top:1px solid var(--trait-soft)}
.sec__head{display:grid;grid-template-columns:auto 1fr;gap:50px;align-items:end;margin-bottom:50px}
.sec__title{font-family:var(--serif);font-weight:500;font-size:clamp(1.9rem,3.4vw,2.8rem);letter-spacing:-.015em;line-height:1.05}
.sec__title em{font-style:italic;color:var(--rouge)}
.sec__note{font-family:var(--mono);font-size:.74rem;line-height:1.8;color:var(--cendre);max-width:280px;justify-self:end}

/* FOOTER */
.foot{border-top:1px solid var(--trait);padding:46px 0;margin-top:40px}
.foot__in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.foot__small{font-family:var(--mono);font-size:.66rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cendre-2)}
.foot__small b{color:var(--cendre);font-weight:500}

/* anims */
@keyframes fade{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
@keyframes up{to{opacity:1;transform:none}}
.reveal{opacity:0;transform:translateY(20px)}
.reveal.in{opacity:1;transform:none;transition:opacity .7s,transform .7s}

/* responsive base */
@media(max-width:980px){
  .sec__head{grid-template-columns:1fr;gap:18px}
  .sec__note{justify-self:start}
}
@media(max-width:680px){
  .wrap{padding:0 22px}
  .nav,.strip{display:none}
  .burger{display:grid;place-items:center}
  .sec{padding:60px 0}
  .phead{padding:48px 0 8px}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .reveal{opacity:1!important;transform:none!important}
}
:focus-visible{outline:2px solid var(--rouge);outline-offset:4px}
