  @import url('https://fonts.googleapis.com/css2?family=Baloo+2:wght@500;600;700;800&family=Nunito:ital,wght@0,400;0,600;0,700;0,800;1,700&family=JetBrains+Mono:wght@500;700&display=swap');

  :root{
    --cream:#FBF3E1;
    --cream-2:#F2E7C9;
    --card:#FFFDF6;
    --ink:#1B2A47;
    --ink-soft:#4E5C7C;
    --blue:#1F5FA8;
    --blue-deep:#123764;
    --gold:#F5B93D;
    --gold-deep:#D98A17;
    --green:#5E9A44;
    --green-deep:#3F7530;
    --coral:#E15B4F;
    --purple:#8858BE;
    --line: rgba(18,55,100,0.16);
    --path-line-strong: rgba(18,55,100,0.35);
    --shadow: rgba(27,42,71,0.18);
    --radius-lg: 28px;
    --radius-md: 18px;
    --maxw: 1120px;
  }

  @media (prefers-color-scheme: dark){
    :root:not([data-theme="light"]){
      --cream:#131C33;
      --cream-2:#1B2740;
      --card:#1E2B47;
      --ink:#F4ECD8;
      --ink-soft:#B9C2DD;
      --blue-deep:#DCE9FB;
      --line: rgba(244,236,216,0.16);
      --path-line-strong: rgba(244,236,216,0.4);
      --shadow: rgba(0,0,0,0.45);
    }
    :root:not([data-theme="light"]) .dream-example-card{ border-color:transparent; }
  }
  :root[data-theme="dark"]{
    --cream:#131C33;
    --cream-2:#1B2740;
    --card:#1E2B47;
    --ink:#F4ECD8;
    --ink-soft:#B9C2DD;
    --blue-deep:#DCE9FB;
    --line: rgba(244,236,216,0.16);
    --path-line-strong: rgba(244,236,216,0.4);
    --shadow: rgba(0,0,0,0.45);
  }
  :root[data-theme="dark"] .dream-example-card{ border-color:transparent; }

  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){
    html{scroll-behavior:auto;}
    *{animation-duration:0.001ms !important; animation-iteration-count:1 !important; transition-duration:0.001ms !important;}
  }
  body{
    margin:0;
    background:var(--cream);
    color:var(--ink);
    font-family:'Nunito', ui-sans-serif, system-ui, sans-serif;
    font-size:16px;
    line-height:1.6;
    -webkit-font-smoothing:antialiased;
    overflow-x:hidden;
  }
  h1,h2,h3{
    font-family:'Baloo 2', ui-rounded, system-ui, sans-serif;
    color:var(--blue-deep);
    line-height:1.08;
    text-wrap:balance;
    margin:0;
  }
  p{margin:0;}
  a{color:inherit;}
  img{display:block;max-width:100%;}
  .wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px;}
  .eyebrow{
    font-family:'JetBrains Mono', ui-monospace, monospace;
    font-weight:700;
    font-size:0.76rem;
    letter-spacing:0.14em;
    text-transform:uppercase;
    color:var(--gold-deep);
  }
  .mono{font-family:'JetBrains Mono', ui-monospace, monospace;}

  /* ---------- NAV ---------- */
  .nav{
    position:sticky; top:0; z-index:50;
    background:color-mix(in srgb, var(--cream) 88%, transparent);
    backdrop-filter:blur(10px);
    border-bottom:1px solid var(--line);
  }
  .nav-inner{
    max-width:var(--maxw); margin:0 auto; padding:12px 28px;
    display:flex; align-items:center; justify-content:space-between; gap:16px;
  }
  .nav-brand{display:flex; align-items:center; gap:10px; text-decoration:none;}
  .nav-brand img{height:38px; width:auto;}
  .nav-brand span{
    font-family:'Baloo 2'; font-weight:700; color:var(--blue-deep); font-size:1.02rem;
    display:none;
  }
  @media(min-width:640px){.nav-brand span{display:inline;}}
  .nav-links{display:none; gap:26px; align-items:center;}
  @media(min-width:900px){.nav-links{display:flex;}}
  .nav-links a{
    text-decoration:none; color:var(--ink-soft); font-weight:700; font-size:0.92rem;
    transition:color .15s ease;
  }
  .nav-links a:hover{color:var(--blue);}
  .nav-actions{display:flex; align-items:center; gap:12px;}
  .theme-toggle{
    display:inline-flex; align-items:center; justify-content:center;
    width:38px; height:38px; border-radius:50%;
    border:2px solid var(--line); background:transparent;
    color:var(--ink-soft); cursor:pointer; flex:0 0 auto;
    transition:border-color .15s ease, color .15s ease, background .15s ease;
  }
  .theme-toggle:hover{border-color:var(--gold-deep); color:var(--gold-deep); background:color-mix(in srgb, var(--gold) 12%, transparent);}
  .theme-toggle svg{width:18px; height:18px; display:block;}
  .nav-social{
    display:inline-flex; align-items:center; justify-content:center;
    width:38px; height:38px; border-radius:50%;
    border:2px solid var(--line); background:transparent;
    color:var(--ink-soft); flex:0 0 auto;
    transition:border-color .15s ease, color .15s ease, background .15s ease;
  }
  .nav-social:hover{border-color:var(--gold-deep); color:var(--gold-deep); background:color-mix(in srgb, var(--gold) 12%, transparent);}
  .nav-social svg{width:18px; height:18px; display:block;}
  .theme-toggle .icon-moon{display:none;}
  :root[data-theme="dark"] .theme-toggle .icon-sun{display:none;}
  :root[data-theme="dark"] .theme-toggle .icon-moon{display:block;}
  .btn{
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
    font-family:'Baloo 2'; font-weight:700; font-size:1rem;
    padding:13px 24px; border-radius:999px; text-decoration:none;
    border:3px solid var(--blue-deep);
    cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease;
    white-space:nowrap;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn:active{transform:translateY(0);}
  .btn-primary{
    background:#F5B93D; color:#123764; border-color:#D98A17;
    box-shadow:0 6px 0 #D98A17;
  }
  .btn-primary:hover{box-shadow:0 8px 0 #D98A17;}
  .btn-primary:active{box-shadow:0 3px 0 #D98A17; transform:translateY(3px);}
  .btn-ghost{
    background:transparent; color:var(--blue-deep); border-color:var(--blue-deep);
  }
  .btn-sm{padding:9px 18px; font-size:0.88rem; border-width:2px; box-shadow:none;}
  .nav .btn-primary{padding:9px 20px; font-size:0.9rem; box-shadow:0 4px 0 #D98A17;}
  .btn-shine{position:relative; overflow:hidden; isolation:isolate;}
  .btn-shine::after{
    content:""; position:absolute; top:0; bottom:0; left:0; width:45%;
    background:linear-gradient(105deg, transparent 0%, rgba(255,255,255,0.38) 50%, transparent 100%);
    transform:translateX(-160%) skewX(-18deg); opacity:0; pointer-events:none;
    animation:pmm-shine 6.5s ease-in-out 1.2s infinite;
  }
  .btn-shine:hover::after, .btn-shine:focus-visible::after{animation:none; opacity:0;}
  @keyframes pmm-shine{
    0%, 58%{transform:translateX(-160%) skewX(-18deg); opacity:0;}
    62%{opacity:1;}
    88%{transform:translateX(330%) skewX(-18deg); opacity:1;}
    89%, 100%{transform:translateX(330%) skewX(-18deg); opacity:0;}
  }
  @media (prefers-reduced-motion: reduce){ .btn-shine::after{animation:none; opacity:0;} }
  .btn-heartbeat{animation:pmm-heartbeat 2.4s ease-in-out 1s infinite;}
  .btn-heartbeat:hover, .btn-heartbeat:focus-visible{animation:none;}
  @keyframes pmm-heartbeat{
    0%, 40%, 100%{scale:1;}
    10%{scale:1.07;}
    20%{scale:1;}
    30%{scale:1.05;}
  }
  @media (prefers-reduced-motion: reduce){ .btn-heartbeat{animation:none;} }

  /* ---------- HERO ---------- */
  #top{ scroll-margin-top:80px; }
  .hero{
    position:relative;
    padding:64px 0 90px;
    overflow:hidden;
    background:
      linear-gradient(180deg, rgba(18,55,100,0.55) 0%, rgba(18,55,100,0.72) 55%, var(--cream) 100%),
      url('assets/hero-fondo-estacion.webp') center 30%/cover no-repeat;
  }
  .hero-inner{
    max-width:var(--maxw); margin:0 auto; padding:0 28px;
    display:grid; grid-template-columns:minmax(0,1fr); align-items:center; position:relative;
    text-align:center;
  }
  .hero-copy{min-width:0;}
  @media(min-width:920px){
    .hero-inner{grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr); text-align:left;}
    .hero-ctas, .stat-row{justify-content:flex-start !important;}
    .hero-sub{margin:0 0 30px !important;}
  }
  .hero h1{
    font-size:clamp(1.7rem, 3.4vw, 2.5rem);
    color:#FFFDF6;
    font-weight:700;
    margin-bottom:18px;
    text-shadow:0 3px 18px rgba(0,0,0,0.35);
  }
  .hero-sub{
    color:#FFFDF6; font-size:1.12rem; max-width:52ch; margin:0 auto 30px;
    font-weight:600;
  }
  .hero-sub strong{color:var(--gold); font-weight:800;}
  .hero-ctas{display:flex; flex-wrap:wrap; gap:14px; margin-bottom:38px; justify-content:center;}
  .stat-row{display:flex; flex-wrap:nowrap; gap:12px; justify-content:center;}
  .stat-chip{
    background:rgba(255,253,246,0.94);
    border:2px solid #123764;
    border-radius:16px; padding:10px 16px;
    display:flex; flex-direction:column; gap:2px; flex:0 1 104px; min-width:0;
    box-shadow:0 4px 0 rgba(18,55,100,0.25);
  }
  .stat-chip b{font-family:'JetBrains Mono'; font-size:1.3rem; color:#123764; font-weight:700; white-space:nowrap;}
  .stat-chip span{font-size:0.72rem; letter-spacing:0.06em; text-transform:uppercase; color:#4E5C7C; font-weight:700; white-space:nowrap;}
  @media(max-width:480px){
    .stat-row{gap:8px;}
    .stat-chip{padding:8px 10px;}
    .stat-chip b{font-size:1.05rem;}
    .stat-chip span{font-size:0.6rem; letter-spacing:0.02em;}
  }

  .hero-art{
    position:relative; display:flex; flex-direction:column; align-items:center; justify-content:center;
    min-height:280px; min-width:0;
  }
  .hero-character{width:min(420px,100%); position:relative; z-index:1;}

  /* ---------- PATH / SECTION SYSTEM ---------- */
  .section{padding:86px 0;}
  .section.alt{background:var(--cream-2);}
  .section-head{
    display:flex; align-items:center; gap:18px; margin-bottom:44px; max-width:760px;
  }
  .tile{
    flex:none; width:52px; height:52px; border-radius:12px;
    display:flex; align-items:center; justify-content:center;
    font-family:'JetBrains Mono'; font-weight:700; font-size:1.5rem; color:#fff;
    border:3px solid var(--blue-deep);
    box-shadow:0 4px 0 var(--blue-deep);
    transform:rotate(-4deg);
  }
  .tile.gold{background:var(--gold); color:#123764; border-color:var(--gold-deep); box-shadow:0 4px 0 var(--gold-deep);}
  .tile.blue{background:var(--blue);}
  .tile.green{background:var(--green); border-color:var(--green-deep); box-shadow:0 4px 0 var(--green-deep);}
  .tile.purple{background:var(--purple);}
  .tile.coral{background:var(--coral);}
  .section-head h2{font-size:clamp(1.5rem,2.6vw,2.05rem); margin-bottom:8px;}
  .section-head p{color:var(--ink-soft); font-weight:600; font-size:1.12rem;}


  /* ---------- CONCEPT ---------- */
  .concept-grid{display:grid; grid-template-columns:1fr; gap:40px; align-items:start;}
  @media(min-width:860px){.concept-grid{grid-template-columns:1.2fr 0.8fr;}}
  .concept-copy p{margin-bottom:16px; font-size:1.12rem; line-height:1.65;}
  .concept-copy strong{color:var(--blue-deep);}
  .callout{
    background:var(--card); border:2px solid var(--line); border-left:6px solid var(--gold);
    border-radius:0 var(--radius-md) var(--radius-md) 0; padding:20px 22px; margin-top:22px;
    font-weight:700; color:var(--ink); font-size:1.12rem; line-height:1.6;
  }
  .dream-cards{display:flex; flex-direction:column; gap:20px;}

  .dream-examples-label{
    margin-top:38px; margin-bottom:16px; text-align:center;
    font-family:'Baloo 2'; font-weight:700; color:var(--blue-deep); font-size:1.05rem;
  }
  .dream-examples{display:flex; flex-wrap:wrap; justify-content:center; gap:18px;}
  .dream-example-card{
    flex:0 0 160px; width:160px;
    border-radius:14px; overflow:hidden; border:3px solid #123764;
    box-shadow:0 6px 0 var(--shadow);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    transform:rotate(var(--rot,0deg));
  }
  .dream-example-card:nth-child(1){--rot:-3deg;}
  .dream-example-card:nth-child(2){--rot:2deg;}
  .dream-example-card:nth-child(3){--rot:-2deg;}
  .dream-example-card:hover{transform:rotate(0deg) translateY(-6px); box-shadow:0 10px 0 var(--shadow);}
  .dream-example-card img{width:100%; display:block;}

  /* ---------- STEPS: camino vertical, 3 columnas (peón flotante / números conectados / texto) ---------- */
  .turn-track{ position:relative; padding:4px 4px 4px 8px; }
  .turn-step{
    position:relative; display:flex; align-items:flex-start; gap:14px;
    padding-left:53px; padding-bottom:26px;
  }
  .turn-step:last-child{ padding-bottom:0; }
  .turn-step:not(:last-child)::after{
    content:''; position:absolute; left:75.5px; top:0; bottom:2px;
    border-left:3px dashed var(--path-line-strong);
  }
  .turn-node{
    flex:none; width:45px; height:45px; border-radius:50%;
    background:var(--blue-deep); color:var(--cream);
    display:flex; align-items:center; justify-content:center;
    font-family:'Baloo 2'; font-weight:700; font-size:1.05rem;
    box-shadow:0 3px 0 var(--shadow); position:relative; z-index:2;
  }
  .turn-caption{
    flex:1; background:var(--card); border:1px solid var(--line); border-radius:14px; padding:13px 14px;
    margin-top:2px;
  }
  .turn-caption h3{font-size:1.16rem; margin-bottom:5px; color:var(--blue-deep);}
  .turn-caption p{color:var(--ink-soft); font-size:1.12rem; font-weight:600; line-height:1.48;}
  .turn-pawn{
    position:absolute; left:26.5px; top:0; width:45px; height:67.5px;
    transform:translateY(0) translate(-50%,-82%);
    filter:drop-shadow(0 3px 3px var(--shadow));
    z-index:3; pointer-events:none; will-change:transform;
  }
  @media(prefers-reduced-motion: reduce){ .turn-pawn{display:none;} }

  .player-card-panel{
    margin-top:34px; background:var(--card); border:2px solid var(--line); border-radius:var(--radius-lg);
    padding:28px; text-align:center; box-shadow:0 3px 0 var(--shadow); position:relative; z-index:1;
  }
  .player-card-panel h3{font-size:1.3rem; margin-bottom:10px; text-align:left;}
  .player-card-panel .player-card-desc{color:var(--ink-soft); font-weight:600; font-size:1.12rem; line-height:1.6; margin-bottom:24px; text-align:left;}

  /* ---------- CARTÓN: escena animada al entrar en la vista ---------- */
  .carton-scene{position:relative; width:100%; max-width:900px; margin:0 auto; overflow:hidden; border-radius:6px;}
  .carton-scene .player-card-img{width:100%; max-width:none; margin:0; display:block; aspect-ratio:1600/889;}
  .carton-replay{
    display:block; margin:5px auto 0; background:none; border:none; cursor:pointer;
    font-family:'Nunito', sans-serif; font-weight:700; font-size:0.9rem; color:var(--ink-soft);
    text-decoration:none; text-underline-offset:3px; padding:4px 10px; border-radius:6px;
  }
  .carton-replay:hover{color:var(--blue-deep);}
  .carton-replay:focus-visible{outline:2px solid var(--blue-deep); outline-offset:2px;}
  .carton-overlay{position:absolute; inset:0; pointer-events:none;}
  .carton-piece{position:absolute; top:0; left:0; opacity:0; transform-origin:50% 50%; will-change:transform, opacity, filter;}
  .carton-coin{width:6%; aspect-ratio:1/1;}
  .carton-sueno{
    width:21.8%;
    border-radius:clamp(5px, 1.5vw, 14px);
    border:clamp(1px, 0.3vw, 2px) solid #495F6C;
    box-shadow:0 clamp(1px, 0.25vw, 3px) 0 var(--shadow);
  }
  @media(prefers-reduced-motion: reduce){
    .carton-piece{transition:none;}
  }

  /* ---------- LEARN GRID ---------- */
  .learn-grid{display:grid; grid-template-columns:1fr; gap:16px;}
  @media(min-width:640px){.learn-grid{grid-template-columns:1fr 1fr;}}
  @media(min-width:980px){.learn-grid{grid-template-columns:1fr 1fr 1fr;}}
  .learn-card{
    background:var(--card); border:2px solid var(--line); border-radius:var(--radius-md);
    padding:20px; box-shadow:0 3px 0 var(--shadow);
  }
  .learn-card .learn-icon{
    width:60px; height:60px; margin-bottom:14px; display:block;
  }
  .learn-card h3{font-size:1.16rem; margin-bottom:8px; color:var(--blue-deep);}
  .learn-card p{font-size:1.12rem; color:var(--ink-soft); font-weight:600; line-height:1.55;}

  /* ---------- BOX CONTENTS ---------- */
  .contents-grid{display:grid; grid-template-columns:1fr; gap:18px;}
  @media(min-width:480px){.contents-grid{grid-template-columns:repeat(2,1fr);}}
  @media(min-width:640px){.contents-grid{grid-template-columns:repeat(3,1fr);}}
  @media(min-width:1080px){.contents-grid{grid-template-columns:repeat(4,1fr);}}
  .content-item{
    background:var(--card); border:2px solid var(--line); border-radius:var(--radius-md);
    padding:20px; text-align:center; display:flex; flex-direction:column; align-items:center; gap:10px;
    transition:transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
    box-shadow:0 3px 0 rgba(18,55,100,0.08);
  }
  .content-item:hover{
    transform:translateY(-4px) scale(1.03);
    box-shadow:0 10px 22px rgba(18,55,100,0.18);
    border-color:var(--blue-deep);
  }
  .content-item .ico-wrap{
    width:100%; height:132px; display:flex; align-items:center; justify-content:center;
  }
  .content-item img{max-height:132px; max-width:100%; object-fit:contain;}
  .content-item strong{font-family:'Baloo 2'; font-size:0.95rem; color:var(--blue-deep); line-height:1.2;}

  .win-banner{
    margin-top:36px; display:flex; flex-wrap:wrap; align-items:center; gap:22px;
    background:#123764; color:#FFF6E0; border-radius:var(--radius-lg); padding:26px 30px;
  }
  .win-banner img{width:70px;}
  .win-banner h3{color:#FFF6E0; font-size:1.2rem; margin-bottom:6px;}
  .win-banner p{color:#D9E4F5; font-weight:600; font-size:1.12rem;}

  /* ---------- SHOP CARDS (estático) ---------- */
  .shop-carousel{
    width:100%; margin-top:10px;
  }
  .shop-track{
    display:flex; flex-wrap:wrap; justify-content:center; gap:20px;
  }
  .shop-card{
    flex:0 0 220px; width:220px;
    background:var(--card); border:3px solid var(--blue-deep); border-radius:16px; overflow:hidden;
    box-shadow:0 6px 0 var(--shadow);
    transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
    transform:rotate(var(--rot,0deg));
  }
  .shop-card:nth-child(1){--rot:-3deg;}
  .shop-card:nth-child(2){--rot:2deg;}
  .shop-card:nth-child(3){--rot:-2deg;}
  .shop-card:hover{transform:rotate(0deg) translateY(-6px); box-shadow:0 10px 0 var(--shadow);}
  .shop-card img{width:100%; display:block;}
  .shop-secret-note{
    margin-top:22px; text-align:center; color:var(--ink-soft); font-weight:600; font-style:italic; font-size:1.12rem;
  }
  @media(max-width:640px){
    .shop-track{gap:14px;}
    .shop-card{flex:0 0 178px; width:178px;}
  }

  /* ---------- WHY BACK ---------- */
  .why-grid{display:grid; grid-template-columns:1fr; gap:18px;}
  @media(min-width:700px){.why-grid{grid-template-columns:1fr 1fr;}}
  .why-card{
    background:var(--card); border:2px solid var(--line); border-radius:var(--radius-md); padding:24px;
    display:flex; gap:16px; align-items:flex-start;
  }
  .why-card .num{
    font-family:'JetBrains Mono'; font-weight:700; font-size:1.4rem; color:var(--gold-deep); flex:none;
  }
  .why-card h3{font-size:1.16rem; margin-bottom:6px;}
  .why-card p{color:var(--ink-soft); font-weight:600; font-size:1.12rem; line-height:1.55;}

  /* ---------- FINAL CTA ---------- */
  .cta-section{
    background:linear-gradient(160deg, #123764, #0C233F 90%);
    border-radius:var(--radius-lg); padding:56px 36px; text-align:center;
    display:flex; flex-direction:column; align-items:center; gap:20px;
    position:relative; overflow:hidden;
  }
  .cta-section h2{color:#FFF8E7; font-size:clamp(1.5rem,3vw,2.1rem); max-width:22ch;}
  .cta-section p{color:#D9E4F5; font-weight:600; max-width:52ch; font-size:1.12rem; line-height:1.6;}
  .cta-buttons{display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin-top:6px;}
  .cta-section .btn-ghost{color:#FFF8E7; border-color:#FFF8E7;}

  .signup-form{
    display:flex; flex-direction:column; align-items:stretch; gap:12px; margin-top:10px; width:100%; max-width:420px;
  }
  .entry__field{position:relative;}
  .entry__field-icon{
    position:absolute; left:16px; top:50%; transform:translateY(-50%);
    width:28px; height:22px;
    background:url("assets/icono-email.svg") no-repeat center/contain;
    pointer-events:none; z-index:2;
  }
  .signup-form input[type="email"]{
    width:100%;
    font-family:'Nunito'; font-weight:700; font-size:1rem; color:#1B2A47;
    padding:13px 18px 13px 52px; border-radius:999px; border:3px solid #D98A17;
    background-color:#FFFDF6; outline-offset:2px;
  }
  .signup-form input[type="email"]::placeholder{color:#8A93A8; font-weight:600;}
  .signup-form input[type="email"]:-webkit-autofill,
  .signup-form input[type="email"]:-webkit-autofill:hover,
  .signup-form input[type="email"]:-webkit-autofill:focus{
    -webkit-text-fill-color:#1B2A47;
    -webkit-box-shadow:0 0 0 1000px #FFFDF6 inset;
    box-shadow:0 0 0 1000px #FFFDF6 inset;
    transition:background-color 5000s ease-in-out 0s;
  }
  .signup-form button{
    width:100%; font-family:'Baloo 2'; font-weight:700; font-size:1rem;
    padding:13px 26px; border-radius:999px; border:3px solid #D98A17;
    background:#F5B93D; color:#123764; cursor:pointer;
    box-shadow:0 6px 0 #D98A17;
    transition:transform .15s ease, box-shadow .15s ease;
    display:inline-flex; align-items:center; justify-content:center; gap:8px;
  }
  .signup-form button .icon{width:18px; height:18px; fill:currentColor; flex:none;}
  .signup-form button .sib-hide-loader-icon{display:none;}
  .signup-form button:hover{transform:translateY(-2px);}
  .signup-form button:active{transform:translateY(3px); box-shadow:0 3px 0 #D98A17;}
  .signup-consent{
    display:flex; align-items:flex-start; gap:10px; text-align:left;
    color:#D9E4F5; font-size:0.92rem; font-weight:600; line-height:1.45; cursor:pointer;
  }
  .signup-consent input[type="checkbox"]{
    flex:none; width:18px; height:18px; margin-top:2px; accent-color:var(--gold); cursor:pointer;
  }
  .signup-consent a{color:var(--gold); font-weight:700; text-decoration:underline;}
  .signup-consent a:hover{color:var(--gold-deep);}
  .signup-note{color:#B9C6E4; font-size:0.82rem; font-weight:600; margin-top:2px;}
  .signup-social{
    display:inline-flex; align-items:center; gap:8px;
    color:#B9C6E4; font-size:0.92rem; font-weight:700; text-decoration:none;
    transition:color .15s ease;
  }
  .signup-social:hover{color:var(--gold);}
  .signup-social svg{width:18px; height:18px; flex:0 0 auto;}
  .signup-feedback{
    color:#FFF8E7; font-weight:700; font-size:0.95rem; margin-top:4px; min-height:1.2em;
  }
  .signup-feedback.is-success{color:#7FE0A8;}
  .signup-feedback.is-error{color:#FF9B7A;}
  .sib-form-message-panel{display:none;}
  .sib-form-message-panel__text{display:flex; align-items:center; justify-content:center; gap:8px; text-align:center;}
  .sib-notification__icon{width:20px; height:20px; fill:currentColor; flex:none;}
  .input--hidden{display:none;}
  .entry__error{color:#FF9B7A; font-size:0.85rem; font-weight:700; text-align:left; margin-top:6px;}

  .signup-form .form-label{
    display:block; text-align:left; margin:0 0 6px 6px;
    color:#D9E4F5; font-size:0.92rem; font-weight:700;
  }
  .signup-form input[type="text"],
  .signup-form input[type="tel"],
  .signup-form select{
    width:100%;
    font-family:'Nunito'; font-weight:700; font-size:1rem; color:#1B2A47;
    padding:13px 18px; border-radius:999px; border:3px solid #D98A17;
    background-color:#FFFDF6; outline-offset:2px;
  }
  .signup-form input[type="text"]::placeholder,
  .signup-form input[type="tel"]::placeholder{color:#8A93A8; font-weight:600;}
  .signup-form select{
    appearance:none; -webkit-appearance:none; cursor:pointer; padding-right:46px;
    background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234E5C7C' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
    background-repeat:no-repeat; background-position:right 16px center; background-size:18px;
  }
  .signup-form input[type="text"]:-webkit-autofill,
  .signup-form input[type="text"]:-webkit-autofill:hover,
  .signup-form input[type="text"]:-webkit-autofill:focus,
  .signup-form input[type="tel"]:-webkit-autofill,
  .signup-form input[type="tel"]:-webkit-autofill:hover,
  .signup-form input[type="tel"]:-webkit-autofill:focus{
    -webkit-text-fill-color:#1B2A47;
    -webkit-box-shadow:0 0 0 1000px #FFFDF6 inset;
    box-shadow:0 0 0 1000px #FFFDF6 inset;
    transition:background-color 5000s ease-in-out 0s;
  }
  .signup-form-wide{max-width:560px;}
  footer{padding:40px 0 50px; text-align:center;}
  .footer-inner{display:flex; flex-direction:column; align-items:center; gap:10px;}
  footer img{height:30px; opacity:0.85;}
  footer p{color:var(--ink-soft); font-size:0.85rem; font-weight:700;}
  .footer-link{color:var(--ink-soft); font-size:0.85rem; font-weight:700; text-decoration:underline;}
  .footer-link:hover{color:var(--blue-deep);}
  .footer-links{display:flex; align-items:center; gap:16px;}
  .footer-social{display:inline-flex; opacity:0.85; transition:opacity .2s, transform .2s;}
  .footer-social:hover{opacity:1; transform:translateY(-2px);}
  .footer-social img{width:22px; height:22px; display:block;}

  .reveal{opacity:0; transform:translateY(18px); transition:opacity .6s ease, transform .6s ease;}
  .reveal.in{opacity:1; transform:translateY(0);}
