.gate-page{--gate-navy:#1a365d;--gate-deep:#0f1f3d;--gate-cream:#faf8f4;--gate-paper:#f3efe6;--gate-gold:#c9a85c;--gate-gold-light:#ddc389;--gate-gold-dim:#c9a85c29;--gate-ink:#16233b;--gate-mut:#5a6a84;--gate-line:#e3ddd0;--gate-row-line:#cfd8e6;--gate-display:var(--font-playfair), "Playfair Display", Georgia, serif;--gate-body:var(--font-inter), "Inter", system-ui, sans-serif;--gate-eyebrow-font:var(--font-bebas), "Bebas Neue", sans-serif;--gate-ease:cubic-bezier(.2, .7, .2, 1);--gate-pop:cubic-bezier(.22, 1, .36, 1);--gate-bar-h:104px;background:radial-gradient(680px 340px at 50% -120px, #c9a85c24, transparent 70%), radial-gradient(900px 500px at 110% 110%, #1a365d0d, transparent 65%), var(--gate-cream);min-height:100dvh;color:var(--gate-ink);font-family:var(--gate-body);-webkit-font-smoothing:antialiased;flex-direction:column;align-items:center;display:flex;overflow-x:hidden}.gate-page *,.gate-page :before,.gate-page :after{box-sizing:border-box}.gate-skip-link{z-index:100;background:var(--gate-deep);color:var(--gate-cream);border-radius:0 0 10px;padding:10px 18px;font-size:14px;text-decoration:none;position:absolute;top:0;left:-9999px}.gate-skip-link:focus-visible{left:0}.gate-page :is(button,a):focus-visible{outline:3px solid var(--gate-gold);outline-offset:2px;border-radius:10px}.gate-topbar{background:var(--gate-deep);text-align:center;border-bottom:1px solid #c9a85c59;width:100%;padding:15px 20px 13px}.gate-brand{font-family:var(--gate-display);color:#f6f1e6;letter-spacing:.02em;font-size:17px;font-weight:800}.gate-wrap{flex:1;width:100%;max-width:620px;padding:clamp(26px,3rem + 1vw,52px) clamp(16px,5vw,28px) 24px}.gate-eyebrow{font-family:var(--gate-eyebrow-font);letter-spacing:.22em;color:var(--gate-gold);text-align:center;text-transform:uppercase;font-size:clamp(11.5px,3.4vw,13.5px)}.gate-h1{font-family:var(--gate-display);color:var(--gate-navy);text-align:center;letter-spacing:-.01em;margin:12px 0 0;font-size:clamp(30px,8vw,46px);font-weight:900;line-height:1.12}.gate-h1 em{color:var(--gate-gold);white-space:nowrap;font-style:italic;position:relative}.gate-sub{text-align:center;color:var(--gate-mut);max-width:46ch;margin:14px auto 0;font-size:clamp(14px,4vw,15.5px);line-height:1.55}.gate-intro{animation:gate-fade-down .5s var(--gate-ease) both}.gate-dots{justify-content:center;gap:8px;max-width:240px;margin:30px auto 6px;display:flex}.gate-dot{background:#e2ddd0;border-radius:3px;flex:1;height:5px;position:relative;overflow:hidden}.gate-dot:after{content:"";background:linear-gradient(90deg, var(--gate-gold), var(--gate-gold-light));transform-origin:0;transition:transform .4s var(--gate-ease);position:absolute;inset:0;transform:scaleX(0)}.gate-dot-on:after{transform:scaleX(1)}.gate-progress{font-family:var(--gate-eyebrow-font);letter-spacing:.24em;color:var(--gate-mut);text-align:center;text-transform:uppercase;margin:0 0 4px;font-size:11.5px}.gate-card{animation:gate-card-in .32s var(--gate-ease) both}.gate-card-label{font-family:var(--gate-eyebrow-font);letter-spacing:.2em;color:var(--gate-gold);text-align:center;text-transform:uppercase;margin:18px 0 0;font-size:13.5px}.gate-question{font-family:var(--gate-display);color:var(--gate-navy);text-align:center;max-width:34ch;margin:8px auto 22px;font-size:clamp(21px,5.4vw,27px);font-weight:800;line-height:1.22}.gate-opts{flex-direction:column;gap:10px;display:flex}.gate-opt{--gate-i:0;border:1.5px solid var(--gate-row-line);width:100%;min-height:56px;color:var(--gate-navy);font-family:var(--gate-body);text-align:left;cursor:pointer;-webkit-user-select:none;user-select:none;touch-action:manipulation;transition:transform .16s var(--gate-ease), border-color .16s var(--gate-ease), background-color .16s var(--gate-ease), box-shadow .16s var(--gate-ease);animation:gate-row-in .4s var(--gate-ease) both;animation-delay:calc(60ms + var(--gate-i) * 45ms);background:#fff;border-radius:14px;align-items:center;gap:14px;padding:15px 16px 15px 17px;font-size:clamp(14.5px,4vw,15.5px);font-weight:600;line-height:1.35;display:flex;position:relative;box-shadow:0 1px 3px #0f1f3d0d}@media (hover:hover){.gate-opt:hover{border-color:var(--gate-navy);transform:translateY(-1px);box-shadow:0 6px 16px -8px #0f1f3d47}}.gate-opt:active{transform:scale(.985)}.gate-opt-on{border-color:var(--gate-navy);box-shadow:inset 0 0 0 1px var(--gate-navy), 0 6px 18px -10px #1a365d59;background:#f5f9fd;transform:translateY(-1px)}.gate-check{width:22px;height:22px;transition:background-color .16s var(--gate-ease), border-color .16s var(--gate-ease);background:#fff;border:2px solid #b6c2d4;border-radius:7px;flex:none;justify-content:center;align-items:center;display:inline-flex}.gate-check:after{content:"";border-left:2.5px solid var(--gate-gold);border-bottom:2.5px solid var(--gate-gold);transform-origin:50%;width:11px;height:6px;transition:transform .22s var(--gate-pop);margin-top:-2px;transform:rotate(-45deg)scale(0)}.gate-opt-on .gate-check{background:var(--gate-navy);border-color:var(--gate-navy)}.gate-opt-on .gate-check:after{transform:rotate(-45deg)scale(1)}.gate-opt-text{min-width:0}.gate-opt-ghost{color:#6b7a93;background:#fff9;border-style:dashed;border-color:#b6c2d4;font-weight:500}.gate-opt-ghost.gate-opt-on{background:#eef1f6;border-color:#6b7a93;box-shadow:inset 0 0 0 1px #6b7a93}.gate-opt-ghost.gate-opt-on .gate-check{background:#6b7a93;border-color:#6b7a93}.gate-skip{color:var(--gate-mut);font-family:var(--gate-body);cursor:pointer;text-underline-offset:3px;touch-action:manipulation;background:0 0;border:none;min-height:48px;margin:18px auto 0;padding:12px 16px;font-size:13.5px;text-decoration:underline;display:block}.gate-skip:hover{color:var(--gate-navy)}.gate-toast{left:50%;bottom:calc(var(--gate-bar-h) + 18px + env(safe-area-inset-bottom,0px));background:var(--gate-navy);color:#f4efe2;opacity:0;pointer-events:none;transition:opacity .25s var(--gate-ease), transform .25s var(--gate-ease);z-index:60;text-align:center;border-radius:999px;max-width:min(88vw,480px);padding:10px 20px;font-size:13.5px;font-weight:600;line-height:1.4;position:fixed;transform:translate(-50%)translateY(10px);box-shadow:0 10px 30px -12px #0f1f3d8c}.gate-toast-show{opacity:1;transform:translate(-50%)translateY(0)}.gate-toast b{color:var(--gate-gold);font-weight:800}.gate-bar{z-index:50;min-height:var(--gate-bar-h);padding:14px max(clamp(16px, 5vw, 28px), calc((100% - 620px) / 2 + 24px)) calc(14px + env(safe-area-inset-bottom,0px));-webkit-backdrop-filter:blur(10px);background:#0f1f3df0;border-top:1px solid #c9a85c73;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 12px;display:flex;position:fixed;bottom:0;left:0;right:0}.gate-count{color:#cdd6e6;min-width:0;margin:0;font-size:13px;line-height:1.35}.gate-count b{color:var(--gate-gold);white-space:nowrap;font-weight:800}.gate-cta{background:var(--gate-gold);color:var(--gate-deep);min-height:52px;font-family:var(--gate-body);letter-spacing:.01em;cursor:pointer;touch-action:manipulation;transition:transform .15s var(--gate-ease), box-shadow .15s var(--gate-ease), background-color .15s var(--gate-ease);border:none;border-radius:10px;flex:none;padding:15px 26px;font-size:15px;font-weight:800;box-shadow:0 8px 22px -10px #c9a85ce6}@media (hover:hover){.gate-cta:hover:not(:disabled){background:var(--gate-gold-light);transform:translateY(-1px);box-shadow:0 10px 26px -10px #c9a85c}}.gate-cta:active:not(:disabled){transform:scale(.98)}.gate-cta:disabled{opacity:.7;cursor:default}.gate-bar-fine{text-align:center;color:#cdd6e6d9;flex-basis:100%;margin:0;font-size:13px;line-height:1.3}.gate-footer{width:100%;padding:20px 18px calc(var(--gate-bar-h) + 34px + env(safe-area-inset-bottom,0px));text-align:center;color:#8b96a8;font-size:11.5px;line-height:1.55}@keyframes gate-card-in{0%{opacity:0;transform:translate(18px)}to{opacity:1;transform:none}}@keyframes gate-row-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes gate-fade-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}@media (prefers-reduced-motion:reduce){.gate-page *,.gate-page :before,.gate-page :after{transition:none!important;animation:none!important}}@media (min-width:900px){.gate-opt{padding:17px 18px 17px 19px;font-size:16px}.gate-count{font-size:14px}}@media (max-width:380px){.gate-bar{gap:10px;padding-left:12px;padding-right:12px}.gate-count{font-size:12px}.gate-cta{padding:13px 16px;font-size:13.5px}.gate-opt{gap:11px;padding:13px 12px 13px 14px}}
