/* ============================================================
   DABAR IMMO — DESIGN SYSTEM « ÉCLAT »
   Élégance décalée · crème + encre + violet électrique
   Type : Instrument Serif (display italique) + Albert Sans (texte)
          + JetBrains Mono (labels)
   ============================================================ */
:root{
  --paper:#F3EFE6;
  --paper-2:#E9E3D6;
  --card:#FAF7F0;
  --cream:#EDE8DC;

  --ink:#141317;
  --ink-2:#4A4750;
  --ink-soft:#8C8893;

  --brick:#5B4BFF;        /* violet électrique */
  --brick-dark:#4536E6;
  --sage:#1B1A22;         /* encre profonde (blocs) */
  --sage-dark:#0F0E13;
  --gold:#D9D3FF;         /* lilas clair (sur fonds sombres) */
  --lilac:#E6E2FF;

  --line:#D8D2C6;
  --line-2:#C9C2B3;
  --shadow:0 12px 32px rgba(20,19,23,.10);
  --shadow-sm:0 4px 14px rgba(20,19,23,.07);
  --shadow-lg:0 26px 60px rgba(20,19,23,.14);
  --shadow-brick:0 18px 44px rgba(91,75,255,.28);

  --r-sm:6px; --r:10px; --r-lg:16px; --r-xl:24px; --pill:999px;
  --bd:1px solid var(--ink);
  --mono:'JetBrains Mono',ui-monospace,monospace;
  --serif:'Instrument Serif',Georgia,serif;
  --sans:'Albert Sans',system-ui,sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--sans); background:var(--paper); color:var(--ink); line-height:1.6; overflow-x:hidden; -webkit-font-smoothing:antialiased;}
::selection{background:var(--brick); color:#fff;}

/* ======= NAV ======= */
nav{
  position:fixed; top:0; left:0; right:0; z-index:100;
  display:grid; grid-template-columns:1fr auto 1fr; align-items:center; column-gap:24px;
  padding:18px 36px; background:rgba(243,239,230,.9);
  backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px);
  border-bottom:var(--bd);
}
.nav-meta{display:flex; gap:20px; align-items:center; font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-2);}
.nav-meta .dot{display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--brick); margin-right:8px; vertical-align:middle; animation:blink 2s infinite;}
@keyframes blink{0%,100%{opacity:1;}50%{opacity:.3;}}
.nav-logo{font-family:var(--serif); font-style:italic; font-weight:400; font-size:1.75rem; color:var(--ink); text-decoration:none; letter-spacing:-.02em; white-space:nowrap; justify-self:center; padding:0 6px; line-height:1;}
.nav-logo .amp{color:var(--brick); font-style:normal;}
.nav-links{display:flex; align-items:center; gap:2px; list-style:none; justify-content:flex-end;}
.nav-links a{font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--ink); text-decoration:none; padding:9px 14px; border-radius:var(--pill); white-space:nowrap; border:1px solid transparent; transition:border-color .15s, background .15s, color .15s;}
.nav-links a:hover{border-color:var(--ink);}
.nav-links a.active{background:var(--ink); color:var(--paper);}
.nav-cta{background:var(--brick) !important; color:#fff !important; border-color:var(--brick) !important; padding:10px 18px !important; box-shadow:var(--shadow-brick); transition:transform .15s, box-shadow .15s !important;}
.nav-cta:hover{transform:translateY(-2px);}
@media(max-width:1080px){nav{grid-template-columns:auto 1fr; column-gap:16px; padding:12px 18px;} .nav-meta{display:none;} .nav-logo{justify-self:start; padding:0;}}
@media(max-width:600px){.nav-links a:not(.nav-cta){display:none;}}

/* ======= TYPE ======= */
.kicker{display:inline-flex; align-items:center; gap:10px; font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); border:var(--bd); padding:6px 12px; border-radius:var(--pill); margin-bottom:26px; white-space:nowrap; background:var(--card);}
.kicker::before{content:''; width:8px; height:8px; border-radius:50%; background:var(--brick);}
.kicker-num{color:var(--brick);}
h1.editorial,h2.editorial,h3.editorial{font-family:var(--serif); font-weight:400; letter-spacing:-.025em; line-height:.95; color:var(--ink);}
h1.editorial em,h2.editorial em,h3.editorial em,.ital{font-style:italic; color:var(--brick);}
.lede{font-size:1.15rem; line-height:1.6; color:var(--ink-2); max-width:56ch;}

/* ======= BUTTONS ======= */
.btn{display:inline-flex; align-items:center; gap:12px; font-family:var(--mono); font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; text-decoration:none; cursor:pointer; padding:16px 26px; border-radius:var(--pill); border:var(--bd); transition:transform .15s, box-shadow .15s, background .15s, color .15s;}
.btn-primary{background:var(--brick); color:#fff; border-color:var(--brick); box-shadow:var(--shadow-brick);}
.btn-primary:hover{background:var(--brick-dark); transform:translateY(-2px);}
.btn-secondary{background:transparent; color:var(--ink);}
.btn-secondary:hover{background:var(--ink); color:var(--paper); transform:translateY(-2px);}
.btn-ghost{background:var(--card); color:var(--ink);}
.btn-ghost:hover{transform:translateY(-2px); box-shadow:var(--shadow);}
.btn .arrow{font-family:var(--serif); font-style:italic; font-size:1.3em; line-height:1; transition:transform .15s;}
.btn:hover .arrow{transform:translateX(4px);}

/* ======= FOOTER ======= */
footer{background:var(--sage); color:var(--paper); border-top:var(--bd);}
.footer-grid{display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; padding:72px 40px 40px; max-width:1280px; margin:0 auto;}
.footer-brand .nav-logo{font-size:2.2rem; color:var(--paper); justify-self:start; padding:0;}
.footer-brand .nav-logo .amp{color:var(--gold);}
.footer-brand p{font-size:.98rem; line-height:1.6; color:rgba(243,239,230,.6); margin-top:16px; max-width:36ch;}
.footer-col h4{font-family:var(--mono); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--gold); margin-bottom:18px; font-weight:500;}
.footer-col ul{list-style:none; display:flex; flex-direction:column; gap:12px;}
.footer-col a{color:rgba(243,239,230,.8); text-decoration:none; transition:color .15s;}
.footer-col a:hover{color:#fff;}
.footer-bar{border-top:1px solid rgba(243,239,230,.16); padding:22px 40px; max-width:1280px; margin:0 auto; display:flex; justify-content:space-between; align-items:center; gap:16px; font-family:var(--mono); font-size:11px; letter-spacing:.06em; color:rgba(243,239,230,.5);}
.footer-bar em{font-family:var(--serif); font-style:italic; font-size:1.15em; color:var(--gold); letter-spacing:0;}
@media(max-width:900px){.footer-grid{grid-template-columns:1fr 1fr; padding:50px 22px 30px;} .footer-bar{flex-direction:column; gap:10px; text-align:center; padding:22px;}}
@media(max-width:600px){.footer-grid{grid-template-columns:1fr;}}

/* ======= REVEAL ======= */
.reveal{opacity:0; transform:translateY(24px); transition:opacity .8s cubic-bezier(.16,1,.3,1), transform .8s cubic-bezier(.16,1,.3,1);}
.reveal.visible{opacity:1; transform:translateY(0);}
.reveal-d1{transition-delay:.08s;} .reveal-d2{transition-delay:.16s;} .reveal-d3{transition-delay:.24s;}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1; transform:none; transition:none;}}

image-slot{display:block; background:var(--paper-2);}
.container{max-width:1280px; margin:0 auto;}
section{padding:100px 40px;}
@media(max-width:900px){section{padding:64px 20px;}}
.rule{height:1px; background:var(--ink); border:0;}
