body:has(.up-page) .shopify-section-group-header-group{display:none!important}
.up-page{--up-navy:#111a43;--up-red:#ef003c;--up-cream:#f4f0e6;--up-accent:#ef003c;color:var(--up-navy);background:#fff}
.up-page *{box-sizing:border-box}
.up-layout{min-height:calc(100vh - 145px);display:grid;grid-template-columns:55% 45%}
.up-visual{position:relative;min-height:820px;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:100px 4vw 55px;background:#151a36}
.up-visual:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,color-mix(in srgb,var(--up-accent) 38%,transparent),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.04),transparent 48%);pointer-events:none}
.up-brand{position:absolute;z-index:2;top:28px;left:32px;color:#fff;text-decoration:none;text-transform:uppercase}
.up-brand strong,.up-brand span{display:block}
.up-brand strong{color:var(--up-accent);font:950 clamp(30px,3vw,48px)/.9 Arial,sans-serif;letter-spacing:-.05em}
.up-brand span{margin-top:9px;font-size:10px;font-weight:900;letter-spacing:.2em}
.up-photo{position:relative;z-index:1;width:min(86%,620px);aspect-ratio:5/6;overflow:hidden;border:1px solid rgba(255,255,255,.18);background:#fff;box-shadow:0 30px 75px rgba(0,0,0,.35)}
.up-photo__shirt{display:block;width:100%;height:100%;object-fit:contain;transition:opacity .22s ease}
.up-photo__shirt.is-changing{opacity:.45}
.up-photo__design{position:absolute;z-index:2;top:30.5%;left:50%;width:34%;height:auto;transform:translateX(-50%);pointer-events:none;filter:drop-shadow(0 1px 1px rgba(0,0,0,.1))}
.up-caption{position:absolute;z-index:2;right:22px;bottom:18px;margin:0;padding:9px 15px;border-radius:999px;background:rgba(255,255,255,.94);color:var(--up-navy);font-size:10px;font-weight:900;letter-spacing:.06em;text-transform:uppercase}
.up-panel{display:flex;align-items:center;padding:55px clamp(32px,6vw,95px)}
.up-panel__inner{width:100%;max-width:680px;margin:auto}
.up-back{display:inline-block;margin-bottom:42px;color:var(--up-navy);font-size:12px;font-weight:900;text-decoration:none}
.up-back:hover{color:var(--up-accent)}
.up-eyebrow{margin:0 0 16px;color:var(--up-accent);font-size:10px;font-weight:950;letter-spacing:.17em;text-transform:uppercase}
.up-panel h1{margin:0;color:var(--up-navy);font-family:Arial,sans-serif;font-size:clamp(52px,5.5vw,88px);font-weight:950;letter-spacing:-.06em;line-height:.9;text-transform:uppercase}
.up-description{max-width:610px;margin:25px 0 32px;color:#555b6b;font-size:16px;line-height:1.5}
.up-options{border-top:1px solid #ddd}
.up-option{margin:0;padding:21px 0;border:0;border-bottom:1px solid #ddd}
.up-option legend,.up-purchase label{margin-bottom:12px;padding:0;font-size:12px;font-weight:900}
.up-swatches,.up-pills{display:flex;flex-wrap:wrap;gap:10px}
.up-swatch{width:36px;height:36px;padding:3px;border:1px solid #c9c9c9;border-radius:50%;background:#fff;cursor:pointer}
.up-swatch:after{content:"";display:block;width:100%;height:100%;border:1px solid rgba(0,0,0,.12);border-radius:50%;background:var(--up-color)}
.up-swatch.is-active{padding:2px;border:3px solid var(--up-accent)}
.up-pill{display:inline-flex;min-width:50px;height:42px;align-items:center;justify-content:center;padding:0 16px;border:1px solid #cfd1d8;border-radius:999px;background:#fff;color:var(--up-navy);font-weight:900;text-decoration:none;cursor:pointer}
.up-pill.is-active{border-color:var(--up-navy);background:var(--up-navy);color:#fff}
.up-pill:disabled,.up-swatch:disabled{opacity:.28;cursor:not-allowed;text-decoration:line-through}
.up-selected{display:block;margin-top:10px;font-size:12px}
.up-purchase{display:flex;justify-content:space-between;align-items:end;gap:24px;padding:24px 0 12px;border-bottom:1px solid #ddd}
.up-purchase label{display:block}
.up-quantity{display:grid;grid-template-columns:38px 48px 38px}
.up-quantity button,.up-quantity input{height:38px;border:1px solid #ccc;background:#fff;text-align:center;font:inherit}
.up-quantity input{border-right:0;border-left:0;appearance:textfield}
.up-price{text-align:right}
.up-price small,.up-price strong,.up-price s{display:block}
.up-price small{color:var(--up-accent);font-size:9px;font-weight:900;text-transform:uppercase}
.up-price strong{font-size:25px}
.up-price s{color:#888;font-size:12px}
.up-note{color:#6d7180;font-size:10px}
.up-message{min-height:18px;color:var(--up-accent);font-size:12px;font-weight:800}
.up-submit{width:100%;min-height:52px;margin-top:18px;border:0;border-radius:999px;background:var(--up-accent);color:#fff;font-size:12px;font-weight:950;letter-spacing:.04em;text-transform:uppercase;cursor:pointer}
.up-submit:hover{filter:brightness(.9)}
.up-submit:disabled{background:#8b8f99;cursor:not-allowed;filter:none}
@media(max-width:990px){.up-layout{grid-template-columns:1fr}.up-visual{min-height:620px}.up-panel{padding:52px 25px}.up-photo{width:min(82%,540px)}}
@media(max-width:600px){.up-visual{min-height:500px;padding:90px 14px 45px}.up-brand{top:22px;left:20px}.up-brand strong{font-size:34px}.up-photo{width:min(94%,390px)}.up-caption{right:12px;bottom:10px;font-size:8px}.up-panel{padding:42px 20px}.up-back{margin-bottom:30px}.up-panel h1{font-size:48px}.up-description{font-size:15px}}
@media(prefers-reduced-motion:reduce){.up-photo__shirt{transition:none}}
