@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap');

/* Business Promoter homepage polish: motion, depth and typography.
   Loaded after styles.css on index.html only. Everything here is additive;
   remove the <link> and <script> for storefront-polish.css/.js to switch it off. */

@property --shirt{syntax:'<color>';inherits:true;initial-value:#ffffff}

:root{--bp-navy:#041f36;--bp-navy-2:#06365c;--bp-ease:cubic-bezier(.22,1,.36,1);--bp-spring:cubic-bezier(.2,1.5,.4,1);--bp-shadow:0 30px 60px -28px rgba(4,31,54,.45);--bp-glass:rgba(255,253,248,.78)}
html{overflow-x:clip}
body{overflow-x:clip;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:#f67e20;color:#fff}

/* ---------- Typography ---------- */
h1,h2,h3{text-wrap:balance}
p,li,summary{text-wrap:pretty}
em{font-family:'Instrument Serif',Georgia,serif;font-style:italic;font-weight:400;letter-spacing:-.01em}
h2{font-size:clamp(36px,4.1vw,62px);line-height:1.02;letter-spacing:-.045em}
h2 em{font-size:1.06em}
.eyebrow{font-size:11px;letter-spacing:.18em}
.section-head{margin-bottom:48px}
.section-head p{width:auto;max-width:390px;font-size:15px;line-height:1.75}
.card-body p,.package-card p,.bundle-notes p,details p{font-size:15px;line-height:1.7}
.card-body h3{font-size:30px;letter-spacing:-.04em}
.fineprint{font-size:11px}
.tag{font-size:10px;letter-spacing:.12em;padding:7px 11px;border-radius:999px;background:rgba(255,253,248,.82);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.quantity-chips span{font-size:11px;padding:5px 10px;border-radius:999px}
.bundle-section h2{font-size:clamp(38px,4.2vw,60px);line-height:1.02}
.bundle-section p{font-size:15px}
.package-count{font-size:64px;letter-spacing:-.05em;background:linear-gradient(120deg,#075e9f 10%,#2f8fd6 55%,#f67e20 95%);-webkit-background-clip:text;background-clip:text;color:transparent}
.package-count small{color:#075e9f;-webkit-text-fill-color:#075e9f}
.faq h2{font-size:clamp(36px,3.6vw,52px)}
summary{font-size:16px}
footer p{font-size:13px}

/* ---------- Scroll progress + header ---------- */
.bp-progress{position:fixed;inset:0 0 auto;height:3px;z-index:80;transform-origin:0 50%;transform:scaleX(0);background:linear-gradient(90deg,#f67e20,#ffb36b 40%,#2f8fd6 75%,#075e9f);pointer-events:none}
header{position:sticky;top:0;z-index:60;padding-top:14px;padding-bottom:14px;transition:transform .45s var(--bp-ease)}
header::before{content:'';position:absolute;inset:0 calc(50% - 50vw);z-index:-1;background:var(--bp-glass);-webkit-backdrop-filter:blur(16px) saturate(1.5);backdrop-filter:blur(16px) saturate(1.5);border-bottom:1px solid rgba(7,94,159,.1);box-shadow:0 12px 30px -24px rgba(4,31,54,.5);opacity:0;transition:opacity .35s ease}
header.is-scrolled::before{opacity:1}
header.is-hidden{transform:translateY(-110%)}
header .brand img{width:220px}
.brand img{mix-blend-mode:multiply}
nav a{position:relative;padding:4px 0}
nav a::after{content:'';position:absolute;left:0;right:0;bottom:-2px;height:2px;border-radius:2px;background:#f67e20;transform:scaleX(0);transform-origin:100% 50%;transition:transform .45s var(--bp-ease)}
nav a:hover::after,nav a:focus-visible::after{transform:scaleX(1);transform-origin:0 50%}

/* ---------- Buttons ---------- */
.button{position:relative;overflow:hidden;isolation:isolate;border-radius:999px;padding-left:26px;padding-right:22px;transition:transform .35s var(--bp-ease),translate .35s var(--bp-ease),box-shadow .35s,background .25s}
.button.dark{background:linear-gradient(135deg,#0a6cb6,#075e9f 45%,#054a7e);box-shadow:0 14px 30px -16px rgba(7,94,159,.75)}
.button.dark:hover{box-shadow:0 20px 40px -18px rgba(7,94,159,.9)}
.button::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.35) 50%,transparent 70%);transform:translateX(-120%);transition:transform .8s var(--bp-ease)}
.button:hover::after{transform:translateX(120%)}
.button .arrow{transition:transform .35s var(--bp-ease)}
.button:hover .arrow,.text-button:hover .arrow{transform:translate(3px,-3px)}
.text-button .arrow{transition:transform .35s var(--bp-ease)}
.bp-ghost{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 1.5px rgba(7,94,159,.35)}
.bp-ghost:hover{box-shadow:inset 0 0 0 1.5px var(--ink)}

/* Roomier homepage actions, with the existing destinations and behavior. */
:where(header,#home-view) .button{box-sizing:border-box;min-height:58px;max-width:100%;padding:16px 28px;gap:20px;font-size:15px;line-height:1.4;font-weight:700;border:1px solid transparent;transition-duration:.22s}
:where(header,#home-view) .button.dark{border-color:#07558d;box-shadow:inset 0 1px 0 rgba(255,255,255,.22),0 10px 22px -10px rgba(7,94,159,.55)}
:where(header,#home-view) .button.dark:hover{background:linear-gradient(135deg,#0963a6,#064f85 65%,#043d68);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 14px 26px -10px rgba(7,94,159,.55)}
:where(header,#home-view) .button .arrow{flex-shrink:0;width:22px;height:22px}
.bp-hero-actions .button{min-height:62px;padding:18px 28px;font-size:16px}
.bp-hero-actions .bp-ghost{border-color:#8aaec8;background:rgba(255,253,248,.9);box-shadow:0 4px 12px -8px rgba(4,31,54,.3)}
.bp-hero-actions .bp-ghost:hover{background:#edf4fa;border-color:#075e9f;box-shadow:0 6px 16px -9px rgba(4,31,54,.35)}
header>.button.small{min-height:50px;padding:13px 22px;font-size:14px;gap:18px}
#home-view .button.cream{border-color:rgba(255,255,255,.5);box-shadow:inset 0 1px 0 #fff,0 10px 22px -10px rgba(0,0,0,.35)}
#home-view .button.cream:hover{background:#eef5fa;box-shadow:0 14px 24px -10px rgba(0,0,0,.4)}
#home-view .package-card .text-button{box-sizing:border-box;min-height:54px;align-items:center;gap:16px;padding:14px 18px;border:1px solid #90b3cf;border-radius:14px;background:#f0f6fb;font-size:15px;line-height:1.4;box-shadow:0 4px 10px -8px rgba(4,31,54,.3);transition:background .2s,border-color .2s,box-shadow .2s}
#home-view .package-card .text-button:hover{background:#e2eef8;border-color:#075e9f;box-shadow:0 8px 16px -10px rgba(4,31,54,.35)}
#home-view .package-card .text-button .arrow{flex-shrink:0;width:22px;height:22px}
#home-view .summary-actions button{min-height:46px;padding:11px 18px;border-radius:12px;font-size:14px;font-weight:700}
:where(header,#home-view) :is(.button,.text-button):focus-visible{outline:3px solid #f67e20;outline-offset:5px}
:where(header,#home-view) .button:active{transform:translateY(0);box-shadow:inset 0 2px 4px rgba(4,31,54,.15)}

/* ---------- Hero ---------- */
.bp-hero{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);gap:4%;align-items:center;min-height:min(820px,calc(100svh - 120px));padding-top:40px;padding-bottom:70px}
.bp-hero-bg{position:absolute;inset:0 calc(50% - 50vw);z-index:-1;overflow:hidden;pointer-events:none}
.bp-orb{position:absolute;border-radius:50%;will-change:transform}
.bp-orb-a{width:56vw;height:56vw;max-width:820px;max-height:820px;right:-14vw;top:-22%;background:radial-gradient(circle,rgba(47,143,214,.22),rgba(47,143,214,0) 65%);animation:bp-drift-a 22s ease-in-out infinite alternate}
.bp-orb-b{width:42vw;height:42vw;max-width:620px;max-height:620px;left:-12vw;bottom:-30%;background:radial-gradient(circle,rgba(246,126,32,.18),rgba(246,126,32,0) 65%);animation:bp-drift-b 26s ease-in-out infinite alternate}
.bp-orb-c{width:24vw;height:24vw;left:38%;top:8%;background:radial-gradient(circle,rgba(255,190,132,.22),rgba(255,190,132,0) 65%);animation:bp-drift-a 18s ease-in-out -6s infinite alternate-reverse}
.bp-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(7,94,159,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(7,94,159,.07) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(ellipse 70% 60% at 60% 40%,#000 20%,transparent 75%);mask-image:radial-gradient(ellipse 70% 60% at 60% 40%,#000 20%,transparent 75%)}
@keyframes bp-drift-a{to{transform:translate3d(-6vw,5vh,0) scale(1.08)}}
@keyframes bp-drift-b{to{transform:translate3d(7vw,-6vh,0) scale(1.12)}}

.bp-hero h1{font-size:clamp(54px,6.7vw,106px);line-height:.98;letter-spacing:-.05em;margin:24px 0 26px}
.bp-hero h1 em{font-size:1.08em;letter-spacing:-.02em;color:#f67e20}
.bp-hero h1 em .bp-w>span{background:linear-gradient(100deg,#f67e20 20%,#ffa860 50%,#f67e20 80%);background-size:200% 100%;background-position:100% 0;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:bp-sheen 7s ease-in-out 2s infinite}
@keyframes bp-sheen{0%,60%{background-position:100% 0}100%{background-position:-100% 0}}
.bp-hero-copy>p{max-width:560px;color:var(--muted);font-size:18px;line-height:1.7;margin-bottom:32px}
.bp-hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px}
.bp-hero .hero-notes{gap:8px;flex-wrap:wrap;font-size:12px;margin-top:0}
.bp-hero .hero-notes i{display:none}
.bp-hero .hero-notes span{display:inline-flex;align-items:center;gap:7px;padding:7px 13px 7px 10px;border-radius:999px;background:rgba(255,255,255,.7);box-shadow:inset 0 0 0 1px rgba(7,94,159,.14);font-weight:600}
.bp-hero .hero-notes span::before{content:'';width:16px;height:16px;border-radius:50%;background:#f67e20 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2 7 10.6l4.6-5' fill='none' stroke='%23fff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}

.bp-hero-visual{position:relative;aspect-ratio:1/.92;max-height:640px}
.bp-photo{position:absolute;margin:0;overflow:hidden;background:#dfe9f1;box-shadow:var(--bp-shadow);will-change:transform;transform:translate3d(0,var(--py,0px),0) rotate(var(--rot,0deg))}
.bp-photo img{display:block;width:100%;height:100%;object-fit:cover}
.bp-photo-a{--rot:2deg;right:0;top:3%;width:84%;aspect-ratio:3/2;border-radius:140px 22px 22px 22px}
.bp-photo-b{--rot:-4deg;left:0;bottom:4%;width:58%;aspect-ratio:3/2;border-radius:20px;border:7px solid var(--cream)}
.bp-chip{position:absolute;z-index:3;display:flex;align-items:center;gap:10px;padding:10px 16px 10px 10px;border-radius:999px;background:rgba(255,253,248,.88);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 18px 40px -20px rgba(4,31,54,.45),inset 0 0 0 1px rgba(7,94,159,.1);font-size:13px;font-weight:700;white-space:nowrap;animation:bp-bob 6s ease-in-out infinite}
.bp-chip b{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#075e9f;color:#fff;font:800 12px/1 Manrope,sans-serif}
.bp-chip small{display:block;font-size:11px;font-weight:500;color:var(--muted)}
.bp-chip-a{right:-3%;top:-8%;bottom:auto}
.bp-chip-b{left:-6%;top:40%;animation-delay:-2s}
.bp-chip-b b{background:#f67e20}
.bp-chip-c{right:8%;bottom:-2%;animation-delay:-4s}
@keyframes bp-bob{50%{transform:translateY(-10px)}}
.bp-badge{position:absolute;z-index:4;left:4%;top:-4%;width:138px;height:138px;border-radius:50%;background:var(--cream);box-shadow:0 20px 44px -22px rgba(4,31,54,.55);display:grid;place-items:center}
.bp-badge svg{position:absolute;inset:0;width:100%;height:100%;animation:bp-spin 22s linear infinite}
.bp-badge text{font:800 10.5px Manrope,sans-serif;letter-spacing:.06em;fill:#075e9f}
.bp-badge img{width:58px;height:auto}
@keyframes bp-spin{to{transform:rotate(360deg)}}

/* Entrance choreography (JS adds .is-in) */
.bp-js .bp-hero .eyebrow,.bp-js .bp-hero-copy>p,.bp-js .bp-hero-actions,.bp-js .bp-hero .hero-notes{opacity:0;transform:translateY(22px);transition:opacity .9s var(--bp-ease),transform .9s var(--bp-ease)}
.bp-js .bp-hero.is-in .eyebrow{opacity:1;transform:none;transition-delay:.05s}
.bp-js .bp-hero.is-in .bp-hero-copy>p{opacity:1;transform:none;transition-delay:.55s}
.bp-js .bp-hero.is-in .bp-hero-actions{opacity:1;transform:none;transition-delay:.68s}
.bp-js .bp-hero.is-in .hero-notes{opacity:1;transform:none;transition-delay:.8s}
.bp-w{display:inline-block;overflow:hidden;vertical-align:top;padding:0 .07em .1em;margin:0 -.07em -.1em}
.bp-w>span{display:inline-block;transform:translateY(110%);transition:transform 1.1s var(--bp-ease);transition-delay:calc(var(--i,0) * 75ms + .12s)}
.bp-hero.is-in .bp-w>span{transform:none}
.bp-js .bp-photo{clip-path:inset(100% 0 0 0 round 22px);transition:clip-path 1.3s var(--bp-ease)}
.bp-js .bp-photo-a{transition-delay:.25s}
.bp-js .bp-photo-b{transition-delay:.45s}
.bp-js .bp-hero.is-in .bp-photo{clip-path:inset(0 0 0 0 round 0)}
.bp-js .bp-chip,.bp-js .bp-badge{opacity:0;scale:.85;transition:opacity .7s var(--bp-ease),scale .9s var(--bp-spring)}
.bp-js .bp-hero.is-in .bp-chip,.bp-js .bp-hero.is-in .bp-badge{opacity:1;scale:1}
.bp-js .bp-hero.is-in .bp-badge{transition-delay:.9s}
.bp-js .bp-hero.is-in .bp-chip-a{transition-delay:1.05s}
.bp-js .bp-hero.is-in .bp-chip-b{transition-delay:1.2s}
.bp-js .bp-hero.is-in .bp-chip-c{transition-delay:1.35s}

/* ---------- Marquee ---------- */
.bp-marquee{position:relative;z-index:2;background:var(--bp-navy);color:#fffdf8;padding:22px 0;margin:10px -2% 0;transform:rotate(-1.2deg) skewX(var(--skew,0deg));box-shadow:0 24px 50px -30px rgba(4,31,54,.6);overflow:hidden}
.bp-marquee-track{display:flex;align-items:center;gap:34px;width:max-content;padding-right:34px;font:800 clamp(22px,2.7vw,38px)/1.1 Manrope,sans-serif;letter-spacing:-.03em;white-space:nowrap}
.bp-js .bp-marquee-track{animation:bp-marquee 42s linear infinite}
.bp-marquee:hover .bp-marquee-track{animation-play-state:paused}
.bp-marquee-track span:nth-of-type(even){color:transparent;-webkit-text-stroke:1.2px rgba(255,253,248,.75)}
.bp-marquee-track b{color:#f67e20;font-size:.7em}
@keyframes bp-marquee{to{transform:translateX(-50%)}}

/* ---------- Scroll reveals (JS adds data-reveal + .is-in) ---------- */
.bp-js [data-reveal]{opacity:0;transform:translateY(40px);transition:opacity 1s var(--bp-ease),transform 1s var(--bp-ease);transition-delay:var(--d,0ms)}
.bp-js [data-reveal="fade"]{transform:none}
.bp-js [data-reveal="scale"]{transform:scale(.94)}
.bp-js [data-reveal="clip"]{opacity:1;transform:none;clip-path:inset(12% 8% 12% 8% round 24px);transition:clip-path 1.3s var(--bp-ease)}
.bp-js [data-reveal="clip"].is-in{clip-path:inset(0 0 0 0 round 8px)}
.bp-js [data-reveal].is-in{opacity:1;transform:none}
.bp-js .bundle-notes>div[data-reveal]{border-top-color:transparent}
.bundle-notes>div::before{content:'';position:absolute;left:0;right:0;top:-1px;height:1px;background:linear-gradient(90deg,#ffd0a3,#6297bf);transform-origin:0 50%;transform:scaleX(1);transition:transform 1.2s var(--bp-ease) calc(var(--d,0ms) + .15s)}
.bp-js .bundle-notes>div[data-reveal]:not(.is-in)::before{transform:scaleX(0)}

/* ---------- Product cards ---------- */
.shirt-card{transition:translate .5s var(--bp-ease),box-shadow .5s var(--bp-ease),border-color .3s,opacity 1s var(--bp-ease),transform 1s var(--bp-ease);border-radius:22px}
.shirt-card:hover{translate:0 -8px;box-shadow:0 40px 70px -36px rgba(4,31,54,.5);border-color:#bcd2e3}
.shirt-visual{overflow:hidden;isolation:isolate}
.shirt-visual img{transition:transform 1.2s var(--bp-ease)}
.shirt-card:hover .shirt-visual img{transform:scale(1.05)}
.shirt-visual::after{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(255,255,255,.28),transparent 45%);opacity:0;transition:opacity .4s}
.shirt-visual:hover::after{opacity:1}
.shirt-visual .tag{z-index:2;transition:translate .5s var(--bp-ease)}
.shirt-card:hover .tag{translate:4px -4px}
.card-body{padding:30px 32px 32px}

.package-card{border-radius:22px;padding:32px;transition:translate .5s var(--bp-ease),box-shadow .5s var(--bp-ease),border-color .3s,opacity 1s var(--bp-ease),transform 1s var(--bp-ease)}
.package-card:hover{translate:0 -8px;box-shadow:0 34px 60px -34px rgba(4,31,54,.45);border-color:#f6b27a}

/* ---------- Dark bundle section ---------- */
.bundle-section{position:relative;isolation:isolate;overflow:hidden}
.bundle-section::before{content:'';position:absolute;z-index:-1;width:900px;height:900px;right:-300px;top:-420px;border-radius:50%;background:radial-gradient(circle,rgba(255,208,163,.22),transparent 60%);animation:bp-drift-a 20s ease-in-out infinite alternate}

/* ---------- Promo image ---------- */
.promo-section>img{height:420px;border-radius:24px;box-shadow:var(--bp-shadow);object-position:50% var(--op,50%)}

/* ---------- Forms + FAQ ---------- */
#custom-form{border-radius:22px;box-shadow:0 30px 60px -40px rgba(4,31,54,.45)}
#custom-form input,#custom-form select,#custom-form textarea{border-radius:10px;transition:border-color .2s,box-shadow .2s}
#custom-form input:focus,#custom-form select:focus,#custom-form textarea:focus{outline:none;border-color:#075e9f;box-shadow:0 0 0 4px rgba(47,143,214,.18)}
details{interpolate-size:allow-keywords}
details::details-content{block-size:0;overflow:hidden;transition:block-size .45s var(--bp-ease),content-visibility .45s allow-discrete}
details[open]::details-content{block-size:auto}
summary{list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;transition:color .2s}
summary::-webkit-details-marker{display:none}
summary::after{content:'';flex:none;width:30px;height:30px;border-radius:50%;background:#eaf2f8 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M15 9v12M9 15h12' stroke='%23075e9f' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center/100% no-repeat;transition:transform .45s var(--bp-ease),background-color .3s}
details[open] summary::after{transform:rotate(135deg);background-color:#ffe3cc}
summary:hover{color:#f67e20}

/* ---------- Back to top ---------- */
.bp-top{position:fixed;right:22px;bottom:22px;z-index:70;width:52px;height:52px;padding:0;border:0;border-radius:50%;background:var(--bp-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 16px 34px -18px rgba(4,31,54,.6);color:#075e9f;opacity:0;scale:.8;pointer-events:none;transition:opacity .35s,scale .45s var(--bp-spring)}
.bp-top.is-on{opacity:1;scale:1;pointer-events:auto}
.bp-top svg{width:100%;height:100%;transform:rotate(-90deg)}
.bp-top circle{fill:none;stroke-width:2.5}
.bp-top .bp-top-track{stroke:rgba(7,94,159,.14)}
.bp-top .bp-top-ring{stroke:#f67e20;stroke-dasharray:100;stroke-dashoffset:var(--ring,100);stroke-linecap:round}
.bp-top path{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transform:rotate(90deg);transform-origin:24px 24px}

/* ---------- Pinned scene: from blank shirt to your brand ---------- */
.bp-scene{--shirt:#ffffff;position:relative;height:380vh;background:linear-gradient(180deg,var(--bp-navy) 0%,#052b4a 70%,#075e9f 100%);color:#fffdf8;transition:--shirt .8s var(--bp-ease)}
.bp-scene-sticky{position:sticky;top:0;height:100vh;height:100svh;overflow:hidden;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:center;gap:4%;padding:0 max(5%,calc((100vw - 1296px)/2))}
.bp-scene-bg{position:absolute;inset:0;pointer-events:none}
.bp-scene-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.05) 1px,transparent 1px);background-size:72px 72px;-webkit-mask-image:radial-gradient(ellipse 60% 70% at 70% 50%,#000,transparent 75%);mask-image:radial-gradient(ellipse 60% 70% at 70% 50%,#000,transparent 75%)}
.bp-scene-num{position:absolute;right:3%;bottom:-6%;font:800 clamp(180px,30vw,420px)/1 Manrope,sans-serif;letter-spacing:-.06em;color:transparent;-webkit-text-stroke:1px rgba(255,255,255,.09);transition:opacity .4s}
.bp-scene-copy{position:relative;z-index:2}
.bp-scene .eyebrow{color:#ffd0a3}
.bp-scene h2{margin:20px 0 30px;font-size:clamp(38px,4.3vw,64px)}
.bp-scene h2 em{color:#ffb36b}
.bp-steps{list-style:none;margin:0 0 30px;padding:0;max-width:470px}
.bp-step{display:grid;grid-template-columns:46px 1fr;padding:16px 0;border-top:1px solid rgba(255,255,255,.12);opacity:.38;transition:opacity .5s var(--bp-ease)}
.bp-step:last-child{border-bottom:1px solid rgba(255,255,255,.12)}
.bp-step>span{font:700 12px/2 Manrope,sans-serif;letter-spacing:.1em;color:#9fc3e2;transition:color .4s}
.bp-step h3{margin:0;font-size:20px;letter-spacing:-.02em}
.bp-step-body{display:grid;grid-template-rows:0fr;transition:grid-template-rows .55s var(--bp-ease)}
.bp-step-body>p{overflow:hidden;margin:0;font-size:15px;line-height:1.65;color:#cfe0ee}
.bp-step.is-active{opacity:1}
.bp-step.is-active>span{color:#f67e20}
.bp-step.is-active .bp-step-body{grid-template-rows:1fr}
.bp-step.is-active .bp-step-body>p{padding-top:8px}
.bp-scene-bar{position:absolute;left:max(5%,calc((100vw - 1296px)/2));right:max(5%,calc((100vw - 1296px)/2));bottom:34px;height:2px;background:rgba(255,255,255,.12);border-radius:2px;overflow:hidden}
.bp-scene-bar span{display:block;height:100%;background:linear-gradient(90deg,#f67e20,#ffd0a3);transform-origin:0 50%;transform:scaleX(var(--p,0))}

.bp-stage{position:relative;z-index:1;height:min(76svh,660px);display:grid;place-items:center}
.bp-stage-glow{position:absolute;width:80%;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--shirt) 38%,transparent) 0%,transparent 62%);opacity:.65}
.bp-stage-ring{position:absolute;width:78%;aspect-ratio:1;border-radius:50%;border:1px dashed rgba(255,255,255,.16);animation:bp-spin 70s linear infinite}
.bp-stage-ring::after{content:'';position:absolute;top:-5px;left:50%;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:#f67e20;box-shadow:0 0 18px 4px rgba(246,126,32,.6)}
.bp-shirt-wrap{position:relative;z-index:2;width:min(440px,74%);transition:transform .9s var(--bp-ease)}
.bp-shirt-float{animation:bp-bob 7s ease-in-out infinite}
.bp-shirt{display:block;width:100%;height:auto;overflow:visible}
.bp-shirt .bp-fill,.bp-tee-sym .bp-fill{fill:var(--shirt);stroke:rgba(4,31,54,.18);stroke-width:1.2}
.bp-shirt .bp-shade{fill:url(#bp-shade);pointer-events:none}
.bp-shirt .bp-collar{fill:none;stroke:rgba(4,31,54,.2);stroke-width:8;stroke-linecap:round}
.bp-shirt .bp-collar-in{fill:rgba(4,31,54,.22)}
.bp-shirt .bp-seam{fill:none;stroke:rgba(4,31,54,.16);stroke-width:1.4;stroke-dasharray:3 3}
.bp-shirt-shadow{fill:rgba(0,0,0,.28)}
.bp-sl{transition:opacity .5s var(--bp-ease),transform .6s var(--bp-ease);transform-box:fill-box;transform-origin:50% 0}
.bp-sl-long{opacity:0;transform:scaleY(.6)}
.bp-scene[data-sleeve="long"] .bp-sl-long{opacity:1;transform:none}
.bp-scene[data-sleeve="long"] .bp-sl-short{opacity:0}
.bp-print{opacity:0;transform-box:fill-box;transform-origin:50% 50%;transform:scale(2.4) rotate(-8deg);transition:opacity .35s ease,transform .7s var(--bp-spring)}
.bp-scene.has-logo .bp-print{opacity:1;transform:none}
.bp-flash{fill:none;stroke:#f67e20;stroke-width:3;opacity:0;transform-box:fill-box;transform-origin:50% 50%}
.bp-scene.has-logo .bp-flash{animation:bp-flash 1s var(--bp-ease) .25s 1}
@keyframes bp-flash{0%{opacity:.9;transform:scale(.4)}100%{opacity:0;transform:scale(3.2)}}
.bp-swatches{position:absolute;z-index:3;bottom:12%;left:50%;display:flex;gap:10px;transform:translate(-50%,12px);opacity:0;transition:opacity .5s,transform .6s var(--bp-ease)}
.bp-scene[data-step="1"] .bp-swatches{opacity:1;transform:translate(-50%,0)}
.bp-swatches i{width:22px;height:22px;border-radius:50%;background:var(--c);box-shadow:0 0 0 1px rgba(255,255,255,.35);transition:box-shadow .3s,scale .4s var(--bp-spring)}
.bp-swatches i.is-on{scale:1.2;box-shadow:0 0 0 2px var(--bp-navy),0 0 0 4px #f67e20}
.bp-stage-label{position:absolute;z-index:3;bottom:3%;left:50%;transform:translateX(-50%);padding:9px 18px;border-radius:999px;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:13px;font-weight:600;letter-spacing:.02em;white-space:nowrap}
.bp-crew{position:absolute;inset:0;z-index:1}
.bp-crew-tee{position:absolute;left:50%;top:50%;width:min(440px,74%);opacity:0;transform:translate(-50%,-46%) translate(0,0) scale(.4);transition:transform 1s var(--bp-ease),opacity .6s}
.bp-crew-tee svg{display:block;width:100%;height:auto;overflow:visible}
.bp-scene.has-crew .bp-shirt-wrap{transform:translateY(-4%) scale(.64)}
.bp-scene.has-crew .bp-crew-tee{opacity:1;transform:translate(-50%,-46%) translate(var(--tx),var(--ty)) scale(var(--s))}
.bp-crew-tee:nth-child(1){--tx:-46%;--ty:5%;--s:.5;z-index:1}
.bp-crew-tee:nth-child(2){--tx:46%;--ty:5%;--s:.5;z-index:1;transition-delay:.06s}
.bp-crew-tee:nth-child(3){--tx:-78%;--ty:12%;--s:.38;z-index:0;transition-delay:.12s}
.bp-crew-tee:nth-child(4){--tx:78%;--ty:12%;--s:.38;z-index:0;transition-delay:.18s}
.bp-count{position:absolute;z-index:3;top:6%;right:4%;text-align:right;opacity:0;transform:translateY(14px);transition:opacity .5s,transform .6s var(--bp-ease)}
.bp-count b{display:block;font:800 clamp(56px,6vw,92px)/1 Manrope,sans-serif;letter-spacing:-.05em;color:#ffb36b;font-variant-numeric:tabular-nums}
.bp-count span{font-size:13px;font-weight:600;color:#cfe0ee}
.bp-scene.has-crew .bp-count{opacity:1;transform:none}

/* ---------- Responsive ---------- */
@media (max-width:900px){
  .bp-hero{grid-template-columns:1fr;gap:56px;min-height:0;padding-top:24px}
  .bp-hero-visual{max-width:620px;width:100%;margin:0 auto}
  .bp-chip-b{left:0}
  .bp-chip-a{right:0}
  .bp-scene{height:340vh}
  .bp-scene-sticky{grid-template-columns:1fr;grid-template-rows:auto minmax(0,1fr);align-content:start;gap:0;padding-top:max(70px,9svh);padding-bottom:60px}
  .bp-scene h2{font-size:clamp(30px,7vw,44px);margin:12px 0 16px}
  .bp-steps{display:grid;margin-bottom:0;max-width:none}
  .bp-step{grid-area:1/1;border:0!important;padding:0;opacity:0;transform:translateY(10px);transition:opacity .45s,transform .5s var(--bp-ease)}
  .bp-step.is-active{opacity:1;transform:none}
  .bp-step .bp-step-body{grid-template-rows:1fr}
  .bp-step .bp-step-body>p{padding-top:6px;font-size:14px}
  .bp-scene-copy>.button{display:none}
  .bp-stage{height:100%;min-height:0}
  .bp-shirt-wrap,.bp-crew-tee{width:min(330px,62%)}
  .bp-scene-bar{bottom:26px}
}
@media (max-width:650px){
  header{padding-top:12px;padding-bottom:12px}
  header .brand img{width:170px}
  header>.button.small{min-height:48px;padding:12px 16px;font-size:13px;gap:10px}
  header>.button.small .arrow{width:18px;height:18px}
  #home-view .card-action{flex-wrap:wrap;align-items:stretch;gap:14px}
  #home-view .card-action>span{max-width:none}
  #home-view .card-action .button{width:100%;min-height:56px;padding:16px 22px;font-size:15px;white-space:normal}
  #home-view .bundle-section .button{width:100%;text-align:left;border-radius:22px}
  .bp-hero h1{font-size:clamp(44px,12.4vw,64px);letter-spacing:-.045em;margin:18px 0 20px}
  .bp-hero-copy>p{font-size:16px}
  .bp-hero-actions .button{flex:1 1 100%;justify-content:space-between}
  .bp-hero .eyebrow{font-size:9.5px;letter-spacing:.14em;line-height:1.6}
  .bp-badge{width:104px;height:104px;left:2%;top:-8%}
  .bp-badge img{width:44px}
  .bp-badge text{font-size:13.5px}
  .bp-chip{font-size:12px;padding:8px 13px 8px 8px}
  .bp-chip b{width:28px;height:28px;font-size:11px}
  .bp-chip-b,.bp-chip-c{display:none}
  .bp-chip-a{right:0;top:-8%;bottom:auto;box-sizing:border-box;max-width:calc(100% - 116px);white-space:normal}
  .bp-chip-a b{flex-shrink:0}
  .bp-photo-b{border-width:5px}
  .bp-marquee{padding:16px 0}
  h2{letter-spacing:-.04em}
  .card-body{padding:24px}
  .card-body h3{font-size:26px}
  .package-count{font-size:52px}
  .promo-section>img{height:300px}
  .bp-count{top:2%}
  .bp-stage-label{font-size:12px}
  .bp-swatches{bottom:14%}
  .bp-swatches i{width:18px;height:18px}
  .bp-top{right:14px;bottom:14px;width:46px;height:46px}
}
@media (max-width:360px){
  header .brand img{width:145px}
  header>.button.small{padding:12px;font-size:12px;white-space:nowrap}
  header>.button.small .arrow{display:none}
}

/* ---------- Reduced motion: no pinning, no parallax, everything visible ---------- */
@media (prefers-reduced-motion:reduce){
  .bp-orb,.bp-badge svg,.bp-chip,.bp-stage-ring,.bp-shirt-float,.bp-hero h1 em,.bundle-section::before{animation:none!important}
  .bp-js .bp-marquee-track{animation:none}
  .bp-marquee{transform:rotate(-1.2deg)}
  header.is-hidden{transform:none}
  .bp-scene{height:auto}
  .bp-scene-sticky{position:relative;height:auto;padding-top:90px;padding-bottom:110px}
  .bp-step{opacity:1}
  .bp-step .bp-step-body{grid-template-rows:1fr}
  .bp-step .bp-step-body>p{padding-top:8px}
  .bp-print{opacity:1;transform:none}
  .bp-swatches,.bp-count,.bp-crew-tee{display:none}
  .bp-stage{height:520px}
}
@media (prefers-reduced-motion:reduce) and (max-width:900px){
  .bp-steps{display:block}
  .bp-step{opacity:1;transform:none;padding:12px 0}
  .bp-stage{height:420px}
}

.customer-pricing{min-width:0}.customer-pricing .pricing-table-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch}.customer-pricing .price-table{width:100%;min-width:720px;table-layout:fixed}.customer-pricing .price-table th,.customer-pricing .price-table td{font-size:15px;line-height:1.5;padding:14px;text-align:left!important;vertical-align:top}.customer-pricing .price-table th:first-child,.customer-pricing .price-table td:first-child{width:15%;min-width:105px}.customer-pricing .price-table th:not(:first-child),.customer-pricing .price-table td:not(:first-child){width:28.333%;min-width:190px}.customer-pricing .price-table thead th{font-weight:700;color:var(--ink);background:#eaf2f7}.customer-pricing .price-table caption{text-align:left;font-size:13px;padding:0 0 16px;color:var(--muted)}.customer-pricing .price-table th{text-align:left}.customer-pricing .fineprint{max-width:940px;margin:18px 0;line-height:1.7}.customer-pricing .button{margin-top:10px}
