@font-face{font-display:swap;font-family:Barlow;font-style:normal;font-weight:500;src:url(/fonts/backdrop/Barlow-Medium.ttf)format("truetype")}@font-face{font-display:swap;font-family:Barlow;font-style:normal;font-weight:700;src:url(/fonts/backdrop/Barlow-Bold.ttf)format("truetype")}@font-face{font-display:swap;font-family:Barlow;font-style:normal;font-weight:800;src:url(/fonts/backdrop/Barlow-ExtraBold.ttf)format("truetype")}:root{--ink-950:#123878;--ink-900:#153c88;--ink-800:#214b96;--ink-700:#3564ad;--ivory-50:#fcfaf5;--ivory-100:#f5f0e5;--ivory-200:#e8dfcf;--gold-500:#e3bb25;--gold-600:#b68c10;--red-600:#a63c32;--green-600:#2d6c56;--muted:#66728a;--line:#153c882e;--shadow:0 28px 70px #153c8829;--display:"Fraunces Variable",Georgia,serif;--body:"Be Vietnam Pro",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--ivory-50);color:var(--ink-950);font-family:var(--body);margin:0;font-size:16px;line-height:1.55}.skip-link{background:var(--ink-950);color:#fff;z-index:1000;padding:10px 14px;transition:transform .15s;position:fixed;top:12px;left:16px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.route-state{background:radial-gradient(circle at 80% 10%,#e3bb252e,transparent 28%),var(--ivory-50);flex-direction:column;justify-content:center;align-items:flex-start;min-height:100vh;padding:clamp(32px,8vw,120px);display:flex}.route-state h1,.admin-route-state h1{font-family:var(--display);text-wrap:balance;margin:14px 0 18px;font-size:clamp(38px,6vw,72px);font-weight:540;line-height:1}.route-state p,.admin-route-state p{color:var(--muted);max-width:540px;margin:0 0 28px}.route-state__mark{background:var(--ink-950);color:var(--gold-500);justify-content:center;align-items:center;width:66px;height:66px;margin-bottom:32px;display:flex}.route-state__pulse{background:var(--gold-500);transform-origin:0;width:min(280px,70vw);height:4px;margin-bottom:36px;animation:1.4s ease-in-out infinite statePulse}.admin-route-state{flex-direction:column;justify-content:center;align-items:flex-start;min-height:min(620px,100vh - 120px);display:flex}.admin-route-state>svg{color:var(--red-600);margin-bottom:28px}.admin-route-state h1{font-size:clamp(34px,5vw,58px)}@keyframes statePulse{0%,to{opacity:.35;transform:scaleX(.22)}50%{opacity:1;transform:scaleX(1)}}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}img{max-width:100%;display:block}.backdrop-frame,.backdrop-inline,.backdrop-inline svg{width:100%;display:block}.backdrop-inline svg{height:auto}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::selection{background:var(--gold-500);color:var(--ink-950)}:focus-visible{outline:3px solid var(--gold-500);outline-offset:3px}.brand-mark{flex:none;align-items:center;line-height:0;display:inline-flex}.brand-mark__logo{width:clamp(240px,22vw,300px);height:auto}.brand-mark--inverse{background:#fffffff5;padding:7px 9px;box-shadow:0 0 0 1px #ffffff29}.admin-sidebar .brand-mark__logo{width:100%}.public-header,.portal-header{z-index:20;justify-content:space-between;align-items:center;max-width:1240px;margin:0 auto;padding:24px 28px;display:flex;position:relative}.public-header nav{align-items:center;gap:30px;display:flex}.public-header nav a{color:var(--ink-800);font-size:14px;font-weight:500}.public-header nav a[aria-current=page]{color:var(--ink-950);text-decoration:underline;-webkit-text-decoration-color:var(--gold-500);text-decoration-color:var(--gold-500);text-underline-offset:7px;text-decoration-thickness:2px}.public-header .header-action{border:1px solid var(--ink-900);padding:10px 18px}.public-header--inverse nav a{color:var(--ivory-50)}.public-header--inverse .header-action{border-color:#ffffff73}.public-header-account{align-items:center;gap:10px;display:flex;position:relative}.public-header-account__identity{align-items:center;gap:10px;min-width:0;display:inline-flex}.public-header-account__avatar{background:var(--ink-900);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-size:17px;font-weight:600;display:inline-flex}.public-header-account__avatar--loading:after{content:"";background:#ffffff8c;border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite header-account-pulse}.public-header-account__copy{text-align:left;line-height:1.25;display:grid}.public-header-account__copy strong{color:var(--ink-900);text-overflow:ellipsis;white-space:nowrap;max-width:150px;font-size:13px;font-weight:600;overflow:hidden}.public-header-account__copy small{color:var(--muted);margin-top:3px;font-size:10px}.public-header-account__logout{border:1px solid var(--line);color:var(--ink-800);cursor:pointer;background:0 0;flex:none;justify-content:center;align-items:center;width:42px;height:42px;transition:background .16s,border-color .16s,color .16s;display:inline-flex}.public-header-account__logout:disabled{cursor:wait;opacity:.5}.public-header-account__error{border-left:3px solid var(--red-600);color:#7f2d26;white-space:nowrap;background:#fff3f0;padding:7px 9px;font-size:11px;position:absolute;top:calc(100% + 8px);right:0}.public-header--inverse .public-header-account__copy strong,.public-header--inverse .public-header-account__copy small,.public-header--inverse .public-header-account__logout{color:var(--ivory-50)}.public-header--inverse .public-header-account__logout{border-color:#ffffff73}@keyframes header-account-pulse{50%{opacity:.35;transform:scale(.75)}}.portal-header{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fcfaf5e0;width:100%;max-width:none;padding:18px clamp(20px,4vw,60px);position:sticky;top:0}.portal-header__navigation{align-items:center;min-width:0;display:flex}.portal-header__event-link{border-left:1px solid var(--line);color:var(--ink-800);white-space:nowrap;align-items:center;gap:7px;margin-left:22px;padding:8px 0 8px 22px;font-size:12px;font-weight:600;display:inline-flex}.portal-header__meta{align-items:center;gap:18px;display:flex}.portal-header__status{color:var(--muted);align-items:center;gap:7px;font-size:13px;display:flex}.portal-header__status-compact{display:none}.portal-header__account-placeholder{align-items:center;gap:10px;width:218px;height:46px;display:flex}.portal-header__account-placeholder:before,.portal-header__account-placeholder span,.portal-header__account-placeholder i{background:#153c8817;animation:1.2s ease-in-out infinite alternate portalAccountPulse;display:block}.portal-header__account-placeholder:before{content:"";border-radius:50%;flex:0 0 46px;height:46px}.portal-header__account-placeholder span{border-radius:2px;width:105px;height:25px}.portal-header__account-placeholder i{width:46px;height:46px}@keyframes portalAccountPulse{to{background:#153c8829}}.portal-header__identity{align-items:center;gap:10px;min-width:0;display:inline-flex}.portal-header__avatar{background:var(--ink-900);color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:42px;height:42px;font-weight:600;display:inline-flex}.portal-header__identity-copy{line-height:1.25;display:grid}.portal-header__identity-copy strong{font-size:13px;font-weight:600}.portal-header__identity-copy small{color:var(--muted);margin-top:3px;font-size:10px}.portal-header__logout{border:1px solid var(--line);color:var(--ink-800);cursor:pointer;background:0 0;justify-content:center;align-items:center;width:42px;height:42px;display:inline-flex}.portal-header__logout:disabled{cursor:wait;opacity:.5}.portal-header__error{border-left:3px solid var(--red-600);color:#7f2d26;background:#fff3f0;width:max-content;max-width:calc(100vw - 32px);margin:0;padding:9px 12px;font-size:13px;position:absolute;bottom:0;left:50%;transform:translate(-50%,calc(100% + 8px))}.button{cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:10px;min-height:48px;padding:12px 20px;font-weight:600;transition:transform .2s,background .2s,border-color .2s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button:disabled{cursor:not-allowed;opacity:.62;transform:none}.button--primary{background:var(--ink-900);color:#fff}.button--primary:hover{background:var(--ink-800)}.button--gold{background:var(--gold-500);color:var(--ink-950)}.button--secondary{border-color:var(--line);color:var(--ink-900);background:0 0}.button--inverse{background:var(--ivory-50);color:var(--ink-950)}.button--full{width:100%}.eyebrow{color:var(--red-600);letter-spacing:.22em;text-transform:uppercase;font-size:12px;font-weight:600}.display-title{font-family:var(--display);letter-spacing:-.045em;text-wrap:balance;margin:18px 0 24px;font-size:clamp(48px,7vw,96px);font-weight:560;line-height:.98}.section-title{font-family:var(--display);letter-spacing:-.035em;text-wrap:balance;margin:12px 0 16px;font-size:clamp(34px,4vw,58px);font-weight:560;line-height:1.05}.lede{color:#45565e;text-wrap:pretty;max-width:630px;font-size:18px;line-height:1.75}.deadline-strip{background:var(--ink-950);color:var(--ivory-50);justify-content:center;align-items:center;gap:15px;min-height:42px;padding:9px 20px;font-size:13px;display:flex}.deadline-strip i{background:#ffffff4d;width:1px;height:14px}.deadline-strip strong{color:var(--gold-500);font-weight:500}.deadline-strip__event{letter-spacing:.08em;text-transform:uppercase;font-weight:600}.deadline-strip time{font-variant-numeric:tabular-nums}.deadline-strip__expired{color:var(--gold-500);font-weight:600}.landing{background:radial-gradient(circle at 78% 12%,#e3bb252e,transparent 26%),var(--ivory-50);min-height:100vh;overflow:hidden}.hero{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) minmax(360px,.82fr);gap:30px clamp(50px,7vw,100px);max-width:1240px;min-height:760px;margin:0 auto;padding:72px 28px 104px;display:grid;position:relative}.hero:before{border-left:1px solid var(--line);content:"";height:140%;position:absolute;top:-20%;left:57%;transform:rotate(11deg)}.hero__copy{z-index:3;grid-area:1/1;align-self:end;animation:.7s ease-out both ceremonyReveal;position:relative}.hero__copy:before{background:var(--red-600);content:"";width:48px;height:1px;position:absolute;top:9px;left:-72px}.hero__copy h1 em{color:var(--gold-600);letter-spacing:-.06em;margin-left:.06em;font-style:italic;font-weight:430;display:inline-block;position:relative}.hero__copy h1 em:after{background:var(--red-600);content:"";width:.82em;height:.035em;position:absolute;bottom:-.04em;left:50%;transform:translate(-50%)}.hero__facts{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:1fr 1fr;max-width:650px;margin-top:0;display:grid}.hero__facts>div{gap:5px;padding:16px 22px 17px 0;display:grid}.hero__facts>div+div{border-left:1px solid var(--line);padding-left:22px}.hero__facts small{color:var(--red-600);letter-spacing:.15em;text-transform:uppercase;font-size:10px;font-weight:600}.hero__facts strong{color:var(--ink-800);font-size:13px;font-weight:500;line-height:1.55}.hero__actions{align-items:center;gap:22px;margin-top:32px;display:flex}.hero__portal{z-index:2;grid-area:2/1;align-self:start;position:relative}.hero__visual{isolation:isolate;z-index:2;grid-area:1/2/span 2;align-self:center;animation:.8s ease-out .12s both ceremonyReveal;position:relative}.hero__cap-art{place-items:center;min-height:500px;display:grid;position:relative}.hero__cap{filter:drop-shadow(0 34px 42px #153c8814);width:min(110%,600px);max-width:600px;height:auto;overflow:visible;transform:rotate(-2deg)}.hero__cap-halo{fill:#e3bb251f;stroke:#e3bb2547}.hero__cap-orbit{stroke:#153c881f;stroke-dasharray:3 11;stroke-linecap:round;stroke-width:2px}.hero__cap-arc{stroke:#153c882e;stroke-linecap:round;stroke-width:1.5px}.hero__cap-gold-line,.hero__cap-top-edge,.hero__cap-top-glint,.hero__cap-tassel-cord,.hero__cap-tassel-line{fill:none;stroke-linecap:round;stroke-linejoin:round}.hero__cap-gold-line{stroke:#e3bb25b8;stroke-width:3px}.hero__cap-top-edge{stroke:#e3bb25d1;stroke-width:3px}.hero__cap-top-glint{stroke:#ffffff52;stroke-width:2px}.hero__cap-tassel-cord{stroke:#e3bb25;stroke-width:7px}.hero__cap-tassel-line{stroke:#b68c10;stroke-width:2px}.hero__cap-sparkles{fill:#e3bb25;stroke:#e3bb25;stroke-linecap:round;stroke-width:3px}.ceremony-section{background:radial-gradient(circle at 86% 20%,#e3bb2533,transparent 28%),radial-gradient(ellipse at 8% 100%,#ffffff13,transparent 34%),linear-gradient(135deg,var(--ink-800)0%,var(--ink-900)56%,#123878 100%);isolation:isolate;border-bottom:1px solid #e3bb2552;padding:82px 28px 88px;position:relative;overflow:hidden}.ceremony-section:before{content:"";pointer-events:none;z-index:-1;background:linear-gradient(90deg,#ffffff0e 1px,#0000 1px) 0 0/min(8vw,112px) 100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#0000 0%,#000 18% 80%,#0000 100%);mask-image:linear-gradient(#0000 0%,#000 18% 80%,#0000 100%)}.ceremony-section__date-mark{color:#ffffff0b;font-family:var(--display);letter-spacing:-.08em;pointer-events:none;white-space:nowrap;font-size:clamp(150px,20vw,290px);font-style:italic;font-weight:650;line-height:.8;position:absolute;bottom:-.18em;left:-.04em}.ceremony-section__inner{z-index:1;grid-template-columns:minmax(270px,.82fr) minmax(300px,.9fr) minmax(340px,1fr);align-items:stretch;gap:clamp(38px,5vw,72px);max-width:1180px;margin:0 auto;display:grid;position:relative}.ceremony-section__intro{align-self:center}.ceremony-section__kicker{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.ceremony-section__kicker>span{color:var(--gold-500);letter-spacing:.13em;text-transform:uppercase;align-items:center;gap:8px;font-size:10px;font-weight:600;display:inline-flex}.ceremony-section__kicker i{background:var(--gold-500);border-radius:50%;width:7px;height:7px;animation:2.2s ease-in-out infinite ceremonyStatusPulse;box-shadow:0 0 0 4px #e3bb2524}.ceremony-section__kicker small{color:#fff9;font-family:var(--display);font-size:12px;font-style:italic}.ceremony-section__intro h2{color:var(--ivory-50);font-family:var(--display);letter-spacing:-.04em;text-wrap:balance;margin:0;font-size:clamp(36px,3.8vw,54px);font-weight:560;line-height:1.02}.ceremony-section__intro h2 em{color:var(--gold-500);font-weight:430}.ceremony-section__intro>p{color:#ffffffad;max-width:340px;margin:22px 0 0;font-size:14px;line-height:1.7}.ceremony-section__details{border-top:1px solid #fff3;border-bottom:1px solid #fff3;display:grid}.ceremony-section__details article{grid-template-columns:26px minmax(0,1fr);align-items:flex-start;gap:16px;padding:25px 0;display:grid}.ceremony-section__details article+article{border-top:1px solid #fff3}.ceremony-section__details svg{color:var(--gold-500);margin-top:3px}.ceremony-section__details article>div{gap:4px;display:grid}.ceremony-section__details small{color:#ffffff8a;letter-spacing:.13em;text-transform:uppercase;font-size:9px;font-weight:600}.ceremony-section__details strong{color:var(--ivory-50);font-family:var(--display);font-variant-numeric:tabular-nums;font-size:22px;font-weight:560;line-height:1.2}.ceremony-section__details article:first-child strong{letter-spacing:-.04em;font-size:38px;line-height:1}.ceremony-section__details article>div>span{color:#ffffff9e;font-size:12px}.ceremony-section__countdown{background:radial-gradient(circle at 100% 0%,#e3bb2521,transparent 34%),var(--ivory-50);color:var(--ink-950);align-self:center;min-width:0;padding:28px 28px 30px;position:relative;box-shadow:12px 12px #e3bb2585,0 28px 60px #05183f59}.ceremony-section__countdown:before{background:var(--gold-500);content:"";width:94px;height:3px;position:absolute;top:0;left:0}.ceremony-section__countdown-label{color:#123878a3;letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:7px;margin-bottom:24px;font-size:10px;display:flex}.ceremony-section__countdown-label svg{color:var(--gold-600)}.ceremony-section__units{grid-template-columns:repeat(4,1fr);display:grid}.ceremony-section__unit{border-left:1px solid #153c8829;gap:1px;padding-left:16px;display:grid}.ceremony-section__unit:first-child{border-left:0;padding-left:0}.ceremony-section__unit strong{color:var(--ink-950);font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.035em;font-size:clamp(28px,3vw,42px);font-weight:540;line-height:1}.ceremony-section__unit small{color:var(--gold-600);letter-spacing:.13em;text-transform:uppercase;font-size:8px;font-weight:600}.ceremony-section__started{color:var(--ink-950);font-family:var(--display);margin:0;font-size:28px}@keyframes ceremonyStatusPulse{0%,to{opacity:.62;transform:scale(.86)}50%{opacity:1;transform:scale(1)}}.hero__year{color:#153c880d;font-family:var(--display);letter-spacing:-.08em;pointer-events:none;z-index:0;font-size:clamp(150px,21vw,300px);font-style:italic;font-weight:650;line-height:.75;animation:1s ease-out .2s both ceremonyYearReveal;position:absolute;bottom:-.12em;left:-.08em}@keyframes ceremonyReveal{0%{transform:translateY(18px)}to{transform:translateY(0)}}@keyframes ceremonyYearReveal{0%{opacity:0;transform:translate(-24px)}to{opacity:1;transform:translate(0)}}.invitation-showcase{background:radial-gradient(circle at 86% 18%,#e3bb252e,#0000 25%),linear-gradient(115deg,#f8f2e7 0 58%,#eee2cf 58% 100%);border-top:1px solid #153c8821;border-bottom:1px solid #153c8821;padding:118px 28px 124px;scroll-margin-top:24px;position:relative;overflow:hidden}.invitation-showcase:before{color:#153c880b;content:"INVITATION";font-family:var(--display);letter-spacing:-.06em;pointer-events:none;white-space:nowrap;font-size:clamp(96px,14vw,210px);font-style:italic;font-weight:650;line-height:.8;position:absolute;top:.18em;left:-.08em}.invitation-showcase__inner{grid-template-columns:minmax(0,.8fr) minmax(500px,1.2fr);align-items:center;gap:clamp(60px,8vw,118px);max-width:1180px;margin:0 auto;display:grid;position:relative}.invitation-showcase__copy{z-index:3;position:relative}.invitation-showcase__copy>p{color:var(--muted);text-wrap:pretty;max-width:470px;margin:22px 0 30px;line-height:1.78}.invitation-showcase__action{flex-wrap:wrap;align-items:center;gap:18px 22px;margin-top:34px;display:flex}.invitation-showcase__visual{min-height:680px;position:relative}.invitation-showcase__visual:before{background:radial-gradient(circle at 72% 20%,#e3bb252b,transparent 26%),repeating-linear-gradient(135deg,#ffffff09 0,#ffffff09 1px,transparent 1px,transparent 18px),var(--ink-950);clip-path:polygon(15% 0,100% 0,100% 88%,76% 100%,0 100%,0 13%);content:"";position:absolute;inset:0}.invitation-showcase__visual:after{background:var(--gold-500);content:"";width:230px;height:4px;position:absolute;bottom:36px;right:-34px;transform:rotate(-12deg)}.invitation-showcase__edition{color:#ffffff94;letter-spacing:.34em;text-transform:uppercase;writing-mode:vertical-rl;z-index:3;font-size:10px;font-weight:600;position:absolute;top:36px;right:21px}.invitation-preview{--preview-rotation:0deg;transform:rotate(var(--preview-rotation));background:#fffdf8;margin:0;padding:9px 9px 68px;transition:transform .35s,box-shadow .35s;position:absolute;box-shadow:0 34px 68px #030e2457}.invitation-preview img{aspect-ratio:9/16;object-fit:cover;width:100%;height:auto;display:block}.invitation-preview figcaption{gap:2px;display:grid;position:absolute;bottom:16px;left:21px}.invitation-preview figcaption span{color:var(--ink-950);font-family:var(--display);font-size:18px;font-weight:580;line-height:1.1}.invitation-preview figcaption small{color:var(--red-600);letter-spacing:.13em;text-transform:uppercase;font-size:8px;font-weight:600}.invitation-preview--personal{--preview-rotation:-5deg;z-index:2;width:min(310px,51%);top:36px;left:32px}.invitation-preview--family{--preview-rotation:6deg;z-index:1;width:min(280px,46%);top:104px;right:30px}.backdrop-image{aspect-ratio:16/9;background:var(--ink-900);object-fit:cover;width:100%;height:auto}.faq-section__inner{max-width:1180px;margin:0 auto}.schedule-section{background:linear-gradient(90deg,#153c8809 1px,transparent 1px),var(--ivory-50);background-size:min(8vw,112px) 100%;padding:120px 28px 126px;scroll-margin-top:24px}.schedule-section__inner{max-width:1180px;margin:0 auto}.schedule-heading{grid-template-columns:minmax(0,1.08fr) minmax(320px,.72fr);align-items:end;gap:clamp(48px,9vw,140px);display:grid}.schedule-venue{border-bottom:1px solid var(--line);border-top:1px solid var(--line);grid-template-columns:38px minmax(0,1fr);align-items:start;gap:16px;padding:18px 0 19px;display:grid}.schedule-venue__pin{color:var(--red-600);background:#ab392c12;border:1px solid #ab392c38;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.schedule-venue__content{display:grid}.schedule-venue__list{margin:0;display:grid}.schedule-venue__list>div{grid-template-columns:82px minmax(0,1fr);align-items:baseline;gap:12px;padding:7px 0;display:grid}.schedule-venue__list>div:first-child{padding-top:0}.schedule-venue__list>div+div{border-top:1px solid #173d7e1f}.schedule-venue__list>div:last-child{padding-bottom:0}.schedule-venue__list dt{color:var(--red-600);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;font-size:9px;font-weight:700}.schedule-venue__list dd{color:var(--ink-800);margin:0;font-size:13px;font-weight:600;line-height:1.5}.schedule-status{background:#e3bb251a;border-top:1px solid #b68c1057;border-bottom:1px solid #b68c1057;align-items:center;gap:16px;margin-top:52px;padding:17px 20px;display:flex}.schedule-status>svg{color:var(--gold-600);flex:none}.schedule-status>div{flex-wrap:wrap;align-items:baseline;gap:3px 12px;display:flex}.schedule-status strong{color:var(--ink-950);font-size:14px}.schedule-status span{color:var(--muted);font-size:13px}.schedule-layout{grid-template-columns:252px minmax(0,1fr);gap:clamp(42px,7vw,88px);margin-top:58px;display:grid}.schedule-guide{background:var(--ink-950);color:#fff;align-self:start;padding:30px 28px 32px;position:sticky;top:28px;box-shadow:14px 14px #e3bb254d}.schedule-guide>svg{color:var(--gold-500)}.schedule-guide h3{font-family:var(--display);margin:42px 0 13px;font-size:26px;font-weight:540;line-height:1.1}.schedule-guide p{color:#ffffffa8;margin:0;font-size:14px;line-height:1.7}.schedule-guide p strong{color:#fff;font-variant-numeric:tabular-nums}.schedule-guide__legend{border-top:1px solid #ffffff2e;gap:11px;margin-top:26px;padding-top:23px;display:grid}.schedule-guide__legend span{color:#ffffffb8;align-items:center;gap:9px;font-size:12px;display:flex}.schedule-guide__legend i{background:var(--gold-500);border-radius:50%;width:7px;height:7px}.schedule-guide__legend .is-session-one{background:#7da7e2}.schedule-guide__legend .is-session-two{background:#d27668}.ceremony-timeline{margin:0;padding:0;list-style:none}.timeline-item{--timeline-accent:var(--gold-600);grid-template-columns:86px 22px minmax(0,1fr);column-gap:22px;min-height:152px;display:grid}.timeline-item--session-one{--timeline-accent:var(--ink-700)}.timeline-item--transition{--timeline-accent:var(--red-600)}.timeline-item--session-two{--timeline-accent:#b04b3f}.timeline-item--closing{--timeline-accent:var(--green-600)}.timeline-item>time{color:var(--ink-950);font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.025em;text-align:right;padding-top:5px;font-size:28px;font-weight:590;line-height:1}.timeline-item__marker{display:block;position:relative}.timeline-item__marker:before{background:var(--timeline-accent);border:4px solid var(--ivory-50);box-shadow:0 0 0 1px var(--timeline-accent);content:"";z-index:1;width:12px;height:12px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.timeline-item__marker:after{background:var(--line);content:"";width:1px;position:absolute;top:23px;bottom:0;left:50%;transform:translate(-50%)}.timeline-item:last-child .timeline-item__marker:after{display:none}.timeline-event{border-top:1px solid var(--line);padding:0 0 38px}.timeline-event__phase{color:var(--timeline-accent);letter-spacing:.18em;text-transform:uppercase;margin:2px 0 8px;font-size:10px;font-weight:700;display:block}.timeline-event h3{color:var(--ink-950);font-family:var(--display);letter-spacing:-.02em;margin:0 0 16px;font-size:clamp(23px,2.3vw,31px);font-weight:560;line-height:1.15}.timeline-event__content{grid-template-columns:minmax(0,1fr) minmax(190px,.68fr);align-items:start;gap:24px;display:grid}.timeline-event__content>p{color:var(--muted);text-wrap:pretty;margin:0;line-height:1.7}.timeline-event__note{border-left:2px solid var(--timeline-accent);background:#e3bb251c;padding:10px 13px;font-size:13px;color:var(--ink-800)!important}.timeline-event__note strong{color:var(--timeline-accent);letter-spacing:.14em;text-transform:uppercase;margin-bottom:3px;font-size:9px;display:block}.timeline-event__content>p:only-child{grid-column:1/-1;max-width:610px}.degree-checklist{background:var(--ivory-100);border:1px solid var(--line);grid-template-columns:minmax(310px,.75fr) minmax(0,1.25fr);align-items:center;gap:50px;margin-top:62px;padding:30px 36px;display:grid;position:relative}.degree-checklist:before{background:var(--gold-500);content:"";width:86px;height:4px;position:absolute;top:-1px;left:-1px}.degree-checklist>div{align-items:center;gap:21px;display:flex}.degree-checklist__number{color:#153c8829;font-family:var(--display);font-size:60px;font-style:italic;line-height:1}.degree-checklist h3{font-family:var(--display);margin:5px 0 0;font-size:25px;font-weight:560;line-height:1.15}.degree-checklist ul{border-left:1px solid var(--line);gap:14px;margin:0;padding:2px 0 2px 36px;list-style:none;display:grid}.degree-checklist li{color:var(--ink-800);align-items:flex-start;gap:11px;display:flex}.degree-checklist li svg{color:var(--green-600);flex:none;margin-top:3px}.faq-section{padding:110px 28px;scroll-margin-top:24px}.faq-layout{grid-template-columns:.8fr 1.2fr;gap:90px;display:grid}.faq-list{border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:22px 0}.faq-list summary{cursor:pointer;padding-right:30px;font-weight:600;list-style:none;position:relative}.faq-list summary:after{content:"+";font-family:var(--display);font-size:26px;position:absolute;top:-6px;right:2px}.faq-list details[open] summary:after{content:"−"}.faq-list p{color:var(--muted);text-wrap:pretty;margin-bottom:2px}.faq-section__intro{color:var(--muted);max-width:390px;margin:24px 0 0;line-height:1.7}.final-cta{background:linear-gradient(#123878f2,#123878f2),repeating-linear-gradient(135deg,var(--gold-500)0,var(--gold-500)1px,transparent 1px,transparent 20px);color:var(--ivory-50);text-align:center;padding:85px 28px 92px}.final-cta .eyebrow{color:var(--gold-500)}.final-cta h2{font-family:var(--display);text-wrap:balance;margin:13px 0 10px;font-size:clamp(38px,5vw,66px);font-weight:560}.final-cta p{color:#ffffff9e;margin:0 0 28px}.final-cta .button--primary{background:var(--gold-500);color:var(--ink-950)}.final-cta .button--primary:hover{background:#d2b474}.landing-footer{background:#0d306d;border-top:1px solid #ffffff1a;justify-content:center;align-items:center;min-height:60px;padding:12px clamp(18px,4vw,48px);display:flex}.landing-footer__credit{grid-template-columns:minmax(24px,1fr) auto auto minmax(24px,1fr);align-items:center;gap:10px;width:min(100%,440px);display:grid}.landing-footer__credit:before,.landing-footer__credit:after{content:"";background:linear-gradient(90deg,#0000,#fff3);height:1px}.landing-footer__credit:after{background:linear-gradient(90deg,#fff3,#0000)}.landing-footer__label{color:#ffffff7a;letter-spacing:.15em;text-transform:uppercase;white-space:nowrap;font-size:8px;font-weight:500}.landing-footer__logo{filter:drop-shadow(0 2px 6px #030e243d);width:80px;height:auto}.graduates-page{background:radial-gradient(circle at 88% 9%,#e3bb2521,transparent 20rem),var(--ivory-50);min-height:100vh;overflow:hidden}.graduates-hero{grid-template-columns:minmax(0,1fr) minmax(210px,.34fr);gap:clamp(42px,7vw,110px);max-width:1240px;min-height:480px;margin:0 auto;padding:clamp(62px,8vw,112px) 28px 86px;display:grid;position:relative;overflow:hidden}.graduates-hero:before{background:var(--gold-500);content:"";width:52px;height:3px;position:absolute;top:34px;left:28px}.graduates-hero__copy{z-index:2;position:relative}.graduates-hero h1{font-family:var(--display);letter-spacing:-.04em;text-wrap:balance;margin:14px 0 28px;font-size:clamp(48px,6.4vw,86px);font-weight:550;line-height:.96}.graduates-hero h1 em{color:var(--ink-700);font-weight:420}.graduates-hero__copy>p{color:var(--muted);max-width:650px;margin:0;line-height:1.75}.graduates-hero__total{border-left:1px solid var(--line);z-index:2;flex-direction:column;align-self:end;padding:20px 0 20px clamp(24px,4vw,54px);display:flex;position:relative}.graduates-hero__total span,.graduates-hero__total small{color:var(--ink-700);letter-spacing:.12em;text-transform:uppercase;font-size:11px}.graduates-hero__total strong{color:var(--ink-950);font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.07em;margin:24px 0 18px;font-size:clamp(68px,8vw,108px);font-weight:530;line-height:.88}.graduates-hero__year{color:#153c8809;font-family:var(--display);letter-spacing:-.09em;pointer-events:none;white-space:nowrap;font-size:clamp(180px,29vw,380px);font-weight:600;line-height:.8;position:absolute;bottom:-64px;right:8px}.graduate-directory{background:var(--ink-950);color:var(--ivory-50);padding:clamp(68px,8vw,108px) max(28px,50vw - 592px) 82px;position:relative}.graduate-directory:before{content:"";pointer-events:none;background:repeating-linear-gradient(90deg,#ffffff09 0 1px,#0000 1px 92px);position:absolute;inset:0}.graduate-directory>*{position:relative}.graduate-directory__heading{grid-template-columns:minmax(0,1fr) minmax(360px,.75fr);align-items:end;gap:44px;margin-bottom:42px;display:grid}.graduate-directory__heading>div:first-child{align-items:flex-start;gap:20px;display:flex}.graduate-directory__index{color:var(--gold-500);font-family:var(--display);padding-top:7px;font-size:20px;line-height:1}.graduate-directory .eyebrow{color:var(--gold-500)}.graduate-directory h2{font-family:var(--display);text-wrap:balance;margin:9px 0 0;font-size:clamp(34px,4vw,54px);font-weight:510;line-height:1.05}.graduate-search{grid-template-columns:minmax(0,1fr) auto;gap:9px;display:grid}.graduate-search>label{color:#ffffff9e;letter-spacing:.08em;text-transform:uppercase;grid-column:1/-1;font-size:11px}.graduate-search__control{background:#ffffff12;border:1px solid #ffffff38;align-items:center;min-height:52px;padding:0 15px;display:flex}.graduate-search__control>svg{color:var(--gold-500);flex:none}.graduate-search__control:focus-within{border-color:var(--gold-500);box-shadow:0 0 0 1px var(--gold-500)}.graduate-search input{color:#fff;background:0 0;border:0;outline:none;width:100%;min-width:0;padding:0 12px}.graduate-search input::placeholder{color:#ffffff75}.graduate-search__clear{color:#ffffffad;justify-content:center;align-items:center;padding:5px;display:inline-flex}.graduate-search .button{background:var(--gold-500);color:var(--ink-950);min-height:52px}.graduate-table-wrap{border:1px solid #ffffff29;overflow-x:auto}.graduate-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:610px}.graduate-table th{color:var(--gold-500);letter-spacing:.14em;text-align:left;text-transform:uppercase;background:#ffffff12;padding:16px 22px;font-size:11px;font-weight:600}.graduate-table th:first-child{width:52%}.graduate-table th:nth-child(2){width:31%}.graduate-table th:last-child{width:17%}.graduate-table td{color:#ffffffc2;border-top:1px solid #ffffff1c;padding:20px 22px}.graduate-table tr{contain-intrinsic-size:65px;content-visibility:auto}.graduate-table tbody tr:hover{background:#ffffff0b}.graduate-table td:first-child strong{color:#fff;font-family:var(--display);font-size:19px;font-weight:500}.graduate-table td:nth-child(2){font-variant-numeric:tabular-nums;letter-spacing:.02em}.graduate-table td:last-child span{color:var(--gold-500);white-space:nowrap;border:1px solid #e3bb2561;padding:4px 9px;font-size:12px;display:inline-flex}.graduate-table .graduate-table__empty{padding:0}.graduate-table__empty>div{color:#ffffff9e;text-align:center;flex-direction:column;align-items:center;gap:8px;padding:80px 24px;display:flex}.graduate-table__empty>div svg{color:var(--gold-500);margin-bottom:8px}.graduate-table__empty>div strong{color:#fff;font-family:var(--display);font-size:25px;font-weight:500}.graduate-table__empty>div span{font-size:13px}.graduate-pagination{justify-content:space-between;align-items:center;gap:28px;margin-top:28px;display:flex}.graduate-pagination p{color:#ffffff94;margin:0;font-size:12px}.graduate-pagination p strong{color:#fff;font-variant-numeric:tabular-nums}.graduate-pagination nav,.graduate-page-numbers,.graduate-page-cluster{align-items:center;display:flex}.graduate-pagination nav{gap:6px}.graduate-page-numbers{gap:3px}.graduate-page-link{border:1px solid #fff3;justify-content:center;align-items:center;gap:6px;min-width:38px;min-height:38px;padding:7px 11px;font-size:12px;display:inline-flex}.graduate-page-link.is-current{background:var(--gold-500);border-color:var(--gold-500);color:var(--ink-950);font-weight:600}.graduate-page-link.is-disabled{opacity:.35}.graduate-page-gap{color:#ffffff7a;padding:0 7px}.graduates-footer{color:#ffffff8f;letter-spacing:.08em;text-transform:uppercase;background:#0d306d;justify-content:space-between;align-items:center;padding:25px max(28px,50vw - 592px);font-size:11px;display:flex}.graduates-footer p{margin:0}.form-page{background:linear-gradient(90deg,var(--ivory-50)0 60%,var(--ink-950)60%);min-height:100vh}.form-page__main{grid-template-columns:minmax(0,1.1fr) minmax(360px,.62fr);gap:80px;max-width:1240px;min-height:calc(100vh - 92px);margin:0 auto;padding:70px 28px;display:grid}.verify-panel{align-self:center;max-width:630px}.verify-form{margin-top:38px}.verify-form__fieldset{border:0;gap:22px;min-width:0;margin:0;padding:0;display:grid}.field{gap:8px;display:grid}.field label,.birth-date-field>legend{letter-spacing:.025em;font-size:13px;font-weight:600}.field input,.field select,.field textarea,.birth-date-part input,.search-field{border:1px solid var(--line);color:var(--ink-950);background:#fff;border-radius:0;width:100%;min-height:52px;padding:13px 15px}.field input:focus-visible,.field select:focus-visible,.field textarea:focus-visible,.birth-date-part input:focus-visible{border-color:var(--gold-600);box-shadow:0 0 0 3px #e3bb2524}.field small{color:var(--muted)}.birth-date-field{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.birth-date-field>legend{margin-bottom:8px;padding:0}.birth-date-inputs{grid-template-columns:minmax(0,.8fr) minmax(0,.9fr) minmax(0,1.25fr);gap:8px;display:grid}.birth-date-part{gap:6px;min-width:0;display:grid}.birth-date-part>span{color:var(--muted);letter-spacing:.04em;font-size:11px;font-weight:600}.birth-date-part input{font-variant-numeric:tabular-nums;text-align:center;min-width:0;padding-inline:8px}.birth-date-part input[aria-invalid=true]{border-color:#a63c32ad}.birth-date-part input[aria-invalid=true]:focus-visible{border-color:var(--red-600);box-shadow:0 0 0 3px #a63c3221}.birth-date-field .field-hint{color:var(--muted)}.birth-date-field .field-hint--warning{color:var(--ink-700)}.field-row{grid-template-columns:1fr 1fr;align-items:start;gap:16px;display:grid}@media (min-width:641px){.field--birth-date-peer select{margin-top:23px}}.form-error{border-left:3px solid var(--red-600);color:#7f2d26;background:#a63c3214;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;display:flex}.turnstile-control{gap:8px;min-width:0;display:grid}.turnstile-control__widget{width:100%;min-height:65px}.turnstile-control__status{color:var(--muted);margin:0;font-size:12px}.turnstile-control__status[data-state=verified]{color:var(--green-600)}.turnstile-control__status[data-state=error],.turnstile-control__status[data-state=unsupported]{color:var(--red-600)}.verify-aside{color:#fff;align-self:center;padding-left:40px}.verify-aside__label{color:var(--gold-500);letter-spacing:.16em;text-transform:uppercase;margin-bottom:24px;font-size:11px;font-weight:600;display:block}.verify-aside blockquote{font-family:var(--display);margin:0 0 34px;font-size:34px;line-height:1.25}.verify-aside p{color:#ffffff94;font-size:14px}.demo-note{color:#ffffffb8;border:1px solid #e3bb2573;margin-top:42px;padding:16px;font-size:13px}.journey-shell{flex-direction:column;min-height:100vh;display:flex}.journey-shell>.landing-footer--portal{margin-top:auto}.journey-main{max-width:1180px;margin:0 auto;padding:42px 28px 110px}.journey-progress{margin-bottom:55px}.journey-progress__mobile{display:none}.journey-progress__desktop{grid-template-columns:repeat(3,1fr);margin:0;padding:0;list-style:none;display:grid}.journey-progress__desktop li{border-top:1px solid var(--line);color:var(--muted);grid-template-columns:32px 1fr;align-items:center;gap:10px;padding-top:14px;display:grid}.journey-progress__desktop li span{border:1px solid var(--line);justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:inline-flex}.journey-progress__desktop li.is-active{border-color:var(--red-600);color:var(--ink-950)}.journey-progress__desktop li.is-active span{background:var(--red-600);border-color:var(--red-600);color:#fff}.journey-progress__desktop li.is-complete span{background:var(--green-600);border-color:var(--green-600);color:#fff}.page-heading{justify-content:space-between;gap:40px;margin-bottom:45px;display:flex}.page-heading h1{font-family:var(--display);letter-spacing:-.035em;margin:8px 0 12px;font-size:clamp(42px,5vw,68px);font-weight:560;line-height:1.02}.page-heading p{color:var(--muted);max-width:590px;margin:0}.deadline-badge{border-left:2px solid var(--gold-500);color:var(--muted);flex:0 0 230px;align-self:flex-start;padding-left:16px;font-size:12px}.deadline-badge strong{color:var(--ink-950);margin-top:3px;font-size:14px;display:block}.attendance-layout{grid-template-columns:minmax(0,1fr) 330px;gap:30px;display:grid}.editorial-card{border:1px solid var(--line);background:#fff;padding:clamp(24px,4vw,42px)}.editorial-card h2{font-family:var(--display);margin:0 0 10px;font-size:30px;font-weight:550}.editorial-card>p{color:var(--muted);margin-top:0}.guest-stepper{grid-template-columns:54px minmax(80px,130px) 54px;justify-content:center;align-items:center;gap:20px;margin:46px 0 30px;display:grid}.guest-stepper button{border:1px solid var(--line);cursor:pointer;background:0 0;justify-content:center;align-items:center;height:54px;display:inline-flex}.guest-stepper input{appearance:textfield;color:var(--ink-950);font-family:var(--display);text-align:center;background:0 0;border:0;width:100%;font-size:72px;font-weight:540}.guest-stepper input::-webkit-inner-spin-button{appearance:none;margin:0}.guest-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}.guest-explanation{background:var(--ivory-100);border-left:3px solid var(--gold-500);color:var(--ink-700);padding:15px 18px;font-size:14px}.editorial-card>.guest-explanation{color:var(--ink-800)}.summary-card{background:var(--ink-950);color:#fff;align-self:start;padding:30px}.summary-card__eyebrow{color:var(--gold-500);letter-spacing:.17em;text-transform:uppercase;font-size:11px}.summary-card h2,.summary-card h3{font-family:var(--display);margin:12px 0 24px;font-size:30px;font-weight:520}.summary-list{gap:17px;display:grid}.summary-list div{border-top:1px solid #ffffff2b;padding-top:14px}.summary-list small{color:#ffffffc7;margin-bottom:3px;font-size:11px;display:block}.summary-list strong{font-size:14px}.sticky-actions{justify-content:flex-end;gap:12px;margin-top:34px;display:flex}.studio-layout{grid-template-columns:minmax(300px,.62fr) minmax(0,1fr);align-items:start;gap:42px;display:grid}.studio-controls{gap:26px;display:grid}.upload-zone{background:#fff;border:1px dashed #153c8859;min-height:96px;display:flex}.upload-zone:hover{border-color:var(--gold-600)}.upload-zone__picker{cursor:pointer;flex:1;align-items:center;gap:16px;min-width:0;padding:20px;display:flex}.upload-zone input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.upload-zone:has(input:focus-visible){outline:3px solid var(--gold-500);outline-offset:3px}.upload-zone__icon{background:var(--ivory-100);justify-content:center;align-items:center;width:52px;height:52px;display:inline-flex}.upload-zone__copy{min-width:0}.upload-zone strong{display:block}.upload-zone small{color:var(--muted)}.upload-zone__remove{color:var(--red-600);cursor:pointer;background:#a63c320f;border:1px solid #a63c3233;flex:none;justify-content:center;align-self:center;align-items:center;width:44px;min-height:44px;margin-right:16px;padding:8px;font-weight:600;display:inline-flex}.upload-zone__remove:hover{background:#a63c321c;border-color:#a63c3266}.upload-zone__remove:disabled{cursor:not-allowed;opacity:.55}.field-hint{margin:9px 0 0;font-size:12px}.field-hint--warning{border-left:2px solid var(--gold-600);color:var(--ink-700);padding-left:10px}.read-only-notice{background:var(--ivory-100);border-left:3px solid var(--gold-600);color:var(--ink-800);padding:12px 15px;font-size:13px;line-height:1.55}.crop-editor{border:0;border-block:1px solid var(--line);gap:14px;margin:0;padding:20px 0;display:grid}.crop-editor legend{padding:0 10px 0 0;font-size:14px;font-weight:600}.crop-editor__viewport{aspect-ratio:1;background:var(--ink-950);cursor:grab;isolation:isolate;overscroll-behavior:contain;touch-action:none;-webkit-user-select:none;user-select:none;border:0;border-radius:50%;justify-self:center;width:min(68vw,260px);max-width:260px;margin:8px 0 4px;padding:0;position:relative;overflow:hidden;box-shadow:0 0 0 4px #fff,0 0 0 6px #e3bb25b8,0 18px 34px #153c882e}.crop-editor__viewport[data-dragging=true]{cursor:grabbing}.crop-editor__viewport:focus-visible{outline:3px solid var(--gold-500);outline-offset:7px}.crop-editor__viewport:disabled{cursor:not-allowed;opacity:1}.crop-editor__photo-position{pointer-events:none;transform-origin:50%;-webkit-user-select:none;user-select:none;will-change:transform;position:absolute;inset:0}.crop-editor__viewport:not([data-dragging=true]) .crop-editor__photo-position{transition:transform .16s ease-out}.crop-editor__photo{object-fit:fill;pointer-events:none;-webkit-user-select:none;user-select:none;max-width:none;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.crop-editor__guide{border-radius:inherit;pointer-events:none;z-index:2;background:linear-gradient(90deg,#0000 33%,#ffffff70 33% calc(33% + 1px),#0000 calc(33% + 1px) 66%,#ffffff70 66% calc(66% + 1px),#0000 calc(66% + 1px)),linear-gradient(#0000 33%,#ffffff70 33% calc(33% + 1px),#0000 calc(33% + 1px) 66%,#ffffff70 66% calc(66% + 1px),#0000 calc(66% + 1px));border:1px solid #fffc;position:absolute;inset:0}.crop-editor__guide:after{content:"";background:#fff;border-radius:50%;width:5px;height:5px;position:absolute;top:calc(50% - 2.5px);left:calc(50% - 2.5px);box-shadow:0 0 0 3px #153c886b}.crop-editor__help{color:var(--muted);text-align:center;max-width:320px;margin:2px auto 4px;font-size:12px;line-height:1.5}.crop-editor__zoom-heading{justify-content:space-between;align-items:baseline;font-size:12px;display:flex}.crop-editor__zoom-heading label{color:var(--muted)}.crop-editor__zoom-heading output{color:var(--ink-800);font-variant-numeric:tabular-nums;font-weight:600}.crop-editor__zoom{grid-template-columns:44px minmax(0,1fr) 44px;align-items:center;gap:10px;display:grid}.crop-editor__zoom input{accent-color:var(--ink-800);width:100%;min-height:28px}.crop-editor__zoom button{border:1px solid var(--line);color:var(--ink-800);cursor:pointer;background:#fff;justify-content:center;align-items:center;width:44px;height:44px;padding:0;display:inline-flex}.crop-editor__zoom button:hover:not(:disabled){background:var(--ivory-100);border-color:var(--gold-600)}.crop-editor__zoom button:focus-visible{outline:3px solid var(--gold-500);outline-offset:2px}.crop-editor__zoom button:disabled,.crop-editor__reset:disabled{cursor:not-allowed;opacity:.5}.crop-editor__reset{margin-top:-4px}.text-button{color:var(--ink-800);cursor:pointer;text-underline-offset:4px;background:0 0;border:0;justify-self:start;min-height:44px;padding:8px 0;font-weight:600;text-decoration:underline}.slogan-counter{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.studio-preview{position:sticky;top:24px}.studio-preview__frame{box-shadow:var(--shadow)}.review-grid{grid-template-columns:minmax(0,1fr) 360px;gap:30px;display:grid}.review-backdrop{background:var(--ink-950);padding:18px}.review-details{gap:0;margin-top:28px;display:grid}.review-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;min-width:0;padding:15px 0;display:flex}.review-row span{color:var(--muted);font-size:13px}.review-row>strong{overflow-wrap:anywhere;text-align:right;min-width:0}.consent-box{background:var(--ivory-100);cursor:pointer;align-items:flex-start;gap:13px;margin-top:28px;padding:18px;display:flex}.zalo-confirmation{background:linear-gradient(145deg,#e3bb251f,#0000 52%),#fff;border:1px solid #b68c1061;margin-top:28px;padding:22px;position:relative;box-shadow:0 14px 34px #153c881a}.zalo-confirmation:before{background:var(--gold-500);content:"";height:4px;position:absolute;top:-1px;left:-1px;right:-1px}.zalo-confirmation__heading{align-items:flex-start;gap:13px;display:flex}.zalo-confirmation__icon{background:var(--ink-950);color:var(--gold-500);flex:0 0 42px;justify-content:center;align-items:center;height:42px;display:inline-flex}.zalo-confirmation__eyebrow{color:var(--gold-600);letter-spacing:.13em;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:700;display:block}.zalo-confirmation h2{font-family:var(--display);margin:0;font-size:23px;font-weight:560;line-height:1.12}.zalo-confirmation>p{color:var(--ink-800);margin:16px 0;font-size:13px}.zalo-confirmation__check{background:var(--ink-950);color:#fff;cursor:pointer;align-items:flex-start;gap:13px;margin-top:12px;padding:16px;display:flex}.zalo-confirmation__check input{accent-color:var(--gold-500);flex:none;width:21px;height:21px;margin:1px 0 0}.zalo-confirmation__check span{gap:3px;display:grid}.zalo-confirmation__check strong{font-size:13px;line-height:1.35}.zalo-confirmation__check small{color:#ffffffb3;font-size:11px;line-height:1.45}.zalo-confirmation__unavailable{border-left:3px solid var(--gold-600);padding-left:12px;margin-bottom:0!important}.zalo-group-access{grid-template-columns:116px minmax(0,1fr);align-items:center;gap:18px;max-width:560px;margin-top:18px;display:grid}.zalo-group-access__qr{border:1px solid var(--line);background:#fff;width:116px;padding:7px;transition:box-shadow .2s,transform .2s;display:block;box-shadow:0 10px 24px #1238781f}.zalo-group-access__qr img{aspect-ratio:673/670;width:100%;height:auto}.zalo-group-access__copy{min-width:0;display:grid}.zalo-group-access__copy>strong{font-family:var(--display);font-size:21px;font-weight:560;line-height:1.15}.zalo-group-access__copy>p{color:var(--muted);text-wrap:pretty;margin:5px 0 0;font-size:11px;line-height:1.5}.zalo-group-access__action{background:var(--ink-900);color:#fff;justify-self:start;min-height:42px;margin-top:12px;padding:9px 14px}.zalo-group-access--confirmation{grid-template-columns:100px minmax(0,1fr);gap:14px;margin-top:18px}.zalo-group-access--confirmation .zalo-group-access__qr{width:100px}.zalo-group-access--confirmation .zalo-group-access__copy>strong{font-size:18px}.zalo-group-access--confirmation .zalo-group-access__action{background:var(--gold-500);color:var(--ink-950);width:100%;font-size:11px}.consent-box input{width:20px;height:20px;margin-top:2px}.consent-box span{font-size:13px}.confirmation-certificate{background:var(--ink-950);color:#fff;min-height:420px;padding:42px;position:relative;overflow:hidden}.confirmation-certificate:after{content:"";pointer-events:none;background:linear-gradient(90deg,#0000,#ffecba61,#0000);animation:1.2s both goldSweep;position:absolute;inset:0;transform:translate(-120%)}.confirmation-certificate h1{font-family:var(--display);margin:22px 0 14px;font-size:46px;font-weight:520}.confirmation-certificate p{color:#ffffffc7}.confirmation-certificate--declined{background:linear-gradient(120deg,#a63c3252,transparent 55%),var(--ink-950)}@keyframes goldSweep{to{transform:translate(120%)}}.journey-shell{background:linear-gradient(#153c8806 1px,transparent 1px),linear-gradient(90deg,#153c8806 1px,transparent 1px),var(--ivory-50);background-size:64px 64px}.portal-page{max-width:1240px;margin:0 auto;padding:46px 28px 100px}.portal-dashboard-hero{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:48px;padding:20px 0 38px;display:grid}.portal-dashboard-hero__copy h1{font-family:var(--display);letter-spacing:-.045em;text-wrap:balance;max-width:850px;margin:13px 0 18px;font-size:clamp(44px,5.5vw,68px);font-weight:550;line-height:.98}.portal-dashboard-hero__copy>p{color:var(--muted);text-wrap:pretty;max-width:630px;margin:0;font-size:15px}.portal-overall-status{border:1px solid var(--line);background:#fff;align-items:center;gap:13px;min-width:250px;padding:15px 18px;display:flex;box-shadow:0 14px 34px #12387812}.portal-overall-status__icon{color:#7a5b00;background:#e3bb2526;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.portal-overall-status>span:last-child{display:grid}.portal-overall-status small{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.portal-overall-status strong{margin-top:3px;font-size:13px}.portal-overall-status.is-complete .portal-overall-status__icon{color:var(--green-600);background:#2d6c561f}.portal-overall-status.is-declined .portal-overall-status__icon{color:var(--red-600);background:#a63c321a}.portal-focus-panel{grid-template-columns:minmax(0,1.35fr) minmax(330px,.65fr);min-height:360px;display:grid;box-shadow:0 28px 70px #12387824}.portal-focus-panel__action{background:radial-gradient(circle at 92% 12%,#e3bb253b,transparent 24%),linear-gradient(135deg,#3564ad2e,transparent 55%),var(--ink-950);color:#fff;padding:clamp(34px,5vw,58px);position:relative;overflow:hidden}.portal-focus-panel__action:after{content:"";border-bottom:1px solid #e3bb257a;border-right:1px solid #e3bb257a;width:76px;height:76px;position:absolute;top:20px;right:20px}.portal-focus-panel__label{z-index:1;justify-content:space-between;align-items:center;gap:18px;display:flex;position:relative}.portal-focus-panel__label>span:first-child{color:var(--gold-500);letter-spacing:.18em;text-transform:uppercase;font-size:11px;font-weight:600}.portal-focus-panel__step{color:#ffffffb8;border:1px solid #ffffff2e;padding:6px 9px;font-size:11px}.portal-focus-panel__action h2{font-family:var(--display);letter-spacing:-.035em;text-wrap:balance;z-index:1;max-width:670px;margin:28px 0 14px;font-size:clamp(36px,4vw,52px);font-weight:520;line-height:1.02;position:relative}.portal-focus-panel__action>p{color:#ffffffab;text-wrap:pretty;z-index:1;max-width:590px;margin:0;font-size:14px;line-height:1.7;position:relative}.portal-primary-action{background:var(--gold-500);color:var(--ink-950);z-index:1;min-width:220px;margin-top:28px;position:relative}.portal-primary-action:hover{background:#f0ca34}.portal-progress-card{background:#fff;padding:34px 32px}.portal-progress-card__heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:24px;display:flex}.portal-progress-card__heading>div:first-child{display:grid}.portal-progress-card__heading>div:first-child span{color:var(--muted);letter-spacing:.08em;text-transform:uppercase;font-size:11px}.portal-progress-card__heading>div:first-child strong{font-family:var(--display);margin-top:3px;font-size:29px;font-weight:560}.portal-progress-card__ring{background:conic-gradient(var(--gold-500)calc(var(--progress)/3*1turn),var(--ivory-100)0);border-radius:50%;justify-content:center;align-items:center;width:66px;height:66px;display:flex;position:relative}.portal-progress-card__ring:before{border-radius:inherit;content:"";background:#fff;position:absolute;inset:6px}.portal-progress-card__ring span{font-variant-numeric:tabular-nums;font-size:11px;font-weight:600;position:relative}.portal-progress-list{margin:15px 0 0;padding:0;list-style:none;display:grid}.portal-progress-list li a{color:var(--muted);grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:11px;padding:10px 0;display:grid}.portal-progress-list__marker{border:1px solid var(--line);border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;font-size:11px;display:inline-flex}.portal-progress-list__copy{min-width:0;display:grid}.portal-progress-list__copy strong{color:var(--ink-950);font-size:12px;font-weight:600}.portal-progress-list__copy small{margin-top:2px;font-size:10px}.portal-progress-list li.is-complete .portal-progress-list__marker{background:var(--green-600);border-color:var(--green-600);color:#fff}.portal-section{margin-top:72px}.portal-section__heading{justify-content:space-between;align-items:end;gap:40px;margin-bottom:24px;display:flex}.portal-section__heading h2{font-family:var(--display);letter-spacing:-.035em;text-wrap:balance;margin:8px 0 0;font-size:clamp(31px,3.5vw,43px);font-weight:540;line-height:1.05}.portal-section h2,.portal-focus-panel h2{scroll-margin-top:100px}.portal-section__heading>p{color:var(--muted);margin:0 0 5px;font-size:12px}.portal-section__heading--compact{margin-bottom:24px}.portal-essentials-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.45fr) minmax(0,.85fr);gap:16px;display:grid}.portal-essential-card{border:1px solid var(--line);background:#fff;min-height:226px;padding:25px;position:relative}.portal-essential-card--schedule,.portal-essential-card--guests{padding-bottom:58px}.portal-essential-card:before{background:var(--ink-800);content:"";height:3px;position:absolute;top:-1px;left:-1px;right:-1px}.portal-essential-card--deadline:before{background:var(--gold-500)}.portal-essential-card--guests:before{background:var(--green-600)}.portal-essential-card.is-attention:before{background:var(--red-600)}.portal-card-label{color:var(--muted);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:500;display:flex}.portal-card-label svg{color:var(--ink-700)}.portal-essential-card time{font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.025em;margin:30px 0 12px;font-size:clamp(26px,2.5vw,34px);font-weight:560;line-height:1.1;display:block}.portal-essential-card h3{font-family:var(--display);align-items:center;gap:8px;margin:28px 0 9px;font-size:27px;font-weight:550;line-height:1.08;display:flex}.portal-essential-card p{color:var(--muted);text-wrap:pretty;margin:0;font-size:12px;line-height:1.65}.portal-essential-card__venue{align-items:center;gap:5px;display:flex;margin-top:4px!important}.portal-essential-card__actions{flex-wrap:wrap;align-items:center;gap:8px 18px;display:flex;position:absolute;bottom:23px;left:25px;right:25px}.portal-essential-card__actions a{color:var(--ink-800);text-underline-offset:4px;align-items:center;gap:7px;font-size:12px;font-weight:600;-webkit-text-decoration:underline #153c8859;text-decoration:underline #153c8859;display:inline-flex}.portal-essential-card>a,.portal-text-link{color:var(--ink-800);text-underline-offset:4px;align-items:center;gap:7px;font-size:12px;font-weight:600;-webkit-text-decoration:underline #153c8859;text-decoration:underline #153c8859;display:inline-flex;position:absolute;bottom:23px}.portal-guest-count{align-items:baseline;gap:9px;margin:18px 0 0;display:flex}.portal-guest-count strong{font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.05em;font-size:58px;font-weight:560;line-height:1}.portal-guest-count span{color:var(--muted);font-size:12px}.portal-materials-grid{grid-template-columns:minmax(0,1.12fr) minmax(380px,.88fr);gap:16px;display:grid}.portal-backdrop-card{border:1px solid var(--line);background:#fff;grid-template-columns:minmax(190px,.95fr) minmax(170px,1.05fr);gap:30px;min-height:330px;padding:18px;display:grid}.portal-backdrop-card__preview{background:var(--ink-950);align-self:center;overflow:hidden;box-shadow:0 18px 38px #1238782e}.portal-backdrop-card__copy{align-self:center;min-width:0;padding:22px 22px 22px 0}.portal-backdrop-card__copy h3,.portal-invitation-card__copy h3{font-family:var(--display);letter-spacing:-.035em;text-wrap:balance;margin:20px 0 12px;font-size:clamp(27px,2.8vw,37px);font-weight:540;line-height:1.06}.portal-backdrop-card__copy p,.portal-invitation-card__copy p{color:var(--muted);text-wrap:pretty;margin:0;font-size:12px;line-height:1.7}.portal-backdrop-card__copy .portal-text-link{margin-top:24px;position:static}.portal-invitation-card{color:#fff;background:radial-gradient(circle at 12% 0,#e3bb253d,#0000 27%),#8c342d;grid-template-columns:155px minmax(0,1fr);min-height:330px;padding:25px 27px 25px 15px;display:grid;position:relative;overflow:hidden}.portal-invitation-card:after{content:"";pointer-events:none;border:1px solid #ffffff2b;position:absolute;inset:10px}.portal-invitation-card__art{z-index:1;min-height:260px;position:relative}.portal-invite{aspect-ratio:9/16;flex-direction:column;justify-content:space-between;width:82px;padding:14px 10px;display:flex;position:absolute;box-shadow:0 18px 35px #2f08054d}.portal-invite:after{content:"";opacity:.24;border:1px solid;position:absolute;inset:6px}.portal-invite small{letter-spacing:.08em;text-transform:uppercase;font-size:6px}.portal-invite strong{font-family:var(--display);font-size:18px;font-weight:550}.portal-invite i{font-family:var(--display);font-size:12px}.portal-invite--one{color:var(--ink-950);background:#f5e8c7;top:9px;left:8px;transform:rotate(-8deg)}.portal-invite--two{color:#7a302a;background:#fbf5e8;bottom:4px;right:3px;transform:rotate(9deg)}.portal-invitation-card__copy{z-index:2;align-self:center;min-width:0;position:relative}.portal-invitation-card__copy h3{margin-top:0;font-size:clamp(28px,2.8vw,38px)}.portal-invitation-card__copy p{color:#ffffffad}.portal-invitation-card__button{color:#6f2823;z-index:2;background:#fff9eb;min-height:44px;margin-top:22px;padding:10px 16px;position:relative}.portal-community-card{border:1px solid var(--line);background:radial-gradient(circle at 4% 12%,#1265d61f,#0000 31%),linear-gradient(112deg,#eef5ffb8 0 59%,#fff 59%);grid-template-columns:58px minmax(220px,1fr) minmax(400px,470px);align-items:center;gap:22px;min-height:282px;margin-top:16px;padding:28px 32px;display:grid;position:relative;overflow:hidden}.portal-community-card:before{content:"";background:#1265d6;width:5px;position:absolute;top:-1px;bottom:-1px;left:-1px}.portal-community-card__mark{color:#fff;background:#1265d6;border-radius:50%;justify-content:center;align-items:center;width:58px;height:58px;font-size:11px;font-weight:700;display:flex;box-shadow:0 12px 26px #1265d63d}.portal-community-card__copy{max-width:490px;display:grid}.portal-community-card__copy>span{color:#1265d6;letter-spacing:.14em;text-transform:uppercase;font-size:10px;font-weight:700}.portal-community-card h2{font-family:var(--display);letter-spacing:-.035em;text-wrap:balance;margin:9px 0 10px;font-size:clamp(26px,2.8vw,36px);font-weight:560;line-height:1.05}.portal-community-card p{color:var(--muted);text-wrap:pretty;max-width:450px;margin:0;font-size:12px;line-height:1.7}.portal-community-card>a{color:var(--ink-800);align-items:center;gap:7px;font-size:12px;font-weight:600;display:inline-flex}.zalo-group-access--portal{grid-template-columns:220px minmax(160px,1fr);gap:22px;max-width:none;margin:0}.zalo-group-access--portal .zalo-group-access__qr{border-color:#1265d647;width:220px;padding:10px;box-shadow:0 16px 36px #1238782e}.zalo-group-access--portal .zalo-group-access__copy>strong{font-size:24px}.zalo-group-access--portal .zalo-group-access__copy>p{display:block}.zalo-group-access--portal .zalo-group-access__action{min-height:46px;margin-top:14px;padding:10px 15px;font-size:12px}.portal-community-card__muted{color:var(--muted);font-size:12px}@keyframes portalRise{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.portal-dashboard-hero,.portal-focus-panel,.portal-section,.portal-community-card{animation:.55s ease-out both portalRise}.portal-focus-panel{animation-delay:60ms}.portal-section{animation-delay:.11s}.portal-section+.portal-section,.portal-community-card{animation-delay:.16s}.back-link{color:var(--muted);align-items:center;gap:8px;margin-bottom:35px;font-size:13px;display:inline-flex}.back-link:hover{color:var(--ink-950)}.invitations-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:40px;padding-bottom:36px;display:flex}.invitations-heading h1{font-family:var(--display);letter-spacing:-.05em;margin:11px 0 18px;font-size:clamp(46px,6vw,78px);font-weight:550;line-height:.98}.invitations-heading p{color:var(--muted);max-width:650px;margin:0}.invitations-heading p strong{color:var(--ink-950)}.invitations-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:28px;margin-top:38px;display:grid}.invitation-card-shell{border:1px solid var(--line);background:#fff;padding:20px}.invitation-card-shell__bar{justify-content:space-between;align-items:flex-start;min-height:72px;display:flex}.invitation-card-shell__kicker{color:var(--red-600);letter-spacing:.16em;text-transform:uppercase;font-size:11px;font-weight:700}.invitation-card-shell--family .invitation-card-shell__kicker{color:#b35b3d}.invitation-card-shell__bar h2{font-family:var(--display);letter-spacing:-.03em;margin:7px 0 0;font-size:28px;font-weight:540;line-height:1.05}.invitation-card-shell__ratio{border:1px solid var(--line);color:var(--muted);letter-spacing:.08em;padding:5px 7px;font-size:11px}.invitation-card{background:var(--ivory-100);max-width:430px;margin:5px auto 18px;overflow:hidden;box-shadow:0 20px 50px #153c881f}.invitation-card svg{width:100%;height:auto;display:block}.invitation-card-shell__download{width:100%}.spin{animation:.9s linear infinite invitationSpin}@keyframes invitationSpin{to{transform:rotate(360deg)}}.queue-page{background:var(--ink-950);color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;min-height:100vh}.queue-header{border-bottom:1px solid #ffffff21;justify-content:space-between;align-items:center;padding:22px clamp(20px,4vw,56px);display:flex}.connection-status{color:#fff9;align-items:center;gap:9px;font-size:12px;display:flex}.connection-status i{background:#6fcf97;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #6fcf971a}.connection-status--loading i,.connection-status--reconnecting i{background:var(--gold-500);box-shadow:0 0 0 4px #e3bb2521}.connection-status--error i{background:#f28b82;box-shadow:0 0 0 4px #f28b8221}.queue-main{grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);gap:50px;padding:clamp(32px,5vw,70px);display:grid}.queue-current{align-self:start;position:sticky;top:40px}.queue-current__label{color:var(--gold-500);letter-spacing:.2em;text-transform:uppercase;font-size:12px}.queue-current__number{font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.08em;margin:40px 0 35px;font-size:clamp(150px,20vw,300px);font-weight:560;line-height:.8}.queue-current h1{font-family:var(--display);margin:0 0 10px;font-size:clamp(34px,4vw,60px);font-weight:520;line-height:1.05}.queue-current p{color:#ffffffc7}.queue-list__header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.queue-list__header h2{font-family:var(--display);margin:0;font-size:31px;font-weight:520}.queue-search{border:1px solid #fff3;align-items:center;gap:9px;padding:8px 12px;display:flex}.queue-search input{color:#fff;background:0 0;border:0;outline:none;width:170px}.queue-search:has(input:focus-visible){outline:3px solid var(--gold-500);outline-offset:2px}.queue-entries{gap:1px;display:grid}.queue-entry{content-visibility:auto;contain-intrinsic-size:78px;background:#ffffff0b;grid-template-columns:70px 1fr auto;align-items:center;gap:20px;min-height:75px;padding:12px 18px;display:grid}.queue-entry:first-child,.queue-entry:nth-child(2),.queue-entry:nth-child(3){background:#e3bb251f}.queue-entry__sequence{color:var(--gold-500);font-family:var(--display);font-size:30px}.queue-entry strong{font-size:15px}.queue-entry div small{margin-top:4px;display:block}.queue-entry small{color:#ffffffd1;font-size:11px}.queue-entry>small{letter-spacing:.07em}.queue-entry{content-visibility:auto;contain-intrinsic-size:75px}.queue-page--presentation .queue-header{padding-block:16px}.queue-reconnect{background:var(--gold-500);color:var(--ink-950);text-align:center;padding:9px 24px;font-size:13px;font-weight:600}.queue-page--presentation .queue-main{grid-template-columns:1.08fr .92fr}.queue-page--presentation .queue-current__number{font-size:clamp(220px,27vw,430px)}.queue-page--presentation .queue-entry:nth-child(n+6){display:none}.admin-shell{background:#f4f5f2;min-height:100vh;padding-left:248px}.admin-sidebar{background:var(--ink-950);color:#fff;z-index:20;width:248px;padding:24px 18px;position:fixed;top:0;bottom:0;left:0}.admin-sidebar nav{gap:4px;margin-top:45px;display:grid}.admin-sidebar nav a{color:#ffffff94;align-items:center;gap:11px;min-height:44px;padding:9px 12px;font-size:13px;display:flex}.admin-sidebar nav a:hover{color:#fff;background:#ffffff0f}.admin-sidebar nav a[aria-current=page]{color:#fff;background:#ffffff1a}.admin-sidebar__event{border-top:1px solid #ffffff26;padding-top:18px;position:absolute;bottom:86px;left:18px;right:18px}.admin-sidebar>form{position:absolute;bottom:18px;left:18px;right:18px}.admin-sidebar__event small{color:#ffffff8f;display:block}.admin-sidebar__event strong{font-family:var(--display);margin-top:4px;font-size:16px;display:block}.admin-sidebar__logout{width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff2e;border-radius:.7rem;padding:.7rem .9rem}.admin-sidebar__logout:hover{background:#ffffff17}.admin-login{background:var(--color-cream,#f7f3ea);place-items:center;min-height:100vh;padding:1.5rem;display:grid}.admin-login__card{background:#fff;border:1px solid #1e30281f;border-radius:1.25rem;gap:1.75rem;width:min(100%,28rem);padding:clamp(1.5rem,5vw,2.5rem);display:grid;box-shadow:0 1.5rem 4rem #1e30281a}.admin-login__card form{gap:.75rem;display:grid}.admin-login__card input[type=password]{width:100%;min-height:3rem;font:inherit;border:1px solid #1e30283d;border-radius:.7rem;padding:.75rem .9rem}.admin-main{min-width:0;padding:34px clamp(28px,4vw,62px) 80px}.admin-topbar{justify-content:space-between;align-items:center;margin-bottom:35px;display:flex}.admin-topbar h1{font-family:var(--display);margin:0;font-size:40px;font-weight:560}.overview-freshness{color:var(--ink-700);font-variant-numeric:tabular-nums;margin:9px 0 0;font-size:11px}.refresh-icon.is-spinning{animation:.7s linear infinite refresh-spin}@keyframes refresh-spin{to{transform:rotate(360deg)}}.admin-topbar__actions{gap:10px;display:flex}.admin-kpis{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.kpi{background:#fff;border:1px solid #153c881a;padding:22px}.kpi span{color:var(--muted);font-size:12px}.kpi strong{font-family:var(--display);margin-top:14px;font-size:38px;font-weight:560;line-height:1;display:block}.kpi small{color:var(--green-600);margin-top:10px;font-size:11px;display:block}.admin-grid{grid-template-columns:1.3fr .7fr;gap:18px;margin-top:18px;display:grid}.admin-panel{background:#fff;border:1px solid #153c881a;min-width:0;padding:24px}.admin-panel__header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.admin-panel__header h2{font-family:var(--display);margin:0;font-size:25px;font-weight:550}.admin-card-list{gap:18px;display:grid}.admin-empty-state{background:#fff;border:1px solid #153c881a;flex-direction:column;justify-content:center;align-items:flex-start;min-height:280px;padding:clamp(30px,5vw,64px);display:flex}.admin-empty-state h2{font-family:var(--display);margin:10px 0 8px;font-size:clamp(28px,4vw,44px);font-weight:550}.admin-empty-state p,.admin-data-note{color:var(--ink-700);max-width:680px;font-size:13px;line-height:1.7}.admin-panel__actions{flex-wrap:wrap;gap:10px;margin-top:24px;display:flex}.admin-back-link{color:var(--ink-700);align-items:center;gap:7px;margin-bottom:24px;font-size:12px;display:inline-flex}.admin-back-link:hover{color:var(--ink-950)}.roster-import-heading{border-bottom:1px solid #153c881f;align-items:flex-end;padding-bottom:30px}.roster-import-heading h1{margin-bottom:12px}.roster-import-heading p{color:var(--ink-700);max-width:680px;margin:0;line-height:1.65}.roster-import-heading__state{border-left:2px solid var(--gold-500);flex:none;gap:5px;padding:4px 0 4px 16px;display:grid}.roster-import-heading__state small{color:var(--ink-700);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.roster-import-heading__state strong{font-size:13px}.roster-import-layout{grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);align-items:start;gap:18px;margin-top:22px;display:grid}.roster-import-panel{padding:clamp(22px,3vw,34px)}.roster-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0 0 30px;padding:0;list-style:none;display:grid}.roster-steps li{border-bottom:2px solid var(--line);color:var(--muted);align-items:center;gap:11px;min-width:0;padding:0 0 15px;display:flex}.roster-steps li>span{font-variant-numeric:tabular-nums;border:1px solid;border-radius:50%;flex:0 0 28px;justify-content:center;align-items:center;height:28px;font-size:10px;display:inline-flex}.roster-steps li div{min-width:0;display:grid}.roster-steps li strong{font-size:12px;font-weight:720}.roster-steps li small{margin-top:2px;font-size:10px}.roster-steps li.is-current{border-color:var(--gold-500);color:var(--ink-950)}.roster-steps li.is-current>span{background:var(--gold-500);border-color:var(--gold-500)}.roster-steps li.is-complete{border-color:var(--green-600);color:var(--green-600)}.roster-steps li.is-complete>span{background:var(--green-600);border-color:var(--green-600);color:#fff}.roster-lock-notice{border-left:3px solid var(--gold-600);background:#fff6e7;align-items:flex-start;gap:12px;margin-bottom:18px;padding:14px 16px;display:flex}.roster-lock-notice svg{color:var(--gold-600);flex:none;margin-top:1px}.roster-lock-notice strong,.roster-lock-notice p{margin:0;font-size:12px}.roster-lock-notice p{color:var(--ink-700);margin-top:4px}.roster-dropzone{background:linear-gradient(135deg,#153c8809,transparent 55%),var(--ivory-50);border:1px dashed #153c8859;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;min-height:150px;padding:24px;transition:border-color .16s,background-color .16s,transform .16s;display:grid;position:relative}.roster-dropzone:hover{border-color:var(--ink-700);transform:translateY(-1px)}.roster-dropzone.has-file{border-style:solid;border-color:#1c75526b}.roster-dropzone>input{opacity:0;width:1px;height:1px;position:absolute;overflow:hidden}.roster-dropzone:has(input:focus-visible){outline:3px solid var(--gold-500);outline-offset:3px}.roster-dropzone__mark{background:var(--ink-950);color:var(--gold-500);justify-content:center;align-items:center;width:58px;height:58px;display:flex}.roster-file-copy{min-width:0;display:grid}.roster-file-copy span{color:var(--ink-700);letter-spacing:.08em;text-transform:uppercase;font-size:10px}.roster-file-copy strong{text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:14px;overflow:hidden}.roster-file-copy small{color:var(--muted);margin-top:5px;font-size:11px}.roster-preserve-option{border-bottom:1px solid var(--line);align-items:flex-start;gap:11px;padding:19px 2px;display:flex}.roster-preserve-option input{accent-color:var(--ink-950);width:16px;height:16px;margin-top:2px}.roster-preserve-option span{display:grid}.roster-preserve-option strong{font-size:12px}.roster-preserve-option small{color:var(--ink-700);margin-top:3px;font-size:11px}.roster-import-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.roster-import-message{color:var(--ink-700);margin:15px 0 0;font-size:12px}.roster-import-message.is-success{color:var(--green-600)}.roster-import-message.is-error{color:var(--red-600)}.roster-import-aside{position:sticky;top:24px}.roster-guide-card,.roster-result-card{background:var(--ink-950);color:#fff;min-height:420px;padding:28px;position:relative;overflow:hidden}.roster-guide-card:after{content:"";border:1px solid #e3bb2540;width:150px;height:150px;position:absolute;top:-58px;right:-70px;transform:rotate(36deg)}.roster-guide-card .eyebrow{color:var(--gold-500)}.roster-guide-card h2{font-family:var(--display);letter-spacing:-.03em;margin:12px 0 10px;font-size:30px;font-weight:540}.roster-guide-card>p{color:#ffffffa3;font-size:12px;line-height:1.65}.roster-guide-card>dl{border-top:1px solid #ffffff24;margin:24px 0 0}.roster-guide-card>dl div{border-bottom:1px solid #ffffff1a;grid-template-columns:62px minmax(0,1fr);gap:12px;padding:10px 0;font-size:12px;display:grid}.roster-guide-card dt{color:var(--gold-500)}.roster-guide-card dd{margin:0}.roster-privacy-note{border-left:2px solid var(--gold-500);background:#ffffff12;margin-top:24px;padding:14px}.roster-privacy-note strong{font-size:11px}.roster-privacy-note p{color:#ffffffa6;margin:5px 0 0;font-size:10px;line-height:1.55}.roster-result-card{color:var(--ink-950);background:#fff;border:1px solid #1c75524d}.roster-result-card.has-errors{border-color:#a63c3259}.roster-result-card>header{border-bottom:1px solid var(--line);color:var(--green-600);align-items:center;gap:12px;padding-bottom:18px;display:flex}.roster-result-card.has-errors>header{color:var(--red-600)}.roster-result-card>header div{display:grid}.roster-result-card>header span{letter-spacing:.08em;text-transform:uppercase;font-size:10px}.roster-result-card>header strong{color:var(--ink-950);font-family:var(--display);margin-top:3px;font-size:25px;font-weight:550}.roster-result-grid{grid-template-columns:1fr 1fr;gap:1px;margin:20px 0 0;display:grid}.roster-result-grid div{background:var(--ivory-50);padding:14px;display:grid}.roster-result-grid dt{color:var(--ink-700);font-size:10px}.roster-result-grid dd{font-family:var(--display);font-variant-numeric:tabular-nums;margin:5px 0 0;font-size:28px;font-weight:560}.roster-result-grid .is-warning dd{color:var(--red-600)}.roster-result-meta{color:var(--ink-700);margin:14px 0 0;font-size:10px;line-height:1.5}.roster-error-list{background:#fff5f1;margin-top:20px;padding:15px}.roster-error-list>strong{color:var(--red-600);font-size:11px}.roster-error-list ol{color:var(--ink-800);max-height:180px;margin:10px 0 0;padding-left:18px;font-size:10px;line-height:1.45;overflow:auto}.roster-error-list small{color:var(--muted);margin-top:8px;font-size:10px;display:block}.roster-result-card>.text-button{margin-top:22px;display:inline-flex}.event-settings .admin-data-note{border-top:1px solid var(--line);max-width:none;margin:24px 0 0;padding-top:18px}.settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.settings-field{gap:7px;display:grid}.settings-field>span{font-size:12px;font-weight:700}.settings-field input,.settings-field select{background:var(--ivory-50);border:1px solid var(--line);color:var(--ink-950);width:100%;min-height:48px;padding:10px 12px}.settings-field small{color:var(--ink-700);font-size:11px}.settings-field--wide{grid-column:1/-1}.event-settings__footer{justify-content:space-between;align-items:center;gap:18px;margin-top:26px;display:flex}.event-settings__footer p{margin:0}.progress-row{grid-template-columns:minmax(180px,.8fr) 1.8fr 45px;align-items:center;gap:16px;margin:17px 0;display:grid}.progress-row span,.progress-row small{font-size:12px}.progress-row__label{min-width:0}.progress-row__label strong{font-size:12px;font-weight:650;line-height:1.35;display:block}.progress-row__label small{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:3px;display:block}.progress-bar{background:#ecece7;height:8px;margin-top:5px}.progress-bar i{background:var(--ink-700);height:100%;display:block}.attention-list{gap:10px;display:grid}.attention-item{background:#f7f6f1;justify-content:space-between;align-items:center;padding:14px;display:flex}.attention-item span{font-size:13px}.attention-item strong{color:var(--red-600);font-size:13px}.attention-item strong.is-clear{color:var(--green-600)}.admin-empty-copy{color:var(--muted);margin:28px 0;font-size:13px}.admin-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:16px;display:flex}.audit-topbar{border-bottom:1px solid #153c881a;padding-bottom:26px}.audit-total{flex-direction:column;align-items:flex-end;display:flex}.audit-total strong{font-family:var(--display);font-variant-numeric:tabular-nums;font-size:34px;font-weight:560;line-height:1}.audit-total span{color:var(--ink-700);letter-spacing:.08em;text-transform:uppercase;margin-top:7px;font-size:10px}.audit-filter{background:#fff;border:1px solid #153c881a;grid-template-columns:minmax(260px,1.4fr) minmax(190px,.8fr) minmax(170px,.7fr) auto;align-items:end;gap:12px;margin-bottom:30px;padding:18px;display:grid}.audit-filter label{gap:7px;min-width:0;display:grid}.audit-filter label>span:first-child{color:var(--ink-700);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:750}.audit-filter .queue-search{border-color:var(--line);color:var(--ink-950);min-height:44px}.audit-filter select{background:var(--ivory-50);border:1px solid var(--line);color:var(--ink-950);width:100%;min-height:44px;padding:0 36px 0 12px}.audit-filter__actions{gap:8px;display:flex}.audit-filter__actions .button{white-space:nowrap;min-height:44px}.audit-stream,.audit-stream ol{margin:0;padding:0;list-style:none}.audit-day-group>ol{position:relative}.audit-day-heading{color:var(--ink-700);letter-spacing:.09em;text-transform:uppercase;margin:30px 0 14px 116px;font-size:10px;font-weight:750}.audit-day-group:first-child .audit-day-heading{margin-top:0}.audit-entry{grid-template-columns:78px 20px minmax(0,1fr);gap:18px;padding-bottom:12px;display:grid;position:relative}.audit-entry:before{content:"";background:#153c8821;width:1px;height:calc(100% + 12px);position:absolute;top:11px;left:105px}.audit-stream>ol>.audit-day-group:last-child>ol>.audit-entry:last-child:before{height:calc(100% - 24px)}.audit-entry>time{color:var(--ink-700);font-variant-numeric:tabular-nums;text-align:right;padding-top:18px;font-size:11px}.audit-entry__marker{background:var(--red-600);border:5px solid var(--ivory-50);z-index:1;border-radius:50%;width:15px;height:15px;margin-top:17px;position:relative}.audit-entry__card{background:#fff;border:1px solid #153c881a;min-width:0;padding:16px 18px;transition:border-color .15s,transform .15s}.audit-entry__card:hover{border-color:#153c883d;transform:translate(2px)}.audit-entry__card>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.audit-entry__card h2{font-family:var(--display);margin:3px 0 0;font-size:20px;font-weight:560;line-height:1.2}.audit-entry__card>header code{background:var(--ivory-100);color:var(--ink-700);letter-spacing:.04em;white-space:nowrap;padding:5px 7px;font-size:9px}.audit-entry__actor{color:var(--red-600);letter-spacing:.1em;text-transform:uppercase;font-size:9px;font-weight:800}.audit-entry__context{color:var(--ink-700);flex-wrap:wrap;align-items:center;gap:8px;margin-top:13px;font-size:11px;display:flex}.audit-entry__context>*+:before{color:var(--line);content:"/";margin-right:8px}.audit-entry__context strong{color:var(--ink-950);font-weight:650}.audit-entry__id{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.audit-details{border-top:1px solid var(--line);margin-top:14px;padding-top:11px}.audit-details summary{color:var(--ink-700);cursor:pointer;width:fit-content;font-size:11px;font-weight:650}.audit-details dl{gap:0;margin:12px 0 0;display:grid}.audit-details dl>div{grid-template-columns:minmax(130px,.35fr) minmax(0,1fr);gap:18px;padding:7px 0;display:grid}.audit-details dt{color:var(--muted);font-size:10px}.audit-details dd{overflow-wrap:anywhere;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px;line-height:1.5}.audit-empty-state{min-height:360px}.admin-toolbar__filters{gap:8px;min-width:0;max-width:100%;display:flex;overflow-x:auto}.filter-button{cursor:pointer;background:#fff;border:1px solid #153c8824;align-items:center;gap:0;min-height:44px;padding:8px 12px;font-size:12px;text-decoration:none;display:inline-flex}.filter-count{color:#59666d;font-variant-numeric:tabular-nums;letter-spacing:.03em;background:#f0f1ee;justify-content:center;align-items:center;min-width:28px;min-height:22px;margin-left:10px;padding:0 6px;font-size:10px;font-weight:750;line-height:1;display:inline-flex}.filter-button.is-active{background:var(--ink-950);border-color:var(--ink-950);color:#fff}.filter-button.is-active .filter-count{color:#ffffffe0;background:#ffffff21}.admin-search{align-items:stretch;gap:8px;min-width:0;max-width:100%;margin-left:auto;display:flex}.data-table{border-collapse:collapse;width:100%;font-size:12px}.data-table th{color:#56636a;letter-spacing:.07em;text-align:left;text-transform:uppercase;background:#f1f2ef;padding:11px 12px;font-size:10px;position:sticky;top:0}.data-table td{border-bottom:1px solid #153c8817;padding:13px 12px}.last-login{font-variant-numeric:tabular-nums;white-space:nowrap;align-items:baseline;gap:7px;display:inline-flex}.last-login strong{font-size:11px;font-weight:650}.last-login>span{color:var(--muted);font-size:10px}.last-login--empty{color:var(--muted);font-size:11px}.registration-detail-list dd .last-login{justify-content:flex-end}.data-table tr:hover td{background:#faf9f5}.icon-button{color:var(--ink-950);cursor:pointer;touch-action:manipulation;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0;display:inline-flex}.icon-button:hover{border-color:var(--line);background:#fff}.table-action{margin:-6px 0}.table-empty{color:var(--ink-700);text-align:center;padding:48px 16px!important}.registration-drawer{background:var(--ivory-50);color:var(--ink-950);border:0;width:min(520px,100vw - 32px);max-width:none;height:100dvh;max-height:100dvh;margin:0;padding:0;position:fixed;inset:0 0 0 auto;overflow:hidden;box-shadow:-24px 0 70px #03161f2e}.registration-drawer::backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#03161f8c}.registration-drawer__surface{background:var(--ivory-50);border-left:1px solid #e3bb2573;flex-direction:column;width:100%;height:100dvh;display:flex}.registration-drawer__header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;min-width:0;padding:36px 36px 30px;display:flex}.registration-drawer__header>div{min-width:0;padding-right:24px}.registration-drawer__header h2{font-family:var(--display);overflow-wrap:anywhere;text-wrap:balance;margin:8px 0 10px;font-size:clamp(26px,4vw,36px);line-height:1.06}.registration-drawer__header p{color:var(--ink-700);overflow-wrap:anywhere;margin:0;font-size:13px}.registration-drawer__close{border:1px solid var(--line);background:#fff;flex:none}.registration-drawer__body{overscroll-behavior:contain;flex:1;min-height:0;padding:4px 36px;overflow-y:auto}.registration-detail-section{border-bottom:1px solid var(--line);grid-template-columns:30px 1fr;gap:20px;padding:28px 0;display:grid}.registration-detail-section__index{color:var(--gold-600);font-family:var(--display);font-variant-numeric:tabular-nums;font-size:14px}.registration-detail-section__label{color:var(--ink-700);letter-spacing:.1em;text-transform:uppercase;margin:0 0 6px;font-size:10px;font-weight:700}.registration-detail-section strong{font-family:var(--display);font-size:21px;font-weight:600}.registration-detail-list{margin:20px 0 0}.registration-detail-list div{justify-content:space-between;padding:8px 0;font-size:12px;display:flex}.registration-detail-list dt{color:var(--ink-700)}.registration-detail-list dd{margin:0;font-weight:600}.registration-detail-list dd a{color:var(--ink-950);-webkit-text-decoration-color:var(--gold-500);text-decoration-color:var(--gold-500);text-underline-offset:3px;font-weight:700;text-decoration-thickness:2px}.registration-detail-list dd a:hover{color:var(--red-600)}.registration-drawer__footer{border-top:1px solid var(--line);padding:20px 36px calc(20px + env(safe-area-inset-bottom));background:#fff;justify-content:flex-end;display:flex}.registration-drawer[open] .registration-drawer__surface{animation:.22s ease-out both registration-drawer-enter}@keyframes registration-drawer-enter{0%{opacity:0;transform:translate(28px)}to{opacity:1;transform:translate(0)}}.admin-pagination{color:var(--ink-700);justify-content:space-between;align-items:center;padding:18px 0;font-size:12px;display:flex}.registrations-table{overscroll-behavior:contain;max-width:100%;max-height:min(70dvh,760px);overflow:auto}.registrations-table .data-table{min-width:920px}.admin-pagination p{margin:0}.pagination-links,.pagination-cluster{align-items:center;gap:6px;display:flex}.pagination-link{border:1px solid var(--line);color:var(--ink-950);justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:0 8px;text-decoration:none;display:inline-flex}.pagination-link--wide{padding-inline:13px}.pagination-link.is-current{background:var(--ink-950);border-color:var(--ink-950);color:#fff}.pagination-link.is-disabled{opacity:.38;pointer-events:none}.mini-status{padding:5px 7px;font-size:10px;font-weight:600;display:inline-block}.mini-status--success{color:var(--green-600);background:#2d6c561a}.mini-status--warning{color:#795b25;background:#e3bb252e}.mini-status--neutral{color:#526078;background:#66728a21}.gallery-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.filter-button--active{background:var(--ink-950);border-color:var(--ink-950);color:#fff}.gallery-card{background:#fff;border:1px solid #153c881f;overflow:hidden}.gallery-card__failure{aspect-ratio:16/9;background:linear-gradient(135deg,#972f2f1a,transparent),var(--ivory-100);color:#8b3434;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.gallery-card__failure strong{font-size:12px}.gallery-card__status{aspect-ratio:16/9;background:linear-gradient(135deg,#153c8817,transparent),var(--ivory-100);color:var(--ink-700);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.gallery-card__status--ready{background:linear-gradient(135deg,#227b5b1f,transparent),var(--ivory-100);color:var(--green-600)}.gallery-card__status strong{font-size:12px}.gallery-card__body{padding:14px}.gallery-card__link{color:var(--green-600);text-underline-offset:3px;margin-top:12px;font-size:11px;font-weight:650;text-decoration:underline;display:inline-block}.backdrop-retry{gap:6px;display:grid}.backdrop-retry .button,.backdrop-retry .text-button{margin:0}.backdrop-retry--compact{margin-top:10px}.backdrop-retry--compact .text-button{align-items:center;gap:6px;font-size:11px;display:inline-flex}.export-create{grid-template-columns:minmax(220px,1fr) minmax(220px,.8fr) auto;align-items:end;gap:16px;margin-bottom:20px;display:grid}.export-create h2{margin:6px 0 0}.export-create select{min-height:48px}.export-create .button,.export-actions .button{margin:0}.export-actions{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.gallery-card__body strong{font-size:12px}.gallery-card__body small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.operator-page{color:#fff;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#06151e;min-height:100vh;padding:30px}.operator-page .eyebrow{color:var(--gold-500)}.operator-header{justify-content:space-between;align-items:center;display:flex}.operator-header__status{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.operator-header__status small{color:#ffffff8c}.operator-grid{grid-template-columns:1fr 1fr;align-items:center;gap:60px;min-height:calc(100vh - 120px);display:grid}.operator-current span{color:var(--gold-500);letter-spacing:.2em;text-transform:uppercase;font-size:12px}.operator-current strong{font-family:var(--display);font-variant-numeric:tabular-nums;letter-spacing:-.08em;font-size:clamp(160px,22vw,330px);font-weight:550;line-height:.85;display:block}.operator-current p{color:#ffffffb8;font-family:var(--display);margin:22px 0 0;font-size:28px}.operator-next{border-left:1px solid #ffffff2b;padding-left:60px}.operator-next h2{font-family:var(--display);margin:0 0 10px;font-size:46px;font-weight:520}.operator-next p{color:#ffffff80}.operator-controls{grid-template-columns:.8fr 1fr 1.6fr;gap:12px;margin-top:45px;display:grid}.operator-controls button{cursor:pointer;border:0;min-height:72px;font-weight:600}.operator-controls button:disabled{cursor:not-allowed;opacity:.42}.operator-controls button:last-child{background:var(--gold-500);color:var(--ink-950)}.operator-message{border-left:3px solid var(--gold-500);color:#f3dcae;background:#e3bb2521;margin-top:24px;padding:14px 16px;font-size:13px;line-height:1.55}.operator-shortcuts{color:#ffffff6b;margin-top:15px;display:block}.operator-jump{border-top:1px solid #ffffff2b;gap:9px;margin-top:24px;padding-top:20px;display:grid}.operator-jump label{color:#ffffffad;font-size:12px;font-weight:600}.operator-jump>div{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.operator-jump input,.operator-jump button{border:1px solid #ffffff3d;min-height:50px;padding:10px 14px}.operator-jump input{color:#fff;background:#ffffff14}.operator-jump button{color:var(--ink-950);cursor:pointer;background:#fff;font-weight:650}.operator-jump button:disabled{cursor:not-allowed;opacity:.45}.operator-state{flex-direction:column;justify-content:center;display:flex}.operator-state h1{font-family:var(--display);max-width:900px;margin:56px 0 12px;font-size:clamp(38px,6vw,76px);font-weight:530}.operator-state p{color:#ffffff8f}.queue-system-state{flex-direction:column;justify-content:center;align-items:flex-start;min-height:calc(100vh - 110px);padding:clamp(32px,8vw,120px);display:flex}.queue-system-state h1{font-family:var(--display);max-width:980px;margin:16px 0;font-size:clamp(38px,7vw,86px);font-weight:530;line-height:1.02}.queue-system-state p{color:#ffffff8c}.portal-state-page{background:var(--ivory-50);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.portal-state-card{border:1px solid var(--line);background:#fff;width:100%;max-width:620px;padding:clamp(28px,6vw,58px)}.portal-state-card h1{font-family:var(--display);margin:12px 0;font-size:clamp(32px,5vw,48px);font-weight:550}.portal-state-card p{color:var(--muted);line-height:1.7}.admin-shell:has(.operator-page){padding-left:0}.admin-shell:has(.operator-page)>.admin-sidebar{display:none}.admin-shell:has(.operator-page)>.admin-main{padding:0}@media (min-width:901px){.form-page{position:relative}.verify-aside{align-content:center;align-self:auto;padding:70px clamp(48px,6vw,120px);display:grid;position:absolute;inset:92px 0 0 60%}.verify-aside>*{justify-self:center;width:100%;max-width:380px}.admin-sidebar{flex-direction:column;height:100dvh;display:flex;overflow-y:auto}.admin-sidebar nav{flex:none}.admin-sidebar__event{margin-top:auto;margin-bottom:68px;position:static}}@media (min-width:901px) and (max-width:1050px){.public-header nav{gap:18px}}@media (max-width:900px){.public-header nav>a:not(.header-action),.portal-header__identity-copy{display:none}.graduates-hero{grid-template-columns:minmax(0,1fr) auto;gap:30px}.graduates-hero__total{padding-left:28px}.graduate-directory__heading{grid-template-columns:1fr;align-items:stretch}.hero{grid-template-rows:auto;grid-template-columns:1fr;row-gap:0;padding-top:45px}.hero:before{display:none}.hero__copy,.hero__portal,.hero__visual{grid-area:auto/1;width:100%;max-width:650px}.hero__copy{order:1}.hero__portal{order:2;margin-top:30px}.hero__visual{order:3;margin-top:34px}.ceremony-section__inner{grid-template-columns:minmax(0,.8fr) minmax(340px,1.2fr)}.ceremony-section__intro{grid-column:1/-1;max-width:650px}.ceremony-section__intro>p{max-width:560px}.invitation-showcase__inner{grid-template-columns:1fr;gap:64px}.invitation-showcase__copy{max-width:680px}.invitation-showcase__copy>p{max-width:620px}.invitation-showcase__visual{width:100%;max-width:650px;min-height:680px;margin:0 auto}.schedule-heading{grid-template-columns:1fr;align-items:start;gap:22px}.schedule-layout{grid-template-columns:1fr;margin-top:58px}.schedule-guide{grid-template-columns:auto 1fr;gap:14px 20px;display:grid;position:static}.schedule-guide h3{align-self:center;margin:0}.schedule-guide p,.schedule-guide__legend{grid-column:2}.schedule-guide__legend{grid-template-columns:repeat(3,auto);justify-content:start}.degree-checklist{grid-template-columns:1fr;gap:28px}.degree-checklist ul{border-left:0;border-top:1px solid var(--line);padding:25px 0 0}.faq-layout{grid-template-columns:1fr;gap:35px}.form-page{background:var(--ivory-50)}.form-page__main{grid-template-columns:1fr}.verify-aside{background:var(--ink-950);margin-inline:-20px;padding:45px 28px}.attendance-layout,.review-grid,.portal-grid,.admin-grid{grid-template-columns:1fr}.portal-dashboard-hero{grid-template-columns:1fr;align-items:start;gap:24px}.portal-overall-status{width:fit-content;min-width:0}.portal-focus-panel{grid-template-columns:1fr}.portal-progress-card{grid-template-columns:210px minmax(0,1fr);gap:26px;display:grid}.portal-progress-card__heading{border-bottom:0;border-right:1px solid var(--line);padding:0 26px 0 0}.portal-progress-list{margin:0}.portal-essentials-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portal-essential-card--schedule{grid-column:1/-1;min-height:205px}.portal-materials-grid{grid-template-columns:1fr}.portal-invitation-card{grid-template-columns:210px minmax(0,1fr)}.portal-invitation-card__art{max-width:180px}.portal-community-card{grid-template-columns:58px minmax(0,1fr);align-items:start}.zalo-group-access--portal{grid-column:1/-1;grid-template-columns:180px minmax(0,1fr);width:100%;margin-top:6px}.zalo-group-access--portal .zalo-group-access__qr{width:180px}.studio-layout{grid-template-columns:1fr}.studio-preview{position:static}.queue-main,.queue-page--presentation .queue-main{grid-template-columns:1fr}.queue-current{position:static}.admin-shell{padding-left:0}.admin-sidebar{width:auto;position:static}.admin-sidebar nav{grid-template-columns:repeat(3,1fr)}.admin-sidebar__event{display:none}.admin-sidebar>form{margin-top:18px;position:static}.admin-kpis{grid-template-columns:repeat(2,1fr)}}@media (max-width:640px){.studio-layout{gap:24px}.studio-preview{z-index:20;background:#fcfaf5f0;order:-1;margin-inline:-8px;padding:8px;position:sticky;top:8px}.upload-zone__picker{padding:16px}.upload-zone__remove{margin-right:12px}.public-header,.portal-header{padding:18px 20px}.public-header{gap:12px}.brand-mark__logo{width:172px}.public-header .header-action{padding:9px 10px;font-size:12px}.public-header-account__copy{display:none}.public-header-account,.public-header-account__identity{gap:8px}.public-header-account__avatar,.public-header-account__logout{width:38px;height:38px}.portal-header .brand-mark__logo{width:138px}.portal-header__event-link{border:1px solid var(--line);justify-content:center;width:38px;height:38px;margin-left:8px;padding:0}.portal-header__event-link span{display:none}.graduates-hero{min-height:auto;padding:58px 20px 72px;display:block}.graduates-hero:before{top:30px;left:20px}.graduates-hero h1{font-size:clamp(45px,13vw,61px)}.graduates-hero__total{border-left:0;border-top:1px solid var(--line);margin-top:42px;padding:24px 0 0}.graduates-hero__total strong{margin-block:17px 12px;font-size:68px}.graduates-hero__year{font-size:140px;bottom:-20px;right:-8px}.graduate-directory{padding:68px 20px 62px}.graduate-directory__heading>div:first-child{gap:12px}.graduate-directory__index{font-size:16px}.graduate-search{grid-template-columns:1fr}.graduate-search>label{grid-column:auto}.graduate-search .button{justify-content:center}.graduate-table th,.graduate-table td{padding-inline:10px}.graduate-table{min-width:0}.graduate-table th:first-child{width:44%}.graduate-table th:nth-child(2){width:36%}.graduate-table th:last-child{width:20%}.graduate-table td:first-child strong{font-size:16px}.graduate-table td:nth-child(2){overflow-wrap:anywhere;font-size:11px}.graduate-table td:last-child span{padding-inline:5px;font-size:10px}.graduate-pagination{flex-direction:column;align-items:stretch}.graduate-pagination nav{justify-content:space-between}.graduate-page-numbers{display:none}.graduates-footer{flex-direction:column;align-items:flex-start;gap:8px;padding:24px 20px}.deadline-strip{grid-template-columns:20px 1fr;align-items:flex-start;gap:2px;padding-block:10px;display:grid}.deadline-strip>svg{grid-row:1/span 3}.deadline-strip>span{grid-column:2}.deadline-strip i{display:none}.hero{min-height:auto;padding:42px 20px 95px}.display-title{font-size:clamp(48px,15vw,62px)}.hero__facts{grid-template-columns:1fr}.hero__facts>div{padding:14px 0}.hero__facts>div+div{border-left:0;border-top:1px solid var(--line);padding-left:0}.hero__year{font-size:150px;bottom:0}.hero__actions{flex-direction:column;align-items:stretch}.hero__cap-art{min-height:auto}.hero__cap{width:min(112%,560px)}.ceremony-section{padding:68px 20px 76px}.ceremony-section:before{background-size:64px 100%}.ceremony-section__inner{grid-template-columns:1fr;gap:38px}.ceremony-section__intro{grid-column:auto}.ceremony-section__kicker{margin-bottom:22px}.ceremony-section__intro h2{font-size:clamp(37px,11vw,48px)}.ceremony-section__details article{padding-block:22px}.ceremony-section__countdown{padding:25px 20px 27px;box-shadow:8px 8px #e3bb2561}.ceremony-section__unit{padding-left:10px}.ceremony-section__unit strong{font-size:clamp(27px,9vw,36px)}.schedule-section,.faq-section{padding:80px 20px}.invitation-showcase{padding:82px 20px 88px}.invitation-showcase:before{font-size:96px}.invitation-showcase__inner{gap:48px}.invitation-showcase__action{flex-direction:column;align-items:stretch}.invitation-showcase__action .button{width:100%}.invitation-showcase__visual{min-height:min(142vw,570px)}.invitation-showcase__visual:before{clip-path:polygon(12% 0,100% 0,100% 90%,76% 100%,0 100%,0 10%)}.invitation-preview{padding:6px 6px 55px}.invitation-preview figcaption{bottom:12px;left:15px}.invitation-preview figcaption span{font-size:15px}.invitation-preview--personal{width:55%;top:34px;left:8%}.invitation-preview--family{width:48%;top:76px;right:7%}.schedule-section{background-size:64px 100%}.schedule-layout{gap:46px;margin-top:42px}.schedule-status{align-items:flex-start;margin-top:38px;padding:16px}.schedule-status>div{gap:3px;display:grid}.schedule-guide{padding:24px;display:block;box-shadow:8px 8px #e3bb254d}.schedule-guide h3{margin:24px 0 10px}.schedule-guide__legend{grid-template-columns:1fr;display:grid}.timeline-item{grid-template-columns:56px 16px minmax(0,1fr);column-gap:10px;min-height:148px}.timeline-item>time{padding-top:6px;font-size:19px}.timeline-item__marker:before{width:9px;height:9px}.timeline-event{padding-bottom:32px}.timeline-event__content{grid-template-columns:1fr;gap:14px}.timeline-event__content>p{font-size:14px}.degree-checklist{margin-top:45px;padding:28px 22px}.degree-checklist__number{font-size:48px}.degree-checklist h3{font-size:22px}.final-cta{padding:65px 20px}.form-page__main{padding:48px 20px}.field-row{grid-template-columns:1fr}.journey-main,.portal-page{padding:32px 20px calc(104px + env(safe-area-inset-bottom))}.journey-shell:has(.sticky-actions)>.landing-footer--portal{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.journey-progress__desktop{display:none}.journey-progress__mobile{display:block}.journey-progress__mobile span{color:var(--red-600);letter-spacing:.1em;text-transform:uppercase;font-size:11px}.journey-progress__mobile strong{font-family:var(--display);margin:3px 0 12px;font-size:24px;display:block}.journey-progress__mobile div{background:var(--ivory-200);height:3px}.journey-progress__mobile i{background:var(--red-600);height:100%;display:block}.page-heading{display:block}.deadline-badge{margin-top:22px}.editorial-card,.summary-card{padding:25px 20px}.sticky-actions{padding:12px 20px max(12px,env(safe-area-inset-bottom));z-index:30;background:#fcfaf5f5;flex-direction:row;align-items:stretch;gap:8px;margin:0;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -12px 30px #153c881a}.sticky-actions .button{white-space:nowrap;width:auto;padding-inline:10px;font-size:13px}.sticky-actions .button--primary{flex:auto}.sticky-actions .button--secondary{flex:0 auto}.portal-header__meta{gap:10px}.portal-header__identity-copy{display:none}.portal-header__avatar,.portal-header__logout{width:38px;height:38px}.portal-header__status-full{display:none}.portal-header__status-compact{display:inline}.portal-header__account-placeholder{width:86px}.portal-header__account-placeholder span{display:none}.portal-header__account-placeholder:before,.portal-header__account-placeholder i{flex-basis:38px;width:38px;height:38px}.portal-dashboard-hero{padding-top:8px}.portal-dashboard-hero__copy h1{font-size:clamp(39px,11vw,51px)}.portal-dashboard-hero__copy>p{font-size:13px}.portal-overall-status{width:100%}.portal-focus-panel__action{padding:29px 24px 32px}.portal-focus-panel__action:after{width:48px;height:48px;top:12px;right:12px}.portal-focus-panel__label{flex-direction:column;align-items:flex-start;gap:10px}.portal-focus-panel__action h2{margin-top:24px;font-size:35px}.portal-primary-action{width:100%}.portal-progress-card{padding:26px 22px;display:block}.portal-progress-card__heading{border-bottom:1px solid var(--line);border-right:0;padding:0 0 20px}.portal-progress-list{margin-top:12px}.portal-section{margin-top:56px}.portal-section__heading{align-items:flex-start;display:block}.portal-section__heading>p{margin-top:12px}.portal-essentials-grid{grid-template-columns:1fr}.portal-essential-card--schedule{grid-column:auto}.portal-essential-card{min-height:210px}.portal-backdrop-card{grid-template-columns:1fr;gap:0;padding:12px}.portal-backdrop-card__copy{padding:28px 12px 22px}.portal-invitation-card{grid-template-columns:120px minmax(0,1fr);padding:22px 20px 22px 10px}.portal-invitation-card__art{min-height:250px}.portal-invite{width:72px}.portal-invitation-card__copy h3{font-size:28px}.portal-community-card{grid-template-columns:auto minmax(0,1fr);align-items:start;min-height:0;padding:25px 22px}.portal-community-card__muted{grid-column:2}.portal-community-card__mark{width:48px;height:48px}.portal-community-card h2{font-size:27px}.zalo-group-access--portal{grid-column:1/-1;grid-template-columns:150px minmax(0,1fr);gap:18px;width:100%;max-width:none;margin-top:12px}.zalo-group-access--portal .zalo-group-access__qr{width:150px;padding:8px}.invitation-teaser{grid-template-columns:1fr;align-items:start;padding:28px 24px 24px}.invitation-teaser__tiles{justify-content:end;height:170px;margin:-2px 18px 0 0}.invitation-teaser__tile{width:80px}.invitation-teaser__tile--student{right:64px}.invitation-teaser__tile--family{right:0}.invitations-heading{flex-direction:column;align-items:flex-start;gap:24px}.invitations-grid{grid-template-columns:1fr;margin-top:28px}.invitation-card-shell{padding:16px}.invitation-card-shell__bar h2{font-size:25px}.portal-grid__wide{grid-row:auto}.queue-header{padding:18px 20px}.queue-main{gap:46px;padding:40px 20px}.queue-page--presentation .queue-main{grid-template-columns:minmax(0,1fr)}.queue-current__number{font-size:160px}.queue-list__header{flex-direction:column;align-items:stretch;gap:15px}.queue-search input{width:100%}.queue-entry{grid-template-columns:48px minmax(0,1fr);gap:6px 12px}.queue-entry__sequence{grid-row:1/span 2}.queue-entry>small{letter-spacing:0;grid-column:2;display:block}.queue-page--presentation .queue-current__number{font-size:clamp(128px,50vw,180px)}.admin-sidebar nav{grid-template-columns:1fr 1fr}.admin-sidebar nav a{min-width:0}.admin-main{max-width:100vw;padding:28px 16px 60px}.admin-topbar{flex-direction:column;align-items:flex-start;gap:18px}.admin-topbar__actions{flex-wrap:wrap;width:100%}.admin-topbar__actions .button{flex:180px;justify-content:center}.admin-kpis{grid-template-columns:1fr 1fr}.admin-panel{padding:18px}.admin-panel__header{flex-wrap:wrap;align-items:flex-start;gap:8px}.progress-row{grid-template-columns:minmax(0,1fr) minmax(50px,1fr) 38px;gap:8px}.kpi{padding:16px}.gallery-grid{grid-template-columns:1fr}.export-create{grid-template-columns:1fr;align-items:stretch}.admin-toolbar{flex-direction:column;align-items:stretch}.audit-total{align-items:flex-start}.audit-filter{grid-template-columns:1fr 1fr;align-items:stretch}.audit-filter__search,.audit-filter__actions{grid-column:1/-1}.audit-filter__actions .button{flex:1;justify-content:center}.audit-day-heading{margin-left:0}.audit-entry{grid-template-columns:16px minmax(0,1fr);gap:10px}.audit-entry:before{left:7px}.audit-entry>time{text-align:left;grid-column:2;padding:0 0 2px}.audit-entry__marker{grid-area:2/1;margin-top:16px;margin-left:0}.audit-entry__card{grid-column:2}.audit-entry__card>header{gap:10px}.audit-entry__card>header code{display:none}.audit-details dl>div{grid-template-columns:1fr;gap:4px}.admin-toolbar__filters{flex-wrap:wrap;width:100%;padding-bottom:4px;overflow:visible}.filter-button{white-space:nowrap;flex:none}.admin-search{width:100%}.admin-search .queue-search{flex:1}.settings-grid{grid-template-columns:1fr}.settings-field--wide{grid-column:auto}.event-settings__footer{flex-direction:column;align-items:stretch}.admin-pagination{background:var(--ivory-50);z-index:2;flex-direction:column;align-items:flex-start;gap:14px;position:relative}.registration-drawer{width:100vw}.registration-drawer__header,.registration-drawer__body,.registration-drawer__footer{padding-left:22px;padding-right:22px}.data-table{min-width:720px}.operator-grid{grid-template-columns:1fr}.operator-next{border-top:1px solid #ffffff2b;border-left:0;padding-top:34px;padding-left:0}}@media (max-width:900px){.roster-import-layout{grid-template-columns:1fr}.roster-import-aside{position:static}.roster-guide-card,.roster-result-card{min-height:auto}}@media (max-width:640px){.roster-import-heading__state{width:100%}.roster-steps li{align-items:flex-start}.roster-steps li small{display:none}.roster-dropzone{grid-template-columns:auto minmax(0,1fr);padding:18px}.roster-dropzone .button{grid-column:1/-1;justify-content:center}.roster-import-actions .button{flex:100%;justify-content:center}}@media (max-width:420px){.portal-community-card{text-align:center;display:block}.portal-community-card__mark{margin:0 auto 18px}.portal-community-card__copy{max-width:none}.zalo-group-access--portal{grid-template-columns:1fr;gap:18px;margin-top:24px;display:grid}.zalo-group-access--portal .zalo-group-access__qr{justify-self:center;width:100%;max-width:220px}.zalo-group-access--portal .zalo-group-access__action{justify-self:stretch;width:100%}}@media (hover:hover){.public-header nav a:not(.header-action):hover,.info-card a:not(.button):hover{color:var(--ink-700);text-decoration-thickness:2px}.public-header-account__logout:hover{background:var(--ink-900);border-color:var(--ink-900);color:#fff}.invitation-preview:hover{transform:translateY(-10px)rotate(var(--preview-rotation));z-index:4;box-shadow:0 42px 78px #030e246b}.guest-stepper button:hover{background:var(--ivory-200);border-color:var(--gold-600)}.portal-progress-list li a:hover,.portal-community-card>a:hover,.portal-text-link:hover,.portal-essential-card>a:hover,.portal-essential-card__actions a:hover,.portal-header__event-link:hover{color:var(--ink-700)}.portal-progress-list li a:hover .portal-progress-list__marker{border-color:var(--gold-600)}.zalo-group-access__qr:hover{transform:translateY(-2px);box-shadow:0 14px 30px #12387833}.operator-controls button:not(:disabled):hover,.operator-jump button:not(:disabled):hover{filter:brightness(1.08)}}@media (max-width:360px){.brand-mark__logo{width:138px}.public-header,.portal-header{padding-inline:16px}.portal-header__meta{gap:6px}.portal-header__identity{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
