/* Into the Rox Zone — peaufinage modern (Space Grotesk + effets) · 05/11/2026 */
@font-face{
  font-family:"Space Grotesk";
  src:url(/fonts/space-grotesk.woff2) format("woff2-variations"),
      url(/fonts/space-grotesk.woff2) format("woff2");
  font-weight:300 700;
  font-style:normal;
  font-display:swap;
  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:"Space Grotesk";
  src:url(/fonts/space-grotesk-latin-ext.woff2) format("woff2-variations"),
      url(/fonts/space-grotesk-latin-ext.woff2) format("woff2");
  font-weight:300 700;
  font-style:normal;
  font-display:swap;
  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;
}
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
body{
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,"Hiragino Sans","Noto Sans JP",sans-serif !important;
  letter-spacing:.005em;
}
h1,h2,h3,.logo,.xf-word,.kicker,.gc h3,.card h3,.hero h1,.anecdote h2{
  font-family:"Space Grotesk",system-ui,-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif !important;
  letter-spacing:-.02em;
  font-weight:700 !important;
  text-wrap:balance;
}
h1{letter-spacing:-.03em;line-height:1.05 !important}
h2{line-height:1.12 !important;letter-spacing:-.025em}
h3{line-height:1.2 !important;letter-spacing:-.015em}
.kicker,.eyebrow{
  font-family:"Space Grotesk",system-ui,sans-serif !important;
  letter-spacing:.12em !important;
  font-weight:600 !important;
  text-transform:uppercase;
}
header.top{
  position:sticky;
  top:0;
  z-index:60;
  background:rgba(11,11,12,.72);
  backdrop-filter:blur(16px) saturate(1.35);
  -webkit-backdrop-filter:blur(16px) saturate(1.35);
  border-bottom:1px solid rgba(168,85,247,.14);
  box-shadow:0 8px 28px rgba(0,0,0,.22);
  padding-top:12px !important;
  padding-bottom:12px !important;
  transition:background .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.bookbar,.card,.gc,.panel,.avis blockquote,.histoire-photo img,.hj-photo img{
  border-radius:14px !important;
}
.bookbar{
  border:1px solid rgba(168,85,247,.22) !important;
  box-shadow:0 10px 28px rgba(0,0,0,.28);
  padding:14px 16px !important;
  transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease;
}
.btn,a.btn,.gc-go,.sticky .btn{
  border-radius:12px !important;
  letter-spacing:.02em;
  font-weight:800 !important;
  transition:transform .22s cubic-bezier(.22,1,.36,1), box-shadow .22s ease, background .22s ease, filter .22s ease;
}
.btn:hover,a.btn:hover,.gc-go:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 26px rgba(168,85,247,.34);
  filter:brightness(1.05);
}
.btn:active,a.btn:active,.gc-go:active{transform:translateY(0)}
.card,.gc{
  border:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.03),transparent 40%), var(--panel,#161618);
  box-shadow:0 8px 24px rgba(0,0,0,.22);
  transition:border-color .25s ease, transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease;
}
.gc:hover,.card:hover{
  border-color:rgba(168,85,247,.38);
  transform:translateY(-3px);
  box-shadow:0 14px 32px rgba(0,0,0,.3), 0 0 0 1px rgba(168,85,247,.12);
}
a:not(.btn):not(.gc-go):not(.mn){
  transition:color .2s ease, opacity .2s ease;
}
a:not(.btn):not(.gc-go):not(.mn):hover{color:var(--v,#a855f7)}
.langs a.mn{letter-spacing:.01em;transition:color .2s ease, opacity .2s ease}
.langs a.mn:hover{color:var(--v,#a855f7)}
section{padding-top:clamp(42px,6vw,72px);padding-bottom:clamp(42px,6vw,72px)}
.wrap{max-width:1040px}
.logo{
  font-family:"Space Grotesk",system-ui,sans-serif !important;
  letter-spacing:.04em !important;
  font-weight:700 !important;
}
.lsw>summary{
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
  border-color:rgba(168,85,247,.45) !important;
  transition:border-color .2s ease, background .2s ease, color .2s ease;
}
/* keep titles centered / no overflow */
h1,h2,h3{overflow-wrap:break-word;word-break:normal}
@media(max-width:860px){
  .top .logo{width:100%!important;text-align:center!important;display:block!important}
}

/* DA align 05/11/2026 : menu footer cliquable au-dessus du canvas */
footer.xf .mfoot{position:relative;z-index:2}
footer.xf .xf-cv{pointer-events:none}

/* footer wordmark / colonnes : Space Grotesk (override Oswald inline) */
.xf-word,.xf h3{
  font-family:"Space Grotesk",system-ui,"Hiragino Sans","Noto Sans JP",sans-serif !important;
}

/* ——— scroll reveal (modern.js ajoute .rz-in) ——— */
.rz-reveal{
  opacity:0;
  transform:translateY(14px);
  transition:opacity .55s cubic-bezier(.22,1,.36,1), transform .55s cubic-bezier(.22,1,.36,1);
  will-change:opacity,transform;
}
.rz-reveal.rz-in{
  opacity:1;
  transform:none;
}
.rz-reveal.rz-delay-1{transition-delay:.06s}
.rz-reveal.rz-delay-2{transition-delay:.12s}
.rz-reveal.rz-delay-3{transition-delay:.18s}

@media(prefers-reduced-motion:reduce){
  .rz-reveal,.rz-reveal.rz-in{
    opacity:1 !important;
    transform:none !important;
    transition:none !important;
  }
  .btn,a.btn,.gc-go,.card,.gc,.bookbar,header.top{
    transition:none !important;
  }
  .btn:hover,a.btn:hover,.gc-go:hover,.card:hover,.gc:hover{
    transform:none !important;
  }
}

/* audit 05/11 : contraste titres + bandeau cookies */
.xf-word{color:#141416 !important;-webkit-text-stroke:2px #9a9aa3 !important}
.xf-word b{color:#141416 !important;-webkit-text-stroke:2px #c48bff !important}
h3{color:inherit}
body.rox-cc-open{padding-bottom:var(--rox-cc-h,220px) !important}

/* burger mobile · audit 05/11 */
.rz-burger{display:none}
@media(max-width:640px){
header.top.rz-hasburger{position:relative}
header.top.rz-hasburger .rz-burger{display:flex;flex-direction:column;justify-content:center;gap:5px;position:absolute;right:12px;top:8px;width:42px;height:42px;padding:9px;background:#161618;border:1px solid #3a2d52;border-radius:10px;cursor:pointer;z-index:5}
.rz-burger span{display:block;height:2px;background:#f6f6f4;border-radius:2px;transition:transform .2s,opacity .2s}
header.top.rz-open .rz-burger span:nth-child(1){transform:translateY(7px) rotate(45deg)}
header.top.rz-open .rz-burger span:nth-child(2){opacity:0}
header.top.rz-open .rz-burger span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
header.top.rz-hasburger .logo{display:block;padding-right:56px;text-align:left}
header.top.rz-hasburger nav.langs .mn{display:none}
header.top.rz-hasburger.rz-open nav.langs{flex-direction:column;align-items:stretch}
header.top.rz-hasburger.rz-open nav.langs .mn{display:block;padding:12px 4px;border-bottom:1px solid #2a2a2e;font-size:16px}
}
