:root{--ink:#080607;--panel:#151013;--panel2:#1d1519;--cream:#f7f0e4;--muted:#b8afb0;--red:#c91534;--red2:#f02b4c;--gold:#ddb966;--line:rgba(221,185,102,.28);--good:#7fe0ae;--shadow:0 24px 80px rgba(0,0,0,.5);--radius:1.35rem;--max:76rem;color-scheme:dark;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 70% -10%,rgba(154,16,44,.22),transparent 38rem),var(--ink);color:var(--cream);min-height:100vh}body::before{position:fixed;inset:0;pointer-events:none;content:"";opacity:.18;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.22'/%3E%3C/svg%3E")}a{color:inherit}button,input,textarea{font:inherit}.sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;z-index:999;top:.5rem;left:.5rem;transform:translateY(-150%);padding:.75rem 1rem;border-radius:999px;background:#fff;color:#000;font-weight:800}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--gold);outline-offset:3px}.portal-header{position:sticky;z-index:50;top:0;display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:4.5rem;padding:.65rem max(1rem,env(safe-area-inset-left));border-bottom:1px solid rgba(255,255,255,.08);background:rgba(8,6,7,.9);backdrop-filter:blur(18px)}.portal-brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;min-width:0}.portal-brand img{width:2.8rem;height:2.8rem;object-fit:contain}.portal-brand span{display:grid;min-width:0}.portal-brand strong{font:700 1rem/1.05 "Playfair Display",serif}.portal-brand small{margin-top:.25rem;color:var(--muted);font-size:.62rem;letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.menu-button{display:inline-flex;align-items:center;gap:.5rem;min-height:44px;padding:.7rem .9rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.04);color:var(--cream);font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}.menu-button span{font-size:1.2rem}.portal-drawer{position:fixed;z-index:70;inset:0 0 0 auto;width:min(29rem,100%);padding:calc(1rem + env(safe-area-inset-top)) 1rem calc(1rem + env(safe-area-inset-bottom));overflow:auto;border-left:1px solid var(--line);background:radial-gradient(circle at 100% 0,rgba(201,21,52,.26),transparent 24rem),#0b080a;box-shadow:-30px 0 80px #000;transform:translateX(105%);visibility:hidden;transition:.3s ease}.portal-drawer.is-open{transform:none;visibility:visible}.drawer-profile{display:flex;align-items:center;gap:.75rem;padding:.75rem 3.5rem 1rem .4rem;border-bottom:1px solid var(--line)}.drawer-profile img{width:4rem;height:4rem;object-fit:contain}.drawer-profile div{display:grid}.drawer-profile span{margin-top:.25rem;color:var(--muted);font-size:.75rem}.portal-drawer nav{display:grid;margin-top:1rem}.portal-drawer nav a{display:grid;min-height:4.15rem;padding:.75rem;border-bottom:1px solid rgba(255,255,255,.08);text-decoration:none}.portal-drawer nav a span{font:700 1.15rem/1.15 "Playfair Display",serif}.portal-drawer nav a small{margin-top:.25rem;color:var(--muted)}.portal-drawer nav a[aria-current=page]{border-left:3px solid var(--red2);background:rgba(201,21,52,.1);color:var(--gold)}.drawer-backdrop{position:fixed;z-index:60;inset:0;border:0;background:rgba(0,0,0,.7);backdrop-filter:blur(4px)}.portal-hero{position:relative;display:grid;align-items:end;min-height:24rem;overflow:hidden;border-bottom:1px solid var(--line);background:linear-gradient(90deg,rgba(8,6,7,.98) 0%,rgba(8,6,7,.7) 58%,rgba(8,6,7,.12)),url("../../assets/social/2026-reunion-hype/09-ultra-real-practical-effects.png") 72% 32%/cover}.portal-hero::after{position:absolute;inset:auto 0 0;height:45%;content:"";background:linear-gradient(transparent,var(--ink))}.portal-hero__copy{position:relative;z-index:2;width:min(var(--max),calc(100% - 2rem));margin:auto;padding:6rem min(40%,32rem) 3rem 0}.eyebrow{margin:0 0 .55rem;color:var(--gold);font-size:.69rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.portal-hero h1{max-width:12ch;margin:0;font:900 clamp(2.5rem,7vw,5rem)/.92 "Playfair Display",serif;letter-spacing:-.045em}.portal-hero__copy>p:last-of-type{max-width:40rem;color:#d6cdcc;font:500 1.15rem/1.55 "Cormorant Garamond",serif}.portal-hero__harry{position:absolute;z-index:2;right:max(2vw,1rem);bottom:-2rem;width:min(29vw,21rem);height:auto;filter:drop-shadow(0 24px 28px rgba(0,0,0,.7))}.portal-layout{width:min(var(--max),calc(100% - 2rem));margin:auto;padding:2rem 0 7rem}.view{display:none}.view.is-active{display:block;animation:reveal .3s ease}@keyframes reveal{from{opacity:0;transform:translateY(8px)}}.next-action{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1.2rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(120deg,rgba(201,21,52,.19),rgba(255,255,255,.03));box-shadow:var(--shadow)}.next-action h3{margin:0;font:700 1.55rem/1.1 "Playfair Display",serif}.next-action p:last-child{margin:.4rem 0 0;color:var(--muted);line-height:1.5}.status-orb{width:.8rem;height:.8rem;border-radius:50%;background:var(--red2);box-shadow:0 0 0 .4rem rgba(240,43,76,.13),0 0 20px var(--red2)}.button{display:inline-flex;justify-content:center;align-items:center;min-height:46px;padding:.75rem 1rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.035);color:var(--cream);font-weight:800;font-size:.77rem;letter-spacing:.05em;text-transform:uppercase;text-decoration:none;cursor:pointer}.button--primary{border-color:var(--red2);background:var(--red);box-shadow:0 10px 28px rgba(201,21,52,.26)}.button--full{width:100%}.dashboard-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:1rem}.scene-card{position:relative;min-height:13rem;padding:1.25rem;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,var(--panel2),var(--panel));overflow:hidden}.scene-card--ticket{background:linear-gradient(120deg,rgba(0,0,0,.36),rgba(0,0,0,.82)),url("../../assets/tickets/virtual-ticket-premiere-v1.png") center/cover}.scene-card h3{margin:.6rem 0;font:700 1.55rem/1.1 "Playfair Display",serif}.scene-card p{max-width:35rem;color:var(--muted);line-height:1.5}.scene-card a{display:inline-flex;margin-top:.6rem;color:var(--gold);font-weight:800}.scene-icon{display:grid;place-items:center;width:2.5rem;height:2.5rem;border:1px solid var(--line);border-radius:50%;color:var(--gold);font-size:1.3rem}.event-strip{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;padding:1.3rem;border:1px solid var(--line);border-radius:var(--radius);background:#100c0e}.event-strip h3{margin:.25rem 0;font:700 1.5rem/1.1 "Playfair Display",serif}.event-strip p:last-child{margin:.4rem 0 0;color:var(--muted)}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin:1rem 0 1.5rem}.section-heading h2{margin:0;font:800 clamp(2.2rem,6vw,4rem)/.95 "Playfair Display",serif;letter-spacing:-.04em}.section-heading>div>p:last-child{max-width:42rem;color:var(--muted);line-height:1.6}.verified-badge,.privacy-chip,.saved-state{display:inline-flex;padding:.5rem .7rem;border:1px solid rgba(127,224,174,.3);border-radius:999px;background:rgba(127,224,174,.08);color:var(--good);font-size:.68rem;font-weight:800;text-transform:uppercase}.ticket-pass{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#000}.ticket-pass>img{display:block;width:100%;height:auto}.qr-zone{position:absolute;right:3.8%;top:46%;width:15.5%;aspect-ratio:1;display:grid;place-items:center;padding:.4rem;background:#f3ece0;color:#181215;text-align:center;box-shadow:0 4px 20px #0008}.qr-zone strong{position:absolute;padding:.2rem .35rem;background:#fff;border:1px solid #111;font-size:clamp(.48rem,1.2vw,.8rem)}.qr-zone small{position:absolute;top:102%;width:100%;color:var(--cream);font-size:clamp(.42rem,.9vw,.62rem);text-shadow:0 2px 4px #000}.qr-pattern{position:absolute;inset:.35rem;opacity:.95;background:repeating-conic-gradient(#111 0 25%,#fff 0 50%) 0/10px 10px}.ticket-details{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:1rem;overflow:hidden;border:1px solid var(--line);border-radius:1rem;background:var(--line)}.ticket-details div{display:grid;gap:.25rem;padding:1rem;background:var(--panel)}.ticket-details span{color:var(--muted);font-size:.65rem;text-transform:uppercase;letter-spacing:.1em}.ticket-details strong{font-family:"Playfair Display",serif}.good{color:var(--good)}.notice{margin-top:1rem;padding:1rem;border-left:3px solid var(--gold);background:rgba(221,185,102,.07)}.notice p{margin:.35rem 0 0;color:var(--muted);line-height:1.5}.action-row{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:1rem}.portal-form,.preferences,.upload-card,.process-card{padding:clamp(1rem,3vw,1.6rem);border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(145deg,var(--panel2),var(--panel));box-shadow:var(--shadow)}.portal-form{display:grid;gap:1.2rem}.portal-form.compact{align-content:start}.portal-form h3{margin:.25rem 0;font:700 1.6rem/1.1 "Playfair Display",serif}.portal-form fieldset{display:grid;gap:.6rem;margin:0;padding:0;border:0}.portal-form legend{margin-bottom:.7rem;font:700 1.2rem "Playfair Display",serif}.portal-form label,.upload-card label,.auth-card label{display:grid;gap:.45rem;color:#ddd4d1;font-size:.78rem;font-weight:700}.portal-form input:not([type=radio]):not([type=checkbox]),.portal-form textarea,.upload-card textarea,.auth-card input{width:100%;min-height:48px;padding:.8rem;border:1px solid rgba(255,255,255,.17);border-radius:.7rem;background:#0c090b;color:#fff}.portal-form textarea,.upload-card textarea{resize:vertical}.field-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.choice{grid-template-columns:auto 1fr!important;align-items:center;padding:.8rem;border:1px solid rgba(255,255,255,.12);border-radius:.8rem;background:rgba(0,0,0,.2);cursor:pointer}.choice input{width:1.25rem;height:1.25rem;accent-color:var(--red2)}.choice span{display:grid}.choice small{margin-top:.2rem;color:var(--muted);font-weight:500}.memory-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(17rem,.55fr);gap:1rem}.upload-card{display:grid;gap:1rem}.drop-zone{place-items:center;padding:2.2rem 1rem!important;border:1px dashed var(--gold)!important;border-radius:1rem;text-align:center;background:rgba(221,185,102,.04);cursor:pointer}.drop-zone input{position:absolute;opacity:0;width:1px;height:1px}.drop-zone__icon{display:grid;place-items:center;width:3rem;height:3rem;border:1px solid var(--gold);border-radius:50%;font-size:1.5rem}.drop-zone small{color:var(--muted);font-weight:500}.check{grid-template-columns:auto 1fr!important;align-items:start!important}.check input{width:1.1rem;height:1.1rem;accent-color:var(--red2)}.process-card{text-align:center}.process-card img{width:min(11rem,70%);height:auto}.process-card h3{font:700 1.5rem "Playfair Display",serif}.process-card ol{text-align:left;color:var(--muted);line-height:1.65}.process-card p{color:var(--gold);font-weight:700}.dashboard-grid--forms{align-items:start}.timeline{display:grid;gap:0;margin:0;padding:0;list-style:none}.timeline li{display:grid;grid-template-columns:6.5rem 1fr;gap:1rem;padding:1.25rem 0;border-top:1px solid var(--line)}.timeline time{color:var(--gold);font-weight:800}.timeline h3{margin:0;font:700 1.35rem "Playfair Display",serif}.timeline p{margin:.4rem 0 0;color:var(--muted);line-height:1.6}.info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:1.5rem}.info-grid article{padding:1rem;border:1px solid var(--line);border-radius:1rem;background:var(--panel)}.info-grid h3{font-family:"Playfair Display",serif}.info-grid p{color:var(--muted);line-height:1.6}.info-grid a{color:var(--gold);font-weight:800}.preferences{display:grid;gap:1.5rem}.preference-group h3{margin:0;font:700 1.35rem "Playfair Display",serif}.preference-group>p{color:var(--muted);line-height:1.5}.preference-row{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;gap:1rem;min-height:4.5rem;padding:.9rem 0;border-top:1px solid rgba(255,255,255,.1);cursor:pointer}.preference-row span{display:grid}.preference-row small{margin-top:.25rem;color:var(--muted);font-weight:500}.preference-row input{position:absolute;right:0;width:3rem;height:2rem;opacity:0}.preference-row i{position:relative;width:3rem;height:1.75rem;border-radius:999px;background:#454046;transition:.2s}.preference-row i::after{position:absolute;top:.2rem;left:.2rem;width:1.35rem;height:1.35rem;border-radius:50%;background:white;content:"";transition:.2s}.preference-row input:checked+i{background:var(--red)}.preference-row input:checked+i::after{transform:translateX(1.25rem)}.preference-row input:focus-visible+i{outline:3px solid var(--gold);outline-offset:3px}.preference-row input:disabled+i{opacity:.55}.harry-guide{position:fixed;z-index:45;right:max(1rem,env(safe-area-inset-right));bottom:max(1rem,env(safe-area-inset-bottom));display:grid;grid-template-columns:auto 1fr auto;align-items:center;width:min(26rem,calc(100% - 2rem));padding:.65rem .75rem;border:1px solid var(--line);border-radius:1rem;background:rgba(15,10,12,.94);box-shadow:var(--shadow);backdrop-filter:blur(16px)}.harry-guide img{width:4.1rem;height:4.1rem;object-fit:contain}.harry-guide div{min-width:0}.harry-guide strong{font-family:"Playfair Display",serif}.harry-guide p{margin:.25rem 0 0;color:var(--muted);font-size:.75rem;line-height:1.35}.harry-guide button{align-self:start;border:0;background:transparent;color:var(--muted);font-size:1.2rem;cursor:pointer}.toast{position:fixed;z-index:100;left:50%;bottom:1.25rem;transform:translateX(-50%);width:min(32rem,calc(100% - 2rem));padding:1rem;border:1px solid var(--gold);border-radius:999px;background:#171013;color:#fff;text-align:center;box-shadow:var(--shadow);font-weight:700}.auth-page{background:#090708}.auth-shell{display:grid;grid-template-columns:minmax(22rem,1.1fr) minmax(24rem,.9fr);min-height:100dvh}.auth-art{position:relative;display:flex;flex-direction:column;justify-content:space-between;min-height:100dvh;padding:1.5rem clamp(1rem,5vw,5rem);overflow:hidden;background:linear-gradient(90deg,rgba(0,0,0,.75),rgba(0,0,0,.1)),url("../../assets/social/2026-reunion-hype/03-thirty-years-one-night-4x5.png") center/cover}.auth-art--register{background-image:linear-gradient(90deg,rgba(0,0,0,.78),rgba(0,0,0,.12)),url("../../assets/social/2026-reunion-hype/07-hi-tides-its-time-f1-live-action.png")}.auth-art>div{position:relative;z-index:2;max-width:37rem;padding-bottom:3rem}.auth-art h1,.auth-card--standalone h1{margin:0;font:900 clamp(3rem,7vw,6rem)/.88 "Playfair Display",serif;letter-spacing:-.05em}.auth-art>div>p:last-child{color:#e1d8d3;font:500 1.25rem/1.5 "Cormorant Garamond",serif}.auth-harry{position:absolute;right:-3rem;bottom:-4rem;width:min(26vw,20rem);filter:drop-shadow(0 24px 30px #000)}.auth-panel{display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 100% 0,rgba(201,21,52,.16),transparent 26rem),#0c090b}.auth-card{width:min(31rem,100%);padding:clamp(1.2rem,4vw,2.2rem);border:1px solid var(--line);border-radius:var(--radius);background:rgba(21,16,19,.92);box-shadow:var(--shadow)}.auth-card h2{margin:.2rem 0;font:800 2.3rem/1 "Playfair Display",serif}.auth-card>p:not(.eyebrow){color:var(--muted);line-height:1.55}.auth-card form{display:grid;gap:1rem;margin-top:1.3rem}.auth-card label{position:relative}.auth-card label small{color:var(--muted);font-weight:500}.label-link{position:absolute;right:0}.label-link a,.auth-switch a,.text-button{color:var(--gold);font-weight:800}.auth-divider{display:flex;align-items:center;gap:1rem;margin:1.25rem 0;color:var(--muted);font-size:.75rem;text-transform:uppercase}.auth-divider::before,.auth-divider::after{height:1px;flex:1;background:var(--line);content:""}.auth-note{font-size:.7rem;text-align:center}.auth-switch{text-align:center}.auth-page--center{display:grid;place-items:center;padding:1rem}.auth-card--standalone{text-align:center}.auth-medallion{width:8rem;max-height:8rem;object-fit:contain}.auth-card--standalone h1{font-size:clamp(2.4rem,8vw,4.5rem)}.code-input{text-align:center;font-size:1.8rem!important;letter-spacing:.4em}.text-button{display:inline-flex;justify-content:center;margin-top:1rem;border:0;background:transparent;cursor:pointer;text-decoration:underline}
@media(max-width:760px){.portal-header{min-height:4rem}.portal-brand small{font-size:.55rem}.portal-hero{min-height:20rem;background-position:67% 30%}.portal-hero__copy{padding:5rem 8rem 2rem 0}.portal-hero__copy>p:last-of-type{font-size:1rem}.portal-hero__harry{right:-2rem;bottom:-1rem;width:11rem}.portal-layout{padding-top:1rem}.next-action{grid-template-columns:auto 1fr}.next-action .button{grid-column:1/-1;width:100%}.dashboard-grid,.dashboard-grid--forms,.memory-layout,.info-grid{grid-template-columns:1fr}.scene-card{min-height:11rem}.event-strip,.section-heading{align-items:stretch;flex-direction:column}.ticket-details{grid-template-columns:repeat(2,1fr)}.ticket-pass{margin-inline:-1rem;border-radius:0}.qr-zone{right:3.5%;top:45.5%;width:16.4%}.field-grid{grid-template-columns:1fr}.timeline li{grid-template-columns:5.5rem 1fr}.harry-guide{bottom:.75rem}.auth-shell{display:block}.auth-art{min-height:16rem;padding:1rem;background-position:center 28%}.auth-art>div{padding:5rem 6rem 0 0}.auth-art h1{font-size:2.55rem}.auth-art>div>p:last-child{display:none}.auth-harry{right:-1rem;bottom:-2rem;width:9rem}.auth-panel{padding:1rem;min-height:calc(100dvh - 16rem)}.auth-card{box-shadow:none}}@media(max-width:390px){.portal-brand strong{font-size:.88rem}.menu-button{padding:.65rem}.portal-hero__copy{padding-right:6.5rem}.portal-hero h1{font-size:2.3rem}.ticket-details{grid-template-columns:1fr 1fr}.timeline li{grid-template-columns:1fr;gap:.3rem}.harry-guide img{width:3.4rem;height:3.4rem}.harry-guide p{font-size:.7rem}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.view.is-active{animation:none}}@media(prefers-contrast:more){:root{--line:rgba(255,255,255,.62);--muted:#ddd}.button,.portal-form,.scene-card{border-width:2px}}@media print{.portal-header,.harry-guide,.action-row,.portal-drawer{display:none!important}.ticket-pass{box-shadow:none}.view{display:none!important}.view[data-view-panel=ticket]{display:block!important}}
