/* TDS PRO — version courte, responsive, sans bibliothèque ni police externe */
:root{--ink:#102f38;--deep:#082a34;--green:#0d6f6d;--muted:#587075;--line:#dce9e5;--pale:#f1f7f4;--gold:#ebc04b;--paper:#fff;--red:#aa302b;--shell:1024px}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:#eaf1ee;color:var(--ink);font-family:Inter,"Segoe UI",-apple-system,BlinkMacSystemFont,Arial,sans-serif;font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure,ul,ol{margin:0;padding:0}
ul,ol{list-style:none}
a{color:inherit}
button,input{font:inherit}
button{cursor:pointer}
img{display:block;max-width:100%}
svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;flex:none}
.sprite{position:absolute;width:0;height:0;overflow:hidden}
.skip{position:absolute;left:-9999px;top:0;z-index:20;background:#f7d66e;color:var(--deep);padding:12px 18px;border-radius:0 0 10px 0;font-weight:700}
.skip:focus{left:0}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
:focus-visible{outline:3px solid #d9a926;outline-offset:3px}
.page{width:min(100% - 32px,var(--shell));margin:16px auto 32px;background:var(--paper);border-radius:20px;overflow:hidden;box-shadow:0 24px 80px rgba(8,42,52,.12)}

/* 1. La photo du produit arrive en premier. */
.hero{position:relative;background:#082a34;overflow:hidden}
.hero-media,.hero-media img{display:block;width:100%}
.hero-media img{height:auto;aspect-ratio:1600/720;object-fit:cover}
.hero-brand{position:absolute;top:24px;left:28px;display:flex;align-items:center;gap:9px;color:#fff}
.brand-mark{display:grid;place-items:center;width:37px;height:37px;border:1px solid rgba(255,255,255,.38);border-radius:11px;color:#f5d574;font-size:11px;font-weight:900;letter-spacing:-.06em}
.brand-name{font-weight:800;font-size:15px;letter-spacing:-.035em;line-height:1.1}
.brand-name b{color:#9cddd0}
.brand-name small{display:block;margin-top:4px;color:#b9d0cf;font-size:7px;letter-spacing:.17em}
.hero-caption{position:absolute;bottom:16px;right:22px;color:#b8d1cc;font-size:9px;letter-spacing:.14em;font-weight:700}

/* 2. Prix et offre, immédiatement sous la photo. */
.offer{padding:25px 42px 23px;background:#fff}
.offer-top{display:flex;align-items:center;justify-content:space-between;gap:16px}
.eyebrow{font-size:10px;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--green)}
.offer h1{font-size:clamp(32px,4.6vw,44px);line-height:1.05;letter-spacing:-.055em;margin-top:6px}
.product-subtitle{margin-top:5px;color:var(--muted);font-size:14px}
.price{display:flex;align-items:flex-start;gap:5px;white-space:nowrap;color:var(--deep);line-height:1}
.price strong{font-size:clamp(44px,6vw,60px);letter-spacing:-.07em}
.price span{font-size:24px;font-weight:800;margin-top:5px}
.offer-bottom{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:20px;padding-top:16px;border-top:1px solid var(--line)}
.offer-benefits{display:flex;flex-wrap:wrap;gap:18px 32px}
.offer-benefits li{display:flex;align-items:center;gap:10px}
.offer-benefits b,.offer-benefits small{display:block;line-height:1.35}
.offer-benefits b{font-size:13px}
.offer-benefits small{font-size:11px;color:var(--muted);margin-top:2px}
.offer-icon{display:grid;place-items:center;width:38px;height:38px;border-radius:11px;background:#edf7f3;color:var(--green);flex:none}
.offer-icon svg{width:20px;height:20px}
.quick-cta{display:inline-flex;align-items:center;gap:7px;white-space:nowrap;padding:11px 15px;border-radius:10px;background:#f5d268;color:#173139;text-decoration:none;font-size:13px;font-weight:800;transition:background .2s,transform .2s}
.quick-cta:hover{background:#f6d879;transform:translateY(-2px)}
.quick-cta svg{width:15px;height:15px}

/* 3. Trois réponses concises, avec trois vrais GIF animés. */
.section{padding:34px 42px}
.why{background:var(--pale);border-top:1px solid #e3eeea;border-bottom:1px solid #e3eeea}
.section-heading h2{font-size:clamp(24px,3.5vw,31px);line-height:1.15;letter-spacing:-.045em;margin-top:5px}
.section-heading>p:not(.eyebrow){color:var(--muted);font-size:14px;margin-top:7px}
.why-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:20px}
.why-card{min-width:0;background:#fff;border:1px solid #dfeae5;border-radius:13px;overflow:hidden;box-shadow:0 5px 18px rgba(8,42,52,.035)}
.why-card picture,.why-card img{display:block;width:100%}
.why-card img{height:auto;aspect-ratio:300/212;object-fit:cover;background:#0a2c36}
.why-copy{padding:12px 14px 15px}
.why-copy h3{font-size:14px;line-height:1.25;letter-spacing:-.02em}
.why-copy p{color:var(--muted);font-size:12px;line-height:1.45;margin-top:4px}
.evidence-note{color:#4f686b;font-size:11px;line-height:1.5;margin-top:15px}
.evidence-note a{color:#0d6f6d;text-underline-offset:2px}
/* Deux scènes de vie compactes, sans texte superposé aux images. */
.lifestyle{margin-top:24px;padding-top:20px;border-top:1px solid #d7e6df}
.lifestyle-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:16px}
.lifestyle-heading h3{font-size:19px;line-height:1.2;letter-spacing:-.035em;margin-top:5px}
.lifestyle-disclosure{max-width:270px;color:#456264;font-size:11px;line-height:1.4;text-align:right}
.lifestyle-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:14px}
.lifestyle-card{position:relative;overflow:hidden;min-width:0;border-radius:13px;background:#dce9e5}
.lifestyle-card img{width:100%;height:auto;aspect-ratio:3/2;object-fit:cover;object-position:center}

/* 4. Formulaire. Le message détaillé de téléphone est réservé aux lecteurs d'écran. */
.order{padding:38px 42px;background:#fff;scroll-margin-top:16px}
.formcard{max-width:640px;margin:auto;padding:28px 30px 26px;background:#fff;border:1px solid #dce8e3;border-radius:18px;box-shadow:0 16px 42px rgba(8,42,52,.09);scroll-margin-top:16px}
.formcard-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-bottom:17px;border-bottom:1px solid var(--line)}
.formcard-head h2{font-size:24px;letter-spacing:-.04em;line-height:1.15;margin-top:5px}
.formcard-head p:not(.eyebrow){font-size:13px;color:var(--muted);margin-top:6px}
.formcard-ic{display:grid;place-items:center;width:44px;height:44px;background:var(--deep);color:#f3d071;border-radius:13px;flex:none}
.formcard-ic svg{width:20px;height:20px}
.field{margin-top:16px}
.field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.req{color:var(--red)}
.field input{width:100%;min-height:51px;padding:12px 14px;border:1.5px solid #ccddd8;border-radius:10px;background:#fbfdfc;color:var(--ink);font-size:16px;outline:none;transition:border-color .16s,box-shadow .16s,background .16s}
.field input::placeholder{color:#839b98;opacity:1}
.field input:hover{border-color:#9cbdb3}
.field input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(13,111,109,.11);background:#fff}
.field input[aria-invalid="true"]{border-color:var(--red);background:#fffaf9}
.field.valid input[aria-invalid="false"]{border-color:#67aa96}
.err{font-size:12px;color:var(--red);font-weight:600;margin-top:5px;line-height:1.4}
.err:empty,.msg:empty{display:none}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:10px;min-height:52px;padding:14px 20px;border:0;border-radius:10px;font-weight:800;font-size:14px;text-align:center;text-decoration:none;transition:transform .18s,box-shadow .18s,background .18s}
.btn svg{width:17px;height:17px}
.btn:hover{transform:translateY(-2px)}
.btn:disabled{opacity:.68;cursor:wait;transform:none;box-shadow:none}
.btn-gold{width:100%;background:linear-gradient(120deg,#f7d875,#e9bb3f);color:#183238;box-shadow:0 9px 20px rgba(201,157,42,.2)}
#submitBtn{margin-top:21px}
.spinner{display:none;width:18px;height:18px;border:2.5px solid rgba(21,43,61,.3);border-top-color:#152b3d;border-radius:50%;animation:spin .75s linear infinite}
#submitBtn.is-loading .spinner{display:block}
#submitBtn.is-loading svg{display:none}
@keyframes spin{to{transform:rotate(360deg)}}
.msg{font-size:13px;line-height:1.5;margin-top:12px;padding:11px 13px;border-radius:9px}
.msg.bad{background:#fff1ed;color:#8d2b21;border:1px solid #f2d2cb}
.fine{display:flex;justify-content:center;align-items:center;gap:7px;margin-top:12px;font-size:11px;color:var(--muted);text-align:center}
.fine svg{width:14px;height:14px}
.success[hidden],form[hidden]{display:none}
.success{padding:24px 0 2px}
.success-ic{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:#e0f5ec;color:#15805f;margin-bottom:14px}
.success-ic svg{width:26px;height:26px;stroke-width:2.5}
.success h3{font-size:23px;letter-spacing:-.03em}
.success>p{margin-top:11px;font-size:14px;line-height:1.65}
.success-note{color:var(--muted)}
.linkbtn{margin-top:18px;padding:0;border:0;background:none;color:var(--green);text-decoration:underline;font-weight:700;font-size:13px}

/* 5. Utilisation : une photo secondaire et trois étapes. */
.how{background:#fff;border-top:1px solid var(--line)}
.how-layout{display:grid;grid-template-columns:190px 1fr;gap:28px;align-items:stretch;margin-top:21px}
.detail-photo{position:relative;border-radius:13px;background:#eff5f3;overflow:hidden;min-height:200px}
.detail-photo img{width:100%;height:100%;max-height:265px;object-fit:cover;object-position:center}
.detail-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:22px 10px 8px;background:linear-gradient(transparent,rgba(8,42,52,.78));color:#fff;font-weight:700;letter-spacing:.12em;font-size:8px}
.steps{display:grid;gap:0;align-content:center}
.steps li{display:flex;gap:14px;align-items:flex-start;padding:10px 0}
.steps li+li{border-top:1px solid var(--line)}
.step-num{display:grid;place-items:center;flex:none;width:32px;height:32px;border-radius:10px;background:#e9f5ef;color:var(--green);font-size:11px;font-weight:800}
.steps h3{font-size:14px;line-height:1.3}
.steps p{margin-top:3px;color:var(--muted);font-size:13px;line-height:1.45}
.how-note{margin-top:15px;color:var(--muted);font-size:11px}

/* 6. FAQ. */
.faq{background:var(--pale);border-top:1px solid #e3eeea}
.faq-list{margin-top:19px;border-top:1px solid #d7e6df}
.faq-list details{border-bottom:1px solid #d7e6df}
.faq-list summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 0;min-height:52px;list-style:none;cursor:pointer;font-size:13px;font-weight:700}
.faq-list summary::-webkit-details-marker{display:none}
.plus{position:relative;display:block;flex:none;width:25px;height:25px;border-radius:8px;background:#dfeee7}
.plus::before,.plus::after{content:"";position:absolute;left:7px;top:12px;width:11px;height:2px;border-radius:2px;background:var(--green)}
.plus::after{transform:rotate(90deg);transition:transform .2s}
.faq-list details[open] .plus::after{transform:rotate(0)}
.faq-list details p{padding:0 40px 15px 0;color:var(--muted);font-size:13px;line-height:1.55}
.btn-outline{margin-top:20px;border:1px solid #b9d4ca;background:#fff;color:var(--green)}
.footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:22px 42px;background:var(--deep);color:#c9d9d6;font-size:11px}

@media(max-width:639px){
  body{background:#fff}
  .page{width:100%;margin:0;border-radius:0;box-shadow:none}
  .hero-media img{aspect-ratio:900/600}
  .hero-brand{top:14px;left:16px;gap:7px}
  .brand-mark{width:31px;height:31px;border-radius:9px;font-size:10px}
  .brand-name{font-size:13px}.brand-name small{font-size:6px;margin-top:3px}
  .hero-caption{font-size:7px;bottom:11px;right:14px}
  .offer{padding:20px 18px 18px}
  .offer h1{font-size:32px}.product-subtitle{font-size:13px}
  .price strong{font-size:46px}.price span{font-size:20px}
  .offer-bottom{gap:8px;margin-top:16px;padding-top:13px;align-items:flex-end}
  .offer-benefits{gap:10px;flex-direction:column}
  .offer-benefits li{gap:8px}.offer-icon{width:32px;height:32px;border-radius:9px}.offer-icon svg{width:17px;height:17px}
  .offer-benefits b{font-size:12px}.offer-benefits small{font-size:10px}
  .quick-cta{font-size:12px;padding:10px 11px}
  .section{padding:26px 18px}
  .section-heading h2{font-size:25px}.section-heading>p:not(.eyebrow){font-size:13px}
  .why-grid{gap:8px;margin-top:15px}.why-card{border-radius:10px}
  .why-copy{padding:9px 8px 11px}.why-copy h3{font-size:12px}.why-copy p{font-size:11px;line-height:1.35;margin-top:4px}
  .evidence-note{font-size:10px;margin-top:12px}
  .lifestyle{margin-top:18px;padding-top:16px}
  .lifestyle-heading{display:block}.lifestyle-heading h3{font-size:17px}
  .lifestyle-disclosure{max-width:none;margin-top:6px;font-size:11px;text-align:left}
  .lifestyle-grid{gap:10px;margin-top:11px}.lifestyle-card{border-radius:10px}
  .order{padding:26px 18px}.formcard{padding:21px 18px;border-radius:15px}
  .formcard-head h2{font-size:21px}.formcard-head p:not(.eyebrow){font-size:12px}
  .formcard-ic{width:38px;height:38px;border-radius:11px}
  .field{margin-top:15px}.field input{min-height:50px}
  .how-layout{grid-template-columns:minmax(95px,32%) 1fr;gap:16px;margin-top:16px}.detail-photo{min-height:210px}
  .steps li{gap:9px;padding:8px 0}.steps h3{font-size:13px}.steps p{font-size:12px}.step-num{width:28px;height:28px;border-radius:8px}
  .footer{padding:20px 18px;flex-direction:column}
}
@media(max-width:350px){
  .price strong{font-size:40px}.offer-benefits b{font-size:11px}.quick-cta{font-size:11px}
  .why-copy h3{font-size:11px}.why-copy p{font-size:10.5px}.section-heading h2{font-size:23px}
  .field input{font-size:16px}.fine{font-size:10px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}.btn:hover,.quick-cta:hover{transform:none}
}
