/* Offre cryo (2026-10-26) : refonte livrée par ChatGPT (composant React
   CryoLanding), reprise en page statique dans l'habillage PRP : en-tête,
   menu « Nos soins », langues, fenêtre de réservation, pied de page et barre
   mobile viennent des feuilles PRP ; ce fichier porte le contenu de la page,
   limité à <main class="cryo-page">. */
:root{--warm-grey:#e9e4dc;--font-display:'EB Garamond',Georgia,serif;--font-sans:'DM Sans',sans-serif;--ease-premium:cubic-bezier(.16,1,.3,1)}
.cryo-page{--cryo-muted:color-mix(in srgb,var(--navy) 72%,var(--cream));--cryo-light-muted:color-mix(in srgb,var(--cream) 76%,var(--navy));background:var(--cream);color:var(--navy);font-family:var(--font-sans);font-size:16px;line-height:1.65;overflow-x:clip}
.cryo-page p+p{margin-top:0}
.cryo-page section[id]{scroll-margin-top:24px}
.cryo-page .container-prose{width:100%;max-width:1280px;margin-inline:auto;padding-inline:clamp(24px,4.5vw,72px)}
.cryo-page h1,.cryo-page h2,.cryo-page h3{color:inherit;font-style:normal;font-weight:400;letter-spacing:-.025em;text-wrap:balance}
.cryo-page h1 em,.cryo-page h2 em{display:block;font-weight:400}
.cryo-page h2{font-size:clamp(40px,4.5vw,64px);line-height:1.04}
.cryo-page h3{font-size:30px;line-height:1.15}
.cryo-page p{text-wrap:pretty}
.cryo-page button{cursor:pointer;background:none;border:0;padding:0;color:inherit;font:inherit}
.cryo-page button:disabled{cursor:default;opacity:.5}
.cryo-page .icon{width:18px;height:18px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cryo-page .button{gap:22px;border-radius:3px;font-size:13px;min-height:52px;padding:14px 22px;line-height:1.3;font-weight:500;text-align:center}
.cryo-page .button-gold{color:var(--navy)}
.cryo-page .button .icon{flex-shrink:0;transition:transform .2s var(--ease-premium)}
@media (hover:hover) and (pointer:fine){
  .cryo-page .button-gold:hover{background:var(--gold-hover)}
  .cryo-page .button-outline:hover{background:var(--navy);color:var(--cream)}
  .cryo-page .button:hover .icon{transform:translateX(3px)}
}

/* ── Premier écran ─────────────────────────────────────────────────── */
.cryo-hero{position:relative;background:var(--navy);color:var(--cream);isolation:isolate;height:auto;min-height:min(calc(100svh - var(--header-height)),900px);display:flex;align-items:center;overflow:hidden}
.cryo-hero-visual{position:absolute;inset:0 0 0 44%;z-index:-2;overflow:hidden}
.cryo-hero-visual img{position:absolute;height:100%;width:100%;object-fit:cover;object-position:72% 60%;opacity:0;transition:opacity 1s ease}
/* Les deux hommes partagent le cadrage de la photo de la femme : chacun
   est recadré autrement (ventre et pads, ou visage) pour que la galerie ne
   montre jamais deux fois la même prise de vue */
.cryo-hero-visual img.crop-belly{scale:1.38;transform-origin:68% 62%}
.cryo-hero-visual img.crop-face{scale:1.42;transform-origin:44% 30%}
.cryo-hero-visual img.is-active{opacity:1;animation:cryo-zoom 8s var(--ease-premium) both}
@keyframes cryo-zoom{from{transform:scale(1.06)}to{transform:none}}
.cryo-hero-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--navy) 0%,rgba(13,27,42,.6) 14%,transparent 36%),linear-gradient(0deg,var(--navy),transparent 22%)}
.cryo-hero-inner{position:relative;width:100%;padding-block:clamp(16px,4svh,48px) clamp(64px,10svh,96px)}
.cryo-hero-copy{width:50%;max-width:620px}
.cryo-hero-service{display:flex;gap:24px;font-size:11px;letter-spacing:.18em;color:var(--gold);margin-bottom:clamp(12px,2.6svh,25px);text-transform:uppercase}
.cryo-hero-service span{color:var(--cryo-light-muted);font-size:10px;letter-spacing:.12em}
.cryo-hero h1{font-size:clamp(38px,min(4.3vw,7.6svh),66px);line-height:.99;margin-bottom:clamp(14px,2.8svh,26px);max-width:700px;letter-spacing:-.03em}
.cryo-hero h1 em{color:var(--gold);margin-top:5px}
/* Pastille J14 sous le titre : information (garantie Première Transformation), pas un lien */
.cryo-hero-proof{display:inline-flex;align-items:center;gap:10px;margin:0 0 clamp(14px,2.6svh,24px);padding:8px 14px 8px 12px;border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);border-radius:40px;background:color-mix(in srgb,var(--gold) 10%,transparent);font-size:13px;line-height:1.35;color:var(--cream)}
.cryo-hero-proof strong{font-weight:600;color:var(--gold)}
.cryo-hero-proof-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 0 rgba(201,169,110,.6);animation:cryo-pulse 2.4s var(--vb-ease) infinite}
.cryo-hero-proof{animation:vb-rise .8s var(--vb-ease) .62s both}
@media (max-width:800px){.cryo-hero-proof{font-size:12px;padding:7px 12px 7px 10px;margin-bottom:14px}}
.cryo-hero-lead{font-size:17px;line-height:1.65;max-width:450px;margin-bottom:14px}
.cryo-hero-description{font-size:14px;color:var(--cryo-light-muted);max-width:420px;line-height:1.8;margin-bottom:clamp(16px,3svh,28px)}
.cryo-page .cryo-primary{min-height:57px;padding-inline:26px}
.cryo-text-link{display:flex;align-items:center;width:fit-content;gap:16px;padding-block:10px;font-size:13px;text-decoration:underline;text-underline-offset:5px;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);transition:color .2s ease}
.cryo-text-link:hover{color:var(--gold-hover)}
.cryo-text-link .icon{width:16px;height:16px}
.cryo-hero .cryo-text-link{margin-top:7px}
.cryo-hero-meta{color:var(--gold);font-size:11px;margin-top:clamp(6px,1.4svh,14px)}
.cryo-rating{display:flex;align-items:center;gap:9px;margin-top:clamp(10px,2.2svh,24px);font-size:11px;color:var(--cryo-light-muted);text-decoration:none;width:fit-content}
.cryo-rating .cryo-stars{color:var(--gold);letter-spacing:2px;font-size:12px}
.cryo-rating strong{color:var(--cream);font-weight:500}
.cryo-gallery-caption{position:absolute;right:4.5%;bottom:clamp(18px,4svh,36px);max-width:370px;width:31%;z-index:2;color:var(--cream);display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding-top:14px;border-top:1px solid color-mix(in srgb,var(--cream) 30%,transparent)}
.cryo-gallery-caption>span{font-size:11px}
/* Ordinateur : la galerie laisse la place au bouton WhatsApp flottant */
@media (min-width:801px){.cryo-gallery-caption{right:calc(4.5% + 170px)}}
.cryo-gallery-controls{display:flex;gap:6px;align-items:center}
.cryo-icon-button{display:inline-flex;justify-content:center;align-items:center;width:44px;height:44px}
.cryo-icon-button svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cryo-slide-button{width:30px;height:44px;display:grid;place-items:center}
.cryo-slide-button span{display:block;width:23px;height:2px;background:color-mix(in srgb,var(--cream) 40%,transparent);transition:background .3s ease}
.cryo-slide-button.is-active span{background:var(--gold)}
/* Entrée du premier écran, comme les pages PRP et microneedling */
.cryo-hero-visual{animation:vb-fade 1.3s var(--vb-ease,ease) .05s both}
.cryo-hero-service{animation:vb-rise .7s var(--vb-ease) .25s both}
.cryo-hero h1{animation:vb-unveil 1.05s var(--vb-ease) .35s both}
.cryo-hero-lead{animation:vb-rise .8s var(--vb-ease) .7s both}
.cryo-hero-description{animation:vb-rise .8s var(--vb-ease) .8s both}
.cryo-hero-copy>.button{animation:vb-rise .8s var(--vb-ease) .9s both;position:relative;overflow:hidden}
.cryo-hero-copy>.button::after{content:"";position:absolute;inset:0;background:linear-gradient(105deg,transparent 35%,rgba(255,255,255,.38) 50%,transparent 65%);transform:translateX(-120%);animation:vb-sheen 1.1s var(--vb-ease) 2s 1 both;pointer-events:none}
.cryo-hero-copy>.cryo-text-link,.cryo-hero-meta,.cryo-rating{animation:vb-fade .8s var(--vb-ease) 1.1s both}
.cryo-gallery-caption{animation:vb-fade .8s var(--vb-ease) 1.3s both}
.cryo-facts p{animation:vb-rise .8s var(--vb-ease) both}
.cryo-facts p:nth-child(1){animation-delay:1.2s}.cryo-facts p:nth-child(2){animation-delay:1.3s}.cryo-facts p:nth-child(3){animation-delay:1.4s}.cryo-facts p:nth-child(4){animation-delay:1.5s}

.cryo-facts{border-bottom:1px solid var(--warm-grey)}
.cryo-facts>div{display:grid;grid-template-columns:repeat(4,1fr);padding-block:23px;gap:25px}
.cryo-facts p{display:flex;align-items:center;gap:14px;font-size:12px}
.cryo-facts .icon{color:var(--gold-hover);flex-shrink:0;width:17px;height:17px}

/* ── Sections ──────────────────────────────────────────────────────── */
.cryo-section{padding-block:112px}
.cryo-section-heading{display:flex;justify-content:space-between;align-items:end;gap:60px;margin-bottom:58px}
.cryo-section-heading h2{max-width:740px}
.cryo-section-heading>p{max-width:350px;font-size:14px;color:var(--cryo-muted)}
.cryo-benefit-heading{display:grid;grid-template-columns:1.15fr 1fr;align-items:end;gap:100px;margin-bottom:58px}
.cryo-benefit-heading em,.cryo-device-heading h2 em{color:color-mix(in srgb,var(--gold-hover) 85%,var(--navy))}
.cryo-benefit-heading>p{max-width:385px;font-size:17px;color:var(--cryo-muted)}
.cryo-benefit-layout{display:grid;grid-template-columns:1.03fr 1fr;gap:clamp(45px,7.5vw,110px);align-items:center}
.cryo-benefit-photo{position:relative;height:600px;overflow:hidden;border-radius:3px;margin:0}
.cryo-benefit-photo img{width:100%;height:100%;object-fit:cover}
.cryo-benefit-photo figcaption{position:absolute;bottom:0;left:0;right:0;padding:24px;color:var(--cream);font-size:11px;letter-spacing:.09em;background:linear-gradient(transparent,var(--navy))}
.cryo-benefit-list article{border-top:1px solid color-mix(in srgb,var(--navy) 16%,transparent);padding-block:23px}
.cryo-benefit-list article:first-child{padding-top:0;border:0}
.cryo-benefit-list h3{font-size:29px;margin-bottom:9px}
.cryo-benefit-list article p{font-size:14px;color:var(--cryo-muted);max-width:440px}
.cryo-note{font-size:11px;line-height:1.7;color:var(--cryo-muted)}
.cryo-benefit-list>.cryo-note{margin-top:14px}

/* L'appareil et les zones */
.cryo-device-heading{display:grid;grid-template-columns:1.4fr 1fr;gap:80px;align-items:end;margin-bottom:50px}
.cryo-device-heading h2{font-size:clamp(38px,4vw,56px)}
.cryo-device-heading>p{color:var(--cryo-muted);font-size:14px}
.cryo-zones{display:grid;grid-template-columns:1fr 2fr;gap:70px;padding-top:45px}
.cryo-zones h3{font-size:32px;max-width:230px}
.cryo-zone-buttons{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:22px}
.cryo-zone-buttons button{font-size:12px;border:1px solid var(--warm-grey);border-radius:50px;padding:10px 17px;min-height:44px;transition:background .2s ease,color .2s ease}
.cryo-zone-buttons button[aria-pressed="true"]{background:var(--navy);color:var(--cream);border-color:var(--navy)}
.cryo-zone-description{font-size:14px;min-height:46px;margin-bottom:14px}
.cryo-zone-description[hidden]{display:none}

/* Résultats */
.cryo-results{border-top:1px solid var(--warm-grey);background:color-mix(in srgb,var(--cream) 64%,var(--warm-grey))}
.cryo-results .cryo-section-heading h2{max-width:650px}
.cryo-celia{padding-bottom:58px;margin:0}
.cryo-celia img{display:block;width:100%;height:auto;max-height:650px;object-fit:contain}
.cryo-celia figcaption{font-size:12px;text-align:center;margin-top:18px;color:var(--cryo-muted)}
.cryo-result-detail{display:grid;grid-template-columns:1fr 1fr;gap:110px;align-items:center;padding-top:60px;border-top:1px solid color-mix(in srgb,var(--navy) 15%,transparent)}
.cryo-result-copy h3{font-size:42px;margin-bottom:30px}
.cryo-result-tabs{margin-bottom:30px}
.cryo-result-tabs button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:15px 0;border-bottom:1px solid color-mix(in srgb,var(--navy) 15%,transparent);color:var(--cryo-muted);font-size:15px;text-align:left}
.cryo-result-tabs button[aria-pressed="true"]{color:var(--navy);font-weight:600;border-bottom-color:var(--gold-hover)}
.cryo-result-tabs button[aria-pressed="true"] .icon{color:var(--gold-hover)}
/* Onglets avant / après (2026-10-26) : la zone choisie est un bloc bleu nuit
   avec un trait doré, et une barre se remplit avant le passage automatique
   à la zone suivante ; le reste invite au clic (survol, flèche). */
.cryo-tabs-hint{font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-hover);margin-bottom:10px}
.cryo-result-tabs button{position:relative;overflow:hidden;padding:15px 16px;border-radius:6px;transition:background .35s var(--vb-ease),color .35s var(--vb-ease),padding .35s var(--vb-ease)}
.cryo-result-tabs button .icon{transition:transform .3s var(--vb-ease)}
.cryo-result-tabs button[aria-pressed="true"]{background:var(--navy);color:var(--cream);font-weight:500;border-bottom-color:transparent;padding-left:24px;box-shadow:0 16px 30px -22px rgba(13,27,42,.7)}
.cryo-result-tabs button[aria-pressed="true"]::before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:var(--gold)}
.cryo-result-tabs button[aria-pressed="true"] .icon{color:var(--gold);transform:rotate(45deg)}
.cryo-tab-progress{position:absolute;left:0;bottom:0;height:2px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;opacity:0}
.cryo-result-tabs.is-auto button[aria-pressed="true"] .cryo-tab-progress{opacity:1;animation:cryo-tab-fill var(--tab-dur,5s) linear forwards}
@keyframes cryo-tab-fill{to{transform:scaleX(1)}}
@media (hover:hover) and (pointer:fine){.cryo-result-tabs button[aria-pressed="false"]:hover{background:color-mix(in srgb,var(--navy) 6%,transparent);color:var(--navy)}.cryo-result-tabs button[aria-pressed="false"]:hover .icon{transform:translate(2px,-2px)}}
.cryo-comparison{margin:0}
.cryo-comparison[hidden]{display:none}
.cryo-comparison-image{--pos:50%;position:relative;aspect-ratio:4/5;max-height:570px;width:100%;background:var(--navy);overflow:hidden;border-radius:3px;touch-action:pan-y}
.cryo-comparison-image img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.cryo-comparison-image .cryo-before{clip-path:inset(0 calc(100% - var(--pos)) 0 0)}
.cryo-comparison-image input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0}
.cryo-comparison-image:focus-within{outline:3px solid var(--gold-hover);outline-offset:5px}
.cryo-before-label,.cryo-after-label{position:absolute;top:18px;font-size:11px;padding:5px 11px;background:var(--navy);color:var(--cream);pointer-events:none}
.cryo-before-label{left:18px}
.cryo-after-label{right:18px;background:var(--gold);color:var(--navy)}
.cryo-comparison-line{position:absolute;top:0;left:var(--pos);width:1px;height:100%;background:var(--cream);pointer-events:none}
.cryo-comparison-line span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:var(--cream);font-size:23px;color:var(--navy)}
.cryo-comparison figcaption{display:flex;align-items:center;flex-wrap:wrap;gap:5px 16px;margin-top:14px;font-size:12px}
.cryo-comparison figcaption strong{font-weight:500}
.cryo-comparison figcaption small{margin-left:auto;font-size:10px;color:var(--cryo-muted)}

/* Parcours */
.cryo-journey{background:var(--navy);color:var(--cream)}
.cryo-journey-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px}
.cryo-journey-grid article{position:relative;border-top:1px solid color-mix(in srgb,var(--gold) 40%,transparent);padding-top:26px}
.cryo-step-number{font-size:48px;font-family:var(--font-display);color:var(--gold);line-height:1;margin-bottom:32px}
.cryo-step-label{font-size:11px;color:var(--gold);margin-bottom:10px}
.cryo-journey-grid h3{font-size:27px;margin-bottom:12px}
.cryo-journey-grid article>p:last-child{font-size:13px;color:var(--cryo-light-muted);line-height:1.8}

/* Programmes */
.cryo-programmes .cryo-section-heading{display:block;max-width:900px}
.cryo-programmes .cryo-section-heading>p{max-width:530px;margin-top:22px}
.cryo-packs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:stretch}
.cryo-pack{padding:32px 27px;border:1px solid color-mix(in srgb,var(--navy) 22%,transparent);border-radius:5px;display:flex;flex-direction:column;background:var(--cream)}
.cryo-pack-featured{background:var(--navy);color:var(--cream);border-color:var(--navy)}
.cryo-pack-tag{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--cryo-muted);margin-bottom:25px}
.cryo-pack-featured .cryo-pack-tag{color:var(--gold)}
.cryo-pack h3{font-size:35px}
.cryo-pack-description{color:var(--cryo-muted);font-size:12px;min-height:40px;margin-top:12px}
.cryo-pack-featured .cryo-pack-description,.cryo-pack-featured .cryo-monthly,.cryo-pack-featured .cryo-old-price{color:var(--cryo-light-muted)}
.cryo-old-price{font-size:12px;color:var(--cryo-muted);margin-top:18px}
.cryo-old-price s{text-decoration-thickness:1px}
.cryo-price{font-size:54px;font-family:var(--font-display);line-height:1;letter-spacing:-.025em;font-variant-numeric:lining-nums tabular-nums;margin-top:6px}
.cryo-price>span{font-size:15px;font-family:var(--font-sans);margin-left:10px;letter-spacing:0}
.cryo-finance{font-size:12px;display:flex;align-items:center;gap:8px;margin:22px 0 8px}
.cryo-finance .icon,.cryo-pack li .icon{color:var(--gold-hover);flex-shrink:0;width:15px;height:15px}
.cryo-monthly{color:var(--cryo-muted);font-size:10px;min-height:53px}
.cryo-pack ul{margin:22px 0;padding:24px 0 0;border-top:1px solid color-mix(in srgb,currentColor 18%,transparent);display:grid;gap:13px;list-style:none}
.cryo-pack li{display:flex;gap:10px;font-size:12px;line-height:1.5}
.cryo-pack li .icon{margin-top:1px}
.cryo-pack li strong{font-weight:600}
.cryo-pack-bonus{font-size:12px;padding-block:14px;border-top:1px solid color-mix(in srgb,var(--gold) 45%,transparent);margin-top:auto;margin-bottom:18px}
.cryo-pack-featured .cryo-pack-bonus{color:var(--gold)}
.cryo-pack .button{font-size:12px;justify-content:space-between;padding-inline:17px}
.cryo-pack-featured .button-gold:hover{background:var(--cream)}
.cryo-finance-note{max-width:800px;margin:22px 0 38px}
.cryo-guarantee{border-block:1px solid var(--warm-grey);padding:22px 0}
.cryo-guarantee summary{display:flex;align-items:center;gap:15px;cursor:pointer;font-size:15px}
.cryo-guarantee summary .icon{color:var(--gold-hover);width:21px;height:21px}
.cryo-guarantee summary .icon:last-child{margin-left:auto;color:var(--navy);width:18px;height:18px;transition:transform .2s ease}
.cryo-guarantee>p{max-width:850px;padding:18px 36px 0;color:var(--cryo-muted);font-size:13px}
@media (hover:hover) and (pointer:fine){
  .cryo-pack{transition:transform .35s var(--vb-ease),box-shadow .35s var(--vb-ease)}
  .cryo-pack.is-revealed:hover{transform:translate3d(0,-6px,0);box-shadow:0 22px 44px -26px rgba(13,27,42,.45)}
  .cryo-zone-buttons button:hover{background:var(--warm-grey);color:var(--navy)}
  .cryo-result-tabs button:hover{color:var(--gold-hover)}
}

/* Avis Google : fond bleu nuit, deux lignes décalées qui défilent
   lentement (comme l'accueil) ; pause au survol, au clavier, au toucher */
.cryo-reviews{background:var(--navy);color:var(--cream);border-top:1px solid color-mix(in srgb,var(--gold) 20%,transparent);overflow:hidden}
.cryo-review-heading{display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px 35px;margin-bottom:40px}
.cryo-review-heading h2{font-size:clamp(34px,3.6vw,48px);font-style:italic;max-width:650px}
.cryo-review-heading>p{color:var(--gold);font-size:14px;font-weight:500;white-space:nowrap}
.cryo-review-heading .cryo-stars{letter-spacing:2px}
.cryo-review-track{display:flex;flex-direction:column;gap:16px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none;cursor:grab;-webkit-mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent);mask-image:linear-gradient(to right,transparent,#000 7%,#000 93%,transparent)}
.cryo-reviews .container-prose:has(>.cryo-review-track){max-width:none;padding-inline:0}
.cryo-review-track::-webkit-scrollbar{display:none}
.cryo-review-track:active{cursor:grabbing}
.cryo-review-track.is-manual{scroll-snap-type:x mandatory}
.cryo-review-row{display:flex;gap:16px}
.cryo-review-row+.cryo-review-row{transform:translateX(-150px)}
.cryo-review-track.is-manual .cryo-review-row+.cryo-review-row{transform:none}
.cryo-review{flex:0 0 300px;scroll-snap-align:start;background:#fff;color:var(--navy);border:1px solid color-mix(in srgb,var(--navy) 10%,transparent);border-radius:16px;padding:20px;display:flex;flex-direction:column}
.cryo-review-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;color:var(--gold);font-size:13px;letter-spacing:2px}
.cryo-review-top svg{width:16px;height:16px}
.cryo-review-who{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.cryo-review-avatar{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff;font-size:12px;font-weight:600}
.cryo-review-who strong{display:block;font-size:13.5px;font-weight:500;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.cryo-review-who small{display:block;font-size:11.5px;color:color-mix(in srgb,var(--navy) 45%,transparent)}
.cryo-review p{font-size:13.5px;line-height:1.7;color:color-mix(in srgb,var(--navy) 75%,transparent);flex:1}
.cryo-review p.is-clamped{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.cryo-page .cryo-review-more{font-size:12.5px;font-weight:500;text-decoration:underline;text-underline-offset:2px;margin-top:6px;align-self:flex-start;color:color-mix(in srgb,var(--navy) 60%,transparent)}
.cryo-page .cryo-review-more:hover{color:var(--gold-hover)}
.cryo-review-date{font-size:11px;color:color-mix(in srgb,var(--navy) 35%,transparent);margin-top:12px;padding-top:12px;border-top:1px solid color-mix(in srgb,var(--navy) 8%,transparent)}
.cryo-reviews .cryo-note{margin-top:22px;color:var(--cryo-light-muted)}

/* Témoignage vidéo (vertical), chargé seulement au clic */
.cryo-video{display:grid;grid-template-columns:minmax(0,340px) 1fr;gap:clamp(32px,6vw,90px);align-items:center;margin-top:70px;padding-top:60px;border-top:1px solid color-mix(in srgb,var(--navy) 15%,transparent)}
.cryo-video-player{position:relative;aspect-ratio:9/16;border-radius:6px;overflow:hidden;background:var(--navy);box-shadow:0 30px 60px -34px rgba(13,27,42,.55)}
.cryo-video-player img,.cryo-video-player iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}
.cryo-video-play{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(0deg,rgba(13,27,42,.45),transparent 45%)}
.cryo-video-play svg{width:74px;height:74px;padding:22px 20px 22px 26px;border-radius:50%;background:var(--gold);fill:var(--navy);box-shadow:0 0 0 0 rgba(201,169,110,.55);animation:cryo-pulse 2.6s var(--vb-ease) infinite;transition:transform .3s var(--vb-ease)}
.cryo-video-play:hover svg{transform:scale(1.08)}
@keyframes cryo-pulse{0%{box-shadow:0 0 0 0 rgba(201,169,110,.55)}70%,100%{box-shadow:0 0 0 22px rgba(201,169,110,0)}}
.cryo-video-kicker{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-hover);margin-bottom:14px}
.cryo-video-copy h3{font-size:clamp(32px,3.4vw,44px);margin-bottom:14px}
.cryo-video-copy>p:not(.cryo-video-kicker){font-size:14px;color:var(--cryo-muted);margin-bottom:12px}

/* Appel au bilan entre deux sections, compte à rebours de l'offre */
.cryo-cta-band{background:var(--navy);color:var(--cream);padding-block:clamp(56px,7vw,88px);border-block:1px solid color-mix(in srgb,var(--gold) 22%,transparent)}
.cryo-cta-band-inner{display:grid;grid-template-columns:minmax(0,1.3fr) auto;gap:32px 64px;align-items:center}
.cryo-cta-band h2{font-size:clamp(32px,3.6vw,50px)}
.cryo-cta-band h2 em{color:var(--gold)}
.cryo-cta-band-inner>div>p:last-child{margin-top:16px;max-width:520px;color:var(--cryo-light-muted);font-size:15px}
.cryo-cta-band-action{display:flex;flex-direction:column;align-items:flex-start;gap:14px}
.cryo-countdown{display:inline-flex;align-items:baseline;gap:4px;font-size:12px;letter-spacing:.04em;color:var(--gold)}
.cryo-countdown[hidden]{display:none}
.cryo-countdown>span:first-child{margin-right:6px;color:inherit;opacity:.85}
.cryo-countdown b{font-family:var(--font-display);font-size:22px;font-weight:400;line-height:1;font-variant-numeric:tabular-nums}
.cryo-countdown b+span{margin-right:6px}
.cryo-programmes .cryo-countdown{margin-top:16px;color:var(--gold-hover)}
.cryo-zone-cta{margin-top:14px}
@media (max-width:900px){.cryo-cta-band-inner{grid-template-columns:1fr}}
@media (max-width:600px){.cryo-cta-band .cryo-primary{width:100%}.cryo-cta-band-action{align-items:stretch}}

/* Questions */
.cryo-faq{border-top:1px solid var(--warm-grey)}
.cryo-faq-layout{display:grid;grid-template-columns:.85fr 1.15fr;gap:100px}
.cryo-faq h2{font-size:52px;max-width:410px;margin-bottom:35px}
.cryo-faq details{border-bottom:1px solid color-mix(in srgb,var(--navy) 18%,transparent)}
.cryo-faq details:first-child{border-top:1px solid color-mix(in srgb,var(--navy) 18%,transparent)}
.cryo-faq summary{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:24px 0;cursor:pointer;font-size:14px}
.cryo-faq summary .icon{flex-shrink:0;color:var(--gold-hover);width:20px;height:20px;transition:transform .2s ease}
.cryo-faq details[open] summary .icon,.cryo-guarantee[open] summary .icon:last-child{transform:rotate(45deg)}
.cryo-faq details>div p{font-size:13px;color:var(--cryo-muted);padding:0 28px 25px 0;line-height:1.8}
.cryo-page summary{list-style:none}
.cryo-page summary::-webkit-details-marker{display:none}

/* Dernier appel : le bilan */
.cryo-final{background:var(--navy);color:var(--cream);border-bottom:1px solid color-mix(in srgb,var(--gold) 25%,transparent)}
.cryo-final-layout{display:grid;grid-template-columns:1.5fr .7fr;align-items:center;gap:90px}
.cryo-final h2{font-size:clamp(46px,5vw,70px)}
.cryo-final p{max-width:470px;color:var(--cryo-light-muted);margin:25px 0 30px;font-size:15px}
.cryo-final p.cryo-note{font-size:11px;margin-top:15px}
.cryo-final-links{display:flex;flex-wrap:wrap;gap:4px 26px;margin-top:8px}
.cryo-final-links a{color:var(--cream)}
.cryo-final-signature{display:flex;flex-direction:column;align-items:center;padding:50px;gap:45px;border-left:1px solid color-mix(in srgb,var(--gold) 35%,transparent)}
.cryo-final-signature img{width:100%;max-width:260px;height:auto}
.cryo-final-signature span{font-size:11px;letter-spacing:.25em;text-align:center;line-height:2.3;color:var(--cryo-light-muted)}

/* Capsule de réservation (2026-10-26) : la même sur téléphone, tablette et
   ordinateur. Elle flotte en bas, visible après le premier écran et masquée
   sur le bilan final ; WhatsApp est dedans, donc rien ne la chevauche. Le
   bouton WhatsApp seul ne s'affiche que lorsque la capsule est cachée. */
body .mobile-cta{position:fixed;z-index:20;left:50%;right:auto;bottom:max(14px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:14px;width:max-content;max-width:calc(100% - 24px);padding:7px 7px 7px 7px;border:1px solid color-mix(in srgb,var(--gold) 32%,transparent);border-radius:60px;background:rgba(13,27,42,.9);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);color:var(--cream);box-shadow:0 22px 48px -18px rgba(0,0,0,.6);transform:translate(-50%,calc(100% + 30px));transition:transform .5s var(--vb-ease)}
body .mobile-cta.visible{transform:translate(-50%,0)}
.mobile-cta .mc-wa{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:#25d366;color:#fff}
.mobile-cta .mc-wa svg{width:24px;height:24px}
body .mobile-cta>span{font-size:11px;line-height:1.35;color:#c3c8cd;white-space:nowrap}
body .mobile-cta>span strong{display:block;font-size:12.5px;font-weight:500;color:var(--gold)}
body .mobile-cta .button{min-height:44px;border-radius:40px;padding:11px 18px;font-size:12.5px;gap:12px;white-space:nowrap}
.mobile-cta .mc-long{display:none}
.cryo-wa{position:fixed;z-index:19;right:16px;bottom:max(16px,env(safe-area-inset-bottom));display:flex;align-items:center;justify-content:center;gap:8px;height:52px;width:52px;border-radius:50%;background:#25d366;color:#fff;text-decoration:none;box-shadow:0 14px 30px -12px rgba(13,27,42,.55);transition:opacity .35s var(--vb-ease),transform .35s var(--vb-ease)}
.cryo-wa svg{width:28px;height:28px;flex:none}
.cryo-wa span{display:none;font-size:13px;font-weight:600}
.mobile-cta.visible~.cryo-wa,html.vb-book-open .cryo-wa{opacity:0;transform:translateY(20px);pointer-events:none}
/* Téléphone : la capsule prend la largeur de l'écran, le texte se resserre */
@media (max-width:639px){
  /* WhatsApp est dans la capsule : pas de bouton flottant qui couvrirait le contenu */
  .cryo-wa{display:none}
  body .mobile-cta{width:calc(100% - 24px);gap:10px}
  body .mobile-cta>span{flex:1;min-width:0;white-space:normal}
  body .mobile-cta .button{flex:none;padding:11px 16px}
  body .mobile-cta .button svg{display:none}
}
/* Petits téléphones : seule la ligne de l'offre reste */
@media (max-width:379px){body .mobile-cta>span{font-size:0}body .mobile-cta>span strong{font-size:12px;line-height:1.3}}
/* Très petits téléphones : le texte laisse la place au bouton */
@media (max-width:359px){body .mobile-cta>span{display:none}body .mobile-cta .button{flex:1;justify-content:center}}
/* Tablette et ordinateur : capsule plus large, libellé complet */
@media (min-width:640px){
  body .mobile-cta{gap:22px;padding:8px 8px 8px 8px;bottom:22px}
  body .mobile-cta>span{font-size:12px}
  body .mobile-cta>span strong{font-size:13px}
  body .mobile-cta .button{font-size:13px;padding:12px 22px}
  .mobile-cta .mc-short{display:none}
  .mobile-cta .mc-long{display:inline}
  .cryo-wa{bottom:24px;right:24px;width:auto;padding:0 20px 0 16px;border-radius:40px}
  .cryo-wa span{display:inline}
}

/* ── Apparitions au défilement (classes posées par app.js) ─────────── */
.cryo-page .scroll-reveal{transition:opacity .9s var(--vb-ease),transform .9s var(--vb-ease),filter .9s var(--vb-ease),box-shadow .35s var(--vb-ease)!important;transition-delay:var(--reveal-delay,0ms)!important}
.cryo-page .scroll-reveal:not(.is-revealed){opacity:0;transform:translate3d(0,40px,0)}
.cryo-page figure.scroll-reveal:not(.is-revealed){opacity:0;transform:translate3d(0,30px,0) scale(.98)}
.cryo-page .cryo-pack.scroll-reveal:not(.is-revealed){opacity:0;transform:translate3d(0,48px,0) scale(.97)}
.cryo-page .cryo-benefit-list article.scroll-reveal:not(.is-revealed),.cryo-page .cryo-result-tabs.scroll-reveal:not(.is-revealed){opacity:0;transform:translate3d(28px,0,0)}

/* ── Tailles d'écran ───────────────────────────────────────────────── */
@media (min-width:801px) and (max-height:700px){.cryo-hero-description{display:none}}
@media (min-width:801px) and (max-height:600px){.cryo-hero .cryo-text-link{display:none}}
@media (max-width:1100px){
  .cryo-hero-copy{width:50%}
  .cryo-section{padding-block:85px}
  .cryo-section-heading{gap:35px}
  .cryo-benefit-heading,.cryo-device-heading{gap:45px}
  .cryo-benefit-photo{height:550px}
  .cryo-pack{padding:26px 20px}
  .cryo-pack h3{font-size:30px}
  .cryo-pack .button{gap:8px;font-size:11px}
  .cryo-result-detail{gap:65px}
  .cryo-faq-layout{gap:60px}
  .cryo-journey-grid{gap:24px}
}
@media (max-width:900px){
  .cryo-hero-service{flex-direction:column;gap:6px}
  .cryo-hero-lead{font-size:16px;max-width:350px}
  .cryo-hero-description{max-width:330px}
  .cryo-gallery-caption{width:30%}
  .cryo-facts>div{grid-template-columns:repeat(2,1fr);gap:15px 30px}
  .cryo-benefit-heading{gap:35px}
  .cryo-benefit-layout{gap:40px}
  .cryo-section-heading{display:block}
  .cryo-section-heading>p{margin-top:24px;max-width:560px}
  .cryo-device-heading{grid-template-columns:1fr;gap:25px}
  .cryo-device-heading>p{max-width:620px}
  .cryo-zones{gap:30px}
  .cryo-packs{grid-template-columns:1fr;max-width:650px;margin-inline:auto;gap:25px}
  .cryo-pack{padding:35px}
  .cryo-pack h3{font-size:40px}
  .cryo-pack-description,.cryo-monthly{min-height:0}
  .cryo-pack ul{grid-template-columns:1fr 1fr;gap:18px}
  .cryo-pack .button{font-size:13px}
  .cryo-price{font-size:65px}
  .cryo-pack-bonus{margin-top:10px}
  .cryo-journey-grid{grid-template-columns:1fr 1fr;gap:45px}
  .cryo-final-layout{grid-template-columns:1fr}
  .cryo-final-signature{display:none}
  .cryo-faq-layout{grid-template-columns:1fr;gap:35px}
  .cryo-faq h2{max-width:600px}
}
/* Téléphone et tablette en hauteur : visuel en haut, puis le texte ; le
   tout tient dans la hauteur de l'écran (comme le PRP) */
@media (max-width:800px){
  .cryo-hero{height:auto;min-height:0;max-height:none;display:flex;flex-direction:column;align-items:stretch}
  .cryo-hero-visual{position:relative;width:100%;height:min(330px,36svh);inset:auto;z-index:0;flex:none;background:var(--navy)}
  /* Téléphone : l'image est plus large que le cadre, calée à droite, pour
     que la personne, les pads et la machine soient au centre */
  .cryo-hero-visual img{width:150%;left:auto;right:0;object-fit:cover;object-position:100% 58%}
  .cryo-hero-visual:after{background:linear-gradient(0deg,var(--navy),transparent 30%)}
  .cryo-gallery-caption{top:calc(min(330px,36svh) - 50px);bottom:auto;right:24px;left:24px;width:auto;max-width:none;padding:0;border:0}
  .cryo-gallery-caption>span{font-size:10px;max-width:210px}
  .cryo-gallery-controls{gap:1px}
  .cryo-slide-button{width:22px}
  .cryo-slide-button span{width:16px}
  .cryo-gallery-controls .cryo-icon-button{width:32px}
  .cryo-hero-inner{padding-block:16px 26px}
  .cryo-hero-copy{width:100%;max-width:none}
  .cryo-hero-service{display:block;font-size:10px;margin-bottom:12px}
  .cryo-hero-service span{margin-left:16px;font-size:9px}
  .cryo-hero h1{font-size:clamp(36px,min(10.7vw,6.6svh),62px);line-height:1.03;margin-bottom:14px}
  .cryo-hero h1 em{margin-top:4px}
  .cryo-hero-lead{font-size:15px;max-width:none;margin-bottom:16px;line-height:1.55}
  .cryo-hero-description{display:none}
  .cryo-page .cryo-primary{width:100%;justify-content:space-between;font-size:12px;padding-inline:20px;min-height:52px}
  .cryo-hero .cryo-text-link{display:none}
  .cryo-hero-meta{font-size:10px;margin-top:10px}
  .cryo-rating{margin-top:8px}
}
@media (max-width:800px) and (max-height:700px){.cryo-hero-lead{display:none}.cryo-hero-visual{height:min(330px,32svh)}.cryo-gallery-caption{top:calc(min(330px,32svh) - 50px)}}
@media (max-width:600px){
  .cryo-page .container-prose{padding-inline:24px}
  .cryo-page h2{font-size:42px}
  .cryo-facts>div{padding-block:21px;gap:15px 10px}
  .cryo-facts p{font-size:10px;gap:8px}
  .cryo-facts .icon{width:14px}
  .cryo-section{padding-block:65px}
  .cryo-section-heading{margin-bottom:35px}
  .cryo-section-heading>p{font-size:14px}
  .cryo-benefit-heading{display:block;margin-bottom:35px}
  .cryo-benefit-heading>p{margin-top:24px;font-size:15px}
  .cryo-benefit-layout{display:flex;flex-direction:column;gap:35px}
  .cryo-benefit-photo{height:auto;width:100%;aspect-ratio:4/4.7}
  .cryo-benefit-list article{padding-block:22px}
  .cryo-device-heading{gap:25px;margin-bottom:32px}
  .cryo-zones{grid-template-columns:1fr;gap:22px;padding-top:30px}
  .cryo-zones h3{max-width:none}
  .cryo-zone-buttons{gap:8px}
  .cryo-zone-buttons button{font-size:11px;padding:10px 14px}
  .cryo-zone-description{min-height:50px}
  .cryo-celia{margin-inline:-8px;padding-bottom:35px}
  .cryo-celia figcaption{font-size:10px;padding-inline:12px}
  .cryo-result-detail{display:flex;flex-direction:column;gap:30px;padding-top:35px}
  .cryo-result-copy,.cryo-comparison{width:100%}
  .cryo-result-copy h3{font-size:36px;margin-bottom:20px}
  .cryo-result-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
  .cryo-result-tabs button{width:auto;border:1px solid color-mix(in srgb,var(--navy) 20%,transparent);border-radius:50px;padding:9px 14px;font-size:11px;min-height:44px}
  .cryo-result-tabs button .icon{display:none}
  .cryo-result-tabs button[aria-pressed="true"]{background:var(--navy);color:var(--cream);border-color:var(--navy)}
  .cryo-result-tabs button{padding:9px 14px;border-radius:50px}
  .cryo-result-tabs button[aria-pressed="true"]{padding-left:14px}
  .cryo-result-tabs button[aria-pressed="true"]::before{display:none}
  .cryo-comparison figcaption small{width:100%;margin:0}
  .cryo-journey-grid{grid-template-columns:1fr 1fr;gap:30px 24px}
  .cryo-step-number{font-size:40px;margin-bottom:22px}
  .cryo-journey-grid h3{font-size:26px}
  .cryo-journey-grid article>p:last-child{font-size:12px}
  .cryo-step-label{font-size:10px}
  .cryo-pack{padding:29px 24px}
  .cryo-pack-tag{margin-bottom:22px;font-size:10px}
  .cryo-pack h3{font-size:38px}
  .cryo-pack ul{grid-template-columns:1fr;gap:13px}
  .cryo-pack li{font-size:13px}
  .cryo-monthly{font-size:11px}
  .cryo-guarantee summary{font-size:13px;gap:10px}
  .cryo-guarantee summary .icon{flex-shrink:0}
  .cryo-guarantee>p{padding:18px 0 0}
  .cryo-review{flex-basis:280px}
  .cryo-review-row+.cryo-review-row{transform:translateX(-140px)}
  .cryo-video{grid-template-columns:1fr;margin-top:45px;padding-top:40px}
  .cryo-video-player{max-width:300px;width:100%;margin-inline:auto}
  .cryo-faq-layout{gap:25px}
  .cryo-faq h2{font-size:43px}
  .cryo-faq summary{font-size:13px;padding-block:22px;gap:15px}
  .cryo-final h2{font-size:47px}
  .cryo-final p{font-size:14px}
}
@media (prefers-reduced-motion:reduce){
  .cryo-page *,.cryo-page *:before,.cryo-page *:after{animation:none!important;transition-duration:.01ms!important}
  .cryo-page .scroll-reveal:not(.is-revealed){opacity:1;transform:none;filter:none}
}
