@font-face{font-family:"Urbanist";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/urbanist-latin-wght-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Urbanist";font-style:normal;font-weight:100 900;font-display:swap;src:url(/assets/fonts/urbanist-latin-ext-wght-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:400;font-display:swap;src:url(/assets/fonts/newsreader-latin-400-italic.woff2) format("woff2")}
@font-face{font-family:"Newsreader";font-style:italic;font-weight:500;font-display:swap;src:url(/assets/fonts/newsreader-latin-500-italic.woff2) format("woff2")}

:root{
  --paper:#F5F3EE; --paper-2:#EDEAE2; --card:#FFFFFF;
  --ink:#15183B; --ink-2:#2A2E55; --ink-soft:#5B6090;
  --text:#2C3050; --muted:#62657F;
  --line:rgba(21,24,59,.12); --line-2:rgba(21,24,59,.22);
  --orange:#EF8221; --orange-text:#A9520A; --orange-soft:#FCEBDA;
  --blue:#3A8FE0; --blue-text:#2463A8; --violet:#7A4CF0; --lake:#DCE4EE;
  --on-ink:#F5F3EE; --on-ink-muted:rgba(245,243,238,.68); --ink-line:rgba(245,243,238,.14); --ink-card:#1E2250;
  --font:"Urbanist", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --serif:"Newsreader", Georgia, "Times New Roman", serif;
  --logo:url("/assets/img/logo.webp");
  color-scheme: light;
}
html{scroll-behavior:smooth;scroll-padding-top:88px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--paper);color:var(--text);font:400 1.0625rem/1.6 var(--font);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
h1,h2,h3,h4{color:var(--ink);font-weight:700;letter-spacing:-.02em;line-height:1.06;text-wrap:balance;margin:0}
p,ul,ol,dl,dd,figure,blockquote{margin:0}
a{color:inherit}
em,.serif{font-family:var(--serif);font-style:italic;font-weight:400;letter-spacing:-.01em}
.wrap{max-width:1240px;margin-inline:auto;padding-inline:clamp(16px,4vw,40px)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.eyebrow{display:flex;align-items:center;gap:.6em;font-size:.75rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orange);flex:none}
.on-ink .eyebrow{color:var(--on-ink-muted)}
:focus-visible{outline:2px solid var(--orange);outline-offset:3px;border-radius:6px}

/* aperçu */
.pv{background:var(--ink);color:var(--on-ink-muted);font-size:.8125rem;line-height:1.4}
.pv .wrap{display:flex;flex-wrap:wrap;gap:.35rem 1rem;align-items:center;justify-content:space-between;padding-block:.55rem}
.pv strong{color:var(--on-ink);font-weight:600}
.pv span:last-child{color:var(--on-ink-muted)}

/* boutons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;background:var(--ink);color:var(--paper);padding:.85rem 1.3rem;border-radius:999px;font:600 .9375rem/1 var(--font);text-decoration:none;border:0;cursor:pointer;transition:transform .2s ease,background-color .2s ease,box-shadow .2s ease;white-space:nowrap}
.btn:hover{background:#272B5C;transform:translateY(-1px)}
.btn svg{flex:none}
.btn--orange{background:var(--orange);color:var(--ink)}
.btn--orange:hover{background:#F39540}
.btn--line{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--line-2)}
.btn--line:hover{background:var(--card)}
.btn--sm{padding:.65rem 1.05rem;font-size:.875rem}
.on-ink .btn--line{color:var(--on-ink);box-shadow:inset 0 0 0 1.5px var(--ink-line)}
.on-ink .btn--line:hover{background:var(--ink-card)}
.tlink{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;color:var(--ink);text-decoration:none;border-bottom:1.5px solid var(--orange);padding-bottom:2px}
.tlink:hover{color:var(--orange-text)}

/* en-tête */
.hd{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:rgba(245,243,238,.86);-webkit-backdrop-filter:saturate(1.4) blur(14px);backdrop-filter:saturate(1.4) blur(14px);border-bottom:1px solid transparent;transition:border-color .3s}
.hd.scrolled{border-bottom-color:var(--line)}
.hd .wrap{display:flex;align-items:center;gap:1.25rem;height:70px;position:relative}
.brand{display:flex;align-items:center;gap:.6rem;font-weight:700;color:var(--ink);text-decoration:none;font-size:1.125rem;letter-spacing:-.01em;flex:none}
.brand i{width:34px;height:34px;background:var(--logo) center/contain no-repeat;display:block}
.nav{display:flex;gap:1.5rem;margin:0 0 0 auto;padding:0;list-style:none}
.nav a{text-decoration:none;font-size:.9375rem;font-weight:500;color:var(--ink-2);background:linear-gradient(var(--orange),var(--orange)) 0 100%/0 1.5px no-repeat;padding-bottom:3px;transition:background-size .25s}
.nav a:hover{background-size:100% 1.5px}
.hd-cta{display:flex;align-items:center;gap:.9rem;flex:none}
.phone{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;font-size:.9375rem;color:var(--ink);text-decoration:none;font-variant-numeric:tabular-nums}
.phone svg{color:var(--orange)}
.menu-btn{display:none;width:44px;height:44px;border-radius:50%;border:0;background:transparent;cursor:pointer;position:relative}
.menu-btn i,.menu-btn i::before,.menu-btn i::after{position:absolute;left:12px;width:20px;height:2px;background:var(--ink);border-radius:2px;content:"";transition:transform .25s,top .25s,opacity .2s}
.menu-btn i{top:21px}.menu-btn i::before{left:0;top:-6px}.menu-btn i::after{left:0;top:6px}
.menu-btn[aria-expanded="true"] i{background:transparent}
.menu-btn[aria-expanded="true"] i::before{top:0;transform:rotate(45deg)}
.menu-btn[aria-expanded="true"] i::after{top:0;transform:rotate(-45deg)}
@media (max-width:1120px){
  .nav{display:none;position:absolute;top:70px;left:0;right:0;flex-direction:column;gap:0;margin:0;background:var(--paper);padding:.5rem clamp(16px,4vw,40px) 1.25rem;border-bottom:1px solid var(--line);box-shadow:0 24px 40px -30px rgba(21,24,59,.35)}
  .nav.open{display:flex}
  .nav a{display:block;padding:.9rem 0;border-bottom:1px solid var(--line);font-size:1.0625rem;background:none}
  .menu-btn{display:inline-block}
  .hd-cta{margin-left:auto}
}
@media (max-width:640px){.phone .num{display:none}.hd-cta .btn{display:none}}

/* héros */
.hero{position:relative;padding-block:clamp(2.25rem,5vw,4.5rem) 0}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.hero h1{font-size:clamp(2.7rem,6.6vw,5.8rem);line-height:.96;letter-spacing:-.04em;margin-top:1.25rem}
.hero h1 .l{display:block;overflow:hidden;padding-bottom:.08em}
.hero h1 .l>span{display:block}
.hero h1 em{color:var(--ink-soft);font-weight:400;letter-spacing:-.025em}
.lead{font-size:clamp(1.0625rem,1.35vw,1.25rem);line-height:1.55;max-width:34em;margin-top:1.5rem}
.routes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:2rem;max-width:640px}
.route{position:relative;display:flex;flex-direction:column;gap:.25rem;padding:1.1rem 3.1rem 1.2rem 1.2rem;border-radius:18px;text-decoration:none;background:var(--card);border:1px solid var(--line);transition:transform .25s ease,box-shadow .25s ease,border-color .25s;min-width:0}
.route:hover{transform:translateY(-3px);box-shadow:0 22px 40px -24px rgba(21,24,59,.5);border-color:transparent}
.route .tag{font-size:.6875rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--blue-text)}
.route strong{font-size:1.0625rem;line-height:1.25;color:var(--ink)}
.route .sub{font-size:.875rem;line-height:1.4;color:var(--muted)}
.route .arr{position:absolute;right:1rem;top:50%;width:32px;height:32px;margin-top:-16px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--ink);transition:transform .25s}
.route:hover .arr{transform:translateX(3px)}
.route--perf{background:var(--ink);border-color:var(--ink)}
.route--perf .tag{color:var(--orange)}
.route--perf strong{color:var(--on-ink)}
.route--perf .sub{color:var(--on-ink-muted)}
.route--perf .arr{background:var(--orange);color:var(--ink)}
.hero-meta{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem 1.5rem;margin-top:1.5rem;font-size:.9375rem}
.film{display:inline-flex;align-items:center;gap:.65rem;font-weight:600;color:var(--ink);text-decoration:none}
.film .pl{width:36px;height:36px;border-radius:50%;background:var(--ink);color:var(--orange);display:grid;place-items:center;transition:transform .25s}
.film:hover .pl{transform:scale(1.08)}
.film small{font-weight:500;color:var(--muted);font-size:.875rem}
.offer{color:var(--muted)}
.offer b{color:var(--ink);font-weight:600}
.visual{position:relative;width:100%;max-width:100%;aspect-ratio:1/1}
.visual .glow{position:absolute;inset:-6%;border-radius:50%;background:radial-gradient(closest-side at 38% 34%,rgba(239,130,33,.30),transparent 72%),radial-gradient(closest-side at 66% 64%,rgba(122,76,240,.24),transparent 72%),radial-gradient(closest-side at 58% 40%,rgba(58,143,224,.20),transparent 76%);filter:blur(8px)}
.visual .fallback{position:absolute;inset:16%;background:var(--logo) center/contain no-repeat;transition:opacity .8s}
.visual canvas{position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1.2s ease}
.gl-on .visual canvas{opacity:1}
.gl-on .visual .fallback{opacity:0}
.visual .cap{position:absolute;left:50%;bottom:2%;transform:translateX(-50%);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.proof{list-style:none;padding:0;margin-top:clamp(2.5rem,5vw,4rem);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line)}
.proof li{display:flex;flex-direction:column;gap:.15rem;padding:1.25rem 1.25rem 1.75rem 0;min-width:0}
.proof li+li{padding-left:1.25rem;border-left:1px solid var(--line)}
.proof strong{font-size:1.375rem;letter-spacing:-.02em;color:var(--ink);font-variant-numeric:tabular-nums}
.proof span{font-size:.875rem;color:var(--muted);line-height:1.4}
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr}
  .visual{max-width:380px;margin:0 auto;order:-1;margin-bottom:-1rem}
  .visual .cap{display:none}
  .proof{grid-template-columns:repeat(2,minmax(0,1fr))}
  .proof li,.proof li+li{padding:1rem 1rem 1.1rem 0;border-left:0;border-bottom:1px solid var(--line)}
  .proof li:nth-child(even){padding-left:1rem;border-left:1px solid var(--line)}
}
@media (max-width:520px){.routes{grid-template-columns:1fr}.visual{max-width:300px}}

/* sections */
.sec{padding-block:clamp(4.5rem,9vw,8rem)}
.sec-head{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1.25rem 3rem;align-items:end;margin-bottom:clamp(2rem,4.5vw,3.5rem)}
.sec-head h2,.h2{font-size:clamp(2.1rem,4.4vw,3.6rem);letter-spacing:-.035em;margin-top:1rem}
.sec-head h2 em,.h2 em{color:var(--ink-soft)}
.sec-head p{max-width:32em}
@media (max-width:860px){.sec-head{grid-template-columns:1fr}}
.on-ink{background:var(--ink);color:var(--on-ink-muted)}
.on-ink h2,.on-ink h3,.on-ink h4{color:var(--on-ink)}
.on-ink .h2 em,.on-ink h2 em{color:#AEB2D8}

/* parcours */
.paths{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem}
.path{border-radius:26px;padding:clamp(1.5rem,3.2vw,2.6rem);display:flex;flex-direction:column;gap:1.6rem;min-width:0}
.path--sante{background:var(--card);border:1px solid var(--line)}
.path--perf{background:var(--ink);color:var(--on-ink-muted)}
.path .tag{display:inline-flex;align-self:flex-start;align-items:center;gap:.5rem;font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;padding:.4rem .75rem;border-radius:999px;background:#E3EEFB;color:var(--blue-text)}
.path--perf .tag{background:rgba(239,130,33,.16);color:var(--orange)}
.path h3{font-size:clamp(1.6rem,2.6vw,2.1rem);letter-spacing:-.03em;margin-top:.9rem}
.path--perf h3{color:var(--on-ink)}
.path-intro{margin-top:.75rem;max-width:34em}
.label{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.7rem}
.path--perf .label{color:var(--on-ink-muted)}
.chips{display:flex;flex-wrap:wrap;gap:.45rem;list-style:none;padding:0}
.chips li{font-size:.8125rem;line-height:1.2;padding:.45rem .75rem;border-radius:999px;background:var(--paper);color:var(--ink-2);border:1px solid var(--line)}
.facts{display:grid;gap:0;border-top:1px solid var(--line)}
.facts div{display:grid;grid-template-columns:8.5rem minmax(0,1fr);gap:1rem;padding:.8rem 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.facts dt{color:var(--muted)}
.facts dd{color:var(--ink)}
.perf-list{list-style:none;padding:0;border-top:1px solid var(--ink-line)}
.perf-list li{padding:1.1rem 0;border-bottom:1px solid var(--ink-line);display:grid;gap:.35rem}
.perf-list h4{font-size:1.125rem;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.perf-list p{font-size:.9375rem;line-height:1.55}
.badge{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.25rem .55rem;border-radius:999px;background:var(--orange);color:var(--ink)}
.perf-list .tags{font-size:.8125rem;color:#C9CCEA}
.path-foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding-top:.25rem}
.path-foot .price{font-size:.9375rem}
.path-foot .price b{color:var(--ink);font-weight:700}
.path--perf .path-foot .price b{color:var(--on-ink)}
@media (max-width:900px){.paths{grid-template-columns:1fr}.facts div{grid-template-columns:7rem minmax(0,1fr)}}

/* méthode */
.method{background:var(--paper-2)}
.steps{position:relative;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.5rem;list-style:none;padding:0;--p:0}
.track{position:absolute;left:0;right:0;top:22px;height:2px;background:var(--line-2);border-radius:2px}
.track i{position:absolute;left:0;top:0;height:100%;width:calc(var(--p)*100%);background:var(--orange);border-radius:2px}
.track b{position:absolute;top:50%;left:calc(var(--p)*100%);width:18px;height:18px;margin:-9px 0 0 -9px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#FFD29A,#F39A30 45%,#D9650C);box-shadow:0 6px 12px -4px rgba(217,101,12,.6)}
.step{position:relative;padding-top:4rem;min-width:0}
.step .n{position:absolute;top:0;left:0;width:46px;height:46px;border-radius:50%;background:var(--paper-2);border:2px solid var(--line-2);display:grid;place-items:center;font-weight:700;font-size:.875rem;color:var(--ink);font-variant-numeric:tabular-nums;z-index:1;transition:background-color .3s,border-color .3s}
.step.on .n{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.step h3{font-size:1.25rem;margin-bottom:.5rem}
.step p{font-size:.9375rem;line-height:1.55}
.tests{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.9rem;list-style:none;padding:0}
.tests li{font-size:.75rem;padding:.3rem .55rem;border-radius:6px;background:var(--card);border:1px solid var(--line);color:var(--ink-2);font-variant-numeric:tabular-nums}
.spark{margin-top:.9rem;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:.7rem .8rem .55rem}
.spark svg{display:block;width:100%;height:auto}
.spark p{font-size:.6875rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:.3rem}
@media (max-width:860px){
  .steps{grid-template-columns:1fr;gap:2rem}
  .track{left:22px;right:auto;top:0;bottom:0;width:2px;height:auto}
  .track i{width:100%;height:calc(var(--p)*100%)}
  .track b{left:50%;top:calc(var(--p)*100%);margin:-9px 0 0 -9px}
  .step{padding:0 0 0 4.25rem}
}

/* lieux */
.map{position:relative;aspect-ratio:1200/340;max-width:100%;border-radius:24px;overflow:hidden;background:var(--card);border:1px solid var(--line);margin-bottom:1.25rem}
.map svg{position:absolute;inset:0;width:100%;height:100%}
.pin{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;gap:.35rem;pointer-events:none}
.pin span{background:var(--ink);color:var(--paper);font-size:.8125rem;font-weight:600;padding:.4rem .7rem;border-radius:999px;white-space:nowrap}
.pin span small{font-weight:500;color:var(--on-ink-muted);margin-left:.35rem}
.pin i{width:14px;height:14px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 5px rgba(239,130,33,.22)}
.zone-label{position:absolute;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-text);font-weight:600;transform:translate(-50%,-50%);white-space:nowrap}
.places{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.place{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:1.6rem;display:flex;flex-direction:column;gap:1.1rem;min-width:0}
.place .day{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-text)}
.place h3{font-size:1.5rem;letter-spacing:-.025em;margin-top:.35rem}
.place .addr{font-size:.9375rem;color:var(--muted);margin-top:.3rem}
.sched{display:grid;border-top:1px solid var(--line)}
.sched div{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.sched dt{font-variant-numeric:tabular-nums;color:var(--muted)}
.sched dd{color:var(--ink);font-weight:500;text-align:right}
.place .note{font-size:.9375rem;line-height:1.55}
.place .note strong{color:var(--ink);font-weight:600}
.prices{margin-top:auto;list-style:none;padding:1rem;border-radius:14px;background:var(--paper);display:grid;gap:.55rem}
.prices li{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font-size:.9375rem}
.prices li span:first-child{color:var(--text)}
.prices small{display:block;font-size:.8125rem;color:var(--muted)}
.prices b{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.prices .free b{color:var(--orange-text)}
@media (max-width:980px){.places{grid-template-columns:1fr}}
@media (max-width:600px){.map{display:none}}

/* Naji */
.about{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);align-items:center}
.portrait{position:relative;aspect-ratio:4/5;max-width:100%;border-radius:28px;overflow:hidden;background:linear-gradient(155deg,#E6E1F7 0%,#F1E9E0 48%,#F8DCC0 100%)}
.portrait img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.portrait::after{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(21,24,59,.08);pointer-events:none}
.about h2{font-size:clamp(2.2rem,4.6vw,3.8rem);letter-spacing:-.04em;margin-top:1rem}
.about .role{font-family:var(--serif);font-style:italic;font-size:clamp(1.25rem,2vw,1.6rem);color:var(--ink-soft);margin-top:.5rem}
.about .bio{margin-top:1.25rem;max-width:36em}
.cv{list-style:none;padding:0;margin-top:1.75rem;border-top:1px solid var(--line)}
.cv li{display:grid;grid-template-columns:11rem minmax(0,1fr);gap:1rem;padding:.85rem 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.cv b{color:var(--ink);font-weight:600}
.about .tlink{margin-top:1.5rem}
@media (max-width:900px){.about{grid-template-columns:1fr}.portrait{max-width:420px}.cv li{grid-template-columns:1fr;gap:.1rem}}

/* entreprises */
.pro-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);align-items:end}
.big{font-size:clamp(7rem,17vw,14rem);font-weight:800;letter-spacing:-.06em;line-height:.8;color:var(--on-ink);font-variant-numeric:tabular-nums}
.big .unit{font-family:var(--serif);font-style:italic;font-weight:400;font-size:.26em;letter-spacing:-.01em;color:var(--orange);margin-left:.15em}
.pro-grid p{max-width:34em;margin-top:1.25rem}
.pro-grid .btn{margin-top:1.75rem}
@media (max-width:860px){.pro-grid{grid-template-columns:1fr;align-items:start}}

/* avis */
.voices{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem)}
.video{display:block;margin-top:2rem;border-radius:22px;overflow:hidden;position:relative;aspect-ratio:16/10;max-width:100%;background:radial-gradient(circle at 30% 30%,#2B3070,var(--ink) 70%);text-decoration:none;color:var(--on-ink)}
.video::before{content:"";position:absolute;inset:18% 30%;background:var(--logo) center/contain no-repeat;opacity:.25}
.video .pl{position:absolute;left:1.25rem;bottom:1.25rem;display:flex;align-items:center;gap:.75rem;font-weight:600}
.video .pl i{width:48px;height:48px;border-radius:50%;background:var(--orange);color:var(--ink);display:grid;place-items:center;transition:transform .25s}
.video:hover .pl i{transform:scale(1.08)}
.video .pl small{display:block;font-weight:500;color:var(--on-ink-muted);font-size:.8125rem}
.quotes{display:grid;gap:1rem}
.quote{background:var(--card);border:1px solid var(--line);border-radius:22px;padding:1.6rem 1.6rem 1.4rem}
.quote blockquote{font-size:1.0625rem;line-height:1.6;color:var(--ink-2)}
.quote blockquote::before{content:"«";display:block;font-family:var(--serif);font-size:3rem;line-height:.6;color:var(--orange);margin-bottom:.5rem}
.quote figcaption{display:flex;align-items:center;gap:.65rem;margin-top:1rem;font-size:.875rem;color:var(--muted)}
.quote figcaption i{width:30px;height:30px;border-radius:50%;background:var(--paper-2);display:grid;place-items:center;font-style:normal;font-weight:700;color:var(--ink);font-size:.8125rem}
.quote figcaption b{color:var(--ink);font-weight:600}
@media (max-width:900px){.voices{grid-template-columns:1fr}}

/* cadre */
.frame-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.frame-item{padding:1.6rem;border-radius:22px;border:1px solid var(--line);background:transparent;display:grid;gap:.6rem;align-content:start}
.frame-item .ic{width:44px;height:44px;border-radius:12px;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink)}
.frame-item h3{font-size:1.125rem;margin-top:.4rem}
.frame-item p{font-size:.9375rem;line-height:1.55}
@media (max-width:900px){.frame-grid{grid-template-columns:1fr}}

/* FAQ */
.faq{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem)}
.faq-head{position:sticky;top:110px;align-self:start}
.faq-head p{margin-top:1rem;max-width:26em}
.q{border-top:1px solid var(--line)}
.q:last-child{border-bottom:1px solid var(--line)}
.q summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:1.25rem 0}
.q summary::-webkit-details-marker{display:none}
.q summary h3{font-size:1.125rem;font-weight:600;letter-spacing:-.01em;line-height:1.35}
.q summary i{flex:none;width:30px;height:30px;border-radius:50%;border:1.5px solid var(--line-2);position:relative;transition:transform .3s,background-color .3s}
.q summary i::before,.q summary i::after{content:"";position:absolute;left:50%;top:50%;width:11px;height:1.5px;margin:-.75px 0 0 -5.5px;background:var(--ink)}
.q summary i::after{transform:rotate(90deg);transition:transform .3s}
.q[open] summary i{background:var(--orange);border-color:var(--orange)}
.q[open] summary i::after{transform:rotate(0)}
.q .a{padding:0 3rem 1.4rem 0;max-width:42em}
@media (max-width:900px){.faq{grid-template-columns:1fr}.faq-head{position:static}.q .a{padding-right:0}}

/* contact */
.contact{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.contact .intro{margin-top:1.25rem;max-width:30em}
.direct{list-style:none;padding:0;margin-top:2rem;display:grid;gap:.75rem}
.direct li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.9rem;padding:1rem 1.1rem;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.direct .ic{width:40px;height:40px;border-radius:50%;background:var(--paper);display:grid;place-items:center;color:var(--orange-text)}
.direct small{display:block;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.direct .val{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;word-break:break-word}
.direct a.val{text-decoration:none}
.copy{border:0;background:var(--paper);color:var(--ink);font:600 .8125rem/1 var(--font);padding:.55rem .8rem;border-radius:999px;cursor:pointer}
.copy:hover{background:var(--paper-2)}
.form-card{background:var(--card);border:1px solid var(--line);border-radius:26px;padding:clamp(1.25rem,3vw,2.25rem);box-shadow:0 40px 80px -60px rgba(21,24,59,.45)}
.seg{border:0;padding:0;margin:0 0 1.4rem}
.seg legend{font-size:.875rem;font-weight:600;color:var(--ink);margin-bottom:.7rem;padding:0}
.seg div{display:flex;flex-wrap:wrap;gap:.45rem}
.seg label{position:relative}
.seg input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}
.seg span{display:block;padding:.6rem .95rem;border-radius:999px;border:1.5px solid var(--line-2);font-size:.875rem;font-weight:500;color:var(--ink-2);transition:all .2s}
.seg input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.seg input:focus-visible+span{outline:2px solid var(--orange);outline-offset:2px}
.row2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.field{display:grid;gap:.4rem;margin-bottom:1rem;min-width:0}
.field label{font-size:.875rem;font-weight:600;color:var(--ink)}
.field label small{font-weight:400;color:var(--muted)}
.field input,.field select,.field textarea{width:100%;box-sizing:border-box;font:400 1rem/1.4 var(--font);color:var(--ink);background:var(--paper);border:1.5px solid transparent;border-radius:12px;padding:.8rem .9rem;transition:border-color .2s,background-color .2s}
.field textarea{resize:vertical;min-height:7.5rem}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--ink);background:var(--card)}
.field [aria-invalid="true"]{border-color:#C2410C;background:#FFF6F0}
.err{font-size:.8125rem;color:#B3380B;min-height:0}
.err:empty{display:none}
.consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.875rem;line-height:1.5;color:var(--text);margin:.25rem 0 1.25rem;cursor:pointer}
.consent input{width:18px;height:18px;margin:.15rem 0 0;accent-color:var(--ink);flex:none}
.form-foot{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}
.form-foot p{font-size:.875rem;color:var(--muted)}
.done{text-align:left;display:grid;gap:.9rem;justify-items:start;padding:.5rem 0}
.done .ok{width:56px;height:56px;border-radius:50%;background:var(--orange);display:grid;place-items:center;color:var(--ink)}
.done h3{font-size:1.75rem}
.done .pv-note{font-size:.875rem;background:var(--orange-soft);color:var(--orange-text);padding:.75rem .9rem;border-radius:12px}
@media (max-width:900px){.contact{grid-template-columns:1fr}}
@media (max-width:520px){.row2{grid-template-columns:1fr;gap:0}}

/* pied */
.ft{background:var(--ink);color:var(--on-ink-muted);padding-block:clamp(3.5rem,7vw,5.5rem) 2rem;font-size:.9375rem}
.ft-grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:2rem}
.ft .brand{color:var(--on-ink)}
.ft-grid>div>p{margin-top:1rem;max-width:24em}
.ft h4{font-size:.75rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--on-ink-muted);margin-bottom:.9rem}
.ft ul{list-style:none;padding:0;display:grid;gap:.5rem}
.ft a{text-decoration:none;color:var(--on-ink)}
.ft a:hover{color:var(--orange)}
.ft-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;margin-top:3rem;padding-top:1.5rem;border-top:1px solid var(--ink-line);font-size:.8125rem}
.ft-bottom nav{display:flex;flex-wrap:wrap;gap:1.25rem}
@media (max-width:860px){.ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-grid>div:first-child{grid-column:1/-1}}
@media (max-width:520px){.ft-grid{grid-template-columns:1fr}}
.ft li{overflow-wrap:anywhere}

/* barre mobile */
.mbar{position:fixed;left:0;right:0;bottom:0;z-index:60;display:none;gap:.6rem;padding:.65rem 16px calc(.65rem + env(safe-area-inset-bottom,0px));background:rgba(245,243,238,.92);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid var(--line);transform:translateY(110%);transition:transform .35s ease}
.mbar .btn{flex:1}
.mbar.show{transform:none}
@media (max-width:640px){.mbar{display:flex}}

/* apparitions */
.js .rv{opacity:0;transform:translateY(22px);transition:opacity .8s cubic-bezier(.2,.7,.2,1),transform .8s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--d,0)*80ms)}
.js .rv.in{opacity:1;transform:none}
.js .hero h1 .l>span{transform:translateY(105%);transition:transform 1s cubic-bezier(.2,.75,.15,1);transition-delay:calc(var(--d,0)*110ms + 150ms)}
.js.ready .hero h1 .l>span{transform:none}
@media (prefers-reduced-motion:reduce){.js .rv,.js .hero h1 .l>span{opacity:1;transform:none;transition:none}}

/* titres fins : Urbanist en attendant la licence Juturu */
.hero h1{font-weight:100;letter-spacing:-.025em;line-height:1}
.hero h1 em{font-weight:400}
.sec-head h2,.h2,.about h2,.cta h2{font-weight:200;letter-spacing:-.025em}
.path h3,.place h3,.domain h3,.tl-body h3{font-weight:500;letter-spacing:-.015em}
.big{font-weight:100;letter-spacing:-.04em}
.proof strong{font-weight:300}
@media (max-width:640px){.hero h1{font-weight:200}}

/* accueil : le titre H1 porte les mots-clés, le slogan garde le style du grand titre */
.hero h1.hero-kw{font-size:.75rem;font-weight:600;letter-spacing:.14em;line-height:1.5;margin-top:0;color:var(--muted);align-items:flex-start}
.hero h1.hero-kw::before{margin-top:.45em}
.hero .hero-title{color:var(--ink);font-size:clamp(2.7rem,6.6vw,5.8rem);line-height:1;letter-spacing:-.025em;margin:1.25rem 0 0;font-weight:100;text-wrap:balance}
.hero .hero-title .l{display:block;overflow:hidden;padding-bottom:.08em}
.hero .hero-title .l>span{display:block}
.hero .hero-title em{color:var(--ink-soft);font-weight:400;letter-spacing:-.025em}
.js .hero .hero-title .l>span{transform:translateY(105%);transition:transform 1s cubic-bezier(.2,.75,.15,1);transition-delay:calc(var(--d,0)*110ms + 150ms)}
.js.ready .hero .hero-title .l>span{transform:none}
@media (prefers-reduced-motion:reduce){.js .hero .hero-title .l>span{opacity:1;transform:none;transition:none}}
@media (max-width:640px){.hero .hero-title{font-weight:200}}
/* pages de texte (mentions légales, confidentialité, 404) */
.legal{max-width:46rem;padding-block:clamp(3rem,7vw,6rem)}
.legal h1{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:200;letter-spacing:-.025em;margin-top:1rem}
.legal h2{font-size:1.375rem;font-weight:600;margin-top:2.5rem}
.legal p,.legal ul{margin-top:.9rem}
.legal ul{padding-left:1.2rem}
.legal li+li{margin-top:.35rem}
.legal a{color:var(--ink);text-decoration-color:var(--orange);text-underline-offset:3px}
.legal .upd{margin-top:2.5rem;font-size:.875rem;color:var(--muted)}
.done .alt{font-size:.875rem;color:var(--muted)}
/* pages locales */
.lp-hero{padding-block:clamp(3rem,7vw,6rem) clamp(1rem,3vw,2rem)}
.lp-hero h1{font-size:clamp(2.4rem,5.8vw,4.8rem);line-height:1.02;letter-spacing:-.03em;margin-top:1rem;max-width:16em}
.lp-hero .lead{max-width:40em}
.lp-hero .hero-meta{margin-top:2rem;gap:.8rem 1rem}
.lp-grid{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:1.5rem clamp(2rem,5vw,5rem)}
.lp-grid .h2{margin-top:1rem}
.lp-prose{display:grid;gap:1rem;max-width:42em;align-content:start}
.lp-prose a.tlink{justify-self:start}
.ticks{list-style:none;padding:0;display:grid;gap:.7rem}
.ticks li{position:relative;padding-left:1.3rem;line-height:1.6}
.ticks li::before{content:"";position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:50%;background:var(--orange)}
.ticks strong{color:var(--ink);font-weight:600}
.lp-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
.cta-band{display:grid;gap:1.25rem;justify-items:start}
.cta-band p{max-width:36em}
.lp-related{margin-top:1.5rem;width:100%}
.lp-related ul,.lp-links{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}
.lp-related a,.lp-links a{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1rem;border-radius:999px;border:1.5px solid var(--line-2);text-decoration:none;color:var(--ink-2);font-weight:500;font-size:.9375rem;background:var(--card);transition:border-color .2s}
.lp-related a:hover,.lp-links a:hover{border-color:var(--ink)}
.lp-strip{padding-block:0 clamp(3rem,6vw,5rem)}
.lp-strip .lp-links{margin-top:1rem}
.ft-grid{grid-template-columns:minmax(0,1.4fr) repeat(4,minmax(0,1fr))}
@media (max-width:900px){.lp-grid{grid-template-columns:1fr}}
@media (max-width:860px){.ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-grid>div:first-child{grid-column:1/-1}}
@media (max-width:520px){.ft-grid{grid-template-columns:1fr}}
.d-promo{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.4rem 1.5rem;padding:1.4rem 1.6rem;border-radius:22px;background:var(--ink);color:var(--on-ink);text-decoration:none;transition:transform .2s}
.d-promo:hover{transform:translateY(-2px)}
.d-promo .eyebrow{color:var(--on-ink-muted);grid-column:1}
.d-promo b{grid-column:1;font-size:clamp(1.15rem,2.2vw,1.5rem);font-weight:600;letter-spacing:-.015em;color:var(--on-ink)}
.d-promo-go{grid-column:2;grid-row:1/3;display:inline-flex;align-items:center;gap:.5rem;background:var(--orange);color:var(--ink);font-weight:600;padding:.8rem 1.2rem;border-radius:999px}
@media (max-width:560px){.d-promo{grid-template-columns:1fr}.d-promo-go{grid-column:1;grid-row:auto;justify-self:start}}
a.sr:focus{position:fixed;left:1rem;top:1rem;width:auto;height:auto;clip:auto;z-index:100;background:var(--ink);color:var(--paper);padding:.6rem 1rem;border-radius:8px}

/* ================= Naji Movement 2026 : couche de refonte ================= */
@view-transition{navigation:auto}
:root{
  --paper:#F4EFE6; --paper-2:#EBE4D7; --card:#FFFCF7;
  --ink:#15183B; --ink-2:#272B52; --ink-soft:#4E5482;
  --text:#2B2E48; --muted:#5F5C6B;
  --line:rgba(21,24,59,.11); --line-2:rgba(21,24,59,.2);
  --orange:#EF8221; --orange-text:#A24E08; --orange-soft:#FBE6D1;
  --sage:#4C6A54; --sage-pale:#DEE6D6; --clay:#A9583B; --sand:#E6D9C2;
  --on-ink:#F4EFE6; --on-ink-muted:rgba(244,239,230,.7);
  --r-lg:28px; --r-md:20px;
  --ease:cubic-bezier(.2,.7,.15,1);
  --shadow:0 1px 0 rgba(21,24,59,.04),0 30px 60px -40px rgba(21,24,59,.35);
}
body{background:var(--paper);touch-action:manipulation;margin:0}
::selection{background:var(--orange-soft);color:var(--ink)}
h1,h2,h3{text-wrap:balance}
.h2{font-weight:300;letter-spacing:-.04em;line-height:1.02}
.h2 em,.nm h1 em{color:var(--ink-soft)}
.btn{min-height:44px;transition:transform .25s var(--ease),background-color .2s,box-shadow .2s}
.btn--orange{box-shadow:0 10px 24px -14px rgba(239,130,33,.9)}
.btn--orange:hover{transform:translateY(-2px)}
.btn--ink{background:var(--ink);color:var(--paper)}
.btn--lg{padding:1.05rem 1.6rem;font-size:1rem}
.method{background:var(--paper-2)}
.sec{padding-block:clamp(4rem,8vw,7rem)}

/* en-tête */
.hd .brand{font-weight:650;letter-spacing:-.01em}
.hd .brand b{font-weight:300}
.hd .nav a[aria-current="page"]{color:var(--ink);box-shadow:inset 0 -2px 0 var(--orange)}
.hd .nav a{transition:color .2s}
.hd-cta .btn{background:var(--orange);color:var(--ink);min-height:40px;padding:.65rem 1.05rem}
.hd-cta .btn:hover{background:#F39540}

/* pied de page */
.ft{background:var(--ink)}
.ft-grid{grid-template-columns:minmax(0,1.5fr) repeat(4,minmax(0,1fr))}
.ft .ft-tag{font-family:var(--serif);font-style:italic;font-size:1.5rem;line-height:1.25;color:var(--on-ink);max-width:14em;margin-top:1rem}
@media (max-width:980px){.ft-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ft-grid>div:first-child{grid-column:1/-1}}
@media (max-width:520px){.ft-grid{grid-template-columns:1fr}}

/* révélations */
.js .rv{transition-duration:.9s}
@media (prefers-reduced-motion:reduce){.js .rv{opacity:1;transform:none;transition:none}}

/* ---------- accueil ---------- */
.nm-hero{position:relative;padding-block:clamp(1.5rem,4vw,3rem) clamp(2.5rem,6vw,5rem);overflow:clip}
.nm-hero .wrap{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.nm-kicker{display:inline-flex;align-items:center;gap:.55rem;padding:.45rem .85rem .45rem .5rem;border-radius:999px;background:var(--card);border:1px solid var(--line);font-size:.8125rem;font-weight:600;color:var(--ink-2)}
.nm-kicker i{width:22px;height:22px;border-radius:50%;background:var(--sage-pale);display:grid;place-items:center;color:var(--sage)}
.nm-hero h1{font-size:clamp(2.9rem,7.2vw,6.4rem);font-weight:200;line-height:.96;letter-spacing:-.045em;margin-top:1.4rem}
.nm-hero h1 .l{display:block;overflow:hidden;padding-bottom:.06em}
.nm-hero h1 .l>span{display:block}
.nm-hero h1 em{font-weight:400;letter-spacing:-.03em;color:var(--orange-text)}
.js .nm-hero h1 .l>span{transform:translateY(105%);transition:transform 1.1s var(--ease);transition-delay:calc(var(--d,0)*120ms + 120ms)}
.js.ready .nm-hero h1 .l>span{transform:none}
.nm-hero .lead{max-width:31em;margin-top:1.4rem;font-size:clamp(1.0625rem,1.4vw,1.25rem)}
.nm-hero .seo{font-size:.8125rem;letter-spacing:.06em;color:var(--muted);margin-top:1.1rem;font-weight:500}
.nm-ctas{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1.9rem;align-items:center}
.nm-trust{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;margin-top:2rem}
.nm-trust li{display:inline-flex;align-items:center;gap:.45rem;font-size:.8125rem;color:var(--ink-2);padding:.45rem .75rem;border-radius:999px;border:1px solid var(--line-2)}
.nm-trust li svg{color:var(--sage)}
@media (prefers-reduced-motion:reduce){.js .nm-hero h1 .l>span{transform:none;transition:none}}

.stage{position:relative;aspect-ratio:4/5;max-width:100%;border-radius:var(--r-lg);overflow:hidden;
  background:radial-gradient(120% 80% at 50% 105%,#E7DCC8 0 38%,transparent 70%),linear-gradient(180deg,#FBF7F0,#EFE7DA);
  border:1px solid var(--line);box-shadow:var(--shadow);isolation:isolate}
.stage .b3d{position:absolute;inset:0}
.b3d-canvas{position:absolute;inset:0;width:100%;height:100%;display:block;opacity:0;transition:opacity .9s var(--ease)}
.b3d-ready .b3d-canvas{opacity:1}
.b3d .fallback{position:absolute;inset:6%;width:88%;height:88%;object-fit:contain;transition:opacity .6s}
.b3d-ready .fallback{opacity:0}
.stage-tag{position:absolute;left:1rem;top:1rem;z-index:2;display:flex;align-items:center;gap:.5rem;padding:.5rem .8rem;border-radius:999px;background:rgba(255,252,247,.86);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:.8125rem;font-weight:600;color:var(--ink)}
.stage-tag i{width:8px;height:8px;border-radius:50%;background:var(--orange);box-shadow:0 0 0 4px rgba(239,130,33,.18)}
.stage-tag span{font-weight:500;color:var(--muted)}
.stage-cap{position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:2;display:flex;justify-content:space-between;gap:.75rem;align-items:flex-end;font-size:.75rem;color:var(--muted);letter-spacing:.06em;text-transform:uppercase;font-weight:600}
.stage-cap b{color:var(--ink);font-weight:600;letter-spacing:0;text-transform:none;font-size:.875rem}
.stage-photo{position:absolute;right:-1px;bottom:18%;width:34%;aspect-ratio:3/4;border-radius:18px 0 0 18px;overflow:hidden;box-shadow:var(--shadow);z-index:1}
.stage-photo img{width:100%;height:100%;object-fit:cover;display:block}
@media (max-width:900px){.nm-hero .wrap{grid-template-columns:1fr}.stage{aspect-ratio:1/1;max-height:70vh;margin-inline:auto;width:100%}}

.marquee{border-block:1px solid var(--line);overflow:hidden;background:var(--card)}
.marquee ul{list-style:none;margin:0;padding:1.1rem 0;display:flex;gap:2.5rem;width:max-content;animation:mq 42s linear infinite}
.marquee li{display:flex;align-items:center;gap:2.5rem;font-size:clamp(1.1rem,2vw,1.5rem);font-weight:300;letter-spacing:-.02em;color:var(--ink);white-space:nowrap}
.marquee li::after{content:"";width:8px;height:8px;border-radius:50%;background:var(--orange)}
.marquee:hover ul{animation-play-state:paused}
@keyframes mq{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.marquee ul{animation:none;flex-wrap:wrap;width:auto;padding-inline:16px}}

.sec-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,26rem);gap:1rem 3rem;align-items:end;margin-bottom:clamp(2rem,4vw,3.25rem)}
.sec-head p.intro{color:var(--text);max-width:30em}
@media (max-width:820px){.sec-head{grid-template-columns:1fr}}

/* sélecteur d'objectif */
.goal{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.goal-list{display:flex;flex-wrap:wrap;gap:.5rem}
.goal-list button{font:500 .9375rem/1.2 var(--font);color:var(--ink-2);background:var(--card);border:1.5px solid var(--line-2);border-radius:999px;padding:.75rem 1.05rem;cursor:pointer;transition:background-color .2s,border-color .2s,color .2s,transform .2s var(--ease);min-height:44px}
.goal-list button:hover{border-color:var(--ink);transform:translateY(-1px)}
.goal-list button[aria-pressed="true"]{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.goal-out{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);padding:clamp(1.4rem,3vw,2.2rem);box-shadow:var(--shadow);display:grid;gap:1rem;min-height:15rem;align-content:start}
.goal-out .k{font-size:.75rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.goal-out h3{font-size:clamp(1.5rem,2.6vw,2rem);font-weight:400;letter-spacing:-.03em}
.goal-out .acts{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.4rem}
.goal-out[data-anim]{animation:pop .45s var(--ease)}
@keyframes pop{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:820px){.goal{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.goal-out[data-anim]{animation:none}}

/* cartes accompagnements */
.svc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:1rem}
.svc{position:relative;display:flex;flex-direction:column;gap:.8rem;padding:1.5rem 1.5rem 1.35rem;border-radius:var(--r-md);background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--text);min-height:15.5rem;
  transform:perspective(900px) rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg)) translateY(var(--lift,0));transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .3s;will-change:transform}
.svc:hover{--lift:-4px;box-shadow:var(--shadow);border-color:var(--line-2)}
.svc .n{font-size:.75rem;font-weight:700;letter-spacing:.12em;color:var(--muted);font-variant-numeric:tabular-nums}
.svc h3{font-size:1.45rem;font-weight:500;letter-spacing:-.025em}
.svc p{font-size:.9375rem;line-height:1.55}
.svc .tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto}
.svc .tags span{font-size:.75rem;padding:.3rem .6rem;border-radius:999px;background:var(--paper);color:var(--ink-2)}
.svc .go{position:absolute;right:1.25rem;top:1.25rem;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--paper);color:var(--ink);transition:background-color .25s,transform .35s var(--ease)}
.svc:hover .go{background:var(--orange);transform:rotate(-45deg)}
.svc-grid--home{grid-template-columns:repeat(4,minmax(0,1fr))}
.svc-grid--home .svc--feat{grid-row:span 2}
@media (max-width:1080px){.svc-grid--home{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:620px){.svc-grid--home{grid-template-columns:1fr}.svc-grid--home .svc--feat{grid-row:auto}}
.svc--feat{background:var(--ink);color:var(--on-ink-muted);border-color:var(--ink)}
.svc--feat h3,.svc--feat .n{color:var(--on-ink)}
.svc--feat .tags span{background:rgba(244,239,230,.1);color:var(--on-ink)}
.svc--feat .go{background:var(--orange)}
.svc--apa{background:var(--sage-pale);border-color:transparent}
@media (prefers-reduced-motion:reduce){.svc{transform:none;transition:none}}

/* formats */
.formats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem}
.fmt{padding:1.4rem;border-radius:var(--r-md);border:1px solid var(--line);display:grid;gap:.55rem;align-content:start;background:transparent;transition:background-color .3s}
.fmt:hover{background:var(--card)}
.fmt .ic{width:46px;height:46px;border-radius:14px;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;color:var(--sage)}
.fmt h3{font-size:1.125rem;font-weight:600;margin-top:.35rem}
.fmt p{font-size:.9rem;line-height:1.5}
@media (max-width:1080px){.formats{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:700px){.formats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:340px){.formats{grid-template-columns:1fr}}
@media (max-width:620px){.svc{min-height:0}.svc .tags{margin-top:.4rem}.fmt{padding:1.1rem}}

/* photo plein cadre */
.wide-photo{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);border-radius:var(--r-lg);overflow:hidden;background:var(--ink);color:var(--on-ink-muted)}
.wide-photo figure{margin:0;position:relative;min-height:420px}
.wide-photo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.08) translateY(var(--py,0px));transition:transform .2s linear}
.wide-photo .txt{padding:clamp(1.6rem,4vw,3.5rem);display:grid;gap:1.1rem;align-content:center}
.wide-photo .txt h2{color:var(--on-ink)}
.wide-photo .txt h2 em{color:var(--orange)}
.wide-photo .eyebrow{color:var(--on-ink-muted)}
@media (max-width:820px){.wide-photo{grid-template-columns:1fr}.wide-photo figure{min-height:340px}}
@media (prefers-reduced-motion:reduce){.wide-photo img{transform:none}}

/* 4 qualités */
.qual{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.qual .stage{aspect-ratio:1/1}
.qtabs{display:inline-flex;flex-wrap:wrap;gap:.4rem;margin-top:1.5rem;padding:.35rem;border-radius:999px;background:var(--card);border:1px solid var(--line);max-width:100%}
.qual>*,.lib>*,.goal>*,.about>*,.contact>*,.nm-hero .wrap>*{min-width:0}
.qtabs button{flex:1 1 auto;font:600 .9rem/1 var(--font);color:var(--ink-2);background:transparent;border:0;border-radius:999px;padding:.75rem 1rem;cursor:pointer;transition:background-color .25s,color .25s;min-height:44px}
.qtabs button[aria-selected="true"]{background:var(--ink);color:var(--paper)}
.qpanel{margin-top:1.5rem;display:grid;gap:.9rem;max-width:34em}
.qpanel h3{font-size:1.6rem;font-weight:400;letter-spacing:-.03em}
.muscles{display:flex;flex-wrap:wrap;gap:.4rem}
.muscles span{display:inline-flex;align-items:center;gap:.4rem;font-size:.8125rem;padding:.35rem .7rem;border-radius:999px;background:var(--orange-soft);color:var(--orange-text);font-weight:600}
.muscles span::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--orange)}
@media (max-width:900px){.qual{grid-template-columns:1fr}.qual .stage{max-width:520px;width:100%}}

/* méthode */
.steps4{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;counter-reset:s;position:relative}
.steps4 li{counter-increment:s;padding:1.5rem;border-radius:var(--r-md);background:var(--card);border:1px solid var(--line);display:grid;gap:.6rem;align-content:start}
.steps4 li::before{content:"0" counter(s);font-size:2.6rem;font-weight:200;letter-spacing:-.04em;color:var(--orange);line-height:1}
.steps4 h3{font-size:1.15rem;font-weight:600}
.steps4 p{font-size:.9375rem;line-height:1.55}
@media (max-width:980px){.steps4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.steps4{grid-template-columns:1fr}}

/* exercices (aperçu + bibliothèque) */
.ex-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr));gap:1rem}
.exc{display:flex;flex-direction:column;text-align:left;gap:.6rem;padding:1rem;border-radius:var(--r-md);border:1px solid var(--line);background:var(--card);cursor:pointer;font:inherit;color:inherit;text-decoration:none;
  transform:perspective(900px) rotateX(var(--tx,0deg)) rotateY(var(--ty,0deg)) translateY(var(--lift,0));transition:transform .35s var(--ease),box-shadow .35s,border-color .25s}
.exc:hover{--lift:-3px;box-shadow:var(--shadow)}
.exc[aria-pressed="true"]{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.exc .pic{position:relative;aspect-ratio:4/3;border-radius:14px;background:linear-gradient(180deg,#FBF7F0,#EFE7DA);overflow:hidden;display:block}
.exc .pic img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;transition:transform .5s var(--ease)}
.exc:hover .pic img{transform:scale(1.06)}
.exc .cat{font-size:.6875rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--sage)}
.exc h3{font-size:1.1rem;font-weight:600;letter-spacing:-.01em}
.exc .lvl{font-size:.8125rem;color:var(--muted);margin-top:auto}
@media (prefers-reduced-motion:reduce){.exc{transform:none;transition:none}}

/* avis */
.voices2{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.voices2 .quote{height:100%;display:flex;flex-direction:column}
.voices2 .quote figcaption{margin-top:auto;padding-top:1rem}
@media (max-width:980px){.voices2{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:min(86%,380px);overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem;overscroll-behavior-x:contain}.voices2 .quote{scroll-snap-align:start}}

/* bandeau APA */
.apa-band{background:var(--ink);color:var(--on-ink-muted);border-radius:var(--r-lg);padding:clamp(1.8rem,5vw,4rem);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2rem 4rem;align-items:start}
.apa-band h2{color:var(--on-ink)}
.apa-band h2 em{color:var(--orange)}
.apa-band .eyebrow{color:var(--on-ink-muted)}
.apa-band p{max-width:34em}
.apa-band ul{list-style:none;padding:0;display:grid;gap:.5rem}
.apa-band ul a{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1.1rem;border-radius:14px;background:rgba(244,239,230,.06);color:var(--on-ink);text-decoration:none;font-weight:500;transition:background-color .25s,transform .25s var(--ease)}
.apa-band ul a:hover{background:rgba(244,239,230,.12);transform:translateX(4px)}
@media (max-width:900px){.apa-band{grid-template-columns:1fr}}

/* à propos (aperçu) */
.about{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(1.5rem,4vw,4rem);align-items:center}
.about figure{margin:0;border-radius:var(--r-lg);overflow:hidden;aspect-ratio:4/5;max-width:100%;position:relative}
.about figure img{width:100%;height:100%;object-fit:cover;display:block}
.about .facts{list-style:none;padding:0;display:grid;gap:.6rem;margin-top:.5rem}
.about .facts li{display:flex;gap:.75rem;align-items:baseline;padding-bottom:.6rem;border-bottom:1px solid var(--line)}
.about .facts b{color:var(--ink);font-weight:600;min-width:7.5rem}
@media (max-width:820px){.about{grid-template-columns:1fr}.about figure{max-width:420px}}

/* tarifs */
.rates{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:1rem}
.rate{padding:1.5rem;border-radius:var(--r-md);background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;gap:.9rem}
.rate h3{font-size:1.2rem;font-weight:600}
.rate .where{font-size:.875rem;color:var(--muted);margin-top:-.4rem}
.rate ul{list-style:none;padding:0;display:grid;gap:.5rem;margin-top:auto;padding-top:.9rem;border-top:1px solid var(--line)}
.rate li{display:flex;justify-content:space-between;gap:1rem;font-size:.9375rem}
.rate li b{color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap}
.rate--free{background:var(--orange-soft);border-color:transparent}

/* ---------- pages intérieures ---------- */
.pg-hero{padding-block:clamp(2.5rem,6vw,5rem) clamp(1.5rem,3vw,2.5rem)}
.pg-hero .wrap{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:2rem 4rem;align-items:end}
.pg-hero h1{font-size:clamp(2.5rem,6vw,5rem);font-weight:200;line-height:1;letter-spacing:-.045em;margin-top:1rem}
.pg-hero h1 em{color:var(--orange-text);font-weight:400}
.pg-hero .lead{margin-top:1.25rem}
.pg-hero .side{display:grid;gap:.75rem;justify-items:start}
@media (max-width:860px){.pg-hero .wrap{grid-template-columns:1fr}}
.crumb{font-size:.8125rem;color:var(--muted)}
.crumb a{color:var(--muted);text-decoration:none}
.crumb a:hover{color:var(--ink)}
.pill-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:.45rem}
.pill-list li{font-size:.875rem;padding:.45rem .8rem;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--ink-2)}
.cat-bens{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}
.cat-bens article{padding:1.5rem;border-radius:var(--r-md);background:var(--card);border:1px solid var(--line);display:grid;gap:.5rem;align-content:start}
.cat-bens h3{font-size:1.125rem;font-weight:600}
.cat-bens p{font-size:.9375rem;line-height:1.55}
@media (max-width:900px){.cat-bens{grid-template-columns:1fr}}

/* bibliothèque */
.lib{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,400px);gap:clamp(1.25rem,3vw,2.5rem);align-items:start}
.lib-view{position:sticky;top:96px;display:grid;gap:1rem}
.lib-view .stage{aspect-ratio:1/1}
.lib-info{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);padding:1.3rem;display:grid;gap:.75rem}
.lib-info h2{font-size:1.5rem;font-weight:500;letter-spacing:-.025em}
.lib-info ol{padding-left:1.15rem;display:grid;gap:.4rem;font-size:.9375rem}
.lib-info .dose{font-size:.875rem;color:var(--ink);background:var(--paper);border-radius:12px;padding:.65rem .8rem}
.lib-info .tip{font-size:.875rem;color:var(--muted)}
.filters{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1.25rem}
.filters button{font:600 .875rem/1 var(--font);color:var(--ink-2);background:var(--card);border:1.5px solid var(--line-2);border-radius:999px;padding:.7rem 1rem;cursor:pointer;min-height:44px;transition:background-color .2s,color .2s,border-color .2s}
.filters button[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.filters small{font-weight:500;opacity:.7;margin-left:.3rem;font-variant-numeric:tabular-nums}
@media (max-width:980px){.lib{grid-template-columns:1fr}.lib-view{position:static;order:-1}.lib-view .stage{max-height:58vh;aspect-ratio:auto;height:min(58vh,440px)}}
.progs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:1rem}
.prog{padding:1.5rem;border-radius:var(--r-md);background:var(--card);border:1px solid var(--line);display:grid;gap:.8rem;align-content:start}
.prog h3{font-size:1.25rem;font-weight:600}
.prog .meta{font-size:.8125rem;color:var(--sage);font-weight:700;letter-spacing:.08em;text-transform:uppercase}
.prog ol{padding-left:1.15rem;display:grid;gap:.35rem;font-size:.9375rem}
.prog ol button{font:inherit;color:var(--ink);background:none;border:0;padding:0;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:3px;cursor:pointer;text-align:left}
.safety{font-size:.875rem;color:var(--muted);max-width:52em;margin-top:1.5rem}

/* contact (page) */
.ct-steps{list-style:none;padding:0;display:grid;gap:.6rem;margin-top:1.75rem}
.ct-steps li{display:flex;gap:.8rem;align-items:baseline}
.ct-steps li b{flex:none;width:28px;height:28px;border-radius:50%;background:var(--ink);color:var(--paper);display:grid;place-items:center;font-size:.8125rem}

/* barre mobile */
.mbar .btn{flex:1}

/* anciens composants, harmonisés */
.place,.quote,.form-card,.cs-card{border-radius:var(--r-md)}
.lp-hero h1{font-weight:200;letter-spacing:-.045em}
.lp-hero h1 em{color:var(--orange-text)}

/* photos de séance */
.ph{margin:0;position:relative;border-radius:var(--r-md);overflow:hidden;background:var(--paper-2)}
.ph img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.ph:hover img{transform:scale(1.04)}
.ph figcaption{position:absolute;left:.75rem;right:.75rem;bottom:.75rem;padding:.45rem .7rem;border-radius:12px;background:rgba(255,252,247,.88);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);font-size:.8125rem;color:var(--ink);width:fit-content;max-width:calc(100% - 1.5rem)}
.gal{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,clamp(200px,22vw,300px)));gap:1rem}
.gal .g1{grid-row:1/3;grid-column:1}.gal .g2{grid-column:2/4;grid-row:1}.gal .g3{grid-row:1/3;grid-column:4}.gal .g4{grid-column:2/4;grid-row:2}
@media (max-width:820px){.gal{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none}.gal .ph{grid-column:auto!important;grid-row:auto!important;aspect-ratio:4/5}.gal .g2,.gal .g4{grid-column:1/-1!important;aspect-ratio:3/2}}
.ph-wide{margin-top:1rem}.ph-wide .ph{aspect-ratio:21/9;max-height:520px}
@media (max-width:700px){.ph-wide .ph{aspect-ratio:4/3}}
.ph-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.ph-duo .ph{aspect-ratio:4/3}
@media (max-width:700px){.ph-duo{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.ph img{transition:none}}

/* vidéos d'exercices */
.ex-vid{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 62%;background:#ECE6DA}
.lib-view .stage.is-video{aspect-ratio:3/4}
.exc .pic.vid{aspect-ratio:4/3}
.exc .pic.vid img{object-fit:cover;object-position:50% 62%}
.vbadge{position:absolute;left:.5rem;top:.5rem;display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .55rem;border-radius:999px;background:rgba(21,24,59,.82);color:#F4EFE6;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.vbadge::before{content:"";width:0;height:0;border-left:6px solid #EF8221;border-top:4px solid transparent;border-bottom:4px solid transparent}
.prog--vid .prog-vid{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:50% 62%;border-radius:14px;background:#ECE6DA;display:block}
@media (max-width:980px){.lib-view .stage.is-video{height:min(62vh,520px);aspect-ratio:auto}}

.progs--circ{grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr))}
.prog .dose{font-size:.875rem;color:var(--ink);background:var(--paper);border-radius:12px;padding:.6rem .8rem}
.lvl-badge{display:inline-block;padding:.3rem .65rem;border-radius:999px;font-size:.75rem;letter-spacing:.06em}
.lvl-badge.lv1{background:var(--sage-pale);color:var(--sage)}
.lvl-badge.lv2{background:var(--orange-soft);color:var(--orange-text)}
.lvl-badge.lv3{background:var(--ink);color:var(--paper)}

.prog ol button{vertical-align:top}
@media (min-width:1180px){.progs--circ{grid-template-columns:repeat(5,minmax(0,1fr));gap:.85rem}.progs--circ .prog{padding:1.1rem}.progs--circ h3{font-size:1.1rem}}

/* minuteur */
.tm-go{margin-top:auto;width:100%;justify-content:center}
.prog--vid{display:flex;flex-direction:column}
.tm-one{justify-self:start}
.tm{border:0;padding:0;background:transparent;max-width:none;max-height:none;width:100%;height:100%;color:var(--ink)}
.tm::backdrop{background:rgba(21,24,59,.6);backdrop-filter:blur(4px)}
.tm[open]{display:grid;place-items:center}
.tm-in{width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:auto;background:var(--card);border-radius:var(--r-lg);padding:clamp(1rem,3vw,1.6rem);box-shadow:0 40px 80px -30px rgba(0,0,0,.5);display:grid;gap:1rem;overscroll-behavior:contain}
.tm-hd{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.tm-hd h2{font-size:1.3rem;font-weight:600;letter-spacing:-.02em}
.tm-x{width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:var(--paper);font-size:1.5rem;line-height:1;color:var(--ink);cursor:pointer;flex:none}
.tm-set,.tm-run,.tm-done{display:grid;gap:1rem}
.tm-lead,.tm-note{color:var(--muted);font-size:.9375rem}
.tm-note{font-size:.8125rem}
.tm-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem}
.tm-f{background:var(--paper);border-radius:16px;padding:.75rem;display:grid;gap:.5rem;justify-items:center}
.tm-l{font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.tm-step{display:flex;align-items:center;gap:.4rem}
.tm-step button{width:40px;height:40px;border-radius:50%;border:1px solid var(--line-2);background:var(--card);font-size:1.25rem;color:var(--ink);cursor:pointer;touch-action:manipulation}
.tm-step output{min-width:3.2ch;text-align:center;font-size:1.25rem;font-weight:600;font-variant-numeric:tabular-nums}
.tm-total{font-weight:600}
.tm-start{width:100%;justify-content:center}
.tm-media{position:relative;border-radius:18px;overflow:hidden;background:#ECE6DA;aspect-ratio:4/3}
.tm-vid{width:100%;height:100%;object-fit:cover;object-position:50% 62%;display:block}
.tm-next{position:absolute;left:.6rem;bottom:.6rem;margin:0;padding:.35rem .7rem;border-radius:999px;background:rgba(255,252,247,.9);font-size:.8125rem;font-weight:600}
.tm-next:empty{display:none}
.tm-clock{position:relative;width:min(220px,60vw);aspect-ratio:1;margin:-3.2rem auto 0;background:var(--card);border-radius:50%;padding:8px;box-shadow:0 10px 30px -18px rgba(21,24,59,.6)}
.tm-ring{width:100%;height:100%;transform:rotate(-90deg)}
.tm-ring circle{fill:none;stroke-width:8}
.tm-track{stroke:var(--paper-2)}
.tm-bar{stroke:var(--orange);stroke-linecap:round;transition:stroke-dashoffset .2s linear}
.tm[data-ph="rest"] .tm-bar{stroke:var(--sage)}
.tm[data-ph="prep"] .tm-bar{stroke:var(--ink-soft)}
.tm-num{position:absolute;inset:0;display:grid;place-content:center;text-align:center;gap:.15rem}
.tm-phase{font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--orange-text)}
.tm[data-ph="rest"] .tm-phase{color:var(--sage)}
.tm-time{font-size:clamp(2.6rem,10vw,3.4rem);font-weight:300;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1}
.tm-ex{font-size:.8125rem;font-weight:600;max-width:12em;margin-inline:auto;line-height:1.2}
.tm-pos{text-align:center;color:var(--muted);font-size:.875rem;margin:0}
.tm-ctl{display:flex;justify-content:center;gap:.6rem}
.tm-b{width:52px;height:52px;border-radius:50%;border:1px solid var(--line-2);background:var(--paper);color:var(--ink);display:grid;place-items:center;cursor:pointer;touch-action:manipulation}
.tm-b.tm-main{width:64px;height:64px;background:var(--ink);color:var(--paper);border-color:var(--ink)}
.tm-b.off{opacity:.45}
.tm.is-paused .tm-time{opacity:.45}
.tm-done{text-align:center;justify-items:center}
.tm-done h3{font-size:1.6rem;font-weight:400;letter-spacing:-.03em}
.tm-acts{display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center}
@media (max-width:420px){.tm-fields{grid-template-columns:1fr}.tm-f{grid-template-columns:1fr auto;justify-items:start;align-items:center}}
@media (prefers-reduced-motion:reduce){.tm-bar{transition:none}}
.tm [hidden]{display:none!important}

/* ================= Bouge avec moi : anneau ================= */
.deck{--studio:#ECECEC;--k:#15183B;--mut:#6F6F70;--ease2:cubic-bezier(.16,1,.3,1);--spring:cubic-bezier(.34,1.56,.64,1);--morph:cubic-bezier(.7,0,.15,1);--slip-w:336px;--slip-room:384px;
  position:relative;height:calc(100svh - 72px);min-height:600px;overflow:clip;background:var(--studio);color:var(--k)}
.deck .cap{font-size:12px;line-height:16px;text-transform:uppercase;letter-spacing:.02em;word-spacing:.12em;font-variant-numeric:tabular-nums}
.deck .pill{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 16px;border:1px dashed var(--k);border-radius:999px;background:#fff;font:400 12px/16px var(--font);text-transform:uppercase;letter-spacing:.02em;color:var(--k);cursor:pointer;transition:background-color .3s,color .3s;text-decoration:none}
.deck .pill:hover,.deck .pill[aria-current="true"]{background:var(--k);color:#fff;border-style:solid}
.deck button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}
.deck__stage{position:absolute;inset:0;outline:none;cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.deck__stage:focus-visible{box-shadow:inset 0 0 0 2px var(--k)}
.deck.is-dragging .deck__stage{cursor:grabbing}
.deck__crowd{position:absolute;inset:0;z-index:1;transition:opacity .7s var(--ease2) .2s}
.deck__labels{position:absolute;inset:0;z-index:2;pointer-events:none}
.deck__live{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.model{position:absolute;left:0;bottom:0;transform-origin:50% 100%;opacity:0}
.deck.is-moving .model{will-change:transform,opacity}
.deck.is-anim .model{transition:transform 1.25s var(--morph) var(--d,0s),opacity .8s var(--ease2) var(--d,0s),filter .8s var(--ease2) var(--d,0s)}
.model__fig{position:relative;height:calc(var(--model-h,500px) * var(--hs,1));aspect-ratio:var(--ar,.5);transition:opacity .5s var(--ease2)}
.model__shadow{position:absolute;left:-12%;right:-12%;bottom:-3%;height:16%;pointer-events:none;filter:blur(3px);
  background:radial-gradient(22% 20% at 50% 82%,rgba(0,0,0,.42),rgba(0,0,0,0) 72%),radial-gradient(42% 32% at 50% 80%,rgba(0,0,0,.16),rgba(0,0,0,0) 74%),radial-gradient(40% 55% at 34% 46%,rgba(0,0,0,.07),rgba(0,0,0,0) 72%)}
.model__pic{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:50% 100%;pointer-events:none;-webkit-user-drag:none}
.model__hit{position:absolute;inset:0 6% 0;border-radius:24px}
@media (hover:hover){.deck.is-grid .deck__crowd:has(.model__hit:hover) .model:not(:has(.model__hit:hover)) .model__fig{opacity:.35}}
.loop{position:absolute;left:50%;top:var(--loop-y,50%);z-index:0;transform:translate(-50%,-50%);text-align:center;pointer-events:none;transition:opacity .6s var(--ease2),transform .9s var(--ease2)}
.loop__t{margin:0;font-family:var(--serif);font-style:italic;font-weight:400;font-size:clamp(34px,4vw,70px);line-height:.98;letter-spacing:-.01em;color:var(--k);white-space:nowrap}
.loop__s{margin:14px 0 0;font-size:13px;line-height:16px;color:var(--mut);letter-spacing:.01em}
.loop__ring{position:absolute;left:50%;top:var(--ring-y,50%);z-index:0;border:1px dashed rgba(0,0,0,.14);border-radius:50%;transform:translate(-50%,-50%);pointer-events:none;transition:opacity .6s var(--ease2)}
.deck.is-grid .loop,.deck.is-focus .loop{opacity:0;transform:translate(-50%,-50%) scale(.94)}
.deck.is-grid .loop__ring,.deck.is-focus .loop__ring{opacity:0}
.deck__glint{position:absolute;inset:0;z-index:1550;overflow:hidden;pointer-events:none;mix-blend-mode:soft-light}
.deck__glint::before{content:"";position:absolute;top:-20%;bottom:-20%;width:42%;opacity:0;transform:translateX(-130%) skewX(-12deg);background:linear-gradient(100deg,transparent,rgba(255,255,255,.28) 42%,rgba(255,255,255,.6) 50%,rgba(255,255,255,.28) 58%,transparent)}
.deck__stage.is-glint .deck__glint::before{animation:glint 1.5s cubic-bezier(.65,0,.35,1)}
@keyframes glint{0%{opacity:0;transform:translateX(-130%) skewX(-12deg)}18%{opacity:1}100%{opacity:0;transform:translateX(330%) skewX(-12deg)}}
.deck__label{position:absolute;top:0;left:0;color:var(--mut);white-space:nowrap;opacity:0;transition:opacity .4s}
.deck__label.is-on{color:var(--k)}
.deck.is-grid .deck__label{opacity:1;transition:opacity .8s var(--ease2) calc(.9s + var(--i) * 50ms)}
/* curseur */
.deck.has-follow .deck__stage,.deck.has-follow .deck__stage *{cursor:none}
.follow{position:absolute;top:0;left:0;z-index:1700;pointer-events:none}
.follow__in{position:absolute;top:-40px;left:-40px;width:80px;height:80px;display:grid;place-items:center;border:1px dashed var(--k);border-radius:50%;background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);opacity:0;transform:scale(.3);transition:transform .6s var(--ease2),opacity .35s,background-color .35s,color .35s}
.follow__in b{grid-area:1/1;font-weight:400;font-size:12px;line-height:16px;text-transform:uppercase;letter-spacing:.02em;transition:opacity .25s}
.follow__in .f-view{opacity:0}
.follow.is-on .follow__in{opacity:1;transform:scale(1)}
.follow.is-view .follow__in{background:var(--orange);color:var(--k);border-style:solid;border-color:var(--orange)}
.follow.is-view .f-drag{opacity:0}.follow.is-view .f-view{opacity:1}
.follow.is-link .follow__in{background:var(--k);border-style:solid;transform:scale(.2)}
.follow.is-link b{opacity:0}
.deck.is-dragging .follow__in{background:var(--k);color:#fff;border-style:solid;transform:scale(.74)}
.deck.is-focus .follow__in{opacity:0}
/* dock */
.dock{position:absolute;left:0;right:0;bottom:0;z-index:5;display:flex;align-items:flex-end;justify-content:space-between;padding:0 32px 32px;pointer-events:none;transition:opacity .7s var(--ease2) .2s}
.dock>*{pointer-events:auto}
.dock__now{display:flex;flex-direction:column;gap:8px;min-width:0;transition:opacity .4s}
.dock__count{display:flex;align-items:center;gap:12px}
.dock__auto{width:24px;height:24px;border-radius:50%;border:1px dashed var(--k)!important;display:grid;place-items:center}
.dock__auto svg{grid-area:1/1}.dock__auto .i-play{display:none}
.dock__auto[aria-pressed="false"] .i-play{display:block}.dock__auto[aria-pressed="false"] .i-pause{display:none}
.dock__name{margin:0;font-size:32px;line-height:32px;font-weight:300;letter-spacing:-.05em;text-transform:uppercase;white-space:nowrap}
.dock__now.is-swap .dock__name{animation:swap .8s var(--ease2)}
@keyframes swap{from{opacity:0;filter:blur(4px);transform:translateY(16px)}}
.dock__pieces{position:absolute;left:50%;bottom:32px;transform:translateX(-50%);display:flex;gap:8px;list-style:none;margin:0;padding:0;transition:opacity .4s}
.piece{display:flex;align-items:center;gap:10px;padding:4px 16px 4px 4px!important;border:1px dashed var(--k)!important;border-radius:999px;background:#fff!important;transition:background-color .3s,color .3s;white-space:nowrap}
.piece__n{width:32px;height:32px;border-radius:50%;background:var(--k);color:#fff;display:grid;place-items:center;font-size:12px;font-variant-numeric:tabular-nums}
.piece__name{font-size:12px;line-height:16px;text-transform:uppercase;letter-spacing:.02em}
@media (hover:hover){.piece:hover{background:var(--k)!important;color:#fff;border-style:solid!important}.piece:hover .piece__n{background:var(--orange);color:var(--k)}}
.dock__pieces.is-in li{animation:rise .9s var(--ease2) backwards;animation-delay:calc(var(--i) * 70ms)}
@keyframes rise{from{opacity:0;filter:blur(8px);transform:translateY(24px)}}
.dock__shop{display:inline-flex;align-items:center;gap:16px;margin-left:auto;transition:opacity .4s}
.dock__dot{width:64px;height:64px;border-radius:50%;background:var(--orange);color:var(--k);display:grid;place-items:center;transition:transform .6s var(--spring)}
.dock__dot svg{transition:transform .6s var(--ease2)}
.dock__shop:hover .dock__dot{transform:scale(1.08)}.dock__shop:hover .dock__dot svg{transform:rotate(90deg)}
.deck.is-grid .dock__pieces,.deck.is-grid .dock__shop,.deck.is-grid .dock__now{opacity:0;pointer-events:none}
.deck.is-focus .dock{opacity:0;pointer-events:none;transition:opacity .35s}
/* commandes latérales */
.deck__looksbtn{position:absolute;top:50%;left:24px;z-index:30;width:36px;min-height:0!important;padding:20px 0!important;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);transition:background-color .3s,color .3s,opacity .4s}
.deck__view{position:absolute;top:50%;right:24px;z-index:30;display:flex;flex-direction:column;overflow:hidden;border:1px dashed var(--k);border-radius:999px;background:#fff;transform:translateY(-50%);transition:opacity .4s}
.deck__vbtn{width:36px;padding:16px 0!important;font-size:12px!important;line-height:16px;text-transform:uppercase;letter-spacing:.02em;writing-mode:vertical-rl;transform:rotate(180deg);transition:background-color .3s,color .3s}
.deck__vbtn[aria-pressed="true"]{background:var(--k)!important;color:#fff}
.deck.is-focus .deck__looksbtn,.deck.is-focus .deck__view,.deck.is-focus .deck__crowd{opacity:0;pointer-events:none;transition:opacity .35s}
/* tiroir */
.drawer{position:absolute;top:0;bottom:0;left:0;z-index:80;display:flex;flex-direction:column;width:min(560px,100%);padding:24px 32px 32px;overflow-y:auto;overscroll-behavior:contain;background:#fff;border-right:1px solid var(--k);visibility:hidden;transform:translateX(-101%);box-shadow:0 0 0 200vmax rgba(0,0,0,0);transition:transform .8s var(--ease2),box-shadow .6s,visibility 0s .8s}
.deck.is-drawer .drawer{visibility:visible;transform:none;box-shadow:0 0 0 200vmax rgba(0,0,0,.14);transition:transform 1s var(--ease2),box-shadow .6s}
.drawer__top{display:flex;justify-content:space-between;align-items:center;min-height:40px}
.drawer__list{margin:32px 0 auto;padding:0;list-style:none}
.drawer__item{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:baseline;gap:16px;width:100%;padding:16px 0!important;border-top:1px dashed var(--k)!important;text-align:left}
.drawer__list li:last-child .drawer__item{border-bottom:1px dashed var(--k)!important}
.drawer__name{font-size:34px;line-height:38px;font-weight:300;letter-spacing:-.05em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:transform .7s var(--ease2)}
.drawer__item[aria-current="true"] .drawer__name{font-style:italic}
.drawer__item:hover .drawer__name{font-style:italic;transform:translateX(8px)}
.drawer__meta{color:var(--mut);font-style:italic;text-transform:none!important}
.deck.is-drawer .drawer__list li{animation:rise 1s var(--ease2) backwards;animation-delay:calc(.12s + var(--i) * 50ms)}
.drawer__nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:32px}
/* vue détaillée */
.focus{position:absolute;inset:0;z-index:40;visibility:hidden;pointer-events:none;transition:visibility 0s linear .95s}
.focus::before{content:"";position:absolute;inset:0;background:var(--studio);opacity:0;transition:opacity .6s var(--ease2) .15s}
.deck.is-focus .focus{visibility:visible;pointer-events:auto;transition:none}
.deck.is-focus .focus::before{opacity:1;transition:opacity .45s}
.focus__stage{position:absolute;top:72px;right:calc(var(--slip-room) + 24px);bottom:72px;left:48px;display:flex;align-items:flex-end;justify-content:center;cursor:zoom-out}
.focus__model{position:relative;flex:none;cursor:default;transform-origin:0 100%;transition:transform .95s var(--ease2)}
.focus__top{position:absolute;top:0;left:0;right:0;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:20px calc(var(--slip-room) + 8px) 0 48px;opacity:0;transform:translateY(-10px)}
.deck.is-focus .focus__top{opacity:1;transform:none;transition:opacity .8s .35s,transform 1s var(--ease2) .35s}
.focus__cap{display:flex;gap:12px;margin:0;font-size:40px;line-height:40px;font-weight:300;letter-spacing:-.05em;text-transform:uppercase}
.focus__close{width:48px;height:48px;border-radius:50%;border:1px dashed var(--k)!important;background:#fff!important;display:grid;place-items:center;transition:transform .6s var(--ease2);flex:none}
.focus__close:hover{transform:rotate(90deg)}
.focus__hint{position:absolute;left:0;right:var(--slip-room);bottom:16px;margin:0;text-align:center;opacity:0;pointer-events:none}
.deck.is-focus .focus__hint{opacity:1;transition:opacity 1s var(--ease2) 1.1s}
.deck .tags{position:absolute;inset:0}
.deck .tag{position:absolute;display:grid;place-items:center;width:48px;height:48px;margin:-24px 0 0 -24px}
.dotnum{width:32px;height:32px;border-radius:50%;background:var(--k);color:#fff;display:grid;place-items:center;font-size:12px;line-height:16px;font-variant-numeric:tabular-nums;animation:pop .9s var(--spring) backwards;animation-delay:calc(var(--pi) * .11s + .6s);transition:transform .5s cubic-bezier(.2,1.6,.4,1),background-color .25s,color .25s,box-shadow .4s}
@keyframes pop{from{opacity:0;transform:scale(0)}}
.deck .tag:hover .dotnum,.deck .tag.is-hot .dotnum{background:var(--orange);color:var(--k);box-shadow:0 0 0 1px var(--k);transform:scale(1.15)}
.deck .tag__tip{position:absolute;top:50%;left:calc(100% - 4px);display:flex;align-items:baseline;gap:12px;padding:8px 16px;white-space:nowrap;background:#fff;border:1px dashed var(--k);border-radius:999px;opacity:0;pointer-events:none;transform-origin:0 50%;transform:translate(-8px,-50%) scale(.96);transition:opacity .35s,transform .6s var(--ease2)}
.deck .tag__tip b{font-weight:400;font-size:12px;line-height:16px;text-transform:uppercase;letter-spacing:.02em}
.deck .tag:hover .deck .tag__tip,.deck .tag.is-hot .deck .tag__tip,.deck .tag:focus-visible .deck .tag__tip{opacity:1;transform:translate(0,-50%)}
.deck .tag.is-flip .deck .tag__tip{left:auto;right:calc(100% - 4px);transform-origin:100% 50%;transform:translate(8px,-50%) scale(.96)}
.deck .tag.is-flip:hover .deck .tag__tip,.deck .tag.is-flip.is-hot .deck .tag__tip{transform:translate(0,-50%)}
.deck .tag.is-below .deck .tag__tip{top:calc(100% + 8px);left:50%;transform-origin:50% 0;transform:translate(calc(-50% + var(--dx,0px)),-8px) scale(.96)}
.deck .tag.is-below:hover .deck .tag__tip,.deck .tag.is-below.is-hot .deck .tag__tip{transform:translate(calc(-50% + var(--dx,0px)),0)}
/* fiche */
.slip{position:absolute;top:0;right:24px;z-index:70;display:flex;flex-direction:column;width:var(--slip-w);max-height:calc(100% - 32px);padding-bottom:8px;background:#fff;visibility:hidden;opacity:0;transition:opacity .35s,visibility 0s .35s;
  -webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 0 0/16px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) 0 0/16px 100%}
.deck.is-focus .slip{visibility:visible;opacity:1;transition:none;animation:print 1.3s steps(18,end) .3s both}
@keyframes print{from{transform:translateY(-100%)}to{transform:none}}
.slip__head{display:flex;flex-direction:column;align-items:center;gap:4px;margin:0 24px;padding:28px 0 16px;text-align:center;border-bottom:1px dashed var(--k)}
.slip__head p{margin:0}
.slip__logo{font-size:30px;line-height:34px;font-weight:300;letter-spacing:-.05em;text-transform:uppercase;margin-bottom:8px!important}
.slip__logo i{font-size:12px;font-style:normal;letter-spacing:0;vertical-align:top;margin-left:2px}
.slip__lines{flex:1 1 auto;min-height:0;margin:0;padding:0 24px;list-style:none;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
.line{display:grid;grid-template-columns:24px minmax(0,1fr);gap:4px 8px;padding:12px 0;border-bottom:1px dashed var(--k);font-size:13px;line-height:18px}
.line::before{content:"0" attr(data-p);font-size:12px;line-height:18px;font-variant-numeric:tabular-nums}
.slip__bundle{display:flex;flex-direction:column;gap:12px;padding:16px 24px}
.sum{display:flex;flex-direction:column;gap:6px;margin:0}
.sum>div{display:flex;align-items:baseline;justify-content:space-between;gap:16px}
.sum dt,.sum dd{margin:0}
.sum dd{font-size:13px;text-align:right;font-style:italic}
.sum__total{flex-direction:column;align-items:flex-start!important;margin-top:6px;padding-top:12px;border-top:1px dashed var(--k);gap:4px!important}
.sum__total dt{font-size:12px;text-transform:uppercase;letter-spacing:.02em}
.sum__total dd{font-size:20px;line-height:24px;font-weight:300;letter-spacing:-.03em;text-align:left;font-style:normal}
.slip__cta{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;min-height:48px;background:var(--orange)!important;color:var(--k);font-size:12px!important;line-height:16px;text-transform:uppercase;letter-spacing:.02em;border-radius:999px}
.slip__cta svg{transition:transform .5s cubic-bezier(.2,1.6,.4,1)}.slip__cta:hover svg{transform:translateX(4px)}
.slip__alt{width:100%}
.slip__foot{display:flex;flex-direction:column;align-items:center;gap:8px;padding:8px 24px 24px}
.slip__code{width:100%;height:40px;background:repeating-linear-gradient(90deg,#000 0 2px,transparent 2px 4px,#000 4px 5px,transparent 5px 8px,#000 8px 11px,transparent 11px 12px,#000 12px 13px,transparent 13px 17px)}
@media (max-width:1199px){.dock__name{font-size:24px;line-height:24px}.piece__name{display:none}.piece{padding:4px!important}}
@media (max-width:809px){
  .deck{height:calc(100svh - 64px);min-height:560px}
  .deck__looksbtn{left:12px}.deck__view{right:12px}.deck__vbtn{width:32px;padding:12px 0!important}
  .dock{padding:0 16px 24px}.dock__name{font-size:16px;line-height:16px;letter-spacing:-.02em}
  .dock__pieces{bottom:96px}.dock__shop .cap{display:none}.dock__dot{width:56px;height:56px}
  .focus__stage{top:72px;right:16px;bottom:calc(46svh + 16px);left:16px}
  .focus__top{padding:12px 16px 0}.focus__cap{font-size:26px;line-height:28px}.focus__hint{display:none}
  .slip{inset:auto 16px 0;width:auto;max-height:46svh;-webkit-mask:none;mask:none;border-radius:18px 18px 0 0}
  .deck.is-focus .slip{animation-name:printup}
  .slip__head,.slip__foot{display:none}
  .drawer{padding:16px 16px 24px}.drawer__name{font-size:26px;line-height:30px}
}
@keyframes printup{from{transform:translateY(100%)}to{transform:none}}
@media (prefers-reduced-motion:reduce){.deck *,.deck *::before,.deck *::after{animation:none!important;transition:none!important}}

/* ===== Accompagnements : carrousel courbé ===== */
@font-face{font-family:"Caveat";font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/caveat-latin-600-normal.woff2) format("woff2")}
.rh{--u:min(100vw / 1440,(100svh - 70px) / 950);position:relative;height:calc(950 * var(--u));overflow:hidden;background:var(--paper)}
.rf{position:absolute;top:0;left:50%;width:calc(1440 * var(--u));height:100%;transform:translateX(-50%)}
.rh-badge{position:absolute;top:calc(42 * var(--u));left:50%;transform:translateX(-50%);margin:0;padding:calc(9 * var(--u)) calc(20 * var(--u));border-radius:999px;background:var(--orange-soft);color:var(--orange-text);font-weight:600;font-size:calc(16.6 * var(--u));line-height:1.15;white-space:nowrap;animation:rhPop .7s cubic-bezier(.2,1.4,.4,1) .15s backwards}
.rh-h{position:absolute;top:calc(104 * var(--u));left:0;right:0;margin:0;text-align:center;color:var(--ink);font-weight:600;font-size:calc(88 * var(--u));line-height:calc(92 * var(--u));letter-spacing:-.035em;text-wrap:balance}
.rh-h span,.rh-h em{display:block;animation:rhRise .9s cubic-bezier(.2,.8,.2,1) backwards}
.rh-h span{animation-delay:.25s}
.rh-h em{font-family:"Newsreader",Georgia,serif;font-style:italic;font-weight:500;letter-spacing:-.022em;color:var(--orange-text);animation-delay:.38s}
.rh-sub{position:absolute;top:calc(322 * var(--u));left:50%;width:calc(700 * var(--u));transform:translateX(-50%);margin:0;text-align:center;color:var(--muted);font-size:calc(20.8 * var(--u));line-height:calc(32 * var(--u));animation:rhFade .8s .55s backwards}
.rh-note{position:absolute;margin:0;font-family:"Caveat","Comic Sans MS",cursive;font-weight:600;color:var(--orange-text);line-height:1;animation:rhFade .8s 1.5s backwards}
.rh-note--a{left:calc(1170 * var(--u));top:calc(222 * var(--u));font-size:calc(34 * var(--u));transform:rotate(16deg);text-align:center}
.rh-note--b{left:calc(372 * var(--u));top:calc(884 * var(--u));font-size:calc(30 * var(--u));transform:rotate(-14deg)}
.rh svg path{fill:none;stroke:var(--orange-text);stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1;stroke-dashoffset:1;animation:rhDraw 1s cubic-bezier(.6,0,.3,1) 1.2s forwards}
.rh-dood{position:absolute;left:calc(250 * var(--u));top:calc(300 * var(--u));width:calc(60 * var(--u));height:calc(60 * var(--u))}
.rh-arrow{position:absolute}
.rh-arrow--a{left:calc(1150 * var(--u));top:calc(312 * var(--u));width:calc(140 * var(--u));height:calc(170 * var(--u))}
.rh-arrow--a path+path,.rh-arrow--b path+path{animation-delay:1.9s;animation-duration:.4s}
.rh-arrow--b{left:calc(506 * var(--u));top:calc(846 * var(--u));width:calc(80 * var(--u));height:calc(50 * var(--u))}
.reel{position:absolute;left:0;right:0;top:calc(360 * var(--u));height:calc(470 * var(--u));cursor:grab;touch-action:pan-y;user-select:none;-webkit-user-select:none;outline-offset:4px;animation:rhRise 1s cubic-bezier(.2,.8,.2,1) .7s backwards}
.reel.is-drag{cursor:grabbing}
.rc{position:absolute;left:0;top:0;overflow:hidden;background:var(--paper-2);color:#fff;text-decoration:none;will-change:transform,clip-path;-webkit-tap-highlight-color:transparent}
.rc-m{position:absolute;left:0;top:0;background-size:100% 100%;pointer-events:none}
.rc-m video{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:0;transition:opacity .5s}
.rc-m video.on{opacity:1}
.rc::after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(21,24,59,.55),rgba(21,24,59,0) 42%);pointer-events:none}
.rc-l{position:absolute;left:calc(12 * var(--u));right:calc(10 * var(--u));bottom:var(--lb,12px);z-index:1;display:flex;align-items:center;gap:calc(8 * var(--u));pointer-events:none}
.rc-l i{flex:none;display:grid;place-items:center;width:calc(34 * var(--u));height:calc(34 * var(--u));min-width:24px;min-height:24px;border-radius:50%;background:rgba(255,255,255,.28);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.4)}
.rc-l b{font-weight:600;font-size:max(11px,calc(15 * var(--u)));line-height:1.15;text-shadow:0 1px 8px rgba(0,0,0,.25)}
.rc:focus-visible{outline:3px solid var(--orange)}
.rh-cta{position:absolute;left:50%;top:calc(840 * var(--u));transform:translateX(-50%);padding:calc(7 * var(--u));border:1.5px dashed var(--orange);border-radius:999px;animation:rhPop .7s cubic-bezier(.2,1.4,.4,1) .9s backwards}
.rh-cta .btn{white-space:nowrap}
.crumb-bar{padding-block:.5rem 0}
@keyframes rhPop{from{opacity:0;transform:translateX(-50%) scale(.85)}}
@keyframes rhRise{from{opacity:0;transform:translateY(24px);filter:blur(8px)}}
@keyframes rhFade{from{opacity:0}}
@keyframes rhDraw{to{stroke-dashoffset:0}}
@media (max-width:820px){
  .rh{--u:1px;height:auto;overflow:hidden;padding:1.6rem 0 2rem}
  .rf{position:relative;left:auto;width:auto;transform:none;display:flex;flex-direction:column;align-items:center;gap:1rem}
  .rh-badge,.rh-h,.rh-sub,.rh-cta,.reel{position:relative;top:auto;left:auto;right:auto;transform:none}
  .rh-badge{font-size:.8125rem;padding:.45rem .9rem;margin-inline:16px;white-space:normal;text-align:center;animation:rhFade .6s backwards}
  .rh-h{font-size:clamp(38px,11vw,56px);line-height:1.02;padding-inline:16px}
  .rh-sub{width:auto;max-width:34rem;padding-inline:16px;font-size:1.02rem;line-height:1.5}
  .reel{width:100%;height:250px;margin-top:.4rem;--u:calc(100vw / 640)}
  .rc-l b{font-size:12px}
  .rh-cta{padding:6px;margin-top:.3rem;animation:rhFade .6s backwards}
  .rh-note--b{position:relative;left:auto;top:auto;font-size:26px;transform:rotate(-6deg);margin-top:-.3rem}
  .rh-dood,.rh-note--a,.rh-arrow{display:none}
}
@media (prefers-reduced-motion:reduce){.rh *,.reel{animation:none!important}.rh svg path{stroke-dashoffset:0}}
.ft-rooms{margin-top:.8rem;font-size:.875rem;opacity:.85}
.nav a.nav-ca{color:var(--violet)}
.fmt,.place{min-width:0}.fmt p,.place .note,.ft-rooms,.lead,.intro{overflow-wrap:anywhere}
