:root{
  --night:#0b1830;
  --ice:#eef3f8;
  --blue:#1d3a73;
  --orange:#f26a21;
  --steel:#9fb0c8;
  --ink:#0f172a;
  --display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --body:"Instrument Sans",system-ui,sans-serif;
  --gutter:clamp(20px,5vw,72px);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--night);color:var(--ice);font:400 1.0625rem/1.6 var(--body);-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.wrap{padding-inline:var(--gutter);max-width:1240px;margin-inline:auto}

h1,h2{font-family:var(--display);font-weight:800;line-height:.92;letter-spacing:.005em;text-transform:uppercase;margin:0}
h2{font-size:clamp(2rem,5vw,3.75rem)}

/* buttons */
.btn{display:inline-block;background:var(--orange);color:#fff;font:600 1rem/1 var(--body);padding:1.05rem 1.7rem;border:0;border-radius:2px;text-decoration:none;cursor:pointer;transition:background .15s,transform .15s}
.btn:hover{background:#ff7a33}
.btn:active{transform:translateY(1px)}
.btn-sm{padding:.7rem 1.1rem;font-size:.9rem}
.btn-ghost{background:transparent;border:2px solid var(--ice)}
.btn-ghost:hover{background:var(--ice);color:var(--night)}
.link{font-weight:500;text-decoration:underline;text-underline-offset:5px;text-decoration-color:var(--orange)}

/* header */
.bar{position:fixed;inset:0 0 auto 0;z-index:20;display:flex;justify-content:space-between;align-items:center;padding:14px var(--gutter);background:linear-gradient(rgba(11,24,48,.85),rgba(11,24,48,0))}
.wordmark{font:800 1.5rem/1 var(--display);text-transform:uppercase;text-decoration:none;letter-spacing:.02em}
.wordmark span{color:var(--orange)}
.bar nav{display:flex;align-items:center;gap:1.6rem;font-weight:500;font-size:.95rem}
.bar nav a:not(.btn){text-decoration:none;opacity:.85}
.bar nav a:not(.btn):hover{opacity:1}

/* hero */
.hero{position:relative;min-height:100svh;display:flex;align-items:flex-end;overflow:hidden}
.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 30%}
.hero-shade{position:absolute;inset:0;background:
  linear-gradient(180deg,rgba(11,24,48,.55) 0%,rgba(11,24,48,.35) 35%,rgba(11,24,48,.92) 100%),
  linear-gradient(90deg,rgba(11,24,48,.6),rgba(11,24,48,0) 70%)}
.hero-inner{position:relative;padding:140px var(--gutter) clamp(32px,6vw,72px);width:100%;max-width:1240px;margin-inline:auto}
.hero h1{font-size:clamp(4.2rem,17vw,13.5rem);font-weight:900;line-height:.82;margin-left:-.04em}
.hero h1 span{color:var(--orange)}
.hero-sub{font:700 clamp(1.3rem,3vw,2rem)/1.1 var(--display);text-transform:uppercase;letter-spacing:.04em;margin:1rem 0 2rem;color:var(--ice)}
.hero-cta{display:flex;align-items:center;gap:1.6rem;flex-wrap:wrap;margin-top:2rem}

/* scoreboard */
.board{display:inline-block;background:rgba(5,12,26,.82);border:1px solid rgba(255,255,255,.18);border-top:4px solid var(--orange);padding:1rem 1.4rem 1.1rem;backdrop-filter:blur(6px);max-width:100%}
.board-head,.board-foot{font:600 .85rem/1.3 var(--body);letter-spacing:.04em;color:var(--steel)}
.board-clock{display:flex;gap:clamp(.8rem,3vw,1.8rem);margin:.5rem 0 .4rem}
.board-clock div{text-align:center}
.board-clock b{display:block;font:900 clamp(3rem,9vw,6rem)/.95 var(--display);font-variant-numeric:tabular-nums;color:var(--ice);min-width:2ch}
.board-clock small{font:600 .75rem/1 var(--body);letter-spacing:.08em;text-transform:uppercase;color:var(--orange)}
.board.live .board-clock{display:block}
.board.live b{font-size:clamp(2.4rem,7vw,4.5rem)}

/* pitch */
.pitch{padding-block:clamp(72px,12vw,150px)}
.pitch h2{max-width:20ch;font-size:clamp(2.2rem,5.6vw,4.6rem)}
.pitch-cols{display:grid;grid-template-columns:1fr 1fr;gap:clamp(24px,5vw,72px);margin-top:3rem;max-width:62rem;color:#cfd9e8}
.pitch-cols p{margin:0}


/* details */
.details{display:grid;grid-template-columns:minmax(220px,380px) 1fr;gap:clamp(32px,7vw,100px);align-items:center;padding-block:clamp(72px,11vw,140px)}
.poster img{width:100%;height:auto;box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}
.facts h2{margin-bottom:2rem}
dl{margin:0 0 2.2rem;display:grid;gap:0}
dl div{display:grid;grid-template-columns:7rem 1fr;gap:1rem;padding:1rem 0;border-top:1px solid rgba(255,255,255,.16)}
dl div:last-child{border-bottom:1px solid rgba(255,255,255,.16)}
dt{font:700 1.15rem/1.2 var(--display);text-transform:uppercase;letter-spacing:.05em;color:var(--orange);padding-top:.2rem}
dd{margin:0;font-size:1.15rem}
dd a{color:var(--steel)}

/* sponsors */
.sponsors{background:var(--blue);padding-block:clamp(64px,9vw,110px)}
.sponsor-list{list-style:none;margin:2rem 0 3rem;padding:0;display:flex;flex-direction:column}
.sponsor-list li{font:800 clamp(2rem,6.5vw,5rem)/1.05 var(--display);text-transform:uppercase;padding:.35rem 0;border-top:1px solid rgba(255,255,255,.22)}
.sponsor-list li:last-child{border-bottom:1px solid rgba(255,255,255,.22)}
.sponsor-cta{display:flex;align-items:center;justify-content:space-between;gap:2rem;flex-wrap:wrap}
.sponsor-cta p{margin:0;max-width:42ch;color:#d5e0f2}

/* signup */
.signup{padding-block:clamp(72px,11vw,140px);background:
  radial-gradient(900px 400px at 85% 0%,rgba(242,106,33,.16),transparent 70%),var(--night)}
.signup-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:clamp(32px,7vw,100px);align-items:start}
.signup-copy h2{font-size:clamp(3rem,8vw,6.5rem);margin-bottom:1.5rem}
.signup-copy p{max-width:34ch;color:#cfd9e8}
.fine{font-size:.85rem;color:var(--steel)}
.form{display:grid;gap:1.1rem;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.14);padding:clamp(20px,4vw,40px)}
.form label{display:grid;gap:.4rem;font-weight:500;font-size:.95rem}
.form input:not([type=radio]){font:inherit;color:var(--ink);background:var(--ice);border:2px solid transparent;border-radius:2px;padding:.8rem .9rem;width:100%}
.form input:not([type=radio]):focus{border-color:var(--orange);outline:0}
.form input[aria-invalid=true]{border-color:#ff6b6b}
.row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
fieldset{border:0;margin:0;padding:0}
legend{font-weight:500;font-size:.95rem;margin-bottom:.5rem;padding:0}
.seg{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.seg input{position:absolute;opacity:0;pointer-events:none}
.seg label{display:block;text-align:center;padding:.8rem .4rem;border:2px solid rgba(255,255,255,.28);cursor:pointer;font-weight:600;font-size:.92rem;transition:background .15s,border-color .15s}
.seg input:checked+label{background:var(--orange);border-color:var(--orange);color:#fff}
.seg input:focus-visible+label{outline:3px solid var(--ice);outline-offset:2px}
.hp{position:absolute;left:-9999px;opacity:0}
.status{min-height:1.4em;margin:0;font-weight:600}
.status.err{color:#ff9d9d}
.status.ok{color:#8ff0b3}
.form.done .btn{display:none}

/* footer */
.foot{display:flex;justify-content:space-between;padding:28px var(--gutter);border-top:1px solid rgba(255,255,255,.12);font-size:.9rem;color:var(--steel)}


@media (max-width:820px){
  .pitch-cols,.details,.signup-grid{grid-template-columns:1fr}
  .poster{max-width:300px}
  .bar nav a:not(.btn){display:none}
  dl div{grid-template-columns:5.5rem 1fr}
  .row{grid-template-columns:1fr}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *{transition:none!important}
}

/* ---------- Sponsor page ---------- */
.bar-solid{background:rgba(11,24,48,.92);backdrop-filter:blur(8px)}
.sp-hero{padding-top:clamp(120px,16vw,200px);padding-bottom:clamp(48px,8vw,96px)}
.sp-hero h1{font-size:clamp(3.6rem,12vw,9.5rem);font-weight:900;line-height:.84;margin-left:-.03em}
.sp-lede{max-width:46ch;font-size:clamp(1.1rem,2vw,1.35rem);color:#cfd9e8;margin:2rem 0 2.5rem}
.sp-meta{display:flex;flex-wrap:wrap;gap:clamp(20px,5vw,64px);border-top:4px solid var(--orange);padding-top:1.2rem;max-width:52rem}
.sp-meta div{display:grid;gap:.15rem}
.sp-meta b{font:800 clamp(1.6rem,3.4vw,2.4rem)/1 var(--display);text-transform:uppercase;letter-spacing:.02em}
.sp-meta span{color:var(--steel);font-size:.95rem}

.sp-why{padding-block:clamp(48px,8vw,96px)}
.sp-why h2{margin-bottom:2rem}
.sp-why-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,4vw,56px)}
.sp-why-cols p{margin:0;color:#cfd9e8}
.sp-why-cols b{display:block;font:800 1.6rem/1 var(--display);text-transform:uppercase;color:var(--ice);margin-bottom:.5rem}

.packages{background:var(--ice);color:var(--ink);padding-block:clamp(64px,10vw,120px)}
.packages h2{color:var(--night);margin-bottom:2.5rem}
.tiers{list-style:none;margin:0;padding:0;display:grid;gap:0}
.tier{display:grid;grid-template-columns:minmax(170px,300px) 1fr auto;gap:clamp(20px,4vw,56px);align-items:center;padding:clamp(24px,4vw,40px) 0;border-top:2px solid var(--night)}
.tier:last-child{border-bottom:2px solid var(--night)}
.tier-price{font:900 clamp(3.6rem,8vw,6.2rem)/.85 var(--display);color:var(--night);font-variant-numeric:tabular-nums}
.tier-price span{font-size:.4em;vertical-align:top;margin-right:.08em;color:var(--orange)}
.tier-mid .tier-price{color:var(--orange)}
.tier-mid .tier-price span{color:var(--night)}
.tier h3{font:800 clamp(1.8rem,3.4vw,2.6rem)/1 var(--display);text-transform:uppercase;margin:0 0 .4rem;color:var(--night)}
.tier-for{margin:0 0 1rem;color:#43526b;max-width:44ch}
.tier ul{margin:0;padding-left:1.1rem;display:grid;gap:.3rem}
.tier li::marker{color:var(--orange)}
.packages .btn-ghost{border-color:var(--night);color:var(--night)}
.packages .btn-ghost:hover{background:var(--night);color:var(--ice)}
.sp-note{margin:1.6rem 0 0;color:#43526b}

.sp-now{padding-block:clamp(48px,8vw,96px)}
.sp-now h2{margin-bottom:1.4rem}
.sp-now-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem 2.2rem}
.sp-now-list li{font:800 clamp(1.5rem,3.6vw,2.6rem)/1.1 var(--display);text-transform:uppercase;color:var(--steel)}

textarea{font:inherit;color:var(--ink);background:var(--ice);border:2px solid transparent;border-radius:2px;padding:.8rem .9rem;width:100%;resize:vertical}
textarea:focus{border-color:var(--orange);outline:0}
.seg-4{grid-template-columns:repeat(4,1fr)}
.seg-4 label{font-size:.85rem;line-height:1.25}

@media (max-width:820px){
  .sp-why-cols{grid-template-columns:1fr}
  .tier{grid-template-columns:1fr;gap:1rem}
  .tier .btn{justify-self:start}
  .seg-4{grid-template-columns:1fr 1fr}
}

/* ---------- Big CTA ---------- */
.btn-xl{font-size:clamp(1.4rem,3vw,2rem);padding:1.65rem 3.4rem;font-weight:800;letter-spacing:.02em;text-transform:uppercase;box-shadow:0 14px 40px -10px rgba(242,106,33,.8)}
.btn-block{display:block;width:100%;text-align:center}
.hero-note{margin:1rem 0 0;color:var(--steel);font-size:.95rem}
.form .btn-xl{padding:1.3rem 1.5rem}
.btn[disabled]{background:#5b6b85;box-shadow:none;cursor:wait}

.cta-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(rgba(11,24,48,0),rgba(11,24,48,.96) 40%);transform:translateY(110%);transition:transform .25s ease;display:none}
.cta-bar .btn{padding:1.3rem 1rem;font-size:1.35rem}
@media (max-width:820px){
  .cta-bar{display:block}
  .cta-bar.show{transform:none}
  body{padding-bottom:0}
}

.pay-soon{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 1rem;border:2px dashed rgba(255,255,255,.28);color:var(--steel);background:rgba(255,255,255,.03)}
.pay-soon b{font:800 1.15rem/1 var(--display);text-transform:uppercase;letter-spacing:.05em;color:var(--ice)}
.pay-soon span{font-size:.92rem;text-align:right}

/* ---------- Albums ---------- */
.albums{background:var(--ice);color:var(--ink);padding-block:clamp(64px,10vw,120px)}
.albums-head{display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;flex-wrap:wrap;margin-bottom:3rem}
.albums-head h2{color:var(--night)}
.albums-head p{max-width:30ch;margin:0;color:#43526b}
.album-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(28px,5vw,64px)}
.album-card{display:block;text-decoration:none;color:inherit}
.album-stack{position:relative;aspect-ratio:3/2;margin:0 10px 22px 0}
.album-stack::before,.album-stack::after{content:"";position:absolute;inset:0;background:#fff;border:1px solid #c7d2e3;box-shadow:0 2px 6px rgba(15,23,42,.12);transition:transform .25s ease}
.album-stack::before{transform:translate(10px,10px) rotate(1.4deg)}
.album-stack::after{transform:translate(5px,5px) rotate(-1deg)}
.album-stack img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;object-position:center 22%;border:6px solid #fff;box-shadow:0 12px 28px -12px rgba(15,23,42,.5);transition:transform .25s ease}
.album-card:hover .album-stack img{transform:translate(-3px,-3px)}
.album-card:hover .album-stack::before{transform:translate(14px,14px) rotate(2.2deg)}
.album-card:hover .album-stack::after{transform:translate(7px,7px) rotate(-1.6deg)}
.album-info h3{font:800 clamp(1.7rem,3.2vw,2.4rem)/1 var(--display);text-transform:uppercase;margin:0 0 .35rem;color:var(--night)}
.album-sub{margin:0;color:#43526b}
.album-open{margin:.7rem 0 0;font-weight:600;color:var(--night);text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:5px;text-decoration-thickness:2px}

/* ---------- Photos page ---------- */
.photos-page .bar nav a[aria-current]{opacity:1;text-decoration:underline;text-decoration-color:var(--orange);text-underline-offset:6px}
.ph-main{padding-top:clamp(110px,14vw,170px);padding-bottom:clamp(48px,8vw,100px)}
.ph-title{font-size:clamp(3rem,9vw,7rem);font-weight:900;line-height:.85}
.ph-sub{max-width:44ch;color:#cfd9e8;margin:1.4rem 0 3rem;font-size:1.15rem}
.ph-meta{margin:1rem 0 2rem;color:var(--steel)}
.photos-page .album-cards{margin-bottom:clamp(48px,8vw,96px)}
.photos-page .album-info h3{color:var(--ice)}
.photos-page .album-sub{color:var(--steel)}
.photos-page .album-open{color:var(--ice)}
.photos-page .album-stack::before,.photos-page .album-stack::after{background:#1b2c4d;border-color:#2d4272;box-shadow:none}
.back{display:inline-block;margin-bottom:1.4rem;color:var(--steel);font-weight:500;text-underline-offset:5px}
.back::before{content:"\2190\00a0"}
.back:hover{color:var(--ice)}
.contact{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-bottom:clamp(48px,8vw,96px)}
.contact button{position:relative;display:block;padding:0;border:0;background:#13244a;cursor:zoom-in;overflow:hidden;aspect-ratio:var(--thumb-ar,4/3)}
.contact img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,opacity .2s}
.contact button:hover img{transform:scale(1.05)}
.contact span{position:absolute;left:8px;bottom:6px;font:700 .95rem/1 var(--display);letter-spacing:.06em;color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.8)}
.ph-cta{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;flex-wrap:wrap;border-top:4px solid var(--orange);padding-top:2rem}
.ph-cta h2{font-size:clamp(1.8rem,4vw,3rem);margin-bottom:.4rem}
.ph-cta p{margin:0;color:#cfd9e8}
[hidden]{display:none!important}

/* ---------- Lightbox ---------- */
#lightbox{border:0;padding:0;background:#050b17;color:#fff;max-width:100vw;max-height:100vh;width:100vw;height:100vh}
#lightbox::backdrop{background:#050b17}
#lightbox[open]{display:flex;flex-direction:column}
.lb-top{display:flex;align-items:center;gap:.8rem;padding:10px 14px}
.lb-count{font:800 1.3rem/1 var(--display);letter-spacing:.06em;min-width:4.5ch}
.lb-title{flex:1;color:var(--steel);font-size:.92rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lb-btn{background:rgba(255,255,255,.1);color:#fff;border:0;border-radius:2px;font:600 .9rem/1 var(--body);padding:.65rem .9rem;cursor:pointer}
.lb-btn:hover{background:rgba(255,255,255,.2)}
.lb-x{font-size:1.6rem;line-height:.8;padding:.45rem .8rem}
.lb-stage{position:relative;flex:1;min-height:0;display:grid;place-items:center;padding:0 56px}
#lb-img{max-width:100%;max-height:100%;object-fit:contain}
.lb-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:0;color:#fff;font-size:2.4rem;line-height:1;width:48px;height:72px;cursor:pointer;border-radius:2px}
.lb-nav:hover{background:rgba(242,106,33,.8)}
.lb-prev{left:4px}.lb-next{right:4px}
.lb-strip{display:flex;gap:6px;overflow-x:auto;padding:10px 14px calc(10px + env(safe-area-inset-bottom));scrollbar-width:thin}
.lb-strip button{flex:0 0 auto;width:72px;height:54px;padding:0;border:2px solid transparent;background:#13244a;cursor:pointer;opacity:.55;overflow:hidden}
.lb-strip button.on{border-color:var(--orange);opacity:1}
.lb-strip button:hover{opacity:1}
.lb-strip img{width:100%;height:100%;object-fit:cover}

@media (max-width:820px){
  .album-cards{grid-template-columns:1fr}
  .lb-stage{padding:0}
  .lb-nav{width:40px;height:56px;font-size:2rem}
  .contact{grid-template-columns:repeat(2,1fr)}
  .pay-soon{flex-direction:column;align-items:flex-start}
  .pay-soon span{text-align:left}
}

/* ---------- Register block (replaces forms) ---------- */
.register-inner{display:grid;justify-items:start;gap:1.4rem;max-width:44rem}
.register-inner h2{font-size:clamp(3rem,9vw,7rem)}
.register-inner p{margin:0;color:#cfd9e8;font-size:1.15rem;max-width:40ch}
.register-inner .fine{font-size:.9rem;color:var(--steel)}

/* ---------- Cause band ---------- */
.cause{background:var(--ice);color:var(--ink);padding-block:clamp(40px,6vw,72px)}
.cause-inner{display:grid;grid-template-columns:minmax(220px,360px) 1fr;gap:clamp(24px,5vw,72px);align-items:center}
.cause-logo{width:100%;height:auto;max-width:360px}
.cause h2{color:var(--night);font-size:clamp(2rem,4.6vw,3.6rem);margin-bottom:.8rem}
.cause p{margin:0;font-size:1.2rem;max-width:34ch;color:#2c3b57}

/* ---------- Sponsor logos ---------- */
.sponsor-logos{list-style:none;margin:2rem 0 1.2rem;padding:0;display:flex;flex-wrap:wrap;gap:clamp(12px,3vw,28px)}
.sponsor-logos li{background:#fff;padding:clamp(14px,2.4vw,24px) clamp(18px,3vw,36px);border-radius:2px;display:grid;place-items:center}
.sponsor-logos img{height:clamp(72px,11vw,112px);width:auto}
.sponsor-past{margin:0 0 3rem;color:var(--steel);font-size:.95rem}
.sp-now .sponsor-logos{margin-top:1.4rem}
.sp-now .sponsor-past{margin-bottom:0}
@media (max-width:820px){.cause-inner{grid-template-columns:1fr}.cause-logo{max-width:280px}}

.contact button.wide{grid-column:span 2;aspect-ratio:auto;min-height:0}
@media (max-width:820px){.contact button.wide{aspect-ratio:3/2}}
.foot-links{display:flex;gap:1.4rem;flex-wrap:wrap;justify-content:flex-end}
.foot a{color:inherit}
.sp-note a{color:inherit;text-decoration:underline}

/* share page */
.sh-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,5vw,64px);align-items:start}
.sh-form fieldset{border:0;padding:0;margin:0 0 1.6rem}
.sh-form legend{font:700 1.15rem/1.2 var(--display);text-transform:uppercase;letter-spacing:.05em;color:var(--orange);margin-bottom:.7rem;padding:0}
.sh-seg{display:flex;flex-wrap:wrap;gap:.5rem}
.sh-seg label{cursor:pointer}
.sh-seg input{position:absolute;opacity:0;pointer-events:none}
.sh-seg span{display:inline-block;padding:.7rem 1.1rem;border:2px solid #2d4272;border-radius:2px;font-weight:500;font-size:.95rem}
.sh-seg input:checked + span{background:var(--ice);color:var(--night);border-color:var(--ice)}
.sh-seg input:focus-visible + span{outline:3px solid var(--orange);outline-offset:2px}
.sh-f{display:block;font-size:.9rem;color:var(--steel);margin-bottom:.9rem}
.sh-f input[type=text],.sh-f textarea{display:block;width:100%;margin-top:.35rem;padding:.8rem .9rem;background:#13244a;border:1px solid #2d4272;border-radius:2px;color:var(--ice);font:400 1rem/1.4 var(--body)}
.sh-f textarea{resize:vertical}
.sh-f input[type=file]{display:block;margin-top:.4rem;color:var(--ice);font:inherit;font-size:.9rem}
.sh-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.sh-hint{margin:0;font-size:.85rem;color:var(--steel)}
.sh-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:.4rem}
.sh-status{min-height:1.4em;margin:.9rem 0 0;color:var(--ice);font-weight:500}
.sh-steps{margin:.6rem 0 0;padding-left:1.2rem;color:var(--steel);font-size:.9rem}
.sh-preview{position:sticky;top:96px}
.sh-preview canvas{display:block;width:100%;height:auto;aspect-ratio:1/1;box-shadow:0 30px 60px -20px rgba(0,0,0,.7)}
[hidden]{display:none !important}
@media (max-width:860px){.sh-grid{grid-template-columns:1fr}.sh-preview{position:static;order:-1}}
@media (max-width:520px){.btn-xl{padding:1.4rem 1.6rem}}
