/* Hi curious! Bienvenue dans le code d'emypreston. */
  /* Polices auto-hébergées (aucune requête vers Google Fonts) */
  @font-face{
    font-family:'YoungerThanMe';
    src:url('../fonts/YoungerThanMe.woff2') format('woff2'), url('../fonts/YoungerThanMe.ttf') format('truetype');
    font-display:swap;
  }
  @font-face{
    font-family:'Inter';
    src:url('../fonts/Inter-latin-var.woff2') format('woff2');
    font-weight:100 900;
    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 Mono';
    src:url('../fonts/SpaceMono-400.woff2') format('woff2');
    font-weight:400;
    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 Mono';
    src:url('../fonts/SpaceMono-700.woff2') format('woff2');
    font-weight: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;
  }

  :root{
    --bg: #0d0d0e;
    --bg-raised: #151417;
    --paper: #f2eee7;
    --paper-dim: #a89fae;
    --violet: #7c5aa6;
    --violet-light: #b79bd6;
    --violet-deep: #4a3563;
    --line: #322d38;
  }

  *{ margin:0; padding:0; box-sizing:border-box; }

  html{ scroll-behavior:smooth; }

  body{
    background:var(--bg);
    color:var(--paper);
    font-family:'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    line-height:1.6;
    overflow-x:hidden;
  }

  /* grain overlay */
  body::before{
    content:"";
    position:fixed; inset:0;
    pointer-events:none;
    z-index:9999;
    opacity:0.05;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
    mix-blend-mode:overlay;
  }

  h1,h2,h3,.display{
    font-family:'YoungerThanMe', Impact, 'Arial Narrow', sans-serif;
    letter-spacing:0.01em;
    font-weight:400;
    text-transform:uppercase;
    line-height:0.92;
  }

  .mono{ font-family:'Space Mono', ui-monospace, Menlo, Consolas, monospace; }

  a{ color:inherit; text-decoration:none; }

  .wrap{
    max-width:1080px;
    margin:0 auto;
    padding:0 24px;
  }

  section{ position:relative; padding:120px 0; }

  .eyebrow{
    font-family:'Space Mono', ui-monospace, Menlo, Consolas, monospace;
    font-size:0.75rem;
    letter-spacing:0.25em;
    text-transform:uppercase;
    color:var(--violet-light);
    margin-bottom:16px;
    display:block;
  }

  /* ---------- HERO ---------- */
  .hero{
    min-height:100svh;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    text-align:center;
    padding:40px 24px;
    position:relative;
    overflow:hidden;
  }

  .hero__bg{
    position:absolute;
    inset:0;
    z-index:0;
    background-image:url('../franco.jpg');
    background-size:cover;
    background-position:center 30%;
    background-attachment:fixed;
    filter:blur(6px) brightness(0.32) saturate(1.1);
    transform:scale(1.08);
  }

  .hero__bg::after{ content:""; }

  .hero__scrim{
    position:absolute;
    inset:0;
    z-index:0;
    background:linear-gradient(180deg, var(--bg) 0%, rgba(13,13,14,0.55) 35%, rgba(13,13,14,0.75) 70%, var(--bg) 100%);
  }

  .hero__glow{
    position:absolute;
    inset:-20%;
    z-index:0;
    background:
      radial-gradient(ellipse 45% 35% at 30% 30%, rgba(124,90,166,0.38), transparent 60%),
      radial-gradient(ellipse 45% 35% at 75% 65%, rgba(74,53,99,0.42), transparent 60%);
    filter:blur(40px);
    animation:drift 18s ease-in-out infinite alternate;
  }

  @keyframes drift{
    0%{ transform:translate(0,0) scale(1); }
    100%{ transform:translate(-2%, 2%) scale(1.08); }
  }

  .hero__content{ position:relative; z-index:1; }

  .hero__logo{
    width:min(680px, 82vw);
    height:auto;
    filter:drop-shadow(0 0 40px rgba(124,90,166,0.3));
    transition:filter 0.4s ease, transform 0.4s ease;
  }

  .hero__logo:hover{
    filter:drop-shadow(0 0 60px rgba(183,155,214,0.55));
    transform:scale(1.02);
  }

  .hero__tag{
    margin-top:28px;
    font-family:'Space Mono', ui-monospace, Menlo, Consolas, monospace;
    font-size:0.95rem;
    color:var(--paper-dim);
    letter-spacing:0.04em;
  }

  .hero__tag strong{ color:var(--paper); font-weight:700; }

  .hero__cta{
    margin-top:44px;
    display:flex;
    gap:16px;
    flex-wrap:wrap;
    justify-content:center;
  }

  .btn{
    font-family:'Space Mono', ui-monospace, Menlo, Consolas, monospace;
    font-size:0.8rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    padding:14px 30px;
    border:1px solid var(--paper);
    border-radius:999px;
    transition:background 0.25s, color 0.25s, border-color 0.25s, box-shadow 0.25s, transform 0.2s;
    cursor:pointer;
    background:transparent;
    color:var(--paper);
    display:inline-block;
  }

  .btn:hover{
    background:var(--paper);
    color:var(--bg);
    box-shadow:0 6px 24px rgba(0,0,0,0.35);
    transform:translateY(-1px);
  }

  .btn--solid{
    background:var(--violet);
    border-color:var(--violet);
    color:var(--paper);
  }

  .btn--solid:hover{
    background:var(--violet-light);
    border-color:var(--violet-light);
    color:var(--bg);
    box-shadow:0 6px 24px rgba(124,90,166,0.4);
    transform:translateY(-1px);
  }

  .scroll-cue{
    position:absolute;
    bottom:36px;
    left:50%;
    transform:translateX(-50%);
    width:1px;
    height:48px;
    background:linear-gradient(var(--paper-dim), transparent);
    z-index:1;
  }

  /* ---------- BIO ---------- */
  .bio{ border-top:1px solid var(--line); }

  .bio__grid{
    display:grid;
    grid-template-columns:1fr 1.4fr;
    gap:60px;
    align-items:start;
  }

  .bio h2{ font-size:clamp(1.9rem, 4.2vw, 2.8rem); }

  .bio p{ color:var(--paper-dim); font-size:1.05rem; max-width:58ch; }

  .bio p + p{ margin-top:1.2em; }

  .bio__photo{
    margin-top:32px;
    aspect-ratio:4/3;
    overflow:hidden;
    border-radius:10px;
    max-width:340px;
  }

  .bio__photo img{
    width:100%; height:100%;
    object-fit:cover;
    filter:grayscale(0.7) contrast(1.05) brightness(0.85);
    transition:transform 0.6s ease, filter 0.5s ease;
    display:block;
  }

  .bio__photo:hover img{
    filter:grayscale(0) contrast(1.05) brightness(0.95);
    transform:scale(1.06);
  }

  .bio__genres{
    margin-top:28px;
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }

  .genre-tag{
    font-family:'Space Mono', ui-monospace, Menlo, Consolas, monospace;
    font-size:0.72rem;
    letter-spacing:0.05em;
    text-transform:uppercase;
    padding:6px 14px;
    border:1px solid var(--line);
    border-radius:999px;
    color:var(--paper-dim);
    transition:border-color 0.25s, color 0.25s;
  }

  .genre-tag:hover{ border-color:var(--violet-light); color:var(--paper); }

  /* ---------- LINEUP ---------- */
  .lineup{ border-top:1px solid var(--line); background:var(--bg-raised); }

  .lineup h2{ font-size:clamp(1.9rem, 4.2vw, 2.8rem); margin-bottom:56px; }

  .lineup__grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:2px;
  }

  .member{
    position:relative;
    flex:0 0 calc((100% - 8px) / 5);
    box-shadow:0 0 0 1px var(--line);
    aspect-ratio:3/4;
    overflow:hidden;
    background:var(--bg);
  }

  .member img{
    width:100%; height:100%;
    object-fit:cover;
    filter:grayscale(1) contrast(1.05) brightness(0.85);
    transition:filter 0.5s ease, transform 0.6s ease;
    display:block;
  }

  .member:hover img{
    filter:grayscale(0) contrast(1.05) brightness(0.95);
    transform:scale(1.04);
  }

  .member__label{
    position:absolute;
    left:0; right:0; bottom:0;
    padding:14px 12px;
    background:linear-gradient(to top, rgba(0,0,0,0.85), transparent);
  }

  .member__name{ font-size:0.92rem; font-weight:600; display:block; }

  .member__role{
    font-family:'Space Mono', ui-monospace, Menlo, Consolas, monospace;
    font-size:0.68rem;
    color:var(--violet-light);
    text-transform:uppercase;
    letter-spacing:0.06em;
  }

  /* ---------- GALLERY ---------- */
  .gallery{ border-top:1px solid var(--line); }

  .gallery h2{ font-size:clamp(1.9rem, 4.2vw, 2.8rem); margin-bottom:48px; }

  .gallery__grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:8px;
  }

  .gallery__item{
    position:relative;
    overflow:hidden;
    border-radius:10px;
    cursor:pointer;
    aspect-ratio:1/1;
    padding:0;
    border:0;
    background:none;
    color:inherit;
    font:inherit;
    display:block;
    flex:0 0 calc((100% - 24px) / 4);
    width:calc((100% - 24px) / 4);
  }

  .gallery__item img{
    width:100%; height:100%;
    object-fit:cover;
    display:block;
    filter:grayscale(0.85) contrast(1.05) brightness(0.8);
    transform:scale(1.0);
    transition:transform 0.6s cubic-bezier(0.2,0.8,0.2,1), filter 0.5s ease;
  }

  .gallery__item:hover img,
  .gallery__item:focus-visible img{
    filter:grayscale(0) contrast(1.08) brightness(1);
    transform:scale(1.1);
  }

  .gallery__glow{
    position:absolute; inset:0;
    background:linear-gradient(135deg, rgba(124,90,166,0.25), transparent 60%);
    opacity:0;
    transition:opacity 0.4s;
    pointer-events:none;
  }

  .gallery__item:hover .gallery__glow,
  .gallery__item:focus-visible .gallery__glow{ opacity:1; }

  .gallery__zoom{
    position:absolute;
    top:10px; right:10px;
    width:28px; height:28px;
    border-radius:50%;
    background:rgba(13,13,14,0.55);
    backdrop-filter:blur(2px);
    display:flex; align-items:center; justify-content:center;
    opacity:0;
    transition:opacity 0.3s;
    pointer-events:none;
  }

  .gallery__item:hover .gallery__zoom,
  .gallery__item:focus-visible .gallery__zoom{ opacity:1; }

  .gallery__zoom svg{ width:14px; height:14px; stroke:var(--paper); }

  @media (max-width: 860px){
    .gallery__grid{ gap:5px; }
    .gallery__item{ flex-basis:calc((100% - 10px) / 3); width:calc((100% - 10px) / 3); }
  }

  @media (max-width: 520px){
    .gallery__item{ flex-basis:calc((100% - 5px) / 2); width:calc((100% - 5px) / 2); }
  }

  /* ---------- LIGHTBOX ---------- */
  .lightbox{
    position:fixed;
    inset:0;
    z-index:1000;
    background:rgba(8,8,9,0.94);
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity 0.25s ease, visibility 0s linear 0.25s;
    padding:60px 20px;
  }

  .lightbox.is-open{ opacity:1; visibility:visible; pointer-events:auto; transition:opacity 0.25s ease; }

  .lightbox__img{
    max-width:min(1000px, 90vw);
    max-height:80vh;
    object-fit:contain;
    border-radius:6px;
    box-shadow:0 20px 60px rgba(0,0,0,0.5);
  }

  .lightbox__close, .lightbox__prev, .lightbox__next{
    position:absolute;
    background:transparent;
    border:1px solid rgba(242,238,231,0.3);
    color:var(--paper);
    border-radius:50%;
    width:44px; height:44px;
    display:flex; align-items:center; justify-content:center;
    cursor:pointer;
    transition:border-color 0.2s, background 0.2s;
  }

  .lightbox__close:hover, .lightbox__prev:hover, .lightbox__next:hover{
    border-color:var(--violet-light);
    background:rgba(124,90,166,0.15);
  }

  .lightbox__close{ top:20px; right:20px; }
  .lightbox__prev{ left:20px; top:50%; transform:translateY(-50%); }
  .lightbox__next{ right:20px; top:50%; transform:translateY(-50%); }

  .lightbox__counter{
    position:absolute;
    bottom:24px; left:50%;
    transform:translateX(-50%);
    font-family:'Space Mono', ui-monospace, Menlo, Consolas, monospace;
    font-size:0.75rem;
    color:var(--paper-dim);
    letter-spacing:0.05em;
  }

  @media (max-width: 600px){
    .lightbox__prev{ left:8px; }
    .lightbox__next{ right:8px; }
    .lightbox__close{ top:12px; right:12px; }
  }

  /* ---------- LISTEN ---------- */
  .listen{
    border-top:1px solid var(--line);
    text-align:center;
  }

  .listen h2{ font-size:clamp(1.8rem, 4vw, 2.5rem); margin-bottom:20px; }

  .listen p{ color:var(--paper-dim); max-width:48ch; margin:0 auto 36px; }

  /* ---------- BOOKING ---------- */
  .booking{ border-top:1px solid var(--line); background:var(--bg-raised); }

  .booking__grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
  }

  .booking h2{ font-size:clamp(1.9rem, 4.2vw, 2.8rem); margin-bottom:8px; }

  .booking__sub{ color:var(--paper-dim); margin-bottom:36px; font-size:0.95rem; }

  .specs{ margin:0; }

  .specs > div{
    display:flex;
    justify-content:space-between;
    gap:16px;
    padding:16px 4px;
    border-bottom:1px solid var(--line);
    transition:padding-left 0.25s, background 0.25s;
  }

  .specs > div:hover{ padding-left:12px; background:rgba(124,90,166,0.06); }

  .specs > div:first-child{ border-top:1px solid var(--line); }

  .specs dt{
    font-family:'Space Mono', ui-monospace, Menlo, Consolas, monospace;
    font-size:0.78rem;
    text-transform:uppercase;
    letter-spacing:0.05em;
    color:var(--paper-dim);
  }

  .specs dd{ text-align:right; font-size:0.95rem; max-width:60%; margin:0; }

  .booking-toggle{ margin-top:8px; }

  .booking-toggle summary{
    cursor:pointer;
    list-style:none;
    display:inline-flex;
    align-items:center;
    gap:10px;
    padding:14px 30px;
    font-family:'Space Mono', ui-monospace, Menlo, Consolas, monospace;
    font-size:0.8rem;
    text-transform:uppercase;
    letter-spacing:0.08em;
    color:var(--paper);
    border:1px solid var(--paper);
    border-radius:999px;
    transition:background 0.25s, color 0.25s, box-shadow 0.25s, transform 0.2s;
  }

  .booking-toggle summary:hover{
    background:var(--paper);
    color:var(--bg);
    box-shadow:0 6px 24px rgba(0,0,0,0.35);
    transform:translateY(-1px);
  }

  .booking-toggle summary::-webkit-details-marker{ display:none; }

  .booking-toggle summary::after{
    content:"+";
    font-size:1rem;
    transition:transform 0.25s;
  }

  .booking-toggle[open] summary::after{ transform:rotate(45deg); }

  .booking-toggle .booking__grid{
    margin-top:44px;
    animation:fadeIn 0.4s ease;
  }

  @keyframes fadeIn{
    from{ opacity:0; transform:translateY(6px); }
    to{ opacity:1; transform:translateY(0); }
  }

  .video-grid{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:20px;
    max-width:1080px;
    margin:0 auto;
  }

  .video-embed{
    position:relative;
    flex:0 0 calc((100% - 40px) / 3);
    width:calc((100% - 40px) / 3);
    aspect-ratio:16/9;
    border:1px solid var(--line);
    border-radius:10px;
    overflow:hidden;
    background:var(--bg-raised);
  }

  .video-embed iframe{
    position:absolute; inset:0;
    width:100%; height:100%;
    border:0;
  }

  @media (max-width: 960px){
    .video-embed{ flex-basis:calc((100% - 20px) / 2); width:calc((100% - 20px) / 2); }
  }
  @media (max-width: 620px){
    .video-embed{ flex-basis:100%; width:100%; }
  }

  .phone-line{
    margin-top:8px;
    font-family:'Space Mono', ui-monospace, Menlo, Consolas, monospace;
    font-size:1rem;
  }

  .spec-note{ color:var(--paper-dim); font-size:0.8rem; }
  .btn--mt{ margin-top:28px; }
  .rider-title{ margin-bottom:24px; font-size:1.4rem; }
  .listen p.listen__cta{ margin-top:28px; margin-bottom:0; }

  .rider{
    font-family:'Space Mono', ui-monospace, Menlo, Consolas, monospace;
    font-size:0.85rem;
    color:var(--paper-dim);
  }

  .rider__row{
    display:flex;
    justify-content:space-between;
    padding:12px 4px;
    border-bottom:1px dashed var(--line);
    gap:16px;
    transition:padding-left 0.25s, background 0.25s;
  }

  .rider__row:hover{ padding-left:10px; background:rgba(124,90,166,0.06); }

  .rider__row span:last-child{ color:var(--paper); text-align:right; }

  /* ---------- CONTACT ---------- */
  .contact{
    border-top:1px solid var(--line);
    text-align:center;
    position:relative;
    overflow:hidden;
  }

  .contact__glow{
    position:absolute;
    inset:0;
    background:radial-gradient(ellipse 60% 50% at 50% 100%, rgba(124,90,166,0.3), transparent 70%);
    z-index:0;
  }

  .contact__content{ position:relative; z-index:1; }

  .contact h2{ font-size:clamp(1.9rem, 5vw, 3.2rem); }

  .contact p{ color:var(--paper-dim); margin-top:16px; margin-bottom:40px; }

  .contact__actions{
    display:flex;
    gap:16px;
    justify-content:center;
    flex-wrap:wrap;
  }

  .contact__reveal{
    margin-top:28px;
    font-family:'Space Mono', ui-monospace, Menlo, Consolas, monospace;
    font-size:0.95rem;
    color:var(--paper-dim);
    min-height:1.4em;
  }

  .contact__reveal a{ color:var(--paper); border-bottom:1px solid var(--violet-light); }
  .phone-line a{ color:var(--paper); border-bottom:1px solid var(--violet-light); }

  footer{
    border-top:1px solid var(--line);
    padding:18px 32px;
    display:flex;
    justify-content:flex-end;
    align-items:center;
    flex-wrap:wrap;
    gap:8px 16px;
    font-family:'Space Mono', ui-monospace, Menlo, Consolas, monospace;
    font-size:0.7rem;
    color:#9a91a1;
    letter-spacing:0.02em;
  }

  .footer-credit a{ color:inherit; border-bottom:1px solid transparent; transition:color 0.2s, border-color 0.2s; }
  .footer-credit a:hover{ color:var(--paper); border-color:var(--violet-light); }

  .footer-btn{
    display:inline-block;
    padding:5px 14px;
    border:1px solid #4a4650;
    border-radius:999px;
    background:#1f1d23;
    color:#c9c3cf;
    font:inherit;
    font-size:0.68rem;
    letter-spacing:0.08em;
    text-transform:uppercase;
    cursor:pointer;
    transition:background 0.2s, border-color 0.2s, color 0.2s;
  }
  .footer-btn:hover{ background:#2b2830; border-color:#6b6573; color:var(--paper); }

  @media (max-width: 760px){
    footer{ justify-content:center; text-align:center; padding:18px 20px; }
  }

  @media (max-width: 860px){
    section{ padding:80px 0; }
    .bio__grid, .booking__grid{ grid-template-columns:1fr; gap:36px; }
    .member{ flex-basis:calc((100% - 2px) / 2); }
    .specs dd{ text-align:right; }
  }

  @media (prefers-reduced-motion: reduce){
    .hero__glow{ animation:none; }
    html{ scroll-behavior:auto; }
    .booking-toggle .booking__grid{ animation:none; }
    *{ transition-duration:0.01ms !important; }
  }

  /* ---------- ACCESSIBILITÉ ---------- */
  .sr-only{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }

  .skip-link{
    position:absolute; left:16px; top:-60px; z-index:10000;
    background:var(--paper); color:var(--bg);
    padding:10px 18px; border-radius:999px;
    font-family:'Space Mono', ui-monospace, Menlo, Consolas, monospace; font-size:0.8rem;
    transition:top 0.2s;
  }
  .skip-link:focus{ top:12px; }

  a:focus-visible, button:focus-visible, summary:focus-visible{
    outline:2px solid var(--violet-light);
    outline-offset:3px;
  }

  /* ---------- MESURE D'AUDIENCE (affichée uniquement si GA4 est configuré) ---------- */
  .consent{
    position:fixed; left:16px; right:16px; bottom:16px; z-index:10001;
    max-width:560px; margin:0 auto;
    background:var(--bg-raised);
    border:1px solid var(--violet-deep);
    border-radius:14px;
    padding:18px 20px;
    box-shadow:0 12px 40px rgba(0,0,0,0.55);
    font-size:0.85rem; line-height:1.5; color:var(--paper);
  }
  .consent[hidden]{ display:none; }
  .consent p{ color:var(--paper-dim); margin:0 0 14px; }
  .consent a{ color:var(--paper); border-bottom:1px solid var(--violet-light); }
  .consent__actions{ display:flex; gap:10px; flex-wrap:wrap; }
  .consent .btn{ padding:10px 22px; font-size:0.75rem; }


  /* ---------- PAGES SECONDAIRES (404, confidentialité) ---------- */
  .page{ min-height:100svh; padding:96px 0; }
  .page h1{ font-size:clamp(2.2rem, 6vw, 3.6rem); margin-bottom:28px; }
  .page h2{ font-size:1.3rem; margin:36px 0 10px; }
  .page p, .page li{ color:var(--paper-dim); max-width:68ch; }
  .page ul{ margin:10px 0 0 20px; }
  .page a{ color:var(--paper); border-bottom:1px solid var(--violet-light); }
  .page a.btn{ border-bottom:1px solid var(--paper); }

  .page__cta{ margin-top:32px; }

  /* Pages secondaires : même univers que l'accueil */
  .page{ position:relative; overflow:hidden; }
  .page__glow{
    position:absolute; inset:-20%; z-index:0; pointer-events:none;
    background:
      radial-gradient(ellipse 45% 35% at 25% 20%, rgba(124,90,166,0.34), transparent 60%),
      radial-gradient(ellipse 45% 35% at 80% 80%, rgba(74,53,99,0.42), transparent 60%);
    filter:blur(40px);
  }
  .page .wrap{ position:relative; z-index:1; }
  .page__logo{ display:inline-block; margin-bottom:64px; border:0 !important; }
  .page__logo img{ width:150px; height:auto; display:block; filter:drop-shadow(0 0 30px rgba(124,90,166,0.3)); }
  .page--center{ display:flex; align-items:center; text-align:center; }
  .page--center .page__logo{ margin-bottom:40px; }
  .page--center p{ margin-left:auto; margin-right:auto; }
  .page__code{
    font-family:'YoungerThanMe', Impact, 'Arial Narrow', sans-serif;
    font-size:clamp(6rem, 28vw, 15rem); line-height:0.85; text-transform:uppercase;
    color:var(--violet-light); text-shadow:0 0 60px rgba(124,90,166,0.45);
    display:block; margin-bottom:12px;
  }
  .page h2{ padding-top:24px; border-top:1px solid var(--line); font-size:1.25rem; }
  .page__foot{
    margin-top:72px; font-family:'Space Mono', ui-monospace, Menlo, Consolas, monospace;
    font-size:0.7rem; color:var(--paper-dim); opacity:0.8; letter-spacing:0.02em;
  }
  .page__foot a{ border-bottom:1px solid transparent; }
  .page a.btn--solid{ border-bottom-color:var(--violet); }

  /* Vidéos : aperçu + bouton play, YouTube ne se charge qu'au clic */
  .video-facade{
    position:absolute; inset:0; display:block; cursor:pointer;
    background:var(--bg-raised);
  }
  .video-thumb{
    position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
    filter:brightness(0.95) saturate(1.05);
    transition:filter 0.4s ease, transform 0.6s ease;
  }
  .video-facade::after{
    content:""; position:absolute; inset:0; pointer-events:none;
    background:linear-gradient(to top, rgba(13,13,14,0.7), transparent 32%);
  }
  .video-facade:hover .video-thumb,
  .video-facade:focus-visible .video-thumb{ filter:brightness(1.15) saturate(1.1); transform:scale(1.04); }
  .video-circle{
    position:absolute; left:50%; top:50%; z-index:1;
    width:68px; height:68px; margin:-34px 0 0 -34px;
    border-radius:50%;
    background:var(--violet);
    box-shadow:0 8px 28px rgba(0,0,0,0.5), 0 0 0 6px rgba(124,90,166,0.28);
    transition:background 0.25s, transform 0.25s, box-shadow 0.25s;
  }
  .video-circle::before{
    content:""; position:absolute; left:50%; top:50%;
    margin:-11px 0 0 -7px;
    border-left:20px solid #fff; border-top:11px solid transparent; border-bottom:11px solid transparent;
  }
  .video-facade:hover .video-circle,
  .video-facade:focus-visible .video-circle{
    background:var(--violet-light); transform:scale(1.08);
    box-shadow:0 10px 34px rgba(0,0,0,0.55), 0 0 0 8px rgba(183,155,214,0.28);
  }
