:root {
  --paper: #f6f2f1;
  --paper-2: #eee7e6;
  --ink: #171315;
  --muted: #6d6266;
  --line: rgba(23, 19, 21, 0.14);
  --wine: #6d1834;
  --wine-deep: #2a0d17;
  --cherry: #d61b5b;
  --white: #fff;
  --max: 1280px;
  --pad: clamp(20px, 4vw, 64px);
  --radius: 18px;
  --shadow: 0 30px 80px rgba(32, 11, 20, 0.14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--paper);
  color: var(--ink);
  font-family: "Alumni Sans", "Helvetica Neue", Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
body.menu-open { overflow: hidden; }
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
::selection { background: var(--cherry); color: #fff; }

.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;
}
.skip-link {
  position: fixed; left: 16px; top: 12px; z-index: 1000;
  transform: translateY(-140%); background: #fff; padding: 10px 14px;
  border-radius: 999px; box-shadow: var(--shadow);
}
.skip-link:focus { transform: none; }

.site-header__surface {
  position: absolute; inset: 0; z-index: -1; pointer-events: none;
}
.site-header {
  position: fixed; inset: 0 0 auto; z-index: 90;
  height: 72px; display: flex; align-items: center;
  padding: 0 var(--pad); color: #fff;
  transition: background .25s ease, color .25s ease, box-shadow .25s ease;
}
.site-header.is-scrolled, .site-header.light {
  background: rgba(246,242,241,.9); color: var(--ink);
  backdrop-filter: blur(18px) saturate(1.3);
  box-shadow: 0 1px 0 var(--line);
}
.header-inner {
  width: min(100%, var(--max)); margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between;
}
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand img { height: 34px; width: auto; image-rendering: pixelated; }
.brand span { font-size: 1.05rem; font-weight: 600; letter-spacing: .02em; }
.primary-nav { display: flex; align-items: center; gap: 24px; }
.primary-nav a {
  font-size: .94rem; letter-spacing: .02em; opacity: .86;
  transition: opacity .2s ease;
}
.primary-nav a:hover, .primary-nav a[aria-current="page"] { opacity: 1; }
.primary-nav .nav-cta {
  padding: 10px 18px; border: 1px solid currentColor; border-radius: 999px;
  opacity: 1;
}
.menu-toggle { display: none; border: 0; background: transparent; color: inherit; padding: 8px; }
.menu-toggle span:not(.sr-only) { display:block; width:24px; height:1px; background:currentColor; margin:6px 0; }

.hero {
  position: relative; min-height: 100svh; overflow: hidden;
  display: grid; align-items: end; background: var(--wine-deep); color: #fff;
}
.hero-media { position: absolute; inset: 0; }
.hero-media::after {
  content:""; position:absolute; inset:0;
  background: linear-gradient(180deg, rgba(23,7,13,.2), rgba(23,7,13,.16) 38%, rgba(23,7,13,.9) 100%),
              linear-gradient(90deg, rgba(23,7,13,.52), transparent 58%);
}
.hero-media img { width:100%; height:100%; object-fit:cover; filter:saturate(.9) contrast(1.04); }
.hero-content {
  position: relative; z-index: 2; width:min(100%,var(--max)); margin:0 auto;
  padding: 150px var(--pad) clamp(70px,9vw,130px);
}
.eyebrow {
  margin:0 0 18px; font-size:.88rem; font-weight:600; letter-spacing:.18em;
  text-transform:uppercase;
}
h1,h2,h3,p { margin-top:0; }
h1 {
  max-width: 980px; margin-bottom: 22px;
  font-size: clamp(4.6rem, 11vw, 10rem); line-height: .78;
  font-weight: 520; letter-spacing: -.045em;
}
.hero-lede {
  max-width: 650px; margin-bottom: 34px; color: rgba(255,255,255,.84);
  font-size: clamp(1.25rem, 2.1vw, 1.85rem); line-height: 1.35;
}
.actions { display:flex; flex-wrap:wrap; gap:12px; }
.button {
  display:inline-flex; align-items:center; justify-content:center; min-height:48px;
  padding: 0 22px; border-radius:999px; border:1px solid transparent;
  font-size:1rem; font-weight:600; letter-spacing:.01em;
  transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { background:#fff; color:var(--ink); }
.button-secondary { border-color:rgba(255,255,255,.5); color:#fff; }
.button-dark { background:var(--ink); color:#fff; }
.button-outline { border-color:var(--line); color:var(--ink); }

.status-band { background:#fff; border-bottom:1px solid var(--line); }
.status-band-inner {
  width:min(100%,var(--max)); margin:0 auto; padding:18px var(--pad);
  display:flex; align-items:center; justify-content:space-between; gap:24px;
}
.status-band strong { font-size:1.05rem; }
.status-band p { margin:0; color:var(--muted); font-size:1rem; }
.status-band a { color:var(--wine); font-weight:600; white-space:nowrap; }

.section { padding: clamp(92px,12vw,170px) var(--pad); }
.section-inner { width:min(100%,var(--max)); margin:0 auto; }
.section-kicker { color:var(--wine); font-size:.86rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.display {
  max-width: 1050px; margin-bottom: 34px;
  font-size: clamp(3.1rem, 7vw, 7.2rem); line-height:.9;
  font-weight:500; letter-spacing:-.035em;
}
.section-copy { max-width:700px; color:var(--muted); font-size:clamp(1.18rem,1.8vw,1.55rem); line-height:1.5; }

.editorial-grid {
  margin-top: clamp(52px,7vw,90px); display:grid; grid-template-columns: 1.2fr .8fr; gap:clamp(26px,5vw,80px); align-items:start;
}
.editorial-grid.reverse { grid-template-columns:.8fr 1.2fr; }
.editorial-media { border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); background:#d9d0d1; }
.editorial-media img { width:100%; aspect-ratio:16/10; object-fit:cover; }
.editorial-copy { padding-top: clamp(6px,3vw,48px); }
.editorial-copy h3 { font-size:clamp(2.1rem,4vw,4rem); line-height:.95; font-weight:520; margin-bottom:18px; }
.editorial-copy p { color:var(--muted); font-size:1.15rem; line-height:1.55; }
.text-link { display:inline-flex; margin-top:14px; color:var(--wine); font-weight:700; }
/* Arrow icons use explicit SVGs to prevent OS emoji substitution. */
.text-link::after { content:none; }
.text-link .ui-arrow-svg,
.brand-link .text-arrow-svg,
.carousel-arrow-svg {
  display:inline-block;
  width:1em;
  height:1em;
  flex:0 0 auto;
  overflow:visible;
  vertical-align:-.08em;
}
.text-link .ui-arrow-svg { margin-left:9px; transition:transform .2s ease; }
.text-link:hover .ui-arrow-svg { transform:translateX(3px); }
.brand-link .text-arrow-svg { width:.92em; height:.92em; margin-left:.15em; }
.carousel-arrow-svg { width:1em; height:1em; }
.text-link:hover::after { transform:translateX(4px); }

.dark-section { background:var(--wine-deep); color:#fff; }
.dark-section .section-kicker { color:#ff7ca8; }
.dark-section .section-copy, .dark-section .editorial-copy p { color:rgba(255,255,255,.7); }
.dark-section .text-link { color:#ff9abb; }

.feature-list { margin-top:64px; border-top:1px solid var(--line); }
.feature-row {
  display:grid; grid-template-columns:minmax(180px,.45fr) 1fr; gap:40px;
  padding:30px 0; border-bottom:1px solid var(--line);
}
.feature-row h3 { font-size:1.7rem; font-weight:550; margin:0; }
.feature-row p { margin:0; color:var(--muted); font-size:1.08rem; line-height:1.55; }
.dark-section .feature-list { border-color:rgba(255,255,255,.18); }
.dark-section .feature-row { border-color:rgba(255,255,255,.18); }
.dark-section .feature-row p { color:rgba(255,255,255,.68); }

.quote-section { background:var(--paper-2); text-align:center; }
.quote-section blockquote {
  max-width: 1000px; margin:0 auto;
  font-family: Georgia, "Times New Roman", serif; font-style:italic;
  font-size:clamp(2.2rem,5vw,5.4rem); line-height:1.06; color:var(--wine-deep);
}
.quote-section cite { display:block; margin-top:26px; color:var(--muted); font-style:normal; letter-spacing:.08em; text-transform:uppercase; }

.notice-card {
  background:#fff; border:1px solid var(--line); border-radius:var(--radius);
  padding:clamp(28px,5vw,64px); box-shadow:0 20px 50px rgba(32,11,20,.06);
}
.notice-card h2 { font-size:clamp(2.5rem,5vw,5rem); line-height:.94; font-weight:520; margin-bottom:20px; }
.notice-card p { color:var(--muted); font-size:1.15rem; line-height:1.55; max-width:800px; }

.faq { margin-top:50px; border-top:1px solid var(--line); }
.faq-item { border-bottom:1px solid var(--line); }
.faq-item button {
  width:100%; padding:24px 0; display:flex; align-items:center; justify-content:space-between;
  border:0; background:transparent; color:var(--ink); text-align:left; cursor:pointer;
  font-size:1.35rem; font-weight:600;
}
.faq-item button::after { content:"+"; font-size:1.8rem; font-weight:300; }
.faq-item.is-open button::after { content:"−"; }
.faq-answer { display:grid; grid-template-rows:0fr; transition:grid-template-rows .25s ease; }
.faq-item.is-open .faq-answer { grid-template-rows:1fr; }
.faq-answer > div { overflow:hidden; }
.faq-answer p { max-width:760px; padding:0 0 24px; color:var(--muted); font-size:1.08rem; line-height:1.55; }

.page-hero {
  min-height:58svh; display:flex; align-items:flex-end; padding:150px var(--pad) 80px;
  background:var(--wine-deep); color:#fff;
}
.page-hero .section-inner { margin:0 auto; }
.page-hero h1 { font-size:clamp(4rem,9vw,8.5rem); }
.page-hero p { max-width:720px; color:rgba(255,255,255,.74); font-size:1.35rem; line-height:1.45; }
.prose { max-width:820px; }
.prose h2 { font-size:2.3rem; margin:56px 0 16px; }
.prose h3 { font-size:1.55rem; margin:34px 0 10px; }
.prose p, .prose li { color:var(--muted); font-size:1.08rem; line-height:1.65; }
.prose ul { padding-left:22px; }
.prose a { color:var(--wine); text-decoration:underline; text-underline-offset:3px; }

.form-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
.form-field { display:flex; flex-direction:column; gap:8px; }
.form-field.full { grid-column:1/-1; }
.form-field label { font-weight:600; }
.form-field input, .form-field textarea, .form-field select {
  width:100%; border:1px solid var(--line); background:#fff; border-radius:12px;
  padding:14px 16px; color:var(--ink); outline:none;
}
.form-field textarea { min-height:160px; resize:vertical; }
.form-field input:focus, .form-field textarea:focus, .form-field select:focus { border-color:var(--wine); box-shadow:0 0 0 3px rgba(109,24,52,.09); }

.site-footer { background:#12090d; color:#fff; padding:64px var(--pad) 30px; }
.footer-inner { width:min(100%,var(--max)); margin:0 auto; }
.footer-top { display:flex; justify-content:space-between; gap:40px; padding-bottom:52px; }
.footer-brand img { height:38px; width:auto; image-rendering:pixelated; }
.footer-top p { color:rgba(255,255,255,.58); max-width:430px; }
.footer-links { display:grid; grid-template-columns:repeat(2,minmax(130px,1fr)); gap:12px 40px; }
.footer-links a { color:rgba(255,255,255,.72); }
.footer-links a:hover { color:#fff; }
.footer-bottom { padding-top:24px; border-top:1px solid rgba(255,255,255,.14); display:flex; justify-content:space-between; gap:24px; color:rgba(255,255,255,.45); font-size:.9rem; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .7s ease, transform .7s ease; }
.reveal.is-visible { opacity:1; transform:none; }

@media (max-width: 900px) {
  .site-header { height:64px; }
  .menu-toggle { display:block; }
  .primary-nav {
    position:fixed; inset:64px 0 0; display:flex; flex-direction:column; align-items:flex-start;
    gap:4px; padding:28px var(--pad); background:var(--paper); color:var(--ink);
    transform:translateX(100%); transition:transform .25s ease;
  }
  .primary-nav.is-open { transform:none; }
  .primary-nav a { width:100%; padding:14px 0; font-size:1.35rem; border-bottom:1px solid var(--line); }
  .primary-nav .nav-cta { border:0; border-bottom:1px solid var(--line); border-radius:0; }
  .hero-content { padding-top:130px; }
  h1 { font-size:clamp(4.2rem,19vw,7rem); }
  .status-band-inner { align-items:flex-start; flex-direction:column; gap:8px; }
  .editorial-grid, .editorial-grid.reverse { grid-template-columns:1fr; }
  .editorial-grid.reverse .editorial-media { order:0; }
  .editorial-grid.reverse .editorial-copy { order:1; }
  .feature-row { grid-template-columns:1fr; gap:8px; }
  .form-grid { grid-template-columns:1fr; }
  .footer-top, .footer-bottom { flex-direction:column; }
}

@media (max-width: 560px) {
  .brand span { display:none; }
  .hero-lede { font-size:1.2rem; }
  .actions { flex-direction:column; align-items:stretch; }
  .button { width:100%; }
  .display { font-size:clamp(3rem,15vw,4.5rem); }
  .footer-links { grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; }
  .reveal { opacity:1; transform:none; }
}


/* ===== Pinegrove home v2 ===== */
.home-page { background:#f4f0ef; }
.home-header { height:78px; padding-top:env(safe-area-inset-top); background:linear-gradient(180deg,rgba(0,0,0,.34),transparent); }
.home-header.is-scrolled { background:rgba(18,9,13,.78); color:#fff; box-shadow:none; backdrop-filter:blur(20px) saturate(1.35); }
.brand-full .brand-wide { height:38px; max-width:170px; width:auto; object-fit:contain; }
.brand-full .brand-mark { display:none; width:36px; height:36px; object-fit:contain; }
.home-header .primary-nav a { color:rgba(255,255,255,.86); }
.home-header .primary-nav a:hover { color:#fff; }
.home-header .primary-nav .nav-cta { border-color:rgba(255,255,255,.55); background:rgba(255,255,255,.06); backdrop-filter:blur(10px); }
.home-header .menu-toggle { color:#fff; }

.hero-carousel { position:relative; height:100svh; min-height:620px; overflow:hidden; background:#12090d; color:#fff; }
.carousel-track { position:absolute; inset:0; }
.carousel-slide { position:absolute; inset:0; opacity:0; visibility:hidden; transition:opacity 1s cubic-bezier(.22,.61,.36,1),visibility 1s; }
.carousel-slide.is-active { opacity:1; visibility:visible; z-index:1; }
.slide-media { position:absolute; inset:0; overflow:hidden; }
.slide-media img { width:100%; height:100%; object-fit:cover; transform:scale(1.045); transition:transform 8s cubic-bezier(.2,.65,.25,1); }
.carousel-slide.is-active .slide-media img { transform:scale(1); }
.carousel-slide:nth-child(1) .slide-media img { object-position:center 48%; }
.carousel-slide:nth-child(2) .slide-media img { object-position:center 58%; }
.carousel-slide:nth-child(3) .slide-media img { object-position:center 51%; }
.slide-overlay { position:absolute; inset:0; background:linear-gradient(180deg,rgba(10,5,8,.34) 0%,rgba(10,5,8,.08) 35%,rgba(10,5,8,.58) 100%),linear-gradient(90deg,rgba(12,6,9,.7) 0%,rgba(12,6,9,.2) 56%,transparent 82%); }
.slide-content { position:absolute; z-index:2; left:max(var(--pad),calc((100vw - var(--max))/2 + var(--pad))); bottom:clamp(105px,14vh,170px); width:min(760px,calc(100vw - 2*var(--pad))); }
.slide-kicker { margin:0 0 18px; font-size:.82rem; font-weight:650; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.82); }
.slide-content h1,.slide-content h2 { margin:0 0 24px; max-width:800px; font-size:clamp(4.6rem,10.5vw,9.7rem); line-height:.78; letter-spacing:-.045em; font-weight:500; color:#fff; }
.slide-copy { max-width:610px; margin:0 0 30px; font-size:clamp(1.15rem,1.8vw,1.55rem); line-height:1.4; color:rgba(255,255,255,.86); }
.slide-actions { display:flex; flex-wrap:wrap; gap:12px; }
.button-light { background:#fff; color:#171315; }
.button-glass { color:#fff; border-color:rgba(255,255,255,.5); background:rgba(255,255,255,.07); backdrop-filter:blur(14px); }
.text-cta { display:inline-flex; align-items:center; gap:12px; color:#fff; font-size:1.2rem; font-weight:600; border-bottom:1px solid rgba(255,255,255,.45); padding-bottom:5px; }
.text-cta span { transition:transform .2s ease; }
.text-cta:hover span { transform:translate(3px,-3px); }
.carousel-ui { position:absolute; z-index:5; left:0; right:0; bottom:max(28px,env(safe-area-inset-bottom)); display:flex; justify-content:space-between; align-items:center; width:min(calc(100% - 2*var(--pad)),var(--max)); margin:auto; }
.carousel-pagination { display:flex; gap:9px; }
.carousel-dot { position:relative; width:54px; height:30px; padding:0; border:0; background:transparent; cursor:pointer; }
.carousel-dot::before { content:""; position:absolute; left:0; right:0; top:14px; height:2px; background:rgba(255,255,255,.3); }
.carousel-dot span { position:absolute; left:0; top:14px; height:2px; width:0; background:#fff; }
.carousel-dot.is-active span { animation:carousel-progress 7s linear forwards; }
.hero-carousel.is-paused .carousel-dot.is-active span { animation-play-state:paused; }
@keyframes carousel-progress { to { width:100%; } }
.carousel-controls { display:flex; gap:8px; }
.carousel-controls button { width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.46); background:rgba(0,0,0,.16); color:#fff; backdrop-filter:blur(12px); cursor:pointer; transition:background .2s,transform .2s; }
.carousel-controls button:hover { background:rgba(255,255,255,.16); transform:scale(1.04); }
.scroll-cue { position:absolute; z-index:5; left:50%; bottom:32px; transform:translateX(-50%); width:28px; height:42px; border:1px solid rgba(255,255,255,.48); border-radius:16px; }
.scroll-cue span { position:absolute; top:9px; left:50%; width:3px; height:7px; margin-left:-1.5px; border-radius:2px; background:#fff; animation:scrollcue 1.8s infinite; }
@keyframes scrollcue { 0%{transform:translateY(0);opacity:0} 25%{opacity:1} 75%{opacity:1} 100%{transform:translateY(15px);opacity:0} }

.premium-status { position:relative; z-index:6; }
.status-copy { display:flex; align-items:center; gap:15px; }
.status-dot { width:9px; height:9px; border-radius:50%; background:#d61b5b; box-shadow:0 0 0 7px rgba(214,27,91,.12); flex:0 0 auto; }
.status-band-inner>a span { margin-left:8px; }

.story-section { padding:clamp(100px,13vw,190px) 0; overflow:hidden; }
.story-intro { width:min(100% - 2*var(--pad),var(--max)); margin:0 auto clamp(58px,8vw,110px); display:grid; grid-template-columns:.32fr 1.1fr .58fr; gap:clamp(20px,4vw,70px); align-items:start; }
.story-intro h2 { margin:0; font-size:clamp(3.4rem,7.2vw,7.7rem); line-height:.84; letter-spacing:-.04em; font-weight:500; }
.story-intro>p:last-child { margin:8px 0 0; color:var(--muted); font-size:clamp(1.12rem,1.65vw,1.42rem); line-height:1.55; }
.cinematic-image { width:min(94vw,1540px); margin:0 auto; }
.cinematic-image img { width:100%; aspect-ratio:16/8.4; object-fit:cover; border-radius:clamp(0px,1.2vw,18px); box-shadow:0 28px 80px rgba(26,11,17,.16); }
.cinematic-image figcaption { margin:14px 4px 0 auto; width:max-content; max-width:80%; color:var(--muted); font-size:.95rem; }

.feature-stage { position:relative; min-height:90svh; display:flex; align-items:flex-end; overflow:hidden; color:#fff; }
.feature-stage-media,.feature-stage-shade { position:absolute; inset:0; }
.feature-stage-media img { width:100%; height:100%; object-fit:cover; object-position:center; }
.feature-stage-shade { background:linear-gradient(180deg,rgba(3,10,13,.12),rgba(3,10,13,.79)),linear-gradient(90deg,rgba(3,10,13,.72),transparent 70%); }
.feature-stage-content { position:relative; z-index:2; width:min(100%,var(--max)); margin:0 auto; padding:120px var(--pad) clamp(76px,10vw,140px); }
.feature-stage-content h2 { margin:0 0 26px; max-width:900px; font-size:clamp(4rem,9vw,9rem); line-height:.8; font-weight:500; letter-spacing:-.045em; }
.feature-stage-content>p:not(.section-kicker) { max-width:650px; margin-bottom:32px; color:rgba(255,255,255,.78); font-size:clamp(1.15rem,1.8vw,1.5rem); line-height:1.5; }
.section-kicker.light { color:#9fefff; }

.editorial-section { padding:clamp(100px,12vw,180px) var(--pad); }
.editorial-split { width:min(100%,var(--max)); margin:auto; display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(36px,7vw,100px); align-items:center; }
.editorial-copy-block h2 { margin:0 0 26px; font-size:clamp(3.5rem,6.5vw,7rem); line-height:.85; font-weight:500; letter-spacing:-.04em; }
.editorial-copy-block>p:not(.section-kicker) { max-width:520px; color:var(--muted); font-size:clamp(1.15rem,1.7vw,1.4rem); line-height:1.55; margin-bottom:30px; }
.editorial-portrait { margin:0; overflow:hidden; border-radius:18px; }
.editorial-portrait img { width:100%; aspect-ratio:4/3; object-fit:cover; }

.closing-section { padding:clamp(100px,14vw,210px) var(--pad); background:#eee6e8; text-align:center; }
.closing-inner { width:min(100%,1040px); margin:auto; }
.cherry-emblem { width:74px; height:74px; object-fit:contain; margin:0 auto 28px; }
.closing-inner>p { color:var(--wine); font-size:1.15rem; font-weight:600; }
.closing-inner h2 { margin:0 auto 40px; font-family:Georgia,"Times New Roman",serif; font-style:italic; font-weight:400; font-size:clamp(3rem,7vw,7rem); line-height:1.02; color:var(--wine-deep); }
.closing-actions { display:flex; gap:24px; justify-content:center; align-items:center; flex-wrap:wrap; }

@media (max-width: 900px) {
  .home-header { height:68px; }
  .brand-full .brand-wide { display:none; }
  .brand-full .brand-mark { display:block; }
  .slide-content { bottom:110px; }
  .slide-content h1,.slide-content h2 { font-size:clamp(4rem,15vw,7rem); }
  .scroll-cue { display:none; }
  .story-intro { grid-template-columns:1fr; }
  .story-intro .section-kicker { margin-bottom:0; }
  .story-intro>p:last-child { max-width:620px; }
  .editorial-split { grid-template-columns:1fr; }
  .editorial-copy-block { max-width:700px; }
  .editorial-portrait { order:-1; }
  .cinematic-image { width:100%; }
  .cinematic-image img { border-radius:0; aspect-ratio:4/3; }
}

@media (max-width: 700px) {
  .hero-carousel { min-height:680px; height:100svh; }
  .slide-overlay { background:linear-gradient(180deg,rgba(8,4,7,.28),rgba(8,4,7,.08) 30%,rgba(8,4,7,.83) 100%); }
  .slide-content { left:20px; width:calc(100vw - 40px); bottom:112px; }
  .slide-content h1,.slide-content h2 { font-size:clamp(3.9rem,20vw,6.3rem); line-height:.79; }
  .slide-copy { font-size:1.12rem; max-width:92%; }
  .slide-actions .button { flex:1 1 auto; }
  .carousel-ui { width:calc(100% - 40px); bottom:max(24px,env(safe-area-inset-bottom)); }
  .carousel-dot { width:36px; }
  .carousel-controls button { width:40px; height:40px; }
  .status-band-inner { align-items:flex-start; flex-direction:column; }
  .story-section { padding-top:90px; }
  .story-intro { width:calc(100% - 40px); }
  .story-intro h2 { font-size:clamp(3.4rem,17vw,5.4rem); }
  .feature-stage { min-height:82svh; }
  .feature-stage-content { padding-left:20px; padding-right:20px; }
  .feature-stage-content h2 { font-size:clamp(3.8rem,17vw,6rem); }
  .editorial-section { padding-left:20px; padding-right:20px; }
  .closing-section { padding-left:20px; padding-right:20px; }
  .cinematic-image figcaption { width:auto; max-width:none; padding:0 20px; }
}

@media (max-width: 420px) {
  .slide-content { bottom:104px; }
  .slide-copy { margin-bottom:24px; }
  .carousel-controls { display:none; }
  .carousel-pagination { width:100%; }
  .carousel-dot { flex:1; }
}

@media (prefers-reduced-motion: reduce) {
  .carousel-slide,.slide-media img { transition:none!important; }
  .carousel-dot.is-active span { animation:none; width:100%; }
  .scroll-cue span { animation:none; }
}


/* Release polish - 15 juillet 2026 */
:root { --max-wide: 1520px; }
.brand-full .brand-wide { height: 38px; }
.release-band { background:#f7f3f2; border-bottom:1px solid var(--line); }
.release-band-inner { width:min(100%,var(--max)); margin:auto; padding:24px var(--pad); display:grid; grid-template-columns:minmax(260px,.8fr) 1fr; gap:clamp(24px,6vw,90px); align-items:center; }
.release-band-inner > div { display:flex; align-items:baseline; gap:20px; }
.release-date { color:var(--wine); font-size:.82rem; font-weight:700; letter-spacing:.17em; white-space:nowrap; }
.release-band strong { font-size:clamp(1.3rem,2vw,1.75rem); font-weight:550; }
.release-band p { margin:0; color:var(--muted); font-size:1.08rem; line-height:1.45; }

.immersive-hero { min-height:100svh; position:relative; display:flex; align-items:flex-end; color:#fff; overflow:hidden; }
.immersive-bg, .immersive-bg img, .launch-bg, .launch-bg img { position:absolute; inset:0; width:100%; height:100%; }
.immersive-bg img, .launch-bg img { object-fit:cover; }
.immersive-shade { position:absolute; inset:0; background:linear-gradient(180deg,rgba(8,8,11,.08),rgba(7,6,9,.18) 42%,rgba(10,7,9,.88)),linear-gradient(90deg,rgba(9,6,8,.58),transparent 65%); }
.immersive-copy { position:relative; z-index:2; width:min(100%,var(--max-wide)); margin:auto; padding:150px var(--pad) clamp(70px,10vw,140px); }
.immersive-copy h1 { max-width:1100px; font-size:clamp(4.4rem,10.5vw,10rem); line-height:.79; }
.immersive-copy > p:not(.slide-kicker) { max-width:720px; font-size:clamp(1.2rem,2vw,1.7rem); line-height:1.42; color:rgba(255,255,255,.8); }
.release-intro { display:grid; grid-template-columns:.8fr 1.2fr; gap:clamp(40px,8vw,130px); align-items:end; padding:clamp(90px,12vw,180px) var(--pad); width:min(100%,var(--max)); margin:auto; }
.release-intro h2 { font-size:clamp(4rem,8vw,8rem); line-height:.85; font-weight:500; letter-spacing:-.04em; margin:0; }
.release-intro > p { color:var(--muted); font-size:clamp(1.25rem,2vw,1.65rem); line-height:1.5; margin:0 0 10px; }
.product-story { width:min(100%,var(--max-wide)); margin:auto; padding:clamp(70px,10vw,150px) var(--pad); display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(36px,7vw,120px); align-items:center; }
.product-story.reverse { grid-template-columns:1.18fr .82fr; }
.product-copy h2 { font-size:clamp(3.3rem,7vw,7rem); line-height:.88; font-weight:500; letter-spacing:-.04em; margin-bottom:28px; }
.product-copy > p { color:var(--muted); font-size:clamp(1.12rem,1.65vw,1.45rem); line-height:1.55; }
.product-media { margin:0; border-radius:clamp(16px,2vw,28px); overflow:hidden; box-shadow:var(--shadow); background:#d8d0d1; }
.product-media img { width:100%; min-height:520px; max-height:780px; object-fit:cover; }
.quiet-list { list-style:none; padding:0; margin:35px 0 0; border-top:1px solid var(--line); }
.quiet-list li { padding:16px 0; border-bottom:1px solid var(--line); color:var(--muted); font-size:1.04rem; }
.micro-note { font-size:1rem!important; }
.feature-panorama { min-height:88svh; position:relative; display:flex; align-items:flex-end; overflow:hidden; color:#fff; }
.feature-panorama > img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.feature-panorama::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,transparent 25%,rgba(8,7,8,.84)); }
.feature-panorama-copy { position:relative; z-index:2; width:min(100%,var(--max-wide)); margin:auto; padding:100px var(--pad); }
.feature-panorama-copy h2 { font-size:clamp(4rem,9vw,9rem); line-height:.82; font-weight:500; letter-spacing:-.045em; max-width:1100px; }
.feature-panorama-copy p:last-child { max-width:650px; color:rgba(255,255,255,.78); font-size:clamp(1.15rem,1.8vw,1.5rem); line-height:1.5; }
.feature-grid-section { padding:clamp(90px,12vw,180px) var(--pad); background:#170a0f; color:#fff; }
.feature-grid-head, .premium-feature-grid { width:min(100%,var(--max)); margin:auto; }
.feature-grid-head h2 { max-width:1050px; font-size:clamp(3.5rem,8vw,7.8rem); line-height:.87; font-weight:500; letter-spacing:-.04em; }
.premium-feature-grid { display:grid; grid-template-columns:repeat(3,1fr); margin-top:clamp(60px,8vw,110px); border-top:1px solid rgba(255,255,255,.18); border-left:1px solid rgba(255,255,255,.18); }
.premium-feature-grid article { min-height:300px; padding:clamp(28px,4vw,52px); border-right:1px solid rgba(255,255,255,.18); border-bottom:1px solid rgba(255,255,255,.18); }
.premium-feature-grid span { font-size:.78rem; letter-spacing:.16em; color:#ff7ca8; }
.premium-feature-grid h3 { font-size:clamp(2rem,3vw,3rem); font-weight:500; margin:70px 0 14px; }
.premium-feature-grid p { color:rgba(255,255,255,.64); font-size:1.08rem; line-height:1.55; }
.principle-section { padding:clamp(100px,14vw,210px) var(--pad); text-align:center; }
.principle-inner { width:min(900px,100%); margin:auto; }
.principle-inner > p { font-family:Georgia,serif; font-style:italic; color:var(--wine-deep); font-size:clamp(2rem,4.6vw,4.8rem); line-height:1.15; margin:35px 0 45px; }

.editorial-page-hero { background:linear-gradient(135deg,#16090f,#3a1020 70%,#6d1834); }
.application-layout { width:min(100%,var(--max)); margin:auto; padding:clamp(80px,11vw,160px) var(--pad); display:grid; grid-template-columns:.75fr 1.25fr; gap:clamp(40px,8vw,120px); align-items:start; }
.application-intro { position:sticky; top:110px; }
.application-intro h2 { font-size:clamp(3rem,6vw,6rem); line-height:.88; font-weight:500; }
.application-intro > p { color:var(--muted); font-size:1.22rem; line-height:1.55; }
.application-facts { display:flex; flex-direction:column; gap:10px; margin-top:30px; color:var(--wine); font-weight:600; }
.application-panel { background:#fff; padding:clamp(24px,5vw,64px); border:1px solid var(--line); border-radius:24px; box-shadow:0 28px 80px rgba(32,11,20,.08); }
.application-form textarea { min-height:180px; }
.consent-field label { display:flex; align-items:flex-start; gap:12px; color:var(--muted); line-height:1.4; }
.consent-field input { width:auto; margin-top:4px; }
.form-note { color:var(--muted); font-size:.95rem; margin:16px 0 0; }
.discord-alternative { margin-top:35px; padding-top:25px; border-top:1px solid var(--line); }
.discord-alternative p { margin:0; color:var(--muted); }

.rules-hero { background:linear-gradient(145deg,#12090d,#391522); }
.rules-layout { width:min(100%,var(--max)); margin:auto; padding:clamp(80px,11vw,160px) var(--pad); display:grid; grid-template-columns:.4fr 1fr; gap:clamp(45px,8vw,130px); align-items:start; }
.rules-summary { position:sticky; top:110px; padding:28px; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.52); }
.rules-summary ol { padding-left:20px; color:var(--muted); line-height:1.7; }
.rules-prose { max-width:none; }
.rule-closing { margin-top:70px; padding:35px; background:var(--wine-deep); color:#fff; border-radius:18px; font-size:clamp(1.8rem,3vw,3rem); text-align:center; }

.legal-hero { background:linear-gradient(150deg,#170a0f,#2a0d17 55%,#53152b); }
.legal-layout { width:min(100%,var(--max)); margin:auto; padding:clamp(80px,10vw,150px) var(--pad); display:grid; grid-template-columns:260px 1fr; gap:clamp(45px,7vw,100px); align-items:start; }
.legal-index { position:sticky; top:105px; display:flex; flex-direction:column; border-top:1px solid var(--line); }
.legal-index a { padding:11px 0; border-bottom:1px solid var(--line); color:var(--muted); }
.legal-index a:hover { color:var(--wine); }
.legal-prose { max-width:900px; }
.legal-warning { margin:28px 0; padding:22px; border:1px solid rgba(214,27,91,.28); background:rgba(214,27,91,.06); border-radius:14px; }
.legal-warning p { margin-bottom:0; }
.prose pre { max-width:100%; overflow:auto; background:#1a1014; color:#fff; padding:18px; border-radius:12px; }
.prose code { font-family:ui-monospace,SFMono-Regular,Menlo,monospace; font-size:.85em; }

.launch-page, .error-page { min-height:100svh; position:relative; display:grid; place-items:center; padding:var(--pad); text-align:center; }
.launch-shade { position:absolute; inset:0; background:rgba(13,7,10,.62); }
.launch-content { position:relative; z-index:2; color:#fff; }
.launch-content img { width:min(320px,65vw); margin:0 auto 28px; }
.launch-content > p { text-transform:uppercase; letter-spacing:.22em; }
.launch-content h1 { font-size:clamp(4rem,10vw,9rem); }
.error-page h1 { font-size:clamp(4rem,10vw,9rem); }
.error-page p:not(.eyebrow) { color:var(--muted); font-size:1.3rem; }

@media (max-width: 900px) {
  .release-band-inner,.release-intro,.product-story,.product-story.reverse,.application-layout,.rules-layout,.legal-layout { grid-template-columns:1fr; }
  .release-band-inner > div { flex-direction:column; gap:4px; }
  .product-story.reverse .product-media { order:2; }
  .application-intro,.rules-summary,.legal-index { position:static; }
  .premium-feature-grid { grid-template-columns:1fr 1fr; }
  .product-media img { min-height:360px; }
  .legal-index { display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
}
@media (max-width: 640px) {
  .brand-full .brand-wide { display:none; }
  .brand-full .brand-mark { display:block; width:30px; height:38px; object-fit:contain; }
  .release-band-inner { padding-top:20px; padding-bottom:20px; }
  .immersive-copy { padding-bottom:82px; }
  .immersive-copy h1 { font-size:clamp(4rem,18vw,6rem); }
  .release-intro,.product-story,.application-layout,.rules-layout,.legal-layout { padding-left:20px; padding-right:20px; }
  .release-intro h2 { font-size:3.8rem; }
  .product-copy h2 { font-size:3.5rem; }
  .feature-panorama { min-height:78svh; }
  .feature-panorama-copy { padding:70px 20px; }
  .feature-panorama-copy h2 { font-size:4rem; }
  .premium-feature-grid { grid-template-columns:1fr; }
  .premium-feature-grid article { min-height:230px; }
  .premium-feature-grid h3 { margin-top:45px; }
  .application-panel { padding:24px 18px; border-radius:16px; }
  .legal-index { grid-template-columns:1fr; }
}
@media (min-width: 1800px) {
  .header-inner { width:min(100%,var(--max-wide)); }
  .slide-content { width:min(100%,var(--max-wide)); }
  .story-intro,.editorial-split,.closing-inner { max-width:var(--max-wide); }
}


/* ===== Final release polish ===== */
/* Keep every page header visually identical to the home page. */
body:not(.home-page) .home-header { background:linear-gradient(180deg,rgba(0,0,0,.34),transparent); color:#fff; }
body:not(.home-page) .home-header.is-scrolled { background:rgba(18,9,13,.78); color:#fff; box-shadow:none; }

/* Align hero copy with carousel timeline on large screens. */
@media (min-width:701px) {
  .slide-content { left:50%; transform:translateX(-50%); width:min(calc(100% - 2*var(--pad)),var(--max)); }
}
.closing-actions .text-link { margin-top:0; }

/* Cherry product page */
.product-page { background:#f4f0ef; }
.cherry-product-hero { position:relative; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden; color:#fff; background:#12090d; }
.cherry-product-media,.cherry-product-media img,.cherry-product-overlay { position:absolute; inset:0; width:100%; height:100%; }
.cherry-product-media img { object-fit:cover; object-position:center 48%; }
.cherry-product-overlay { background:linear-gradient(180deg,rgba(9,4,7,.3),rgba(9,4,7,.08) 32%,rgba(9,4,7,.82) 100%),linear-gradient(90deg,rgba(9,4,7,.66),transparent 72%); }
.cherry-product-copy { position:relative; z-index:2; width:min(calc(100% - 2*var(--pad)),var(--max)); margin:0 auto; padding-bottom:clamp(72px,10vw,140px); }
.cherry-product-copy h1 { margin:0 0 26px; max-width:1000px; font-size:clamp(5rem,11vw,10.5rem); line-height:.78; font-weight:500; letter-spacing:-.048em; }
.cherry-product-copy>p:not(.slide-kicker) { max-width:670px; margin-bottom:32px; color:rgba(255,255,255,.84); font-size:clamp(1.2rem,1.8vw,1.55rem); line-height:1.45; }
.product-nav { position:sticky; top:78px; z-index:30; display:grid; grid-template-columns:repeat(4,1fr); width:100%; background:rgba(246,242,241,.94); backdrop-filter:blur(18px) saturate(1.25); border-bottom:1px solid var(--line); }
.product-nav a { display:flex; align-items:center; gap:12px; justify-content:center; min-height:64px; border-right:1px solid var(--line); color:var(--ink); font-size:1.05rem; font-weight:600; }
.product-nav a:last-child { border-right:0; }
.product-nav span { color:var(--wine); font-size:.76rem; letter-spacing:.14em; }
.product-manifesto { width:min(calc(100% - 2*var(--pad)),var(--max)); margin:auto; padding:clamp(110px,15vw,220px) 0; }
.product-manifesto h2 { max-width:1200px; margin:0; font-size:clamp(3.7rem,8vw,8rem); line-height:.88; font-weight:500; letter-spacing:-.042em; }
.product-chapter { width:min(calc(100% - 2*var(--pad)),var(--max-wide)); margin:auto; padding:clamp(60px,9vw,140px) 0 clamp(100px,13vw,190px); display:grid; grid-template-columns:.7fr 1.3fr; gap:clamp(40px,7vw,120px); align-items:center; }
.product-number { color:var(--wine); margin-bottom:24px; font-size:.84rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase; }
.product-number.light { color:#ff9aba; }
.product-chapter-copy h2,.music-copy h2 { margin:0 0 26px; font-size:clamp(3.8rem,7.5vw,7.6rem); line-height:.84; font-weight:500; letter-spacing:-.043em; }
.product-chapter-copy>p:not(.product-number),.music-copy>p:not(.product-number) { color:var(--muted); font-size:clamp(1.18rem,1.65vw,1.45rem); line-height:1.55; }
.product-points { display:grid; grid-template-columns:1fr 1fr; margin-top:34px; border-top:1px solid var(--line); }
.product-points span { padding:14px 0; border-bottom:1px solid var(--line); color:var(--muted); }
.product-chapter-media { margin:0; border-radius:clamp(16px,2vw,28px); overflow:hidden; box-shadow:var(--shadow); background:#d9d0d1; }
.product-chapter-media img { width:100%; min-height:560px; object-fit:cover; }
.village-showcase { position:relative; min-height:92svh; display:flex; align-items:flex-end; color:#fff; overflow:hidden; }
.village-showcase>picture,.village-showcase>picture img,.village-showcase-shade { position:absolute; inset:0; width:100%; height:100%; }
.village-showcase>picture img { object-fit:cover; object-position:center 52%; }
.village-showcase-shade { background:linear-gradient(180deg,rgba(7,5,6,.05) 25%,rgba(8,6,7,.86) 100%),linear-gradient(90deg,rgba(8,6,7,.52),transparent 65%); }
.village-showcase-copy { position:relative; z-index:2; width:min(calc(100% - 2*var(--pad)),var(--max)); margin:0 auto; padding-bottom:clamp(72px,10vw,140px); }
.village-showcase-copy h2 { max-width:1100px; margin:0 0 26px; font-size:clamp(4.2rem,9vw,9rem); line-height:.81; font-weight:500; letter-spacing:-.047em; }
.village-showcase-copy>p:last-child { max-width:640px; color:rgba(255,255,255,.79); font-size:clamp(1.18rem,1.7vw,1.48rem); line-height:1.5; }
.music-showcase { width:min(calc(100% - 2*var(--pad)),var(--max)); margin:auto; padding:clamp(110px,14vw,210px) 0; display:grid; grid-template-columns:.82fr 1.18fr; gap:clamp(40px,7vw,110px); align-items:center; }
.music-media { margin:0; overflow:hidden; border-radius:clamp(16px,2vw,28px); background:#d9d0d1; box-shadow:var(--shadow); }
.music-media img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.experience-ribbon { background:#13090d; color:#fff; padding:clamp(100px,13vw,190px) var(--pad); }
.experience-heading,.experience-list { width:min(100%,var(--max)); margin:auto; }
.experience-heading h2 { max-width:1000px; margin:0; font-size:clamp(4rem,8.5vw,8.5rem); line-height:.82; font-weight:500; letter-spacing:-.045em; }
.experience-list { display:grid; grid-template-columns:repeat(4,1fr); margin-top:clamp(65px,9vw,120px); border-top:1px solid rgba(255,255,255,.18); }
.experience-list article { padding:34px 28px 20px 0; border-right:1px solid rgba(255,255,255,.18); }
.experience-list article:not(:first-child) { padding-left:28px; }
.experience-list article:last-child { border-right:0; }
.experience-list h3 { margin-bottom:15px; font-size:clamp(1.7rem,2.6vw,2.7rem); font-weight:500; }
.experience-list p { margin:0; color:rgba(255,255,255,.63); font-size:1.05rem; line-height:1.55; }
.cherry-final { padding:clamp(110px,15vw,220px) var(--pad); text-align:center; background:#eee6e8; }
.cherry-final-inner { width:min(100%,1050px); margin:auto; }
.cherry-final-inner>p:first-of-type { color:var(--wine); font-weight:650; }
.cherry-final-inner h2 { margin:0 0 25px; color:var(--wine-deep); font-family:Georgia,"Times New Roman",serif; font-style:italic; font-size:clamp(4rem,8vw,8rem); font-weight:400; line-height:1; }
.cherry-final-inner>p[data-release-copy] { max-width:620px; margin:0 auto 42px; color:var(--muted); font-size:1.25rem; line-height:1.5; }

.candidate-faq { padding-top:0; }
.candidate-faq-head h2 { margin:0; font-size:clamp(3.4rem,7vw,7rem); line-height:.86; font-weight:500; }
.candidate-faq .faq { max-width:980px; }
.candidate-faq .faq-answer a { color:var(--wine); text-decoration:underline; text-underline-offset:3px; }

@media (max-width:900px) {
  .product-nav { top:68px; overflow-x:auto; grid-template-columns:repeat(4,minmax(150px,1fr)); justify-content:start; }
  .product-chapter,.music-showcase { grid-template-columns:1fr; }
  .product-chapter-copy,.music-copy { max-width:720px; }
  .experience-list { grid-template-columns:1fr 1fr; }
  .experience-list article:nth-child(2) { border-right:0; }
  .experience-list article:nth-child(3),.experience-list article:nth-child(4) { border-top:1px solid rgba(255,255,255,.18); }
  .product-chapter-media img { min-height:420px; }
}
@media (max-width:700px) {
  .cherry-product-copy { width:calc(100% - 40px); padding-bottom:82px; }
  .cherry-product-copy h1 { font-size:clamp(4.1rem,20vw,6.4rem); }
  .cherry-product-copy>p:not(.slide-kicker) { font-size:1.12rem; }
  .product-nav { display:flex; }
  .product-nav a { min-width:148px; padding:0 18px; }
  .product-manifesto,.product-chapter,.music-showcase { width:calc(100% - 40px); }
  .product-manifesto h2 { font-size:clamp(3.5rem,16vw,5.5rem); }
  .product-chapter-copy h2,.music-copy h2 { font-size:clamp(3.5rem,16vw,5.5rem); }
  .product-points { grid-template-columns:1fr; }
  .product-chapter-media img { min-height:300px; }
  .village-showcase { min-height:80svh; }
  .village-showcase-copy { width:calc(100% - 40px); padding-bottom:70px; }
  .village-showcase-copy h2 { font-size:clamp(3.8rem,17vw,5.8rem); }
  .experience-ribbon { padding-left:20px; padding-right:20px; }
  .experience-list { grid-template-columns:1fr; }
  .experience-list article,.experience-list article:not(:first-child) { padding:28px 0; border-right:0; border-top:1px solid rgba(255,255,255,.18); }
  .experience-list article:first-child { border-top:0; }
  .cherry-final { padding-left:20px; padding-right:20px; }
}

/* Cherry - editorial refinement */
.cherry-page-refined { background:#f5f1f0; }
.cherry-opening { padding:clamp(110px,16vw,230px) var(--pad); background:#f5f1f0; }
.cherry-opening-inner { width:min(100%,1240px); margin:auto; }
.cherry-opening h2 { max-width:1180px; margin:0; font-size:clamp(4rem,8.8vw,9rem); line-height:.84; font-weight:500; letter-spacing:-.046em; }
.cherry-opening p:last-child { max-width:690px; margin:clamp(34px,5vw,64px) 0 0 auto; color:var(--muted); font-size:clamp(1.15rem,1.65vw,1.48rem); line-height:1.55; }

.fovea-editorial { position:relative; overflow:hidden; padding:clamp(100px,13vw,190px) var(--pad); color:#fff; background:radial-gradient(circle at 78% 44%,rgba(216,33,94,.20),transparent 30%),linear-gradient(145deg,#12090d,#230b14 58%,#12090d); }
.fovea-editorial-inner { width:min(100%,1460px); margin:auto; display:grid; grid-template-columns:.82fr 1.18fr; align-items:center; gap:clamp(54px,8vw,140px); }
.fovea-editorial-emblem { width:62px; height:62px; object-fit:contain; margin-bottom:34px; }
.fovea-editorial-copy h2 { margin:0 0 32px; max-width:700px; font-size:clamp(4.1rem,8vw,8.4rem); line-height:.82; font-weight:500; letter-spacing:-.045em; }
.fovea-editorial-copy>p:not(.section-kicker) { max-width:620px; color:rgba(255,255,255,.72); font-size:clamp(1.15rem,1.55vw,1.42rem); line-height:1.56; }
.fovea-editorial-list { list-style:none; margin:44px 0 0; padding:0; max-width:620px; border-top:1px solid rgba(255,255,255,.18); }
.fovea-editorial-list li { padding:15px 0; border-bottom:1px solid rgba(255,255,255,.18); color:rgba(255,255,255,.78); font-size:1.04rem; }
.fovea-editorial-visual { position:relative; margin:0; min-width:0; }
.fovea-editorial-visual img { position:relative; z-index:2; width:100%; display:block; border-radius:clamp(16px,2vw,28px); box-shadow:0 36px 100px rgba(0,0,0,.48); transform:perspective(1400px) rotateY(-4deg) rotateX(1.5deg); }
.fovea-glow { position:absolute; inset:10% -5% -12% 10%; border-radius:40%; background:rgba(228,36,101,.22); filter:blur(65px); }

.village-cinema { position:relative; min-height:100svh; display:flex; align-items:flex-end; overflow:hidden; color:#fff; background:#101214; }
.village-cinema-media,.village-cinema-media img,.village-cinema-shade { position:absolute; inset:0; width:100%; height:100%; }
.village-cinema-media img { object-fit:cover; object-position:center; }
.village-cinema-shade { background:linear-gradient(180deg,rgba(4,9,11,.08),rgba(4,9,11,.12) 35%,rgba(4,9,11,.86) 100%),linear-gradient(90deg,rgba(4,9,11,.68),transparent 68%); }
.village-cinema-content { position:relative; z-index:2; width:min(calc(100% - 2*var(--pad)),1380px); margin:0 auto; padding-bottom:clamp(80px,11vw,150px); }
.village-cinema-content h2 { max-width:1200px; margin:0 0 28px; font-size:clamp(4.2rem,9vw,9.4rem); line-height:.81; font-weight:500; letter-spacing:-.047em; }
.village-cinema-content>p:last-child { max-width:660px; color:rgba(255,255,255,.8); font-size:clamp(1.18rem,1.65vw,1.48rem); line-height:1.54; }

.cherry-rhythm { padding:clamp(110px,15vw,210px) var(--pad); background:#efe8e9; }
.cherry-rhythm-head,.cherry-rhythm-flow { width:min(100%,1380px); margin:auto; }
.cherry-rhythm-head h2 { max-width:1120px; margin:0; font-size:clamp(4rem,8vw,8.2rem); line-height:.84; font-weight:500; letter-spacing:-.045em; }
.cherry-rhythm-flow { margin-top:clamp(70px,9vw,130px); border-top:1px solid var(--line); }
.rhythm-item { display:grid; grid-template-columns:.34fr 1fr; gap:clamp(28px,6vw,110px); align-items:start; padding:clamp(28px,4vw,50px) 0; border-bottom:1px solid var(--line); }
.rhythm-item span { font-size:clamp(2rem,3.7vw,4rem); line-height:1; color:var(--wine-deep); font-weight:500; letter-spacing:-.03em; }
.rhythm-item p { max-width:720px; margin:2px 0 0; color:var(--muted); font-size:clamp(1.08rem,1.5vw,1.34rem); line-height:1.55; }

.music-editorial { min-height:92svh; display:grid; grid-template-columns:1.15fr .85fr; background:#f7f4f3; }
.music-editorial-image { min-height:720px; overflow:hidden; }
.music-editorial-image img { width:100%; height:100%; object-fit:cover; object-position:center; }
.music-editorial-copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(70px,9vw,150px); }
.music-editorial-copy h2 { margin:0 0 30px; font-size:clamp(4rem,7.2vw,7.4rem); line-height:.83; font-weight:500; letter-spacing:-.044em; }
.music-editorial-copy>p:last-child { max-width:590px; color:var(--muted); font-size:clamp(1.16rem,1.55vw,1.4rem); line-height:1.56; }

.cherry-details { padding:clamp(110px,15vw,210px) var(--pad); color:#fff; background:#150a0e; }
.cherry-details-intro,.cherry-details-grid { width:min(100%,1380px); margin:auto; }
.cherry-details-intro h2 { margin:0; font-size:clamp(4.2rem,8vw,8.3rem); line-height:.83; font-weight:500; letter-spacing:-.045em; }
.cherry-details-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:0; margin-top:clamp(80px,10vw,140px); border-top:1px solid rgba(255,255,255,.18); }
.cherry-details-grid article { padding:clamp(34px,4vw,58px) clamp(24px,3.4vw,52px) clamp(34px,4vw,58px) 0; border-bottom:1px solid rgba(255,255,255,.18); }
.cherry-details-grid article+article { padding-left:clamp(24px,3.4vw,52px); border-left:1px solid rgba(255,255,255,.18); }
.cherry-details-grid h3 { margin:0 0 22px; font-size:clamp(2rem,3vw,3.15rem); font-weight:500; line-height:1; }
.cherry-details-grid p { margin:0; color:rgba(255,255,255,.64); font-size:1.08rem; line-height:1.55; }

.cherry-final-evergreen .cherry-final-inner>p:first-of-type { letter-spacing:.06em; text-transform:uppercase; font-size:.85rem; }
.cherry-final-evergreen .cherry-final-inner>p:not(:first-of-type) { max-width:650px; margin:0 auto 42px; color:var(--muted); font-size:1.25rem; line-height:1.5; }

@media (max-width:1000px) {
  .fovea-editorial-inner { grid-template-columns:1fr; }
  .fovea-editorial-copy { max-width:760px; }
  .fovea-editorial-visual img { transform:none; }
  .music-editorial { grid-template-columns:1fr; }
  .music-editorial-image { min-height:60svh; }
  .music-editorial-copy { min-height:auto; }
  .cherry-details-grid { grid-template-columns:1fr; }
  .cherry-details-grid article,.cherry-details-grid article+article { padding-left:0; border-left:0; }
}

@media (max-width:700px) {
  .cherry-opening { padding-left:20px; padding-right:20px; }
  .cherry-opening h2 { font-size:clamp(3.7rem,17vw,5.8rem); }
  .cherry-opening p:last-child { margin-left:0; }
  .fovea-editorial { padding-left:20px; padding-right:20px; }
  .fovea-editorial-copy h2,.village-cinema-content h2,.cherry-rhythm-head h2,.music-editorial-copy h2,.cherry-details-intro h2 { font-size:clamp(3.6rem,16vw,5.6rem); }
  .fovea-editorial-emblem { width:50px; height:50px; }
  .village-cinema { min-height:86svh; }
  .village-cinema-content { width:calc(100% - 40px); padding-bottom:72px; }
  .cherry-rhythm { padding-left:20px; padding-right:20px; }
  .rhythm-item { grid-template-columns:1fr; gap:12px; }
  .music-editorial-image { min-height:48svh; }
  .music-editorial-copy { padding:80px 20px; }
  .cherry-details { padding-left:20px; padding-right:20px; }
}

/* Cherry - product page v3 */
.cherry-page-refined{background:#f4efed;color:#171214}
.cherry-manifesto{padding:clamp(110px,15vw,220px) var(--pad);background:#f4efed}
.cherry-manifesto-inner{width:min(100%,1180px);margin:auto;text-align:center}
.cherry-signature{width:clamp(110px,12vw,180px);height:auto;margin:0 auto 34px;display:block;opacity:.9}
.cherry-manifesto h2{margin:0 auto;max-width:1050px;font-size:clamp(4.2rem,8vw,8.4rem);line-height:.88;font-weight:500;letter-spacing:-.045em}
.cherry-manifesto h2 em{font-family:Georgia,"Times New Roman",serif;font-weight:400;color:var(--wine);letter-spacing:-.03em}
.cherry-manifesto p:last-child{max-width:720px;margin:48px auto 0;color:#71666a;font-size:clamp(1.15rem,1.55vw,1.42rem);line-height:1.6}

.cherry-fovea-showcase{position:relative;min-height:920px;padding:clamp(100px,11vw,170px) var(--pad);display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:clamp(70px,8vw,150px);align-items:center;overflow:hidden;color:#fff;background:radial-gradient(circle at 78% 38%,rgba(252,40,114,.24),transparent 28%),linear-gradient(145deg,#12080c 0%,#260914 58%,#13090d 100%)}
.cherry-fovea-showcase:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:12vw 100%;mask-image:linear-gradient(to bottom,transparent,black 18%,black 82%,transparent);pointer-events:none}
.cherry-fovea-copy,.cherry-fovea-stage{position:relative;z-index:1}
.cherry-fovea-copy{max-width:640px;margin-left:auto}
.cherry-fovea-copy h2{margin:0 0 30px;font-size:clamp(3.6rem,6.4vw,7rem);line-height:.88;font-weight:500;letter-spacing:-.042em}
.cherry-fovea-copy>p:not(.section-kicker){max-width:590px;color:rgba(255,255,255,.72);font-size:clamp(1.14rem,1.45vw,1.35rem);line-height:1.6}
.cherry-fovea-points{margin-top:46px;border-top:1px solid rgba(255,255,255,.17)}
.cherry-fovea-points span{display:block;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.17);color:rgba(255,255,255,.82);font-size:1.02rem}
.cherry-fovea-stage{min-height:680px;perspective:1600px}
.fovea-card{position:absolute;margin:0;overflow:hidden;border-radius:clamp(18px,2vw,30px);box-shadow:0 40px 110px rgba(0,0,0,.52);background:#1d0d13}
.fovea-card img{width:100%;height:100%;display:block;object-fit:cover}
.fovea-card-main{inset:8% 7% 29% 2%;z-index:3;transform:rotateY(-5deg) rotateZ(-1deg)}
.fovea-card-themes{width:54%;height:34%;right:0;bottom:5%;z-index:4;transform:rotateY(-8deg) rotateZ(2deg)}
.fovea-card-music{width:43%;height:30%;left:0;bottom:0;z-index:2;transform:rotateY(7deg) rotateZ(-3deg);opacity:.93}

.cherry-village-story{padding:clamp(105px,13vw,190px) var(--pad);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);gap:clamp(55px,8vw,140px);align-items:center;background:#f6f1ef}
.cherry-village-image{min-width:0}
.cherry-village-image picture,.cherry-village-image img{display:block;width:100%}
.cherry-village-image img{aspect-ratio:1.22/1;object-fit:cover;object-position:center;border-radius:clamp(20px,2vw,34px);box-shadow:0 34px 90px rgba(45,20,29,.14)}
.cherry-village-copy{max-width:610px}
.cherry-village-copy h2{margin:0 0 34px;font-size:clamp(3.8rem,6vw,6.8rem);line-height:.89;font-weight:500;letter-spacing:-.043em}
.cherry-village-copy p:not(.section-kicker){color:#71666a;font-size:clamp(1.12rem,1.4vw,1.33rem);line-height:1.62;margin:0 0 20px}

.cherry-atmospheres{display:grid;grid-template-columns:repeat(3,1fr);min-height:78svh;background:#12090d}
.atmosphere-panel{position:relative;min-height:78svh;overflow:hidden;margin:0}
.atmosphere-panel img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.1s cubic-bezier(.2,.7,.2,1)}
.atmosphere-panel:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 42%,rgba(9,4,7,.82) 100%),linear-gradient(90deg,rgba(9,4,7,.12),transparent)}
.atmosphere-panel div{position:absolute;z-index:2;left:clamp(24px,3vw,52px);right:clamp(24px,3vw,52px);bottom:clamp(28px,4vw,58px);color:#fff}
.atmosphere-panel p{margin:0 0 8px;font-size:clamp(2rem,3.1vw,3.6rem);font-weight:500;line-height:1}
.atmosphere-panel span{display:block;max-width:370px;color:rgba(255,255,255,.73);font-size:1.05rem;line-height:1.45}
@media (hover:hover){.atmosphere-panel:hover img{transform:scale(1.035)}}

.cherry-music-story{display:grid;grid-template-columns:1.15fr .85fr;min-height:86svh;background:#140a0e;color:#fff}
.cherry-music-media{min-height:680px;overflow:hidden}
.cherry-music-media img{width:100%;height:100%;object-fit:cover;object-position:center}
.cherry-music-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(70px,8vw,140px)}
.cherry-music-copy h2{margin:0 0 32px;font-size:clamp(3.8rem,6.4vw,7.1rem);line-height:.88;font-weight:500;letter-spacing:-.043em}
.cherry-music-copy p:last-child{max-width:570px;color:rgba(255,255,255,.7);font-size:clamp(1.14rem,1.45vw,1.34rem);line-height:1.62}

.cherry-system-flow{padding:clamp(110px,14vw,210px) var(--pad);background:#f4efed}
.cherry-system-intro,.cherry-system-list{width:min(100%,1320px);margin:auto}
.cherry-system-intro{display:grid;grid-template-columns:.45fr 1.55fr;gap:50px;align-items:start}
.cherry-system-intro h2{margin:0;font-size:clamp(4rem,7.6vw,8rem);line-height:.87;font-weight:500;letter-spacing:-.045em}
.cherry-system-list{margin-top:clamp(70px,9vw,120px);border-top:1px solid #cfc4c7}
.cherry-system-list article{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(36px,7vw,110px);padding:clamp(28px,3.6vw,48px) 0;border-bottom:1px solid #cfc4c7;align-items:start}
.cherry-system-list h3{margin:0;font-size:clamp(1.8rem,2.8vw,3rem);font-weight:500;line-height:1.05}
.cherry-system-list p{margin:0;color:#71666a;font-size:clamp(1.08rem,1.35vw,1.26rem);line-height:1.55}

@media(max-width:1100px){
  .cherry-fovea-showcase{grid-template-columns:1fr;min-height:auto}
  .cherry-fovea-copy{max-width:780px;margin:0}
  .cherry-fovea-stage{min-height:620px}
  .cherry-village-story{grid-template-columns:1fr}
  .cherry-village-copy{max-width:820px}
  .cherry-atmospheres{grid-template-columns:1fr}
  .atmosphere-panel{min-height:62svh}
  .cherry-music-story{grid-template-columns:1fr}
  .cherry-music-media{min-height:58svh}
  .cherry-system-intro{grid-template-columns:1fr}
}
@media(max-width:700px){
  .cherry-manifesto,.cherry-fovea-showcase,.cherry-village-story,.cherry-system-flow{padding-left:20px;padding-right:20px}
  .cherry-manifesto{text-align:left}
  .cherry-signature{margin-left:0;width:110px}
  .cherry-manifesto h2{font-size:clamp(3.7rem,17vw,5.5rem)}
  .cherry-manifesto p:last-child{margin-left:0}
  .cherry-fovea-showcase{padding-top:90px;padding-bottom:90px;gap:50px}
  .cherry-fovea-copy h2,.cherry-village-copy h2,.cherry-music-copy h2,.cherry-system-intro h2{font-size:clamp(3.5rem,15.5vw,5.3rem)}
  .cherry-fovea-stage{min-height:430px}
  .fovea-card-main{inset:2% 3% 34% 0}
  .fovea-card-themes{width:61%;height:34%;right:0;bottom:2%}
  .fovea-card-music{width:50%;height:27%;left:0;bottom:0}
  .cherry-village-story{padding-top:90px;padding-bottom:100px}
  .cherry-village-image img{aspect-ratio:4/5}
  .cherry-atmospheres{display:block}
  .atmosphere-panel{min-height:70svh}
  .cherry-music-copy{padding:80px 20px}
  .cherry-music-media{min-height:48svh}
  .cherry-system-list article{grid-template-columns:1fr;gap:14px}
}


/* Cherry - corrections chirurgicales sur la base validée */
.cherry-page-refined .section-kicker,
.cherry-page-refined .section-kicker.light { color:#fc2872; }

/* FOVEA : une seule capture lisible, sans empilement décoratif */
.cherry-fovea-stage {
  min-height:0;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  border-radius:clamp(18px,2vw,30px);
  background:#0d090b;
  box-shadow:0 36px 100px rgba(0,0,0,.42);
}
.cherry-fovea-stage img {
  display:block;
  width:100%;
  height:auto;
  max-height:680px;
  object-fit:contain;
  background:#0d090b;
}
.fovea-window-bar {
  display:flex;
  align-items:center;
  gap:7px;
  height:38px;
  padding:0 15px;
  border-bottom:1px solid rgba(255,255,255,.1);
  background:rgba(255,255,255,.035);
}
.fovea-window-bar span { width:7px; height:7px; border-radius:50%; background:rgba(255,255,255,.3); }
.cherry-fovea-stage figcaption {
  padding:16px 20px 18px;
  color:rgba(255,255,255,.58);
  font-size:.92rem;
  line-height:1.45;
}

/* Explorer / Habiter / Revenir : même composition, désormais interactive */
.atmosphere-panel[role="button"] { cursor:pointer; }
.atmosphere-panel small {
  display:inline-block;
  margin-top:18px;
  color:rgba(255,255,255,.88);
  font-size:.78rem;
  font-weight:650;
  letter-spacing:.14em;
  text-transform:uppercase;
  opacity:.72;
  transition:opacity .25s ease,transform .25s ease;
}
.atmosphere-panel:hover small,
.atmosphere-panel:focus-visible small { opacity:1; transform:translateX(4px); }
.atmosphere-panel:focus-visible { outline:2px solid #fc2872; outline-offset:-2px; }

/* PineMusic : respecter la capture de l’interface au lieu de la recadrer */
.cherry-music-media {
  display:grid;
  place-items:center;
  padding:clamp(24px,4vw,64px);
  background:radial-gradient(circle at 50% 45%,rgba(252,40,114,.14),transparent 48%),#0d080a;
}
.cherry-music-media img {
  width:100%;
  height:auto;
  max-height:680px;
  object-fit:contain;
  border-radius:clamp(16px,2vw,28px);
  box-shadow:0 34px 90px rgba(0,0,0,.42);
}

/* Fenêtre de détail intégrée */
.story-modal[hidden] { display:none; }
.story-modal { position:fixed; inset:0; z-index:200; display:grid; place-items:center; padding:clamp(16px,4vw,56px); }
.story-modal-backdrop { position:absolute; inset:0; background:rgba(15,7,10,.58); backdrop-filter:blur(22px) saturate(1.12); -webkit-backdrop-filter:blur(22px) saturate(1.12); }
.story-modal-panel { position:relative; width:min(100%,820px); max-height:min(82svh,820px); overflow:auto; padding:clamp(42px,6vw,78px); border:1px solid rgba(255,255,255,.45); border-radius:clamp(24px,3vw,38px); background:rgba(249,245,244,.96); box-shadow:0 40px 130px rgba(0,0,0,.38); }
.story-modal-close { position:absolute; top:18px; right:20px; width:44px; height:44px; border:0; border-radius:50%; color:#35101d; background:rgba(53,16,29,.08); font-size:1.8rem; line-height:1; cursor:pointer; }
.story-modal-close:hover,.story-modal-close:focus-visible { background:rgba(53,16,29,.14); outline:none; }
.story-modal-kicker { margin:0 0 22px; color:#b80037; font-size:.82rem; font-weight:700; text-transform:uppercase; letter-spacing:.16em; }
.story-modal-panel h2 { margin:0 0 30px; color:#35101d; font-size:clamp(3.4rem,7vw,6.5rem); line-height:.84; font-weight:500; letter-spacing:-.045em; }
.story-modal-body { color:#6d5b61; font-size:clamp(1.08rem,1.5vw,1.28rem); line-height:1.62; }
.story-modal-body p { margin:0 0 18px; }
.story-modal-body strong { color:#35101d; font-weight:600; }
body.modal-open { overflow:hidden; }

@media(max-width:700px){
  .cherry-fovea-stage figcaption { padding:14px 16px 16px; }
  .cherry-music-media { min-height:auto; padding:28px 20px; }
  .story-modal { align-items:end; padding:10px; }
  .story-modal-panel { width:100%; max-height:88svh; border-radius:28px 28px 18px 18px; padding:54px 26px 34px; }
}
@media(prefers-reduced-motion:reduce){
  .atmosphere-panel small { transition:none; }
  .story-modal-backdrop { backdrop-filter:none; -webkit-backdrop-filter:none; }
}

/* Cherry - polish ciblé 2026-07-13 */
.cherry-page-refined .section-kicker,
.cherry-page-refined .section-kicker.light,
.cherry-page-refined .story-modal-kicker {
  color:#a8808c;
}

/* FOVEA : composition éditoriale calme, sans collage ni chrome artificiel */
.cherry-fovea-quiet {
  overflow:hidden;
  padding:clamp(110px,13vw,190px) var(--pad) clamp(90px,11vw,150px);
  color:#fff;
  background:linear-gradient(180deg,#140b0f 0%,#0e090b 100%);
}
.cherry-fovea-quiet-head,
.cherry-fovea-quiet-visual,
.cherry-fovea-quiet-notes {
  width:min(100%,1380px);
  margin-inline:auto;
}
.cherry-fovea-quiet-head {
  display:grid;
  grid-template-columns:minmax(150px,.42fr) minmax(0,1.58fr);
  column-gap:clamp(34px,6vw,105px);
  align-items:start;
}
.cherry-fovea-quiet-head .section-kicker { margin-top:.55em; }
.cherry-fovea-quiet-head h2 {
  max-width:1050px;
  margin:0;
  font-size:clamp(4rem,7.7vw,8.15rem);
  line-height:.86;
  font-weight:500;
  letter-spacing:-.047em;
}
.cherry-fovea-quiet-head>p:last-child {
  grid-column:2;
  max-width:700px;
  margin:clamp(30px,4vw,52px) 0 0;
  color:rgba(255,255,255,.64);
  font-size:clamp(1.13rem,1.48vw,1.35rem);
  line-height:1.62;
}
.cherry-fovea-quiet-visual {
  position:relative;
  margin-top:clamp(65px,8vw,115px);
  padding:clamp(10px,1vw,14px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:clamp(20px,2.2vw,34px);
  background:rgba(255,255,255,.035);
  box-shadow:0 45px 130px rgba(0,0,0,.5);
}
.cherry-fovea-quiet-visual:after {
  content:"";
  position:absolute;
  inset:auto 9% -16% 9%;
  height:34%;
  background:rgba(126,28,57,.24);
  filter:blur(80px);
  pointer-events:none;
}
.cherry-fovea-quiet-visual img {
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  height:auto;
  border-radius:clamp(13px,1.6vw,24px);
}
.cherry-fovea-quiet-notes {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:clamp(42px,5vw,70px);
  border-top:1px solid rgba(255,255,255,.15);
}
.cherry-fovea-quiet-notes p {
  display:flex;
  flex-direction:column;
  gap:8px;
  margin:0;
  padding:clamp(24px,3vw,38px) clamp(18px,3vw,42px) 0 0;
}
.cherry-fovea-quiet-notes p+p {
  padding-left:clamp(18px,3vw,42px);
  border-left:1px solid rgba(255,255,255,.15);
}
.cherry-fovea-quiet-notes strong {
  font-size:clamp(1.55rem,2.3vw,2.5rem);
  font-weight:500;
}
.cherry-fovea-quiet-notes span {
  color:rgba(255,255,255,.55);
  font-size:1rem;
  line-height:1.45;
}

/* Systèmes : une scène unique plutôt qu’une liste de cartes */
.cherry-world-support {
  position:relative;
  min-height:92svh;
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  color:#fff;
  background:#130b0e;
}
.cherry-world-support-media,
.cherry-world-support-media img,
.cherry-world-support-shade {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
}
.cherry-world-support-media img { object-fit:cover; object-position:center; }
.cherry-world-support-shade {
  background:
    linear-gradient(180deg,rgba(8,5,7,.12) 0%,rgba(8,5,7,.2) 35%,rgba(8,5,7,.92) 100%),
    linear-gradient(90deg,rgba(8,5,7,.66) 0%,rgba(8,5,7,.12) 72%);
}
.cherry-world-support-inner {
  position:relative;
  z-index:1;
  width:min(calc(100% - 2*var(--pad)),1380px);
  margin:0 auto;
  padding-bottom:clamp(68px,9vw,125px);
}
.cherry-world-support-inner h2 {
  max-width:920px;
  margin:0;
  font-size:clamp(4.2rem,8.5vw,9rem);
  line-height:.84;
  font-weight:500;
  letter-spacing:-.047em;
}
.cherry-world-support-lead {
  max-width:680px;
  margin:clamp(28px,4vw,48px) 0 0;
  color:rgba(255,255,255,.72);
  font-size:clamp(1.15rem,1.5vw,1.38rem);
  line-height:1.6;
}
.cherry-world-support-rail {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:clamp(55px,7vw,95px);
  border-top:1px solid rgba(255,255,255,.2);
}
.cherry-world-support-rail p {
  display:flex;
  flex-direction:column;
  gap:7px;
  margin:0;
  padding:clamp(22px,2.6vw,34px) clamp(16px,2.4vw,34px) 0 0;
}
.cherry-world-support-rail p+p {
  padding-left:clamp(16px,2.4vw,34px);
  border-left:1px solid rgba(255,255,255,.2);
}
.cherry-world-support-rail strong { font-size:clamp(1.25rem,1.8vw,1.8rem); font-weight:500; }
.cherry-world-support-rail span { color:rgba(255,255,255,.55); line-height:1.4; }

/* Pop-up : animation douce et continue, sans apparition brusque */
.story-modal[hidden] { display:none; }
.story-modal {
  opacity:0;
  visibility:hidden;
  transition:opacity .52s cubic-bezier(.16,1,.3,1),visibility 0s linear .52s;
}
.story-modal-backdrop {
  opacity:0;
  backdrop-filter:blur(0) saturate(1);
  -webkit-backdrop-filter:blur(0) saturate(1);
  transition:opacity .62s cubic-bezier(.16,1,.3,1),backdrop-filter .72s cubic-bezier(.16,1,.3,1),-webkit-backdrop-filter .72s cubic-bezier(.16,1,.3,1);
}
.story-modal-panel {
  opacity:0;
  transform:translate3d(0,34px,0) scale(.972);
  filter:blur(6px);
  transform-origin:50% 58%;
  transition:transform .72s cubic-bezier(.16,1,.3,1),opacity .48s ease,filter .6s ease;
  will-change:transform,opacity,filter;
}
.story-modal.is-open {
  opacity:1;
  visibility:visible;
  transition-delay:0s;
}
.story-modal.is-open .story-modal-backdrop {
  opacity:1;
  backdrop-filter:blur(22px) saturate(1.1);
  -webkit-backdrop-filter:blur(22px) saturate(1.1);
}
.story-modal.is-open .story-modal-panel {
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0);
}
.story-modal.is-closing .story-modal-panel {
  transform:translate3d(0,18px,0) scale(.985);
  transition-duration:.36s;
}
.story-modal-kicker { color:#a8808c; }

@media(max-width:900px){
  .cherry-fovea-quiet-head { grid-template-columns:1fr; }
  .cherry-fovea-quiet-head .section-kicker { margin-top:0; }
  .cherry-fovea-quiet-head>p:last-child { grid-column:1; }
  .cherry-fovea-quiet-notes { grid-template-columns:1fr; }
  .cherry-fovea-quiet-notes p+p { padding-left:0; border-left:0; }
  .cherry-world-support-rail { grid-template-columns:1fr 1fr; }
  .cherry-world-support-rail p:nth-child(3) { padding-left:0; border-left:0; }
}
@media(max-width:700px){
  .cherry-fovea-quiet { padding:90px 20px 85px; }
  .cherry-fovea-quiet-head h2 { font-size:clamp(3.55rem,16vw,5.35rem); }
  .cherry-fovea-quiet-visual { width:calc(100% + 12px); margin-left:-6px; padding:6px; border-radius:20px; }
  .cherry-fovea-quiet-notes { margin-top:34px; }
  .cherry-world-support { min-height:88svh; }
  .cherry-world-support-inner { width:calc(100% - 40px); padding-bottom:66px; }
  .cherry-world-support-inner h2 { font-size:clamp(3.8rem,18vw,5.8rem); }
  .cherry-world-support-rail { grid-template-columns:1fr; margin-top:45px; }
  .cherry-world-support-rail p,.cherry-world-support-rail p+p { padding:18px 0; border-left:0; border-bottom:1px solid rgba(255,255,255,.16); }
  .story-modal-panel { transform:translate3d(0,48px,0) scale(.985); transform-origin:50% 100%; }
}
@media(prefers-reduced-motion:reduce){
  .story-modal,.story-modal-backdrop,.story-modal-panel { transition-duration:.01ms!important; }
  .story-modal-panel { filter:none; }
}

/* Cherry - ultime polish ciblé : FOVEA + « Tout reste à sa place » */
.cherry-fovea-quiet {
  padding:clamp(105px,12vw,175px) var(--pad) clamp(88px,10vw,145px);
  background:
    radial-gradient(circle at 82% 26%,rgba(126,28,57,.16),transparent 31%),
    linear-gradient(180deg,#140b0f 0%,#0c080a 100%);
}
.cherry-fovea-quiet-layout {
  width:min(100%,1440px);
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(300px,.78fr) minmax(0,1.42fr);
  gap:clamp(52px,7vw,120px);
  align-items:center;
}
.cherry-fovea-quiet-head {
  display:block;
  width:auto;
  margin:0;
}
.cherry-fovea-quiet-head .section-kicker { margin:0 0 28px; }
.cherry-fovea-quiet-head h2 {
  max-width:590px;
  font-size:clamp(3.55rem,5.8vw,6.45rem);
  line-height:.9;
  letter-spacing:-.042em;
}
.cherry-fovea-quiet-head>p:last-child {
  max-width:560px;
  margin:clamp(28px,3.4vw,44px) 0 0;
  font-size:clamp(1.08rem,1.3vw,1.24rem);
  line-height:1.64;
}
.cherry-fovea-quiet-visual {
  width:auto;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:none;
  box-shadow:none;
}
.cherry-fovea-quiet-visual:after { display:none; }
.cherry-fovea-quiet-frame {
  position:relative;
  padding:clamp(7px,.72vw,11px);
  border:1px solid rgba(255,255,255,.15);
  border-radius:clamp(19px,2vw,29px);
  background:rgba(255,255,255,.045);
  box-shadow:0 38px 105px rgba(0,0,0,.46);
}
.cherry-fovea-quiet-frame:before {
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  background:linear-gradient(135deg,rgba(255,255,255,.16),transparent 24%,transparent 72%,rgba(168,128,140,.18));
  pointer-events:none;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  padding:1px;
}
.cherry-fovea-quiet-visual img {
  width:100%;
  border-radius:clamp(13px,1.5vw,21px);
}
.cherry-fovea-quiet-visual figcaption {
  display:flex;
  justify-content:space-between;
  gap:24px;
  margin-top:17px;
  color:rgba(255,255,255,.48);
  font-size:.78rem;
  line-height:1.4;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cherry-fovea-quiet-visual figcaption span:last-child { text-align:right; }
.cherry-fovea-quiet-notes {
  width:min(100%,1440px);
  margin-top:clamp(52px,6vw,82px);
}
.cherry-fovea-quiet-notes p {
  padding-top:clamp(23px,2.7vw,34px);
}
.cherry-fovea-quiet-notes strong {
  font-size:clamp(1.35rem,1.75vw,1.9rem);
}

.cherry-world-support {
  min-height:96svh;
  align-items:stretch;
}
.cherry-world-support-shade {
  background:
    linear-gradient(180deg,rgba(8,5,7,.06) 0%,rgba(8,5,7,.18) 38%,rgba(8,5,7,.9) 100%),
    linear-gradient(90deg,rgba(8,5,7,.68) 0%,rgba(8,5,7,.18) 58%,rgba(8,5,7,.08) 100%);
}
.cherry-world-support-inner {
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  width:min(calc(100% - 2*var(--pad)),1440px);
  padding-top:clamp(90px,10vw,150px);
  padding-bottom:clamp(56px,7vw,92px);
}
.cherry-world-support-copy {
  max-width:920px;
}
.cherry-world-support-inner h2 {
  max-width:900px;
  font-size:clamp(4.15rem,8vw,8.5rem);
}
.cherry-world-support-lead {
  max-width:690px;
  margin-top:clamp(26px,3.2vw,42px);
}
.cherry-world-support-rail {
  margin-top:clamp(58px,7vw,92px);
  border-top:1px solid rgba(255,255,255,.24);
}
.cherry-world-support-rail p {
  position:relative;
  gap:9px;
  padding-top:clamp(24px,2.6vw,33px);
}
.cherry-world-support-index {
  display:block;
  margin-bottom:clamp(20px,2.4vw,30px);
  color:rgba(255,255,255,.42)!important;
  font-size:.72rem!important;
  letter-spacing:.14em;
}
.cherry-world-support-rail strong {
  font-size:clamp(1.25rem,1.65vw,1.7rem);
}
.cherry-world-support-rail p>span:last-child {
  max-width:250px;
  color:rgba(255,255,255,.58);
  font-size:.95rem;
  line-height:1.5;
}

@media(max-width:1050px){
  .cherry-fovea-quiet-layout { grid-template-columns:1fr; gap:54px; }
  .cherry-fovea-quiet-head { max-width:850px; }
  .cherry-fovea-quiet-head h2 { max-width:800px; }
  .cherry-fovea-quiet-head>p:last-child { max-width:670px; }
}
@media(max-width:700px){
  .cherry-fovea-quiet { padding:88px 20px 82px; }
  .cherry-fovea-quiet-layout { gap:40px; }
  .cherry-fovea-quiet-head h2 { font-size:clamp(3.35rem,15vw,5rem); }
  .cherry-fovea-quiet-visual { width:100%; margin:0; }
  .cherry-fovea-quiet-frame { padding:5px; border-radius:17px; }
  .cherry-fovea-quiet-visual img { border-radius:12px; }
  .cherry-fovea-quiet-visual figcaption { display:block; margin-top:13px; font-size:.68rem; }
  .cherry-fovea-quiet-visual figcaption span { display:block; }
  .cherry-fovea-quiet-visual figcaption span:last-child { margin-top:5px; text-align:left; }
  .cherry-world-support { min-height:100svh; }
  .cherry-world-support-inner { width:calc(100% - 40px); padding-top:90px; padding-bottom:52px; }
  .cherry-world-support-copy { max-width:none; }
  .cherry-world-support-rail { margin-top:45px; }
  .cherry-world-support-index { margin-bottom:9px; }
  .cherry-world-support-rail p>span:last-child { max-width:none; }
}

/* Cherry - retouche ciblée finale : FOVEA + Tout reste à sa place */
.cherry-fovea-editorial-v2{
  position:relative;
  padding:clamp(110px,12vw,180px) var(--pad);
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 82% 45%,rgba(126,28,57,.16),transparent 34%),
    linear-gradient(135deg,#10080b 0%,#160a0f 52%,#0c0709 100%);
}
.cherry-fovea-v2-inner{
  width:min(100%,1480px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
  align-items:center;
  gap:clamp(64px,8vw,130px);
}
.cherry-fovea-v2-copy{max-width:610px}
.cherry-fovea-v2-copy .section-kicker{margin:0 0 28px;color:#c9889b}
.cherry-fovea-v2-copy h2{
  margin:0;
  max-width:650px;
  font-size:clamp(4rem,6.6vw,7.3rem);
  line-height:.88;
  letter-spacing:-.044em;
  font-weight:500;
}
.cherry-fovea-v2-lead{
  margin:34px 0 0;
  max-width:560px;
  color:rgba(255,255,255,.68);
  font-size:clamp(1.12rem,1.45vw,1.34rem);
  line-height:1.58;
}
.cherry-fovea-v2-lines{
  margin-top:46px;
  border-top:1px solid rgba(255,255,255,.14);
}
.cherry-fovea-v2-lines p{
  margin:0;
  padding:18px 0;
  display:grid;
  grid-template-columns:minmax(145px,.58fr) 1.42fr;
  gap:26px;
  border-bottom:1px solid rgba(255,255,255,.14);
}
.cherry-fovea-v2-lines strong{
  color:#fff;
  font-weight:500;
  font-size:1.02rem;
}
.cherry-fovea-v2-lines span{
  color:rgba(255,255,255,.56);
  line-height:1.45;
}
.cherry-fovea-v2-visual{
  margin:0;
  min-width:0;
}
.cherry-fovea-v2-visual img{
  width:100%;
  display:block;
  aspect-ratio:16/9;
  object-fit:cover;
  border-radius:clamp(18px,2vw,28px);
  filter:saturate(.74) contrast(1.05) brightness(.78);
  box-shadow:0 42px 100px rgba(0,0,0,.42);
}
.cherry-fovea-v2-visual figcaption{
  display:flex;
  justify-content:space-between;
  gap:24px;
  margin-top:16px;
  color:rgba(255,255,255,.38);
  font-size:.72rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}

.cherry-world-support-v2{
  min-height:min(920px,92svh);
  display:flex;
  align-items:flex-end;
  padding:clamp(110px,12vw,170px) var(--pad) clamp(84px,8vw,120px);
}
.cherry-world-support-v2 .cherry-world-support-shade{
  background:
    linear-gradient(90deg,rgba(10,6,7,.93) 0%,rgba(10,6,7,.62) 47%,rgba(10,6,7,.24) 100%),
    linear-gradient(0deg,rgba(10,6,7,.96) 0%,rgba(10,6,7,.18) 64%,rgba(10,6,7,.1) 100%);
}
.cherry-world-support-v2-inner{
  position:relative;
  z-index:2;
  width:min(100%,1480px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  align-items:end;
  gap:clamp(70px,9vw,150px);
}
.cherry-world-support-v2-copy{max-width:610px}
.cherry-world-support-v2-copy .section-kicker{margin:0 0 24px;color:#c9889b}
.cherry-world-support-v2-copy h2{
  margin:0;
  font-size:clamp(4.4rem,7vw,7.8rem);
  line-height:.88;
  letter-spacing:-.044em;
  font-weight:500;
}
.cherry-world-support-v2-copy>p:last-child{
  max-width:560px;
  margin:32px 0 0;
  color:rgba(255,255,255,.69);
  font-size:clamp(1.12rem,1.4vw,1.32rem);
  line-height:1.58;
}
.cherry-world-support-v2-list{
  border-top:1px solid rgba(255,255,255,.2);
}
.cherry-world-support-v2-list article{
  display:grid;
  grid-template-columns:minmax(220px,.8fr) 1.2fr;
  gap:36px;
  padding:22px 0;
  border-bottom:1px solid rgba(255,255,255,.2);
}
.cherry-world-support-v2-list strong{
  color:#fff;
  font-size:clamp(1.2rem,1.5vw,1.52rem);
  line-height:1.2;
  font-weight:500;
}
.cherry-world-support-v2-list span{
  color:rgba(255,255,255,.62);
  font-size:1rem;
  line-height:1.5;
}

@media (max-width:980px){
  .cherry-fovea-v2-inner,
  .cherry-world-support-v2-inner{grid-template-columns:1fr}
  .cherry-fovea-v2-copy,
  .cherry-world-support-v2-copy{max-width:760px}
  .cherry-world-support-v2{align-items:flex-end;min-height:auto}
  .cherry-world-support-v2 .cherry-world-support-shade{
    background:linear-gradient(0deg,rgba(10,6,7,.97) 0%,rgba(10,6,7,.72) 70%,rgba(10,6,7,.34) 100%);
  }
}
@media (max-width:640px){
  .cherry-fovea-editorial-v2{padding:88px 20px}
  .cherry-fovea-v2-inner{gap:48px}
  .cherry-fovea-v2-copy h2{font-size:clamp(3.45rem,15vw,5rem)}
  .cherry-fovea-v2-lines p{grid-template-columns:1fr;gap:7px;padding:16px 0}
  .cherry-fovea-v2-visual figcaption{display:block;line-height:1.5}
  .cherry-fovea-v2-visual figcaption span{display:block}
  .cherry-fovea-v2-visual figcaption span+span{margin-top:4px}
  .cherry-world-support-v2{padding:100px 20px 76px}
  .cherry-world-support-v2-inner{gap:50px}
  .cherry-world-support-v2-copy h2{font-size:clamp(3.65rem,16vw,5.25rem)}
  .cherry-world-support-v2-list article{grid-template-columns:1fr;gap:8px;padding:18px 0}
}

/* Cherry - polish strict, uniquement FOVEA + « Tout reste à sa place » */
.cherry-fovea-cinematic-v3{
  position:relative;
  padding:clamp(120px,12vw,190px) var(--pad) clamp(105px,10vw,160px);
  overflow:hidden;
  color:#fff;
  background:
    radial-gradient(circle at 50% 42%,rgba(126,28,57,.15),transparent 34%),
    linear-gradient(180deg,#0d0709 0%,#14090d 52%,#0a0608 100%);
}
.cherry-fovea-cinematic-v3:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.018) 50%,transparent 100%);
}
.cherry-fovea-v3-inner{
  position:relative;
  z-index:1;
  width:min(100%,1500px);
  margin:0 auto;
}
.cherry-fovea-v3-intro{
  max-width:1080px;
  margin:0 auto clamp(64px,7vw,104px);
  text-align:center;
}
.cherry-fovea-v3-intro .section-kicker{
  margin:0 0 28px;
  color:#c88b9c;
}
.cherry-fovea-v3-intro h2{
  margin:0;
  font-size:clamp(4.8rem,8.3vw,9.5rem);
  line-height:.84;
  letter-spacing:-.052em;
  font-weight:500;
  text-wrap:balance;
}
.cherry-fovea-v3-intro>p:last-child{
  max-width:760px;
  margin:38px auto 0;
  color:rgba(255,255,255,.66);
  font-size:clamp(1.14rem,1.48vw,1.4rem);
  line-height:1.58;
}
.cherry-fovea-v3-stage{margin:0}
.cherry-fovea-v3-frame{
  position:relative;
  overflow:hidden;
  border-radius:clamp(22px,2.2vw,34px);
  background:#140a0e;
  box-shadow:0 48px 120px rgba(0,0,0,.48);
}
.cherry-fovea-v3-frame:after{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border:1px solid rgba(255,255,255,.13);
  border-radius:inherit;
  box-shadow:inset 0 1px rgba(255,255,255,.05);
}
.cherry-fovea-v3-frame img{
  width:100%;
  display:block;
  aspect-ratio:16/8.4;
  object-fit:cover;
  object-position:center;
  filter:saturate(.72) contrast(1.06) brightness(.64);
  transform:scale(1.015);
}
.cherry-fovea-v3-glass{
  position:absolute;
  left:clamp(22px,3vw,46px);
  bottom:clamp(22px,3vw,46px);
  display:flex;
  align-items:center;
  gap:18px;
  max-width:calc(100% - 44px);
  padding:14px 18px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:999px;
  background:rgba(18,8,12,.55);
  box-shadow:0 12px 40px rgba(0,0,0,.24);
  backdrop-filter:blur(18px) saturate(120%);
  -webkit-backdrop-filter:blur(18px) saturate(120%);
}
.cherry-fovea-v3-glass span{
  color:#d19aaa;
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.cherry-fovea-v3-glass strong{
  color:rgba(255,255,255,.9);
  font-size:.95rem;
  font-weight:500;
}
.cherry-fovea-v3-stage figcaption{
  display:flex;
  justify-content:center;
  gap:clamp(24px,4vw,62px);
  margin-top:20px;
  color:rgba(255,255,255,.37);
  font-size:.7rem;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.cherry-fovea-v3-principles{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  margin-top:clamp(68px,7vw,104px);
  border-top:1px solid rgba(255,255,255,.14);
}
.cherry-fovea-v3-principles article{
  position:relative;
  padding:34px clamp(26px,3vw,48px) 0 0;
}
.cherry-fovea-v3-principles article+article{
  padding-left:clamp(26px,3vw,48px);
  border-left:1px solid rgba(255,255,255,.12);
}
.cherry-fovea-v3-index{
  display:block;
  margin-bottom:28px;
  color:#c88b9c;
  font-size:.72rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.cherry-fovea-v3-principles h3{
  margin:0;
  color:#fff;
  font-size:clamp(1.45rem,2vw,2.15rem);
  line-height:1.08;
  font-weight:500;
}
.cherry-fovea-v3-principles p{
  max-width:390px;
  margin:18px 0 0;
  color:rgba(255,255,255,.56);
  line-height:1.55;
}

.cherry-world-support-v3{
  min-height:min(940px,94svh);
  display:flex;
  align-items:center;
  padding:clamp(110px,10vw,155px) var(--pad);
}
.cherry-world-support-v3 .cherry-world-support-shade{
  background:
    linear-gradient(90deg,rgba(9,6,7,.94) 0%,rgba(9,6,7,.68) 46%,rgba(9,6,7,.38) 100%),
    linear-gradient(0deg,rgba(9,6,7,.94) 0%,rgba(9,6,7,.18) 66%,rgba(9,6,7,.18) 100%);
}
.cherry-world-support-v3-inner{
  position:relative;
  z-index:2;
  width:min(100%,1500px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr);
  align-items:center;
  gap:clamp(72px,9vw,148px);
}
.cherry-world-support-v3-copy{max-width:610px}
.cherry-world-support-v3-copy .section-kicker{
  margin:0 0 26px;
  color:#c88b9c;
}
.cherry-world-support-v3-copy h2{
  margin:0;
  font-size:clamp(4.4rem,7vw,8rem);
  line-height:.86;
  letter-spacing:-.05em;
  font-weight:500;
}
.cherry-world-support-v3-copy>p:last-child{
  max-width:570px;
  margin:34px 0 0;
  color:rgba(255,255,255,.68);
  font-size:clamp(1.1rem,1.4vw,1.34rem);
  line-height:1.6;
}
.cherry-world-support-v3-list{
  border-top:1px solid rgba(255,255,255,.18);
}
.cherry-world-support-v3-list article{
  display:grid;
  grid-template-columns:18px 1fr;
  gap:22px;
  align-items:start;
  padding:25px 0;
  border-bottom:1px solid rgba(255,255,255,.18);
  transition:padding-left .45s cubic-bezier(.22,1,.36,1),background-color .45s ease;
}
.cherry-world-support-v3-list article:hover{
  padding-left:10px;
  background:linear-gradient(90deg,rgba(126,28,57,.12),transparent 75%);
}
.cherry-world-support-v3-mark{
  width:7px;
  height:7px;
  margin-top:.65em;
  border-radius:50%;
  background:#c88b9c;
  box-shadow:0 0 0 5px rgba(200,139,156,.08);
}
.cherry-world-support-v3-list div{
  display:grid;
  grid-template-columns:minmax(240px,.82fr) 1.18fr;
  gap:clamp(26px,4vw,58px);
}
.cherry-world-support-v3-list strong{
  color:#fff;
  font-size:clamp(1.25rem,1.55vw,1.62rem);
  line-height:1.18;
  font-weight:500;
}
.cherry-world-support-v3-list span:not(.cherry-world-support-v3-mark){
  max-width:520px;
  color:rgba(255,255,255,.61);
  font-size:1rem;
  line-height:1.55;
}

@media (max-width:980px){
  .cherry-fovea-v3-intro{text-align:left;margin-left:0}
  .cherry-fovea-v3-intro>p:last-child{margin-left:0}
  .cherry-fovea-v3-principles{grid-template-columns:1fr}
  .cherry-fovea-v3-principles article,
  .cherry-fovea-v3-principles article+article{
    padding:26px 0;
    border-left:0;
    border-bottom:1px solid rgba(255,255,255,.12);
  }
  .cherry-fovea-v3-index{margin-bottom:12px}
  .cherry-world-support-v3{min-height:auto}
  .cherry-world-support-v3-inner{grid-template-columns:1fr;gap:58px}
  .cherry-world-support-v3-copy{max-width:760px}
  .cherry-world-support-v3 .cherry-world-support-shade{
    background:linear-gradient(0deg,rgba(9,6,7,.96) 0%,rgba(9,6,7,.7) 68%,rgba(9,6,7,.34) 100%);
  }
}
@media (max-width:700px){
  .cherry-fovea-cinematic-v3{padding:92px 20px 84px}
  .cherry-fovea-v3-intro{margin-bottom:46px}
  .cherry-fovea-v3-intro h2{font-size:clamp(3.7rem,16vw,5.45rem)}
  .cherry-fovea-v3-frame{border-radius:18px}
  .cherry-fovea-v3-frame img{aspect-ratio:4/3}
  .cherry-fovea-v3-glass{left:14px;right:14px;bottom:14px;gap:10px;padding:11px 13px;border-radius:16px}
  .cherry-fovea-v3-glass{align-items:flex-start;flex-direction:column}
  .cherry-fovea-v3-stage figcaption{display:block;line-height:1.7}
  .cherry-fovea-v3-stage figcaption span{display:block}
  .cherry-fovea-v3-principles{margin-top:58px}
  .cherry-world-support-v3{padding:94px 20px 78px}
  .cherry-world-support-v3-copy h2{font-size:clamp(3.7rem,16vw,5.5rem)}
  .cherry-world-support-v3-list article{grid-template-columns:14px 1fr;gap:16px;padding:21px 0}
  .cherry-world-support-v3-list div{grid-template-columns:1fr;gap:9px}
  .cherry-world-support-v3-list article:hover{padding-left:0;background:none}
}

/* Cherry - animation FOVEA + polish final de « Tout reste à sa place » */
.cherry-fovea-v4-scroll{
  position:relative;
  height:clamp(1180px,185vh,1780px);
  margin-top:clamp(58px,6vw,90px);
}
.cherry-fovea-v4-sticky{
  position:sticky;
  top:clamp(70px,8vh,110px);
  height:calc(100svh - clamp(90px,12vh,150px));
  display:grid;
  align-content:center;
}
.cherry-fovea-v4-stage{
  position:relative;
  transform:translateY(calc((.5 - var(--fovea-progress,0)) * 18px));
  transition:transform .18s linear;
}
.cherry-fovea-v4-frame{
  isolation:isolate;
  transform-origin:center center;
  transform:
    scale(calc(.965 + (var(--fovea-progress,0) * .035)))
    translateY(calc((1 - var(--fovea-progress,0)) * 12px));
  border-radius:clamp(24px,2.4vw,38px);
  transition:border-radius .6s cubic-bezier(.22,1,.36,1),box-shadow .6s cubic-bezier(.22,1,.36,1);
  box-shadow:
    0 40px 120px rgba(0,0,0,.38),
    0 0 calc(34px + var(--fovea-progress,0) * 42px) rgba(126,28,57,.11);
}
.cherry-fovea-v4-frame img{
  filter:none !important;
  transform:scale(calc(1.018 - var(--fovea-progress,0) * .018));
  transition:transform .18s linear;
}
.cherry-fovea-v4-sheen{
  position:absolute;
  z-index:2;
  inset:-35% auto -35% -24%;
  width:26%;
  pointer-events:none;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.21),transparent);
  filter:blur(12px);
  transform:translateX(calc(var(--fovea-progress,0) * 540%)) skewX(-10deg);
  opacity:calc(.1 + var(--fovea-progress,0) * .38);
}
.cherry-fovea-v4-glass{
  z-index:4;
  transform:translateY(calc(var(--fovea-progress,0) * -12px));
  opacity:calc(1 - max(0, (var(--fovea-progress,0) - .44) * 3.6));
  transition:none;
}
.cherry-fovea-v4-story{
  position:absolute;
  z-index:5;
  left:clamp(18px,3.4vw,58px);
  right:clamp(18px,3.4vw,58px);
  bottom:clamp(18px,3.4vw,54px);
  min-height:clamp(150px,18vw,228px);
  pointer-events:none;
}
.cherry-fovea-v4-story article{
  position:absolute;
  inset:auto 0 0;
  max-width:min(620px,62%);
  padding:clamp(22px,2.5vw,36px);
  border:1px solid rgba(255,255,255,.28);
  border-radius:clamp(18px,2vw,28px);
  background:rgba(251,242,245,.84);
  box-shadow:0 26px 70px rgba(28,8,15,.18);
  color:#251018;
  backdrop-filter:blur(24px) saturate(118%);
  -webkit-backdrop-filter:blur(24px) saturate(118%);
  opacity:0;
  transform:translateY(36px) scale(.965);
  filter:blur(9px);
  transition:
    opacity .9s cubic-bezier(.22,1,.36,1),
    transform 1.05s cubic-bezier(.16,1,.3,1),
    filter .85s cubic-bezier(.22,1,.36,1);
}
.cherry-fovea-v4-story article:nth-child(2){margin-left:auto}
.cherry-fovea-v4-story article:nth-child(3){margin-left:auto;margin-right:auto}
.cherry-fovea-v4-story article.is-active{
  opacity:1;
  transform:translateY(0) scale(1);
  filter:blur(0);
}
.cherry-fovea-v4-story article>span{
  display:block;
  margin-bottom:13px;
  color:#8e3b56;
  font-size:.68rem;
  letter-spacing:.19em;
  text-transform:uppercase;
}
.cherry-fovea-v4-story h3{
  margin:0;
  color:#211016;
  font-size:clamp(1.65rem,2.5vw,2.8rem);
  line-height:1.02;
  font-weight:500;
  letter-spacing:-.025em;
}
.cherry-fovea-v4-story p{
  max-width:520px;
  margin:17px 0 0;
  color:rgba(33,16,22,.7);
  font-size:clamp(.96rem,1.15vw,1.1rem);
  line-height:1.55;
}
.cherry-fovea-v4-progress{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:25px;
}
.cherry-fovea-v4-progress span{
  width:38px;
  height:2px;
  overflow:hidden;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  transition:width .65s cubic-bezier(.22,1,.36,1),background-color .45s ease;
}
.cherry-fovea-v4-progress span.is-active{
  width:78px;
  background:#c88b9c;
}

.cherry-world-support-v4-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  border-top:1px solid rgba(255,255,255,.22);
  border-left:1px solid rgba(255,255,255,.1);
}
.cherry-world-support-v4-grid article{
  display:block;
  min-height:210px;
  padding:clamp(30px,3vw,46px);
  border-right:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.18);
  background:linear-gradient(145deg,rgba(16,10,11,.22),rgba(16,10,11,.06));
  backdrop-filter:blur(2px);
  -webkit-backdrop-filter:blur(2px);
  transition:background-color .5s ease,transform .65s cubic-bezier(.22,1,.36,1);
}
.cherry-world-support-v4-grid article:hover{
  padding-left:clamp(30px,3vw,46px);
  background:linear-gradient(145deg,rgba(126,28,57,.18),rgba(16,10,11,.08));
  transform:translateY(-3px);
}
.cherry-world-support-v4-grid strong{
  display:block;
  max-width:330px;
  margin:0 0 18px;
  color:#fff;
  font-size:clamp(1.35rem,1.8vw,1.9rem);
  line-height:1.08;
  font-weight:500;
  letter-spacing:-.018em;
}
.cherry-world-support-v4-grid span{
  display:block;
  max-width:410px;
  color:rgba(255,255,255,.64);
  font-size:1rem;
  line-height:1.58;
}

@media (max-width:980px){
  .cherry-fovea-v4-scroll{height:auto;margin-top:54px}
  .cherry-fovea-v4-sticky{position:relative;top:auto;height:auto;display:block}
  .cherry-fovea-v4-stage{transform:none}
  .cherry-fovea-v4-frame{transform:none}
  .cherry-fovea-v4-frame img{transform:none}
  .cherry-fovea-v4-sheen{display:none}
  .cherry-fovea-v4-glass{opacity:1;transform:none}
  .cherry-fovea-v4-story{position:relative;left:auto;right:auto;bottom:auto;min-height:0;margin-top:24px;display:grid;gap:14px}
  .cherry-fovea-v4-story article,
  .cherry-fovea-v4-story article:nth-child(2),
  .cherry-fovea-v4-story article:nth-child(3){position:relative;inset:auto;max-width:none;margin:0;opacity:1;transform:none;filter:none;background:rgba(251,242,245,.92)}
  .cherry-fovea-v4-progress{display:none}
  .cherry-world-support-v4-grid{grid-template-columns:1fr}
  .cherry-world-support-v4-grid article{min-height:0}
}
@media (max-width:700px){
  .cherry-fovea-v4-story article{padding:22px 20px}
  .cherry-world-support-v4-grid{border-left:0}
  .cherry-world-support-v4-grid article{padding:26px 0;background:none;border-right:0}
  .cherry-world-support-v4-grid article:hover{padding-left:0;transform:none;background:none}
}
@media (prefers-reduced-motion:reduce){
  .cherry-fovea-v4-frame,.cherry-fovea-v4-frame img,.cherry-fovea-v4-stage{transform:none!important}
  .cherry-fovea-v4-sheen{display:none}
  .cherry-fovea-v4-story article{transition:none}
}


/* Cherry - FOVEA scroll story v5 + polish ciblé “Tout reste à sa place” */
.cherry-fovea-cinematic-v5{
  position:relative;
  overflow:clip;
  min-height:100svh;
  padding:0;
  background:
    radial-gradient(circle at 70% 35%,rgba(126,28,57,.12),transparent 40%),
    #0e080a;
}
.cherry-fovea-v5-track{height:390vh;position:relative}
.cherry-fovea-v5-sticky{
  position:sticky;
  top:0;
  height:100svh;
  overflow:hidden;
  display:grid;
  align-items:center;
  padding:clamp(74px,8vh,112px) var(--pad) clamp(34px,4vh,52px);
}
.cherry-fovea-v5-heading{
  position:absolute;
  z-index:5;
  left:max(var(--pad),calc((100vw - 1560px)/2));
  top:50%;
  width:min(650px,43vw);
  transform:translateY(calc(-50% - (var(--fovea-progress,0) * 36vh))) scale(calc(1 - var(--fovea-progress,0) * .16));
  transform-origin:left top;
  opacity:calc(1 - max(0,(var(--fovea-progress,0) - .3) * 2.3));
  transition:none;
  pointer-events:none;
}
.cherry-fovea-v5-heading .section-kicker{margin:0 0 25px;color:#c88b9c}
.cherry-fovea-v5-heading h2{
  margin:0;
  max-width:650px;
  color:#fff;
  font-size:clamp(4.7rem,7.4vw,9rem);
  line-height:.88;
  letter-spacing:-.055em;
  font-weight:500;
}
.cherry-fovea-v5-heading>p:last-child{
  max-width:580px;
  margin:34px 0 0;
  color:rgba(255,255,255,.64);
  font-size:clamp(1.05rem,1.35vw,1.3rem);
  line-height:1.62;
}
.cherry-fovea-v5-stage{
  position:relative;
  width:min(1560px,calc(100vw - (2 * var(--pad))));
  height:min(78svh,900px);
  margin:0 auto;
  transform:translateY(calc((1 - min(1,var(--fovea-progress,0) * 3.4)) * 108vh));
  opacity:min(1,calc(var(--fovea-progress,0) * 4));
  transition:none;
}
.cherry-fovea-v5-screen{
  position:absolute;
  inset:0;
  margin:0;
  border-radius:clamp(24px,2.4vw,40px);
  overflow:hidden;
  background:#f3e8eb;
  box-shadow:0 50px 150px rgba(0,0,0,.42),0 0 0 1px rgba(255,255,255,.12);
  opacity:0;
  transform:translate3d(10vw,5vh,0) scale(.94);
  filter:blur(14px);
  transition:opacity .85s cubic-bezier(.22,1,.36,1),transform 1.05s cubic-bezier(.16,1,.3,1),filter .8s ease;
  pointer-events:none;
}
.cherry-fovea-v5-screen.is-active{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0);
  pointer-events:auto;
}
.cherry-fovea-v5-screen.is-past{
  opacity:0;
  transform:translate3d(-9vw,-4vh,0) scale(.975);
  filter:blur(10px);
}
.cherry-fovea-v5-screen img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  filter:none!important;
  transform:scale(1.015);
  transition:transform 1.4s cubic-bezier(.16,1,.3,1);
}
.cherry-fovea-v5-screen.is-active img{transform:scale(1)}
.cherry-fovea-v5-screen figcaption{
  position:absolute;
  left:clamp(22px,3vw,52px);
  bottom:clamp(22px,3vw,48px);
  max-width:min(620px,70%);
  padding:20px 24px 21px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:18px;
  background:rgba(19,10,13,.72);
  color:#fff;
  backdrop-filter:blur(22px) saturate(120%);
  -webkit-backdrop-filter:blur(22px) saturate(120%);
  box-shadow:0 18px 55px rgba(0,0,0,.22);
}
.cherry-fovea-v5-screen figcaption span{
  display:block;
  margin-bottom:7px;
  color:#e2a5b6;
  font-size:.68rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.cherry-fovea-v5-screen figcaption strong{
  display:block;
  font-size:clamp(1.1rem,1.55vw,1.55rem);
  line-height:1.24;
  font-weight:500;
}
.cherry-fovea-v5-controls{
  position:absolute;
  z-index:6;
  left:50%;
  bottom:clamp(22px,3vh,38px);
  width:min(760px,70vw);
  display:flex;
  justify-content:space-between;
  transform:translateX(-50%);
  color:rgba(255,255,255,.42);
  font-size:.63rem;
  letter-spacing:.17em;
  text-transform:uppercase;
  opacity:calc(max(0,(var(--fovea-progress,0) - .18) * 2.4));
}
.cherry-fovea-v5-meter{
  position:absolute;
  z-index:7;
  right:max(var(--pad),calc((100vw - 1560px)/2));
  top:50%;
  width:2px;
  height:140px;
  transform:translateY(-50%);
  background:rgba(255,255,255,.12);
  opacity:calc(max(0,(var(--fovea-progress,0) - .16) * 2.6));
}
.cherry-fovea-v5-meter i{
  display:block;
  width:100%;
  height:calc(var(--fovea-progress,0) * 100%);
  background:#c88b9c;
  box-shadow:0 0 18px rgba(200,139,156,.32);
}

.cherry-world-support-v5{
  position:relative;
  isolation:isolate;
  min-height:min(900px,94svh);
  display:flex;
  align-items:center;
  overflow:hidden;
  padding:clamp(105px,10vw,150px) var(--pad);
  color:#fff;
}
.cherry-world-support-v5 .cherry-world-support-media{position:absolute;inset:0;z-index:-3}
.cherry-world-support-v5 .cherry-world-support-media img{width:100%;height:100%;object-fit:cover;object-position:center;filter:none}
.cherry-world-support-v5-shade{
  position:absolute;
  inset:0;
  z-index:-2;
  background:linear-gradient(90deg,rgba(8,5,6,.93) 0%,rgba(8,5,6,.7) 48%,rgba(8,5,6,.42) 100%),linear-gradient(0deg,rgba(8,5,6,.86),transparent 64%);
}
.cherry-world-support-v5-inner{
  width:min(100%,1500px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(340px,.72fr) minmax(580px,1.28fr);
  gap:clamp(70px,9vw,145px);
  align-items:start;
}
.cherry-world-support-v5-head{position:sticky;top:130px}
.cherry-world-support-v5-head .section-kicker{margin:0 0 24px;color:#c88b9c}
.cherry-world-support-v5-head h2{
  margin:0;
  max-width:600px;
  font-size:clamp(4.6rem,7vw,8rem);
  line-height:.87;
  letter-spacing:-.052em;
  font-weight:500;
}
.cherry-world-support-v5-head>p:last-child{
  max-width:560px;
  margin:34px 0 0;
  color:rgba(255,255,255,.7);
  font-size:clamp(1.05rem,1.3vw,1.26rem);
  line-height:1.62;
}
.cherry-world-support-v5-lines{border-top:1px solid rgba(255,255,255,.2)}
.cherry-world-support-v5-lines article{
  display:grid;
  grid-template-columns:minmax(230px,.82fr) 1.18fr;
  gap:clamp(30px,4vw,64px);
  padding:clamp(27px,3vw,42px) 0;
  border-bottom:1px solid rgba(255,255,255,.18);
}
.cherry-world-support-v5-lines h3{
  margin:0;
  color:#fff;
  font-size:clamp(1.35rem,1.7vw,1.85rem);
  line-height:1.16;
  font-weight:500;
  letter-spacing:-.018em;
}
.cherry-world-support-v5-lines p{
  max-width:520px;
  margin:0;
  color:rgba(255,255,255,.66);
  font-size:clamp(.98rem,1.08vw,1.08rem);
  line-height:1.62;
}

@media (max-width:980px){
  .cherry-fovea-v5-track{height:auto}
  .cherry-fovea-v5-sticky{position:relative;height:auto;display:block;padding:100px 20px 84px}
  .cherry-fovea-v5-heading{position:relative;left:auto;top:auto;width:auto;transform:none;opacity:1;margin:0 0 50px}
  .cherry-fovea-v5-heading h2{font-size:clamp(4rem,13vw,6.8rem)}
  .cherry-fovea-v5-stage{width:100%;height:auto;transform:none;opacity:1;display:grid;gap:20px}
  .cherry-fovea-v5-screen,.cherry-fovea-v5-screen.is-active,.cherry-fovea-v5-screen.is-past{position:relative;inset:auto;opacity:1;transform:none;filter:none;aspect-ratio:16/10}
  .cherry-fovea-v5-screen figcaption{max-width:calc(100% - 28px);left:14px;bottom:14px;padding:17px 18px}
  .cherry-fovea-v5-controls,.cherry-fovea-v5-meter{display:none}
  .cherry-world-support-v5{min-height:auto;padding:96px 20px}
  .cherry-world-support-v5-inner{grid-template-columns:1fr;gap:58px}
  .cherry-world-support-v5-head{position:relative;top:auto}
  .cherry-world-support-v5-head h2{font-size:clamp(4rem,14vw,6.4rem)}
}
@media (max-width:700px){
  .cherry-fovea-v5-screen{aspect-ratio:4/3;border-radius:18px}
  .cherry-fovea-v5-screen figcaption{position:relative;left:auto;bottom:auto;max-width:none;margin:-1px 0 0;border-radius:0 0 18px 18px;background:#211116}
  .cherry-world-support-v5-lines article{grid-template-columns:1fr;gap:10px;padding:25px 0}
}
@media (prefers-reduced-motion:reduce){
  .cherry-fovea-v5-heading,.cherry-fovea-v5-stage,.cherry-fovea-v5-screen,.cherry-fovea-v5-screen img{transition:none!important}
}

/* Cherry - FOVEA v6, séquence courte et cinématographique. Aucun autre bloc touché. */
.cherry-fovea-cinematic-v6{
  --fovea-progress:0;
  position:relative;
  overflow:clip;
  min-height:100svh;
  padding:0;
  color:#fff;
  background:#0e080a;
}
.cherry-fovea-v6-track{height:255vh;position:relative}
.cherry-fovea-v6-sticky{
  position:sticky;
  top:0;
  height:100svh;
  overflow:hidden;
  isolation:isolate;
  background:
    radial-gradient(circle at 50% 48%,rgba(126,28,57,.11),transparent 42%),
    #0e080a;
}
.cherry-fovea-v6-heading{
  position:absolute;
  z-index:5;
  left:max(var(--pad),calc((100vw - 1560px)/2));
  top:50%;
  width:min(760px,52vw);
  transform:
    translate3d(
      calc(var(--fovea-progress) * -1.5vw),
      calc(-50% - var(--fovea-progress) * 34vh),
      0
    )
    scale(calc(1 - var(--fovea-progress) * .28));
  transform-origin:left top;
  pointer-events:none;
  will-change:transform,opacity;
}
.cherry-fovea-v6-heading .section-kicker{margin:0 0 24px;color:#c88b9c}
.cherry-fovea-v6-heading h2{
  margin:0;
  font-size:clamp(5rem,8.4vw,10.2rem);
  line-height:.83;
  letter-spacing:-.058em;
  font-weight:500;
  text-wrap:balance;
}
.cherry-fovea-v6-heading>p:last-child{
  max-width:650px;
  margin:34px 0 0;
  color:rgba(255,255,255,.67);
  font-size:clamp(1.08rem,1.42vw,1.36rem);
  line-height:1.58;
  opacity:calc(1 - min(1,var(--fovea-progress) * 2.7));
}
.cherry-fovea-v6-stage{
  position:absolute;
  z-index:2;
  left:50%;
  top:54%;
  width:min(1560px,calc(100vw - 2 * var(--pad)));
  height:min(76svh,880px);
  transform:
    translate3d(-50%,calc((1 - min(1,var(--fovea-progress) * 3.2)) * 103vh),0)
    scale(calc(.94 + min(1,var(--fovea-progress) * 3.2) * .06));
  opacity:min(1,calc(var(--fovea-progress) * 4));
  will-change:transform,opacity;
}
.cherry-fovea-v6-screen{
  position:absolute;
  inset:0;
  margin:0;
  overflow:hidden;
  border-radius:clamp(24px,2.3vw,38px);
  background:#efe2e7;
  box-shadow:0 45px 150px rgba(0,0,0,.44),0 0 0 1px rgba(255,255,255,.13);
  opacity:0;
  transform:translate3d(7vw,0,0) scale(.985);
  transition:opacity .72s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.16,1,.3,1);
  pointer-events:none;
}
.cherry-fovea-v6-screen.is-active{opacity:1;transform:translate3d(0,0,0) scale(1);pointer-events:auto}
.cherry-fovea-v6-screen.is-past{opacity:0;transform:translate3d(-7vw,0,0) scale(.99)}
.cherry-fovea-v6-screen img{
  width:100%;height:100%;display:block;object-fit:cover;object-position:center;
  filter:none!important;
  transform:scale(1.012);
  transition:transform 1.15s cubic-bezier(.16,1,.3,1);
}
.cherry-fovea-v6-screen.is-active img{transform:scale(1)}
.cherry-fovea-v6-copy{
  position:absolute;
  z-index:6;
  left:max(var(--pad),calc((100vw - 1560px)/2));
  bottom:clamp(30px,4vh,54px);
  width:min(760px,62vw);
  min-height:92px;
  pointer-events:none;
}
.cherry-fovea-v6-copy p{
  position:absolute;
  inset:auto 0 0;
  margin:0;
  opacity:0;
  transform:translate3d(0,24px,0);
  transition:opacity .55s ease,transform .75s cubic-bezier(.16,1,.3,1);
}
.cherry-fovea-v6-copy p.is-active{opacity:1;transform:none}
.cherry-fovea-v6-copy span{
  display:block;
  margin-bottom:8px;
  color:#c88b9c;
  font-size:.72rem;
  letter-spacing:.17em;
  text-transform:uppercase;
}
.cherry-fovea-v6-copy strong{
  display:block;
  max-width:700px;
  color:#fff;
  font-size:clamp(1.35rem,2vw,2.15rem);
  line-height:1.14;
  font-weight:500;
  letter-spacing:-.02em;
  text-shadow:0 2px 24px rgba(0,0,0,.55);
}
.cherry-fovea-v6-progress{
  position:absolute;
  z-index:7;
  right:max(var(--pad),calc((100vw - 1560px)/2));
  bottom:clamp(36px,4.4vh,58px);
  width:min(260px,22vw);
  height:1px;
  background:rgba(255,255,255,.22);
}
.cherry-fovea-v6-progress i{display:block;height:100%;width:calc(var(--fovea-progress) * 100%);background:#c88b9c;box-shadow:0 0 16px rgba(200,139,156,.4)}

@media (max-width:980px){
  .cherry-fovea-v6-track{height:auto}
  .cherry-fovea-v6-sticky{position:relative;height:auto;padding:96px 20px 86px;overflow:visible}
  .cherry-fovea-v6-heading{position:relative;left:auto;top:auto;width:auto;transform:none;margin:0 0 48px}
  .cherry-fovea-v6-heading h2{font-size:clamp(4rem,13.5vw,6.9rem)}
  .cherry-fovea-v6-heading>p:last-child{opacity:1;margin-top:28px}
  .cherry-fovea-v6-stage{
    position:relative;left:auto;top:auto;width:100%;height:auto;transform:none;opacity:1;
    display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding:0 0 10px;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .cherry-fovea-v6-stage::-webkit-scrollbar{display:none}
  .cherry-fovea-v6-screen,.cherry-fovea-v6-screen.is-active,.cherry-fovea-v6-screen.is-past{
    position:relative;inset:auto;flex:0 0 88%;aspect-ratio:16/10;opacity:1;transform:none;scroll-snap-align:center;
  }
  .cherry-fovea-v6-copy{
    position:relative;left:auto;bottom:auto;width:auto;min-height:0;margin-top:24px;
  }
  .cherry-fovea-v6-copy p{position:relative;display:none;inset:auto;opacity:1;transform:none}
  .cherry-fovea-v6-copy p:first-child{display:block}
  .cherry-fovea-v6-copy strong{font-size:clamp(1.35rem,4.8vw,1.85rem)}
  .cherry-fovea-v6-progress{display:none}
}
@media (max-width:640px){
  .cherry-fovea-v6-sticky{padding-top:88px;padding-bottom:72px}
  .cherry-fovea-v6-screen,.cherry-fovea-v6-screen.is-active,.cherry-fovea-v6-screen.is-past{flex-basis:94%;aspect-ratio:4/3;border-radius:18px}
}
@media (prefers-reduced-motion:reduce){
  .cherry-fovea-v6-heading,.cherry-fovea-v6-stage,.cherry-fovea-v6-screen,.cherry-fovea-v6-screen img,.cherry-fovea-v6-copy p{transition:none!important}
}


/* FOVEA - static, no scroll-driven animation */
.cherry-fovea-static-v7{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(900px 420px at 50% 18%,rgba(126,28,57,.14),transparent 68%),
    #10080c;
  color:#f7f2f3;
  padding:clamp(96px,10vw,168px) clamp(20px,5vw,76px) clamp(104px,11vw,176px);
}
.cherry-fovea-static-v7-inner{width:min(1500px,100%);margin:0 auto}
.cherry-fovea-static-v7-head{max-width:980px;margin:0 auto clamp(54px,7vw,94px);text-align:center}
.cherry-fovea-static-v7-head .section-kicker{margin:0 0 22px;color:#c88b9c}
.cherry-fovea-static-v7-head h2{
  margin:0;
  font-size:clamp(4.2rem,8.4vw,9.2rem);
  line-height:.84;
  letter-spacing:-.045em;
  font-weight:400;
}
.cherry-fovea-static-v7-head>p:last-child{
  max-width:740px;
  margin:38px auto 0;
  color:rgba(247,242,243,.66);
  font-size:clamp(1.18rem,1.7vw,1.55rem);
  line-height:1.55;
}
.cherry-fovea-static-v7-visual{margin:0}
.cherry-fovea-static-v7-visual>img{
  display:block;
  width:100%;
  aspect-ratio:16/8.3;
  object-fit:cover;
  border-radius:clamp(20px,2.4vw,38px);
  border:1px solid rgba(255,255,255,.13);
  box-shadow:0 38px 110px rgba(0,0,0,.42),0 0 0 1px rgba(200,139,156,.05) inset;
}
.cherry-fovea-static-v7-visual figcaption{
  display:flex;
  justify-content:space-between;
  gap:34px;
  padding:20px 4px 0;
  color:rgba(247,242,243,.42);
  font-size:.84rem;
  letter-spacing:.11em;
  text-transform:uppercase;
}
.cherry-fovea-static-v7-visual figcaption span:last-child{text-align:right;white-space:nowrap}
.cherry-fovea-static-v7-closing{
  width:min(900px,100%);
  margin:clamp(62px,7vw,100px) auto 0;
  text-align:center;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.7rem,3vw,3rem);
  line-height:1.25;
  color:rgba(247,242,243,.9);
}
@media (max-width:800px){
  .cherry-fovea-static-v7{padding-left:20px;padding-right:20px}
  .cherry-fovea-static-v7-head{text-align:left;margin-bottom:46px}
  .cherry-fovea-static-v7-head h2{font-size:clamp(4rem,16vw,6.2rem)}
  .cherry-fovea-static-v7-head>p:last-child{margin-left:0}
  .cherry-fovea-static-v7-visual>img{aspect-ratio:4/3;border-radius:22px}
  .cherry-fovea-static-v7-visual figcaption{display:block;font-size:.72rem;line-height:1.6}
  .cherry-fovea-static-v7-visual figcaption span{display:block}
  .cherry-fovea-static-v7-visual figcaption span:last-child{margin-top:8px;text-align:left;white-space:normal}
  .cherry-fovea-static-v7-closing{text-align:left;margin-left:0}
}

/* FOVEA - premium static composition v8. Scope intentionally limited to this section. */
.cherry-fovea-premium-v8{
  position:relative;
  overflow:hidden;
  color:#f7f2f3;
  background:
    radial-gradient(980px 520px at 82% 24%,rgba(126,28,57,.16),transparent 68%),
    linear-gradient(180deg,#10080c 0%,#12090d 56%,#0d070a 100%);
  padding:clamp(104px,11vw,178px) clamp(20px,5vw,76px) clamp(110px,12vw,190px);
}
.cherry-fovea-premium-v8:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  opacity:.18;
  background:linear-gradient(90deg,transparent 0,rgba(255,255,255,.035) 50%,transparent 100%);
  mask-image:linear-gradient(to bottom,transparent 4%,black 30%,black 72%,transparent 96%);
}
.cherry-fovea-premium-v8-inner{position:relative;width:min(1540px,100%);margin:0 auto}
.cherry-fovea-premium-v8-intro{
  display:grid;
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.55fr);
  align-items:end;
  gap:clamp(46px,8vw,132px);
  margin-bottom:clamp(58px,7.5vw,108px);
}
.cherry-fovea-premium-v8-intro .section-kicker{margin:0 0 25px;color:#c88b9c}
.cherry-fovea-premium-v8-intro h2{
  margin:0;
  max-width:980px;
  font-size:clamp(4.25rem,8vw,9rem);
  line-height:.84;
  letter-spacing:-.047em;
  font-weight:400;
}
.cherry-fovea-premium-v8-intro>p{
  margin:0 0 .45em;
  max-width:520px;
  padding-left:clamp(24px,3vw,44px);
  border-left:1px solid rgba(200,139,156,.34);
  color:rgba(247,242,243,.68);
  font-size:clamp(1.08rem,1.38vw,1.32rem);
  line-height:1.67;
}
.cherry-fovea-premium-v8-stage{margin:0}
.cherry-fovea-premium-v8-frame{
  position:relative;
  padding:clamp(5px,.55vw,9px);
  border:1px solid rgba(255,255,255,.12);
  border-radius:clamp(22px,2.5vw,40px);
  background:linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.016));
  box-shadow:0 44px 130px rgba(0,0,0,.48),0 0 90px rgba(126,28,57,.08);
}
.cherry-fovea-premium-v8-frame:before{
  content:"";
  position:absolute;
  inset:-1px;
  border-radius:inherit;
  padding:1px;
  background:linear-gradient(115deg,rgba(252,190,211,.34),transparent 32%,transparent 72%,rgba(126,28,57,.32));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);
  -webkit-mask-composite:xor;
  mask-composite:exclude;
  pointer-events:none;
}
.cherry-fovea-premium-v8-frame img{
  display:block;
  width:100%;
  height:auto;
  border-radius:clamp(16px,2vw,32px);
}
.cherry-fovea-premium-v8-stage figcaption{
  display:flex;
  justify-content:space-between;
  gap:34px;
  padding:20px 4px 0;
  color:rgba(247,242,243,.42);
  font-size:.76rem;
  line-height:1.55;
  letter-spacing:.115em;
  text-transform:uppercase;
}
.cherry-fovea-premium-v8-stage figcaption span:last-child{text-align:right}
.cherry-fovea-premium-v8-spectrum{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  margin-top:clamp(56px,7vw,102px);
  border-top:1px solid rgba(255,255,255,.15);
  border-bottom:1px solid rgba(255,255,255,.15);
}
.cherry-fovea-premium-v8-spectrum span{
  min-width:0;
  padding:clamp(23px,2.2vw,34px) clamp(12px,2vw,30px);
  color:rgba(247,242,243,.78);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.1rem,1.55vw,1.55rem);
  text-align:center;
}
.cherry-fovea-premium-v8-spectrum span+span{border-left:1px solid rgba(255,255,255,.15)}
.cherry-fovea-premium-v8-outro{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:clamp(28px,6vw,96px);
  margin-top:clamp(62px,8vw,116px);
}
.cherry-fovea-premium-v8-outro p{
  margin:0;
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(2rem,3.5vw,4rem);
  line-height:1.08;
  letter-spacing:-.025em;
}
.cherry-fovea-premium-v8-outro p:first-child{color:#f7f2f3}
.cherry-fovea-premium-v8-outro p:last-child{color:rgba(247,242,243,.45);text-align:right}
@media (max-width:900px){
  .cherry-fovea-premium-v8-intro{grid-template-columns:1fr;gap:34px}
  .cherry-fovea-premium-v8-intro>p{max-width:700px;margin:0;padding:0;border-left:0}
  .cherry-fovea-premium-v8-spectrum{grid-template-columns:1fr 1fr}
  .cherry-fovea-premium-v8-spectrum span:nth-child(3){border-left:0;border-top:1px solid rgba(255,255,255,.15)}
  .cherry-fovea-premium-v8-spectrum span:nth-child(4){border-top:1px solid rgba(255,255,255,.15)}
}
@media (max-width:640px){
  .cherry-fovea-premium-v8{padding:88px 20px 96px}
  .cherry-fovea-premium-v8-intro{margin-bottom:46px}
  .cherry-fovea-premium-v8-intro h2{font-size:clamp(3.75rem,16vw,5.4rem)}
  .cherry-fovea-premium-v8-frame{padding:4px;border-radius:20px}
  .cherry-fovea-premium-v8-frame img{border-radius:15px}
  .cherry-fovea-premium-v8-stage figcaption{display:block;font-size:.68rem;padding-top:14px}
  .cherry-fovea-premium-v8-stage figcaption span{display:block}
  .cherry-fovea-premium-v8-stage figcaption span+span{margin-top:7px}
  .cherry-fovea-premium-v8-spectrum{margin-top:46px}
  .cherry-fovea-premium-v8-spectrum span{padding:19px 10px;font-size:1.02rem}
  .cherry-fovea-premium-v8-outro{grid-template-columns:1fr;gap:16px;margin-top:58px}
  .cherry-fovea-premium-v8-outro p:last-child{text-align:left}
}


/* FOVEA v9 - la capture comme centre absolu, sans cartes ni décor superflu */
.cherry-fovea-premium-v9{
  position:relative;
  overflow:hidden;
  padding:clamp(108px,11vw,176px) clamp(20px,4.5vw,72px) clamp(116px,12vw,190px);
  color:#f7f2f3;
  background:linear-gradient(180deg,#10080c 0%,#0d070a 100%);
}
.cherry-fovea-premium-v9-inner{width:min(1720px,100%);margin:0 auto}
.cherry-fovea-premium-v9-head{max-width:1040px;margin:0 auto clamp(58px,7.5vw,112px);text-align:center}
.cherry-fovea-premium-v9-head .section-kicker{margin:0 0 24px;color:#c88b9c}
.cherry-fovea-premium-v9-head h2{
  margin:0;
  font-size:clamp(4.3rem,8.2vw,9.5rem);
  line-height:.88;
  letter-spacing:-.048em;
  font-weight:400;
}
.cherry-fovea-premium-v9-head>p:last-child{
  max-width:760px;
  margin:clamp(30px,3.8vw,48px) auto 0;
  color:rgba(247,242,243,.68);
  font-size:clamp(1.06rem,1.35vw,1.32rem);
  line-height:1.68;
}
.cherry-fovea-premium-v9-visual{margin:0}
.cherry-fovea-premium-v9-visual img{
  display:block;
  width:100%;
  height:auto;
  border-radius:clamp(18px,2.1vw,34px);
  box-shadow:0 54px 140px rgba(0,0,0,.42);
}
.cherry-fovea-premium-v9-visual figcaption{
  padding-top:18px;
  color:rgba(247,242,243,.4);
  font-size:.72rem;
  line-height:1.55;
  letter-spacing:.12em;
  text-align:center;
  text-transform:uppercase;
}
.cherry-fovea-premium-v9-closing{
  max-width:900px;
  margin:clamp(58px,7vw,104px) auto 0;
  color:rgba(247,242,243,.78);
  font-family:Georgia,'Times New Roman',serif;
  font-size:clamp(1.7rem,2.65vw,3.25rem);
  line-height:1.22;
  letter-spacing:-.023em;
  text-align:center;
}
@media (max-width:760px){
  .cherry-fovea-premium-v9{padding:88px 20px 100px}
  .cherry-fovea-premium-v9-head{margin-bottom:46px;text-align:left}
  .cherry-fovea-premium-v9-head h2{font-size:clamp(3.8rem,15vw,5.7rem)}
  .cherry-fovea-premium-v9-head>p:last-child{margin-left:0;margin-right:0}
  .cherry-fovea-premium-v9-visual{margin-left:-20px;margin-right:-20px}
  .cherry-fovea-premium-v9-visual img{border-radius:0}
  .cherry-fovea-premium-v9-visual figcaption{padding:14px 20px 0;font-size:.64rem}
  .cherry-fovea-premium-v9-closing{margin-top:54px;text-align:left}
}

/* Cherry - polish strict de la fenêtre Explorer / Habiter / Revenir.
   Aucun autre composant du site n'est concerné. */
.story-modal {
  isolation:isolate;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  perspective:1200px;
  transition:
    opacity .56s cubic-bezier(.22,1,.36,1),
    visibility 0s linear .72s;
}
.story-modal-backdrop {
  z-index:0;
  opacity:0;
  background:
    radial-gradient(circle at 50% 42%,rgba(126,28,57,.16),transparent 44%),
    rgba(8,5,7,.54);
  backdrop-filter:blur(24px) saturate(1.08);
  -webkit-backdrop-filter:blur(24px) saturate(1.08);
  transition:opacity .68s cubic-bezier(.22,1,.36,1);
  will-change:opacity;
}
.story-modal-panel {
  z-index:1;
  width:min(92vw,920px);
  max-height:min(84svh,860px);
  overflow:auto;
  padding:clamp(50px,7vw,92px) clamp(30px,7vw,88px) clamp(46px,6vw,76px);
  border:1px solid rgba(255,255,255,.13);
  border-radius:clamp(28px,3vw,42px);
  background:
    radial-gradient(circle at 82% 0%,rgba(252,40,114,.09),transparent 34%),
    linear-gradient(145deg,rgba(35,18,24,.985),rgba(18,11,14,.985));
  color:#fff;
  box-shadow:
    0 55px 160px rgba(0,0,0,.58),
    inset 0 1px 0 rgba(255,255,255,.06);
  opacity:0;
  transform:translate3d(0,42px,0) rotateX(2.2deg) scale(.965);
  transform-origin:50% 72%;
  filter:none;
  transition:
    transform .82s cubic-bezier(.16,1,.3,1),
    opacity .48s cubic-bezier(.22,1,.36,1),
    box-shadow .82s cubic-bezier(.16,1,.3,1);
  will-change:transform,opacity;
}
.story-modal-panel::before {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-radius:inherit;
  background:linear-gradient(115deg,transparent 24%,rgba(255,255,255,.075) 48%,transparent 70%);
  transform:translateX(-130%);
  opacity:0;
}
.story-modal-close {
  top:clamp(18px,2.4vw,28px);
  right:clamp(18px,2.4vw,28px);
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border:1px solid rgba(255,255,255,.12);
  color:rgba(255,255,255,.82);
  background:rgba(255,255,255,.055);
  font-size:1.55rem;
  font-weight:300;
  transition:
    transform .32s cubic-bezier(.22,1,.36,1),
    color .25s ease,
    background .25s ease,
    border-color .25s ease;
}
.story-modal-close:hover,
.story-modal-close:focus-visible {
  transform:scale(1.06);
  color:#fff;
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.2);
  outline:none;
}
.story-modal-kicker {
  margin:0 0 clamp(22px,3vw,32px);
  color:#c4a4ae;
  font-size:.76rem;
  font-weight:650;
  letter-spacing:.2em;
  opacity:0;
  transform:translateY(14px);
  transition:opacity .46s ease .12s,transform .68s cubic-bezier(.16,1,.3,1) .12s;
}
.story-modal-panel h2 {
  max-width:760px;
  margin:0 0 clamp(30px,4vw,44px);
  color:#fff;
  font-size:clamp(3.35rem,7vw,6.9rem);
  line-height:.86;
  font-weight:500;
  letter-spacing:-.052em;
  text-wrap:balance;
  opacity:0;
  transform:translateY(24px);
  transition:opacity .5s ease .18s,transform .76s cubic-bezier(.16,1,.3,1) .18s;
}
.story-modal-body {
  max-width:700px;
  color:rgba(255,255,255,.66);
  font-size:clamp(1.04rem,1.45vw,1.24rem);
  line-height:1.7;
  opacity:0;
  transform:translateY(22px);
  transition:opacity .52s ease .28s,transform .76s cubic-bezier(.16,1,.3,1) .28s;
}
.story-modal-body p { margin:0; }
.story-modal-body p+p {
  margin-top:1.15em;
  padding-top:1.15em;
  border-top:1px solid rgba(255,255,255,.09);
}
.story-modal-body strong { color:#fff; }
.story-modal.is-open {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition-delay:0s;
}
.story-modal.is-open .story-modal-backdrop { opacity:1; }
.story-modal.is-open .story-modal-panel {
  opacity:1;
  transform:translate3d(0,0,0) rotateX(0) scale(1);
  box-shadow:
    0 65px 180px rgba(0,0,0,.62),
    inset 0 1px 0 rgba(255,255,255,.07);
}
.story-modal.is-open .story-modal-panel::before {
  animation:storyModalSheen 1.05s cubic-bezier(.22,1,.36,1) .16s both;
}
.story-modal.is-open .story-modal-kicker,
.story-modal.is-open .story-modal-panel h2,
.story-modal.is-open .story-modal-body {
  opacity:1;
  transform:translateY(0);
}
.story-modal.is-closing {
  opacity:0;
  transition-duration:.42s;
  transition-delay:0s;
}
.story-modal.is-closing .story-modal-backdrop {
  opacity:0;
  transition-duration:.42s;
}
.story-modal.is-closing .story-modal-panel {
  opacity:0;
  transform:translate3d(0,20px,0) scale(.985);
  transition-duration:.42s;
}
.story-modal.is-closing .story-modal-kicker,
.story-modal.is-closing .story-modal-panel h2,
.story-modal.is-closing .story-modal-body {
  opacity:0;
  transform:translateY(10px);
  transition-delay:0s;
  transition-duration:.22s;
}
@keyframes storyModalSheen {
  0% { opacity:0; transform:translateX(-130%); }
  22% { opacity:1; }
  100% { opacity:0; transform:translateX(130%); }
}
@media(max-width:700px){
  .story-modal { align-items:end; padding:10px; }
  .story-modal-panel {
    width:100%;
    max-height:89svh;
    padding:64px 26px 38px;
    border-radius:30px 30px 20px 20px;
    transform:translate3d(0,54px,0) scale(.985);
    transform-origin:50% 100%;
  }
  .story-modal-panel h2 { font-size:clamp(3.25rem,15vw,5.1rem); }
  .story-modal-body { font-size:1.03rem; }
}
@media(prefers-reduced-motion:reduce){
  .story-modal,
  .story-modal-backdrop,
  .story-modal-panel,
  .story-modal-kicker,
  .story-modal-panel h2,
  .story-modal-body,
  .story-modal-close { transition-duration:.01ms!important; transition-delay:0s!important; }
  .story-modal-panel::before { animation:none!important; }
}

/* Cherry - fenêtre éditoriale finale (Explorer / Habiter / Revenir uniquement).
   Deux couches séparées évitent l'apparition brutale du blur dans Safari. */
.cherry-page-refined .story-modal {
  opacity:1;
  visibility:hidden;
  pointer-events:none;
  perspective:none;
  transition:visibility 0s linear .7s;
}
.cherry-page-refined .story-modal.is-mounted {
  visibility:visible;
  transition-delay:0s;
}
.cherry-page-refined .story-modal-backdrop {
  z-index:0;
  opacity:0;
  overflow:hidden;
  background:rgba(8,5,7,0);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  transition:background-color .56s cubic-bezier(.22,1,.36,1);
  will-change:background-color;
}
.cherry-page-refined .story-modal-backdrop::before {
  content:"";
  position:absolute;
  inset:-24px;
  opacity:0;
  background:rgba(8,5,7,.12);
  -webkit-backdrop-filter:blur(0px) saturate(1);
  backdrop-filter:blur(0px) saturate(1);
  transform:translateZ(0);
  transition:
    opacity .62s cubic-bezier(.22,1,.36,1),
    -webkit-backdrop-filter .72s cubic-bezier(.22,1,.36,1),
    backdrop-filter .72s cubic-bezier(.22,1,.36,1);
  will-change:opacity,backdrop-filter;
}
.cherry-page-refined .story-modal.is-dimmed .story-modal-backdrop {
  background:rgba(8,5,7,.56);
}
.cherry-page-refined .story-modal.is-blurred .story-modal-backdrop::before {
  opacity:1;
  -webkit-backdrop-filter:blur(18px) saturate(1.08);
  backdrop-filter:blur(18px) saturate(1.08);
}
.cherry-page-refined .story-modal-panel {
  z-index:1;
  width:min(92vw,880px);
  max-height:min(84svh,820px);
  overflow:auto;
  padding:clamp(56px,7vw,88px) clamp(34px,7vw,82px) clamp(48px,6vw,72px);
  border:1px solid rgba(196,164,174,.22);
  border-radius:clamp(26px,2.6vw,36px);
  outline:none !important;
  background:
    radial-gradient(circle at 88% 4%,rgba(184,0,55,.11),transparent 34%),
    linear-gradient(148deg,rgba(31,17,22,.985),rgba(15,10,12,.99));
  color:#fff;
  box-shadow:
    0 54px 150px rgba(0,0,0,.58),
    0 0 0 1px rgba(255,255,255,.025) inset,
    0 1px 0 rgba(255,255,255,.07) inset;
  opacity:0;
  transform:translate3d(0,34px,0) scale(.974);
  transform-origin:50% 58%;
  filter:none;
  transition:
    transform .78s cubic-bezier(.16,1,.3,1),
    opacity .46s cubic-bezier(.22,1,.36,1),
    box-shadow .78s cubic-bezier(.16,1,.3,1);
  will-change:transform,opacity;
}
.cherry-page-refined .story-modal-panel::before {
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  pointer-events:none;
  background:linear-gradient(120deg,transparent 28%,rgba(255,255,255,.055) 48%,transparent 68%);
  opacity:0;
  transform:translateX(-115%);
}
.cherry-page-refined .story-modal-close {
  top:22px;
  right:22px;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.11);
  border-radius:50%;
  color:rgba(255,255,255,.8);
  background:rgba(255,255,255,.045);
  outline:none;
  transition:transform .32s cubic-bezier(.22,1,.36,1),background .25s ease,border-color .25s ease,color .25s ease;
}
.cherry-page-refined .story-modal-close:hover,
.cherry-page-refined .story-modal-close:focus-visible {
  transform:rotate(5deg) scale(1.06);
  color:#fff;
  background:rgba(255,255,255,.095);
  border-color:rgba(255,255,255,.2);
}
.cherry-page-refined .story-modal-kicker {
  margin:0 0 clamp(20px,2.6vw,28px);
  color:#c4a4ae;
  font-size:.76rem;
  font-weight:650;
  letter-spacing:.22em;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .42s ease .12s,transform .66s cubic-bezier(.16,1,.3,1) .12s;
}
.cherry-page-refined .story-modal-panel h2 {
  max-width:720px;
  margin:0 0 clamp(32px,4vw,42px);
  color:#f8f3f4;
  font-size:clamp(3.3rem,6.8vw,6.6rem);
  line-height:.87;
  font-weight:500;
  letter-spacing:-.052em;
  text-wrap:balance;
  opacity:0;
  transform:translateY(20px);
  transition:opacity .46s ease .18s,transform .72s cubic-bezier(.16,1,.3,1) .18s;
}
.cherry-page-refined .story-modal-body {
  max-width:670px;
  color:rgba(248,243,244,.69);
  font-size:clamp(1.05rem,1.42vw,1.22rem);
  line-height:1.72;
  opacity:0;
  transform:translateY(18px);
  transition:opacity .48s ease .26s,transform .72s cubic-bezier(.16,1,.3,1) .26s;
}
.cherry-page-refined .story-modal-body p { margin:0; }
.cherry-page-refined .story-modal-body p+p {
  margin-top:1.3em;
  padding-top:1.3em;
  border-top:1px solid rgba(196,164,174,.14);
}
.cherry-page-refined .story-modal.is-open .story-modal-panel {
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}
.cherry-page-refined .story-modal.is-open .story-modal-panel::before {
  animation:storyModalSheenFinal 1.05s cubic-bezier(.22,1,.36,1) .1s both;
}
.cherry-page-refined .story-modal.is-open .story-modal-kicker,
.cherry-page-refined .story-modal.is-open .story-modal-panel h2,
.cherry-page-refined .story-modal.is-open .story-modal-body {
  opacity:1;
  transform:translateY(0);
}
.cherry-page-refined .story-modal.is-closing .story-modal-panel {
  opacity:0;
  transform:translate3d(0,18px,0) scale(.988);
  transition-duration:.36s;
}
.cherry-page-refined .story-modal.is-closing .story-modal-backdrop {
  background:rgba(8,5,7,0);
  transition-duration:.46s;
}
.cherry-page-refined .story-modal.is-closing .story-modal-backdrop::before {
  opacity:0;
  -webkit-backdrop-filter:blur(0px) saturate(1);
  backdrop-filter:blur(0px) saturate(1);
  transition-duration:.46s;
}
@keyframes storyModalSheenFinal {
  0%{opacity:0;transform:translateX(-115%)}
  25%{opacity:.72}
  100%{opacity:0;transform:translateX(115%)}
}
@media(max-width:700px){
  .cherry-page-refined .story-modal{align-items:end;padding:10px}
  .cherry-page-refined .story-modal-panel{
    width:100%;max-height:89svh;padding:64px 25px 36px;
    border-radius:28px 28px 18px 18px;
    transform:translate3d(0,44px,0) scale(.988);
    transform-origin:50% 100%;
  }
  .cherry-page-refined .story-modal-panel h2{font-size:clamp(3.15rem,14.5vw,5rem)}
  .cherry-page-refined .story-modal-body{font-size:1.02rem}
}
@media(prefers-reduced-motion:reduce){
  .cherry-page-refined .story-modal,
  .cherry-page-refined .story-modal-backdrop,
  .cherry-page-refined .story-modal-backdrop::before,
  .cherry-page-refined .story-modal-panel,
  .cherry-page-refined .story-modal-kicker,
  .cherry-page-refined .story-modal-panel h2,
  .cherry-page-refined .story-modal-body,
  .cherry-page-refined .story-modal-close{transition-duration:.01ms!important;transition-delay:0s!important}
  .cherry-page-refined .story-modal-panel::before{animation:none!important}
}

/* Cherry - popup éditoriale finale. Cette règle remplace uniquement le rendu
   d'Explorer / Habiter / Revenir, sans toucher au reste du site. */
.cherry-page-refined .story-modal {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .34s ease, visibility 0s linear .42s;
}
.cherry-page-refined .story-modal.is-mounted {
  visibility:visible;
  transition-delay:0s;
}
.cherry-page-refined .story-modal-backdrop {
  position:absolute;
  inset:0;
  opacity:0;
  background:rgba(10,6,8,.18);
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  transition:opacity .42s ease, background-color .42s ease;
}
.cherry-page-refined .story-modal-backdrop::before {
  content:"";
  position:absolute;
  inset:-20px;
  opacity:0;
  background:rgba(10,6,8,.38);
  -webkit-backdrop-filter:blur(18px) saturate(1.04);
  backdrop-filter:blur(18px) saturate(1.04);
  transform:translateZ(0);
  transition:opacity .5s cubic-bezier(.22,1,.36,1);
}
.cherry-page-refined .story-modal-panel {
  width:min(90vw,760px);
  max-height:min(84svh,760px);
  padding:clamp(54px,6vw,76px) clamp(32px,6vw,68px) clamp(46px,5vw,62px);
  border:1px solid rgba(255,255,255,.09);
  border-radius:clamp(22px,2.2vw,30px);
  background:rgba(22,13,17,.94);
  color:#f8f4f5;
  box-shadow:0 36px 110px rgba(0,0,0,.48), inset 0 1px 0 rgba(255,255,255,.055);
  opacity:0;
  transform:translate3d(0,22px,0) scale(.985);
  transition:opacity .34s ease, transform .58s cubic-bezier(.16,1,.3,1);
  outline:none!important;
}
.cherry-page-refined .story-modal-panel::before { display:none; }
.cherry-page-refined .story-modal-close {
  top:18px;
  right:18px;
  width:40px;
  height:40px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:50%;
  background:rgba(255,255,255,.045);
  color:rgba(255,255,255,.76);
  transition:background .2s ease, color .2s ease, transform .25s ease;
}
.cherry-page-refined .story-modal-close:hover,
.cherry-page-refined .story-modal-close:focus-visible {
  background:rgba(255,255,255,.1);
  color:#fff;
  transform:scale(1.04);
}
.cherry-page-refined .story-modal-kicker {
  margin:0 0 18px;
  color:#c6a9b2;
  font-size:.72rem;
  font-weight:650;
  letter-spacing:.21em;
  opacity:0;
  transform:translateY(8px);
  transition:opacity .3s ease .08s, transform .48s cubic-bezier(.16,1,.3,1) .08s;
}
.cherry-page-refined .story-modal-panel h2 {
  max-width:650px;
  margin:0 0 clamp(28px,3vw,36px);
  color:#fff;
  font-size:clamp(3rem,6vw,5.7rem);
  line-height:.9;
  letter-spacing:-.045em;
  font-weight:500;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .34s ease .13s, transform .52s cubic-bezier(.16,1,.3,1) .13s;
}
.cherry-page-refined .story-modal-body {
  max-width:620px;
  color:rgba(248,244,245,.7);
  font-size:clamp(1.02rem,1.3vw,1.16rem);
  line-height:1.7;
  opacity:0;
  transform:translateY(12px);
  transition:opacity .34s ease .19s, transform .52s cubic-bezier(.16,1,.3,1) .19s;
}
.cherry-page-refined .story-modal-body p { margin:0; }
.cherry-page-refined .story-modal-body p+p {
  margin-top:1.15em;
  padding-top:1.15em;
  border-top:1px solid rgba(255,255,255,.08);
}
.cherry-page-refined .story-modal.is-open {
  opacity:1;
  pointer-events:auto;
}
.cherry-page-refined .story-modal.is-open .story-modal-backdrop { opacity:1; }
.cherry-page-refined .story-modal.is-open .story-modal-backdrop::before { opacity:1; }
.cherry-page-refined .story-modal.is-open .story-modal-panel,
.cherry-page-refined .story-modal.is-open .story-modal-kicker,
.cherry-page-refined .story-modal.is-open .story-modal-panel h2,
.cherry-page-refined .story-modal.is-open .story-modal-body {
  opacity:1;
  transform:none;
}
.cherry-page-refined .story-modal.is-closing {
  opacity:0;
  pointer-events:none;
  transition-duration:.36s;
}
.cherry-page-refined .story-modal.is-closing .story-modal-panel {
  opacity:0;
  transform:translate3d(0,12px,0) scale(.992);
  transition-duration:.3s;
}
.cherry-page-refined .story-modal.is-closing .story-modal-backdrop::before { opacity:0; }
@media(max-width:700px){
  .cherry-page-refined .story-modal{align-items:end;padding:10px}
  .cherry-page-refined .story-modal-panel{
    width:100%;max-height:89svh;padding:58px 24px 34px;
    border-radius:26px 26px 16px 16px;
    transform:translate3d(0,30px,0) scale(.994);
  }
  .cherry-page-refined .story-modal-panel h2{font-size:clamp(3rem,14vw,4.7rem)}
}
@media(prefers-reduced-motion:reduce){
  .cherry-page-refined .story-modal,
  .cherry-page-refined .story-modal-backdrop,
  .cherry-page-refined .story-modal-backdrop::before,
  .cherry-page-refined .story-modal-panel,
  .cherry-page-refined .story-modal-kicker,
  .cherry-page-refined .story-modal-panel h2,
  .cherry-page-refined .story-modal-body{transition-duration:.01ms!important;transition-delay:0s!important}
}

/* Cherry - modal final, rapide et précomposé pour Safari.
   Le modal reste monté : le blur est constant et seule son opacité est animée. */
.cherry-page-refined .story-modal[hidden] { display:grid; }
.cherry-page-refined .story-modal {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 180ms ease-out, visibility 0s linear 220ms;
  contain:layout paint;
}
.cherry-page-refined .story-modal.is-ready { display:grid; }
.cherry-page-refined .story-modal.is-open {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity 180ms ease-out, visibility 0s;
}
.cherry-page-refined .story-modal.is-closing {
  opacity:0;
  visibility:visible;
  pointer-events:none;
  transition:opacity 220ms ease-in;
}
.cherry-page-refined .story-modal-backdrop {
  opacity:1;
  background:rgba(12,7,9,.43);
  -webkit-backdrop-filter:blur(16px) saturate(1.04);
  backdrop-filter:blur(16px) saturate(1.04);
  transform:translateZ(0);
  transition:none;
  will-change:opacity;
}
.cherry-page-refined .story-modal-backdrop::before { display:none; }
.cherry-page-refined .story-modal-panel {
  width:min(88vw,720px);
  max-height:min(82svh,720px);
  padding:clamp(48px,5.6vw,68px) clamp(30px,5.2vw,58px) clamp(40px,4.7vw,54px);
  border:1px solid rgba(255,255,255,.075);
  border-radius:clamp(18px,2vw,26px);
  background:linear-gradient(145deg,rgba(31,18,23,.985),rgba(19,12,15,.985));
  box-shadow:0 28px 90px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.045);
  opacity:0;
  transform:translate3d(0,12px,0) scale(.988);
  transition:opacity 160ms ease-out,transform 300ms cubic-bezier(.2,.8,.2,1);
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.cherry-page-refined .story-modal.is-open .story-modal-panel {
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}
.cherry-page-refined .story-modal.is-closing .story-modal-panel {
  opacity:0;
  transform:translate3d(0,8px,0) scale(.992);
  transition:opacity 140ms ease-in,transform 220ms ease-in;
}
.cherry-page-refined .story-modal-kicker,
.cherry-page-refined .story-modal-panel h2,
.cherry-page-refined .story-modal-body {
  opacity:1;
  transform:none;
  transition:none;
}
.cherry-page-refined .story-modal-kicker {
  margin-bottom:14px;
  color:#b994a0;
  letter-spacing:.18em;
}
.cherry-page-refined .story-modal-panel h2 {
  max-width:610px;
  margin-bottom:clamp(24px,3vw,32px);
  font-size:clamp(2.85rem,5.6vw,5.15rem);
  line-height:.92;
  letter-spacing:-.04em;
}
.cherry-page-refined .story-modal-body {
  max-width:590px;
  color:rgba(248,244,245,.72);
  font-size:clamp(1rem,1.2vw,1.13rem);
  line-height:1.64;
}
.cherry-page-refined .story-modal-body p+p {
  margin-top:1em;
  padding-top:1em;
  border-top:1px solid rgba(255,255,255,.075);
}
.cherry-page-refined .story-modal-close {
  top:16px;
  right:16px;
  width:38px;
  height:38px;
  background:rgba(255,255,255,.045);
  border-color:rgba(255,255,255,.08);
  transition:background-color 120ms ease,color 120ms ease,transform 120ms ease;
}
.cherry-page-refined .story-modal-close:hover,
.cherry-page-refined .story-modal-close:focus-visible {
  background:rgba(255,255,255,.095);
  transform:scale(1.03);
}
@media(max-width:700px){
  .cherry-page-refined .story-modal{align-items:end;padding:8px}
  .cherry-page-refined .story-modal-backdrop{
    -webkit-backdrop-filter:blur(12px) saturate(1.02);
    backdrop-filter:blur(12px) saturate(1.02);
  }
  .cherry-page-refined .story-modal-panel{
    width:100%;
    max-height:88svh;
    padding:54px 22px 30px;
    border-radius:24px 24px 14px 14px;
    transform:translate3d(0,18px,0) scale(.995);
  }
  .cherry-page-refined .story-modal-panel h2{font-size:clamp(2.85rem,13vw,4.4rem)}
}
@media(prefers-reduced-motion:reduce){
  .cherry-page-refined .story-modal,
  .cherry-page-refined .story-modal-panel{transition-duration:.01ms!important}
}

/* Cherry - modal final, rapide et précomposé pour Safari.
   Le modal reste monté : le blur est constant et seule son opacité est animée. */
.cherry-page-refined .story-modal[hidden] { display:grid; }
.cherry-page-refined .story-modal {
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity 180ms ease-out, visibility 0s linear 220ms;
  contain:layout paint;
}
.cherry-page-refined .story-modal.is-ready { display:grid; }
.cherry-page-refined .story-modal.is-open {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transition:opacity 180ms ease-out, visibility 0s;
}
.cherry-page-refined .story-modal.is-closing {
  opacity:0;
  visibility:visible;
  pointer-events:none;
  transition:opacity 220ms ease-in;
}
.cherry-page-refined .story-modal-backdrop {
  opacity:1;
  background:rgba(12,7,9,.43);
  -webkit-backdrop-filter:blur(16px) saturate(1.04);
  backdrop-filter:blur(16px) saturate(1.04);
  transform:translateZ(0);
  transition:none;
  will-change:opacity;
}
.cherry-page-refined .story-modal-backdrop::before { display:none; }
.cherry-page-refined .story-modal-panel {
  width:min(88vw,720px);
  max-height:min(82svh,720px);
  padding:clamp(48px,5.6vw,68px) clamp(30px,5.2vw,58px) clamp(40px,4.7vw,54px);
  border:1px solid rgba(255,255,255,.075);
  border-radius:clamp(18px,2vw,26px);
  background:linear-gradient(145deg,rgba(31,18,23,.985),rgba(19,12,15,.985));
  box-shadow:0 28px 90px rgba(0,0,0,.44),inset 0 1px 0 rgba(255,255,255,.045);
  opacity:0;
  transform:translate3d(0,12px,0) scale(.988);
  transition:opacity 160ms ease-out,transform 300ms cubic-bezier(.2,.8,.2,1);
  overflow:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.cherry-page-refined .story-modal.is-open .story-modal-panel {
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
}
.cherry-page-refined .story-modal.is-closing .story-modal-panel {
  opacity:0;
  transform:translate3d(0,8px,0) scale(.992);
  transition:opacity 140ms ease-in,transform 220ms ease-in;
}
.cherry-page-refined .story-modal-kicker,
.cherry-page-refined .story-modal-panel h2,
.cherry-page-refined .story-modal-body {
  opacity:1;
  transform:none;
  transition:none;
}
.cherry-page-refined .story-modal-kicker {
  margin-bottom:14px;
  color:#b994a0;
  letter-spacing:.18em;
}
.cherry-page-refined .story-modal-panel h2 {
  max-width:610px;
  margin-bottom:clamp(24px,3vw,32px);
  font-size:clamp(2.85rem,5.6vw,5.15rem);
  line-height:.92;
  letter-spacing:-.04em;
}
.cherry-page-refined .story-modal-body {
  max-width:590px;
  color:rgba(248,244,245,.72);
  font-size:clamp(1rem,1.2vw,1.13rem);
  line-height:1.64;
}
.cherry-page-refined .story-modal-body p+p {
  margin-top:1em;
  padding-top:1em;
  border-top:1px solid rgba(255,255,255,.075);
}
.cherry-page-refined .story-modal-close {
  top:16px;
  right:16px;
  width:38px;
  height:38px;
  background:rgba(255,255,255,.045);
  border-color:rgba(255,255,255,.08);
  transition:background-color 120ms ease,color 120ms ease,transform 120ms ease;
}
.cherry-page-refined .story-modal-close:hover,
.cherry-page-refined .story-modal-close:focus-visible {
  background:rgba(255,255,255,.095);
  transform:scale(1.03);
}
@media(max-width:700px){
  .cherry-page-refined .story-modal{align-items:end;padding:8px}
  .cherry-page-refined .story-modal-backdrop{
    -webkit-backdrop-filter:blur(12px) saturate(1.02);
    backdrop-filter:blur(12px) saturate(1.02);
  }
  .cherry-page-refined .story-modal-panel{
    width:100%;
    max-height:88svh;
    padding:54px 22px 30px;
    border-radius:24px 24px 14px 14px;
    transform:translate3d(0,18px,0) scale(.995);
  }
  .cherry-page-refined .story-modal-panel h2{font-size:clamp(2.85rem,13vw,4.4rem)}
}
@media(prefers-reduced-motion:reduce){
  .cherry-page-refined .story-modal,
  .cherry-page-refined .story-modal-panel{transition-duration:.01ms!important}
}

/* Cherry - popup éditoriale, sobre et cohérente avec le site.
   Aucun effet de carte : le contenu devient une scène plein écran. */
.cherry-page-refined {
  --story-ease: cubic-bezier(.22,1,.36,1);
}

/* Safari anime mieux le filtre du contenu que backdrop-filter. */
.cherry-page-refined > header,
.cherry-page-refined > main,
.cherry-page-refined > footer {
  transition: filter 420ms var(--story-ease), transform 520ms var(--story-ease), opacity 320ms ease;
  transform-origin: 50% 50%;
}
.cherry-page-refined.modal-open > header,
.cherry-page-refined.modal-open > main,
.cherry-page-refined.modal-open > footer {
  filter: blur(10px) saturate(.84) brightness(.66);
  transform: scale(.992);
}

.cherry-page-refined .story-modal[hidden] { display:grid; }
.cherry-page-refined .story-modal {
  position:fixed;
  inset:0;
  z-index:1200;
  display:grid;
  place-items:center;
  padding:clamp(24px,5vw,72px);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  background:rgba(10,6,8,0);
  transition:background-color 360ms ease, opacity 220ms ease, visibility 0s linear 420ms;
  contain:layout paint;
}
.cherry-page-refined .story-modal.is-open {
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  background:rgba(10,6,8,.48);
  transition:background-color 360ms ease, opacity 200ms ease, visibility 0s;
}
.cherry-page-refined .story-modal.is-closing {
  opacity:0;
  visibility:visible;
  pointer-events:none;
  background:rgba(10,6,8,0);
  transition:background-color 260ms ease, opacity 230ms ease;
}
.cherry-page-refined .story-modal-backdrop {
  position:absolute;
  inset:0;
  background:transparent;
  -webkit-backdrop-filter:none;
  backdrop-filter:none;
  opacity:1;
}

.cherry-page-refined .story-modal-panel {
  position:relative;
  width:min(1120px,calc(100vw - 48px));
  max-height:min(78svh,760px);
  overflow:auto;
  overscroll-behavior:contain;
  padding:clamp(58px,7vw,96px) clamp(38px,7.4vw,96px) clamp(52px,6vw,82px);
  border:0;
  border-radius:0;
  background:linear-gradient(180deg,rgba(22,13,17,.96),rgba(14,9,11,.98));
  box-shadow:0 44px 120px rgba(0,0,0,.48);
  opacity:0;
  transform:translate3d(0,32px,0) scale(.985);
  clip-path:inset(8% 0 8% 0);
  transition:
    opacity 240ms ease,
    transform 560ms var(--story-ease),
    clip-path 620ms var(--story-ease);
}
.cherry-page-refined .story-modal-panel::after {
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  border-top:1px solid rgba(255,255,255,.12);
  border-bottom:1px solid rgba(255,255,255,.08);
}
.cherry-page-refined .story-modal.is-open .story-modal-panel {
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  clip-path:inset(0 0 0 0);
}
.cherry-page-refined .story-modal.is-closing .story-modal-panel {
  opacity:0;
  transform:translate3d(0,16px,0) scale(.992);
  clip-path:inset(3% 0 3% 0);
  transition-duration:180ms,280ms,280ms;
}

.cherry-page-refined .story-modal-kicker {
  margin:0 0 clamp(22px,3vw,34px);
  color:#b98c9a;
  font-size:.82rem;
  font-weight:600;
  letter-spacing:.22em;
  text-transform:uppercase;
}
.cherry-page-refined .story-modal-panel h2 {
  max-width:900px;
  margin:0;
  color:#f6f0f2;
  font-size:clamp(4rem,8vw,8.5rem);
  font-weight:400;
  line-height:.86;
  letter-spacing:-.055em;
  text-wrap:balance;
}
.cherry-page-refined .story-modal-body {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:clamp(28px,5vw,74px);
  max-width:980px;
  margin-top:clamp(46px,6vw,76px);
  padding-top:clamp(26px,3vw,38px);
  border-top:1px solid rgba(255,255,255,.12);
  color:rgba(246,240,242,.7);
  font-size:clamp(1rem,1.3vw,1.2rem);
  line-height:1.62;
}
.cherry-page-refined .story-modal-body p,
.cherry-page-refined .story-modal-body p+p {
  margin:0;
  padding:0;
  border:0;
}
.cherry-page-refined .story-modal-close {
  position:absolute;
  top:clamp(20px,3vw,32px);
  right:clamp(22px,3.2vw,38px);
  z-index:2;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
  background:transparent;
  color:rgba(255,255,255,.76);
  font-size:1.35rem;
  line-height:1;
  cursor:pointer;
  transition:transform 220ms var(--story-ease),border-color 180ms ease,color 180ms ease,background-color 180ms ease;
}
.cherry-page-refined .story-modal-close:hover,
.cherry-page-refined .story-modal-close:focus-visible {
  transform:rotate(90deg);
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.06);
  color:#fff;
  outline:none;
}

/* Contenu en retard très léger : lisible, mais jamais théâtral. */
.cherry-page-refined .story-modal-kicker,
.cherry-page-refined .story-modal-panel h2,
.cherry-page-refined .story-modal-body {
  opacity:0;
  transform:translateY(18px);
  transition:opacity 360ms ease,transform 560ms var(--story-ease);
}
.cherry-page-refined .story-modal.is-open .story-modal-kicker,
.cherry-page-refined .story-modal.is-open .story-modal-panel h2,
.cherry-page-refined .story-modal.is-open .story-modal-body {
  opacity:1;
  transform:translateY(0);
}
.cherry-page-refined .story-modal.is-open .story-modal-panel h2 { transition-delay:55ms; }
.cherry-page-refined .story-modal.is-open .story-modal-body { transition-delay:105ms; }

@media(max-width:760px){
  .cherry-page-refined .story-modal{padding:0;place-items:stretch}
  .cherry-page-refined .story-modal-panel{
    width:100%;
    min-height:100svh;
    max-height:100svh;
    padding:84px 24px 44px;
    transform:translate3d(0,28px,0);
  }
  .cherry-page-refined .story-modal-panel h2{
    font-size:clamp(3.55rem,17vw,6rem);
    line-height:.9;
  }
  .cherry-page-refined .story-modal-body{
    grid-template-columns:1fr;
    gap:20px;
    margin-top:42px;
    padding-top:24px;
  }
  .cherry-page-refined.modal-open > header,
  .cherry-page-refined.modal-open > main,
  .cherry-page-refined.modal-open > footer{
    filter:blur(7px) saturate(.86) brightness(.62);
    transform:scale(.996);
  }
}

@media(prefers-reduced-motion:reduce){
  .cherry-page-refined > header,
  .cherry-page-refined > main,
  .cherry-page-refined > footer,
  .cherry-page-refined .story-modal,
  .cherry-page-refined .story-modal-panel,
  .cherry-page-refined .story-modal-kicker,
  .cherry-page-refined .story-modal-panel h2,
  .cherry-page-refined .story-modal-body,
  .cherry-page-refined .story-modal-close{
    transition-duration:.01ms!important;
    transition-delay:0s!important;
  }
}

/* HOTFIX - Story modal visibility and Safari stability.
   Intentionally isolated to Cherry's Explorer / Habiter / Revenir modal. */
body.cherry-page-refined .story-modal {
  display: grid !important;
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483000 !important;
  place-items: center !important;
  padding: clamp(18px, 4vw, 56px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  background: rgba(10, 6, 8, 0) !important;
  transition: opacity 180ms ease, background-color 260ms ease, visibility 0s linear 280ms !important;
  isolation: isolate !important;
  contain: none !important;
}
body.cherry-page-refined .story-modal.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  background: rgba(10, 6, 8, .56) !important;
  transition: opacity 180ms ease, background-color 260ms ease, visibility 0s !important;
}
body.cherry-page-refined .story-modal.is-closing {
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
  background: rgba(10, 6, 8, 0) !important;
}
body.cherry-page-refined .story-modal-backdrop {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: transparent !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
body.cherry-page-refined .story-modal-panel {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: min(980px, calc(100vw - 40px)) !important;
  max-height: min(82svh, 760px) !important;
  overflow: auto !important;
  padding: clamp(54px, 6vw, 82px) clamp(34px, 6.5vw, 76px) clamp(46px, 5vw, 66px) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 28px !important;
  background: linear-gradient(180deg, rgba(25,15,19,.985), rgba(14,9,11,.99)) !important;
  box-shadow: 0 34px 100px rgba(0,0,0,.52) !important;
  opacity: 0 !important;
  visibility: visible !important;
  filter: none !important;
  clip-path: none !important;
  transform: translate3d(0, 20px, 0) scale(.99) !important;
  transition: opacity 180ms ease, transform 360ms cubic-bezier(.22,1,.36,1) !important;
  will-change: transform, opacity !important;
}
body.cherry-page-refined .story-modal.is-open .story-modal-panel {
  opacity: 1 !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}
body.cherry-page-refined .story-modal.is-closing .story-modal-panel {
  opacity: 0 !important;
  transform: translate3d(0, 10px, 0) scale(.995) !important;
}
body.cherry-page-refined .story-modal-panel::before,
body.cherry-page-refined .story-modal-panel::after {
  display: none !important;
}
body.cherry-page-refined .story-modal-kicker,
body.cherry-page-refined .story-modal-panel h2,
body.cherry-page-refined .story-modal-body {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
  filter: none !important;
}
body.cherry-page-refined .story-modal-kicker {
  margin: 0 0 20px !important;
  color: #b98c9a !important;
  font-size: .78rem !important;
  font-weight: 600 !important;
  letter-spacing: .2em !important;
  text-transform: uppercase !important;
}
body.cherry-page-refined .story-modal-panel h2 {
  max-width: 760px !important;
  margin: 0 !important;
  color: #f7f1f3 !important;
  font-size: clamp(3.5rem, 7vw, 7.4rem) !important;
  font-weight: 400 !important;
  line-height: .9 !important;
  letter-spacing: -.045em !important;
}
body.cherry-page-refined .story-modal-body {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: clamp(24px, 4vw, 54px) !important;
  margin-top: clamp(34px, 4vw, 52px) !important;
  padding-top: 26px !important;
  border-top: 1px solid rgba(255,255,255,.1) !important;
  color: rgba(247,241,243,.72) !important;
  font-size: clamp(1rem, 1.25vw, 1.16rem) !important;
  line-height: 1.62 !important;
}
body.cherry-page-refined .story-modal-close {
  z-index: 3 !important;
}
body.cherry-page-refined.modal-open > header,
body.cherry-page-refined.modal-open > main,
body.cherry-page-refined.modal-open > footer {
  filter: blur(8px) saturate(.88) brightness(.66) !important;
  transform: scale(.996) !important;
}
@media (max-width: 760px) {
  body.cherry-page-refined .story-modal {
    place-items: end stretch !important;
    padding: 8px !important;
  }
  body.cherry-page-refined .story-modal-panel {
    width: 100% !important;
    max-height: 90svh !important;
    border-radius: 24px !important;
    padding: 58px 24px 34px !important;
  }
  body.cherry-page-refined .story-modal-panel h2 {
    font-size: clamp(3rem, 14vw, 4.8rem) !important;
  }
  body.cherry-page-refined .story-modal-body {
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }
}


/* Isolated story overlay: Explorer / Habiter / Revenir */
body.cherry-page-refined > header,
body.cherry-page-refined > main,
body.cherry-page-refined > footer {
  transition: filter 300ms cubic-bezier(.2,.75,.25,1), transform 340ms cubic-bezier(.2,.75,.25,1);
  transform-origin: 50% 50%;
}
body.cherry-page-refined.pg-story-active > header,
body.cherry-page-refined.pg-story-active > main,
body.cherry-page-refined.pg-story-active > footer {
  filter: blur(7px) saturate(.9) brightness(.66);
  transform: scale(.997);
}
.pg-story-overlay {
  position: fixed;
  inset: 0;
  z-index: 2147483600;
  display: grid;
  place-items: center;
  padding: clamp(18px, 4vw, 56px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  background: rgba(8,5,7,0);
  transition: opacity 170ms ease, background-color 260ms ease, visibility 0s linear 340ms;
}
.pg-story-overlay.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  background: rgba(8,5,7,.5);
  transition: opacity 170ms ease, background-color 260ms ease, visibility 0s;
}
.pg-story-overlay.is-closing {
  opacity: 0;
  visibility: visible;
  pointer-events: none;
}
.pg-story-backdrop {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
  padding: 0;
  background: transparent;
}
.pg-story-dialog {
  position: relative;
  z-index: 1;
  width: min(980px, calc(100vw - 40px));
  max-height: min(82svh, 760px);
  overflow: auto;
  padding: clamp(56px,6vw,84px) clamp(36px,6.5vw,78px) clamp(48px,5vw,68px);
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 26px;
  background: linear-gradient(180deg,#1a1014 0%,#100a0d 100%);
  box-shadow: 0 40px 120px rgba(0,0,0,.55);
  opacity: 0;
  transform: translate3d(0,18px,0) scale(.987);
  transition: opacity 170ms ease, transform 400ms cubic-bezier(.22,1,.36,1);
  outline: none;
}
.pg-story-overlay.is-open .pg-story-dialog {
  opacity: 1;
  transform: translate3d(0,0,0) scale(1);
}
.pg-story-overlay.is-closing .pg-story-dialog {
  opacity: 0;
  transform: translate3d(0,8px,0) scale(.994);
  transition-duration: 150ms,240ms;
}
.pg-story-close {
  position: absolute;
  top: 22px;
  right: 24px;
  display: grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.035);
  color: rgba(255,255,255,.82);
  font: inherit;
  font-size: 1.25rem;
  cursor: pointer;
}
.pg-story-kicker {
  margin: 0 0 18px;
  color: #b88b98;
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.pg-story-dialog h2 {
  max-width: 800px;
  margin: 0;
  color: #f6f0f2;
  font-size: clamp(3.6rem,7vw,7.2rem);
  font-weight: 400;
  line-height: .9;
  letter-spacing: -.045em;
  text-wrap: balance;
}
.pg-story-copy {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: clamp(26px,4vw,56px);
  margin-top: clamp(38px,5vw,58px);
  padding-top: 28px;
  border-top: 1px solid rgba(255,255,255,.1);
  color: rgba(246,240,242,.72);
  font-size: clamp(1rem,1.2vw,1.15rem);
  line-height: 1.65;
}
.pg-story-copy p { margin: 0; }
@media (max-width:760px) {
  .pg-story-overlay { place-items: end stretch; padding: 8px; }
  .pg-story-dialog {
    width: 100%;
    max-height: 90svh;
    padding: 60px 24px 34px;
    border-radius: 24px;
  }
  .pg-story-dialog h2 { font-size: clamp(3rem,14vw,4.8rem); }
  .pg-story-copy { grid-template-columns: 1fr; gap: 18px; }
}
@media (prefers-reduced-motion:reduce) {
  body.cherry-page-refined > header,
  body.cherry-page-refined > main,
  body.cherry-page-refined > footer,
  .pg-story-overlay,
  .pg-story-dialog { transition-duration: .01ms !important; }
}

/* ROOT FIX - Explorer / Habiter / Revenir
   The overlay is now a direct child of <body>, outside <main>.
   This avoids CSS filter/containing-block behavior that blurred and hid the dialog. */
body.cherry-page-refined.pg-story-active > header,
body.cherry-page-refined.pg-story-active > main,
body.cherry-page-refined.pg-story-active > footer {
  filter: none !important;
  transform: none !important;
}

body.cherry-page-refined .pg-story-overlay {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147483646 !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(18px, 4vw, 56px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  isolation: isolate !important;
  background: rgba(8, 5, 7, 0) !important;
  transition:
    opacity 180ms ease,
    background-color 240ms ease,
    visibility 0s linear 260ms !important;
}
body.cherry-page-refined .pg-story-overlay.is-open {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  background: rgba(8, 5, 7, .34) !important;
  transition:
    opacity 180ms ease,
    background-color 240ms ease,
    visibility 0s !important;
}
body.cherry-page-refined .pg-story-overlay.is-closing {
  opacity: 0 !important;
  visibility: visible !important;
  pointer-events: none !important;
}
body.cherry-page-refined .pg-story-backdrop {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: rgba(8, 5, 7, .28) !important;
  -webkit-backdrop-filter: blur(18px) saturate(.88) !important;
  backdrop-filter: blur(18px) saturate(.88) !important;
  opacity: 1 !important;
}
body.cherry-page-refined .pg-story-dialog {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: min(920px, calc(100vw - 40px)) !important;
  max-height: min(82svh, 740px) !important;
  overflow: auto !important;
  margin: 0 !important;
  padding: clamp(54px, 6vw, 82px) clamp(34px, 6.5vw, 76px) clamp(46px, 5vw, 66px) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg, rgba(26,16,20,.985), rgba(14,9,12,.99)) !important;
  box-shadow: 0 42px 130px rgba(0,0,0,.58) !important;
  opacity: 0 !important;
  visibility: visible !important;
  filter: none !important;
  clip-path: none !important;
  transform: translate3d(0, 20px, 0) scale(.985) !important;
  transform-origin: 50% 50% !important;
  transition:
    opacity 170ms ease,
    transform 420ms cubic-bezier(.22,1,.36,1) !important;
  outline: none !important;
}
body.cherry-page-refined .pg-story-overlay.is-open .pg-story-dialog {
  opacity: 1 !important;
  transform: translate3d(0,0,0) scale(1) !important;
}
body.cherry-page-refined .pg-story-overlay.is-closing .pg-story-dialog {
  opacity: 0 !important;
  transform: translate3d(0, 8px, 0) scale(.992) !important;
  transition-duration: 130ms, 220ms !important;
}
body.cherry-page-refined .pg-story-dialog::before,
body.cherry-page-refined .pg-story-dialog::after { display:none !important; }
body.cherry-page-refined .pg-story-close {
  position: absolute !important;
  top: 20px !important;
  right: 22px !important;
  z-index: 3 !important;
  display: grid !important;
  place-items: center !important;
  width: 42px !important;
  height: 42px !important;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.045) !important;
  color: rgba(255,255,255,.86) !important;
  opacity: 1 !important;
  cursor: pointer !important;
}
body.cherry-page-refined .pg-story-kicker {
  display:block !important;
  margin:0 0 18px !important;
  color:#b88b98 !important;
  opacity:1 !important;
  transform:none !important;
  font-size:.78rem !important;
  font-weight:600 !important;
  letter-spacing:.2em !important;
  text-transform:uppercase !important;
}
body.cherry-page-refined .pg-story-dialog h2 {
  display:block !important;
  max-width:800px !important;
  margin:0 !important;
  color:#f6f0f2 !important;
  opacity:1 !important;
  transform:none !important;
  font-size:clamp(3.5rem, 7vw, 6.8rem) !important;
  font-weight:400 !important;
  line-height:.91 !important;
  letter-spacing:-.045em !important;
}
body.cherry-page-refined .pg-story-copy {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:clamp(24px,4vw,52px) !important;
  margin-top:clamp(36px,5vw,54px) !important;
  padding-top:26px !important;
  border-top:1px solid rgba(255,255,255,.1) !important;
  color:rgba(246,240,242,.74) !important;
  opacity:1 !important;
  transform:none !important;
  font-size:clamp(1rem,1.2vw,1.14rem) !important;
  line-height:1.65 !important;
}
body.cherry-page-refined .pg-story-copy p { margin:0 !important; }
@media (max-width:760px) {
  body.cherry-page-refined .pg-story-overlay {
    place-items:end stretch !important;
    padding:8px !important;
  }
  body.cherry-page-refined .pg-story-dialog {
    width:100% !important;
    max-height:90svh !important;
    padding:58px 24px 34px !important;
    border-radius:24px !important;
  }
  body.cherry-page-refined .pg-story-dialog h2 {
    font-size:clamp(3rem,14vw,4.7rem) !important;
  }
  body.cherry-page-refined .pg-story-copy {
    grid-template-columns:1fr !important;
    gap:18px !important;
  }
}


/* Stable black browser canvas. Page surfaces keep their original colours explicitly. */
body > main { background: var(--paper); }
body.product-page > main { background: #000; }

/* Initial loading veil: short, brand-led and removed after critical assets are ready. */
.pg-loader {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  background: #000;
  opacity: 1;
  visibility: visible;
  transition: opacity .48s cubic-bezier(.22,1,.36,1), visibility 0s linear .48s;
  contain: strict;
  /* CSS-only fail-safe if the external loader script is delayed or never runs. */
  animation: pg-loader-failsafe 0s linear 2s forwards;
}
.pg-loader.is-leaving { opacity: 0; visibility: hidden; pointer-events: none; }
.pg-loader__mark { position: relative; width: 96px; height: 96px; display:grid; place-items:center; }
.pg-loader__mark img {
  width: 58px;
  height: 58px;
  object-fit: contain;
  image-rendering: pixelated;
  position: relative;
  z-index: 2;
  animation: pg-loader-mark 1.45s ease-in-out infinite;
}
.pg-loader__ring {
  position: absolute;
  inset: 0;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.13);
  border-top-color: rgba(252,40,114,.95);
  border-right-color: rgba(126,28,57,.7);
  animation: pg-loader-spin 1.05s linear infinite;
}
.pg-loader__ring::after {
  content:"";
  position:absolute;
  inset:9px;
  border-radius:inherit;
  border:1px solid rgba(255,255,255,.055);
}
@keyframes pg-loader-spin { to { transform: rotate(360deg); } }
@keyframes pg-loader-mark { 50% { transform: scale(.965); opacity:.82; } }
@keyframes pg-loader-failsafe {
  to { opacity: 0; visibility: hidden; pointer-events: none; }
}
@media (prefers-reduced-motion: reduce) {
  .pg-loader__ring, .pg-loader__mark img { animation: none; }
  .pg-loader { transition-duration: .15s; }
}

/* ===== Production canvas and explicit page surfaces =====
   The browser canvas/body is always Pinegrove dark. Visible page surfaces are
   explicit, so no light section depends on the body background. */
:root { --site-canvas: #160a10; }
html { background-color: var(--site-canvas); }
body {
  background-color: var(--site-canvas);
  color: var(--ink);
}
body.site-light > main { background-color: var(--paper); }
body.site-dark > main { background-color: #12090d; }
body.home-page > main { background-color: var(--site-canvas); }
body.application-page > main,
body.rules-page > main,
body.legal-page > main,
body.error-document > main { background-color: var(--paper); }
body.product-page > main { background-color: #12090d; }
.error-page { background-color: var(--paper); }


/* 2026-07-14 - Canonical Pinegrove header treatment on every page. */
.site-header.home-header{background:linear-gradient(180deg,rgba(12,5,9,.48) 0%,rgba(12,5,9,.16) 58%,transparent 100%);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none;color:#fff}
.site-header.home-header.is-scrolled{background:rgba(22,10,16,.84);-webkit-backdrop-filter:blur(18px) saturate(1.28);backdrop-filter:blur(18px) saturate(1.28);box-shadow:0 1px 0 rgba(255,255,255,.08);color:#fff}
.site-header.home-header .primary-nav a{color:rgba(255,255,255,.86)}
.site-header.home-header .primary-nav a:hover{color:#fff}
.site-header.home-header .primary-nav .nav-cta{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.06);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}


/* RC4 responsive inline-arrow sizing: preserve desktop, prevent oversized arrows on touch layouts. */
@media (min-width: 700px) and (max-width: 1100px) {
  .brand-link .text-arrow-svg,
  .text-link .ui-arrow-svg {
    width: 15px;
    height: 15px;
  }
}

@media (max-width: 699px) {
  .brand-link .text-arrow-svg,
  .text-link .ui-arrow-svg {
    width: 14px;
    height: 14px;
  }
}
