/* Cinematic GO / EN. A finite 6.8 s opening and 6.5 s closing, carried by a
   real stage photograph of Ozaken. Opening: the picture is revealed on the right
   by a light-wipe while the words build on the left. Closing: a full-bleed shot
   of the hall with a large Thank You. Only CSS moves; the words never jitter. */
#boot { --sf-ice:#9be9ff; --sf-rgb:126,219,255; --sf-deep:#0d2a44; --sf-span:6.8s;
  --sf-photo:url("profile/stage-open.jpg"); --sf-pos:68% 30%;
  position:fixed; inset:0; z-index:10020; display:none; overflow:hidden; isolation:isolate;
  color:#fff; background:#030913; opacity:0; transition:opacity 320ms ease; outline:none; }
#boot.is-end { --sf-ice:#d4c8ff; --sf-rgb:191,166,255; --sf-deep:#2a2440; --sf-span:6.5s;
  --sf-photo:url("profile/stage-close.jpg"); --sf-pos:50% 74%; }
#boot.is-on { display:block; opacity:1; }
#boot.is-on.is-done { opacity:0; pointer-events:none; }
#boot .sf-scene { position:absolute; inset:0; overflow:hidden; pointer-events:none;
  background:radial-gradient(ellipse at 22% 40%,var(--sf-deep),transparent 60%),#030913; }
/* Photograph. The opening keeps it on the right 62 % of the stage with a soft
   left edge; the closing fills the screen. A slow Ken Burns keeps it alive. */
#boot .sf-photo { position:absolute; top:0; right:0; bottom:0; width:66%; opacity:0;
  clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%);
  mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.55) 18%,black 42%); }
#boot .sf-photo > i { display:block; position:absolute; inset:-4%; background:var(--sf-photo) var(--sf-pos)/cover no-repeat;
  filter:saturate(1.05) contrast(1.04); }
#boot.is-on .sf-photo { animation:sf-photo-reveal 1.5s .35s cubic-bezier(.2,.7,.2,1) both; }
#boot.is-on .sf-photo > i { animation:sf-kenburns var(--sf-span) linear both; }
#boot.is-end .sf-photo { width:100%; mask-image:none; }
#boot.is-on.is-end .sf-photo { animation:sf-photo-fade 1.6s .2s ease both; }
#boot.is-on.is-end .sf-photo > i { animation-name:sf-kenburns-out; }
/* Shade keeps the text legible: dark on the left, a floor gradient below. */
#boot .sf-shade { position:absolute; inset:0;
  background:linear-gradient(90deg,rgba(3,9,19,.96) 0,rgba(3,9,19,.86) 34%,rgba(3,9,19,.28) 62%,rgba(3,9,19,.05) 100%),
    linear-gradient(180deg,rgba(3,9,19,.35),transparent 30%,transparent 65%,rgba(3,9,19,.85)); }
#boot.is-end .sf-shade { background:linear-gradient(180deg,rgba(3,9,19,.9) 0,rgba(3,9,19,.7) 22%,rgba(3,9,19,.4) 42%,rgba(3,9,19,.3) 60%,rgba(3,9,19,.93) 100%); }
/* A faint grid slides once across the stage, then settles. */
#boot .sf-grid { position:absolute; inset:-20% -10%; opacity:0;
  background-image:linear-gradient(rgba(var(--sf-rgb),.16) 1px,transparent 1px),linear-gradient(90deg,rgba(var(--sf-rgb),.16) 1px,transparent 1px);
  background-size:96px 96px; mask-image:radial-gradient(ellipse at 30% 50%,black 20%,transparent 70%); }
#boot.is-on .sf-grid { animation:sf-grid-drift var(--sf-span) ease-out both; }
/* Light-wipe: a bright vertical blade sweeps left→right ahead of the photo. */
#boot .sf-wipe { position:absolute; top:-10%; bottom:-10%; left:0; width:3px; opacity:0;
  background:linear-gradient(180deg,transparent,#fff 30%,#fff 70%,transparent);
  box-shadow:0 0 30px 6px rgba(var(--sf-rgb),.75),0 0 90px 24px rgba(var(--sf-rgb),.35); }
#boot.is-on .sf-wipe { animation:sf-wipe-sweep 1.5s .35s cubic-bezier(.2,.7,.2,1) both; }
#boot.is-on.is-end .sf-wipe { animation:sf-wipe-close 1.4s .1s cubic-bezier(.3,.6,.2,1) both; }
/* Horizon line under the title block. */
#boot .sf-horizon { position:absolute; left:0; bottom:22%; width:100%; height:1px; opacity:0; transform-origin:left;
  background:linear-gradient(90deg,var(--sf-ice),rgba(var(--sf-rgb),.35) 45%,transparent 80%);
  box-shadow:0 0 18px rgba(var(--sf-rgb),.55); }
#boot.is-on .sf-horizon { animation:sf-horizon-draw 1.2s 1.7s cubic-bezier(.2,.7,.2,1) both; }
#boot.is-on.is-end .sf-horizon { left:50%; width:min(560px,60vw); bottom:auto; top:52%; transform-origin:center;
  background:linear-gradient(90deg,transparent,var(--sf-ice),transparent); transform:translateX(-50%);
  animation:sf-horizon-center 1.2s 2.4s cubic-bezier(.2,.7,.2,1) both; }
/* Corner brackets frame the whole picture like a viewfinder. */
#boot .sf-frame { position:absolute; inset:clamp(22px,4vw,64px); pointer-events:none; opacity:0; }
#boot .sf-frame i { position:absolute; width:54px; height:54px; border:1px solid rgba(var(--sf-rgb),.55); }
#boot .sf-frame i:nth-child(1) { left:0; top:0; border-right:0; border-bottom:0; }
#boot .sf-frame i:nth-child(2) { right:0; top:0; border-left:0; border-bottom:0; }
#boot .sf-frame i:nth-child(3) { left:0; bottom:0; border-right:0; border-top:0; }
#boot .sf-frame i:nth-child(4) { right:0; bottom:0; border-left:0; border-top:0; }
#boot.is-on .sf-frame { animation:sf-frame-in 1.2s .15s cubic-bezier(.2,.7,.2,1) both; }
#boot .sf-signature { position:absolute; top:clamp(28px,5vh,54px); left:clamp(40px,6vw,96px); margin:0; opacity:0;
  font:500 10px/1.5 var(--font-en); letter-spacing:.4em; color:rgba(var(--sf-rgb),.8); }
#boot.is-on .sf-signature { animation:sf-rise .9s .6s ease both; }
/* Giant translucent wordmark behind everything: the Ozaken brand element. */
#boot .sf-mark { position:absolute; left:-.04em; bottom:-.22em; margin:0; opacity:0; z-index:0;
  font:700 clamp(120px,22vw,340px)/1 var(--font-en); letter-spacing:-.04em; color:transparent;
  -webkit-text-stroke:1px rgba(var(--sf-rgb),.22); }
#boot.is-on .sf-mark { animation:sf-mark-in 2.4s 1s ease both; }
#boot.is-end .sf-mark { left:auto; right:-.03em; top:-.16em; bottom:auto; }
#boot .boot-vignette { position:absolute; inset:0; z-index:1; pointer-events:none;
  background:radial-gradient(ellipse at 50% 50%,transparent 45%,rgba(2,6,14,.55) 100%); }
/* Text block: left column on open, centred on close. Each line rises in turn. */
#boot .boot-final,#boot.is-on .boot-final { position:absolute; left:clamp(40px,6vw,96px); top:50%; z-index:2; width:min(760px,54vw);
  text-align:left; transform:translateY(-50%); opacity:1; animation:none; }
#boot .boot-final > * { opacity:0; }
#boot.is-on .boot-final > *,#boot.is-on .boot-final .bf-lead { animation:sf-rise .9s cubic-bezier(.2,.7,.2,1) both; }
#boot.is-on .boot-final .bf-mod { animation-delay:1s; }
#boot.is-on .boot-final .bf-lead { animation-delay:1.35s; animation-duration:1.1s; }
#boot.is-on .boot-final .bf-rule { animation-name:sf-rule; animation-delay:1.9s; }
#boot.is-on .boot-final .bf-name { animation-delay:2.2s; }
#boot.is-on .boot-final .bf-role { animation-delay:2.5s; }
#boot.is-on .boot-final .bf-sub { animation-delay:2.9s; }
#boot .boot-final .bf-mod { display:block; margin:0 0 clamp(16px,2.6vh,26px); color:var(--sf-ice);
  font:600 clamp(10px,1.05vw,13px)/1.5 var(--font-en); letter-spacing:.42em; }
#boot .boot-final .bf-lead { display:block; white-space:normal; gap:0;
  color:#fff; font:600 clamp(34px,4.9vw,70px)/1.32 var(--font-ja-sans); letter-spacing:.04em; text-wrap:balance;
  text-shadow:0 2px 40px rgba(0,0,0,.55),0 0 60px rgba(var(--sf-rgb),.2); }
#boot .boot-final .bf-lead::before,#boot .boot-final .bf-lead::after { display:none; }
#boot .boot-final .bf-rule { display:block; width:72px; height:2px; margin:clamp(20px,3.4vh,34px) 0 clamp(18px,3vh,30px);
  transform-origin:left; background:linear-gradient(90deg,var(--sf-ice),rgba(var(--sf-rgb),.2)); }
#boot .boot-final .bf-name { display:block; margin:0; color:#fff;
  font:600 clamp(20px,2.15vw,30px)/1.5 var(--font-ja-sans); letter-spacing:.08em; }
#boot .boot-final .bf-role { display:block; margin:6px 0 0; color:#cfe0ef; word-break:keep-all; overflow-wrap:normal;
  font:500 clamp(13px,1.25vw,17px)/1.7 var(--font-ja-sans); letter-spacing:.06em; }
#boot .boot-final .bf-sub { display:block; margin:14px 0 0; color:rgba(var(--sf-rgb),.9);
  font:500 clamp(12px,1.15vw,16px)/1.85 var(--font-ja-sans); letter-spacing:.14em; }
/* Closing layout. */
#boot.is-end .boot-final,#boot.is-on.is-end .boot-final { left:50%; width:min(1040px,86vw); text-align:center; transform:translate(-50%,-50%); top:49%; }
#boot.is-on.is-end .boot-final .bf-mod { animation-delay:.9s; }
#boot.is-on.is-end .boot-final .bf-lead { animation-name:sf-thanks; animation-duration:1.5s; animation-delay:1.1s; }
#boot.is-on.is-end .boot-final .bf-rule { animation-delay:2.4s; }
#boot.is-on.is-end .boot-final .bf-name { animation-delay:2.7s; }
#boot.is-on.is-end .boot-final .bf-role { animation-delay:3s; }
#boot.is-on.is-end .boot-final .bf-sub { animation-delay:3.4s; }
#boot.is-end .boot-final .bf-lead { font:500 clamp(64px,11vw,156px)/1.05 var(--font-en); letter-spacing:-.03em;
  text-shadow:0 4px 60px rgba(0,0,0,.6),0 0 90px rgba(var(--sf-rgb),.35); }
#boot.is-end .boot-final .bf-rule { margin-left:auto; margin-right:auto; transform-origin:center;
  background:linear-gradient(90deg,transparent,var(--sf-ice),transparent); width:120px; }
#boot.is-end .boot-final .bf-name { font-size:clamp(20px,2.3vw,32px); }
#boot.is-end .boot-final .bf-sub { display:inline-block; margin-top:18px; padding:8px 18px; border:1px solid rgba(var(--sf-rgb),.4);
  border-radius:999px; color:#fff; letter-spacing:.1em; background:rgba(3,9,19,.45); }
#boot .boot-skip { position:absolute; right:clamp(22px,3.2vw,54px); bottom:clamp(20px,3.5vh,40px);
  z-index:3; min-height:44px; padding:10px 18px; border:1px solid rgba(var(--sf-rgb),.25);
  border-radius:999px; background:#06121ecc; color:#b9c9dc; font:500 10px/1.5 var(--font-en); letter-spacing:.18em;
  cursor:pointer; transition:background 180ms ease,color 180ms ease,border-color 180ms ease; }
#boot .boot-skip:hover { background:#142739; border-color:var(--sf-ice); color:#fff; }
#boot .boot-skip:focus-visible { outline:2px solid var(--sf-ice); outline-offset:5px; }
#boot.is-paused *,#boot.is-paused *::before,#boot.is-paused *::after { animation-play-state:paused!important; }
@keyframes sf-photo-reveal { 0% { opacity:0; clip-path:polygon(0 0,0 0,0 100%,0 100%); } 30% { opacity:1; } 100% { opacity:1; clip-path:polygon(0 0,100% 0,100% 100%,0 100%); } }
@keyframes sf-photo-fade { from { opacity:0; clip-path:polygon(0 0,100% 0,100% 100%,0 100%); } to { opacity:1; clip-path:polygon(0 0,100% 0,100% 100%,0 100%); } }
@keyframes sf-kenburns { from { transform:scale(1.08) translate(1.5%,1%); } to { transform:scale(1) translate(0,0); } }
@keyframes sf-kenburns-out { from { transform:scale(1.06) translate(0,0); } to { transform:scale(1.16) translate(0,1.5%); } }
@keyframes sf-grid-drift { 0% { opacity:0; transform:translate(-60px,20px); } 25% { opacity:.55; } 70%,100% { opacity:.18; transform:translate(0,0); } }
@keyframes sf-wipe-sweep { 0% { opacity:0; transform:translateX(34vw) scaleY(.4); } 15% { opacity:1; transform:translateX(34vw) scaleY(1); } 85% { opacity:.9; } 100% { opacity:0; transform:translateX(100vw) scaleY(1); } }
@keyframes sf-wipe-close { 0% { opacity:0; transform:translateX(100vw); } 15% { opacity:1; } 100% { opacity:0; transform:translateX(-10px); } }
@keyframes sf-horizon-draw { from { opacity:0; transform:scaleX(0); } 40% { opacity:.9; } to { opacity:.55; transform:scaleX(1); } }
@keyframes sf-horizon-center { from { opacity:0; transform:translateX(-50%) scaleX(0); } 40% { opacity:.9; } to { opacity:.6; transform:translateX(-50%) scaleX(1); } }
@keyframes sf-frame-in { from { opacity:0; transform:scale(1.03); } to { opacity:.9; transform:scale(1); } }
@keyframes sf-mark-in { from { opacity:0; transform:translateX(-30px); } to { opacity:1; transform:translateX(0); } }
@keyframes sf-rise { from { opacity:0; transform:translateY(22px); filter:blur(6px); } to { opacity:1; transform:translateY(0); filter:blur(0); } }
@keyframes sf-rule { from { opacity:0; transform:scaleX(0); } to { opacity:1; transform:scaleX(1); } }
@keyframes sf-thanks { 0% { opacity:0; transform:translateY(28px) scale(.94); letter-spacing:.08em; filter:blur(10px); } 60% { opacity:1; filter:blur(0); } 100% { opacity:1; transform:translateY(0) scale(1); letter-spacing:-.03em; } }
/* Reduced motion: a still photograph with the words already in place. */
#boot.is-reduced { transition:none; }
#boot.is-reduced .sf-scene *,#boot.is-reduced .boot-final > * { animation:none!important; }
#boot.is-reduced .sf-photo { opacity:1; clip-path:none; }
#boot.is-reduced .sf-grid,#boot.is-reduced .sf-wipe,#boot.is-reduced .sf-horizon { display:none; }
#boot.is-reduced .sf-frame,#boot.is-reduced .sf-signature { opacity:.9; }
#boot.is-reduced .sf-mark { opacity:1; }
#boot.is-reduced .boot-final > * { opacity:1; transform:none; }
@media(max-width:700px) {
  #boot { --sf-pos:62% 20%; }
  #boot.is-end { --sf-pos:50% 55%; }
  #boot .sf-photo { width:100%; top:0; bottom:38%; mask-image:linear-gradient(180deg,black 55%,transparent 100%); }
  #boot.is-end .sf-photo { bottom:0; mask-image:none; }
  #boot .sf-shade { background:linear-gradient(180deg,rgba(3,9,19,.25) 0,transparent 25%,rgba(3,9,19,.7) 52%,rgba(3,9,19,.97) 68%); }
  #boot.is-end .sf-shade { background:linear-gradient(180deg,rgba(3,9,19,.7) 0,rgba(3,9,19,.45) 35%,rgba(3,9,19,.95) 100%); }
  #boot .sf-frame i { width:28px; height:28px; }
  #boot .sf-signature { font-size:8px; letter-spacing:.28em; left:24px; }
  #boot .sf-mark { font-size:34vw; bottom:-.2em; left:-.03em; }
  #boot .sf-horizon { display:none; }
  #boot .boot-final,#boot.is-on .boot-final { left:24px; width:calc(100% - 48px); top:auto; bottom:calc(20px + 60px); transform:none; }
  #boot .boot-final .bf-mod { letter-spacing:.3em; margin-bottom:14px; }
  #boot .boot-final .bf-lead { font-size:clamp(28px,8vw,44px); line-height:1.4; }
  #boot .boot-final .bf-rule { margin:18px 0 16px; width:56px; }
  #boot .boot-final .bf-name { font-size:20px; }
  #boot .boot-final .bf-role { font-size:13px; }
  #boot .boot-final .bf-sub { font-size:12px; margin-top:10px; letter-spacing:.08em; }
  #boot.is-end .boot-final,#boot.is-on.is-end .boot-final { left:24px; width:calc(100% - 48px); top:auto; bottom:calc(20px + 64px); transform:none; text-align:center; }
  #boot.is-end .boot-final .bf-lead { font-size:clamp(56px,17vw,92px); line-height:1.05; }
  #boot.is-end .boot-final .bf-name { font-size:19px; }
  #boot.is-end .boot-final .bf-role { font-size:12px; letter-spacing:.03em; }
  #boot.is-end .boot-final .bf-sub { font-size:12px; padding:7px 14px; }
}
@media(max-height:570px) and (min-width:701px) {
  #boot .boot-final,#boot.is-on .boot-final { top:50%; width:min(680px,58vw); }
  #boot .boot-final .bf-mod { margin-bottom:10px; font-size:10px; }
  #boot .boot-final .bf-lead { font-size:clamp(24px,6.5vh,40px); line-height:1.3; }
  #boot .boot-final .bf-rule { margin:12px 0 10px; }
  #boot .boot-final .bf-name { font-size:17px; }
  #boot .boot-final .bf-role { font-size:12px; margin-top:2px; }
  #boot .boot-final .bf-sub { margin-top:8px; font-size:11px; }
  #boot.is-end .boot-final .bf-lead { font-size:clamp(46px,14vh,80px); }
  #boot .sf-signature { top:18px; }
  #boot .sf-horizon { display:none; }
  #boot .boot-skip { bottom:14px; padding:8px 14px; }
}
#standby,#thanks { background:radial-gradient(ellipse at 50% 36%,#152c42 0,#081221 50%,#030810 100%); }
#thanks { background:radial-gradient(ellipse at 50% 36%,#28263d 0,#0d1426 50%,#030810 100%); }
#standby::before,#thanks::before { opacity:.13; animation-duration:24s; }
#standby::after,#thanks::after { opacity:.12; }
#standby .thanks-net,#thanks .thanks-net { opacity:.33; }
.sf-stagehalo { position:absolute; width:min(84vw,1000px); aspect-ratio:1; left:50%; top:50%; transform:translate(-50%,-50%); pointer-events:none; opacity:.42; }
.sf-stagehalo i { position:absolute; inset:0; border:1px solid #9ce4f040; border-radius:50%; }
.sf-stagehalo i:nth-child(1) { border-top-color:#9ce4f0; }
.sf-stagehalo i:nth-child(2) { inset:8%; border-bottom-color:#9ce4f0; }
.sf-stagehalo i:nth-child(3) { inset:16%; border-style:dashed; opacity:.35; }
.thanks.show .sf-stagehalo i { animation:sf-idle-orbit 32s linear infinite; }
.thanks.show .sf-stagehalo i:nth-child(2) { animation-direction:reverse; animation-duration:44s; }
@keyframes sf-idle-orbit { from { transform:perspective(1100px) rotateX(62deg) rotateZ(0); } to { transform:perspective(1100px) rotateX(62deg) rotateZ(360deg); } }
#standby .thanks-inner,#thanks .thanks-inner { position:relative; z-index:1; padding:30px 0; }
#standby .thanks-eyebrow,#thanks .thanks-eyebrow { color:#a7e3ee; font-size:clamp(11px,1.5vw,15px); letter-spacing:.38em; }
#standby .thanks-title,#thanks .thanks-title { font-size:clamp(30px,5.6vw,68px); font-weight:500; line-height:1.55; letter-spacing:.04em; text-shadow:0 0 70px #73d7ed26; }
#standby .thanks-qr,#thanks .thanks-qr { margin-top:28px; gap:30px; }
#standby .qr-card,#thanks .qr-card { background:#fff; border:0; border-radius:2px; padding:16px; width:clamp(150px,27vh,232px); box-shadow:0 0 0 10px #8bc6e00c,0 0 60px #72cce929; }
#standby .qr-card::before,#thanks .qr-card::before { display:none; }
#standby.show .qr-card,#thanks.show .qr-card { animation:none; clip-path:none; transform:none; opacity:1; }
#standby.show .qr-card::after,#thanks.show .qr-card::after { display:none; }
#standby .qr-lead,#thanks .qr-lead { font-size:clamp(17px,2.2vw,24px); }
#standby .qr-url,#thanks .qr-url { color:#cee4f1; font-size:clamp(13px,1.6vw,18px); }
#standby .thanks-sub,#thanks .thanks-sub { color:#c5d5e7; }
#standby.show .thanks-inner,#thanks.show .thanks-inner { animation:sf-standby-in 1.25s cubic-bezier(.16,.7,.2,1) both; }
@keyframes sf-standby-in { from { opacity:0; transform:translateY(22px); filter:blur(5px); } to { opacity:1; transform:none; filter:blur(0); } }
@media(max-width:700px) {
  #standby .thanks-inner,#thanks .thanks-inner { padding:48px 0; }
  #standby .thanks-title,#thanks .thanks-title { font-size:clamp(27px,7vw,42px); }
  #standby .thanks-qr,#thanks .thanks-qr { gap:20px; margin-top:22px; }
}
@media(max-height:570px) and (min-width:701px) {
  #standby .thanks-title,#thanks .thanks-title { font-size:32px; }
  #standby .thanks-inner,#thanks .thanks-inner { padding:25px 0; }
  #standby .thanks-qr,#thanks .thanks-qr { margin-top:12px; }
}
@media(prefers-reduced-motion:reduce) {
  #standby .thanks-inner,#thanks .thanks-inner { opacity:1; transform:none; filter:none; }
}
/* Keep the full standby / QR composition inside a projector frame. */
#standby,#thanks { padding:clamp(20px,4vh,40px); }
#standby .thanks-inner,#thanks .thanks-inner { padding:0; width:100%; max-width:1040px; min-width:0; }
#standby .thanks-eyebrow,#thanks .thanks-eyebrow { margin-bottom:14px; }
#standby .thanks-title,#thanks .thanks-title { font-size:clamp(28px,6.7vh,60px); line-height:1.5; margin-bottom:16px; }
#standby .thanks-qr,#thanks .thanks-qr { margin:18px auto 16px; padding:18px; border-radius:4px; }
#standby .sb-ticker { margin-top:8px; min-height:58px; }
#standby .sb-item { font-size:clamp(14px,2.1vh,20px); line-height:1.6; }
#standby .thanks-sub,#thanks .thanks-sub { font-size:clamp(13px,2.2vh,18px); }
@media(max-width:700px) {
  #standby .thanks-title,#thanks .thanks-title { font-size:clamp(26px,6.6vw,38px); line-height:1.5; }
  #standby .sb-ticker { display:none; }
  #standby .qr-card,#thanks .qr-card { width:clamp(150px,22vh,194px); padding:12px; }
  #standby .qr-lead,#thanks .qr-lead { font-size:16px; }
  #standby .thanks-qr,#thanks .thanks-qr { max-width:100%; }
  #standby .qr-meta,#thanks .qr-meta { min-width:0; }
  #standby .tk-hud b,#thanks .tk-hud b { display:none; }
}

/* The end cue resolves into a quiet archive QR composition. */
#thanks { background:radial-gradient(ellipse at 50% 36%,#172943 0,#101a30 50%,#0b1224 100%); }
#thanks::before,#thanks::after,#thanks .tk-hud,#thanks .sf-stagehalo,#thanks .thanks-net { display:none; }
#thanks.show { animation:sf-message-in .65s ease both; }
#thanks.show .thanks-inner,#thanks.show .thanks-title,#thanks.show .thanks-sub,#thanks.show .thanks-qr { animation:none; filter:none; transform:none; opacity:1; }
#thanks .thanks-title { text-shadow:none; }
#thanks .thanks-title .ex { color:inherit; }
#thanks .thanks-qr { border-radius:28px; border-color:rgba(216,228,240,.15); background:rgba(216,228,240,.035); backdrop-filter:none; }
#thanks .qr-card { border-radius:18px; box-shadow:0 16px 48px rgba(0,0,0,.13); }
#thanks .thanks-eyebrow { color:#d8e4f0; }
@media(prefers-reduced-motion:reduce) {
  #boot,#boot *,#thanks { animation:none!important; transition:none!important; }
  #boot .sf-nexus,#boot .sf-horizon { display:none; }
  #boot .boot-final { opacity:1; }
}
@media print { #boot { display:none!important; } }
