/* ============================================================
   Vault Sweepstakes — Premium Human Design System
   Light, warm, trustworthy. Luxury meets purpose.
   ============================================================ */

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

:root {
    /* Core */
    --bg:         #FAFAF7;
    --bg-warm:    #F4F1EB;
    --bg-card:    #FFFFFF;
    --bg-dark:    #1B3A4B;

    /* Text */
    --text:       #1a1a1a;
    --text-mid:   #555555;
    --text-dim:   #888888;
    --text-light: #aaaaaa;

    /* Prize / Luxury accent */
    --navy:       #1B3A4B;
    --navy-lt:    #2A5468;

    /* Nerual / Impact accent */
    --nerual:     #2D936C;
    --nerual-lt:  #3DB882;
    --nerual-bg:  #EDF8F3;
    --nerual-dk:  #1E6B4E;

    /* CTA / Action */
    --gold:       #E8A838;
    --gold-lt:    #F0C060;
    --gold-dk:    #C48820;

    /* Status */
    --red:        #D64045;
    --red-bg:     #FDF2F2;

    /* Borders */
    --border:     #E8E4DC;
    --border-lt:  #F0EDE6;

    /* Typography */
    --serif:      'Cormorant Garamond', Georgia, serif;
    --sans:       'DM Sans', system-ui, sans-serif;
    --ease:       cubic-bezier(0.16,1,0.3,1);
}

html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--text);font-family:var(--sans);overflow-x:hidden;-webkit-font-smoothing:antialiased}
a{color:var(--navy);text-decoration:none;transition:color .2s}
a:hover{color:var(--nerual)}
img{max-width:100%;height:auto}

/* ── Layout ───────────────────────────────────────────── */
.container{max-width:1100px;margin:0 auto;padding:0 2.5rem}
.section{padding:5rem 0}
.section--warm{background:var(--bg-warm)}
.section--dark{background:var(--bg-dark);color:#fff}
.section--dark .text-mid,.section--dark .subheading{color:rgba(255,255,255,.7)}
.section--nerual{background:var(--nerual-bg)}

/* ── Typography ───────────────────────────────────────── */
.heading{font-family:var(--serif);font-size:clamp(2rem,4vw,3.2rem);font-weight:400;color:var(--text);line-height:1.15;letter-spacing:-.02em}
.heading--white{color:#fff}
.heading em{font-style:italic;color:var(--nerual)}
.subheading{font-size:.95rem;color:var(--text-mid);margin-top:.6rem;line-height:1.7}
.label{font-size:.65rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--nerual)}

/* ── Header / Nav ──────────────────────────────���──────── */
.nav{
    position:fixed;top:0;left:0;right:0;z-index:100;
    display:flex;align-items:center;justify-content:space-between;
    padding:.9rem 2.5rem;
    background:rgba(255,255,255,.92);backdrop-filter:blur(20px);
    border-bottom:1px solid var(--border)
}
.nav__logo{font-family:var(--serif);font-size:1.15rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--navy);text-decoration:none}
.nav__logo span{display:block;font-family:var(--sans);font-size:.5rem;font-weight:600;letter-spacing:.15em;color:var(--text-dim);margin-top:.1rem}
.nav__links{display:flex;align-items:center;gap:1.8rem;list-style:none}
.nav__links a{font-size:.72rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-mid);text-decoration:none;transition:color .2s}
.nav__links a:hover{color:var(--navy)}
.nav__nerual{color:var(--nerual)!important;font-weight:600!important}
.nav__free{padding:.45rem 1.1rem;border:1px solid var(--nerual);color:var(--nerual)!important;border-radius:4px;transition:all .2s!important}
.nav__free:hover{background:var(--nerual);color:#fff!important}

.nav__toggle{display:none;background:none;border:1px solid var(--border);color:var(--navy);width:36px;height:36px;cursor:pointer;align-items:center;justify-content:center;font-size:1.1rem;flex-shrink:0;border-radius:4px}

.mobile-nav{display:none;position:fixed;top:57px;left:0;right:0;bottom:0;z-index:99;background:rgba(255,255,255,.98);backdrop-filter:blur(20px);flex-direction:column;padding:2rem 2.5rem}
.mobile-nav.open{display:flex}
.mobile-nav a{font-size:.88rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--text-mid);text-decoration:none;padding:1rem 0;border-bottom:1px solid var(--border-lt);transition:color .2s}
.mobile-nav a:hover{color:var(--nerual)}

/* ── Hero ────────────────────────────────────────��────── */
.hero{position:relative;margin-top:57px;min-height:70vh;display:flex;align-items:center;justify-content:center;overflow:hidden;text-align:center;background:linear-gradient(145deg,#1B3A4B 0%,#15303F 40%,#0F2530 100%)}
.hero__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;filter:brightness(.5) saturate(.85);transition:transform 8s ease;z-index:0}
.hero:hover .hero__bg{transform:scale(1.03)}
.hero__grad{position:absolute;inset:0;background:linear-gradient(to bottom,rgba(27,58,75,.3) 0%,rgba(27,58,75,.6) 50%,rgba(27,58,75,.95) 100%);z-index:1}

/* Geometric Rings */
.hero__rings{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;opacity:.5}
.hero__ring{position:absolute;border-radius:50%;border:1px solid rgba(255,255,255,.12);top:50%;left:50%}
.hero__ring--1{width:500px;height:500px;margin:-250px 0 0 -250px;animation:ring-rotate 90s linear infinite}
.hero__ring--2{width:320px;height:320px;margin:-160px 0 0 -160px;animation:ring-rotate 55s linear infinite reverse;border-color:rgba(255,255,255,.07)}
.hero__ring--3{width:150px;height:150px;margin:-75px 0 0 -75px;animation:ring-rotate 35s linear infinite;border-color:rgba(255,255,255,.04)}
@keyframes ring-rotate{to{transform:rotate(360deg)}}

.hero__content{position:relative;z-index:2;padding:3rem 2.5rem;max-width:720px}
.hero__content::before{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:500px;height:500px;background:radial-gradient(circle,rgba(232,168,56,.06) 0%,transparent 70%);pointer-events:none}
.hero__tag{font-size:.6rem;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:1.2rem}

.hero__prize-name{font-family:var(--serif);font-size:clamp(2.5rem,5.5vw,4.5rem);font-weight:400;line-height:1.05;color:#fff;letter-spacing:-.02em;margin-bottom:.6rem}
.hero__arv{font-size:.9rem;font-weight:500;color:var(--gold-lt);letter-spacing:.08em;margin-bottom:1.5rem}

.hero__prize-img{width:240px;height:240px;object-fit:contain;margin-bottom:2rem;filter:drop-shadow(0 20px 50px rgba(0,0,0,.3));cursor:pointer;transition:transform .4s var(--ease);border-radius:8px}
.hero__prize-img:hover{transform:scale(1.05)}

/* Social Proof */
.social-proof{display:inline-flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);padding:.4rem 1rem;border-radius:100px;font-size:.72rem;color:rgba(255,255,255,.7);margin-top:1.2rem}
.social-proof__dot{width:7px;height:7px;border-radius:50%;background:var(--nerual-lt);animation:live-pulse 2s ease-in-out infinite;flex-shrink:0}
@keyframes live-pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.7)}}

/* Urgency */
.urgency-bar{background:rgba(214,64,69,.15);border:1px solid rgba(214,64,69,.3);padding:.5rem 1rem;font-size:.75rem;color:#fff;display:inline-flex;align-items:center;gap:.5rem;border-radius:4px;margin-bottom:.8rem}

/* ── Countdown ────────────────────────────────────────── */
.countdown{display:grid;grid-template-columns:repeat(4,1fr);gap:2px;margin:1.5rem auto;max-width:340px;border-radius:8px;overflow:hidden}
.countdown__unit{background:rgba(255,255,255,.08);padding:.8rem .3rem;text-align:center}
.countdown__num{font-family:var(--serif);font-size:1.8rem;font-weight:400;color:#fff;display:block;line-height:1;transition:transform .12s}
.countdown__num--changing{animation:count-slide .3s ease}
@keyframes count-slide{from{transform:translateY(-3px);opacity:.7}to{transform:translateY(0);opacity:1}}
.countdown__label{font-size:.5rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.45);display:block;margin-top:.25rem}

/* ── Nerual Impact Bar ────────────────────────────────── */
.nerual-bar{background:rgba(45,147,108,.12);border:1px solid rgba(45,147,108,.25);border-radius:8px;padding:1.2rem 1.5rem;margin:1.5rem auto;max-width:480px}
.nerual-bar--light{background:var(--nerual-bg);border-color:rgba(45,147,108,.15)}
.nerual-bar__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}
.nerual-bar__title{font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--nerual-lt)}
.nerual-bar__count{font-size:1.3rem;font-weight:700;color:#fff}
.nerual-bar--light .nerual-bar__count{color:var(--nerual-dk)}
.nerual-bar__count span{color:var(--nerual-lt)}
.nerual-bar--light .nerual-bar__count span{color:var(--nerual)}
.nerual-bar__desc{font-size:.78rem;color:rgba(255,255,255,.55);margin-bottom:.8rem}
.nerual-bar--light .nerual-bar__desc{color:var(--text-mid)}
.nerual-bar__progress{height:4px;background:rgba(255,255,255,.1);border-radius:2px;overflow:hidden}
.nerual-bar--light .nerual-bar__progress{background:rgba(45,147,108,.1)}
.nerual-bar__fill{height:100%;background:linear-gradient(90deg,var(--nerual-dk),var(--nerual-lt));border-radius:2px;transition:width .8s var(--ease)}
.nerual-bar__next{font-size:.65rem;color:var(--nerual-lt);margin-top:.5rem;opacity:.7}

/* ── Entry Panel (overlaps hero) ──────────────────────── */
.entry-panel{position:relative;top:-4rem;z-index:3;margin-bottom:-4rem}

/* ── Stats Row ────────────────────────────────────────── */
.stats{display:flex;justify-content:center;gap:3rem;flex-wrap:wrap;padding:2rem 0}
.stat{text-align:center}
.stat__num{font-family:var(--serif);font-size:2rem;font-weight:400;color:var(--navy)}
.stat__num--nerual{color:var(--nerual)}
.stat__label{font-size:.58rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-top:.3rem}

/* ── Progress Ring ────────────────────────────────────── */
.progress-ring{position:relative;width:80px;height:80px;margin:0 auto}
.progress-ring__circle{transform:rotate(-90deg);transform-origin:50% 50%}
.progress-ring__bg{fill:none;stroke:var(--border);stroke-width:3}
.progress-ring__fill{fill:none;stroke:var(--gold);stroke-width:3;stroke-linecap:round;transition:stroke-dashoffset 1.2s var(--ease)}
.progress-ring__text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--serif);font-size:1rem;font-weight:400;color:var(--navy)}

/* ── Trust Badges ──────────────────────────────��──────── */
.trust{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin:1.5rem 0}
.trust__badge{display:inline-flex;align-items:center;gap:.4rem;padding:.4rem .85rem;background:var(--bg-card);border:1px solid var(--border);font-size:.65rem;font-weight:500;color:var(--text-mid);border-radius:100px}
.trust__badge--green{background:var(--nerual-bg);border-color:rgba(45,147,108,.2);color:var(--nerual-dk)}
.trust__badge--gold{background:#FEF7E8;border-color:rgba(232,168,56,.2);color:var(--gold-dk)}

/* ── Key Selector ────────────────────────────────────── */
.tokens{background:var(--bg-card);border:1px solid var(--border);padding:1.8rem;position:relative;max-width:400px;margin:0 auto;border-radius:12px;box-shadow:0 4px 24px rgba(0,0,0,.04)}

.token-price{text-align:center;padding:.8rem 0 .6rem;margin-bottom:.8rem;border-bottom:1px solid var(--border-lt)}
.token-price__num{font-family:var(--serif);font-size:2.4rem;font-weight:400;color:var(--navy);display:block;line-height:1}
.token-price__sub{font-size:.65rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim);margin-top:.2rem}

.qty-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.6rem}
.qty-lbl{font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-dim)}
.odds-tag{font-size:.7rem;color:var(--navy);background:rgba(27,58,75,.06);border:1px solid rgba(27,58,75,.12);padding:.15rem .6rem;border-radius:100px}

.qty-row{display:flex;height:48px;border:1px solid var(--border);margin-bottom:.6rem;border-radius:6px;overflow:hidden}
.qty-btn{background:var(--bg-warm);border:none;color:var(--navy);font-size:1.3rem;width:48px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;flex-shrink:0}
.qty-btn:hover{background:var(--border)}
.qty-num{flex:1;text-align:center;font-family:var(--serif);font-size:1.4rem;font-weight:400;color:var(--text);border-left:1px solid var(--border);border-right:1px solid var(--border);display:flex;align-items:center;justify-content:center;background:var(--bg-card)}

.presets{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.2rem}
.preset{background:var(--bg-card);border:1px solid var(--border);color:var(--text-mid);font-family:var(--sans);font-size:.72rem;font-weight:500;padding:.35rem .8rem;cursor:pointer;border-radius:6px;transition:all .15s}
.preset:hover{border-color:var(--navy);color:var(--navy)}
.preset.on{border-color:var(--gold);color:var(--gold-dk);background:#FEF7E8}

/* Nerual live calc */
.nerual-calc{background:var(--nerual-bg);border:1px solid rgba(45,147,108,.12);padding:1rem;margin:1rem 0;text-align:center;border-radius:8px;transition:all .3s}
.nerual-calc__amount{font-size:1.2rem;font-weight:700;color:var(--nerual)}
.nerual-calc__desc{font-size:.78rem;color:var(--text-mid);margin-top:.3rem}

/* Order summary */
.order{background:var(--bg-warm);border:1px solid var(--border-lt);padding:.8rem 1rem;margin-bottom:1rem;border-radius:6px}
.order__row{display:flex;justify-content:space-between;font-size:.78rem;color:var(--text-mid);margin-bottom:.2rem}
.order__row--total{border-top:1px solid var(--border);padding-top:.4rem;margin-top:.3rem;color:var(--navy);font-weight:600}
.order__row--nerual{color:var(--nerual)}

/* ── Buttons ──────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 2rem;border:none;cursor:pointer;font-family:var(--sans);font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;transition:all .25s var(--ease);border-radius:6px;position:relative}

.btn--gold{background:var(--gold);color:#fff;box-shadow:0 2px 12px rgba(232,168,56,.25)}
.btn--gold:hover{background:var(--gold-dk);box-shadow:0 4px 20px rgba(232,168,56,.35);transform:translateY(-1px);color:#fff}
.btn--gold:active{transform:none;box-shadow:0 2px 8px rgba(232,168,56,.2)}
.btn--gold:disabled{opacity:.4;cursor:not-allowed;transform:none}

.btn--nerual{background:var(--nerual);color:#fff;box-shadow:0 2px 12px rgba(45,147,108,.2)}
.btn--nerual:hover{background:var(--nerual-dk);box-shadow:0 4px 20px rgba(45,147,108,.3);transform:translateY(-1px);color:#fff}

.btn--navy{background:var(--navy);color:#fff}
.btn--navy:hover{background:var(--navy-lt);transform:translateY(-1px);color:#fff}

.btn--outline{background:transparent;border:1px solid var(--border);color:var(--text-mid)}
.btn--outline:hover{border-color:var(--navy);color:var(--navy)}

.btn--free{width:100%;padding:.8rem;background:transparent;border:1px solid var(--border);color:var(--text-mid);font-size:.68rem;letter-spacing:.16em;border-radius:6px}
.btn--free:hover{border-color:var(--nerual);color:var(--nerual)}

.btn--block{width:100%}
.btn--lg{padding:1.1rem 2.5rem;font-size:.78rem}

/* ── Cards ────────────────────────────────────────────── */
.card{background:var(--bg-card);border:1px solid var(--border);padding:1.8rem;border-radius:12px;transition:border-color .2s;box-shadow:0 2px 12px rgba(0,0,0,.03)}
.card:hover{border-color:rgba(27,58,75,.2)}

/* ── How It Works ───────────────────────────���─────────── */
.steps--grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2.5rem;text-align:center}
.step{display:flex;flex-direction:column;align-items:center}
.step__num{width:44px;height:44px;border-radius:50%;background:var(--nerual-bg);border:2px solid rgba(45,147,108,.2);display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;color:var(--nerual);margin-bottom:1rem}
.step__body h4{font-size:.9rem;font-weight:600;color:var(--text);margin-bottom:.4rem}
.step__body p{font-size:.82rem;color:var(--text-mid);line-height:1.7}

/* ── Nerual Story Section ─────────────────────────────── */
.nerual-story{background:var(--nerual-bg);border-top:3px solid var(--nerual);padding:5rem 0}
.nerual-story__name{font-family:var(--serif);font-size:clamp(2.5rem,5vw,4rem);font-weight:400;color:var(--nerual-dk);letter-spacing:-.02em}
.nerual-story__reversed{font-family:var(--serif);font-size:1rem;color:var(--text-mid);font-style:italic;margin-bottom:2rem}
.nerual-story p{font-size:.95rem;color:var(--text-mid);margin-bottom:1.2rem;max-width:640px;line-height:1.8}

/* ── Winners Strip ────────────────────────────────────── */
.winners-strip{padding:2.5rem 0;border-top:1px solid var(--border-lt)}
.strip__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}
.strip__title{font-size:.65rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--text-dim)}
.strip__link{font-size:.65rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);text-decoration:none}
.strip__link:hover{color:var(--nerual)}
.winners-row{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}
.winner-card{background:var(--bg-card);border:1px solid var(--border);padding:1.2rem;display:flex;gap:.8rem;align-items:flex-start;border-radius:8px}
.winner-card__img{width:48px;height:48px;object-fit:cover;flex-shrink:0;border-radius:6px}
.winner-card__name{font-size:.85rem;font-weight:600;color:var(--text);margin-bottom:.15rem}
.winner-card__prize{font-size:.75rem;color:var(--text-mid);line-height:1.4}
.winner-card__arv{font-size:.72rem;color:var(--gold-dk);margin-top:.15rem;font-weight:500}

/* ── Share Buttons ────────────────────────────────────── */
.share{display:flex;gap:.5rem;margin-top:.8rem}
.share__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.3rem;padding:.55rem;font-size:.62rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;text-decoration:none;cursor:pointer;border:none;font-family:var(--sans);transition:opacity .15s;border-radius:6px}
.share__btn:hover{opacity:.85}
.share__btn--wa{background:#25D366;color:#fff}
.share__btn--copy{background:var(--bg-warm);border:1px solid var(--border);color:var(--text-mid)}

/* ── Modal ────────────────────────────────────────────── */
.overlay{display:none;position:fixed;inset:0;z-index:500;background:rgba(0,0,0,.5);backdrop-filter:blur(8px);align-items:center;justify-content:center;padding:1rem}
.overlay.active{display:flex}
.modal{background:var(--bg-card);border:1px solid var(--border);max-width:440px;width:100%;position:relative;animation:modal-in .3s var(--ease);max-height:92vh;overflow-y:auto;border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.15)}
@keyframes modal-in{from{opacity:0;transform:scale(.97) translateY(10px)}to{opacity:1;transform:none}}
.modal__close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--text-light);font-size:1.3rem;cursor:pointer;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:color .2s;z-index:1;border-radius:50%}
.modal__close:hover{color:var(--text);background:var(--bg-warm)}

/* Modal prize header */
.modal__prize{display:flex;align-items:center;gap:1rem;padding:1.4rem 1.6rem;border-bottom:1px solid var(--border-lt);background:var(--bg-warm);border-radius:16px 16px 0 0}
.modal__prize-img{width:56px;height:56px;object-fit:cover;flex-shrink:0;border-radius:8px}
.modal__prize-name{font-family:var(--serif);font-size:1.1rem;font-weight:500;color:var(--text);line-height:1.2}
.modal__prize-arv{font-size:.72rem;color:var(--gold-dk);margin-top:.15rem;font-weight:500}

.modal__body{padding:1.4rem 1.6rem}

/* Step dots */
.modal__steps{display:flex;align-items:center;gap:.5rem;margin-bottom:1.3rem}
.modal__step-dot{width:6px;height:6px;border-radius:50%;background:var(--border);transition:all .3s}
.modal__step-dot--done{background:var(--nerual);border-radius:50%}
.modal__step-dot--active{background:var(--gold);width:18px;border-radius:3px}
.modal__step-label{font-size:.62rem;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-left:.3rem}

.modal__step{display:none}
.modal__step.active{display:block}

/* ── Forms ────────────────────────────────────────────── */
.form-group{margin-bottom:.7rem}
.form-group label{display:block;font-size:.62rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.35rem}
.form-input{width:100%;padding:.65rem .9rem;background:var(--bg-card);border:1px solid var(--border);color:var(--text);font-family:var(--sans);font-size:.88rem;border-radius:6px;outline:none;transition:border-color .2s}
.form-input:focus{border-color:var(--navy)}
.form-input::placeholder{color:var(--text-light)}
textarea.form-input{resize:vertical;min-height:80px}
select.form-input{cursor:pointer}

.stripe-element{background:var(--bg-card);border:1px solid var(--border);padding:.7rem .9rem;border-radius:6px;transition:border-color .2s}
.stripe-element--focus{border-color:var(--navy)}

/* ── Zoom Modal ───────────────────────────────────────── */
.zoom-overlay{display:none;position:fixed;inset:0;z-index:600;background:rgba(0,0,0,.92);align-items:center;justify-content:center;cursor:zoom-out}
.zoom-overlay.active{display:flex;animation:zoom-bg .3s ease}
@keyframes zoom-bg{from{opacity:0}to{opacity:1}}
.zoom__inner{position:relative;max-width:90vw;max-height:88vh;display:flex;flex-direction:column;align-items:center;cursor:default}
.zoom__img{max-width:100%;max-height:82vh;object-fit:contain;display:block;animation:zoom-img .35s var(--ease);box-shadow:0 40px 120px rgba(0,0,0,.6);border-radius:8px}
@keyframes zoom-img{from{opacity:0;transform:scale(.9) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}
.zoom__inner::before,.zoom__inner::after{content:'';position:absolute;width:18px;height:18px;border-color:rgba(232,168,56,.4);border-style:solid;animation:zoom-img .4s .1s var(--ease) both}
.zoom__inner::before{top:-8px;left:-8px;border-width:1px 0 0 1px}
.zoom__inner::after{bottom:-8px;right:-8px;border-width:0 1px 1px 0}
.zoom__caption{margin-top:1.2rem;text-align:center;animation:zoom-img .4s .08s var(--ease) both}
.zoom__caption-name{font-family:var(--serif);font-size:1.2rem;font-weight:400;color:#fff}
.zoom__caption-arv{font-size:.72rem;color:var(--gold-lt);letter-spacing:.08em;margin-top:.25rem}
.zoom__close{position:fixed;top:1.2rem;right:1.5rem;background:none;border:none;color:rgba(255,255,255,.5);font-size:1.5rem;cursor:pointer;padding:.3rem;transition:color .2s;z-index:1}
.zoom__close:hover{color:#fff}

/* ── FAQ ──────────────────────────────────────────────── */
.faq{max-width:700px;margin:0 auto}
.faq__item{border-bottom:1px solid var(--border-lt)}
.faq__q{display:flex;align-items:center;justify-content:space-between;padding:1.2rem 0;cursor:pointer;background:none;border:none;width:100%;text-align:left;font-family:var(--sans);font-size:.9rem;font-weight:500;color:var(--text);transition:color .2s}
.faq__q:hover{color:var(--nerual)}
.faq__q::after{content:'+';font-size:1.2rem;color:var(--text-light);transition:transform .2s;flex-shrink:0;margin-left:1rem}
.faq__item.active .faq__q::after{content:'\2212';color:var(--nerual)}
.faq__a{max-height:0;overflow:hidden;transition:max-height .3s ease}
.faq__item.active .faq__a{max-height:300px}
.faq__a-inner{padding:0 0 1.2rem;font-size:.85rem;color:var(--text-mid);line-height:1.8}
.faq__a-inner a{color:var(--nerual)}

/* ── Donation ─────────────────────────────────────────── */
.donate-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin:1.5rem 0}
.donate-preset{background:var(--bg-card);border:2px solid var(--border);padding:1.2rem .5rem;text-align:center;cursor:pointer;transition:all .2s;border-radius:10px}
.donate-preset:hover{border-color:var(--nerual)}
.donate-preset.on{border-color:var(--nerual);background:var(--nerual-bg)}
.donate-preset__amt{font-family:var(--serif);font-size:1.6rem;font-weight:400;color:var(--nerual);display:block}
.donate-preset__impact{font-size:.65rem;color:var(--text-dim);margin-top:.2rem}

.donate-impact{background:var(--nerual-bg);border:1px solid rgba(45,147,108,.12);padding:1.5rem;text-align:center;margin:1rem 0;border-radius:10px}
.donate-impact__amt{font-size:1.8rem;font-weight:700;color:var(--nerual)}
.donate-impact__desc{font-size:.85rem;color:var(--text-mid);margin-top:.4rem}

/* ── Footer ───────────────────────────────────────────── */
.footer{border-top:1px solid var(--border);background:var(--bg-warm)}
.footer__top{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:2rem;padding:3rem 2.5rem;max-width:1100px;margin:0 auto}
.footer__brand{}
.footer__logo{font-family:var(--serif);font-size:1.2rem;font-weight:600;color:var(--navy);letter-spacing:.2em;text-transform:uppercase;display:block;margin-bottom:.5rem}
.footer__tagline{font-size:.78rem;color:var(--text-mid);line-height:1.7}
.footer__nerual{color:var(--nerual);font-size:.75rem;font-weight:500;margin-top:.5rem;display:block}
.footer__col{display:flex;flex-direction:column;gap:.6rem}
.footer__col-title{font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);margin-bottom:.2rem}
.footer__col a{font-size:.78rem;color:var(--text-mid);text-decoration:none;transition:color .2s}
.footer__col a:hover{color:var(--nerual)}
.footer__bottom{border-top:1px solid var(--border);padding:1.2rem 2.5rem;max-width:1100px;margin:0 auto}
.footer__legal{font-size:.65rem;color:var(--text-dim);line-height:1.7;text-align:center}
.footer__legal a{color:var(--text-dim);text-decoration:underline;text-underline-offset:2px}

/* ── Toast ──────────────────────────────────��─────────── */
.toast{position:fixed;bottom:20px;right:20px;background:var(--bg-card);border:1px solid var(--border);padding:1rem 1.5rem;color:var(--text);font-size:.85rem;z-index:300;transform:translateY(100px);opacity:0;transition:all .3s var(--ease);border-radius:8px;box-shadow:0 8px 30px rgba(0,0,0,.1)}
.toast.show{transform:translateY(0);opacity:1}
.toast--nerual{border-color:rgba(45,147,108,.2);background:var(--nerual-bg);color:var(--nerual-dk)}

/* ── Legal text ───────────────────────────────────────── */
.legal{margin-top:1rem;padding-top:.8rem;border-top:1px solid var(--border-lt);font-size:.62rem;color:var(--text-dim);line-height:1.7;text-align:center}
.legal a{color:var(--text-dim);text-decoration:underline;text-underline-offset:2px}
.legal a:hover{color:var(--nerual)}

/* ── Admin styles (keep dark for admin) ───────────────── */
.admin-nav{display:flex;gap:16px;padding:16px 2.5rem;background:#111;border-bottom:1px solid #222;flex-wrap:wrap;align-items:center}
.admin-nav a{color:#888;font-size:.85rem;font-weight:500;text-decoration:none}
.admin-nav a:hover{color:var(--gold)}
.admin-nav .active{color:var(--gold)}

/* ── Nerual Strip ─────────────────────────────────────── */
.nerual-strip{background:var(--nerual-bg);border-top:3px solid var(--nerual);border-bottom:1px solid rgba(45,147,108,.12);padding:1.2rem 0}
.nerual-strip__inner{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.nerual-strip__left{font-size:.88rem;color:var(--text-mid);line-height:1.6;flex:1;min-width:280px}
.nerual-strip__left strong{color:var(--nerual-dk)}
.nerual-strip__left a{color:var(--nerual);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.nerual-strip__right{text-align:center;min-width:100px}
.nerual-strip__num{font-family:var(--serif);font-size:2rem;font-weight:400;color:var(--nerual);display:block;line-height:1}
.nerual-strip__label{font-size:.62rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-top:.2rem}

/* ── Entry Grid (2-column layout) ─────────────────────── */
.entry-grid{display:grid;grid-template-columns:1fr 380px;gap:3rem;align-items:start}

.entry-info{padding-top:1rem}
.entry-info .steps{margin-bottom:2rem}

/* Availability inline */
.avail{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--bg-warm);border:1px solid var(--border-lt);border-radius:8px;margin-bottom:1.5rem}
.avail__ring{position:relative;width:60px;height:60px;flex-shrink:0}
.avail__pct{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:var(--serif);font-size:.85rem;font-weight:400;color:var(--navy)}
.avail__info{flex:1}
.avail__sold{font-size:.85rem;color:var(--text);font-weight:500}
.avail__left{font-size:.78rem;color:var(--text-mid)}

/* Inline entry panel */
.entry-panel-inline{position:sticky;top:80px}
.panel{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.6rem;box-shadow:0 8px 40px rgba(0,0,0,.06)}
.panel__prize{display:flex;align-items:center;gap:.8rem;padding-bottom:1rem;margin-bottom:1rem;border-bottom:1px solid var(--border-lt)}
.panel__prize-img{width:52px;height:52px;object-fit:cover;border-radius:8px;flex-shrink:0}
.panel__prize-name{font-family:var(--serif);font-size:1rem;font-weight:500;color:var(--text);line-height:1.2}
.panel__prize-arv{font-size:.72rem;color:var(--gold-dk);margin-top:.15rem;font-weight:500}

/* ── Nerual Teaser (Lauren section) ───────────────────── */
.nerual-teaser{display:grid;grid-template-columns:1.5fr 1fr;gap:3rem;align-items:center}
.nerual-teaser__text p{font-size:.92rem;color:var(--text-mid);line-height:1.8;margin-bottom:1rem;max-width:540px}
.nerual-teaser__stats{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.nerual-stat{background:var(--bg-card);border:1px solid rgba(45,147,108,.12);border-radius:10px;padding:1.2rem;text-align:center}
.nerual-stat__num{font-family:var(--serif);font-size:1.8rem;font-weight:400;color:var(--nerual);line-height:1}
.nerual-stat__label{font-size:.6rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);margin-top:.3rem}

/* ── Responsive ───────────────────────────────────────── */
@media(max-width:900px){
    .entry-grid{grid-template-columns:1fr;gap:2rem}
    .entry-panel-inline{position:static}
    .nerual-teaser{grid-template-columns:1fr;gap:2rem}
    .winners-row{grid-template-columns:1fr}
    .steps--grid{grid-template-columns:1fr;gap:1.5rem}
    .footer__top{grid-template-columns:1fr 1fr;gap:1.5rem}
    .footer__brand{grid-column:1/-1}
    .donate-presets{grid-template-columns:repeat(2,1fr)}
}

@media(max-width:600px){
    .container{padding:0 1.5rem}
    .nav{padding:.8rem 1.2rem}
    .nav__links{display:none}
    .nav__toggle{display:flex}
    .hero{min-height:55vh}
    .hero__prize-name{font-size:2.2rem}
    .hero__content{padding:2rem 1.5rem}
    .hero__prize-img{width:180px;height:180px}
    .countdown{max-width:280px}
    .countdown__num{font-size:1.3rem}
    .entry-panel{top:-2rem;margin-bottom:-2rem}
    .footer__top{grid-template-columns:1fr;padding:1.5rem}
    .footer__bottom{padding:1rem 1.5rem}
    .modal{border-radius:12px}
    .modal__prize{border-radius:12px 12px 0 0}
}
