*{margin:0;padding:0;box-sizing:border-box}
:root{
    --bg:#faf9f6;
    --text:#1a1a1a;
    --text-secondary:#6b6b6b;
    --text-tertiary:#ababab;
    --border:#ece9e4;
    --border-faint:#f2f0ec;
    --surface:#ffffff;
    --accent:#8b7355;
    --accent-soft:#a89070;
    --tint-hue:40;
    --tint-sat:18%;
}
html{scroll-behavior:smooth}
body{font-family:'Inter',-apple-system,sans-serif;background:hsl(var(--tint-hue),var(--tint-sat),95%);color:var(--text);min-height:100vh;font-size:15px;-webkit-font-smoothing:antialiased;overflow-x:hidden}
::selection{background:var(--accent);color:#fff}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.texture{position:fixed;inset:0;pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");opacity:0.025}

.serif{font-family:'EB Garamond',serif}
.wrap{max-width:1000px;margin:0 auto;padding:0 1.5rem;position:relative;z-index:1}
.narrow{max-width:640px;margin:0 auto;padding:0 1.5rem;position:relative;z-index:1}

.eyebrow{font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;color:var(--text-tertiary);margin-bottom:1.1rem}
.section-title{font-family:'EB Garamond',serif;font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.12;font-weight:400;color:var(--text);margin-bottom:1.1rem}
.section-title em{font-style:italic;color:var(--accent)}
.lead{font-family:'EB Garamond',serif;font-size:1.2rem;line-height:1.65;color:var(--text-secondary);font-weight:400}
.lead em{font-style:italic;color:var(--text)}
.accent{color:var(--accent)}

/* reveal on scroll */
.reveal{opacity:0;transform:translateY(14px);transition:opacity .9s cubic-bezier(.16,1,.3,1),transform .9s cubic-bezier(.16,1,.3,1)}
.reveal.in{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){.reveal{opacity:1;transform:none;transition:none}}

/* ============ HEADER ============ */
header{position:sticky;top:0;z-index:100;background:hsla(var(--tint-hue),var(--tint-sat),95%,.92);border-bottom:1px solid var(--border);backdrop-filter:blur(8px)}
.header-inner{max-width:1000px;margin:0 auto;padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between}
.header-left{display:flex;align-items:baseline;gap:.55rem}
.logo{font-family:'EB Garamond',serif;font-size:1.15rem;letter-spacing:.06em;color:var(--text)}
.logo-label{font-size:.64rem;color:var(--text-tertiary);letter-spacing:.06em}
.header-nav{display:flex;align-items:center;gap:1.35rem}
.header-nav a{font-size:.82rem;color:var(--text-secondary);transition:color .2s;white-space:nowrap}
.header-nav a:hover{color:var(--text)}
.btn-nav{border:1px solid var(--text);color:var(--text)!important;padding:.45rem 1rem;border-radius:2px;font-size:.78rem;transition:background .2s,color .2s}
.btn-nav:hover{background:var(--text);color:var(--bg)!important}
/* Libellé court du dernier onglet, réservé aux petits écrans. */
.nav-short{display:none}

/* Onglet de la page courante */
.header-nav a.current{color:var(--text)}
.header-nav a.current::after{content:'';display:block;height:1px;background:var(--accent);margin-top:3px}
.btn-nav.current{background:var(--text);color:var(--bg)!important}
.header-nav .btn-nav.current::after{display:none}

/* Pas de menu hamburger : les onglets restent affichés jusqu'en bas de gamme.
   Sous 860px le header passe sur deux lignes (la marque, puis les onglets). */
@media(max-width:860px){
    .header-inner{flex-direction:column;align-items:stretch;gap:.55rem;padding:.85rem 1.2rem}
    .header-nav{gap:1.4rem;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
    .header-nav::-webkit-scrollbar{display:none}
    .header-nav a{font-size:.76rem}
    /* Le CTA redevient un onglet comme les autres, sans cadre. */
    .btn-nav,.btn-nav.current{border:none;padding:0;font-size:.76rem;background:none;color:var(--accent)!important}
    .header-nav .btn-nav.current::after{display:block;background:var(--accent)}
    .nav-full{display:none}
    .nav-short{display:inline}
}
@media(max-width:560px){
    .header-nav{gap:.6rem;justify-content:space-between}
    .header-nav a,.btn-nav,.btn-nav.current{font-size:.72rem}
}
@media(max-width:400px){
    .header-inner{padding:.8rem 1rem}
    .header-nav{gap:.45rem}
    .header-nav a,.btn-nav,.btn-nav.current{font-size:.69rem}
    .logo{font-size:1.05rem}
    .logo-label{font-size:.6rem}
}

/* ============ BUTTONS ============ */
.btn{display:inline-flex;align-items:center;gap:.45rem;font-family:'Inter',sans-serif;font-size:.8rem;letter-spacing:.02em;padding:.75rem 1.6rem;border-radius:2px;cursor:pointer;border:1px solid transparent;transition:all .25s}
.btn-primary{background:var(--text);color:var(--bg)}
.btn-primary:hover{background:#333;transform:translateY(-1px)}
.btn-ghost{color:var(--text-secondary);border-bottom:1px solid var(--border);border-radius:0;padding:.75rem .2rem}
.btn-ghost:hover{color:var(--text);border-color:var(--text)}

/* ============ HERO ============ */
.hero{padding:clamp(4rem,11vh,7.5rem) 0 clamp(3.5rem,8vh,5.5rem)}
.hero-inner{max-width:720px}
.hero h1{font-family:'EB Garamond',serif;font-size:clamp(2.6rem,7vw,4.6rem);line-height:1.04;font-weight:400;color:var(--text);margin-bottom:1.4rem}
.hero h1 em{font-style:italic;color:var(--accent)}
.hero-sub{font-family:'EB Garamond',serif;font-size:1.25rem;line-height:1.6;color:var(--text-secondary);max-width:560px;margin-bottom:2.2rem}
.hero-cta{display:flex;flex-wrap:wrap;gap:1.4rem;align-items:center}
.hero-meta{margin-top:2.4rem;display:flex;flex-wrap:wrap;gap:.4rem 1rem;font-size:.76rem;color:var(--text-tertiary)}
.hero-meta span::before{content:'·';margin-right:.7rem;color:var(--accent)}
.hero-meta span:first-child::before{display:none}

/* ============ SECTION SHELL ============ */
section{position:relative;z-index:1}
.sec{padding:clamp(3.5rem,8vh,6rem) 0}
.divider{height:1px;background:var(--border);max-width:1000px;margin:0 auto}

/* ============ CONSTAT ============ */
.quote-block{border-left:1px solid var(--accent);padding:.2rem 0 .2rem 1.5rem;margin:1.8rem 0 2.2rem}
.quote-block p{font-family:'EB Garamond',serif;font-size:1.35rem;line-height:1.5;color:var(--text);font-style:italic;margin-bottom:1rem}
.quote-block p:last-child{margin-bottom:0}
.consequences{margin-top:2.6rem;display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem}
.consequences.two{grid-template-columns:repeat(2,1fr);gap:2rem}
.conseq{padding-top:1.1rem;border-top:1px solid var(--border)}
.conseq h4{font-family:'Inter',sans-serif;font-size:.68rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);font-weight:500;margin-bottom:.5rem}
.conseq p{font-size:.86rem;color:var(--text-secondary);line-height:1.6}

/* ============ STATS ============ */
.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.6rem}
.stat{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:2rem 1.5rem;text-align:center;transition:border-color .3s,transform .3s}
.stat:hover{border-color:var(--accent-soft);transform:translateY(-2px)}
.stat-num{font-family:'EB Garamond',serif;font-size:3.2rem;line-height:1;color:var(--accent);font-weight:500;margin-bottom:.7rem}
.stat-num sup{font-size:1.3rem;vertical-align:super}
.stat-label{font-size:.85rem;color:var(--text-secondary);line-height:1.55}
.stat-label strong{color:var(--text);font-weight:500}
.stat-src{font-size:.64rem;color:var(--text-tertiary);margin-top:.9rem;letter-spacing:.03em}

/* ============ SOLUTION ============ */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.6rem}
.step{padding:1.9rem 1.5rem;background:var(--surface);border:1px solid var(--border);border-radius:4px;transition:border-color .3s,transform .3s}
.step:hover{border-color:var(--accent-soft);transform:translateY(-2px)}
.step-num{font-family:'EB Garamond',serif;font-size:1rem;color:var(--accent);border:1px solid var(--border);width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:50%;margin-bottom:1.2rem}
.step h3{font-family:'EB Garamond',serif;font-size:1.4rem;font-weight:400;color:var(--text);margin-bottom:.5rem}
.step p{font-size:.88rem;color:var(--text-secondary);line-height:1.6}
.step p em{font-style:italic;color:var(--text)}

.product-service{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:1.2rem}
.ps-card{padding:1.9rem;background:var(--surface);border:1px solid var(--border);border-radius:4px}
.ps-card .eyebrow{color:var(--accent);margin-bottom:.8rem}
.ps-card h3{font-family:'EB Garamond',serif;font-size:1.55rem;font-weight:400;color:var(--text);margin-bottom:.7rem}
.ps-card p{font-size:.88rem;color:var(--text-secondary);line-height:1.65;margin-bottom:.8rem}
.ps-list{list-style:none}
.ps-list li{position:relative;padding-left:1.1rem;font-size:.86rem;color:var(--text-secondary);margin-bottom:.5rem;line-height:1.5}
.ps-list li::before{content:'·';position:absolute;left:0;color:var(--accent)}

/* ============ DEMO — STOREFRONT + CONSEILLER ============ */
.demo-frame{margin-top:2.6rem;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--surface);box-shadow:0 30px 60px -35px rgba(80,64,44,.28)}
.demo-topbar{display:flex;align-items:center;gap:.55rem;padding:.7rem 1rem;background:#f3f0ea;border-bottom:1px solid var(--border)}
.demo-dots{display:flex;gap:.4rem}
.demo-dots i{width:10px;height:10px;border-radius:50%;background:#dcd6ca;display:block}
.demo-url{flex:1;text-align:center;font-size:.72rem;color:var(--text-tertiary)}
.demo-badge{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);border:1px solid var(--border);padding:.2rem .5rem;border-radius:2px}

.demo-stage{position:relative;background:#fff}
.es-banner{background:#f6ecd7;border-bottom:1px solid #e7d7b1;color:#7d6c3e;font-size:.64rem;letter-spacing:.02em;text-align:center;padding:.55rem 1.1rem;line-height:1.45}
.es-head{padding:2rem 1.5rem 1.2rem;text-align:center;border-bottom:1px solid var(--border-faint)}
.es-logo{font-family:'EB Garamond',serif;font-size:1.7rem;letter-spacing:.28em;color:#2a2620;text-transform:uppercase}
.es-cats{margin-top:.7rem;font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;color:var(--text-tertiary)}
.es-toolbar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.6rem;border-bottom:1px solid var(--border-faint);font-size:.68rem;color:var(--text-tertiary);letter-spacing:.02em}
.es-toolbar .filter{background:var(--text);color:var(--bg);padding:.5rem 1.3rem;font-size:.62rem;letter-spacing:.14em;text-transform:uppercase}

.es-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;padding:1.6rem}
.es-card{background:var(--surface)}
.es-img{position:relative;background:#efece6;height:180px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.es-badge{position:absolute;top:0;left:0;background:#14110d;color:#f3efe7;font-size:.54rem;letter-spacing:.12em;text-transform:uppercase;padding:.32rem .6rem}
.es-family{position:absolute;left:.75rem;bottom:.6rem;font-family:'EB Garamond',serif;font-style:italic;font-size:.82rem;color:#6b6b6b}
.es-heart{position:absolute;right:.75rem;bottom:.55rem;color:#c0564e;font-size:.9rem;line-height:1}
.es-bottle{position:relative;width:80px;height:112px;border-radius:6px 6px 9px 9px;background:linear-gradient(165deg,rgba(255,255,255,.9),var(--liq,#d8c49b));border:1px solid rgba(120,100,70,.16);box-shadow:0 10px 20px -12px rgba(80,60,30,.45)}
.es-bottle .es-cap{position:absolute;top:-11px;left:50%;transform:translateX(-50%);width:26px;height:13px;background:#2a2620;border-radius:2px}
.es-bottle .es-label{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:78%;background:#fdfcfa;border:1px solid rgba(0,0,0,.05);padding:.42rem .2rem;text-align:center;box-shadow:0 1px 3px rgba(0,0,0,.06)}
.es-bottle .es-label b{display:block;font-family:'EB Garamond',serif;font-size:.56rem;letter-spacing:.05em;color:#2a2620;line-height:1.15;text-transform:uppercase}
.es-bottle .es-label i{display:block;font-style:normal;font-size:.36rem;letter-spacing:.09em;color:#9a917f;margin-top:.18rem;text-transform:uppercase}
.es-cbody{padding:.85rem .2rem 0}
.es-name{font-family:'EB Garamond',serif;font-size:1.02rem;letter-spacing:.02em;color:var(--text);text-transform:uppercase;line-height:1.15}
.es-house{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;margin-top:.25rem}
.es-house span{font-size:.58rem;letter-spacing:.1em;text-transform:uppercase;color:var(--text-tertiary)}
.es-try{color:#c0564e!important;white-space:nowrap}
.es-price{font-family:'Inter',sans-serif;font-weight:500;font-size:.88rem;color:var(--text);margin:.5rem 0 .7rem}
.es-notes{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem;border-top:1px solid var(--border-faint);padding-top:.6rem}
.es-notes .nk{font-size:.55rem;letter-spacing:.08em;text-transform:uppercase;color:var(--text);font-weight:600;margin-bottom:.22rem}
.es-notes .nv{font-size:.64rem;color:var(--text-tertiary);line-height:1.2}

.es-promo{background:#161310;color:#efe9df;padding:1.7rem 1.5rem;display:flex;flex-direction:column;justify-content:center}
.es-promo .pe{font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-soft);margin-bottom:.7rem}
.es-promo h4{font-family:'EB Garamond',serif;font-size:1.5rem;font-weight:400;line-height:1.15;margin-bottom:.7rem;color:#f5f0e8}
.es-promo p{font-size:.8rem;line-height:1.55;color:#b6ae9f;margin-bottom:1.2rem}
.es-promo button{align-self:flex-start;background:#f5f0e8;color:#161310;border:none;padding:.72rem 1.15rem;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;font-family:'Inter',sans-serif;transition:background .2s}
.es-promo button:hover{background:#fff}

/* ---- conseiller widget ---- */
.tsw{position:absolute;right:20px;bottom:20px;z-index:5;font-family:'Inter',sans-serif}
.tsw-launcher{-webkit-appearance:none;appearance:none;padding:0;flex:none;position:relative;width:54px;height:54px;min-width:54px;border-radius:50%;background:var(--text);color:var(--bg);display:flex;align-items:center;justify-content:center;cursor:pointer;border:none;box-shadow:0 14px 30px -10px rgba(0,0,0,.5);transition:transform .25s}
.tsw-launcher:hover{transform:translateY(-2px)}
.tsw-launcher svg{width:22px;height:22px}

/* Le panneau vit dans une pile ancrée au-dessus du lanceur : l'étiquette de
   périmètre doit pouvoir déborder par-dessus lui, ce que son overflow:hidden
   interdirait si elle était placée dedans. La pile elle-même ne capte pas le
   clic, sans quoi elle masquerait les cartes de la boutique widget fermé. */
.tsw-stack{position:absolute;right:0;bottom:66px;width:min(360px,calc(100vw - 40px));pointer-events:none}
.tsw-panel{position:relative;width:100%;pointer-events:auto;background:var(--surface);border:1px solid var(--border);border-radius:14px;overflow:hidden;box-shadow:0 26px 60px -20px rgba(60,48,32,.45);opacity:0;visibility:hidden;transform:translateY(12px) scale(.98);transform-origin:bottom right;transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),visibility .3s,box-shadow .35s ease}
.tsw-panel.open{opacity:1;visibility:visible;transform:none}
.tsw-close{position:absolute;top:.6rem;right:.75rem;z-index:2;background:none;border:none;color:var(--text-tertiary);font-size:1.2rem;cursor:pointer;line-height:1;padding:.2rem}
.tsw-close:hover{color:var(--text)}
.tsw-body{padding:1.4rem 1.3rem 1.2rem;max-height:420px;overflow-y:auto}
.tsw-eyebrow{font-size:.6rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:.7rem}
.tsw-intro{font-family:'EB Garamond',serif;font-style:italic;font-size:1.02rem;line-height:1.45;color:var(--text-secondary);margin-bottom:1.1rem}
.tsw-input{width:100%;border:none;border-bottom:1px solid var(--border);background:transparent;font-family:'EB Garamond',serif;font-style:italic;font-size:1.45rem;color:var(--text);padding:.4rem 0;outline:none;transition:border-color .2s}
.tsw-input::placeholder{color:var(--text-tertiary)}
.tsw-input:focus{border-color:var(--accent)}
.tsw-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:1.1rem}
.tsw-gender{display:flex;gap:1.1rem}
.tsw-gender button{background:none;border:none;font-family:'Inter',sans-serif;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary);cursor:pointer;padding:.2rem 0;position:relative}
.tsw-gender button.on{color:var(--text)}
.tsw-gender button.on::after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:1px;background:var(--accent)}
.tsw-go{-webkit-appearance:none;appearance:none;padding:0;width:40px;height:40px;min-width:40px;border-radius:50%;border:1px solid var(--text);background:none;color:var(--text);font-size:1.05rem;cursor:pointer;transition:all .2s;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.tsw-go:hover{background:var(--text);color:var(--bg)}
.tsw-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:1.1rem}
.tsw-chip{font-family:'EB Garamond',serif;font-style:italic;font-size:.8rem;color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);padding:.3rem .6rem;border-radius:20px;cursor:pointer;transition:all .2s}
.tsw-chip:hover{border-color:var(--accent);color:var(--accent)}
.tsw-foot{font-size:.54rem;letter-spacing:.14em;text-transform:uppercase;color:var(--text-tertiary);text-align:right;padding:.6rem 1.3rem;border-top:1px solid var(--border-faint)}

.tsw-loading{display:flex;flex-direction:column;align-items:center;gap:.9rem;padding:2rem 0;text-align:center}
.tsw-loading .ring{width:32px;height:32px;border-radius:50%;border:2px solid var(--border);border-top-color:var(--accent);animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.tsw-loading p{font-family:'EB Garamond',serif;font-style:italic;color:var(--text-tertiary);font-size:.95rem}

.tsw-result{animation:fadeUp .5s ease both}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.tsw-r-top{display:flex;align-items:flex-start;gap:.85rem;margin-bottom:.9rem}
.tsw-r-bottle{width:44px;height:64px;border-radius:4px 4px 7px 7px;flex-shrink:0;position:relative;background:linear-gradient(160deg,#fff,var(--liq,#d8c49b));border:1px solid var(--border)}
.tsw-r-info{flex:1;min-width:0}
.tsw-r-brand{font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.tsw-r-name{font-family:'EB Garamond',serif;font-size:1.35rem;color:var(--text);line-height:1.15;margin:.15rem 0 .4rem;text-transform:uppercase;letter-spacing:.02em}
.tsw-match{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;color:#fff;background:var(--accent);padding:.22rem .55rem;border-radius:20px}
.tsw-accords{display:flex;flex-wrap:wrap;gap:.35rem;margin:.4rem 0 .9rem}
.tsw-accord{font-size:.68rem;color:var(--text-secondary);background:var(--bg);border:1px solid var(--border);padding:.24rem .55rem;border-radius:3px}
.tsw-analysis{font-family:'EB Garamond',serif;font-size:1.05rem;line-height:1.45;color:var(--text-secondary);font-style:italic;margin-bottom:.6rem}
.tsw-price{font-family:'Inter',sans-serif;font-weight:500;font-size:.85rem;color:var(--text);margin-bottom:.9rem}
.tsw-cta{display:block;text-align:center;background:var(--text);border:1px solid var(--text);color:var(--bg);border-radius:6px;padding:.7rem;font-size:.76rem;letter-spacing:.03em;cursor:pointer;transition:all .25s;font-family:'Inter',sans-serif}
.tsw-cta:hover{background:#333}
.tsw-others{margin-top:1rem;border-top:1px solid var(--border-faint);padding-top:.85rem}
.tsw-others-label{font-size:.6rem;text-transform:uppercase;letter-spacing:.12em;color:var(--text-tertiary);margin-bottom:.5rem}
.tsw-other{display:flex;align-items:center;justify-content:space-between;gap:.6rem;padding:.45rem 0;border-bottom:1px solid var(--border-faint)}
.tsw-other:last-child{border:none}
.tsw-other .on{font-family:'EB Garamond',serif;font-size:1rem;color:var(--text)}
.tsw-other .os{font-size:.7rem;color:var(--accent)}
.tsw-restart{display:block;width:100%;margin-top:.9rem;background:none;border:none;color:var(--text-tertiary);font-size:.74rem;cursor:pointer;text-decoration:underline;text-underline-offset:3px}
.tsw-restart:hover{color:var(--text-secondary)}
.tsw-error{font-family:'EB Garamond',serif;font-style:italic;color:#b5654e;text-align:center;padding:1.4rem 0}

/* ---- périmètre du widget : ce qui est à nous, ce qui est à la marque ----
   Le reproche fait à la démo : on ouvrait le conseiller sans comprendre qu'on
   regardait le widget. À l'ouverture, la boutique passe donc sous un voile
   (tout ce qui s'assombrit appartient à la marque) et le panneau se cerne d'un
   liseré accent, étiqueté. */
.tsw-hint{position:absolute;right:64px;bottom:14px;z-index:1;white-space:nowrap;background:var(--text);color:var(--bg);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;padding:.45rem .75rem;border-radius:20px;box-shadow:0 10px 24px -12px rgba(0,0,0,.55);pointer-events:none;transition:opacity .3s ease,transform .3s ease}
.tsw-hint::after{content:'';position:absolute;right:-4px;top:50%;width:8px;height:8px;background:var(--text);transform:translateY(-50%) rotate(45deg)}
.tsw:not(.idle) .tsw-hint,.demo-stage.scoped .tsw-hint{opacity:0;transform:translateX(8px)}

/* Halo qui bat doucement tant que le widget n'a jamais été ouvert. */
.tsw.idle .tsw-launcher::after{content:'';position:absolute;inset:-7px;border-radius:50%;border:1px solid var(--accent);animation:twPulse 2.8s ease-out infinite;pointer-events:none}
@keyframes twPulse{0%{transform:scale(.92);opacity:.65}70%{transform:scale(1.32);opacity:0}100%{transform:scale(1.32);opacity:0}}

.scope-veil{position:absolute;inset:0;z-index:4;background:rgba(20,17,13,.52);opacity:0;visibility:hidden;pointer-events:none;transition:opacity .35s ease,visibility .35s}
.demo-stage.scoped .scope-veil{opacity:1;visibility:visible;pointer-events:auto;cursor:pointer}
.scope-veil-tag{position:absolute;left:1.2rem;bottom:1.5rem;max-width:calc(100% - 2.4rem);font-size:.56rem;letter-spacing:.14em;text-transform:uppercase;color:#efe7d9;background:rgba(14,12,10,.78);border:1px dashed rgba(239,231,217,.5);border-radius:20px;padding:.4rem .8rem}

.tsw-scope-tag{margin-bottom:.6rem;padding:.6rem .75rem;border:1px dashed var(--accent);border-radius:8px;background:hsla(var(--tint-hue),var(--tint-sat),97%,.97);box-shadow:0 12px 30px -18px rgba(40,32,20,.7);opacity:0;transform:translateY(8px);transition:opacity .3s ease .1s,transform .3s ease .1s}
.demo-stage.scoped .tsw-scope-tag{opacity:1;transform:none}
.tsw-scope-tag b{display:block;font-size:.56rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.tsw-scope-tag span{display:block;margin-top:.25rem;font-size:.7rem;line-height:1.4;color:var(--text-secondary)}

.demo-stage.scoped .tsw-panel{box-shadow:0 0 0 1px var(--accent),0 0 0 7px rgba(139,115,85,.18),0 26px 60px -18px rgba(30,24,16,.6)}
.demo-stage.scoped .tsw-launcher{box-shadow:0 0 0 3px rgba(139,115,85,.35),0 14px 30px -10px rgba(0,0,0,.5)}

/* Légende sous le cadre : la même distinction, en clair et pour les lecteurs d'écran. */
.demo-legend{display:flex;flex-wrap:wrap;gap:.5rem 1.8rem;margin-top:1.1rem;font-size:.72rem;color:var(--text-tertiary);line-height:1.5}
.demo-legend .dl{display:inline-flex;align-items:center;gap:.5rem}
.demo-legend .dl::before{content:'';width:14px;height:14px;border-radius:3px;flex:none}
.demo-legend .dl-widget::before{border:1px solid var(--accent);background:rgba(139,115,85,.18)}
.demo-legend .dl-site::before{border:1px dashed var(--border);background:#2a2620}

@media(prefers-reduced-motion:reduce){
    .tsw.idle .tsw-launcher::after{animation:none}
    .tsw-scope-tag{transition:none}
}

.demo-note{margin-top:1.3rem;font-size:.82rem;color:var(--text-tertiary);text-align:center;line-height:1.6}
.demo-note strong{color:var(--text-secondary);font-weight:500}
@media(max-width:820px){.es-grid{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.es-grid{grid-template-columns:1fr 1fr;gap:1rem;padding:1rem}.es-bottle{width:66px;height:94px}.es-notes .nv{font-size:.58rem}}

/* ============ BENCHMARK ============ */
.bench-honesty{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2.6rem}
.bench-card{padding:1.9rem;border-radius:4px;border:1px solid var(--border);background:var(--surface)}
.bench-card.win{border-color:var(--accent-soft)}
.bench-card .bc-tag{font-size:.66rem;text-transform:uppercase;letter-spacing:.12em;margin-bottom:.8rem;font-weight:500}
.bench-card.win .bc-tag{color:var(--accent)}
.bench-card.other .bc-tag{color:var(--text-tertiary)}
.bench-card h3{font-family:'EB Garamond',serif;font-size:1.4rem;font-weight:400;color:var(--text);margin-bottom:.6rem}
.bench-card p{font-size:.88rem;color:var(--text-secondary);line-height:1.6}
.bench-card em{color:var(--text);font-style:italic}

.bench-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-top:2.6rem}
.metric-card{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:1.6rem}
.mc-name{font-family:'EB Garamond',serif;font-size:1.3rem;color:var(--text);display:flex;align-items:baseline;justify-content:space-between;gap:.7rem;margin-bottom:1rem}
.mc-tag{font-family:'Inter',sans-serif;font-size:.56rem;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary);border:1px solid var(--border);padding:.2rem .45rem;border-radius:20px;white-space:nowrap;flex-shrink:0}
.mc-vals{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}
.mc-val{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.5rem .75rem;border-radius:4px;background:var(--bg)}
.mc-val span{font-size:.78rem;color:var(--text-secondary)}
.mc-val b{font-family:'EB Garamond',serif;font-size:1.15rem;color:var(--text-secondary);font-weight:500;white-space:nowrap}
.mc-val b small{font-size:.68rem;color:var(--text-tertiary);margin-left:.35rem;font-family:'Inter',sans-serif}
.mc-val.win{background:rgba(139,115,85,.09);border:1px solid var(--accent-soft)}
.mc-val.win span{color:var(--accent);font-weight:500}
.mc-val.win b{color:var(--accent);font-size:1.35rem}
.mc-note{font-size:.82rem;color:var(--text-secondary);line-height:1.55}
.bench-honest{margin:1.8rem auto 0;max-width:640px;font-family:'EB Garamond',serif;font-style:italic;font-size:1rem;line-height:1.6;color:var(--text-secondary);text-align:center}
.bench-method{margin-top:1.8rem;font-size:.84rem;color:var(--text-secondary)}
.bench-method summary{cursor:pointer;color:var(--text-tertiary);font-size:.76rem;letter-spacing:.02em;list-style:none;display:inline-flex;align-items:center;gap:.4rem;transition:color .2s}
.bench-method summary::-webkit-details-marker{display:none}
.bench-method summary::before{content:'+';color:var(--accent);font-size:.9rem}
.bench-method[open] summary::before{content:'–'}
.bench-method summary:hover{color:var(--text-secondary)}
.bench-method p{margin-top:.9rem;line-height:1.65;max-width:660px}

/* ============ GALERIE D'EXEMPLES (complète, sur la page principale) ============ */
/* Grille asymétrique : une carte hero (exemple presse) en pleine largeur,
   puis 4 cartes secondaires en 2×2. Images volontairement grandes. */
.gal{display:grid;grid-template-columns:repeat(2,1fr);gap:1.4rem;margin-top:2.6rem}
.card{display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:10px;overflow:hidden;transition:border-color .3s,transform .3s,box-shadow .3s}
.card:hover{border-color:var(--accent-soft);transform:translateY(-2px);box-shadow:0 24px 46px -30px rgba(120,95,60,.5)}

/* Carte hero (exemple presse) : photo à gauche, fiche à droite.
   La scène est sortie du flux et couvre la moitié gauche sur toute la hauteur
   réelle de la carte. En flux, la hauteur intrinsèque de la ligne de grille
   dépasse le contenu et laisse des bandes vides autour de la photo. */
.card.hero{grid-column:1 / -1;position:relative;min-height:620px}
.card.hero .scene{position:absolute;left:0;top:0;bottom:0;width:47%;height:auto;aspect-ratio:auto;min-height:0}
.card.hero .cbody{margin-left:47%;padding:2.4rem 2.6rem;justify-content:center}
.card.hero .scene-q{font-size:1.7rem;line-height:1.28;left:1.9rem;right:1.9rem;bottom:1.6rem}
.card.hero .pname{font-size:2rem}
.card.hero .analysis{font-size:1.02rem}
.card.hero .shot{height:250px}

/* Scène : photo d'ambiance de la requête. Les sources sont majoritairement
   en portrait (circuit, skyline, mer sont en 3:4) : un cadre vertical les
   recadre beaucoup moins qu'un format paysage, et les montre bien plus grand. */
.scene{position:relative;aspect-ratio:4/5;height:auto;overflow:hidden;background:#2c2721}
/* image en absolu : elle remplit la scène sans peser sur la hauteur
   intrinsèque de la ligne de grille (sinon la carte se retrouve plus
   haute que son contenu, d'où des bandes vides autour de la photo). */
.scene-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.scene::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(18,15,11,.66),rgba(18,15,11,.04) 58%);pointer-events:none}
.scene-badge{position:absolute;top:.85rem;left:.85rem;z-index:2;font-size:.58rem;letter-spacing:.13em;text-transform:uppercase;padding:.34rem .66rem;border-radius:3px;background:rgba(255,255,255,.94);color:var(--text)}
.scene-badge.press{background:var(--accent);color:#fff}
.scene-credit{position:absolute;top:.75rem;right:.85rem;z-index:2;font-size:.52rem;letter-spacing:.02em;color:rgba(255,255,255,.72);text-shadow:0 1px 3px rgba(0,0,0,.55)}
.scene-credit a{color:inherit;border-bottom:1px solid rgba(255,255,255,.28)}
.scene-credit a:hover{color:#fff;border-color:rgba(255,255,255,.7)}
.scene.noimg .scene-credit{display:none}
.scene-q{position:absolute;left:1.4rem;right:1.4rem;bottom:1.15rem;z-index:2;color:#fff;font-family:'EB Garamond',serif;font-style:italic;font-size:1.32rem;line-height:1.34;text-shadow:0 1px 10px rgba(0,0,0,.55)}
.scene.noimg{background:linear-gradient(150deg,#fbf7f0,var(--sc,#e9e0cf))}
.scene.noimg::after{display:none}
.scene.noimg .scene-q{color:var(--text);text-shadow:none}
.scene.noimg .scene-badge{border:1px solid rgba(0,0,0,.06)}

/* corps : flacon + identité */
.cbody{display:flex;flex-direction:column;flex:1;padding:1.5rem 1.6rem 1.6rem}
.result{display:flex;gap:1.2rem;align-items:center;margin-bottom:1.1rem}
/* Flacon : silhouette dessinée (SVG inline), pas la photo produit. Chaque
   maison a une forme propre — capuchon massif Tom Ford, boule Serge Lutens,
   cylindre Montale, élancé Jo Malone, corps carré Guerlain — reproduite en
   vectoriel. Le grain est dans le SVG (clippé sur la forme), le néon suit
   l'alpha via drop-shadow, teinté par --liq. Voir tools/flacons_svg.py. */
/* hauteur imposée, largeur libre : chaque flacon garde ses proportions
   réelles (Jo Malone élancé, Guerlain large) au lieu d'être calé dans
   une boîte commune qui laisserait du vide sur les côtés. */
.shot{height:196px;width:auto;flex-shrink:0;position:relative;--liq:#d8c49b}
/* ombre au sol, pour poser le flacon plutôt que le laisser flotter */
.shot::after{content:'';position:absolute;z-index:0;left:50%;bottom:2%;width:58%;height:7%;
    transform:translateX(-50%);background:radial-gradient(ellipse,rgba(38,26,10,.3),transparent 70%);
    filter:blur(3px);pointer-events:none}
.fl{position:relative;z-index:1;height:100%;width:auto;display:block;
    filter:drop-shadow(0 0 11px var(--liq)) drop-shadow(0 14px 16px rgba(40,28,12,.3))}
.rid{flex:1;min-width:0}
.brand{font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}
.pname{font-family:'EB Garamond',serif;font-size:1.42rem;color:var(--text);line-height:1.12;margin-top:.2rem}
.analysis{font-size:.9rem;color:var(--text-secondary);line-height:1.6}
.accords{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.95rem}
.accords span{font-size:.58rem;letter-spacing:.02em;color:var(--text-tertiary);background:var(--bg);border:1px solid var(--border-faint);padding:.2rem .5rem;border-radius:3px}
.src{display:flex;align-items:center;gap:.5rem;margin-top:1rem;padding-top:.9rem;border-top:1px solid var(--border-faint);font-size:.68rem;color:var(--text-tertiary);letter-spacing:.02em}
.src a{color:var(--accent);border-bottom:1px solid var(--accent-soft);margin-left:auto;white-space:nowrap}
@media(max-width:760px){
    .gal{grid-template-columns:1fr}
    /* mobile : la scène repasse dans le flux, au-dessus du corps de carte,
       en gardant le cadre vertical (les photos sources sont en portrait). */
    .card.hero{flex-direction:column;min-height:0}
    .card.hero .scene{position:relative;width:auto;height:auto;aspect-ratio:4/5;min-height:0}
    .card.hero .cbody{margin-left:0;padding:1.6rem}
    .card.hero .scene-q{font-size:1.34rem}
    .card.hero .pname{font-size:1.55rem}
    .card.hero .shot{height:196px}
}

/* ============ DATA / INSIGHTS (teaser) ============ */
.data-band{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:clamp(2rem,5vw,3rem);margin-top:2.6rem;position:relative;overflow:hidden;box-shadow:0 30px 60px -42px rgba(120,95,60,.4)}
.data-band::before{content:'';position:absolute;inset:-30% -10% auto -10%;height:70%;z-index:0;background:radial-gradient(ellipse at 30% 0%,hsla(35,50%,68%,.28),transparent 65%);pointer-events:none}
.data-band>*{position:relative;z-index:1}
.data-band .db-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:.6rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}
.data-band h3{font-family:'EB Garamond',serif;font-size:clamp(1.6rem,3.4vw,2.2rem);font-weight:400;line-height:1.14;color:var(--text);margin-bottom:1.6rem;max-width:600px}
.data-band h3 em{font-style:italic;color:var(--accent)}
.data-split{display:grid;grid-template-columns:auto 1fr;gap:1.4rem 2rem;align-items:center;margin-bottom:1.6rem}
.data-bar{width:100%;max-width:340px;height:14px;border-radius:8px;overflow:hidden;display:flex;border:1px solid var(--border)}
.data-bar .cr{background:linear-gradient(90deg,var(--accent-soft),var(--accent))}
.data-bar .te{background:#e8e3da}
.data-figs{display:flex;gap:2rem}
.data-fig .n{font-family:'EB Garamond',serif;font-size:2.6rem;color:var(--text);line-height:1}
.data-fig.creative .n{color:var(--accent)}
.data-fig .l{font-size:.66rem;color:var(--text-secondary);letter-spacing:.03em;margin-top:.4rem;max-width:150px;line-height:1.4}
.data-verb-solo{margin:1.8rem 0;border-left:2px solid var(--accent);padding:.2rem 0 .2rem 1.2rem}
.data-verb-solo .dvs-label{font-family:'IBM Plex Mono',monospace;font-size:.58rem;letter-spacing:.14em;text-transform:uppercase;color:var(--accent-soft);margin-bottom:.55rem}
.data-verb-solo p{font-family:'EB Garamond',serif;font-style:italic;font-size:1.35rem;line-height:1.4;color:var(--text);max-width:600px}
.data-band .db-foot{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;align-items:center;justify-content:space-between;margin-top:1.8rem;padding-top:1.4rem;border-top:1px solid var(--border-faint)}
.data-band .db-window{font-family:'IBM Plex Mono',monospace;font-size:.64rem;color:var(--text-tertiary);letter-spacing:.03em}

/* ============ PRESSE ============ */
.press-card{display:grid;grid-template-columns:auto 1fr;gap:1.8rem;align-items:center;margin-top:2.4rem;padding:1.9rem 2rem;background:var(--surface);border:1px solid var(--border);border-radius:6px}
.press-logo{font-family:'EB Garamond',serif;font-size:1.5rem;letter-spacing:.02em;color:var(--text);border-right:1px solid var(--border);padding-right:1.8rem;line-height:1.1}
.press-logo small{display:block;font-family:'Inter',sans-serif;font-size:.56rem;letter-spacing:.16em;text-transform:uppercase;color:var(--text-tertiary);margin-top:.35rem}
.press-body .pb-meta{font-size:.64rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:.6rem}
.press-body p{font-family:'EB Garamond',serif;font-size:1.12rem;line-height:1.5;color:var(--text);margin-bottom:.5rem}
.press-body p em{font-style:italic;color:var(--accent)}
.press-body .pb-nuance{font-family:'Inter',sans-serif;font-size:.82rem;font-style:normal;color:var(--text-secondary);line-height:1.6;margin-bottom:.9rem}

/* ============ RÉASSURANCE ============ */
.reassure{max-width:680px}
.reassure .section-title{margin-bottom:1.3rem}
.reassure p{font-size:.98rem;color:var(--text-secondary);line-height:1.75;margin-bottom:1.1rem}
.reassure p:last-child{margin-bottom:0}
.reassure strong{color:var(--text);font-weight:500}
.reassure .proof{margin-top:1.6rem;display:inline-flex;align-items:baseline;gap:.6rem;font-family:'IBM Plex Mono',monospace;font-size:.72rem;letter-spacing:.04em;color:var(--text-tertiary);border:1px solid var(--border);border-radius:20px;padding:.5rem 1rem}
.reassure .proof b{font-family:'EB Garamond',serif;font-size:1.4rem;color:var(--accent);font-weight:500}

/* ============ QUI SOMMES-NOUS ============ */
.founder{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;margin-top:1.8rem}
.founder-text p{font-size:.92rem;color:var(--text-secondary);line-height:1.75;margin-bottom:1.1rem}
.founder-text p:last-of-type{margin-bottom:0}
.founder-text .accent{color:var(--accent)}
.founder-pillars{display:flex;flex-direction:column;gap:1rem}
.pillar{padding:1.4rem;background:var(--surface);border:1px solid var(--border);border-radius:4px}
.pillar h4{font-family:'EB Garamond',serif;font-size:1.3rem;color:var(--accent);margin-bottom:.35rem;font-weight:500}
.pillar p{font-size:.85rem;color:var(--text-secondary);line-height:1.55}
.stack-tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.5rem}
.stack-tags span{font-size:.7rem;color:var(--text-tertiary);border:1px solid var(--border);padding:.28rem .65rem;border-radius:20px}

/* ============ PHILOSOPHIE — fusion Qui sommes-nous + Notre place ============ */
/* Deux sous-parties dans une même page/onglet, gardées visuellement distinctes :
   un séparateur interne franc + un eyebrow propre à chacune. */
.phil-sub-eyebrow{font-size:.62rem;text-transform:uppercase;letter-spacing:.16em;color:var(--accent);margin-bottom:1.1rem}
.phil-sep{height:1px;background:var(--border);margin:clamp(3rem,6vh,4.5rem) 0 0}
.phil-place{max-width:680px;margin-top:clamp(2.6rem,5vh,3.6rem)}

/* ============ PRICING ============ */
.pricing-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem;margin-top:2.6rem}
.price-card{padding:2rem 1.6rem;background:var(--surface);border:1px solid var(--border);border-radius:4px;transition:border-color .3s,transform .3s}
.price-card:hover{border-color:var(--accent-soft);transform:translateY(-2px)}
.price-icon{width:42px;height:42px;margin-bottom:1.2rem;color:var(--accent)}
.price-card h3{font-family:'EB Garamond',serif;font-size:1.4rem;font-weight:400;color:var(--text);margin-bottom:.5rem}
.price-card p{font-size:.86rem;color:var(--text-secondary);line-height:1.6}
.fixed-block{margin-top:2.2rem;padding:2rem;background:var(--surface);border:1px solid var(--border);border-radius:6px}
.fixed-block h3{font-family:'EB Garamond',serif;font-size:1.5rem;font-weight:400;color:var(--text);margin-bottom:1.3rem}
.fixed-list{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
.fixed-list.four{grid-template-columns:repeat(2,1fr);gap:1.2rem 2rem}
.fixed-list li{display:flex;gap:.6rem;font-size:.88rem;color:var(--text-secondary);line-height:1.5}
.fixed-list li strong{color:var(--text);font-weight:500}
.fixed-list .check{color:var(--accent);flex-shrink:0;line-height:1.3}

/* ============ CONTACT ============ */
.contact-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:3rem;margin-top:1.8rem;align-items:start}
.contact-left h2{font-family:'EB Garamond',serif;font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:400;color:var(--text);margin-bottom:1rem;line-height:1.15}
.contact-left h2 em{font-style:italic;color:var(--accent)}
.contact-left p{font-size:.9rem;color:var(--text-secondary);line-height:1.7;margin-bottom:1.6rem}
.book-direct{display:flex;flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1.7rem}
.book-alt{font-size:.78rem;color:var(--text-tertiary);line-height:1.5;max-width:340px}
.contact-direct{font-size:.86rem;color:var(--text-tertiary);line-height:2}
.contact-direct a{color:var(--text);border-bottom:1px solid var(--border);transition:border-color .25s}
.contact-direct a:hover{border-color:var(--text)}
.form{background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:1.9rem}
.field{margin-bottom:1.1rem}
.field label{display:block;font-size:.66rem;text-transform:uppercase;letter-spacing:.1em;color:var(--accent);margin-bottom:.45rem}
.field input,.field textarea,.field select{width:100%;background:var(--bg);border:none;border-bottom:1px solid var(--border);border-radius:0;padding:.6rem .1rem;color:var(--text);font-family:'Inter',sans-serif;font-size:.9rem;outline:none;transition:border-color .25s}
.field textarea{min-height:88px;resize:vertical;font-family:'EB Garamond',serif;font-size:1rem}
.field input:focus,.field textarea:focus,.field select:focus{border-color:var(--accent)}
.field input::placeholder,.field textarea::placeholder{color:var(--text-tertiary)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem}
.form-btn{width:100%;margin-top:.5rem;background:var(--text);color:var(--bg);border:none;border-radius:2px;padding:.85rem;font-size:.82rem;letter-spacing:.02em;cursor:pointer;font-family:'Inter',sans-serif;transition:background .25s}
.form-btn:hover{background:#333}
.form-status{margin-top:.9rem;font-size:.82rem;color:var(--text-tertiary);text-align:center;min-height:1.2em;font-family:'EB Garamond',serif;font-style:italic}
.form-status.ok{color:var(--accent)}

/* ============ FOOTER ============ */
footer{border-top:1px solid var(--border);padding:2.4rem 0 2.4rem;margin-top:2rem;position:relative;z-index:1}
.footer-inner{max-width:1000px;margin:0 auto;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:1rem}
.footer-brand{font-family:'EB Garamond',serif;font-size:1.05rem;letter-spacing:.05em;color:var(--text)}
.footer-links{display:flex;gap:1.2rem;flex-wrap:wrap}
.footer-links a{font-size:.68rem;color:var(--text-tertiary);transition:color .2s}
.footer-links a:hover{color:var(--text-secondary)}
.footer-copy{font-size:.66rem;color:var(--text-tertiary);width:100%;margin-top:.8rem}

/* ============ RESPONSIVE ============ */
@media(max-width:820px){
    .stats-grid,.consequences,.consequences.two,.steps,.pricing-cards,.fixed-list,.fixed-list.four{grid-template-columns:1fr}
    .product-service,.bench-honesty,.bench-grid,.founder,.contact-grid{grid-template-columns:1fr}
    .ex-grid,.data-verbatims{grid-template-columns:1fr}
    .data-split{grid-template-columns:1fr}
    .press-card{grid-template-columns:1fr;gap:1.2rem}
    .press-logo{border-right:none;border-bottom:1px solid var(--border);padding-right:0;padding-bottom:1rem}
    .founder{gap:2rem}
    .form-row{grid-template-columns:1fr}
}
@media(max-width:500px){
    .brand-shelf{gap:.7rem}.shelf-item{width:76px}
    .metrics-head,.metric-row{grid-template-columns:1.6fr 1fr}
    /* Widget démo : le panneau doit tenir dans le cadre, pas déborder à gauche */
    .tsw{left:16px;right:16px;bottom:16px}
    .tsw-launcher{width:max-content;margin-left:auto}
    .tsw-stack{left:0;right:0;width:auto;bottom:64px}
    .tsw-body{max-height:340px}
    .tsw-hint{right:60px;bottom:12px;font-size:.54rem;letter-spacing:.1em;padding:.4rem .6rem}
    .scope-veil-tag{left:1rem;bottom:1.1rem}
}

/* ============ SUITE — passage d'une page à l'autre ============ */
.next-step{border-top:1px solid var(--border);padding:clamp(2.6rem,6vh,4rem) 0}
/* Les actions s'alignent sur le bas du titre, pas sur la ligne de base de
   l'eyebrow : sans ça les boutons remontaient au niveau du « La suite ». */
.next-inner{max-width:1000px;margin:0 auto;padding:0 1.5rem;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:1.2rem}
.next-text .eyebrow{margin-bottom:.5rem}
.next-text h3{font-family:'EB Garamond',serif;font-size:clamp(1.4rem,3vw,1.9rem);font-weight:400;line-height:1.2}
.next-text h3 em{font-style:italic;color:var(--accent)}
.next-actions{display:flex;flex-wrap:wrap;gap:1.2rem;align-items:center}
