:root{
  --white:#FFFFFF;
  --paper:#F1F4F2;
  --paper-2:#FAFBFA;
  --line:#E1E6E3;
  --line-2:#EDF0EE;
  --ink:#0A0C0B;
  --ink-2:#585F5B;
  --ink-3:#8A928D;
  --green:#00CE81;
  --green-d:#007D4E;
  --green-tint:rgba(0,206,129,.12);
  --green-line:rgba(0,206,129,.35);
  --warn:#C7342F;
  --night:#050505;

  --sans:"Inter",-apple-system,system-ui,"Segoe UI",Arial,sans-serif;
  --serif:"Instrument Serif",Georgia,"Times New Roman",serif;
  --mono:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;

  --col:1140px;
  --r-lg:24px;
  --r-sm:10px;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
/* l'en-tête est collant : les ancres s'arrêtent en dessous, pas dessous */
section[id],main[id]{scroll-margin-top:86px;}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:1rem;line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;}
p{margin:0;}
h1,h2,h3,h4{margin:0;font-weight:600;letter-spacing:-.035em;text-wrap:balance;}
a{color:inherit;}
.sms-wrap{max-width:var(--col);margin-inline:auto;padding-inline:clamp(1.15rem,4vw,2.5rem);}
.sms-sec{padding-block:clamp(4rem,9vw,7rem);}

/* pills / eyebrows */
.sms-pill{display:inline-flex;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.11em;text-transform:uppercase;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:999px;padding:.4rem .85rem;}
.sms-pill .sms-dot{width:6px;height:6px;border-radius:50%;background:var(--green);flex:none;}
.sms-eyebrow{font-family:var(--mono);font-size:.68rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);}

/* buttons */
.sms-btn{display:inline-flex;align-items:center;gap:.7rem;background:var(--ink);color:var(--white);font-weight:500;font-size:.95rem;letter-spacing:-.01em;padding:.8rem .85rem .8rem 1.35rem;border-radius:999px;text-decoration:none;border:1px solid var(--ink);transition:transform .18s ease,background .18s ease;}
.sms-btn .sms-chev{width:26px;height:26px;border-radius:50%;background:var(--green);display:grid;place-items:center;font-size:.75rem;color:var(--night);flex:none;font-weight:600;}
.sms-btn:hover{transform:translateY(-2px);background:#000;}
.sms-btn.sms-sm{font-size:.85rem;padding:.5rem .5rem .5rem 1rem;}
.sms-btn.sms-sm .sms-chev{width:22px;height:22px;font-size:.68rem;}
.sms-btn.sms-green{background:var(--green);border-color:var(--green);color:var(--night);}
.sms-btn.sms-green .sms-chev{background:var(--night);color:var(--green);}
.sms-btn.sms-green:hover{background:#00B571;border-color:#00B571;}
a:focus-visible,summary:focus-visible{outline:2px solid var(--green-d);outline-offset:3px;border-radius:6px;}

/* header */
header.sms-bar{position:sticky;top:0;z-index:40;background:rgba(255,255,255,.84);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-2);}
.sms-bar-in{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:66px;}
.sms-brand{display:flex;align-items:center;gap:.6rem;text-decoration:none;}
.sms-brand .sms-mark{width:34px;height:34px;flex:none;display:block;}
.sms-brand .sms-name{display:flex;flex-direction:column;line-height:1.15;}
.sms-brand .sms-n1{font-weight:700;font-size:.9rem;letter-spacing:.01em;}
.sms-brand .sms-n2{font-family:var(--mono);font-size:.56rem;letter-spacing:.18em;color:var(--ink-3);text-transform:uppercase;}
.sms-nav{display:flex;align-items:center;gap:.35rem;font-size:.89rem;color:var(--ink-2);}
.sms-nav a{text-decoration:none;padding:.45rem .75rem;border-radius:999px;transition:color .18s ease,background .18s ease;}
.sms-nav a:hover{color:var(--ink);background:var(--paper);}

/* bouton menu — visible seulement quand la navigation passe en repli */
.sms-navtoggle{display:none;align-items:center;justify-content:center;width:38px;height:38px;flex:none;border:1px solid var(--line);background:var(--white);border-radius:999px;cursor:pointer;padding:0;}
.sms-navtoggle span{display:block;width:15px;height:1.5px;background:var(--ink);border-radius:2px;position:relative;transition:background .18s ease;}
.sms-navtoggle span::before,.sms-navtoggle span::after{content:"";position:absolute;left:0;width:15px;height:1.5px;background:var(--ink);border-radius:2px;transition:transform .22s ease;}
.sms-navtoggle span::before{top:-5px;}
.sms-navtoggle span::after{top:5px;}
.sms-navtoggle[aria-expanded="true"] span{background:transparent;}
.sms-navtoggle[aria-expanded="true"] span::before{transform:translateY(5px) rotate(45deg);}
.sms-navtoggle[aria-expanded="true"] span::after{transform:translateY(-5px) rotate(-45deg);}

@media(max-width:960px){
  .sms-nav{display:none;}
  .sms-navtoggle{display:flex;}
  .sms-nav.sms-open{
    display:flex;flex-direction:column;align-items:stretch;gap:0;
    position:absolute;top:100%;left:0;right:0;
    background:var(--white);border-bottom:1px solid var(--line);
    padding:.35rem clamp(1.15rem,4vw,2.5rem) 1rem;
    box-shadow:0 12px 28px rgba(5,5,5,.07);
  }
  .sms-nav.sms-open a{padding:.95rem .25rem;border-bottom:1px solid var(--line-2);border-radius:0;font-size:.98rem;color:var(--ink);}
  .sms-nav.sms-open a:last-child{border-bottom:0;}
  .sms-nav.sms-open a:hover{background:transparent;}
}

/* side rail */
.sms-rail{position:fixed;left:1.5rem;top:50%;transform:translateY(-50%);z-index:30;display:flex;flex-direction:column;gap:.55rem;font-family:var(--mono);font-size:.63rem;letter-spacing:.09em;}
.sms-rail a{display:flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink-3);}
.sms-rail a:hover{color:var(--ink);}
.sms-rail .sms-n{color:var(--green-d);}
@media(max-width:1400px){.sms-rail{display:none;}}

/* hero */
.sms-hero{text-align:center;padding-block:clamp(3.5rem,8vw,6rem) clamp(3rem,6vw,4.5rem);display:flex;flex-direction:column;align-items:center;}
.sms-hero .sms-pills{display:flex;gap:.6rem;flex-wrap:wrap;justify-content:center;}
.sms-hero h1{font-size:clamp(2.6rem,7.2vw,5.2rem);line-height:.98;letter-spacing:-.045em;font-weight:600;margin-top:1.75rem;max-width:17ch;}
.sms-hero h1 .sms-it{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.02em;}
.sms-hero .sms-sub{margin-top:1.6rem;max-width:38rem;font-size:1.08rem;color:var(--ink-2);line-height:1.65;}
.sms-hero .sms-sub b{color:var(--ink);font-weight:600;}
.sms-hero .sms-act{margin-top:2.25rem;display:flex;flex-wrap:wrap;gap:1rem 1.5rem;align-items:center;justify-content:center;}
.sms-trust{display:flex;align-items:center;gap:.65rem;font-size:.85rem;color:var(--ink-2);}
.sms-trust .sms-stack{display:flex;}
.sms-trust .sms-av{width:29px;height:29px;border-radius:50%;border:2px solid var(--white);margin-left:-6px;position:relative;display:grid;place-items:center;font-size:.6rem;font-weight:700;color:var(--white);}
.sms-trust .sms-av:first-child{margin-left:0;}
.sms-trust b{color:var(--ink);font-weight:600;}

/* manifesto */
.sms-manifesto{background:var(--paper);}
.sms-manifesto .sms-in{padding-block:clamp(3.5rem,8vw,6rem);text-align:center;}
.sms-manifesto h2{font-size:clamp(1.75rem,4.2vw,3rem);line-height:1.12;font-weight:500;letter-spacing:-.035em;max-width:24ch;margin-inline:auto;}
.sms-manifesto h2 .sms-it{font-family:var(--serif);font-style:italic;font-weight:400;}
.sms-manifesto h2 .sms-strike{color:var(--ink-3);text-decoration:line-through;text-decoration-thickness:2px;white-space:nowrap;}

/* section heads */
.sms-head{display:flex;flex-direction:column;gap:1rem;align-items:center;text-align:center;}
.sms-head h2{font-size:clamp(1.9rem,4.4vw,3rem);line-height:1.06;font-weight:600;max-width:22ch;}
.sms-head h2 .sms-it{font-family:var(--serif);font-style:italic;font-weight:400;}
.sms-head .sms-lede{max-width:34rem;color:var(--ink-2);font-size:1.03rem;}

/* panels */
.sms-panel{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.25rem;box-shadow:0 1px 2px rgba(5,5,5,.04);}
.sms-panel-head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.25rem .4rem 1rem;border-bottom:1px solid var(--line-2);}
.sms-panel-title{font-weight:600;font-size:.95rem;letter-spacing:-.02em;}
.sms-tag{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;padding:.28rem .55rem;border-radius:999px;white-space:nowrap;}
.sms-tag.sms-lost{background:rgba(199,52,47,.1);color:var(--warn);}
.sms-tag.sms-won{background:var(--green-tint);color:var(--green-d);}
.sms-tag.sms-neutral{background:rgba(90,100,95,.1);color:var(--ink-2);}

.sms-week{display:grid;grid-template-columns:repeat(5,1fr);gap:.6rem;margin-top:1rem;}
.sms-day{display:flex;flex-direction:column;gap:.45rem;}
.sms-day-n{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:var(--ink-3);padding-left:.15rem;}
.sms-slot{border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--paper-2);padding:.5rem .55rem;display:flex;flex-direction:column;gap:.15rem;}
.sms-slot .sms-s-t{font-size:.74rem;font-weight:500;line-height:1.25;}
.sms-slot .sms-s-m{font-family:var(--mono);font-size:.6rem;color:var(--ink-3);}
.sms-slot.sms-lost{background:rgba(199,52,47,.06);border-color:rgba(199,52,47,.22);}
.sms-slot.sms-lost .sms-s-m{color:var(--warn);}
.sms-panel-note{margin-top:1.25rem;padding:0 .4rem;font-size:.95rem;color:var(--ink-2);}
.sms-panel-note b{color:var(--ink);font-weight:600;}
@media(max-width:820px){.sms-week{grid-template-columns:repeat(2,1fr);}}
@media(max-width:480px){.sms-week{grid-template-columns:1fr;}}

/* steps */
.sms-steps{display:flex;flex-direction:column;gap:1.25rem;margin-top:clamp(2.5rem,5vw,3.5rem);}
.sms-step{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:center;background:var(--paper-2);border:1px solid var(--line-2);border-radius:var(--r-lg);padding:clamp(1.5rem,3.5vw,2.75rem);}
.sms-step:nth-child(even){background:var(--white);border-color:var(--line);}
.sms-step-copy{display:flex;flex-direction:column;gap:.9rem;align-items:flex-start;}
.sms-step-copy h3{font-size:clamp(1.4rem,2.8vw,1.9rem);line-height:1.1;font-weight:600;}
.sms-step-copy p{color:var(--ink-2);}
.sms-step-meta{display:flex;gap:.5rem;flex-wrap:wrap;}
@media(max-width:880px){.sms-step{grid-template-columns:1fr;}}

.sms-tbl{width:100%;border-collapse:collapse;font-size:.86rem;}
.sms-tbl th{font-family:var(--mono);font-size:.6rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:.5rem .6rem;border-bottom:1px solid var(--line-2);}
.sms-tbl td{padding:.7rem .6rem;border-bottom:1px solid var(--line-2);font-variant-numeric:tabular-nums;}
.sms-tbl tr:last-child td{border-bottom:0;}
.sms-tbl td:first-child{font-weight:500;}
.sms-tbl .sms-num{text-align:right;}
.sms-tbl .sms-bad{color:var(--warn);font-weight:600;}
.sms-mini{margin-top:.9rem;padding:0 .6rem;font-size:.74rem;color:var(--ink-3);font-family:var(--mono);}

/* flow (installation panel) */
.sms-flow{display:flex;flex-direction:column;gap:.55rem;margin-top:1rem;}
.sms-fnode{display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--paper-2);font-size:.85rem;font-weight:500;}
.sms-fnode .sms-i{width:22px;height:22px;border-radius:7px;background:var(--green-tint);color:var(--green-d);display:grid;place-items:center;font-size:.62rem;font-family:var(--mono);flex:none;}
.sms-fnode.sms-on{background:var(--green-tint);border-color:var(--green-line);}
.sms-fsplit{display:grid;grid-template-columns:1fr 1fr;gap:.55rem;}
.sms-fbranch{display:flex;flex-direction:column;gap:.4rem;padding:.7rem .8rem;border:1px solid var(--line-2);border-radius:var(--r-sm);}
.sms-fbranch .sms-lab{font-family:var(--mono);font-size:.58rem;letter-spacing:.12em;text-transform:uppercase;}
.sms-fbranch.sms-yes .sms-lab{color:var(--green-d);}
.sms-fbranch.sms-no .sms-lab{color:var(--warn);}
.sms-fbranch p{font-size:.78rem;color:var(--ink-2);}

/* report */
.sms-report{display:flex;flex-direction:column;gap:.55rem;margin-top:1rem;}
.sms-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .85rem;border:1px solid var(--line-2);border-radius:var(--r-sm);background:var(--paper-2);}
.sms-row .sms-k{font-size:.86rem;color:var(--ink-2);}
.sms-row .sms-v{font-weight:600;font-size:1.05rem;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}

/* model cards */
.sms-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-top:clamp(2.5rem,5vw,3.5rem);}
.sms-card{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.6rem 1.4rem;display:flex;flex-direction:column;gap:.6rem;position:relative;}
.sms-card .sms-ico{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;background:var(--green-tint);color:var(--green-d);font-size:1rem;margin-bottom:.35rem;}
.sms-card h3{font-size:1.05rem;font-weight:600;letter-spacing:-.025em;}
.sms-card p{color:var(--ink-2);font-size:.92rem;line-height:1.5;}
.sms-card .sms-plus{position:absolute;right:-.68rem;top:50%;transform:translateY(-50%);color:var(--green-d);font-weight:700;z-index:2;}
.sms-card:last-child .sms-plus{display:none;}
@media(max-width:900px){.sms-cards{grid-template-columns:repeat(2,1fr);}.sms-card .sms-plus{display:none;}}
@media(max-width:540px){.sms-cards{grid-template-columns:1fr;}}
.sms-model-note{margin-top:1.75rem;text-align:center;font-size:1.1rem;color:var(--ink-2);max-width:44rem;margin-inline:auto;}
.sms-model-note b{color:var(--ink);font-weight:600;}

/* cases */
.sms-cases{display:flex;flex-direction:column;gap:1.25rem;margin-top:clamp(2.5rem,5vw,3.5rem);}
.sms-case{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:clamp(1.5rem,4vw,3rem);align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.5rem,3.5vw,2.5rem);}
.sms-case h3{font-size:clamp(1.2rem,2.5vw,1.55rem);font-weight:600;letter-spacing:-.03em;}
.sms-case-body{display:flex;flex-direction:column;gap:1.1rem;}
.sms-cb{display:flex;flex-direction:column;gap:.25rem;}
.sms-cb .sms-k{font-family:var(--mono);font-size:.6rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);}
.sms-cb p{color:var(--ink-2);font-size:.95rem;}
.sms-result{background:var(--night);border-radius:var(--r-lg);padding:1.75rem 1.6rem;display:flex;flex-direction:column;gap:.3rem;}
.sms-result .sms-k{font-family:var(--mono);font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:var(--green);}
.sms-result .sms-big{font-size:clamp(2.3rem,5.5vw,3.3rem);font-weight:700;color:var(--green);letter-spacing:-.05em;line-height:1.02;font-variant-numeric:tabular-nums;margin-top:.3rem;}
.sms-result .sms-big.sms-sm{font-size:clamp(1.6rem,3.6vw,2.2rem);}
.sms-result p{color:rgba(255,255,255,.62);font-size:.93rem;margin-top:.55rem;}
.sms-result p b{color:var(--white);font-weight:600;}
.sms-disclaimer{margin-top:1.75rem;font-size:.8rem;color:var(--ink-3);max-width:52rem;margin-inline:auto;text-align:center;}
@media(max-width:820px){.sms-case{grid-template-columns:1fr;}}

/* platform grid */
.sms-plat{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-top:clamp(2.5rem,5vw,3.5rem);}
.sms-pl{background:var(--paper-2);padding:1.5rem 1.4rem;display:flex;flex-direction:column;gap:.4rem;}
.sms-pl h4{font-size:1rem;font-weight:600;letter-spacing:-.02em;}
.sms-pl p{font-size:.89rem;color:var(--ink-2);line-height:1.5;}
.sms-pl .sms-n{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;color:var(--green-d);margin-bottom:.2rem;}
@media(max-width:880px){.sms-plat{grid-template-columns:repeat(2,1fr);}}
@media(max-width:540px){.sms-plat{grid-template-columns:1fr;}}

/* benefits */
.sms-benefits{background:var(--paper);}
.sms-grid8{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r-lg);overflow:hidden;margin-top:clamp(2.5rem,5vw,3.5rem);}
.sms-ben{background:var(--paper-2);padding:1.5rem 1.35rem;display:flex;flex-direction:column;gap:.4rem;}
.sms-ben h4{font-size:.98rem;font-weight:600;letter-spacing:-.02em;}
.sms-ben p{font-size:.87rem;color:var(--ink-2);line-height:1.5;}
.sms-ben .sms-n{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;color:var(--green-d);margin-bottom:.15rem;}
@media(max-width:900px){.sms-grid8{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.sms-grid8{grid-template-columns:1fr;}}

/* faq */
.sms-faq{max-width:46rem;margin:clamp(2.5rem,5vw,3.5rem) auto 0;border-top:1px solid var(--line);}
details{border-bottom:1px solid var(--line);}
summary{list-style:none;cursor:pointer;position:relative;padding:1.25rem 2.75rem 1.25rem 0;font-weight:500;font-size:1.05rem;letter-spacing:-.02em;}
summary::-webkit-details-marker{display:none;}
summary::after{content:"+";position:absolute;right:.3rem;top:50%;transform:translateY(-50%);width:26px;height:26px;border-radius:50%;background:var(--paper);display:grid;place-items:center;font-family:var(--mono);font-size:.95rem;color:var(--green-d);}
details[open] summary::after{content:"–";}
details p{padding:0 2.75rem 1.5rem 0;color:var(--ink-2);font-size:.97rem;}

/* final */
.sms-final{background:var(--night);color:var(--white);}
.sms-final .sms-in{padding-block:clamp(4rem,8vw,6rem);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(2rem,5vw,4rem);align-items:center;}
.sms-final h2{font-size:clamp(2rem,4.6vw,3.2rem);line-height:1.04;font-weight:600;max-width:15ch;margin-top:1rem;}
.sms-final h2 .sms-it{font-family:var(--serif);font-style:italic;font-weight:400;}
.sms-final .sms-lede{color:rgba(255,255,255,.62);margin-top:1.25rem;max-width:30rem;}
.sms-final .sms-act{margin-top:2rem;display:flex;flex-wrap:wrap;gap:1rem 1.25rem;align-items:center;}
.sms-final .sms-note{font-size:.85rem;color:rgba(255,255,255,.5);}
.sms-final .sms-eyebrow{color:var(--green);}
.sms-sig{margin-top:2.25rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.12);font-size:.88rem;}
.sms-sig b{display:block;font-weight:600;}
.sms-sig span{color:rgba(255,255,255,.45);}
@media(max-width:880px){.sms-final .sms-in{grid-template-columns:1fr;}}

.sms-cal{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:var(--r-lg);padding:1.35rem;}
.sms-cal-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:.9rem;border-bottom:1px solid rgba(255,255,255,.1);}
.sms-cal-m{font-family:var(--mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.8);}
.sms-cal-tag{font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--night);background:var(--green);padding:.25rem .55rem;border-radius:999px;}
.sms-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;margin-top:.9rem;}
.sms-cal-grid span{aspect-ratio:1;display:grid;place-items:center;border-radius:8px;font-size:.76rem;color:rgba(255,255,255,.42);font-variant-numeric:tabular-nums;}
.sms-cal-grid span.sms-free{background:rgba(255,255,255,.08);color:rgba(255,255,255,.88);}
.sms-cal-grid span.sms-pick{background:var(--green);color:var(--night);font-weight:700;}
.sms-cal-foot{margin-top:1rem;font-size:.8rem;color:rgba(255,255,255,.6);display:flex;align-items:center;gap:.5rem;}
.sms-cal-foot .sms-d{width:6px;height:6px;border-radius:50%;background:var(--green);}

/* footer */
footer{background:var(--night);color:rgba(255,255,255,.6);border-top:1px solid rgba(255,255,255,.08);}
.sms-foot{padding-block:3rem 2.25rem;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:2.5rem;}
.sms-foot .sms-brand .sms-n1{color:var(--white);}
.sms-foot .sms-brand .sms-n2{color:rgba(255,255,255,.4);}
.sms-foot p{margin-top:1rem;max-width:24rem;font-size:.92rem;}
.sms-foot-nav{display:flex;flex-direction:column;gap:.6rem;font-size:.92rem;}
.sms-foot-nav a{text-decoration:none;}
.sms-foot-nav a:hover{color:var(--green);}
.sms-foot-nav .sms-eyebrow{margin-bottom:.35rem;color:var(--green);}
.sms-legal{border-top:1px solid rgba(255,255,255,.08);padding-block:1.25rem 2rem;display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;justify-content:space-between;font-family:var(--mono);font-size:.66rem;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.4);}
@media(max-width:720px){.sms-foot{grid-template-columns:1fr;}}

@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important;}}

/* grille de trois cartes (les cartes du modèle sont sur quatre par défaut) */
.sms-cards.sms-c3{grid-template-columns:repeat(3,1fr);}
@media(max-width:900px){.sms-cards.sms-c3{grid-template-columns:1fr;}}

/* en-tête sur petit écran : la marque et le bouton ne se cassent plus en plusieurs lignes */
.sms-brand .sms-n1,.sms-brand .sms-n2{white-space:nowrap;}
@media(max-width:620px){
  .sms-btn.sms-sm{padding:.45rem .45rem .45rem .85rem;font-size:.8rem;}
  .sms-hide-s{display:none;}
  .sms-brand .sms-n2{font-size:.5rem;letter-spacing:.14em;}
}

/* ═══════ animations d'apparition ═══════ */
/* la classe sur <html> n'est posée que si le JS tourne :
   sans JS, tout reste visible — rien ne dépend de l'observateur */
html.sms-anim [data-sms-reveal]{opacity:0;transform:translateY(20px);}
html.sms-anim [data-sms-reveal].sms-seen{
  opacity:1;transform:none;
  transition:opacity .7s cubic-bezier(.2,.7,.2,1),transform .7s cubic-bezier(.2,.7,.2,1);
  transition-delay:var(--sms-d,0s);
}
@media (prefers-reduced-motion:reduce){
  html.sms-anim [data-sms-reveal]{opacity:1!important;transform:none!important;transition:none!important;}
}

/* micro-réactions au survol */
.sms-card,.sms-panel,.sms-case,.sms-step{transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;}
.sms-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(5,5,5,.07);border-color:var(--green-line);}
.sms-panel:hover{box-shadow:0 12px 30px rgba(5,5,5,.06);}
.sms-pl,.sms-ben{transition:background .28s ease;}
.sms-pl:hover,.sms-ben:hover{background:var(--white);}
.sms-slot{transition:transform .2s ease;}
.sms-slot:hover{transform:translateX(2px);}
.sms-fnode{transition:border-color .25s ease,background .25s ease;}
.sms-fnode:hover{border-color:var(--green-line);}
.sms-rail a{transition:color .2s ease,transform .2s ease;}
.sms-rail a:hover{transform:translateX(3px);}
summary{transition:color .2s ease;}
summary:hover{color:var(--green-d);}
details[open] summary{color:var(--ink);}

/* ═══════ tableaux : défilement propre sur petit écran ═══════ */
.sms-tblwrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-inline:-.6rem;padding-inline:.6rem;}
.sms-tblwrap .sms-tbl{min-width:34rem;}
.sms-tblwrap::-webkit-scrollbar{height:6px;}
.sms-tblwrap::-webkit-scrollbar-thumb{background:var(--line);border-radius:3px;}
.sms-tblwrap::-webkit-scrollbar-track{background:transparent;}
.sms-scrollhint{display:none;font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:.7rem;padding-inline:.6rem;}
@media(max-width:700px){.sms-scrollhint{display:block;}}

/* ═══════ le calcul : simulateur ═══════ */
.sms-sim{display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:clamp(1.25rem,3vw,2.25rem);margin-top:clamp(2.5rem,5vw,3.5rem);align-items:start;}
@media(max-width:900px){.sms-sim{grid-template-columns:1fr;}}

.sms-simbox{background:var(--paper-2);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.3rem,2.6vw,1.9rem);display:flex;flex-direction:column;gap:1.5rem;}
.sms-simbox .sms-eyebrow{margin-bottom:-.6rem;}
.sms-ctrl{display:flex;flex-direction:column;gap:.55rem;}
.sms-ctrl-head{display:flex;justify-content:space-between;align-items:baseline;gap:.9rem;}
.sms-ctrl-lab{font-size:.88rem;color:var(--ink-2);line-height:1.3;}
.sms-ctrl-val{font-family:var(--mono);font-size:.95rem;font-weight:500;color:var(--green-d);font-variant-numeric:tabular-nums;white-space:nowrap;}

.sms-simbox input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:20px;background:transparent;cursor:pointer;display:block;margin:0;}
.sms-simbox input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:3px;background:linear-gradient(90deg,var(--green) var(--sms-pct,50%),var(--line) var(--sms-pct,50%));}
.sms-simbox input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--white);border:2px solid var(--green-d);margin-top:-7px;box-shadow:0 2px 6px rgba(5,5,5,.15);transition:transform .15s ease;}
.sms-simbox input[type=range]:active::-webkit-slider-thumb{transform:scale(1.12);}
.sms-simbox input[type=range]::-moz-range-track{height:4px;border-radius:3px;background:var(--line);}
.sms-simbox input[type=range]::-moz-range-progress{height:4px;border-radius:3px;background:var(--green);}
.sms-simbox input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--white);border:2px solid var(--green-d);box-shadow:0 2px 6px rgba(5,5,5,.15);}

.sms-scen{display:flex;flex-direction:column;gap:.75rem;}
.sms-sc{border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.1rem,2.2vw,1.5rem);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem 1.5rem;align-items:center;background:var(--white);}
@media(max-width:560px){.sms-sc{grid-template-columns:1fr;}}
.sms-sc-k{font-family:var(--mono);font-size:.62rem;font-weight:500;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-3);}
.sms-sc-t{font-size:1.02rem;font-weight:600;letter-spacing:-.025em;margin-top:.3rem;}
.sms-sc-d{font-size:.88rem;color:var(--ink-2);line-height:1.5;margin-top:.35rem;}
.sms-sc-v{font-size:clamp(1.5rem,3.4vw,2.2rem);font-weight:700;letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap;}
@media(max-width:560px){.sms-sc-v{text-align:left;}}
.sms-sc-u{display:block;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);margin-top:.45rem;font-weight:500;}
.sms-sc.sms-worst{background:var(--paper);}
.sms-sc.sms-worst .sms-sc-k{color:var(--warn);}
.sms-sc.sms-worst .sms-sc-v{font-size:clamp(1.1rem,2.2vw,1.35rem);color:var(--ink);letter-spacing:-.02em;max-width:16ch;white-space:normal;line-height:1.35;text-align:right;font-weight:600;}
@media(max-width:560px){.sms-sc.sms-worst .sms-sc-v{text-align:left;max-width:none;}}
.sms-sc.sms-good{background:linear-gradient(140deg,var(--green-tint),var(--paper-2));border-color:var(--green-line);}
.sms-sc.sms-good .sms-sc-k{color:var(--green-d);}
.sms-sc.sms-good .sms-sc-v{color:var(--green-d);}

.sms-bench{margin-top:1.1rem;display:flex;gap:.9rem;align-items:flex-start;padding:1.1rem 1.3rem;border:1px dashed var(--line);border-radius:var(--r-sm);background:var(--paper-2);}
.sms-bench span{font-size:.9rem;color:var(--ink-2);line-height:1.55;}
.sms-bench b{color:var(--ink);font-weight:600;}

/* ═══════ très petits écrans (320–360 px) ═══════ */
@media(max-width:380px){
  .sms-hero h1{font-size:2.15rem;}
  .sms-head h2,.sms-manifesto h2{font-size:1.6rem;}
  .sms-final h2{font-size:1.75rem;}
  .sms-wrap{padding-inline:1rem;}
  .sms-trust{flex-direction:column;align-items:center;gap:.5rem;text-align:center;}
  .sms-cal-grid span{font-size:.68rem;}
  /* en-tête resserré : à 320 px, les trois blocs ne tenaient pas sur la ligne */
  .sms-bar-in{gap:.4rem;}
  .sms-brand{gap:.45rem;}
  .sms-brand .sms-mark{width:30px;height:30px;}
  .sms-brand .sms-n1{font-size:.78rem;}
  .sms-brand .sms-n2{display:none;}
  .sms-btn.sms-sm{font-size:.74rem;padding:.4rem .4rem .4rem .7rem;gap:.45rem;}
  .sms-btn.sms-sm .sms-chev{width:20px;height:20px;font-size:.62rem;}
  .sms-navtoggle{width:34px;height:34px;}
}

/* ═══════ tableaux en fiches empilées sur téléphone ═══════ */
@media(max-width:700px){
  .sms-tblwrap{overflow:visible;margin-inline:0;padding-inline:0;}
  .sms-tblwrap .sms-tbl-cards{min-width:0;}
  .sms-tbl-cards thead{display:none;}
  .sms-tbl-cards,.sms-tbl-cards tbody{display:block;}
  .sms-tbl-cards tbody tr{
    display:block;background:var(--paper-2);border:1px solid var(--line-2);
    border-radius:var(--r-sm);padding:.35rem .9rem .55rem;margin-bottom:.6rem;
  }
  .sms-tbl-cards tbody tr:last-child{margin-bottom:0;}
  .sms-tbl-cards td{
    display:flex;justify-content:space-between;align-items:baseline;gap:1rem;
    border:0;padding:.42rem 0;text-align:right;font-size:.85rem;
  }
  .sms-tbl-cards td+td{border-top:1px solid var(--line-2);}
  .sms-tbl-cards td::before{
    content:attr(data-l);flex:none;text-align:left;
    font-family:var(--mono);font-size:.58rem;font-weight:500;letter-spacing:.11em;
    text-transform:uppercase;color:var(--ink-3);padding-top:.15rem;
  }
  /* la première cellule fait office de titre de fiche */
  .sms-tbl-cards td:first-child{
    display:block;text-align:left;font-size:.98rem;font-weight:600;
    letter-spacing:-.02em;padding:.5rem 0 .55rem;
  }
  .sms-tbl-cards td:first-child::before{display:block;margin-bottom:.2rem;}
  .sms-tbl-cards .sms-num{text-align:right;}
  .sms-scrollhint{display:none;}
}

/* ═══════════════════════════════════════════════════════════
   Refonte 19/09 : le pôle commercial IA (offre alignée Kalvi)
   Animations en transform/opacity uniquement, actives seulement
   quand la scène est à l'écran (classe .sms-live posée par le JS).
   ═══════════════════════════════════════════════════════════ */
@keyframes sms-rise{from{opacity:0;transform:translateY(12px);}}
@keyframes sms-blink{50%{opacity:.35;}}
@keyframes sms-spin{to{transform:rotate(360deg);}}

/* accroche : le chiffre souligné */
.sms-hl{background:linear-gradient(transparent 62%, var(--green-tint) 62%);font-variant-numeric:tabular-nums;padding-inline:.05em;}
.sms-tag.sms-blink::before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--green-d);margin-right:.4rem;vertical-align:1px;}
.sms-live .sms-tag.sms-blink::before{animation:sms-blink 1.4s ease-in-out infinite;}

/* problème : les occasions manquées s'allument une à une */
.sms-live .sms-slot.sms-lost{animation:sms-lostflash 1s ease-out backwards;animation-delay:var(--d,0s);}
@keyframes sms-lostflash{0%{opacity:0;transform:scale(.96);} 40%{opacity:1;transform:scale(1.02);box-shadow:0 0 0 3px rgba(199,52,47,.18);} 100%{transform:none;box-shadow:none;}}

/* ——— le pôle commercial : flux en trois colonnes ——— */
.sms-flow3{display:grid;grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr) 44px minmax(0,1fr);align-items:stretch;}
.sms-fcol{border:1px solid var(--line-2);background:var(--paper-2);border-radius:16px;padding:1rem;display:flex;flex-direction:column;gap:.55rem;min-height:210px;}
.sms-fcol-h{display:flex;justify-content:space-between;align-items:center;gap:.5rem;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.sms-livedot{width:7px;height:7px;border-radius:50%;background:var(--green);}
.sms-live .sms-livedot{animation:sms-blink 1.4s ease-in-out infinite;}
.sms-lrow{display:flex;justify-content:space-between;align-items:center;gap:.5rem;background:var(--white);border:1px solid var(--line-2);border-radius:9px;padding:.5rem .65rem;font-size:.8rem;font-weight:500;}
.sms-chip-hot,.sms-chip-soft{font-family:var(--mono);font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;border-radius:5px;padding:.2rem .4rem;white-space:nowrap;}
.sms-chip-hot{background:var(--green);color:var(--night);}
.sms-chip-soft{border:1px solid var(--line);color:var(--ink-3);}
.sms-live .sms-chip-hot{animation:sms-blink 1.6s ease-in-out infinite;}
.sms-quote{background:var(--white);border:1px solid var(--line-2);border-radius:10px;padding:.75rem .8rem;font-family:var(--serif);font-style:italic;font-size:1.05rem;line-height:1.35;}
.sms-slotline{display:grid;grid-template-columns:58px minmax(0,1fr);gap:.5rem;align-items:center;}
.sms-when{font-family:var(--mono);font-size:.6rem;letter-spacing:.06em;color:var(--ink-3);}
.sms-what{background:var(--green-tint);border:1px solid var(--green-line);border-radius:8px;padding:.45rem .6rem;font-size:.78rem;font-weight:600;}
.sms-what.sms-next{background:transparent;border-style:dashed;border-color:var(--line);color:var(--ink-3);font-weight:400;}
.sms-live .sms-slotline{animation:sms-rise .5s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:var(--d);}
.sms-hp{align-self:center;height:2px;position:relative;margin:0 4px;background:repeating-linear-gradient(90deg,var(--line) 0 5px,transparent 5px 10px);}
.sms-hp::after{content:"";position:absolute;top:-3px;left:0;width:100%;height:8px;opacity:0;background:radial-gradient(circle 4px at 4px 50%,var(--green) 90%,transparent 100%);will-change:transform,opacity;}
.sms-live .sms-hp::after{animation:sms-hflow 1.5s ease-in infinite;animation-delay:var(--p,0s);}
@keyframes sms-hflow{0%{transform:translateX(0);opacity:0;} 15%{opacity:1;} 85%{opacity:1;} 100%{transform:translateX(calc(100% - 8px));opacity:0;}}
.sms-flow-notes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem 1.5rem;margin-top:1.4rem;padding:0 .4rem;}
.sms-flow-notes p{font-size:.9rem;color:var(--ink-2);line-height:1.55;}
.sms-flow-notes b{color:var(--ink);font-weight:600;}
.sms-badge-line{display:inline-flex;align-items:center;gap:.55rem;font-family:var(--mono);font-size:.64rem;letter-spacing:.11em;text-transform:uppercase;background:var(--night);color:var(--white);border-radius:999px;padding:.55rem 1rem;}
.sms-badge-line .sms-dot{width:6px;height:6px;border-radius:50%;background:var(--green);}
@media(max-width:880px){
  .sms-flow3{grid-template-columns:1fr;}
  .sms-fcol{min-height:0;}
  .sms-hp{width:2px;height:22px;margin:0 auto;background:repeating-linear-gradient(var(--line) 0 4px,transparent 4px 8px);}
  .sms-hp::after{display:none;}
  .sms-flow-notes{grid-template-columns:1fr;}
}

/* ——— pour qui ——— */
.sms-who{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.25rem,3vw,2rem);margin-top:clamp(2.5rem,5vw,3.5rem);align-items:start;}
.sms-who > div > .sms-eyebrow{display:block;margin-bottom:.8rem;}
.sms-seg{margin-top:0;}
.sms-seg .sms-pl{padding:1.1rem 1.2rem;}
.sms-seg .sms-pl h4{font-size:.92rem;}
.sms-targets{list-style:none;margin:1rem 0 0;padding:0 .4rem;display:flex;flex-direction:column;}
.sms-targets li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.7rem;padding:.7rem 0;border-bottom:1px solid var(--line-2);font-size:.93rem;font-weight:500;}
.sms-targets li::before{content:"→";color:var(--green-d);font-weight:600;}
@media(max-width:880px){.sms-who{grid-template-columns:1fr;}}

/* ——— mécanisme : repères d'étape ——— */
.sms-ms{display:flex;gap:5px;}
.sms-ms i{width:26px;height:4px;border-radius:2px;background:var(--line);}
.sms-ms i.sms-done{background:var(--green-line);}
.sms-ms i.sms-on{background:var(--green);}
.sms-step-copy p b{color:var(--ink);font-weight:600;}
.sms-note-box{border:1px dashed var(--green-line);border-radius:12px;padding:.8rem 1rem;font-size:.9rem;color:var(--ink-2);line-height:1.5;}
.sms-note-box b{color:var(--ink);font-weight:600;}

/* étape 1 : radar */
.sms-radar-wrap{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:1rem;align-items:center;margin-top:1rem;}
.sms-radar{position:relative;aspect-ratio:1;max-width:100%;border-radius:50%;overflow:hidden;border:1px solid var(--line);
  background:
    radial-gradient(circle, transparent 0 24%, var(--line) 24.3% 24.9%, transparent 25% 49%, var(--line) 49.3% 49.9%, transparent 50% 74%, var(--line) 74.3% 74.9%, transparent 75%),
    linear-gradient(var(--line),var(--line)) center/1px 100% no-repeat,
    linear-gradient(var(--line),var(--line)) center/100% 1px no-repeat,
    var(--paper-2);}
.sms-sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg, transparent 0deg 290deg, rgba(0,206,129,.06) 300deg, rgba(0,206,129,.38) 360deg);will-change:transform;}
.sms-live .sms-sweep{animation:sms-spin 4s linear infinite;}
.sms-blip{position:absolute;width:9px;height:9px;margin:-4.5px 0 0 -4.5px;border-radius:50%;background:var(--green-d);opacity:.3;}
.sms-live .sms-blip{animation:sms-ping 4s linear infinite;animation-delay:var(--dl);}
@keyframes sms-ping{0%{opacity:1;transform:scale(1.8);} 30%{opacity:.5;transform:scale(1);} 100%{opacity:.3;transform:scale(1);}}
.sms-found{display:flex;flex-direction:column;gap:.45rem;}
.sms-hit{border:1px solid var(--line-2);background:var(--paper-2);border-radius:10px;padding:.55rem .7rem;display:grid;gap:.15rem;}
.sms-hit-t{display:flex;justify-content:space-between;gap:.5rem;font-size:.78rem;font-weight:600;}
.sms-hit-t em{font-family:var(--mono);font-style:normal;font-size:.56rem;letter-spacing:.06em;color:var(--green-d);white-space:nowrap;}
.sms-hit-s{font-size:.72rem;color:var(--ink-3);}
.sms-live .sms-hit{animation:sms-rise .5s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:var(--d);}
.sms-tally{margin-top:1rem;padding:.9rem .4rem 0;border-top:1px solid var(--line-2);display:flex;justify-content:space-between;align-items:baseline;gap:.8rem;}
.sms-tally span{font-family:var(--mono);font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);}
.sms-tally b{font-size:1.6rem;font-weight:700;letter-spacing:-.04em;color:var(--green-d);font-variant-numeric:tabular-nums;}
@media(max-width:560px){.sms-radar-wrap{grid-template-columns:1fr;}.sms-radar{width:min(100%,230px);justify-self:center;}}

/* étape 2 : boîte d'envoi */
.sms-outbox{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem;}
.sms-msg{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.7rem;align-items:start;border:1px solid var(--line-2);background:var(--paper-2);border-radius:12px;padding:.7rem .8rem;}
.sms-ch{font-family:var(--mono);font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;border:1px solid var(--line);background:var(--white);border-radius:6px;padding:.25rem .45rem;color:var(--ink-2);white-space:nowrap;}
.sms-msg p{font-size:.82rem;line-height:1.45;min-height:2.9em;}
.sms-caret{display:inline-block;width:7px;height:1em;background:var(--green);vertical-align:-2px;margin-left:1px;animation:sms-blink .8s steps(1) infinite;}
.sms-ok{font-family:var(--mono);font-size:.56rem;letter-spacing:.08em;text-transform:uppercase;color:var(--green-d);white-space:nowrap;transition:opacity .3s;}
.sms-ok.sms-wait{opacity:0;}
.sms-meter{margin-top:1rem;display:grid;gap:.45rem;padding:0 .3rem;}
.sms-meter-l{display:flex;justify-content:space-between;gap:.8rem;font-family:var(--mono);font-size:.6rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.sms-meter-l b{color:var(--ink);font-weight:500;font-variant-numeric:tabular-nums;}
.sms-mbar{height:6px;border-radius:3px;background:var(--line-2);overflow:hidden;}
.sms-mbar i{display:block;height:100%;width:41%;border-radius:3px;background:linear-gradient(90deg,var(--green-d),var(--green));transform-origin:left;}
.sms-live .sms-mbar i{animation:sms-growx 2.2s cubic-bezier(.3,.7,.2,1) .3s backwards;}
@keyframes sms-growx{from{transform:scaleX(0);}}
@media(max-width:560px){.sms-msg{grid-template-columns:minmax(0,1fr) auto;}.sms-msg .sms-ch{grid-column:1 / -1;justify-self:start;}}

/* étape 3 : l'appel */
.sms-timer{font-family:var(--mono);font-size:.8rem;color:var(--green-d);font-variant-numeric:tabular-nums;}
.sms-call{display:grid;gap:.6rem;margin-top:1rem;}
.sms-caller{display:flex;align-items:center;gap:.7rem;}
.sms-avatar{width:36px;height:36px;border-radius:50%;background:var(--night);color:var(--green);display:grid;place-items:center;font-weight:700;font-size:.78rem;flex:none;}
.sms-caller-n{font-weight:600;font-size:.9rem;}
.sms-caller-r{font-family:var(--mono);font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);}
.sms-wave{display:flex;align-items:center;gap:3px;height:30px;}
.sms-wave i{flex:1;height:100%;border-radius:2px;background:var(--green);transform:scaleY(.2);will-change:transform;}
.sms-live .sms-wave i{animation:sms-talk 1.1s ease-in-out infinite;animation-delay:var(--w);}
@keyframes sms-talk{0%,100%{transform:scaleY(.18);} 50%{transform:scaleY(1);}}
.sms-bub{font-size:.8rem;line-height:1.45;padding:.6rem .8rem;border-radius:12px;max-width:88%;}
.sms-bub small{display:block;font-family:var(--mono);font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3);margin-bottom:.15rem;}
.sms-bub.sms-out{background:var(--paper-2);border:1px solid var(--line-2);justify-self:start;}
.sms-bub.sms-in{background:var(--green-tint);border:1px solid var(--green-line);justify-self:end;}
.sms-qual{display:flex;flex-wrap:wrap;gap:.35rem;}
.sms-qual span{font-family:var(--mono);font-size:.58rem;letter-spacing:.06em;color:var(--green-d);border:1px solid var(--green-line);border-radius:6px;padding:.2rem .45rem;}
.sms-qual span::before{content:"✓ ";}
.sms-live .sms-bub,.sms-live .sms-qual{animation:sms-rise .5s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:var(--d);}
.sms-week5{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:4px;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line-2);}
.sms-week5 span{font-family:var(--mono);font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:center;}
.sms-week5 i{height:24px;border-radius:6px;background:var(--paper-2);border:1px solid var(--line-2);}
.sms-week5 i.sms-busy{background:repeating-linear-gradient(135deg,var(--paper-2) 0 5px,var(--line-2) 5px 6px);}
.sms-week5 i.sms-rdv{background:var(--green);border-color:var(--green);}
.sms-live .sms-week5 i.sms-rdv{animation:sms-drop .6s cubic-bezier(.3,1.5,.5,1) 2.6s backwards;}
@keyframes sms-drop{from{transform:translateY(-22px) scale(.7);opacity:0;}}
.sms-booked{margin-top:.7rem;display:flex;justify-content:space-between;align-items:center;gap:.8rem;font-size:.8rem;font-weight:600;padding:0 .2rem;}
.sms-booked em{font-family:var(--mono);font-style:normal;font-size:.56rem;letter-spacing:.1em;text-transform:uppercase;background:var(--green);color:var(--night);border-radius:6px;padding:.25rem .5rem;white-space:nowrap;}

/* étape 4 : l'agent au téléphone */
.sms-phone{width:min(100%,380px);justify-self:center;background:var(--night);border-radius:34px;padding:14px;box-shadow:0 20px 40px rgba(5,5,5,.18), inset 0 0 0 6px #15181a;color:var(--white);}
.sms-phone-top{display:flex;justify-content:space-between;font-family:var(--mono);font-size:.62rem;color:rgba(255,255,255,.55);letter-spacing:.08em;padding:6px 12px 10px;}
.sms-chat{display:flex;flex-direction:column;gap:.5rem;min-height:330px;padding:4px 6px 10px;}
.sms-q,.sms-a{font-size:.82rem;line-height:1.45;padding:.6rem .8rem;border-radius:14px;max-width:86%;}
.sms-q{align-self:flex-end;background:var(--green);color:var(--night);font-weight:500;border-bottom-right-radius:4px;}
.sms-a{align-self:flex-start;background:#1a1e1c;border:1px solid #262c29;border-bottom-left-radius:4px;color:rgba(255,255,255,.9);}
.sms-a b{color:var(--green);font-weight:600;}
.sms-pending{display:none;}
.sms-typing{align-self:flex-start;display:inline-flex;gap:4px;padding:.7rem .8rem;background:#1a1e1c;border:1px solid #262c29;border-radius:14px;}
.sms-typing i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5);animation:sms-blink 1s infinite;}
.sms-typing i:nth-child(2){animation-delay:.15s;} .sms-typing i:nth-child(3){animation-delay:.3s;}
.sms-compose{margin-top:6px;border:1px solid #262c29;border-radius:999px;padding:.6rem .9rem;font-size:.78rem;color:rgba(255,255,255,.4);display:flex;justify-content:space-between;}
.sms-compose span:last-child{color:var(--green);font-weight:700;}

/* carte des échéances : statuts */
.sms-st{display:inline-block;font-family:var(--mono);font-size:.6rem;letter-spacing:.06em;text-transform:uppercase;border-radius:999px;padding:.25rem .6rem;white-space:nowrap;}
.sms-st.sms-now{background:var(--green);color:var(--night);}
.sms-st.sms-soon{background:var(--green-tint);color:var(--green-d);}
.sms-st.sms-wait{background:rgba(90,100,95,.1);color:var(--ink-2);}
.sms-live .sms-st.sms-now{animation:sms-blink 1.6s ease-in-out infinite;}
.sms-live .sms-tbl tbody tr{animation:sms-rise .5s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:var(--d);}

/* installation : trois engagements cochés */
.sms-checks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:1.25rem;}
.sms-check{display:flex;align-items:center;gap:.75rem;background:var(--green-tint);border:1px solid var(--green-line);border-radius:14px;padding:.9rem 1rem;font-size:.95rem;font-weight:600;letter-spacing:-.015em;}
.sms-check i{width:24px;height:24px;border-radius:50%;background:var(--green);color:var(--night);display:grid;place-items:center;font-style:normal;font-size:.75rem;font-weight:800;flex:none;}
.sms-live .sms-check i{animation:sms-pop .45s cubic-bezier(.3,1.6,.5,1) backwards;animation-delay:var(--d);}
@keyframes sms-pop{from{transform:scale(0);}}
@media(max-width:880px){.sms-checks{grid-template-columns:1fr;}}

/* garantie : frise J0 → J90 */
.sms-jline{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-top:clamp(2.5rem,5vw,3.5rem);padding-top:8px;}
.sms-rail2{position:absolute;top:17px;left:9px;right:9px;height:2px;background:var(--line);}
.sms-rail2 i{position:absolute;inset:0;background:var(--green);transform-origin:left;}
.sms-live .sms-rail2 i{animation:sms-growx 2.6s cubic-bezier(.45,0,.2,1) .2s backwards;}
.sms-j{display:flex;flex-direction:column;gap:.45rem;position:relative;}
.sms-jdot{width:20px;height:20px;border-radius:50%;background:var(--green);box-shadow:0 0 0 5px var(--paper);}
.sms-live .sms-jdot{animation:sms-pop .4s cubic-bezier(.3,1.6,.5,1) backwards;animation-delay:var(--d);}
.sms-j b{font-size:1.9rem;font-weight:700;letter-spacing:-.045em;color:var(--green-d);margin-top:.35rem;line-height:1;}
.sms-j h4{font-size:1rem;font-weight:600;letter-spacing:-.02em;}
.sms-j p{font-size:.88rem;color:var(--ink-2);line-height:1.5;}
.sms-roles{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));gap:.75rem;align-items:stretch;margin-top:clamp(2rem,4vw,2.75rem);}
.sms-roles > .sms-eyebrow{display:flex;align-items:center;padding-right:.5rem;}
.sms-role{background:var(--white);border:1px solid var(--line);border-radius:14px;padding:.85rem 1rem;font-size:.9rem;line-height:1.45;display:flex;gap:.7rem;}
.sms-role b{font-family:var(--mono);color:var(--green-d);font-weight:500;}
@media(max-width:880px){
  .sms-jline{grid-template-columns:1fr 1fr;row-gap:1.75rem;}
  .sms-rail2{display:none;}
  .sms-roles{grid-template-columns:1fr;}
}
@media(max-width:520px){
  .sms-jline{grid-template-columns:1fr;}
  .sms-j{display:grid;grid-template-columns:20px minmax(0,1fr);column-gap:1rem;row-gap:.25rem;}
  .sms-j .sms-jdot{grid-row:1 / span 3;margin-top:.35rem;width:16px;height:16px;}
  .sms-j b,.sms-j h4,.sms-j p{grid-column:2;}
  .sms-j b{margin-top:0;font-size:1.5rem;}
}

/* après les 90 jours */
.sms-after{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.9rem;margin-top:clamp(2.5rem,5vw,3.5rem);text-align:left;}
.sms-af{background:var(--white);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.5rem 1.4rem;display:flex;flex-direction:column;gap:.45rem;}
.sms-af b{font-size:clamp(2rem,4.4vw,2.8rem);font-weight:700;letter-spacing:-.05em;color:var(--green-d);line-height:1;}
.sms-af h4{font-size:1rem;font-weight:600;letter-spacing:-.02em;margin-top:.3rem;}
.sms-af p{font-size:.88rem;color:var(--ink-2);line-height:1.5;}
.sms-live .sms-af{animation:sms-rise .55s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:var(--d);}
.sms-fees{margin:1.25rem auto 0;max-width:46rem;text-align:center;font-size:.9rem;color:var(--ink-2);line-height:1.55;}
.sms-fees b{color:var(--ink);font-weight:600;}
#sms-apres .sms-sec{padding-block:clamp(4rem,9vw,7rem);}
#sms-apres.sms-manifesto .sms-sec{text-align:initial;}
@media(max-width:820px){.sms-after{grid-template-columns:1fr;}}

/* bloc final : sceau de garantie */
.sms-seal{margin-top:1.6rem;display:flex;gap:.9rem;align-items:center;border:1px solid rgba(0,206,129,.35);background:rgba(0,206,129,.08);border-radius:14px;padding:.85rem 1rem;font-size:.88rem;line-height:1.45;color:rgba(255,255,255,.8);max-width:32rem;}
.sms-seal b{color:var(--white);}
.sms-ring{width:44px;height:44px;border-radius:50%;border:2px dashed var(--green);flex:none;display:grid;place-items:center;font-family:var(--mono);font-size:.62rem;color:var(--green);animation:sms-spin 14s linear infinite;}
.sms-sig a{color:inherit;}

@media (prefers-reduced-motion:reduce){.sms-pending{display:block!important;}}

/* ═══════ barre de navigation flottante (19/09) ═══════ */
body{position:relative;}
/* trame de points derrière l'en-tête et l'accroche, qui s'efface en descendant */
body::before{content:"";position:absolute;left:0;right:0;top:0;height:820px;pointer-events:none;z-index:0;
  background-image:radial-gradient(circle, #d6dcd8 1px, transparent 1.4px);background-size:18px 18px;
  -webkit-mask-image:linear-gradient(#000 35%, transparent);mask-image:linear-gradient(#000 35%, transparent);}
main,footer{position:relative;z-index:1;}
header.sms-bar{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;border-bottom:1px solid transparent;transition:background .25s ease,border-color .25s ease,box-shadow .25s ease;}
header.sms-bar.sms-scrolled{background:rgba(255,255,255,.86);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom-color:var(--line-2);}
.sms-bar-in{display:grid;grid-template-columns:1fr auto 1fr;height:84px;}
.sms-bar-in .sms-brand{justify-self:start;}
.sms-bar-act{justify-self:end;display:flex;align-items:center;gap:.6rem;}
.sms-pillnav{display:flex;align-items:center;gap:.2rem;background:var(--white);border:1px solid var(--line);border-radius:18px;padding:.4rem;box-shadow:0 6px 24px rgba(5,5,5,.06);}
.sms-pillnav a{text-decoration:none;font-size:.95rem;color:var(--ink-2);padding:.6rem 1.05rem;border-radius:12px;white-space:nowrap;transition:color .18s ease,background .18s ease;}
.sms-pillnav a:hover{color:var(--ink);background:var(--paper);}
.sms-pillnav a.sms-on{color:var(--ink);background:var(--paper);}
.sms-pillnav a:focus-visible,.sms-menu a:focus-visible{outline:2px solid var(--green-d);outline-offset:2px;}

/* menu burger (téléphone et tablette) */
.sms-menu{display:none;}
@media(max-width:1080px){
  .sms-pillnav a{padding:.55rem .8rem;font-size:.9rem;}
  .sms-bar-act .sms-hide-s{display:none;}
}
@media(max-width:960px){
  .sms-bar-in{display:flex;height:66px;}
  .sms-pillnav{display:none;}
  .sms-navtoggle{display:flex;}
  header.sms-bar.sms-menu-open{background:var(--white);border-bottom-color:var(--line-2);}
  .sms-menu.sms-open{display:block;position:absolute;top:100%;left:0;right:0;background:var(--white);border-bottom:1px solid var(--line);box-shadow:0 18px 36px rgba(5,5,5,.08);max-height:calc(100vh - 66px);max-height:calc(100dvh - 66px);overflow-y:auto;animation:sms-rise .28s cubic-bezier(.2,.7,.2,1);}
  .sms-menu-in{display:flex;flex-direction:column;padding-block:.35rem 1.25rem;}
  .sms-menu a{display:flex;align-items:center;gap:.9rem;text-decoration:none;color:var(--ink);font-size:1.02rem;font-weight:500;padding:.9rem .1rem;border-bottom:1px solid var(--line-2);}
  .sms-menu a .sms-n{font-family:var(--mono);font-size:.62rem;letter-spacing:.1em;color:var(--green-d);width:1.6rem;}
  .sms-menu a.sms-menu-case{border-bottom:0;}
  .sms-menu .sms-menu-cta{margin-top:1rem;justify-content:center;border-bottom:0;padding:.85rem .85rem .85rem 1.35rem;color:var(--night);font-size:.95rem;}
}
.sms-btn.sms-ghost{background:var(--white);color:var(--ink);border-color:var(--line);}
.sms-btn.sms-ghost:hover{background:var(--paper);}

/* ═══════ en-tête : sous-titre de marque lisible (19/09) ═══════ */
.sms-brand .sms-name{gap:.28rem;line-height:1.1;}
.sms-brand .sms-n1{font-size:.95rem;}
.sms-brand .sms-n2{font-size:.66rem;letter-spacing:.12em;color:var(--ink-2);font-weight:500;}
.sms-foot .sms-brand .sms-n2{color:rgba(255,255,255,.62);}
@media(max-width:620px){
  .sms-brand .sms-name{gap:.2rem;}
  .sms-brand .sms-n1{font-size:.86rem;}
  .sms-brand .sms-n2{font-size:.58rem;letter-spacing:.08em;}
}
@media(max-width:380px){
  .sms-brand .sms-n2{display:block;font-size:.5rem;letter-spacing:.04em;}
  .sms-brand .sms-n1{font-size:.76rem;}
}
@media(max-width:360px){
  .sms-hero .sms-pill{font-size:.6rem;letter-spacing:.08em;padding:.38rem .7rem;}
}
@media(max-width:880px){.sms-step{grid-template-columns:minmax(0,1fr);}}
@media(max-width:400px){.sms-step{padding:1.1rem;}.sms-step .sms-panel{padding:1rem;}}

/* téléphones : le bouton de réservation de l'en-tête devient une pastille, la place va à la marque */
@media(max-width:440px){
  .sms-bar-act .sms-btn.sms-sm{padding:.3rem;gap:0;}
  .sms-bar-act .sms-btn.sms-sm .sms-lbl{display:none;}
  .sms-bar-act .sms-btn.sms-sm .sms-chev{width:28px;height:28px;font-size:.75rem;}
}
