:root{
  --ink:#050506;
  --muted:#4d5360;
  --label:#1c1d21;
  --line:rgba(5,5,6,.12);
  --brand:#5E0ED7;
  --brand-dark:#12081f;
  --hover:#4d0bb2;
  --surface:rgba(255,255,255,.72);
  --soft:#f5f2ed;
  --green:#108c3d;
  --ruby:#ea2261;
  --magenta:#f96bee;
  --shadow:0 28px 90px rgba(15,12,20,.16),0 10px 34px rgba(15,12,20,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:#f7f3ed;font-size:17px;line-height:1.45;font-weight:600;letter-spacing:.02em}
a{color:inherit}
img{max-width:100%;height:auto}
.topbar{background:rgba(255,255,255,.82);color:var(--ink);font-size:12px;letter-spacing:.16em;border-bottom:1px solid rgba(0,0,0,.08);backdrop-filter:blur(16px)}
.topbar .wrap{max-width:1240px;margin:auto;padding:10px 22px;display:flex;gap:16px;justify-content:space-between;align-items:center}
.nav{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.72);backdrop-filter:blur(22px);border-bottom:1px solid rgba(0,0,0,.08)}
.nav .wrap{max-width:1240px;margin:auto;padding:18px 22px;display:flex;gap:28px;align-items:center}
.brand{font-weight:600;text-decoration:none;color:var(--ink);display:flex;align-items:center;white-space:nowrap;letter-spacing:.12em}
.logo-brand{gap:12px}.logo-mark{width:34px;height:34px;color:var(--brand);display:grid;place-items:center;flex:0 0 auto;border:2px solid var(--brand);border-radius:999px}.logo-mark svg{display:none}.logo-mark:after{content:'';width:11px;height:11px;border-radius:999px;background:var(--brand)}
.logo-type{display:grid;gap:3px;line-height:1}.logo-line{display:block}.logo-top{font-size:11px;font-weight:600;letter-spacing:.22em}.logo-bottom{font-size:10px;font-weight:600;color:var(--ink);letter-spacing:.19em}.wordmark{font-size:13px;line-height:1}.mark{display:none}
.links{display:flex;gap:30px;align-items:center;margin-left:auto}.links a{text-decoration:none;color:var(--label);font-size:12px;font-weight:600;letter-spacing:.18em;white-space:nowrap}.links a:hover{color:var(--brand)}.nav-call{padding-inline:18px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 18px;border-radius:999px;text-decoration:none;font-weight:600;border:1px solid transparent;font-size:12px;letter-spacing:.16em;transition:.2s ease}.primary{background:var(--brand);color:#fff}.primary:hover{background:var(--hover);transform:translateY(-1px)}.ghost{border-color:rgba(0,0,0,.18);color:var(--ink);background:rgba(255,255,255,.52);backdrop-filter:blur(12px)}.ghost:hover{border-color:var(--brand);color:var(--brand)}
.hero{position:relative;isolation:isolate;min-height:calc(100vh - 92px);margin:0;padding:0 22px;display:grid;grid-template-columns:minmax(0,1240px);justify-content:center;align-items:end;overflow:hidden;background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.78) 48%,rgba(255,255,255,.18) 100%),radial-gradient(circle at 78% 42%,rgba(94,14,215,.20),transparent 31%),url('/assets/hero-print-shop-bg.webp');background-size:cover;background-position:center right}
.hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-3;filter:saturate(.92) contrast(1.05) brightness(1.02)}
.hero:before{content:'';position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.72) 51%,rgba(255,255,255,.16) 100%),radial-gradient(circle at 78% 42%,rgba(94,14,215,.20),transparent 31%),linear-gradient(to top,rgba(255,255,255,.88),transparent 44%)}
.hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(to bottom,rgba(255,255,255,.82),transparent 22%)}
.hero-copy{max-width:880px;padding:96px 0 62px}.hero .eyebrow{color:var(--brand)}.hero h1{max-width:980px;color:var(--ink);font-size:clamp(52px,9vw,130px);line-height:.88;letter-spacing:-.075em;text-shadow:none}.hero p{color:var(--ink);font-size:clamp(14px,1.35vw,17px);max-width:660px;line-height:1.65;letter-spacing:.01em;margin:26px 0 0;text-transform:none}.hero .cta-row{margin-top:30px}.hero .ghost{color:var(--ink);border-color:rgba(0,0,0,.22);background:rgba(255,255,255,.38)}
.hero-proof{display:flex;flex-wrap:wrap;gap:10px;margin-top:30px;max-width:760px}.hero-proof span{display:inline-flex;align-items:center;min-height:36px;padding:8px 13px;border:1px solid rgba(255,255,255,.58);border-radius:999px;background:rgba(255,255,255,.48);box-shadow:0 18px 50px rgba(15,12,20,.08);color:var(--ink);font-size:11px;letter-spacing:.16em;backdrop-filter:blur(12px)}
.eyebrow{color:var(--brand);font-weight:600;font-size:12px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:16px}h1,h2,h3{color:var(--ink);font-weight:600;margin:0;text-wrap:pretty;text-transform:uppercase}h1{font-size:clamp(42px,7vw,88px);line-height:.92;letter-spacing:-.06em}h2{font-size:clamp(34px,5vw,64px);line-height:.95;letter-spacing:-.055em}h3{font-size:clamp(21px,2.4vw,30px);line-height:1;letter-spacing:-.025em}.page-hero p,.split p{color:var(--muted);font-size:16px;line-height:1.75;letter-spacing:.01em;max-width:760px;text-transform:none;font-weight:600}.cta-row{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.centered{justify-content:center}
.hero-art{display:none}.hero-art figcaption{margin:14px 6px 0;color:var(--muted);font-size:12px;line-height:1.45}.visual-service{padding-top:0;overflow:hidden}.visual-service img{width:calc(100% + 2px);max-width:none;margin:-1px -1px 18px;border:0;background:var(--soft);aspect-ratio:420/260;object-fit:cover;filter:saturate(.94) contrast(1.04)}
.section{max-width:1240px;margin:auto;padding:92px 22px}.section>.eyebrow,.section>h2{max-width:980px}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:34px}.service-card{min-height:285px;text-decoration:none;border:1px solid rgba(0,0,0,.10);border-radius:20px;padding:22px;background:rgba(255,255,255,.66);box-shadow:0 20px 70px rgba(15,12,20,.08);transition:.22s ease;backdrop-filter:blur(12px);text-transform:none;letter-spacing:0}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:rgba(94,14,215,.26)}.service-card span{font-family:'Inter',system-ui,sans-serif;color:var(--brand);font-size:12px;letter-spacing:.16em;text-transform:uppercase}.service-card h3{text-transform:uppercase;letter-spacing:-.04em;margin-top:10px}.service-card p,.faq p{color:var(--muted);font-size:15px;line-height:1.6;text-transform:none;letter-spacing:0}
.split{max-width:1240px;margin:0 auto 30px;padding:86px 22px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}.split:nth-of-type(even){background:linear-gradient(180deg,rgba(255,255,255,.38),rgba(255,255,255,.14));border-block:1px solid rgba(0,0,0,.06)}.check-list{margin:0;padding:0;display:grid;gap:14px}.check-list li{list-style:none;padding:17px 18px 17px 48px;border:1px solid rgba(0,0,0,.10);border-radius:999px;position:relative;background:rgba(255,255,255,.58);font-size:12px;letter-spacing:.14em;box-shadow:0 12px 36px rgba(15,12,20,.06)}.check-list li:before{content:'+';position:absolute;left:20px;color:var(--brand);font-weight:600}.page-hero{position:relative;isolation:isolate;max-width:none;margin:0;text-align:left;padding:112px 22px 90px;overflow:hidden;background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.78) 48%,rgba(255,255,255,.20) 100%),radial-gradient(circle at 80% 44%,rgba(94,14,215,.18),transparent 32%),url('/assets/hero-print-shop-bg.webp');background-size:cover;background-position:center right}.page-hero>*{max-width:1240px;margin-left:auto;margin-right:auto}.page-hero h1{max-width:980px}.page-hero p{margin-top:24px;color:var(--ink);max-width:760px}.page-hero .cta-row,.page-hero .contact-card{margin-left:auto;margin-right:auto}.page-hero .contact-card{margin-top:34px}
/* Interior hero differentiation: keep the premium system, but make each page feel specific. */
.page-hero.hero-services{background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.78) 48%,rgba(255,255,255,.20) 100%),radial-gradient(circle at 80% 44%,rgba(94,14,215,.18),transparent 32%),url('/assets/hero-print-shop-bg.webp');background-position:center right}
.page-hero.hero-blueprints{background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.78) 45%,rgba(255,255,255,.18) 100%),radial-gradient(circle at 78% 42%,rgba(94,14,215,.18),transparent 30%),url('/assets/photo-blueprint-plans.webp');background-position:center right}
.page-hero.hero-color{background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.74) 48%,rgba(255,255,255,.12) 100%),radial-gradient(circle at 82% 44%,rgba(249,107,238,.24),transparent 30%),url('/assets/photo-color-printing.webp');background-position:center right}
.page-hero.hero-signs{background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.75) 47%,rgba(255,255,255,.14) 100%),radial-gradient(circle at 82% 45%,rgba(234,34,97,.20),transparent 32%),url('/assets/photo-signs-banners.webp');background-position:center right}
.page-hero.hero-upload{background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.76) 48%,rgba(255,255,255,.16) 100%),radial-gradient(circle at 82% 45%,rgba(94,14,215,.20),transparent 32%),url('/assets/photo-upload-shipping.webp');background-position:center right}
.page-hero.hero-about{background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.77) 48%,rgba(255,255,255,.18) 100%),radial-gradient(circle at 82% 45%,rgba(6,27,49,.12),transparent 34%),url('/assets/hero-print-shop.webp');background-position:center right}
.page-hero.hero-contact{background-image:linear-gradient(90deg,rgba(255,255,255,.97) 0%,rgba(255,255,255,.76) 46%,rgba(255,255,255,.16) 100%),radial-gradient(circle at 82% 45%,rgba(94,14,215,.19),transparent 34%),url('/assets/photo-upload-shipping.webp');background-position:center right}
.page-hero.hero-color .eyebrow{color:#a3008f}.page-hero.hero-signs .eyebrow{color:#c0184f}.page-hero.hero-blueprints .eyebrow,.page-hero.hero-upload .eyebrow,.page-hero.hero-contact .eyebrow{color:var(--brand)}
@media(max-width:720px){.page-hero.hero-services,.page-hero.hero-blueprints,.page-hero.hero-color,.page-hero.hero-signs,.page-hero.hero-upload,.page-hero.hero-about,.page-hero.hero-contact{background-position:center right;background-image:linear-gradient(180deg,rgba(255,255,255,.96) 0%,rgba(255,255,255,.86) 52%,rgba(255,255,255,.96) 100%),var(--page-hero-mobile-image)}}
.page-hero.hero-services{--page-hero-mobile-image:url('/assets/hero-print-shop-bg.webp')}.page-hero.hero-blueprints{--page-hero-mobile-image:url('/assets/photo-blueprint-plans.webp')}.page-hero.hero-color{--page-hero-mobile-image:url('/assets/photo-color-printing.webp')}.page-hero.hero-signs{--page-hero-mobile-image:url('/assets/photo-signs-banners.webp')}.page-hero.hero-upload,.page-hero.hero-contact{--page-hero-mobile-image:url('/assets/photo-upload-shipping.webp')}.page-hero.hero-about{--page-hero-mobile-image:url('/assets/hero-print-shop.webp')}

.faq-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:30px}details{border:1px solid rgba(0,0,0,.10);border-radius:18px;background:rgba(255,255,255,.62);padding:20px;box-shadow:0 16px 46px rgba(15,12,20,.06);text-transform:none;letter-spacing:0}summary{cursor:pointer;font-weight:600;color:var(--label);text-transform:uppercase;letter-spacing:.07em}.contact-card{margin:30px auto 0;text-align:left;max-width:650px;border:1px solid rgba(0,0,0,.10);box-shadow:var(--shadow);border-radius:22px;padding:26px;background:rgba(255,255,255,.72);backdrop-filter:blur(14px);text-transform:none;letter-spacing:0}.contact-card p{margin:10px 0;color:var(--ink);font-size:16px}.testimonial{border-left:0;background:rgba(255,255,255,.68);box-shadow:var(--shadow);padding:30px;border-radius:22px}.testimonial p{font-size:20px;color:var(--ink);text-transform:none;letter-spacing:0}.footer{margin-top:50px;background:#08050e;color:#fff}.footer .wrap{max-width:1240px;margin:auto;padding:58px 22px;display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:32px}.footer h2,.footer h3{color:#fff}.footer h3{font-size:20px}.footer a{color:#fff}.footer p{color:rgba(255,255,255,.72);font-size:14px;line-height:1.7;text-transform:none;letter-spacing:0}
@media(max-width:1000px){.split{grid-template-columns:1fr}.service-grid,.faq-grid{grid-template-columns:1fr 1fr}.footer .wrap{grid-template-columns:1fr}.hero{min-height:720px;background-position:center right}.hero-copy{padding:86px 0 64px}.links{gap:18px;overflow-x:auto}.links a{font-size:11px}.logo-top{font-size:10px}.logo-bottom{font-size:9px}}
@media(max-width:720px){body{font-size:16px;letter-spacing:.035em}.topbar{display:none}.nav .wrap{align-items:center;flex-wrap:wrap;padding:14px 16px}.brand{width:auto}.links{order:3;width:100%;overflow-x:auto;padding-bottom:4px;margin-left:0}.nav-call{margin-left:auto}.service-grid,.faq-grid{grid-template-columns:1fr}.hero{min-height:auto;padding-inline:16px;align-items:end;background-position:center}.hero:before{background:linear-gradient(180deg,rgba(255,255,255,.94) 0%,rgba(255,255,255,.78) 44%,rgba(255,255,255,.92) 100%)}.hero-copy{padding:66px 0 54px}.hero h1{font-size:clamp(48px,17vw,82px)}.hero p,.page-hero p,.split p{font-size:15px;line-height:1.7}.cta-row .btn{width:100%}.section,.split{padding:56px 16px}.page-hero{padding:72px 16px 58px}.page-hero h1{font-size:clamp(42px,14vw,72px)}.check-list li{border-radius:18px}.logo-mark{width:32px;height:32px}.logo-type{display:none}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.hero-bg-video{display:none}}


.quick-actions{max-width:1240px;margin:22px auto 28px;padding:0 22px;position:relative;z-index:5;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.quick-action{text-decoration:none;border:1px solid rgba(0,0,0,.10);border-radius:22px;background:rgba(255,255,255,.78);box-shadow:0 22px 70px rgba(15,12,20,.10);padding:20px 22px;backdrop-filter:blur(16px);transition:.22s ease;text-transform:none;letter-spacing:0}.quick-action:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:rgba(94,14,215,.26)}.quick-action span{display:block;color:var(--brand);font-size:12px;text-transform:uppercase;letter-spacing:.18em;margin-bottom:8px}.quick-action strong{display:block;color:var(--ink);font-size:18px;text-transform:uppercase;letter-spacing:-.02em;line-height:1.05}.quick-action small{display:block;color:var(--muted);font-size:14px;line-height:1.45;margin-top:9px}.quick-action.featured{background:var(--brand);color:#fff}.quick-action.featured span,.quick-action.featured strong,.quick-action.featured small{color:#fff}.footer-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.footer-actions .btn{min-height:40px;padding:10px 14px}.footer .footer-actions .ghost{background:transparent;border-color:rgba(255,255,255,.34);color:#fff}.mobile-sticky-cta{display:none}
@media(max-width:720px){body{padding-bottom:74px}.quick-actions{margin:10px auto 8px;padding:0 16px;grid-template-columns:1fr;gap:10px}.quick-action{padding:16px 17px;border-radius:18px}.quick-action strong{font-size:16px}.quick-action small{font-size:13px}.mobile-sticky-cta{position:fixed;left:10px;right:10px;bottom:10px;z-index:80;display:grid;grid-template-columns:1fr 1.1fr 1fr;gap:8px;padding:8px;border:1px solid rgba(0,0,0,.10);border-radius:999px;background:rgba(255,255,255,.86);box-shadow:0 18px 60px rgba(15,12,20,.22);backdrop-filter:blur(18px)}.mobile-sticky-cta a{min-height:44px;display:flex;align-items:center;justify-content:center;border-radius:999px;text-decoration:none;color:var(--ink);font-size:12px;letter-spacing:.14em;text-transform:uppercase}.mobile-sticky-cta a.accent{background:var(--brand);color:#fff}.hero-proof{display:none}.service-card{min-height:auto}.service-grid{gap:12px}.section{padding-top:48px}.page-hero{padding-top:58px}.page-hero h1,.hero h1{letter-spacing:-.065em}.nav-call{min-height:38px;padding:8px 14px}.links{scrollbar-width:none}.links::-webkit-scrollbar{display:none}}
.upload-submit-row{display:grid;gap:12px;align-items:start}.upload-submit-row .btn[disabled]{cursor:wait;opacity:.82;transform:none}.upload-status{border:1px solid rgba(94,14,215,.18);border-radius:16px;background:rgba(94,14,215,.08);color:var(--ink);font-size:14px;font-weight:700;line-height:1.5;padding:13px 15px;text-transform:none;letter-spacing:0}.upload-spinner{width:1em;height:1em;margin-right:9px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:upload-spin .8s linear infinite}@keyframes upload-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.upload-spinner{animation:none}}
