/* ==========================================================================
   Daoudy Solution LLC — design system
   Clair, coloré, sans mode sombre. Aucune dépendance externe hors polices.
   ========================================================================== */

:root{
  --ink:#0b1020; --ink-2:#3d4663; --ink-3:#6b7596; --ink-4:#9aa2bd;
  --bg:#ffffff; --bg-2:#f6f7fc; --bg-3:#eef0fa;
  --line:#e6e9f4; --line-2:#d6dbee;

  --brand:#5b3df5; --brand-2:#8b5cf6; --brand-3:#c4b5fd;
  --brand-tint:#f1eeff;
  --cyan:#06b6d4; --cyan-tint:#e0f7fb;
  --coral:#ff5d8f; --coral-tint:#ffe9f0;
  --amber:#f59e0b; --amber-tint:#fff3dd;
  --green:#10b981; --green-tint:#e2f8f0;

  --grad: linear-gradient(120deg,#5b3df5 0%,#8b5cf6 38%,#06b6d4 100%);
  --grad-deep: linear-gradient(140deg,#2e1065 0%,#4c1d95 34%,#5b3df5 68%,#0e7490 100%);
  --grad-warm: linear-gradient(120deg,#ff5d8f 0%,#f59e0b 100%);

  --r-s:10px; --r-m:16px; --r-l:24px; --r-xl:34px;
  --shadow-s:0 1px 2px rgba(11,16,32,.05),0 2px 8px rgba(11,16,32,.04);
  --shadow-m:0 4px 12px rgba(11,16,32,.06),0 14px 40px rgba(11,16,32,.07);
  --shadow-l:0 10px 30px rgba(11,16,32,.08),0 30px 80px rgba(91,61,245,.12);
  --shadow-brand:0 18px 50px rgba(91,61,245,.28);

  --wrap:1180px; --gut:clamp(20px,5vw,40px);
  --f-display:'Sora',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-body:'Inter',ui-sans-serif,system-ui,-apple-system,'Segoe UI',sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:96px}
body{
  margin:0;background:var(--bg);color:var(--ink);
  font-family:var(--f-body);font-size:17px;line-height:1.68;
  font-feature-settings:'cv02','cv03','cv04';
  -webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img,svg{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,h4{font-family:var(--f-display);letter-spacing:-.028em;line-height:1.1;margin:0;font-weight:700}
h1{font-size:clamp(2.4rem,5.6vw,4.1rem);letter-spacing:-.038em}
h2{font-size:clamp(1.85rem,3.6vw,2.9rem);letter-spacing:-.032em}
h3{font-size:clamp(1.12rem,1.7vw,1.35rem)}
p{margin:0}
ul{margin:0;padding:0;list-style:none}

.wrap{max-width:var(--wrap);margin-inline:auto;padding-inline:var(--gut)}
.sec{padding:clamp(68px,9vw,124px) 0;position:relative}
.sec--tint{background:var(--bg-2)}
.sec--edge{border-top:1px solid var(--line)}
.center{text-align:center}
.grad-text{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- eyebrow ---------- */
.eyebrow{
  display:inline-flex;align-items:center;gap:9px;
  font-family:var(--f-display);font-size:.735rem;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:var(--brand);
  background:var(--brand-tint);border:1px solid #e2dcff;
  padding:7px 15px 7px 11px;border-radius:999px;margin-bottom:22px;
}
.eyebrow::before{content:'';width:7px;height:7px;border-radius:50%;background:var(--grad);flex:none}
.eyebrow--cyan{color:#0693a6;background:var(--cyan-tint);border-color:#c3ecf3}
.eyebrow--coral{color:#d9376a;background:var(--coral-tint);border-color:#ffd3e1}

.lead{font-size:clamp(1.03rem,1.5vw,1.19rem);color:var(--ink-2);line-height:1.72}
.sec-head{max-width:720px;margin-bottom:clamp(38px,5vw,62px)}
.sec-head.center{margin-inline:auto}

/* ---------- boutons ---------- */
.btn{
  --bh:#4a2fe0;
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--f-display);font-weight:600;font-size:.95rem;
  padding:14px 26px;border-radius:999px;border:1px solid transparent;
  text-decoration:none;cursor:pointer;white-space:nowrap;
  transition:transform .22s cubic-bezier(.2,.8,.3,1),box-shadow .22s,background .2s,color .2s,border-color .2s;
}
.btn:hover{transform:translateY(-2px)}
.btn--primary{background:var(--grad);color:#fff;box-shadow:var(--shadow-brand);background-size:160% 160%}
.btn--primary:hover{box-shadow:0 22px 60px rgba(91,61,245,.36);background-position:100% 50%}
.btn--ghost{background:#fff;color:var(--ink);border-color:var(--line-2);box-shadow:var(--shadow-s)}
.btn--ghost:hover{border-color:var(--brand-3);color:var(--brand);box-shadow:var(--shadow-m)}
.btn--light{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.32);backdrop-filter:blur(6px)}
.btn--light:hover{background:rgba(255,255,255,.24)}
.btn--white{background:#fff;color:var(--brand)}
.btn--sm{padding:10px 19px;font-size:.875rem}
.btn svg{width:17px;height:17px;flex:none}

/* ---------- en-tête ---------- */
.hdr{position:sticky;top:0;z-index:70;transition:box-shadow .3s,background .3s,border-color .3s;
     background:rgba(255,255,255,.72);backdrop-filter:blur(18px) saturate(1.6);
     border-bottom:1px solid transparent}
.hdr.is-stuck{border-bottom-color:var(--line);box-shadow:0 4px 26px rgba(11,16,32,.06)}
.hdr__in{display:flex;align-items:center;gap:26px;height:74px}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;font-family:var(--f-display);
       font-weight:700;font-size:1.06rem;letter-spacing:-.03em;color:var(--ink);flex:none}
.brand__mark{width:36px;height:36px;border-radius:11px;background:var(--grad);flex:none;
             display:grid;place-items:center;box-shadow:0 6px 18px rgba(91,61,245,.34);position:relative;overflow:hidden}
.brand__mark::after{content:'';position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.45),transparent 55%)}
.brand__mark span{color:#fff;font-size:.95rem;font-weight:800;letter-spacing:-.04em;position:relative;z-index:1}
.brand small{display:block;font-family:var(--f-body);font-size:.66rem;font-weight:500;
             letter-spacing:.1em;text-transform:uppercase;color:var(--ink-4);margin-top:1px}
.nav{display:flex;align-items:center;gap:3px;margin-left:auto}
.nav a{font-size:.925rem;font-weight:500;color:var(--ink-2);text-decoration:none;
       padding:9px 14px;border-radius:9px;transition:color .18s,background .18s}
.nav a:hover{color:var(--brand);background:var(--brand-tint)}
.nav a[aria-current]{color:var(--brand);font-weight:600}
.hdr .btn{margin-left:8px}
@media(min-width:941px){.nav .btn{display:none}}
.burger{display:none;margin-left:auto;width:42px;height:42px;border-radius:11px;border:1px solid var(--line-2);
        background:#fff;cursor:pointer;place-items:center}
.burger span{display:block;width:17px;height:1.8px;background:var(--ink);border-radius:2px;transition:.25s}
.burger span+span{margin-top:4.4px}
.burger[aria-expanded="true"] span:nth-child(1){transform:translateY(6.2px) rotate(45deg)}
.burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-6.2px) rotate(-45deg)}
@media(max-width:940px){
  .nav{position:fixed;inset:74px 0 auto;flex-direction:column;align-items:stretch;gap:0;
       background:#fff;border-bottom:1px solid var(--line);padding:14px var(--gut) 26px;
       box-shadow:var(--shadow-m);transform:translateY(-14px);opacity:0;pointer-events:none;transition:.26s}
  .nav.is-open{transform:none;opacity:1;pointer-events:auto}
  .nav a{padding:13px 4px;border-bottom:1px solid var(--line);border-radius:0}
  .nav .btn{margin:16px 0 0;justify-content:center}
  .burger{display:grid}
  .hdr__in>.btn--primary{display:none}
}

/* ---------- aurore ---------- */
.aurora{position:absolute;inset:-30% -10% auto;height:820px;pointer-events:none;z-index:0;overflow:hidden}
.aurora i{position:absolute;border-radius:50%;filter:blur(110px);display:block;
          animation:drift 26s ease-in-out infinite alternate}
.aurora i:nth-child(1){width:520px;height:520px;left:-14%;top:-10%;background:#7c5cff;opacity:.20;animation-delay:-2s}
.aurora i:nth-child(2){width:460px;height:460px;right:-12%;top:-14%;background:#06b6d4;opacity:.17;animation-delay:-9s}
.aurora i:nth-child(3){width:380px;height:380px;right:14%;top:46%;background:#ff5d8f;opacity:.11;animation-delay:-15s}
.aurora i:nth-child(4){width:320px;height:320px;left:8%;top:58%;background:#f59e0b;opacity:.09;animation-delay:-19s}
@keyframes drift{
  0%{transform:translate3d(0,0,0) scale(1)}
  50%{transform:translate3d(40px,-30px,0) scale(1.12)}
  100%{transform:translate3d(-30px,36px,0) scale(.94)}
}
.grid-fade{position:absolute;inset:0;z-index:0;pointer-events:none;
  background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);
  background-size:56px 56px;
  -webkit-mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 20%,transparent 75%);
  mask-image:radial-gradient(ellipse 80% 60% at 50% 0%,#000 20%,transparent 75%);opacity:.6}

/* ---------- héros ---------- */
.hero{position:relative;padding:clamp(58px,8vw,104px) 0 clamp(60px,8vw,100px);overflow:hidden;isolation:isolate}
.hero__in{position:relative;z-index:2;display:grid;gap:clamp(44px,6vw,74px);grid-template-columns:1.06fr .94fr;align-items:center}
@media(max-width:980px){.hero__in{grid-template-columns:1fr}}
.hero h1{margin-bottom:22px}
.hero .lead{max-width:560px}
.hero__cta{display:flex;flex-wrap:wrap;gap:13px;margin-top:34px}
.hero__trust{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:36px;padding-top:26px;border-top:1px solid var(--line)}
.hero__trust li{display:flex;align-items:center;gap:8px;font-size:.87rem;font-weight:500;color:var(--ink-3)}
.hero__trust svg{width:16px;height:16px;color:var(--green);flex:none}

/* carte flottante du héros */
.orbit{position:relative;display:grid;gap:15px}
.orbit__card{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:22px 24px;
             box-shadow:var(--shadow-m);position:relative;overflow:hidden}
.orbit__card::before{content:'';position:absolute;inset:0 0 auto;height:3px;background:var(--grad)}
.orbit__card--float{animation:float 6s ease-in-out infinite}
.orbit__card--float:nth-child(2){animation-delay:-2s}
.orbit__card--float:nth-child(3){animation-delay:-4s}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.orbit__row{display:flex;align-items:center;gap:13px}
.orbit__ico{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;flex:none}
.orbit__ico svg{width:20px;height:20px}
.orbit__k{font-family:var(--f-display);font-weight:700;font-size:1.02rem;letter-spacing:-.02em}
.orbit__v{font-size:.845rem;color:var(--ink-3);margin-top:1px}
.orbit__bar{height:8px;border-radius:99px;background:#e4e7f4;margin-top:15px;overflow:hidden}
.orbit__bar i{display:block;height:100%;border-radius:99px;background:var(--grad);width:0;transition:width 1.1s cubic-bezier(.2,.8,.3,1)}
.is-in .orbit__bar i{width:var(--w,72%)}

/* ---------- bandeau défilant ---------- */
.marq{border-block:1px solid var(--line);background:var(--bg-2);padding:17px 0;overflow:hidden;position:relative}
.marq::before,.marq::after{content:'';position:absolute;top:0;bottom:0;width:170px;z-index:2}
.marq::before{left:0;background:linear-gradient(90deg,var(--bg-2),transparent)}
.marq::after{right:0;background:linear-gradient(270deg,var(--bg-2),transparent)}
.marq__t{display:flex;gap:44px;width:max-content;animation:slide 34s linear infinite}
.marq__t span{display:flex;align-items:center;gap:44px;font-family:var(--f-display);font-weight:600;
              font-size:.94rem;color:var(--ink-3);white-space:nowrap}
.marq__t span::after{content:'';width:5px;height:5px;border-radius:50%;background:var(--brand-3)}
@keyframes slide{to{transform:translateX(-50%)}}

/* ---------- grilles / cartes ---------- */
.grid{display:grid;gap:22px}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--2{grid-template-columns:repeat(2,1fr)}
.grid--4{grid-template-columns:repeat(4,1fr)}
@media(max-width:980px){.grid--3,.grid--4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:660px){.grid--2,.grid--3,.grid--4{grid-template-columns:1fr}}

.card{background:#fff;border:1px solid var(--line);border-radius:var(--r-l);padding:30px 28px;
      position:relative;overflow:hidden;transition:transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s,border-color .3s}
.card::before{content:'';position:absolute;inset:0 0 auto;height:3px;background:var(--grad);
              transform:scaleX(0);transform-origin:left;transition:transform .42s cubic-bezier(.2,.8,.3,1)}
.card:hover{transform:translateY(-6px);box-shadow:var(--shadow-l);border-color:transparent}
.card:hover::before{transform:scaleX(1)}
.card__ico{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;margin-bottom:19px;
           transition:transform .3s cubic-bezier(.2,.8,.3,1)}
.card:hover .card__ico{transform:scale(1.08) rotate(-4deg)}
.card__ico svg{width:24px;height:24px}
.card h3{margin-bottom:10px}
.card p{color:var(--ink-2);font-size:.955rem}
.i-brand{background:var(--brand-tint);color:var(--brand)}
.i-cyan{background:var(--cyan-tint);color:#0693a6}
.i-coral{background:var(--coral-tint);color:#d9376a}
.i-amber{background:var(--amber-tint);color:#b97309}
.i-green{background:var(--green-tint);color:#0a8f5f}
.i-ink{background:var(--bg-3);color:var(--ink-2)}

/* carte teintée pleine */
.tile{border-radius:var(--r-l);padding:30px 28px;border:1px solid var(--line);background:#fff}
.tile__n{font-family:var(--f-display);font-size:2.5rem;font-weight:800;letter-spacing:-.04em;line-height:1}
.tile__l{font-size:.9rem;color:var(--ink-3);margin-top:7px}

/* ---------- pas à pas ---------- */
.steps{counter-reset:s;display:grid;gap:2px;border-radius:var(--r-l);overflow:hidden;border:1px solid var(--line);background:var(--line)}
.step{background:#fff;padding:28px 30px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start;transition:background .25s}
.step:hover{background:var(--brand-tint)}
.step__n{counter-increment:s;width:38px;height:38px;border-radius:11px;background:var(--grad);color:#fff;
         font-family:var(--f-display);font-weight:700;font-size:.95rem;display:grid;place-items:center;flex:none}
.step__n::before{content:counter(s,decimal-leading-zero)}
.step h3{margin-bottom:6px}
.step p{color:var(--ink-2);font-size:.95rem}

/* ---------- tarifs ---------- */
.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;align-items:start}
@media(max-width:980px){.plans{grid-template-columns:1fr;max-width:460px;margin-inline:auto}}
.plan{background:#fff;border:1px solid var(--line);border-radius:var(--r-xl);padding:34px 30px;
      position:relative;transition:transform .3s cubic-bezier(.2,.8,.3,1),box-shadow .3s}
.plan:hover{transform:translateY(-5px);box-shadow:var(--shadow-l)}
.plan--hot{border:none;background:var(--grad-deep);color:#fff;box-shadow:var(--shadow-brand);z-index:1}
@media(min-width:981px){.plan--hot{transform:scale(1.045)}.plan--hot:hover{transform:scale(1.045) translateY(-5px)}}
.plan--hot .plan__d{color:rgba(255,255,255,.94)}
.plan--hot .plan__per{color:rgba(255,255,255,.82)}
.plan__tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);background:var(--amber);color:#3a2500;
           font-family:var(--f-display);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
           padding:7px 15px;border-radius:999px;white-space:nowrap;box-shadow:var(--shadow-m)}
.plan h3{font-size:1.2rem;margin-bottom:8px}
.plan__d{color:var(--ink-3);font-size:.9rem;min-height:44px}
.plan__p{display:flex;align-items:baseline;gap:7px;margin:22px 0 4px;
         font-family:var(--f-display);font-size:3rem;font-weight:800;letter-spacing:-.045em;line-height:1}
.plan__p sup{font-size:1.1rem;font-weight:600;top:-.85em}
.plan__per{font-family:var(--f-body);font-size:.85rem;font-weight:500;color:var(--ink-4);letter-spacing:0}
.plan ul{margin:26px 0 28px;display:grid;gap:12px}
.plan li{display:flex;gap:11px;font-size:.925rem;color:var(--ink-2);line-height:1.5}
.plan li svg{width:19px;height:19px;flex:none;margin-top:1px;color:var(--green)}
.plan--hot li{color:rgba(255,255,255,.95)}
.plan--hot li svg{color:#7ee7c7}
.plan .btn{width:100%}

/* ---------- accordéon ---------- */
.acc{border:1px solid var(--line);border-radius:var(--r-l);overflow:hidden;background:#fff}
.acc__i+.acc__i{border-top:1px solid var(--line)}
.acc__q{width:100%;background:none;border:0;text-align:left;cursor:pointer;padding:23px 26px;
        display:flex;align-items:center;gap:18px;font-family:var(--f-display);font-weight:600;
        font-size:1.02rem;color:var(--ink);letter-spacing:-.02em;transition:color .2s,background .2s}
.acc__q:hover{color:var(--brand);background:var(--bg-2)}
.acc__q i{margin-left:auto;width:30px;height:30px;border-radius:9px;background:var(--bg-2);flex:none;
          display:grid;place-items:center;position:relative;transition:.3s}
.acc__q i::before,.acc__q i::after{content:'';position:absolute;background:var(--ink-2);border-radius:2px;transition:.3s}
.acc__q i::before{width:12px;height:2px}
.acc__q i::after{width:2px;height:12px}
.acc__i.is-open .acc__q{color:var(--brand)}
.acc__i.is-open .acc__q i{background:var(--grad);transform:rotate(180deg)}
.acc__i.is-open .acc__q i::before,.acc__i.is-open .acc__q i::after{background:#fff}
.acc__i.is-open .acc__q i::after{transform:scaleY(0)}
.acc__a{max-height:0;overflow:hidden;transition:max-height .42s cubic-bezier(.2,.8,.3,1)}
.acc__a>div{padding:0 26px 25px;color:var(--ink-2);font-size:.96rem;max-width:80ch}

/* ---------- bande d'appel ---------- */
.cta{position:relative;overflow:hidden;border-radius:var(--r-xl);background:var(--grad-deep);
     padding:clamp(44px,6vw,72px) clamp(28px,5vw,64px);color:#fff;text-align:center;box-shadow:var(--shadow-brand)}
.cta::after{content:'';position:absolute;inset:0;opacity:.5;pointer-events:none;
  background:radial-gradient(circle at 18% 20%,rgba(255,255,255,.3),transparent 42%),
             radial-gradient(circle at 84% 78%,rgba(255,93,143,.42),transparent 46%)}
.cta>*{position:relative;z-index:1}
.cta h2{color:#fff;margin-bottom:14px}
.cta p{color:rgba(255,255,255,.93);max-width:600px;margin-inline:auto}
.cta__b{display:flex;flex-wrap:wrap;gap:13px;justify-content:center;margin-top:32px}

/* ---------- contenu long (pages légales) ---------- */
.prose{max-width:76ch}
.prose h2{font-size:clamp(1.35rem,2.1vw,1.62rem);margin:44px 0 15px;scroll-margin-top:100px}
.prose h2:first-child{margin-top:0}
.prose h3{font-size:1.06rem;margin:28px 0 10px}
.prose p{color:var(--ink-2);margin-bottom:17px}
.prose ul{display:grid;gap:10px;margin:0 0 20px}
.prose ul li{display:flex;gap:12px;color:var(--ink-2);align-items:baseline}
.prose ul li::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--brand-3);flex:none;margin-top:11px}
.prose strong{color:var(--ink);font-weight:600}
.prose a{color:var(--brand);text-decoration-color:var(--brand-3);text-underline-offset:3px}

/* en-tête de page interne */
.phead{position:relative;overflow:hidden;padding:clamp(52px,7vw,86px) 0 clamp(40px,5vw,58px);
       background:var(--bg-2);border-bottom:1px solid var(--line);isolation:isolate}
.phead__in{position:relative;z-index:2;max-width:780px}
.phead h1{font-size:clamp(2.05rem,4.4vw,3.25rem);margin-bottom:16px}
.crumbs{display:flex;gap:9px;align-items:center;font-size:.82rem;color:var(--ink-4);margin-bottom:18px}
.crumbs a{text-decoration:none;color:var(--ink-3)}
.crumbs a:hover{color:var(--brand)}

/* encadré latéral d'infos */
.aside{background:var(--bg-2);border:1px solid var(--line);border-radius:var(--r-l);padding:28px 26px;position:sticky;top:100px}
.aside h3{font-size:1.02rem;margin-bottom:16px}
.aside dl{display:grid;gap:15px;margin:0}
.aside dt{font-size:.735rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--ink-4);
          font-family:var(--f-display)}
.aside dd{margin:3px 0 0;font-size:.93rem;color:var(--ink-2)}
.aside dd a{color:var(--brand);text-decoration:none}
.aside dd a:hover{text-decoration:underline}
.split{display:grid;grid-template-columns:1fr 340px;gap:clamp(34px,5vw,60px);align-items:start}
@media(max-width:940px){.split{grid-template-columns:1fr}.aside{position:static}}

/* ---------- pied de page ---------- */
.ftr{background:#0b1020;color:#c3c9de;padding:clamp(56px,7vw,84px) 0 0;position:relative;overflow:hidden}
.ftr::before{content:'';position:absolute;inset:auto -10% -50% -10%;height:520px;pointer-events:none;
  background:radial-gradient(circle at 22% 40%,rgba(124,92,255,.34),transparent 55%),
             radial-gradient(circle at 78% 60%,rgba(6,182,212,.22),transparent 55%);filter:blur(50px)}
.ftr__in{position:relative;z-index:1}
.ftr__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.25fr;gap:40px}
@media(max-width:900px){.ftr__top{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.ftr__top{grid-template-columns:1fr}}
.ftr .brand{color:#fff}
.ftr .brand small{color:#7a83a6}
.ftr__blurb{margin-top:18px;font-size:.925rem;color:#9aa3c4;max-width:34ch;line-height:1.7}
.ftr h4{font-family:var(--f-display);font-size:.75rem;font-weight:700;letter-spacing:.14em;
        text-transform:uppercase;color:#7a83a6;margin:0 0 17px}
.ftr ul{display:grid;gap:11px}
.ftr a{color:#c3c9de;text-decoration:none;font-size:.925rem;transition:color .18s}
.ftr a:hover{color:#fff}
.ftr address{font-style:normal;font-size:.925rem;line-height:1.75;color:#9aa3c4}
.ftr address a{display:inline-block}
.ftr__bot{margin-top:clamp(42px,5vw,60px);border-top:1px solid rgba(255,255,255,.09);
          padding:24px 0 30px;display:flex;flex-wrap:wrap;gap:14px 26px;align-items:center;
          font-size:.855rem;color:#7a83a6}
.ftr__bot nav{display:flex;flex-wrap:wrap;gap:20px;margin-left:auto}
.ftr__bot a{font-size:.855rem;color:#7a83a6}

/* ---------- révélation au défilement ---------- */
.rv{opacity:0;transform:translateY(22px);transition:opacity .72s cubic-bezier(.2,.8,.3,1),transform .72s cubic-bezier(.2,.8,.3,1)}
.rv.is-in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .rv{opacity:1;transform:none}
  html{scroll-behavior:auto}
}

/* ---------- formulaire ---------- */
.form{display:grid;gap:17px}
.field{display:grid;gap:7px}
.field label{font-family:var(--f-display);font-size:.815rem;font-weight:600;color:var(--ink-2);letter-spacing:-.01em}
.field input,.field textarea,.field select{
  font-family:var(--f-body);font-size:.96rem;color:var(--ink);background:#fff;
  border:1px solid var(--line-2);border-radius:var(--r-m);padding:13px 15px;width:100%;
  transition:border-color .2s,box-shadow .2s}
.field textarea{min-height:132px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{
  outline:none;border-color:var(--brand);box-shadow:0 0 0 4px var(--brand-tint)}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:17px}
@media(max-width:600px){.form__row{grid-template-columns:1fr}}
.form__note{font-size:.83rem;color:var(--ink-4)}

.skip{position:absolute;left:-9999px;top:0;background:var(--brand);color:#fff;padding:12px 20px;
      border-radius:0 0 var(--r-s) 0;z-index:200;font-weight:600}
.skip:focus{left:0}
