/* PrintBump — Lumen Atelier UI
   A clean-sheet interface for customers and multi-location print studios. */

:root {
  --lu-pearl: #f8f9fc;
  --lu-white: #ffffff;
  --lu-ink: #10131e;
  --lu-muted: #656a78;
  --lu-cyan: #00a9e8;
  --lu-blue: #0868d7;
  --lu-violet: #6f1bd5;
  --lu-violet-deep: #4b0d9e;
  --lu-magenta: #ec0a8b;
  --lu-yellow: #ffd21a;
  --lu-lilac: #e9e1ff;
  --lu-ice: #e7f7fc;
  --lu-raspberry: #ec0a8b;
  --lu-night: #0b0f19;
  --lu-line: rgba(16, 19, 30, .12);
  --lu-glow: 0 32px 100px rgba(111, 27, 213, .17);
}

html { scroll-behavior: smooth; }
body { background: var(--lu-pearl); color: var(--lu-ink); }
#app { max-width: none; width: 100%; overflow: clip; background: var(--lu-pearl); }
#landingScreen { display: block; max-width: none; width: 100%; margin: 0; padding: 0; }

/* Retire every previous landing concept. The application wizard remains live. */
#landingScreen > .hero-v5,
#landingScreen > .intro-section,
#landingScreen > .services-v5,
#landingScreen > .process-v5,
#landingScreen > .track-v5,
#landingScreen > .landing-footer,
#landingScreen > .hero,
#landingScreen > .service-section,
#landingScreen > .trust-strip,
#landingScreen > .track-prompt { display: none !important; }

.lumen-site, .lumen-site * { box-sizing: border-box; }
.lumen-site { background: var(--lu-pearl); }
.lumen-site button, .lumen-site input { font: inherit; }
.lumen-site button, .lumen-site a { -webkit-tap-highlight-color: transparent; }
.lumen-site button:focus-visible, .lumen-site a:focus-visible, .lumen-site input:focus-visible {
  outline: 3px solid var(--lu-raspberry); outline-offset: 4px;
}

/* Navigation */
.topbar {
  position: fixed; inset: 0 0 auto; z-index: 100; width: 100%; max-width: none;
  height: 82px; padding: 0 clamp(22px, 4.8vw, 76px);
  color: var(--lu-ink); border: 0; background: rgba(247, 246, 251, .72);
  backdrop-filter: blur(24px) saturate(160%); transition: height .35s, background .35s, color .35s;
}
.topbar.is-scrolled { height: 68px; color: var(--lu-ink); background: rgba(247, 246, 251, .94); box-shadow: 0 1px var(--lu-line); }
.topbar-brand { position:relative;width:138px;height:70px;overflow:hidden;flex:0 0 138px; }
.brand-logo-image { position:absolute;left:0;top:-29px;width:138px;height:138px;object-fit:contain;display:block;filter:drop-shadow(0 8px 14px rgba(11,15,25,.13)); }
.brand-mark {
  width: 30px; height: 30px; border-radius: 50%; background: var(--lu-violet); color: #fff;
  transform: none; box-shadow: inset -7px -6px 0 rgba(255,255,255,.17);
}
.brand-mark svg { width: 15px; height: 15px; }
.brand-name { color: var(--lu-ink) !important; font-size: 1.05rem; letter-spacing: -.045em; }
.desktop-nav { position: absolute; left: 50%; top: 50%; display: flex; gap: 38px; transform: translate(-50%, -50%); }
.desktop-nav a { color: var(--lu-muted) !important; font-size: .67rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.desktop-nav a:after { background: var(--lu-violet); }
.desktop-nav a:hover { color: var(--lu-ink) !important; }
.topbar .lang-switch, .topbar .icon-btn { background: rgba(255,255,255,.72) !important; border-color: var(--lu-line) !important; color: var(--lu-ink) !important; }
.topbar .lang-opt { color: var(--lu-muted) !important; }
.topbar .lang-opt[aria-pressed="true"] { background: var(--lu-ink) !important; color: #fff !important; }
#themeToggleBtn { display: none; }

/* Hero */
.lumen-hero {
  position: relative; min-height: 100svh; display: grid; grid-template-columns: minmax(0, .88fr) minmax(440px, 1.12fr);
  align-items: center; gap: clamp(34px, 5vw, 94px); padding: 126px clamp(22px, 4.8vw, 76px) 80px;
  overflow: hidden; background:
    radial-gradient(circle at 8% 83%, rgba(216,55,120,.09), transparent 27%),
    radial-gradient(circle at 72% 12%, rgba(91,68,255,.13), transparent 30%), var(--lu-pearl);
}
.lumen-hero:before {
  content: ""; position: absolute; width: 54vw; aspect-ratio: 1; right: -11vw; top: -20vw;
  border: 1px solid rgba(91,68,255,.18); border-radius: 50%; box-shadow: 0 0 0 8vw rgba(91,68,255,.025), 0 0 0 16vw rgba(91,68,255,.018);
}
.lumen-copy { position: relative; z-index: 4; }
.lumen-overline { display: flex; align-items: center; gap: 12px; margin: 0 0 25px; color: var(--lu-violet); font-size: .68rem; font-weight: 700; letter-spacing: .17em; text-transform: uppercase; }
.lumen-overline span { width: 32px; height: 1px; background: currentColor; }
.lumen-copy h1 { margin: 0; color: var(--lu-ink); font-size: clamp(5rem, 9vw, 10.8rem); font-weight: 300; letter-spacing: -.095em; line-height: .74; }
.lumen-copy h1 em { color: var(--lu-violet); font-weight: 700; font-style: italic; }
.lumen-lead { max-width: 500px; margin: 45px 0 30px; color: var(--lu-muted); font-size: clamp(1rem, 1.3vw, 1.18rem); line-height: 1.7; }
.lumen-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.lumen-button { min-height: 60px; padding: 0 24px; border: 1px solid var(--lu-line); border-radius: 999px; cursor: pointer; color: var(--lu-ink); background: rgba(255,255,255,.65); font-size: .76rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; transition: transform .25s, box-shadow .25s, background .25s; }
.lumen-button.primary { border-color: var(--lu-violet); background: var(--lu-violet); color: #fff; box-shadow: 0 16px 38px rgba(91,68,255,.25); }
.lumen-button.primary span { margin-left: 32px; font-size: 1rem; }
.lumen-button:hover { transform: translateY(-3px); box-shadow: var(--lu-glow); }

.lumen-visual { position: relative; z-index: 2; height: min(76vh, 820px); min-height: 560px; will-change: transform; }
.lumen-visual:before {
  content: ""; position: absolute; inset: 4% 1% 6% 5%; border-radius: 48% 52% 46% 54% / 52% 44% 56% 48%;
  background: conic-gradient(from 20deg, rgba(91,68,255,.8), rgba(216,55,120,.26), rgba(231,240,244,.7), rgba(91,68,255,.8));
  filter: blur(1px); animation: lumen-breathe 8s ease-in-out infinite alternate;
}
.lumen-image {
  position: absolute; inset: 5% 2% 7% 6%; overflow: hidden;
  border-radius: 48% 52% 46% 54% / 52% 44% 56% 48%;
  background: url('./assets/lumen-paper-sculpture-v1.png') center / cover no-repeat;
  box-shadow: var(--lu-glow); clip-path: inset(5px);
}
.lumen-image:after { content: ""; position: absolute; inset: 0; background: linear-gradient(135deg, rgba(255,255,255,.18), transparent 50%, rgba(91,68,255,.08)); mix-blend-mode: screen; }
.visual-code { position: absolute; left: 0; top: 18%; padding: 10px 13px; border-radius: 999px; background: rgba(255,255,255,.82); backdrop-filter: blur(12px); color: var(--lu-violet); font-size: .55rem; font-weight: 700; letter-spacing: .18em; }
.visual-caption { position: absolute; right: -5px; bottom: 11%; color: var(--lu-ink); font-size: .66rem; font-weight: 700; letter-spacing: .13em; line-height: 1.5; text-transform: uppercase; }
.lumen-status { position: absolute; z-index: 7; left: clamp(22px,4.8vw,76px); bottom: 26px; display: flex; align-items: center; gap: 18px; color: var(--lu-muted); font-size: .67rem; }
.lumen-status span { display: flex; align-items: center; gap: 7px; text-transform: uppercase; letter-spacing: .1em; }
.lumen-status i { width: 7px; height: 7px; border-radius: 50%; background: #29bd80; box-shadow: 0 0 0 5px rgba(41,189,128,.11); }
.lumen-status b { color: var(--lu-ink); }.lumen-status small { color: var(--lu-muted); }
@keyframes lumen-breathe { to { transform: rotate(2deg) scale(1.025); border-radius: 53% 47% 52% 48% / 44% 54% 46% 56%; } }

/* Customer print menu */
.print-menu { padding: clamp(110px, 13vw, 190px) clamp(22px, 4.8vw, 76px); background: var(--lu-night); color: #fff; }
.lumen-section-head { display: grid; grid-template-columns: .65fr 1.35fr; gap: 40px; align-items: end; margin-bottom: 66px; }
.lumen-section-head p { margin: 0; color: #a99eff; font-size: .7rem; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.lumen-section-head h2 { margin: 0; color: #fff; font-size: clamp(3.5rem, 6.7vw, 7.6rem); font-weight: 300; letter-spacing: -.07em; line-height: .9; }
.print-menu-list { border-top: 1px solid rgba(255,255,255,.16); }
.print-option { position: relative; width: 100%; display: grid; grid-template-columns: 70px 1.15fr 1fr 170px 32px; gap: clamp(16px,3vw,52px); align-items: center; min-height: 190px; padding: 24px 0; border: 0; border-bottom: 1px solid rgba(255,255,255,.16); color: #fff; background: transparent; text-align: left; cursor: pointer; overflow: hidden; }
.print-option:before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, var(--lu-violet), #7662ff); transform: translateX(-102%); transition: transform .42s cubic-bezier(.2,.8,.2,1); }
.print-option:hover:before { transform: translateX(0); }
.print-option > * { position: relative; z-index: 1; }
.option-number { color: #918ba0; font-size: .62rem; letter-spacing: .15em; }
.option-name { font-size: clamp(2rem,3.5vw,4rem); font-weight: 300; letter-spacing: -.055em; line-height: .9; }
.option-detail { max-width: 370px; color: #a9a4b4; font-size: .88rem; line-height: 1.65; }
.option-price { font-size: .72rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.print-option > i { font-size: 1.4rem; font-style: normal; transition: transform .3s; }
.print-option:hover .option-detail,.print-option:hover .option-number { color: rgba(255,255,255,.76); }
.print-option:hover > i { transform: rotate(45deg); }

/* Seamless experience */
.lumen-experience { position: relative; min-height: 900px; display: grid; grid-template-columns: 1fr 1fr; gap: 8vw; align-items: center; padding: clamp(110px,13vw,190px) clamp(22px,7vw,110px); overflow: hidden; background: var(--lu-white); }
.experience-orbit { position: absolute; left: -13vw; top: 50%; width: 54vw; aspect-ratio: 1; border: 1px solid var(--lu-lilac); border-radius: 50%; transform: translateY(-50%); }
.experience-orbit:before,.experience-orbit:after { content:""; position:absolute; border:1px solid var(--lu-lilac); border-radius:50%; inset:12%; }.experience-orbit:after{inset:28%}
.experience-orbit span { position: absolute; z-index: 2; color: var(--lu-violet); font-size: .6rem; font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.experience-orbit span:nth-child(1){left:81%;top:11%}.experience-orbit span:nth-child(2){right:-1%;top:42%}.experience-orbit span:nth-child(3){left:76%;bottom:13%}.experience-orbit span:nth-child(4){left:45%;bottom:-4%}
.experience-orbit i { position: absolute; inset: 38%; border-radius: 50%; background: radial-gradient(circle at 30% 25%,#fff,var(--lu-lilac) 45%,var(--lu-violet)); box-shadow: 0 20px 70px rgba(91,68,255,.3); }
.experience-copy { position: relative; z-index: 2; grid-column: 2; }
.experience-copy h2,.partner-copy h2,.pricing-heading h2,.lumen-track h2 { margin: 0; color: var(--lu-ink); font-size: clamp(3.8rem,6.4vw,7.3rem); font-weight: 300; letter-spacing: -.075em; line-height: .88; }
.experience-copy>p:not(.lumen-overline) { max-width: 570px; margin: 35px 0; color: var(--lu-muted); line-height: 1.75; }
.experience-copy button { padding: 0 0 12px; border: 0; border-bottom: 1px solid var(--lu-ink); color: var(--lu-ink); background: none; font-weight: 700; cursor: pointer; }
.experience-copy button span { margin-left: 70px; }
.experience-proof { position: absolute; z-index: 3; left: 15vw; top: 50%; width: min(320px,25vw); padding: 18px; border: 1px solid rgba(255,255,255,.8); border-radius: 22px; background: rgba(255,255,255,.5); backdrop-filter: blur(26px); box-shadow: var(--lu-glow); transform: translateY(-50%) rotate(-5deg); }
.proof-top { display:flex;align-items:center;gap:9px;color:var(--lu-muted);font-size:.5rem;letter-spacing:.14em}.proof-top i{flex:1;height:1px;background:var(--lu-line)}.proof-top b{color:#26815f}
.proof-sheet { aspect-ratio:.82; display:flex;flex-direction:column;align-items:center;justify-content:center;margin:16px 0;border-radius:13px;background:linear-gradient(145deg,#fff,#e1ddff);box-shadow:inset 0 1px #fff}.proof-sheet span{color:var(--lu-violet);font-size:.7rem;font-weight:700}.proof-sheet strong{font-size:5rem;font-weight:300;letter-spacing:-.09em}.proof-sheet small{font-size:.42rem;letter-spacing:.16em}
.proof-meta-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:5px}.proof-meta-grid span{font-size:.46rem;line-height:1.5;color:var(--lu-muted)}.proof-meta-grid b{color:var(--lu-ink);font-size:.62rem}

/* Partner suite */
.partner-suite { display:grid;grid-template-columns:.9fr 1.1fr;gap:8vw;align-items:center;padding:clamp(110px,13vw,190px) clamp(22px,6vw,94px);background:#28203a;color:#fff; }
.partner-copy .lumen-overline { color:#b9b0ff; }.partner-copy h2{color:#fff}.partner-copy>p:not(.lumen-overline){max-width:560px;margin:34px 0;color:#bdb7c9;line-height:1.75}
.partner-copy ul{list-style:none;margin:42px 0;padding:0;border-top:1px solid rgba(255,255,255,.14)}.partner-copy li{display:flex;gap:20px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.14);font-size:.85rem}.partner-copy li span{color:#a99eff;font-size:.58rem;letter-spacing:.12em}
.suite-link{display:inline-flex;gap:70px;padding-bottom:11px;border-bottom:1px solid #fff;color:#fff;font-weight:700;font-size:.8rem}
.suite-ui { position:relative;min-height:620px;padding:30px;border:1px solid rgba(255,255,255,.17);border-radius:32px;background:linear-gradient(150deg,rgba(255,255,255,.14),rgba(255,255,255,.035));box-shadow:0 50px 120px rgba(0,0,0,.28);backdrop-filter:blur(20px); }
.suite-ui:before{content:"";position:absolute;inset:9% -8% -8% 10%;z-index:-1;border-radius:42px;background:var(--lu-violet);filter:blur(1px);opacity:.45}
.suite-bar{display:flex;align-items:center;gap:12px;color:#d8d3e2;font-size:.76rem}.suite-bar>i{margin-left:auto;font-style:normal;letter-spacing:4px}.suite-logo{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:#fff;color:var(--lu-violet);font-weight:700}
.suite-total{margin:70px 0 30px}.suite-total small{display:block;color:#aaa3b8}.suite-total strong{display:block;margin:7px 0;color:#fff;font-size:clamp(2.7rem,4.4vw,5rem);font-weight:300;letter-spacing:-.06em}.suite-total>span{color:#8cf0c5;font-size:.72rem}
.suite-chart{height:120px;display:flex;align-items:end;gap:8px;padding-bottom:18px;border-bottom:1px solid rgba(255,255,255,.12)}.suite-chart i{flex:1;height:var(--h);border-radius:9px 9px 2px 2px;background:linear-gradient(#9f92ff,#5b44ff)}
.suite-locations{margin-top:18px}.suite-locations>div{display:grid;grid-template-columns:10px 1fr auto;gap:13px;align-items:center;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1)}.suite-locations i{width:7px;height:7px;border-radius:50%;background:#817b8b}.suite-locations i.live{background:#53d69f;box-shadow:0 0 0 4px rgba(83,214,159,.12)}.suite-locations span b,.suite-locations span small{display:block}.suite-locations span b{font-size:.76rem}.suite-locations span small{margin-top:3px;color:#9d96aa;font-size:.6rem}.suite-locations>div>strong{font-size:.7rem;color:#b9b0ff}

/* Partner pricing */
.partner-pricing{padding:clamp(110px,13vw,190px) clamp(22px,4.8vw,76px);background:#efedf8}
.pricing-heading{display:grid;grid-template-columns:1.3fr .7fr;gap:50px;align-items:end;margin-bottom:72px}.pricing-heading h2{font-size:clamp(3.8rem,7vw,8rem)}.pricing-note{justify-self:end;max-width:280px;padding-left:25px;border-left:1px solid var(--lu-line)}.pricing-note span,.pricing-note b{display:block}.pricing-note span{font-size:.66rem;text-transform:uppercase;letter-spacing:.12em}.pricing-note b{margin:8px 0;color:var(--lu-violet)}.pricing-note p{margin:0;color:var(--lu-muted);font-size:.76rem;line-height:1.5}
.pricing-table{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--lu-line);background:rgba(255,255,255,.34)}
.price-plan{position:relative;display:flex;flex-direction:column;min-height:650px;padding:34px;border-right:1px solid var(--lu-line);color:var(--lu-ink)}.price-plan:last-child{border-right:0}.price-plan.signature{margin:-18px 0;background:var(--lu-violet);color:#fff;box-shadow:0 30px 80px rgba(91,68,255,.28);border:0}.plan-ribbon{position:absolute;top:18px;right:18px;padding:7px 10px;border-radius:999px;background:#fff;color:var(--lu-violet);font-size:.52rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}
.plan-head span,.plan-head small{display:block}.plan-head span{font-size:.65rem;font-weight:700;letter-spacing:.16em}.plan-head small{margin-top:10px;color:var(--lu-muted)}.signature .plan-head small{color:#c9c4ff}
.plan-price{display:flex;align-items:baseline;gap:7px;margin:58px 0 35px}.plan-price sup{font-size:.56rem;font-weight:700}.plan-price strong{font-size:clamp(2.7rem,4vw,4.7rem);font-weight:300;letter-spacing:-.07em}.plan-price>span{font-size:.62rem;color:var(--lu-muted)}.signature .plan-price>span{color:#d8d4ff}
.plan-location{display:flex;align-items:center;gap:16px;padding:25px 0;border-block:1px solid var(--lu-line)}.signature .plan-location{border-color:rgba(255,255,255,.2)}.plan-location b{font-size:4.5rem;font-weight:300;line-height:.8}.plan-location span{font-size:.62rem;line-height:1.4;text-transform:uppercase;letter-spacing:.1em}
.price-plan ul{list-style:none;margin:30px 0;padding:0}.price-plan li{padding:9px 0;color:var(--lu-muted);font-size:.78rem}.price-plan li:before{content:"✓";margin-right:10px;color:var(--lu-violet)}.signature li{color:#eceaff}.signature li:before{color:#fff}
.price-plan>a{display:flex;align-items:center;justify-content:space-between;margin-top:auto;min-height:58px;padding:0 18px;border:1px solid var(--lu-ink);border-radius:999px;color:var(--lu-ink);font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em}.signature>a{border-color:#fff;background:#fff;color:var(--lu-violet)}.price-plan>a:hover{background:var(--lu-ink);color:#fff}.signature>a:hover{background:var(--lu-night)}
.pricing-footnote{margin:38px 0 0;text-align:center;color:var(--lu-muted);font-size:.68rem}

/* Tracking and footer */
.lumen-track{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;padding:clamp(110px,12vw,180px) clamp(22px,6vw,94px);background:var(--lu-white)}.lumen-track h2{font-size:clamp(3.8rem,6vw,7rem)}.lumen-track form label{display:block;margin-bottom:12px;color:var(--lu-muted);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.lumen-track form>div{display:flex;border-bottom:1px solid var(--lu-ink)}.lumen-track input{flex:1;min-width:0;height:70px;border:0;background:transparent;color:var(--lu-ink);font-size:1.1rem;outline:0}.lumen-track form button{border:0;background:transparent;color:var(--lu-violet);font-weight:700;cursor:pointer}.lumen-track form button span{margin-left:25px}
.lumen-footer{display:grid;grid-template-columns:1.2fr .8fr;gap:40px;padding:90px clamp(22px,4.8vw,76px) 40px;background:var(--lu-night);color:#fff}.footer-wordmark{font-size:clamp(4.8rem,11vw,13rem);font-weight:300;letter-spacing:-.09em;line-height:.75}.footer-wordmark sup{color:#a99eff;font-size:.5rem;vertical-align:top}.lumen-footer>div:nth-child(2){display:grid;grid-template-columns:1fr 1fr;gap:16px;align-content:start}.lumen-footer p{grid-column:1/-1;margin:0 0 30px;color:#aaa4b4;font-size:1.05rem;line-height:1.5}.lumen-footer a,.lumen-footer button{padding:0;border:0;background:none;color:#fff;text-align:left;font-size:.75rem;cursor:pointer}.lumen-footer small{grid-column:1/-1;margin-top:80px;padding-top:25px;border-top:1px solid rgba(255,255,255,.12);color:#777184;font-size:.62rem}

/* The working order flow inherits the Lumen material language. */
[data-theme="light"]{--brand:#5b44ff;--brand-hover:#4932ee;--brand-soft:rgba(91,68,255,.09);--brand-text:#4d38e7;--accent:#d83778;--accent-soft:rgba(216,55,120,.1);--accent-text:#b82560;--bg:#f7f6fb;--surface:#fff;--surface-2:#efedf8;--surface-3:#ddd8ff;--shell-max:720px;--r-md:14px;--r-lg:20px;--r-xl:28px}
#wizardScreen{position:relative;min-height:100svh;padding-top:82px;overflow:hidden;background:radial-gradient(circle at 85% 10%,rgba(91,68,255,.15),transparent 30%),var(--lu-pearl)}
#wizardScreen:before{content:"";position:fixed;z-index:0;width:65vw;aspect-ratio:1;right:-20vw;bottom:-30vw;border:1px solid var(--lu-lilac);border-radius:50%;box-shadow:0 0 0 9vw rgba(91,68,255,.025),0 0 0 18vw rgba(91,68,255,.018)}
.wizard-nav{position:sticky;top:82px;z-index:30;max-width:720px;margin:auto;padding:15px 22px;border:1px solid rgba(255,255,255,.85);border-radius:0 0 22px 22px;background:rgba(255,255,255,.64);backdrop-filter:blur(24px);box-shadow:0 14px 50px rgba(91,68,255,.08)}
.wiz-progress{max-width:680px;height:3px;margin:auto;background:var(--lu-lilac)}.wiz-progress-fill{background:linear-gradient(90deg,var(--lu-violet),var(--lu-raspberry))}
.wiz-content{position:relative;z-index:2;width:min(720px,calc(100% - 40px));margin:34px auto 80px;padding:clamp(30px,5vw,62px);border:1px solid rgba(255,255,255,.9);border-radius:28px;background:rgba(255,255,255,.76);box-shadow:0 35px 100px rgba(55,43,116,.12);backdrop-filter:blur(30px)}
.step-title{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:300;letter-spacing:-.065em}.step-eyebrow{color:var(--lu-violet)}.upload-zone,.doc-dropzone,.photo-upload-zone{border-color:var(--lu-lilac);border-radius:22px;background:rgba(255,255,255,.6)}.upload-icon{border-radius:50%;background:var(--lu-violet);box-shadow:0 14px 35px rgba(91,68,255,.25)}.chip,.bg-pill,.qty-row,.field-input{border-radius:14px}.chip.selected,.bg-pill.selected{border-color:var(--lu-violet);box-shadow:inset 0 0 0 1px var(--lu-violet),0 10px 30px rgba(91,68,255,.08)}.cta-btn{border-radius:999px;background:var(--lu-violet);box-shadow:0 12px 34px rgba(91,68,255,.25)}.cta-btn:hover{background:var(--lu-violet-deep)}.bottom-bar{border:0;background:rgba(247,246,251,.9);backdrop-filter:blur(26px);box-shadow:0 -1px var(--lu-line)}.modal-card,.modal-sheet{border:1px solid rgba(255,255,255,.9);border-radius:28px;background:rgba(255,255,255,.9);backdrop-filter:blur(30px)}

/* Mobile */
@media(max-width:800px){
  body{padding-bottom:76px}.topbar{height:66px;padding:0 15px}.topbar.is-scrolled{height:62px}.desktop-nav,.topbar #openTrackBtn{display:none}.brand-name{font-size:.95rem}.topbar-actions{gap:6px}
  .lumen-hero{min-height:auto;display:flex;flex-direction:column;gap:12px;padding:94px 18px 70px}.lumen-copy{order:2;width:100%;margin-top:-24px}.lumen-overline{margin-bottom:18px}.lumen-copy h1{font-size:clamp(4.3rem,21vw,6rem);line-height:.75}.lumen-lead{margin:27px 0 23px;font-size:.92rem;line-height:1.6}.lumen-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}.lumen-button{min-height:54px;padding:0 13px;font-size:.61rem}.lumen-button.primary span{display:none}
  .lumen-visual{order:1;width:100%;height:46svh;min-height:340px}.lumen-visual:before,.lumen-image{inset:0 4% 0}.visual-code{left:2%;top:12%}.visual-caption{right:2%;bottom:5%}.lumen-status{position:relative;order:3;left:auto;bottom:auto;width:100%;margin-top:14px;justify-content:space-between}.lumen-status small{display:none}
  .print-menu{padding:90px 18px}.lumen-section-head{grid-template-columns:1fr;gap:20px;margin-bottom:42px}.lumen-section-head h2{font-size:3.5rem}.print-option{grid-template-columns:35px 1fr 24px;gap:12px;min-height:175px}.option-name{font-size:2.25rem}.option-detail{grid-column:2/-1;font-size:.75rem}.option-price{grid-column:2}.print-option>i{grid-column:3;grid-row:1}.print-option:before{display:none}
  .lumen-experience{min-height:900px;display:block;padding:90px 18px}.experience-orbit{left:-70vw;top:25%;width:145vw}.experience-copy{position:relative;z-index:4;margin-top:470px}.experience-copy h2,.partner-copy h2,.pricing-heading h2,.lumen-track h2{font-size:3.6rem}.experience-proof{left:24%;top:28%;width:230px}
  .partner-suite{grid-template-columns:1fr;gap:70px;padding:90px 18px}.suite-ui{min-height:550px;padding:22px;border-radius:24px}.suite-total{margin-top:55px}.suite-total strong{font-size:2.7rem}
  .partner-pricing{padding:90px 18px}.pricing-heading{grid-template-columns:1fr;gap:30px;margin-bottom:50px}.pricing-heading h2{font-size:3.7rem}.pricing-note{justify-self:start}.pricing-table{grid-template-columns:1fr}.price-plan{min-height:590px;border-right:0;border-bottom:1px solid var(--lu-line);padding:28px}.price-plan.signature{margin:0}.plan-price{margin:42px 0 28px}.plan-location b{font-size:4rem}
  .lumen-track{grid-template-columns:1fr;gap:55px;padding:90px 18px}.lumen-track form>div{display:grid}.lumen-track form button{height:54px;text-align:left}.lumen-track form button span{float:right}
  .lumen-footer{grid-template-columns:1fr;padding:75px 18px 32px}.footer-wordmark{font-size:5.2rem}.lumen-footer small{margin-top:50px}
  .mobile-dock{position:fixed;z-index:120;display:grid;grid-template-columns:repeat(4,1fr);left:10px;right:10px;bottom:8px;height:64px;padding:5px;border:1px solid rgba(255,255,255,.3);border-radius:22px;background:rgba(36,27,63,.92);box-shadow:0 18px 55px rgba(23,16,44,.28);backdrop-filter:blur(24px)}.mobile-dock a,.mobile-dock button{color:#aaa2bf}.mobile-dock .active{color:#fff}
  #wizardScreen{padding-top:66px}.wizard-nav{top:66px;border-inline:0;border-radius:0 0 18px 18px}.wiz-content{width:calc(100% - 22px);margin-top:18px;padding:27px 17px;border-radius:22px}.bottom-bar-inner{padding-inline:16px}
}

/* Customer app shape system: every previously rounded surface resolves to 5px. */
:root{--print-radius:5px}
#app *,#app *::before,#app *::after{border-radius:var(--print-radius)!important}

@media(max-width:390px){.lumen-copy h1{font-size:4.15rem}.lumen-actions{grid-template-columns:1fr}.lumen-visual{height:41svh}.experience-copy h2,.partner-copy h2,.pricing-heading h2,.lumen-track h2{font-size:3.15rem}.option-name{font-size:2rem}.footer-wordmark{font-size:4.5rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.lumen-visual{transform:none!important}.lumen-visual:before{animation:none}.print-option:before,.lumen-button{transition:none}}

/* Brand navigation — derived from the PrintBump customer mark. */
.topbar-brand .brand-mark { display:none; }
.desktop-nav { padding:5px;gap:3px;border:1px solid transparent;border-radius:999px;background:linear-gradient(rgba(255,255,255,.84),rgba(255,255,255,.84)) padding-box,linear-gradient(105deg,rgba(0,169,232,.42),rgba(111,27,213,.28),rgba(236,10,139,.36)) border-box;box-shadow:0 14px 45px rgba(16,19,30,.08);backdrop-filter:blur(20px); }
.desktop-nav a { min-height:38px;display:flex;align-items:center;padding:0 17px;border-radius:999px;color:#646879!important;transition:background .25s,color .25s,box-shadow .25s,transform .25s; }
.desktop-nav a:before,.desktop-nav a:after { content:none!important;display:none!important; }
.desktop-nav a,.desktop-nav a:hover,.desktop-nav a:focus,.desktop-nav a:active,.desktop-nav a:visited { text-decoration:none!important;border-bottom:0!important; }
.desktop-nav a:hover { color:var(--lu-violet)!important;background:var(--lu-ice);transform:translateY(-1px); }
.desktop-nav a.active { color:#fff!important;background:linear-gradient(115deg,var(--lu-cyan),var(--lu-blue) 38%,var(--lu-violet) 72%,var(--lu-magenta));box-shadow:0 8px 20px rgba(111,27,213,.24); }
.topbar.is-scrolled .desktop-nav { background:rgba(255,255,255,.88); }
.lumen-site a { text-decoration:none;transition:color .22s,background .22s,border-color .22s,transform .22s,box-shadow .22s; }
.lumen-site a:not(.price-plan>a):hover { color:#06b6d4; }
.suite-link:hover { padding-left:10px;border-color:var(--lu-cyan); }
.price-plan>a { position:relative;overflow:hidden; }
.price-plan>a span { transition:transform .22s; }.price-plan>a:hover span{transform:translate(3px,-3px)}
.lumen-footer a,.lumen-footer button { position:relative;width:max-content;padding-bottom:7px; }
.lumen-footer a:after,.lumen-footer button:after { content:"";position:absolute;left:0;right:100%;bottom:0;height:1px;background:linear-gradient(90deg,var(--lu-cyan),var(--lu-violet),var(--lu-magenta));transition:right .25s; }
.lumen-footer a:hover:after,.lumen-footer button:hover:after { right:0; }
.mobile-dock a,.mobile-dock button,.mobile-dock a:hover,.mobile-dock a:focus,.mobile-dock a:active { text-decoration:none!important;border-bottom:0!important; }
.mobile-dock a:before,.mobile-dock a:after,.mobile-dock button:before,.mobile-dock button:after { content:none!important;display:none!important; }
.mobile-dock .active { color:#fff; }.mobile-dock .active span{color:var(--lu-cyan)}
@media(max-width:950px) and (min-width:801px){.desktop-nav a{padding-inline:11px;font-size:.59rem}.desktop-nav{gap:1px}}

/* Logo-led CMYK balance: vibrant at interaction points, quiet everywhere else. */
.lumen-hero{background:radial-gradient(circle at 8% 83%,rgba(236,10,139,.075),transparent 27%),radial-gradient(circle at 72% 12%,rgba(0,169,232,.12),transparent 30%),var(--lu-pearl)}
.lumen-copy h1 em{background:linear-gradient(105deg,var(--lu-cyan) 0%,var(--lu-blue) 26%,var(--lu-violet) 58%,var(--lu-magenta) 88%);-webkit-background-clip:text;background-clip:text;color:transparent}
.lumen-button.primary{border-color:var(--lu-ink);background:var(--lu-ink);box-shadow:0 16px 38px rgba(11,15,25,.22)}
.lumen-button.primary:hover{background:var(--lu-violet);border-color:var(--lu-violet)}
.lumen-status i,.suite-locations i.live{background:var(--lu-cyan)}
.price-plan.signature{background:linear-gradient(155deg,var(--lu-violet-deep),var(--lu-violet) 64%,#8d20cf)}
.plan-ribbon{background:var(--lu-yellow);color:var(--lu-night)}
.wiz-progress-fill{background:linear-gradient(90deg,var(--lu-cyan),var(--lu-violet),var(--lu-magenta))}
@media(max-width:800px){
  .topbar-brand{width:102px;height:56px;flex-basis:102px}.brand-logo-image{top:-22px;width:102px;height:102px}
  .mobile-dock{background:rgba(11,15,25,.94);border-color:rgba(0,169,232,.2);box-shadow:0 18px 55px rgba(11,15,25,.3)}
}

/* PRESS / 01 — white, black and signal orange across the complete experience. */
:root{
  --lu-pearl:#fff;--lu-white:#fff;--lu-ink:#090909;--lu-muted:#626262;
  --lu-cyan:#ff5a1f;--lu-blue:#ff5a1f;--lu-violet:#ff5a1f;--lu-violet-deep:#d83a00;
  --lu-magenta:#ff5a1f;--lu-yellow:#ff5a1f;--lu-lilac:#ffe3d7;--lu-ice:#fff4ef;
  --lu-raspberry:#ff5a1f;--lu-night:#090909;--lu-line:rgba(9,9,9,.14);
  --lu-glow:0 28px 80px rgba(9,9,9,.18);--press-orange:#ff5a1f;--press-black:#090909;
}
body,#app,.lumen-site{background:#fff;color:var(--press-black)}
::selection{background:var(--press-orange);color:#000}
.lumen-site button:focus-visible,.lumen-site a:focus-visible,.lumen-site input:focus-visible{outline-color:var(--press-orange)}

/* The supplied logo floats whole above the shell instead of being cropped. */
.topbar{overflow:visible;background:rgba(255,255,255,.88);border-bottom:1px solid rgba(9,9,9,.08)}
.topbar.is-scrolled{background:rgba(255,255,255,.96);box-shadow:0 10px 35px rgba(0,0,0,.055)}
.topbar-brand{position:absolute!important;left:clamp(18px,4.5vw,72px);top:-15px;width:152px!important;height:152px!important;overflow:visible!important;z-index:4;flex:none!important}
.brand-logo-image{position:absolute;inset:0!important;width:152px!important;height:152px!important;object-fit:contain;filter:grayscale(1) contrast(1.12) drop-shadow(0 10px 18px rgba(0,0,0,.13))}
.desktop-nav{border-color:rgba(9,9,9,.14);background:rgba(255,255,255,.92);box-shadow:0 12px 36px rgba(0,0,0,.065)}
.desktop-nav a:hover{color:#000!important;background:#fff0e9}
.desktop-nav a.active{color:#000!important;background:var(--press-orange);box-shadow:0 8px 22px rgba(255,90,31,.25)}
.topbar .lang-switch,.topbar .icon-btn{background:#fff!important;border-color:rgba(9,9,9,.15)!important;color:#000!important}
.topbar .lang-opt[aria-pressed="true"]{background:#000!important;color:#fff!important}

/* Hero campaign poster. Artwork supplies texture; HTML supplies perfect type. */
.lumen-hero{background:#fff;grid-template-columns:minmax(0,.82fr) minmax(460px,1.18fr);gap:clamp(35px,5.5vw,105px)}
.lumen-hero:before{right:auto;left:0;top:auto;bottom:0;width:36vw;height:9px;aspect-ratio:auto;border:0;background:var(--press-orange);box-shadow:none}
.lumen-overline{color:var(--press-orange)}
.lumen-copy h1{color:#000}.lumen-copy h1 em{background:none;color:var(--press-orange);-webkit-text-fill-color:var(--press-orange)}
.lumen-lead{color:#555}
.lumen-button{border-color:#000;background:#fff;color:#000}
.lumen-button.primary{border-color:var(--press-orange);background:var(--press-orange);color:#000;box-shadow:8px 8px 0 #000}
.lumen-button.primary:hover{border-color:#000;background:#000;color:#fff;box-shadow:8px 8px 0 var(--press-orange)}
.lumen-button.ghost:hover{background:#fff0e9;box-shadow:none}
.lumen-visual.hero-poster{height:min(78vh,860px);min-height:590px;isolation:isolate}
.lumen-visual.hero-poster:before{inset:0 1% 0 4%;border:0;background:#000;animation:none;transform:rotate(2.2deg);box-shadow:16px 20px 0 var(--press-orange)}
.hero-poster .lumen-image{inset:10px 3% 10px 2%;border:8px solid #000;background:url('./assets/press-specimen-poster-v1.png') center/cover no-repeat;clip-path:none;box-shadow:0 32px 80px rgba(0,0,0,.22)}
.hero-poster .lumen-image:after{background:linear-gradient(100deg,rgba(255,255,255,.05),transparent 52%,rgba(0,0,0,.08));mix-blend-mode:normal}
.poster-type{position:absolute;z-index:5;left:7%;top:7%;width:52%;color:#000;text-transform:uppercase}
.poster-index{display:block;margin-bottom:clamp(28px,5vh,58px);font-size:.55rem;font-weight:700;letter-spacing:.17em}
.poster-type strong{display:block;font-size:clamp(3.8rem,6.8vw,8rem);font-weight:700;letter-spacing:-.09em;line-height:.7}
.poster-type strong em{display:block;margin-left:18%;color:var(--press-orange);font-style:normal}
.poster-type p{margin:clamp(26px,4vh,48px) 0 0;font-size:.67rem;font-weight:700;letter-spacing:.08em;line-height:1.5}
.poster-seal{position:absolute;z-index:6;right:5%;top:8%;display:grid;place-items:center;width:78px;height:78px;background:var(--press-orange);color:#000;font-size:.56rem;font-weight:800;letter-spacing:.12em;box-shadow:6px 6px 0 #000}
.poster-seal b{display:block;margin-bottom:-23px;font-size:2rem;letter-spacing:-.08em}
.hero-poster .visual-code{z-index:6;left:7%;top:auto;bottom:6%;padding:8px 10px;background:#000;color:#fff;letter-spacing:.12em}
.hero-poster .visual-caption{z-index:6;right:6%;bottom:5%;padding:8px;background:var(--press-orange);color:#000;text-align:right}
.lumen-status i{background:var(--press-orange);box-shadow:0 0 0 5px rgba(255,90,31,.13)}

/* Black is structure, orange is action, white is reading space. */
.print-menu{background:#000}.lumen-section-head p,.option-price{color:var(--press-orange)}
.print-option:before{background:var(--press-orange)}.print-option:hover,.print-option:hover .option-detail,.print-option:hover .option-number{color:#000}
.lumen-experience{background:#fff}.experience-orbit,.experience-orbit:before,.experience-orbit:after{border-color:#ffc7ad}.experience-orbit span{color:var(--press-orange)}.experience-orbit i{background:var(--press-orange);box-shadow:12px 12px 0 #000}
.proof-top b{color:var(--press-orange)}.proof-sheet{background:linear-gradient(145deg,#fff,#f1f1f1)}.proof-sheet span{color:var(--press-orange)}
.partner-suite{background:var(--press-orange);color:#000}.partner-copy .lumen-overline,.partner-copy h2,.partner-copy>p:not(.lumen-overline){color:#000}.partner-copy ul{border-color:rgba(0,0,0,.22)}.partner-copy li{border-color:rgba(0,0,0,.22)}.partner-copy li span{color:#000}.suite-link{border-color:#000;color:#000}
.suite-ui{border-color:rgba(255,255,255,.18);background:#0d0d0d;color:#fff;box-shadow:18px 18px 0 rgba(0,0,0,.2)}.suite-ui:before{background:#fff;opacity:.2}.suite-logo{color:#000}.suite-chart i{background:linear-gradient(#ff8b5f,var(--press-orange))}.suite-total>span,.suite-locations>div>strong{color:#ff8b5f}.suite-locations i.live{background:var(--press-orange)}
.partner-pricing{background:#f5f5f2}.price-plan.signature{background:#000;color:#fff;box-shadow:14px 14px 0 var(--press-orange)}.plan-ribbon{background:var(--press-orange);color:#000}.pricing-note b,.price-plan li:before{color:var(--press-orange)}.signature>a{border-color:var(--press-orange);background:var(--press-orange);color:#000}
.lumen-track{background:#fff}.lumen-track form button{color:var(--press-orange)}.lumen-footer{background:#000}.footer-wordmark sup{color:var(--press-orange)}
.lumen-site a:not(.price-plan>a):hover{color:var(--press-orange)}

/* The working order flow uses the same three-colour production language. */
[data-theme="light"],[data-theme="dark"]{--brand:#ff5a1f;--brand-hover:#e0440d;--brand-soft:rgba(255,90,31,.11);--brand-text:#c73800;--accent:#090909;--accent-soft:rgba(9,9,9,.08);--accent-text:#090909;--bg:#fff;--surface:#fff;--surface-2:#f4f4f1;--surface-3:#e8e8e4;--text:#090909;--text-muted:#666;--border:rgba(9,9,9,.15);--on-brand:#090909}
#wizardScreen{background:linear-gradient(110deg,#fff 0 76%,#fff0e9 76%)}
#wizardScreen:before{border-color:rgba(255,90,31,.24);box-shadow:0 0 0 9vw rgba(255,90,31,.035),0 0 0 18vw rgba(255,90,31,.02)}
.wizard-nav,.wiz-content,.bottom-bar,.modal-card,.modal-sheet{background:rgba(255,255,255,.94)}
.wiz-progress-fill{background:var(--press-orange)}.upload-icon{background:#000}.chip.selected,.bg-pill.selected{border-color:var(--press-orange);box-shadow:inset 0 0 0 1px var(--press-orange),6px 6px 0 rgba(255,90,31,.14)}
.cta-btn{background:var(--press-orange);color:#000;box-shadow:6px 6px 0 #000}.cta-btn:hover{background:#000;color:#fff}
.mobile-dock{background:rgba(9,9,9,.96)!important;border-color:rgba(255,90,31,.35)!important}.mobile-dock .active,.mobile-dock .active span{color:var(--press-orange)}

@media(max-width:800px){
  .topbar-brand{left:10px;top:-5px;width:112px!important;height:112px!important}.brand-logo-image{width:112px!important;height:112px!important}
  .lumen-hero{padding-top:128px}.lumen-visual.hero-poster{height:58svh;min-height:440px}.poster-type{left:9%;top:8%;width:57%}.poster-type strong{font-size:clamp(3.8rem,15vw,6.4rem)}.poster-seal{width:62px;height:62px;right:7%}.poster-seal b{font-size:1.6rem;margin-bottom:-18px}
  .partner-suite{background:var(--press-orange)}
}

/* Clear hero typography and a truly top-right language control. */
.topbar-actions{
  position:absolute;
  right:clamp(18px,4.5vw,72px);
  top:50%;
  transform:translateY(-50%);
}
.topbar #openTrackBtn{order:1}.topbar .lang-switch{order:2}
.topbar .lang-switch{display:grid;grid-template-columns:repeat(2,34px);align-items:center;padding:3px}
.topbar .lang-opt{min-width:34px;height:30px;padding:0;text-align:center}
.lumen-copy{min-width:0}
.lumen-copy h1{max-width:100%;font-size:clamp(4.65rem,7.1vw,8.5rem);line-height:.78}
.poster-type strong>span,.poster-type strong>em{display:block;white-space:nowrap}
.poster-type strong{font-size:clamp(3.35rem,5.55vw,6.75rem);line-height:.76}
.poster-type strong em{margin-left:14%}

@media(max-width:800px){
  .topbar-actions{right:12px;top:12px;transform:none}
  .topbar .lang-switch{grid-template-columns:repeat(2,32px)}
  .topbar .lang-opt{min-width:32px;height:28px}
  .lumen-copy h1{font-size:clamp(4.05rem,20vw,5.7rem)}
  .poster-type{width:64%}
  .poster-type strong{font-size:clamp(3rem,13vw,4.55rem);line-height:.78}
  .poster-type strong em{margin-left:10%}
}

@media(max-width:390px){
  .poster-type strong{font-size:clamp(2.7rem,12.5vw,3.2rem)}
  .poster-type p{max-width:150px;font-size:.58rem}
}

/* Edition 22 — tactile product modules and apparel atelier */
.module-showcase{overflow:hidden;background:#080808;padding-inline:0}
.module-heading{grid-template-columns:.7fr 1.2fr auto;padding-inline:clamp(22px,4.8vw,76px);align-items:end}
.module-caption{display:block;max-width:190px;margin-top:18px;color:#777;font-size:.75rem;line-height:1.55}
.module-heading h2{font-size:clamp(4rem,7.5vw,8.8rem)}
.module-controls{display:flex;align-items:center;gap:8px;padding-bottom:7px}.module-controls>span{margin-right:14px;color:#ff5a1f;font-size:.65rem;font-weight:700;letter-spacing:.14em}
.module-controls button{display:grid;place-items:center;width:48px;height:48px;border:1px solid #393939;border-radius:5px;background:#151515;color:#fff;font-size:1.2rem;cursor:pointer;transition:.25s ease}.module-controls button:hover{border-color:#ff5a1f;background:#ff5a1f;color:#000;transform:translateY(-2px)}
.module-showcase .print-menu-list{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(340px,31vw);gap:14px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scroll-padding-inline:clamp(22px,4.8vw,76px);padding:0 clamp(22px,4.8vw,76px) 30px;border:0;scrollbar-width:none}.module-showcase .print-menu-list::-webkit-scrollbar{display:none}
.module-showcase .module-card{scroll-snap-align:start;width:auto;min-height:610px;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:22px;border:1px solid #2b2b2b;border-radius:5px;background:#111;color:#fff;isolation:isolate;transition:border-color .3s,transform .3s;text-align:left}
.module-showcase .module-card:before{inset:auto 0 0;height:42%;background:linear-gradient(0deg,rgba(255,90,31,.16),transparent);transform:none;opacity:0;transition:opacity .3s}
.module-showcase .module-card:hover{border-color:#ff5a1f;transform:translateY(-5px)}.module-showcase .module-card:hover:before{opacity:1}
.module-card .option-number{height:36px;color:#ff5a1f;font-weight:700}
.module-card-art{position:relative!important;display:grid;place-items:center;height:280px;margin:0 -8px 28px;overflow:hidden;border-radius:5px;background:#1b1b1b}
.module-card-art:after{content:"";position:absolute;inset:auto 12% 3%;height:18%;border-radius:50%;background:#000;filter:blur(24px);opacity:.65}.module-card-art img{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;transition:transform .55s cubic-bezier(.2,.8,.2,1)}.module-card:hover .module-card-art img{transform:scale(1.045)}
.module-card .option-name{font-size:clamp(2.35rem,3.3vw,4.2rem);line-height:.87}.module-card .option-detail{margin:18px 0 24px;min-height:42px;color:#8c8c8c;font-size:.74rem;line-height:1.5}.module-card .option-price{margin-top:auto;color:#fff}.module-card>i{position:absolute;right:22px;bottom:19px;color:#ff5a1f}
.module-art-passport{grid-template-columns:repeat(2,70px);gap:6px;background:#e8e5df}.module-art-passport i{display:block;aspect-ratio:.78;border:5px solid #fff;border-radius:2px;background:radial-gradient(circle at 50% 36%,#111 0 13%,transparent 14%),radial-gradient(ellipse at 50% 95%,#ff5a1f 0 33%,transparent 34%),#c8c4bd;box-shadow:0 5px 12px #0002}
.module-passport .module-card-art{background:#151515}.module-passport .module-card-art img{object-fit:contain}
.module-art-document{background:#f15a24}.module-art-document i{position:absolute;width:55%;height:72%;border-radius:2px;background:#fff;box-shadow:0 12px 35px #0003}.module-art-document i:nth-child(1){transform:rotate(-9deg) translate(-20px,8px)}.module-art-document i:nth-child(2){transform:rotate(7deg) translate(18px,8px)}.module-art-document i:nth-child(3){background:repeating-linear-gradient(#fff 0 20px,#111 21px 23px);transform:rotate(-1deg)}
.module-art-photo{background:linear-gradient(140deg,#fefefe 0 45%,#ff5a1f 46%)}.module-art-photo i{width:70%;height:70%;border:10px solid #fff;border-radius:2px;background:linear-gradient(145deg,transparent 48%,#080808 49%),radial-gradient(circle at 68% 28%,#ff5a1f 0 8%,transparent 9%),#bababa;box-shadow:0 18px 35px #0003;transform:rotate(5deg)}
.module-swipe-hint{display:flex;align-items:center;gap:18px;margin:14px clamp(22px,4.8vw,76px) 0;color:#707070;font-size:.6rem;letter-spacing:.13em;text-transform:uppercase}.module-swipe-hint i{height:1px;flex:1;background:linear-gradient(90deg,#ff5a1f 0 18%,#272727 18%)}

.garment-choice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.garment-choice{display:grid;grid-template-columns:120px 1fr auto;gap:18px;align-items:center;padding:10px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text);text-align:left;cursor:pointer}.garment-choice.selected{border-color:#ff5a1f;box-shadow:inset 0 0 0 1px #ff5a1f}.garment-choice-image{height:150px;overflow:hidden;border-radius:3px;background:#111}.garment-choice-image img{width:100%;height:100%;object-fit:cover}.garment-choice span b,.garment-choice span small{display:block}.garment-choice span b{font-size:1rem}.garment-choice span small{margin-top:7px;color:var(--text-muted);font-size:.68rem}.garment-choice>i{color:#ff5a1f;font-size:.65rem;font-style:normal;font-weight:700}
.merch-customizer{display:grid;grid-template-columns:minmax(300px,1.1fr) minmax(240px,.9fr);gap:18px}.product-proof{position:relative;aspect-ratio:4/5;min-height:0;overflow:hidden;border:1px solid #262626;border-radius:5px;background:#111}.product-base{position:absolute;width:100%;height:100%;object-fit:cover}.proof-label{position:absolute;z-index:4;top:14px;left:14px;padding:7px 9px;border-radius:3px;background:#ff5a1f;color:#000;font-size:.55rem;font-weight:700;letter-spacing:.13em}.product-logo{position:absolute;z-index:3;display:none;object-fit:contain;filter:drop-shadow(0 3px 3px #0003)}.product-logo.is-visible{display:block}.shirt-logo{left:40%;top:35%;width:20%;height:18%}.cap-logo{left:39%;top:37%;width:23%;height:13%}.print-boundary{position:absolute;z-index:2;left:39%;top:34%;width:22%;height:20%;border:1px dashed rgba(255,90,31,.7);border-radius:3px}.cap-boundary{left:38%;top:36%;width:25%;height:15%}
.merch-upload{display:flex;min-height:260px;flex-direction:column;align-items:center;justify-content:center;padding:26px;border:1px dashed #999;border-radius:5px;background:var(--surface-2);text-align:center;cursor:pointer;transition:.25s}.merch-upload:hover{border-color:#ff5a1f;background:#fff4ef}.merch-upload input{position:absolute;width:1px;height:1px;opacity:0}.upload-plus{display:grid;place-items:center;width:54px;height:54px;margin-bottom:20px;border-radius:5px;background:#000;color:#ff5a1f;font-size:2rem}.merch-upload b{max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.merch-upload small{margin-top:9px;color:var(--text-muted);font-size:.64rem}
.artwork-controls{display:flex;min-width:0;flex-direction:column;gap:10px}.design-mode-switch{display:grid;grid-template-columns:repeat(3,1fr);padding:4px;border-radius:5px;background:#111}.design-mode-switch button{min-height:45px;border:0;border-radius:3px;background:transparent;color:#999;font-size:.68rem;font-weight:700;cursor:pointer}.design-mode-switch button.selected{background:#ff5a1f;color:#080808}.text-artwork-panel{min-height:260px;padding:22px;border:1px solid var(--border);border-radius:5px;background:var(--surface-2)}.text-artwork-panel>label{display:block;margin-bottom:10px;color:var(--text);font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.text-artwork-panel textarea{width:100%;min-height:120px;resize:none;padding:16px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--text);font:700 1.25rem/1.3 Ubuntu,sans-serif;text-transform:uppercase;outline:0}.text-artwork-panel textarea:focus{border-color:#ff5a1f;box-shadow:0 0 0 2px rgba(255,90,31,.15)}.text-artwork-panel>small{display:block;margin-top:7px;color:var(--text-muted);font-size:.58rem;text-align:right}.text-color-row{display:flex;gap:8px;margin-top:18px}.text-color-row button{width:36px;height:36px;border:3px solid var(--surface);border-radius:5px;background:var(--text);box-shadow:0 0 0 1px var(--border);cursor:pointer}.text-color-row button:nth-child(2){background:#ff5a1f}.text-color-row button.selected{box-shadow:0 0 0 2px #ff5a1f}.product-text{position:absolute;z-index:3;display:none;align-items:center;justify-content:center;overflow:hidden;color:#111;font-weight:700;line-height:1;text-align:center;text-transform:uppercase;word-break:break-word}.product-text.is-visible{display:flex}.shirt-text{left:40%;top:35%;width:20%;height:18%;font-size:clamp(.45rem,1.1vw,.85rem)}.cap-text{left:39%;top:37%;width:23%;height:13%;font-size:clamp(.36rem,.8vw,.65rem)}.bag-logo{left:30%;top:38%;width:40%;height:24%}.bag-text{left:30%;top:38%;width:40%;height:24%;font-size:clamp(.65rem,1.5vw,1.2rem)}.bag-boundary{left:29%;top:37%;width:42%;height:26%}

/* Artwork placement editor — each visible layer is independently draggable. */
.placement-hint{position:absolute;z-index:5;right:12px;bottom:12px;max-width:150px;padding:7px 9px;border-radius:4px;background:rgba(8,8,8,.82);color:#fff;font-size:.55rem;font-weight:700;line-height:1.25;text-align:right;pointer-events:none}.product-proof .product-logo,.product-proof .product-text{left:calc(var(--art-x,50)*1%);top:calc(var(--art-y,50)*1%);transform:translate(-50%,-50%);touch-action:none;cursor:grab;user-select:none}.product-proof [data-art-layer]:focus-visible{outline:2px solid #ff5a1f;outline-offset:3px}.product-proof [data-art-layer].is-dragging{z-index:6;cursor:grabbing;filter:drop-shadow(0 7px 8px rgba(0,0,0,.35))}.product-proof .shirt-logo,.product-proof .shirt-text{width:20%;height:18%}.product-proof .cap-logo,.product-proof .cap-text{width:23%;height:13%}.product-proof .bag-logo,.product-proof .bag-text{width:40%;height:24%}
@media(max-width:560px){.design-mode-switch button{padding:0 5px;font-size:.61rem}.placement-hint{right:9px;bottom:9px;max-width:125px;font-size:.5rem}}
.merch-size-row{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:30px}.merch-size-row .chip{min-height:70px;padding:0;text-align:center}.merch-summary{display:grid;grid-template-columns:160px 1fr;align-items:center;margin-bottom:28px;border:1px solid var(--border);border-radius:5px;overflow:hidden}.merch-summary img{width:160px;height:170px;object-fit:cover}.merch-summary div{padding:22px}.merch-summary small,.merch-summary strong,.merch-summary span{display:block}.merch-summary small{color:#ff5a1f;font-weight:700;text-transform:uppercase;letter-spacing:.1em}.merch-summary strong{margin:8px 0;font-size:1.3rem}.merch-summary span{color:var(--text-muted)}
.passport-reference-card{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(240px,1.1fr);gap:0;margin:18px 0 0;overflow:hidden;border:1px solid var(--border);border-radius:5px;background:#111;color:#fff}.passport-reference-card img{width:100%;height:100%;min-height:210px;object-fit:cover}.passport-reference-card figcaption{display:flex;flex-direction:column;justify-content:center;padding:24px}.passport-reference-card figcaption span{color:#ff5a1f;font-size:.55rem;font-weight:700;letter-spacing:.13em}.passport-reference-card figcaption b{margin:10px 0;font-size:1.25rem}.passport-reference-card figcaption small{color:#aaa;font-size:.68rem;line-height:1.55}
@media(max-width:800px){.module-heading{grid-template-columns:1fr auto;gap:22px}.module-heading>div:first-child{grid-column:1/-1}.module-heading h2{font-size:clamp(3.5rem,17vw,5.8rem)}.module-showcase .print-menu-list{grid-auto-columns:min(83vw,370px)}.module-showcase .module-card{min-height:570px}.module-controls>span{display:none}.module-card-art{height:250px}.garment-choice-grid,.merch-customizer{grid-template-columns:1fr}.garment-choice{grid-template-columns:95px 1fr auto}.garment-choice-image{height:110px}.merch-upload{min-height:180px}.merch-size-row{grid-template-columns:repeat(5,1fr)}.passport-reference-card{grid-template-columns:1fr}.passport-reference-card img{min-height:170px;max-height:220px}.passport-reference-card figcaption{padding:19px}}
