/* Wholesale bespoke packaging */
.spb-oem-section{padding:clamp(4rem,7vw,7rem) 0;overflow:clip}
.spb-oem-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(320px,1.05fr);gap:clamp(2rem,5vw,5.5rem);align-items:center}
.spb-oem-copy h2{font-size:clamp(2.7rem,4.9vw,5.6rem);line-height:1.04;letter-spacing:-.065em;max-width:17ch;margin:.75rem 0 1.6rem}
.spb-oem-copy>p:not(.eyebrow){font-size:clamp(.96rem,1.03vw,1.1rem);line-height:1.77;max-width:69ch;color:#c7c6d2}
.spb-oem-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;margin:1.8rem 0}
.spb-oem-options article{position:relative;overflow:hidden;border-radius:28px;border:1px solid rgba(255,255,255,.28);background:linear-gradient(165deg,rgba(255,255,255,.16),rgba(12,18,28,.42));backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);padding:1.1rem;box-shadow:inset 0 1px rgba(255,255,255,.35),0 16px 36px rgba(0,0,0,.18);transition:transform .3s ease,border-color .3s ease,box-shadow .3s ease}
.spb-oem-options article:nth-child(1){--tile:#76f0c5}
.spb-oem-options article:nth-child(2){--tile:#79c7ff}
.spb-oem-options article:nth-child(3){--tile:#c4a6ff}
.spb-oem-options article:nth-child(4){--tile:#ff9eb8}
.spb-oem-options article>span{font-size:.72rem;color:var(--tile,#8ceecf);font-weight:800}
.spb-oem-options h3{font-size:clamp(1.05rem,1.3vw,1.35rem);letter-spacing:-.025em;margin:.65rem 0 .35rem}
.spb-oem-options p{font-size:.88rem;line-height:1.57;color:#bfc2ce;margin:0}
.spb-oem-options article:hover{transform:translateY(-5px);border-color:color-mix(in srgb,var(--tile,#8ceecf) 60%,white);box-shadow:inset 0 1px rgba(255,255,255,.22),0 20px 40px rgba(0,0,0,.22)}
.spb-oem-moq{background:rgba(91,216,192,.065);border-left:3px solid #8fe2d5;padding:1rem 1.2rem;border-radius:0 12px 12px 0;margin:1.2rem 0;color:#d5dbe3!important}
.spb-oem-moq strong{color:#f4fff8}
.spb-oem-notice{font-size:.76rem!important;color:#969dab!important;margin:1.1rem 0 0!important}
.spb-oem-demo{--ftx-accent:#1d4e9f;background:linear-gradient(165deg,#1c2230,#141820);border:1px solid #ffffff24;border-radius:28px;box-shadow:0 20px 65px #0002;text-align:left;padding:0;min-width:0;overflow:hidden}
.spb-oem-demo .ftx-small-label{display:block;color:#cdd2e0;font-size:.7rem;font-weight:750;letter-spacing:.10em}
.spb-oem-concept{color:#a5a4b5;font-size:.78rem;line-height:1.5}
.spb-finish-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem 1.2rem .7rem}
.spb-finish-head h3{margin:.35rem 0 0;font-size:clamp(1.25rem,2vw,1.7rem);letter-spacing:-.03em;color:#f4f7fb}
.spb-finish-head>strong{flex:none;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#d7eef4;border-radius:999px;padding:.4rem .75rem;font-size:.72rem;letter-spacing:.04em}
.spb-finish-view{aspect-ratio:4/5;background:#10141c;overflow:hidden;position:relative}
.spb-finish-view img{width:100%;height:100%;object-fit:cover;object-position:center 42%;display:block;opacity:1;transition:opacity .16s linear}
.spb-finish-view img.is-switching{opacity:0}
.spb-finish-view::after{content:"";position:absolute;left:0;right:0;height:22%;top:-24%;background:linear-gradient(180deg,transparent,rgba(255,255,255,.55),transparent);pointer-events:none;opacity:0}
.spb-finish-view.is-scanning::after{animation:spbFinishScan .42s ease}
.spb-finish-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.95rem 1.1rem;border-top:1px solid rgba(255,255,255,.1);background:rgba(8,12,18,.45)}
.spb-finish-bar>div:first-child span{display:block;color:#8fe2d5;font-size:.62rem;font-weight:800;letter-spacing:.14em}
.spb-finish-bar>div:first-child strong{display:block;margin-top:.2rem;color:#e8eef4;font-size:.84rem}
.spb-finish-swatches{display:flex;gap:.35rem}
.spb-finish-swatches button{display:grid;justify-items:center;gap:.28rem;min-width:52px;padding:.35rem .2rem .4rem;border:1px solid transparent;border-radius:12px;background:transparent;color:#c5ced6;cursor:pointer;font-size:.68rem;font-weight:750}
.spb-finish-swatches button i{width:22px;height:22px;border-radius:50%;background:var(--swatch);box-shadow:0 0 0 2px #141820,0 0 0 3px rgba(255,255,255,.35)}
.spb-finish-swatches button.is-active{background:rgba(143,226,213,.12);border-color:rgba(143,226,213,.45);color:#f7fffc}
.spb-finish-swatches button.is-active i{box-shadow:0 0 0 2px #141820,0 0 0 4px #8fe2d5}
.spb-oem-demo .spb-oem-concept{margin:0;padding:.75rem 1.15rem 1rem}
.spb-label-film{position:relative;isolation:isolate;width:min(calc(100% - 52px),var(--max));min-height:340px;margin:1.4rem auto 0;display:flex;align-items:center;overflow:hidden;border-radius:28px;background:#071018}
.spb-label-film-video,.spb-label-film-shade{position:absolute;inset:0;width:100%;height:100%}
.spb-label-film-video{object-fit:cover;object-position:center;z-index:0}
.spb-label-film-shade{z-index:1;background:linear-gradient(90deg,rgba(4,12,20,.72),rgba(6,16,28,.45) 46%,rgba(6,16,28,.2))}
.spb-label-film-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;max-width:560px;padding:clamp(1.6rem,4vw,3rem)}
.spb-label-film-copy h3{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;letter-spacing:-.05em;margin:.4rem 0 1rem;color:#fff}
.spb-label-film-copy p:not(.eyebrow){color:#d5e2ea;max-width:46ch}
.spb-label-film-copy .button{margin-top:1.2rem}
.spb-label-film-caption{position:relative;z-index:2;display:inline-block;margin:1.2rem 0 0;color:#c5dbe6;font-size:.62rem;font-weight:800;letter-spacing:.12em}
.spb-brief-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.spb-brief-grid .card{--tile:#76f0c5;position:relative;overflow:hidden;border-radius:28px;background:linear-gradient(165deg,rgba(255,255,255,.09),rgba(255,255,255,.03) 38%,rgba(8,14,24,.28));border:1px solid rgba(255,255,255,.14);box-shadow:inset 0 1px rgba(255,255,255,.18),0 18px 40px rgba(0,0,0,.16);backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%)}
.spb-brief-grid .card::before{content:"";position:absolute;width:150px;height:150px;right:-36px;top:-48px;border-radius:50%;background:radial-gradient(circle,var(--tile),transparent 68%);opacity:.42;pointer-events:none;transition:transform .35s ease,opacity .35s ease}
.spb-brief-grid .card:nth-child(1){--tile:#76f0c5}
.spb-brief-grid .card:nth-child(2){--tile:#79c7ff}
.spb-brief-grid .card:nth-child(3){--tile:#c4a6ff}
.spb-brief-grid .card:nth-child(4){--tile:#ff9eb8}
.spb-brief-grid .card:nth-child(5){--tile:#f0d27a}
.spb-brief-grid .card:nth-child(6){--tile:#67d7ea}
.spb-brief-grid .card-num,.spb-brief-grid .card h3,.spb-brief-grid .card p{position:relative}
.spb-brief-grid .card-num{color:var(--tile);letter-spacing:.12em}
.spb-brief-grid .card:hover,.spb-brief-grid .card:focus-within{transform:translateY(-6px);border-color:color-mix(in srgb,var(--tile) 62%,white);box-shadow:inset 0 1px rgba(255,255,255,.24),0 24px 48px rgba(0,0,0,.24),0 0 28px color-mix(in srgb,var(--tile) 28%,transparent)}
.spb-brief-grid .card:hover::before,.spb-brief-grid .card:focus-within::before{transform:scale(1.35);opacity:.78}
.spb-page-motion{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;background:#06111d}
.spb-page-motion video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.7) brightness(.38) contrast(1.05)}
.spb-field-far,.spb-field-near{position:absolute;height:100%;width:110vw;max-width:none;object-fit:cover;mix-blend-mode:screen;pointer-events:none}
.spb-field-near{left:55vw;top:-85%;z-index:2;opacity:.82;animation:spbFieldNear 60s ease-in-out infinite alternate}
.spb-field-far{right:15vw;top:0;z-index:1;opacity:.5;animation:spbFieldFar 40s ease-in-out infinite alternate}
.spb-page-motion::after{content:"";position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,rgba(6,17,29,.55),rgba(6,17,29,.22) 40%,rgba(6,17,29,.62))}
@keyframes spbFieldNear{from{transform:scale(2) translate(-45%,50%)}to{transform:scale(2) translate(-55%,50%)}}
@keyframes spbFieldFar{from{transform:translate(55%,52%)}to{transform:translate(45%,48%)}}
body.spb-has-motion .site-header{position:sticky;z-index:140}
body.spb-has-motion main,body.spb-has-motion .site-footer{position:relative;z-index:1}
body.spb-has-motion .page-intro,body.spb-has-motion .section,body.spb-has-motion .spb-oem-section,body.spb-has-motion .contact-band,body.spb-has-motion .wholesale-landing{background:transparent!important}
@media(max-width:960px){.spb-oem-grid{grid-template-columns:1fr}.spb-oem-demo{max-width:650px;width:100%;margin-inline:auto}}
@media(max-width:900px){.spb-brief-grid{grid-template-columns:1fr 1fr}}
@media(max-width:720px){
  .spb-finish-bar{display:grid;gap:.75rem}
  .spb-finish-swatches{justify-content:space-between}
  .spb-finish-swatches button{flex:1}
  .spb-label-film{min-height:420px}
  .spb-label-film-shade{background:linear-gradient(180deg,rgba(4,12,20,.35),rgba(4,12,20,.72))}
  .spb-label-film-copy{padding:1.4rem 1.15rem 2.4rem}
}
@media(max-width:560px){.spb-brief-grid{grid-template-columns:1fr}}
@media(max-width:500px){.spb-oem-options{grid-template-columns:1fr}.spb-oem-copy h2{font-size:clamp(2.4rem,12vw,3.4rem)}.spb-oem-demo{border-radius:20px}}
@keyframes spbFinishScan{0%{top:-24%;opacity:.9}100%{top:108%;opacity:0}}
@media(prefers-reduced-motion:reduce){
  .spb-field-far,.spb-field-near,.spb-brief-grid .card,.spb-oem-options article,.spb-finish-view img,.spb-finish-view::after{animation:none;transition:none}
  .spb-brief-grid .card:hover,.spb-oem-options article:hover{transform:none}
}
