  :root{
      --bg:#0d1726;
      --bg2:#13223a;
      --card:#172840;
      --card2:#1e3352;
      --cream:#fff6df;
      --text:#f8fafc;
      --muted:rgba(248,250,252,.76);
      --soft:rgba(248,250,252,.12);
      --gold:#f6c66b;
      --gold2:#ffd98a;
      --brown:#6f4e1f;
      --shadow:0 22px 60px rgba(0,0,0,.32);
      --radius:28px;
    }

    *{box-sizing:border-box}

    html{scroll-behavior:smooth}

    body{
      margin:0;
      font-family:Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background:
        radial-gradient(circle at 20% 0%, rgba(246,198,107,.22), transparent 35%),
        radial-gradient(circle at 90% 12%, rgba(87,135,190,.22), transparent 36%),
        linear-gradient(180deg, var(--bg), #0a1020 55%, #080d18);
      color:var(--text);
      line-height:1.55;
    }

    img{
      max-width:100%;
      display:block;
    }

    a{color:inherit}

    .page{
      width:min(1120px, 100%);
      margin:0 auto;
      padding:0 18px 36px;
    }



.price-old{
  font-size:1.3rem;
  color:#b5b5b5;
  text-decoration:line-through;
  margin-bottom:6px;
}

.price-value{
  font-size:2.6rem;
  font-weight:800;
  color:#f6c66b;
}

    .topbar{
      position:sticky;
      top:0;
      z-index:20;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:14px;
      padding:14px 18px;
      margin:0 -18px;
      background:rgba(13,23,38,.78);
      backdrop-filter:blur(16px);
      border-bottom:1px solid rgba(255,255,255,.08);
    }

    .brand{
      display:flex;
      align-items:center;
      gap:9px;
      font-weight:800;
      font-size:.92rem;
      letter-spacing:.01em;
      text-decoration:none;
    }

    .brand-mark{
      width:30px;
      height:30px;
      display:grid;
      place-items:center;
      border-radius:999px;
      color:#111827;
      background:linear-gradient(135deg,var(--gold),#fff1bd);
      box-shadow:0 8px 24px rgba(246,198,107,.28);
    }

    .topbar-actions{
      display:flex;
      gap:8px;
      align-items:center;
    }

    .mini-link{
      display:none;
      color:var(--muted);
      text-decoration:none;
      font-size:.9rem;
      font-weight:650;
    }

    .btn{
      display:inline-flex;
      justify-content:center;
      align-items:center;
      gap:8px;
      min-height:52px;
      padding:14px 22px;
      border-radius:999px;
      border:0;
      font-weight:800;
      text-decoration:none;
      cursor:pointer;
      text-align:center;
      transition:transform .18s ease, box-shadow .18s ease, opacity .18s ease;
    }

    .btn:hover{transform:translateY(-1px)}

    .btn-primary{
      color:#1a1204;
      background:linear-gradient(135deg,var(--gold),var(--gold2));
      box-shadow:0 14px 34px rgba(246,198,107,.28);
    }

    .btn-secondary{
      color:var(--cream);
      background:rgba(255,255,255,.09);
      border:1px solid rgba(255,255,255,.16);
    }

    .btn-small{
      min-height:42px;
      padding:10px 14px;
      font-size:.88rem;
    }

    .hero{
      display:grid;
      gap:26px;
      padding:34px 0 24px;
      align-items:center;
    }

    .eyebrow{
      display:inline-flex;
      align-items:center;
      gap:8px;
      width:max-content;
      max-width:100%;
      margin-bottom:14px;
      padding:7px 11px;
      border:1px solid rgba(246,198,107,.35);
      border-radius:999px;
      color:#ffe2a3;
      background:rgba(246,198,107,.12);
      font-size:.82rem;
      font-weight:750;
    }

    h1,h2,h3{
      font-family:"Cormorant Garamond", Georgia, serif;
      line-height:1.04;
      margin:0;
    }

    h1{
      font-size:clamp(2.35rem, 12vw, 5.8rem);
      letter-spacing:-.035em;
      max-width:820px;
    }

    h2{
      font-size:clamp(2rem, 8vw, 4.1rem);
      letter-spacing:-.025em;
      margin-bottom:14px;
    }

    h3{
      font-size:1.55rem;
      margin-bottom:8px;
    }

    p{
      margin:0 0 14px;
      color:var(--muted);
      font-size:1.03rem;
    }

    .lead{
      font-size:clamp(1.1rem, 4vw, 1.35rem);
      color:rgba(255,255,255,.88);
      max-width:680px;
    }

    .hero-actions{
      display:grid;
      gap:12px;
      margin-top:24px;
      max-width:440px;
    }

    .note{
      font-size:.9rem;
      color:rgba(255,255,255,.64);
      text-align:center;
      margin:0;
    }

    .hero-media{
      position:relative;
      border-radius:var(--radius);
      overflow:hidden;
      border:1px solid rgba(255,255,255,.13);
      box-shadow:var(--shadow);
      background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.03));
    }

    .hero-media img{
      width:100%;
      height:auto;
      max-height:none;
      object-fit:contain;
      background:#10203a;
    }

    .floating-card{
      position:absolute;
      left:14px;
      right:14px;
      bottom:14px;
      padding:14px;
      border-radius:20px;
      background:rgba(12,21,35,.78);
      backdrop-filter:blur(14px);
      border:1px solid rgba(255,255,255,.12);
    }

    .floating-card strong{
      display:block;
      color:var(--cream);
      margin-bottom:2px;
    }

    .floating-card span{
      color:rgba(255,255,255,.72);
      font-size:.9rem;
    }

    .section{
      padding:34px 0;
    }

    .panel{
      border:1px solid rgba(255,255,255,.1);
      border-radius:var(--radius);
      padding:22px;
      background:linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
      box-shadow:0 18px 48px rgba(0,0,0,.18);
    }

    .problem-list{
      display:grid;
      gap:10px;
      margin:18px 0 0;
    }

    .problem-line{
      padding:15px 16px;
      border-radius:18px;
      background:rgba(255,255,255,.07);
      color:rgba(255,255,255,.88);
      font-weight:650;
    }

    .visual-section{
      display:grid;
      gap:22px;
      align-items:center;
    }

    .image-card{
      border-radius:var(--radius);
      overflow:hidden;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(255,255,255,.05);
      box-shadow:var(--shadow);
    }

    .image-card img{
      width:100%;
      height:auto;
      object-fit:contain;
    }

    .path-img img{
      width:100%;
      height:auto;
      aspect-ratio:auto;
      object-fit:contain;
      background:#10203a;
    }

    .pill-list{
      display:flex;
      flex-wrap:wrap;
      gap:8px;
      margin-top:16px;
    }

    .pill{
      padding:9px 12px;
      border-radius:999px;
      color:#fff7dc;
      background:rgba(246,198,107,.13);
      border:1px solid rgba(246,198,107,.24);
      font-size:.9rem;
      font-weight:700;
    }

    .free-box{
      background:
        radial-gradient(circle at 15% 0%, rgba(246,198,107,.22), transparent 42%),
        linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.035));
    }

    .check-list{
      list-style:none;
      padding:0;
      margin:18px 0;
      display:grid;
      gap:10px;
    }

    .check-list li{
      display:flex;
      gap:10px;
      align-items:flex-start;
      color:rgba(255,255,255,.88);
      font-weight:650;
    }

    .check-list li::before{
      content:"✓";
      flex:0 0 23px;
      width:23px;
      height:23px;
      display:grid;
      place-items:center;
      border-radius:999px;
      background:rgba(246,198,107,.18);
      color:var(--gold2);
      font-weight:900;
    }

    .free-actions{
      display:grid;
      gap:10px;
      margin-top:20px;
    }

    .offer-card{
      padding:24px;
      border-radius:var(--radius);
      background:linear-gradient(180deg, #fff6df, #f3dfaf);
      color:#201505;
      box-shadow:var(--shadow);
    }

    .offer-card h2,
    .offer-card p,
    .offer-card li{
      color:#201505;
    }

    .price{
      font-family:Inter,system-ui,sans-serif;
      font-size:3.5rem;
      font-weight:900;
      letter-spacing:-.05em;
      margin:4px 0 6px;
    }

    .offer-card .btn-primary{
      background:#111827;
      color:white;
      box-shadow:none;
      width:100%;
    }

    .faq{
      display:grid;
      gap:12px;
    }

    details{
      border-radius:18px;
      background:rgba(255,255,255,.07);
      border:1px solid rgba(255,255,255,.1);
      padding:16px 17px;
    }

    summary{
      cursor:pointer;
      font-weight:800;
      color:white;
    }

    details p{
      margin-top:10px;
      margin-bottom:0;
      font-size:.97rem;
    }

    .final-cta{
      text-align:center;
      padding:42px 18px;
      border-radius:var(--radius);
      background:
        radial-gradient(circle at 70% 0%, rgba(246,198,107,.23), transparent 40%),
        rgba(255,255,255,.06);
      border:1px solid rgba(255,255,255,.1);
    }

    .legal-footer{
      padding:30px 0 14px;
      text-align:center;
      color:rgba(255,255,255,.64);
      font-size:.86rem;
    }

    .legal-footer a{
      color:rgba(255,255,255,.8);
      text-decoration:none;
      margin:0 5px;
      cursor:pointer;
    }

    .modal-overlay{
      position:fixed;
      inset:0;
      z-index:100;
      display:none;
      align-items:center;
      justify-content:center;
      padding:18px;
      background:rgba(0,0,0,.68);
    }

    .modal-overlay.active{display:flex}

    .modal-box{
      width:min(760px,100%);
      max-height:86vh;
      overflow:auto;
      border-radius:22px;
      padding:24px;
      background:#101b2e;
      border:1px solid rgba(255,255,255,.14);
      box-shadow:var(--shadow);
      position:relative;
    }

    .modal-box button{
      position:sticky;
      float:right;
      top:0;
      margin-left:10px;
      width:38px;
      height:38px;
      border:0;
      border-radius:999px;
      cursor:pointer;
      color:white;
      background:rgba(255,255,255,.12);
      font-size:1.4rem;
    }

    .modal-box h2{
      font-size:2rem;
      margin-right:44px;
    }

    .modal-box p{
      font-size:.94rem;
    }



    .desktop-only{display:none}

    @media (min-width:760px){
      .page{padding:0 28px 48px}
      .topbar{margin:0 -28px;padding:16px 28px}
      .mini-link{display:inline-flex}
      .hero{
        grid-template-columns:1.05fr .95fr;
        padding:58px 0 42px;
      }
      .hero-actions{
        grid-template-columns:auto auto;
        align-items:center;
        max-width:none;
      }
      .hero-actions .note{
        grid-column:1 / -1;
        text-align:left;
      }
      .visual-section{
        grid-template-columns:1fr 1fr;
      }
      .preview-grid{
        grid-template-columns:repeat(3, 1fr);
      }
      .ritual-facts{
        grid-template-columns:repeat(4, 1fr);
      }
      .visual-section.reverse .image-card{order:2}
      .section{padding:50px 0}
      .panel{padding:30px}
      .free-actions{
        grid-template-columns:auto auto;
        align-items:center;
      }
      .desktop-only{display:block}
    }

    .ritual-preview{
      display:grid;
      gap:18px;
      align-items:start;
    }

    .preview-head{
      max-width:760px;
    }

    .preview-grid{
      display:grid;
      gap:14px;
      margin-top:22px;
    }

    .preview-card{
      overflow:hidden;
      border-radius:24px;
      background:rgba(255,255,255,.07);
      border:1px solid rgba(255,255,255,.11);
      box-shadow:0 14px 34px rgba(0,0,0,.18);
    }

    .preview-card img{
      width:100%;
      aspect-ratio:4/3;
      object-fit:cover;
      background:#10203a;
    }

    .preview-content{
      padding:18px;
    }

    .preview-step{
      display:inline-flex;
      margin-bottom:10px;
      padding:6px 10px;
      border-radius:999px;
      color:#1a1204;
      background:linear-gradient(135deg,var(--gold),var(--gold2));
      font-size:.82rem;
      font-weight:900;
    }

    .preview-content h3{
      font-family:Inter, system-ui, sans-serif;
      font-size:1.05rem;
      line-height:1.25;
      letter-spacing:-.01em;
    }

    .preview-content p{
      font-size:.96rem;
      margin-bottom:0;
    }

    .ritual-facts{
      display:grid;
      gap:10px;
      margin:20px 0 0;
    }

    .ritual-fact{
      display:flex;
      align-items:center;
      gap:10px;
      padding:12px 14px;
      border-radius:18px;
      background:rgba(255,255,255,.07);
      color:rgba(255,255,255,.9);
      font-weight:750;
    }

    .ritual-fact span{
      color:var(--gold2);
      font-weight:900;
    }

    .tool-positioning{
      margin-top:16px;
      padding:16px 18px;
      border-left:4px solid var(--gold);
      border-radius:18px;
      background:rgba(246,198,107,.11);
      color:rgba(255,255,255,.9);
      font-weight:700;
    }

.hero-parent img{
  width:100%;
  height:auto;
  object-fit:contain;
  background:#10203a;
}






.steps {
  display: grid;
  gap: 14px;
  margin-top: 22px;
}

.step {
  padding: 20px;
  border-radius: 22px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.1);
}

.step strong {
  display: block;
  color: var(--cream);
  margin-bottom: 6px;
  font-size: 1.05rem;
}

.protections-grid {
  display: grid;
  gap: 16px;
  margin-top: 24px;
}

.protection-card {
  overflow: hidden;
  border-radius: 24px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.11);
  box-shadow: 0 14px 34px rgba(0,0,0,.18);
}

.protection-card img {
  width: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  background: #10203a;
}

.protection-content {
  padding: 16px;
}

.protection-content h3 {
  font-family: Inter, system-ui, sans-serif;
  font-size: 1rem;
  line-height: 1.25;
  letter-spacing: -.01em;
  margin-bottom: 6px;
}

.protection-content p {
  font-size: .92rem;
  margin-bottom: 0;
}

.split {
  display: grid;
  gap: 24px;
  align-items: center;
}

.offer-box {
  background: linear-gradient(180deg, #fff6df, #f3dfaf);
  color: #201505;
  border-radius: var(--radius);
  padding: 26px;
  box-shadow: var(--shadow);
}

.offer-box h2,
.offer-box p,
.offer-box li {
  color: #201505;
}

.soft-callout {
  margin-top: 18px;
  padding: 16px 18px;
  border-left: 4px solid var(--gold);
  border-radius: 18px;
  background: rgba(246,198,107,.11);
  color: rgba(255,255,255,.9);
  font-weight: 700;
}

.purchase-action {
  margin-top: 20px;
}

.purchase-action .btn {
  width: 100%;
}

.offer-guide-link {
  margin: 12px 0 0;
  font-size: 0.82rem;
}

.offer-guide-link a {
  color: #72521a;
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}

.offer-guide-link a:hover,
.offer-guide-link a:focus-visible {
  color: #9a6812;
}

/* Le menu compact est exclusivement réservé aux écrans mobiles. */
@media (min-width: 760px) {
  .mobile-menu {
    display: none !important;
  }
}

@media (max-width: 759px) {
  .topbar {
    position: sticky;
    top: 0;
  }

  .topbar .brand {
    min-width: 0;
    max-width: calc(100% - 58px);
    overflow: hidden;
    font-size: 0.94rem;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .topbar .brand-mark {
    flex: 0 0 auto;
  }

  .topbar-actions {
    display: none;
  }

  .mobile-menu {
    position: absolute;
    z-index: 100;
    top: 8px;
    right: 16px;
    display: block !important;
    margin: 0;
  }

  .mobile-menu summary {
    display: grid;
    width: 42px;
    height: 42px;
    padding: 0;
    place-items: center;
    border: 1px solid rgba(246, 198, 107, 0.4);
    border-radius: 50%;
    background: #172335;
    color: #f6c66b;
    cursor: pointer;
    font-size: 0;
    list-style: none;
  }

  .mobile-menu summary::-webkit-details-marker {
    display: none;
  }

  .mobile-menu summary::before {
    content: "☰";
    font-size: 22px;
    line-height: 1;
  }

  .mobile-menu[open] summary::before {
    content: "×";
    font-size: 28px;
  }

  .mobile-menu nav {
    position: absolute;
    top: 50px;
    right: 0;
    display: grid;
    width: 280px;
    max-width: calc(100vw - 32px);
    padding: 10px;
    border: 1px solid rgba(246, 198, 107, 0.3);
    border-radius: 16px;
    background: #111f33;
    box-shadow: 0 18px 45px rgba(0, 0, 0, 0.45);
  }

  .mobile-menu nav a {
    display: block;
    padding: 13px 14px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    color: #fff;
    font-weight: 700;
    line-height: 1.3;
    text-decoration: none;
    white-space: normal;
  }

  .mobile-menu nav a:last-child {
    border-bottom: 0;
    color: #f6c66b;
  }
}

.price-final{
  text-align:center;
  margin-bottom:28px;
}

.price-label{
  display:block;
  color:var(--cream);
  opacity:.85;
  font-size:1rem;
  margin-bottom:8px;
}

.price-value{
  font-size:3rem;
  font-weight:800;
  color:var(--gold);
  line-height:1;
}

.price-note{
  margin-top:10px;
  color:var(--cream);
  opacity:.75;
  font-size:.95rem;
}



@media (min-width:760px) {
  .guide-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .offer-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .price-box {
    grid-template-columns: 1fr auto;
  }

  .steps {
    grid-template-columns: repeat(3, 1fr);
  }

  .protections-grid {
    grid-template-columns: repeat(5, 1fr);
  }

  .split {
    grid-template-columns: 1fr 1fr;
  }
}

/* Pages H?lio : accueil, parents et histoire. */
body.helio-home{--night:#111f30;--cream:#f4efdf;--gold:#dbc08a;--soft:#c8d0d6}
.helio-home *{box-sizing:border-box}
body.helio-home{margin:0;background:var(--night);color:var(--cream);font:18px/1.75 "Trebuchet MS",Arial,sans-serif}
.helio-home a{color:inherit}
.helio-home img{display:block;max-width:100%;height:auto}
.helio-home a:focus-visible,.helio-home button:focus-visible,.helio-home summary:focus-visible{outline:3px solid var(--gold);outline-offset:5px}
.helio-home .skip{position:absolute;top:-100px;left:16px;padding:12px;background:var(--cream);color:var(--night);z-index:200}
.helio-home .skip:focus{top:12px}
.helio-home .wrap{width:min(1040px,calc(100% - 40px));margin:auto}
.helio-home .topbar{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:28px 0}
.helio-home .brand{font:30px/1 Georgia,serif;text-decoration:none}
.helio-home .brand span{color:var(--gold)}
.helio-home .brand small{display:block;font:10px/2.5 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--soft)}
.helio-home .parent-link{font-size:13px;text-underline-offset:5px;padding:10px 0}
.helio-home .topbar,.helio-origins .topbar{flex-wrap:wrap}
.helio-home .site-nav,.helio-origins .site-nav{display:flex;flex:1 1 570px;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px}
.helio-home .site-nav a,.helio-origins .site-nav a{padding:8px 10px;border:1px solid transparent;border-radius:999px;color:inherit;font:600 12px/1.25 Arial,sans-serif;text-decoration:none;white-space:nowrap}
.helio-home .site-nav a:hover,.helio-origins .site-nav a:hover{border-color:#dbc08a80;color:#fff}
.helio-home .site-nav a[aria-current="page"],.helio-origins .site-nav a[aria-current="page"]{border-color:#dbc08a99;background:#dbc08a1f;color:#f0cf8e}
@media(max-width:959px){.helio-home .site-nav,.helio-origins .site-nav{flex-basis:100%;justify-content:flex-start}}
@media(max-width:559px){.helio-home .site-nav,.helio-origins .site-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:7px}.helio-home .site-nav a,.helio-origins .site-nav a{display:flex;align-items:center;justify-content:center;min-height:42px;padding:7px 6px;border-color:#ffffff1f;text-align:center;white-space:normal}}
.helio-home .welcome{display:grid;align-items:center;gap:30px;padding:45px 0 65px}
.helio-home .welcome-copy{max-width:430px}
.helio-home .eyebrow{font-size:12px;letter-spacing:.12em;color:var(--gold);text-transform:uppercase;margin:0 0 20px}
.helio-home main h1,.helio-home main h2,.helio-home main h3{font-family:Georgia,serif;font-weight:400}
.helio-home main h1{font-size:clamp(42px,7vw,65px);line-height:1.12;letter-spacing:-.035em;margin:0 0 25px}
.helio-home main p{margin:0 0 22px}
.helio-home .welcome-copy>p:not(.eyebrow){color:var(--soft)}
.helio-home .story-link{display:inline-flex;align-items:center;gap:25px;text-decoration:none;border-bottom:1px solid var(--gold);padding:12px 0;color:var(--gold)}
.helio-home .story-link:hover,.helio-home .quiet-link:hover{color:white}
.helio-home .welcome-picture{margin:0}
.helio-home .welcome-picture img{width:100%;border-radius:45% 45% 12px 12px}
.helio-home .invitations{border-top:1px solid #ffffff1c;padding:45px 0 65px;display:grid;gap:40px}
.helio-home .invitation{display:grid;grid-template-columns:95px minmax(0,1fr);align-items:start;gap:22px}
.helio-home .invitation img{width:95px;height:130px;object-fit:cover;border-radius:45px 45px 5px 5px}
.helio-home .invitation h2{font-size:25px;line-height:1.2;margin:0 0 14px}
.helio-home .invitation p{font-size:16px;color:var(--soft);margin-bottom:10px}
.helio-home .quiet-link{display:inline-block;font-size:15px;text-underline-offset:5px;padding:8px 0}
.helio-home .evening-symbol{height:130px;display:flex;justify-content:center;align-items:center;font:65px Georgia,serif;color:var(--gold)}
.helio-home .evening-symbol span{font-size:24px;align-self:flex-start;margin-top:24px}
.helio-home .parent-section{background:#eae5d9;color:#2c3d49;padding:55px 0}
.helio-home .parent-content{max-width:680px}
.helio-home .parent-content>.eyebrow{color:#735a32}
.helio-home .parent-content h2{font-size:clamp(29px,4vw,38px);line-height:1.25;margin:0 0 24px}
.helio-home .parent-content p{font-size:16px}
.helio-home .parent-content details{border-top:1px solid #24384a26;padding:13px 0}
.helio-home .parent-content summary{cursor:pointer;font-size:16px;padding:8px 0}
.helio-home .parent-content details p{margin:14px 0 0}
.helio-home .kit-access{margin-top:30px;padding-top:22px;border-top:1px solid #24384a26}
.helio-home .kit-access h3{font-size:23px;margin:0 0 15px}
.helio-home .kit-button{font:inherit;font-size:15px;padding:12px 20px;border:1px solid #78828a;border-radius:5px;background:transparent;color:#45525c}
.helio-home .kit-button:disabled{cursor:not-allowed;opacity:.75}
.helio-home .kit-access .availability{font-size:13px;margin:12px 0 0;color:#52606b}
@media(min-width:760px){.helio-home .welcome{grid-template-columns:1fr 1fr;gap:65px;padding:65px 0 85px}
.helio-home .invitations{grid-template-columns:1fr 1fr;gap:55px;padding:55px 0 80px}
.helio-home .parent-section{padding:65px 0}
}
@media(max-width:380px){.helio-home .wrap{width:calc(100% - 32px)}
.helio-home .invitation{grid-template-columns:70px minmax(0,1fr);gap:16px}
.helio-home .invitation img{width:70px;height:105px}
.helio-home .parent-link{font-size:12px}
}
@media(prefers-reduced-motion:reduce){}

/* Page des origines. */
body.helio-origins{color-scheme:dark;
  --night:#101c35;
  --cream:#fff6e5;
  --gold:#f4ce80;
  --ink:#243047}
.helio-origins *{box-sizing:border-box}
body.helio-origins{margin:0;
  background:var(--night);
  color:var(--cream);
  font-family:ui-rounded,"Trebuchet MS",Arial,sans-serif;
  line-height:1.65}
.helio-origins a{color:inherit}
.helio-origins a:focus-visible,.helio-origins summary:focus-visible{outline:3px solid var(--gold);
  outline-offset:6px}
.helio-origins .wrap{width:min(100% - 32px,1040px);
  margin:auto}
.helio-origins .brand{padding:22px 0;
  font-size:15px;
  letter-spacing:.08em;
  color:var(--gold)}
.helio-origins .draft{font-size:13px;
  opacity:.75;
  margin:0}
.helio-origins .hero{text-align:center;
  padding:36px 0 64px;
  max-width:740px;
  margin:auto}
.helio-origins .moon{font-size:76px;
  color:var(--gold);
  line-height:1.2;
  text-shadow:0 0 55px #e6b95166}
.helio-origins .eyebrow{font-size:13px;
  font-weight:bold;
  letter-spacing:.13em;
  text-transform:uppercase;
  color:var(--gold)}
.helio-origins h1{font-size:clamp(2.5rem,8vw,4.6rem);
  line-height:1.12;
  letter-spacing:-.045em;
  margin:20px 0}
.helio-origins h2{font-size:clamp(1.8rem,5vw,2.8rem);
  line-height:1.2;
  margin:10px 0 22px}
.helio-origins p{font-size:clamp(1.15rem,3vw,1.35rem);
  margin:0 0 18px}
.helio-origins .hero p{max-width:550px;
  margin:24px auto}
.helio-origins .button{display:inline-flex;
  min-height:52px;
  align-items:center;
  justify-content:center;
  padding:12px 24px;
  border-radius:30px;
  background:var(--gold);
  color:var(--night);
  font-weight:bold;
  text-decoration:none;
  font-size:18px;
  margin-top:12px}
.helio-origins .scene{margin-bottom:36px;
  border-radius:26px;
  overflow:hidden;
  background:var(--cream);
  color:var(--ink)}
.helio-origins .visual{min-height:210px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:28px;
  background:radial-gradient(ellipse at center,#3b4965 0%,#182740 70%);
  color:var(--cream)}
.helio-origins .symbol{font-size:70px;
  line-height:1.3;
  color:var(--gold)}
.helio-origins .visual figcaption{max-width:290px;
  font-size:14px;
  opacity:.8;
  margin-top:18px}
.helio-origins .visual{margin:0}
.helio-origins .copy{padding:28px 24px}
.helio-origins .number{display:block;
  color:#786039;
  font-size:13px;
  font-weight:bold;
  letter-spacing:.12em;
  text-transform:uppercase}
.helio-origins .copy p:last-child{margin-bottom:0}
.helio-origins .whisper{font-style:italic;
  color:#695239}
.helio-origins .ending{text-align:center;
  padding:35px 0 60px;
  max-width:680px;
  margin:auto}
.helio-origins .ending h2{color:var(--gold)}
.helio-origins .parents{border-top:1px solid #ffffff25;
  padding:24px 0 32px}
.helio-origins .parents summary{cursor:pointer;
  min-height:44px;
  font-size:16px}
.helio-origins .parents p{font-size:16px;
  max-width:750px}
.helio-origins .footer{font-size:13px;
  text-align:center;
  opacity:.7;
  padding-bottom:25px}
.helio-origins strong{font-weight:700}
@media(min-width:760px){.helio-origins .scene{display:grid;
  grid-template-columns:1fr 1.1fr;
  margin-bottom:56px}
.helio-origins .visual{min-height:390px}
.helio-origins .copy{padding:44px}
.helio-origins .scene:nth-child(even) .visual{order:2}
.helio-origins .hero{padding-top:55px}
.helio-origins .symbol{font-size:100px}
}
@media(prefers-reduced-motion:reduce){}
.helio-origins .visual img,.helio-origins .visual video{
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
.helio-origins .visual video{ aspect-ratio: 2 / 3; background: #101c35; }
.helio-origins .visual--illustrated{
  padding: 0;
  min-height: 0;
  background: #101c35;
}
.helio-origins .visual--illustrated figcaption{
  padding: 12px 20px;
  margin: 0;
}
@media (min-width: 760px){.helio-origins .scene > *{ min-width: 0; }
.helio-origins .visual--illustrated{ align-self: center; }
}
.helio-home .legal-footer,.helio-home .modal-overlay{--shadow:0 22px 60px rgba(0,0,0,.32);--muted:rgba(248,250,252,.76);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;color:#f8fafc}
.helio-home .legal-footer{width:min(1180px,100%);margin:0 auto 36px}
.helio-home .modal-box h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;line-height:1.04;letter-spacing:-.025em;margin:0 0 14px}
.helio-home .modal-box p{margin:0 0 14px;color:var(--muted)}
.helio-home .modal-box button{font-family:Arial,sans-serif;line-height:normal}
@media(min-width:760px){.helio-home .legal-footer{margin-bottom:48px}
}
@media(max-width:759px){.helio-home .legal-footer{margin-bottom:32px}
.helio-home .modal-box h2{line-height:1.06}
}
.helio-home .legal-footer{
      padding:30px 0 14px;
      text-align:center;
      color:rgba(255,255,255,.64);
      font-size:.86rem;
    }
.helio-home .legal-footer a{
      color:rgba(255,255,255,.8);
      text-decoration:none;
      margin:0 5px;
      cursor:pointer;
    }
.helio-home .modal-overlay{
      position:fixed;
      inset:0;
      z-index:100;
      display:none;
      align-items:center;
      justify-content:center;
      padding:18px;
      background:rgba(0,0,0,.68);
    }
.helio-home .modal-overlay.active{display:flex}
.helio-home .modal-box{
      width:min(760px,100%);
      max-height:86vh;
      overflow:auto;
      border-radius:22px;
      padding:24px;
      background:#101b2e;
      border:1px solid rgba(255,255,255,.14);
      box-shadow:var(--shadow);
      position:relative;
    }
.helio-home .modal-box button{
      position:sticky;
      float:right;
      top:0;
      margin-left:10px;
      width:38px;
      height:38px;
      border:0;
      border-radius:999px;
      cursor:pointer;
      color:white;
      background:rgba(255,255,255,.12);
      font-size:1.4rem;
    }
.helio-home .modal-box h2{
      font-size:2rem;
      margin-right:44px;
    }
.helio-home .modal-box p{
      font-size:.94rem;
    }
.helio-origins .legal-footer,.helio-origins .modal-overlay{--shadow:0 22px 60px rgba(0,0,0,.32);--muted:rgba(248,250,252,.76);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;color:#f8fafc}
.helio-origins .legal-footer{width:min(1180px,100%);margin:0 auto 36px}
.helio-origins .modal-box h2{font-family:"Cormorant Garamond",Georgia,serif;font-weight:700;line-height:1.04;letter-spacing:-.025em;margin:0 0 14px}
.helio-origins .modal-box p{margin:0 0 14px;color:var(--muted)}
.helio-origins .modal-box button{font-family:Arial,sans-serif;line-height:normal}
@media(min-width:760px){.helio-origins .legal-footer{margin-bottom:48px}
}
@media(max-width:759px){.helio-origins .legal-footer{margin-bottom:32px}
.helio-origins .modal-box h2{line-height:1.06}
}
.helio-origins .legal-footer{
      padding:30px 0 14px;
      text-align:center;
      color:rgba(255,255,255,.64);
      font-size:.86rem;
    }
.helio-origins .legal-footer a{
      color:rgba(255,255,255,.8);
      text-decoration:none;
      margin:0 5px;
      cursor:pointer;
    }
.helio-origins .modal-overlay{
      position:fixed;
      inset:0;
      z-index:100;
      display:none;
      align-items:center;
      justify-content:center;
      padding:18px;
      background:rgba(0,0,0,.68);
    }
.helio-origins .modal-overlay.active{display:flex}
.helio-origins .modal-box{
      width:min(760px,100%);
      max-height:86vh;
      overflow:auto;
      border-radius:22px;
      padding:24px;
      background:#101b2e;
      border:1px solid rgba(255,255,255,.14);
      box-shadow:var(--shadow);
      position:relative;
    }
.helio-origins .modal-box button{
      position:sticky;
      float:right;
      top:0;
      margin-left:10px;
      width:38px;
      height:38px;
      border:0;
      border-radius:999px;
      cursor:pointer;
      color:white;
      background:rgba(255,255,255,.12);
      font-size:1.4rem;
    }
.helio-origins .modal-box h2{
      font-size:2rem;
      margin-right:44px;
    }
.helio-origins .modal-box p{
      font-size:.94rem;
    }

.helio-home .topbar,.helio-origins .topbar{position:static;background:none;border:0;box-shadow:none;margin:0 auto;min-height:0;border-radius:0}
.helio-home .brand{display:block;color:inherit;gap:0;font-weight:400;white-space:normal;max-width:none}
.helio-home .welcome h1{max-width:none}
.helio-home .welcome{min-height:0}
.helio-home .reading-page{max-width:720px;padding-top:45px;padding-bottom:65px}
.helio-home .reading-page h1{font-size:clamp(36px,6vw,55px)}
.helio-home .story-cover{max-width:260px;margin:30px auto;border-radius:10px}
.helio-home .reading-note{font-size:14px;margin-top:18px;color:var(--soft)}
.helio-home .night-mission{margin:35px 0;padding-top:25px;border-top:1px solid #ffffff26}
.helio-home .night-mission h2{font-size:28px;margin-bottom:20px}
.helio-home .parent-content h1{font-size:clamp(30px,5vw,42px)}
.helio-home .parent-section>.quiet-link{display:block;max-width:680px;margin:25px auto 0;padding:0 20px}
.helio-origins .topbar{display:flex;justify-content:space-between;align-items:center;padding:25px 0;gap:20px}
.helio-origins .topbar .brand{text-decoration:none;font:30px/1.1 Georgia,serif;padding:0;color:var(--cream);display:block}
.helio-origins .brand small{display:block;font:10px/2.5 Arial,sans-serif;letter-spacing:.12em}
.helio-origins .parent-link{font-size:13px;padding:10px 0}
.helio-origins .hero{display:block;min-height:0}
.helio-origins .scene .copy{min-width:0}
.helio-origins .visual img{border-radius:0}
.helio-home .legal-footer,.helio-origins .legal-footer{background:transparent}
.helio-home main p{color:inherit}
.helio-home .welcome-copy>p:not(.eyebrow){color:var(--soft)}
.helio-origins .copy p{color:var(--ink)}
.helio-origins .copy p.whisper{color:#695239}
.helio-origins .hero p,.helio-origins .ending p{color:var(--cream)}
/* Origines : scene du village et lecture continue. */
.helio-home .topbar .verbal-brand,.helio-origins .topbar .verbal-brand{font-family:Georgia,serif;font-size:clamp(16px,2.4vw,23px);line-height:1.3;letter-spacing:0;max-width:none;white-space:normal}
.helio-origins .wrap{width:calc(100% - 32px);max-width:900px;margin:auto}
.helio-origins .origin-tale p{color:#d9dfe5;font-size:clamp(17px,2vw,20px);line-height:1.65;margin:0 0 16px}
.helio-origins .origin-tale h1,.helio-origins .origin-tale h2{font-family:Georgia,serif;font-weight:400;line-height:1.2;margin:0 0 22px}
.helio-origins .origin-tale h1{font-size:clamp(34px,5vw,48px)}
.helio-origins .origin-tale h2{font-size:clamp(27px,4vw,36px)}
.helio-origins .tale-opening{max-width:650px;margin:auto;padding:35px 0 12px}
.helio-origins .origin-tale .eyebrow{display:block;padding:0;border:0;background:none;color:var(--gold);font-size:12px;letter-spacing:.12em}
.helio-origins .narrative{max-width:650px;margin:auto;text-align:left}
.helio-origins .mirror-sky{position:relative;width:min(100%,420px);margin:8px auto 0;overflow:hidden}
.helio-origins .mirror-sky>img{width:100%;height:auto;display:block}
.helio-origins .mirror-sky .village-awake{position:absolute;inset:0;opacity:0;transition:opacity 1.8s ease}
.helio-origins .mirror-sky .travelling-moon{position:absolute;top:8%;left:50%;width:38%;opacity:0;transform:translate(-130%,30%) scale(.08);transform-origin:center;filter:drop-shadow(0 0 18px #ffdb8c80)}
.helio-origins .moon-arrived .travelling-moon{transform:translate(0,0) scale(1);opacity:1}
.helio-origins .mirror-lit .village-awake{opacity:1}
.helio-origins .mirror-sky .village-apprentice{position:absolute;width:42%;left:22%;bottom:11%;height:auto;pointer-events:none}
.helio-origins .wake-mirror,.helio-origins .tale-next{display:inline-block;min-height:52px;padding:14px 20px;border:0;border-radius:8px;background:#e9c98b;color:#14243a;font:700 16px/1.4 'Trebuchet MS',sans-serif;text-decoration:none;cursor:pointer}
.helio-origins .mirror-sky .wake-mirror{position:absolute;bottom:3%;left:50%;transform:translateX(-50%);width:max-content;max-width:94%;box-shadow:0 4px 20px #0008}
.helio-origins [hidden]{display:none!important}
.helio-origins .wake-mirror:disabled{cursor:wait;opacity:.8}
.helio-origins .wake-mirror:focus-visible,.helio-origins .tale-next:focus-visible{outline:3px solid white;outline-offset:4px}
.helio-origins .mirror-action{max-width:650px;margin:18px auto}
.helio-origins #mirror-message{font-size:16px;min-height:55px}
.helio-origins .chosen{margin-top:14px}
.helio-origins .crossing-story{padding:20px 0}
.helio-origins .crossing-film{max-width:400px;margin:20px auto;text-align:center}
.helio-origins .crossing-film video{display:block;width:100%;height:auto;aspect-ratio:2/3;object-fit:contain;background:#101c35}
.helio-origins .crossing-film figcaption{font-size:14px;color:#bcc9d6;margin-top:10px}
.helio-origins .arrival-story{display:grid;grid-template-columns:minmax(0,1fr);align-items:center;gap:20px;max-width:650px;margin:20px auto}
.helio-origins .arrival-story>*{min-width:0}
.helio-origins .arrival-story>img{width:100%;height:auto;max-width:220px;margin:auto}
.helio-origins .tale-ending{max-width:650px;margin:30px auto 50px;text-align:left}
.helio-origins .topbar{flex-wrap:wrap;gap:8px 16px}
.helio-origins .topbar .verbal-brand{flex:1 1 210px;min-width:0;font-weight:400}
.helio-origins .parent-link{flex:0 0 auto;white-space:nowrap}
.helio-origins .skip{position:absolute;top:-100px;left:16px;padding:12px;background:#fff6e5;color:#101c35;z-index:200}
.helio-origins .skip:focus{top:12px}
@media(min-width:760px){.helio-origins .arrival-story{grid-template-columns:220px minmax(0,1fr);gap:28px}}
@media(prefers-reduced-motion:reduce){.helio-origins .mirror-sky .village-awake{transition:none}}
