:root {
  --ink: #363636;
  --ink-soft: #363636;
  --paper: #fcfcfc;
  --cream: #f6f6eb;
  --soft: #f5f5f5;
  --gold: #e8d807;
  --gold-dark: #716900;
  --lime: #e8d807;
  --muted: #555555;
  --line: #dedede;
  --white: #ffffff;
  --radius: 18px;
  --shadow: 0 24px 70px rgba(18, 19, 16, .12);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: "DM Sans", Arial, sans-serif; line-height: 1.55; }
img { display: block; max-width: 100%; }
a { color: inherit; }
button, input, textarea, select { font: inherit; }
.shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.skip-link { position: fixed; z-index: 100; top: 10px; left: 10px; transform: translateY(-150%); padding: 10px 14px; background: var(--white); color: var(--ink); border-radius: 8px; }
.skip-link:focus { transform: translateY(0); }

.site-header { position: sticky; z-index: 50; top: 0; background: rgba(252, 252, 252, .96); border-bottom: 1px solid var(--line); backdrop-filter: blur(14px); }
.nav-shell { min-height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 11px; color: var(--ink); font-family: "Manrope", sans-serif; font-size: 1.03rem; text-decoration: none; letter-spacing: -.02em; }
.brand-logo { width: 126px; height: 60px; object-fit: cover; object-position: center; mix-blend-mode: multiply; }
.brand-footer .brand-logo { width: 150px; height: 90px; mix-blend-mode: normal; }
.site-header nav { display: flex; align-items: center; gap: 25px; }
.site-header nav > a:not(.button) { color: #46483f; font-size: .93rem; font-weight: 600; text-decoration: none; }
.site-header nav > a:not(.button):hover { color: var(--ink); }
.menu-button { display: none; border: 1px solid var(--line); border-radius: 9px; background: var(--white); padding: 9px 12px; color: var(--ink); font-weight: 700; }

.button { display: inline-flex; min-height: 50px; align-items: center; justify-content: center; padding: 0 22px; border: 1px solid var(--gold); border-radius: 999px; background: var(--gold); color: var(--ink); font-weight: 800; text-decoration: none; transition: transform .18s ease, background .18s ease; }
.button:hover { transform: translateY(-2px); background: #f7e81b; }
.button-small { min-height: 42px; padding-inline: 17px; font-size: .91rem; }
.button-secondary { border-color: rgba(255,255,255,.45); background: transparent; color: var(--white); }
.button-secondary:hover { background: var(--white); color: var(--ink); }
.button-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.text-link { color: var(--gold); font-weight: 800; text-decoration: none; }
.text-link:hover { color: #f7e81b; }

.hero { overflow: hidden; padding: 88px 0 78px; background: var(--ink); color: var(--white); }
.hero-grid { display: grid; grid-template-columns: .94fr 1.06fr; gap: 70px; align-items: center; }
.eyebrow { margin: 0 0 13px; color: var(--gold-dark); font-size: .78rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.hero .eyebrow, .eyebrow-gold { color: var(--gold); }
h1, h2, h3 { margin-top: 0; font-family: "Manrope", sans-serif; line-height: 1.08; letter-spacing: -.035em; }
h1 { margin-bottom: 24px; font-size: clamp(3.3rem, 6vw, 6.1rem); }
h1 span { color: var(--gold); }
h2 { margin-bottom: 18px; font-size: clamp(2rem, 3.6vw, 3.45rem); }
h3 { margin-bottom: 10px; font-size: 1.18rem; }
p { margin-top: 0; }
.hero-lead { max-width: 650px; color: #e6e6df; font-size: clamp(1.06rem, 1.7vw, 1.3rem); }
.hero-points { display: flex; flex-wrap: wrap; gap: 10px 22px; margin: 25px 0 0; padding: 0; color: #d1d2c9; font-size: .92rem; list-style: none; }
.hero-points li::before { content: "✓"; margin-right: 7px; color: var(--lime); font-weight: 900; }
.hero-media { position: relative; min-height: 560px; }
.hero-image { overflow: hidden; position: absolute; border-radius: var(--radius); box-shadow: var(--shadow); }
.hero-image img { width: 100%; height: 100%; object-fit: cover; }
.hero-image-main { inset: 0 80px 90px 0; }
.hero-image-small { right: 0; bottom: 0; width: 230px; height: 300px; border: 8px solid var(--ink); }
.hero-carousel { position: relative; height: 560px; }
.carousel-slide { position: absolute; inset: 0 0 50px; }
.carousel-slide[hidden] { display: none; }
.hero-image-main { inset: 0 70px 95px 0; background: #fcfcfc; }
.hero-image-main img { object-fit: cover; object-position: center 28%; }
.hero-image-small { right: 0; bottom: 53px; width: 210px; height: 255px; }
.hero-image-small img { object-fit: contain; background: #fcfcfc; }
.carousel-caption { position: absolute; left: 15px; bottom: 108px; max-width: 54%; padding: 13px 17px; border-radius: 10px; background: rgba(54,54,54,.91); }
.carousel-caption strong, .carousel-caption span { display: block; }
.carousel-caption span { color: #efefdf; font-size: .87rem; }
.carousel-controls { position: absolute; right: 0; bottom: 0; left: 0; display: flex; align-items: center; justify-content: center; gap: 18px; }
.carousel-controls button { width: 42px; height: 42px; border: 1px solid #f5f5f5; border-radius: 50%; background: transparent; color: white; cursor: pointer; font-size: 1.3rem; }
.carousel-controls button:hover, .carousel-controls button:focus-visible { background: var(--gold); color: var(--ink); }
.carousel-controls span { min-width: 3rem; text-align: center; }
.simple-process { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; margin-top: 48px; }
.simple-process > div { padding: 27px; border-top: 2px solid var(--gold); background: #444; }
.simple-process span { display: block; margin-bottom: 55px; color: var(--gold); font-weight: 800; }
.simple-process p { color: #e4e4e4; }
.client-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 18px; }
.client-card { overflow: hidden; display: block; border: 1px solid var(--line); border-radius: 16px; text-decoration: none; background: white; }
.client-card img { width: 100%; height: 250px; object-fit: cover; }
.client-card > span,.client-card h3,.client-card p { margin-inline: 20px; }
.client-card > span { display:block; margin-top: 20px; color: var(--gold-dark); font-weight: 800; font-size:.82rem; text-transform: uppercase; }
.client-card h3 { margin-top: 7px; }
.client-card p { color: var(--ink); font-weight: 700; }
.product-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 17px; }
.product-grid article { overflow:hidden; border:1px solid var(--line); border-radius: 14px; background:white; }
.product-grid img { width:100%; aspect-ratio:1; object-fit:cover; }
.product-grid article > div { padding:18px; }
.product-grid small { color: var(--gold-dark); font-weight: 700; }
.product-grid h3 { margin-top: 9px; }
.product-grid p { color:var(--muted); }
.product-grid a { font-weight:800; text-decoration:none; }
.product-price { margin-bottom: 8px; color: var(--ink) !important; font-size: 1.16rem; font-weight: 800; }
.catalog-label { display:block; margin-bottom: 9px; font-size: 1rem; font-weight: 700; }
.catalog-search { width: min(100%, 650px); min-height: 52px; padding: 12px 18px; border: 1px solid #919191; border-radius: 12px; background: white; color: var(--ink); font: inherit; }
.catalog-filters { display:flex; flex-wrap: wrap; gap: 8px; margin: 19px 0 8px; }
.catalog-filters button { padding: 10px 14px; border:1px solid #bdbdbd; border-radius:99px; background:white; color:var(--ink); cursor:pointer; font:inherit; font-weight:700; }
.catalog-filters button[aria-pressed="true"],.catalog-filters button:hover { background:var(--ink); color:var(--white); }
.price-table-wrap { overflow-x:auto; }
.price-table { width:100%; border-collapse:collapse; text-align:left; }
.price-table caption { padding-bottom:12px; color:var(--muted); text-align:left; }
.price-table th,.price-table td { padding:17px 15px; border-bottom:1px solid var(--line); }
.price-table thead th { background:var(--ink); color:white; }
.price-table tbody tr:nth-child(even) { background:var(--soft); }
.bulk-banner { display:grid; grid-template-columns: 1.4fr .6fr; gap:28px; align-items:center; margin-top:38px; padding:35px; border-radius:16px; background:var(--gold); color:var(--ink); }
.bulk-banner .eyebrow { color:var(--ink); }
.bulk-banner h3 { font-size:clamp(1.65rem,2.5vw,2.35rem); }
.bulk-banner p { margin-bottom:0; }
.bulk-example { padding:20px; border-radius:13px; background:rgba(255,255,255,.7); }
.bulk-example span,.bulk-example strong,.bulk-example small { display:block; }
.bulk-example strong { font-family:"Manrope",sans-serif; font-size:2.5rem; }
.sample-note { margin-top:20px; color:var(--muted); font-size:.9rem; }
.preview-grid { display:grid; grid-template-columns: .85fr 1.15fr; gap:42px; align-items:start; }
.preview-controls { padding:30px; border:1px solid var(--line); border-radius:18px; background:white; }
.preview-controls label { display:block; margin:23px 0 8px; font-weight:700; }
.preview-controls select,.preview-controls input[type=file],.preview-controls input[type=range] { width:100%; }
.preview-controls select { padding:11px; border:1px solid #aaa; border-radius:7px; background:white; }
.preview-controls input[type=file] { padding:13px; border:1px dashed #888; border-radius:8px; }
.preview-panel { position:sticky; top:100px; }
.shirt-stage { position:relative; overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fcfcfc; }
.shirt-stage > img:first-child { display:block; width:100%; }
.shirt-stage .art-overlay { position:absolute; top:32%; left:50%; width:24%; height:28%; object-fit:contain; transform:translateX(-50%); pointer-events:none; }
.preview-disclaimer { margin-top:12px; color:var(--muted); font-size:.9rem; }
.project-gallery { display:grid; grid-template-columns:repeat(2,1fr); gap:18px; }
.project-gallery img { width:100%; height:340px; object-fit:cover; border-radius:14px; }
.status-card { position: absolute; left: -28px; bottom: 32px; display: flex; max-width: 360px; gap: 12px; align-items: center; padding: 16px 18px; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; background: rgba(28,29,25,.93); box-shadow: var(--shadow); }
.status-card strong, .status-card small { display: block; }
.status-card small { margin-top: 2px; color: #bebfb6; }
.status-dot { width: 13px; height: 13px; flex: 0 0 auto; border-radius: 50%; background: var(--lime); box-shadow: 0 0 0 7px rgba(185,213,50,.15); }

.trust-bar { border-bottom: 1px solid var(--line); background: var(--white); }
.trust-grid { display: grid; grid-template-columns: repeat(4, 1fr); }
.trust-grid > div { padding: 24px 20px; border-right: 1px solid var(--line); }
.trust-grid > div:first-child { padding-left: 0; }
.trust-grid > div:last-child { border-right: 0; }
.trust-grid strong, .trust-grid span { display: block; }
.trust-grid strong { font-family: "Manrope", sans-serif; font-size: .95rem; }
.trust-grid span { margin-top: 3px; color: var(--muted); font-size: .84rem; }

.section { padding: 100px 0; }
.section-soft { background: var(--soft); }
.section-dark { background: var(--ink); color: var(--white); }
.section-heading { display: grid; grid-template-columns: 1.25fr .75fr; gap: 70px; align-items: end; margin-bottom: 44px; }
.section-heading h2 { max-width: 740px; margin-bottom: 0; }
.section-heading > p { margin-bottom: 5px; color: var(--muted); }
.service-grid { display: grid; grid-template-columns: repeat(4, 1fr); border-top: 1px solid var(--line); border-left: 1px solid var(--line); }
.service-card { min-height: 285px; padding: 30px 26px; border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); background: var(--white); }
.service-card > span { display: inline-block; margin-bottom: 58px; color: var(--gold-dark); font-weight: 800; }
.service-card p { color: var(--muted); }

.process-layout { display: grid; grid-template-columns: .75fr 1.25fr; gap: 95px; }
.process-intro { position: sticky; top: 125px; align-self: start; }
.process-intro > p:not(.eyebrow) { color: #c7c8c0; font-size: 1.06rem; }
.process-steps { margin: 0; padding: 0; list-style: none; }
.process-steps li { display: grid; grid-template-columns: 50px 1fr; gap: 22px; padding: 29px 0; border-top: 1px solid rgba(255,255,255,.16); }
.process-steps li:last-child { border-bottom: 1px solid rgba(255,255,255,.16); }
.process-steps li > span { display: grid; width: 44px; height: 44px; place-items: center; border: 1px solid var(--gold); border-radius: 50%; color: var(--gold); font-weight: 800; }
.process-steps h3 { margin: 0 0 5px; }
.process-steps p { margin: 0; color: #bfc0b8; }

.artwork-grid { display: grid; grid-template-columns: 1.05fr .95fr; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); }
.artwork-card, .artwork-note { padding: clamp(34px, 6vw, 68px); }
.artwork-note { display: flex; flex-direction: column; justify-content: center; background: var(--cream); }
.artwork-note p { color: #505248; }
.small-note { margin-top: 20px; padding-top: 20px; border-top: 1px solid #d5cdbd; }
.check-list { margin: 24px 0 0; padding: 0; list-style: none; }
.check-list li { position: relative; margin: 12px 0; padding-left: 28px; }
.check-list li::before { content: "✓"; position: absolute; left: 0; color: var(--gold-dark); font-weight: 900; }
.check-list.compact li { margin: 9px 0; }

.portfolio-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.portfolio-card { overflow: hidden; position: relative; min-height: 360px; margin: 0; border-radius: var(--radius); background: var(--ink); }
.portfolio-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; }
.portfolio-card:hover img { transform: scale(1.025); }
.portfolio-card figcaption { position: absolute; right: 14px; bottom: 14px; left: 14px; padding: 16px 18px; border-radius: 11px; background: rgba(18,19,16,.87); color: var(--white); backdrop-filter: blur(8px); }
.portfolio-card figcaption strong, .portfolio-card figcaption span { display: block; }
.portfolio-card figcaption span { margin-top: 2px; color: #c8c9c1; font-size: .86rem; }
.portfolio-wide { min-height: 470px; }

.price-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; }
.price-grid article { padding: 30px 26px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.price-label { margin-bottom: 25px; color: var(--muted); font-weight: 700; }
.price { margin-bottom: 8px; font-family: "Manrope", sans-serif; font-size: 1.75rem; font-weight: 800; letter-spacing: -.04em; }
.price-grid span { color: var(--muted); font-size: .9rem; }
.pricing-note { max-width: 820px; margin: 23px 0 0; color: var(--muted); }
.rush-note { max-width: 820px; margin-top: 24px; padding: 22px 26px; border-left: 5px solid var(--gold); background: var(--soft); }
.rush-note p { margin: 6px 0 0; color: var(--muted); }

.cta-section { padding-block: 72px; }
.cta-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 80px; align-items: center; }
.cta-grid h2 { margin-bottom: 0; }
.cta-grid > div:last-child > p { color: #c6c7bf; }

.faq-layout { display: grid; grid-template-columns: .7fr 1.3fr; gap: 95px; }
.faq-layout > div:first-child { position: sticky; top: 125px; align-self: start; }
.faq-contact { color: var(--muted); }
.faq-contact a { color: var(--ink); font-weight: 700; }
.faq-list details { border-top: 1px solid var(--line); }
.faq-list details:last-child { border-bottom: 1px solid var(--line); }
.faq-list summary { position: relative; padding: 22px 40px 22px 0; cursor: pointer; font-family: "Manrope", sans-serif; font-weight: 700; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary::after { content: "+"; position: absolute; top: 18px; right: 3px; font-size: 1.4rem; }
.faq-list details[open] summary::after { content: "–"; }
.faq-list details p { max-width: 730px; padding: 0 35px 20px 0; color: var(--muted); }

.order-hero { padding: 75px 0; background: var(--ink); color: var(--white); }
.order-hero-grid { display: grid; grid-template-columns: 1.25fr .75fr; gap: 80px; align-items: end; }
.order-hero h1 { max-width: 800px; margin-bottom: 17px; font-size: clamp(2.8rem, 5vw, 5rem); }
.order-hero p:not(.eyebrow) { max-width: 760px; margin-bottom: 0; color: #c9cac2; font-size: 1.08rem; }
.order-timing { padding: 24px; border: 1px solid rgba(255,255,255,.18); border-radius: 14px; }
.order-timing strong, .order-timing span { display: block; }
.order-timing strong { margin-bottom: 13px; color: var(--gold); }
.order-timing span { padding: 8px 0; border-top: 1px solid rgba(255,255,255,.12); color: #d5d6ce; font-size: .9rem; }
.order-section { padding-top: 72px; }
.order-layout { display: grid; grid-template-columns: 340px 1fr; gap: 35px; align-items: start; }
.order-sidebar { position: sticky; top: 105px; }
.sidebar-card { margin-bottom: 14px; padding: 25px; border: 1px solid var(--line); border-radius: 14px; background: var(--white); }
.sidebar-card h2 { font-size: 1.55rem; }
.sidebar-card-dark { border-color: var(--ink); background: var(--ink); color: var(--white); }
.sidebar-card-dark p { color: #c7c8c0; }
.mini-steps { margin: 16px 0 0; padding: 0; list-style: none; }
.mini-steps li { display: grid; grid-template-columns: 27px 1fr; gap: 10px; align-items: center; margin: 11px 0; }
.mini-steps span { display: grid; width: 25px; height: 25px; place-items: center; border-radius: 50%; background: var(--cream); color: var(--gold-dark); font-size: .75rem; font-weight: 800; }
.privacy-note { padding-inline: 5px; color: var(--muted); font-size: .82rem; }
.form-panel { overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); box-shadow: 0 18px 55px rgba(18,19,16,.07); }
.form-panel-heading { padding: 30px 34px 24px; border-bottom: 1px solid var(--line); }
.form-panel-heading h2 { margin-bottom: 9px; font-size: clamp(1.7rem, 3vw, 2.4rem); }
.form-panel-heading p { margin-bottom: 0; color: var(--muted); }
.step-label { display: inline-block; margin-bottom: 11px; color: var(--gold-dark); font-size: .76rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.form-panel iframe { display: block; width: 100%; min-height: 1200px; border: 0; }
.form-fallback { margin: 0; padding: 15px 25px 25px; color: var(--muted); text-align: center; }
.form-fallback a { color: var(--ink); font-weight: 700; }
.reassurance-section { padding-block: 45px; }
.reassurance-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.reassurance-grid > div { padding-right: 25px; border-right: 1px solid var(--line); }
.reassurance-grid > div:last-child { border-right: 0; }
.reassurance-grid strong, .reassurance-grid span { display: block; }
.reassurance-grid span { margin-top: 4px; color: var(--muted); }

.site-footer { padding: 66px 0 24px; background: #0e0f0d; color: var(--white); }
.footer-grid { display: grid; grid-template-columns: 1.6fr repeat(3, 1fr); gap: 50px; }
.footer-grid-simple { grid-template-columns: 1.6fr 1fr; }
.brand-footer { color: var(--white); }
.footer-grid p { max-width: 340px; margin-top: 18px; color: #aeb0a7; }
.footer-grid > div > strong { display: block; margin-bottom: 14px; color: var(--gold); font-family: "Manrope", sans-serif; }
.footer-grid > div > a:not(.brand) { display: block; margin: 8px 0; color: #d2d3cb; text-decoration: none; }
.footer-grid > div > a:not(.brand):hover { color: var(--white); }
.footer-bottom { display: flex; justify-content: space-between; gap: 20px; margin-top: 50px; padding-top: 20px; border-top: 1px solid rgba(255,255,255,.12); color: #92948b; font-size: .83rem; }
.footer-bottom a { color: inherit; }

@media (max-width: 980px) {
  .menu-button { display: block; }
  .site-header nav { position: absolute; top: 78px; right: 0; left: 0; display: none; flex-direction: column; align-items: stretch; gap: 0; padding: 15px 20px 22px; border-bottom: 1px solid var(--line); background: var(--paper); }
  .site-header nav.open { display: flex; }
  .site-header nav > a:not(.button) { padding: 13px 3px; border-bottom: 1px solid var(--line); }
  .site-header nav .button { margin-top: 14px; }
  .hero-grid, .process-layout, .faq-layout, .order-hero-grid, .order-layout { grid-template-columns: 1fr; }
  .hero-media { min-height: 520px; }
  .service-grid, .price-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-grid { grid-template-columns: repeat(2, 1fr); }
  .trust-grid > div:nth-child(2) { border-right: 0; }
  .trust-grid > div:nth-child(3) { padding-left: 0; }
  .process-intro, .faq-layout > div:first-child, .order-sidebar { position: static; }
  .section-heading, .artwork-grid, .cta-grid { grid-template-columns: 1fr; gap: 28px; }
  .footer-grid { grid-template-columns: repeat(2, 1fr); }
  .simple-process,.client-grid,.preview-grid { grid-template-columns:1fr; }
  .product-grid { grid-template-columns:repeat(2,1fr); }
  .bulk-banner { grid-template-columns:1fr; }
  .preview-panel { position:static; }
}

@media (max-width: 620px) {
  .shell { width: min(100% - 28px, 1180px); }
  .site-header { position: relative; }
  .hero { padding: 62px 0 50px; }
  h1 { font-size: 3.2rem; }
  .hero-media { min-height: 390px; margin-top: 10px; }
  .hero-image-main { right: 35px; bottom: 55px; }
  .hero-image-small { width: 140px; height: 190px; border-width: 5px; }
  .status-card { right: 30px; bottom: 8px; left: 0; padding: 12px 14px; }
  .status-card small { font-size: .75rem; }
  .trust-grid, .service-grid, .price-grid, .portfolio-grid, .reassurance-grid, .footer-grid, .footer-grid-simple { grid-template-columns: 1fr; }
  .trust-grid > div { padding-left: 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .trust-grid > div:last-child { border-bottom: 0; }
  .section { padding: 72px 0; }
  .section-heading { margin-bottom: 30px; }
  .service-card { min-height: auto; }
  .service-card > span { margin-bottom: 35px; }
  .portfolio-card, .portfolio-wide { min-height: 340px; }
  .artwork-card, .artwork-note { padding: 32px 25px; }
  .order-hero { padding: 55px 0; }
  .order-hero h1 { font-size: 3rem; }
  .form-panel-heading { padding: 25px 20px 20px; }
  .form-panel iframe { min-height: 1350px; }
  .reassurance-grid > div { padding: 0 0 20px; border-right: 0; border-bottom: 1px solid var(--line); }
  .reassurance-grid > div:last-child { border-bottom: 0; }
  .footer-bottom { flex-direction: column; }
  .hero-carousel { height:390px; }
  .hero-image-main { right:35px; bottom:65px; }
  .carousel-slide .hero-image-main { right:35px; bottom:65px; }
  .hero-image-small { width:135px; height:175px; bottom:55px; }
  .carousel-caption { bottom:84px; left:8px; max-width:65%; font-size:.79rem; }
  .product-grid,.project-gallery { grid-template-columns:1fr; }
}
.service-card img{width:100%;height:175px;object-fit:cover;border-radius:12px;margin-bottom:16px}.service-card{overflow:hidden}.carousel-slide[hidden]{display:none!important}.product-grid article img{object-fit:contain;background:#f5f4ef}.product-grid article:nth-child(2n) img{background:#ecf0f2}.product-grid article:nth-child(3n) img{background:#e9e9e6}
.quantity-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:10px;margin:12px 0}.quantity-grid label{display:grid;gap:4px}.quantity-grid input{width:100%;padding:8px}.checkbox-row{display:flex!important;gap:10px;align-items:flex-start;margin:16px 0}.checkbox-row input{width:auto!important;margin-top:4px}.preview-controls textarea{width:100%;padding:10px}.cart-line{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;border-bottom:1px solid #ddd}.cart-line button{padding:9px 15px;cursor:pointer}.cart-line h2{font-size:1.25rem}
/* Voice note 1: compact headers and accurate, balanced project imagery. */
.order-hero{padding:28px 0}.order-hero h1{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:8px;max-width:none}.order-hero .eyebrow{margin-bottom:8px}.order-hero p:not(.eyebrow){font-size:1rem}.order-hero .product-style{font-size:.9rem;color:#d6d6cf}.section{padding:48px 0}.hero{padding:44px 0}.hero-grid{gap:38px}.hero-media{min-height:430px}.hero-carousel{height:430px}.hero-image-main{inset:0 60px 70px 0}.hero-image-small{width:160px;height:160px;bottom:42px;right:0;border-width:5px}.hero-image-small img{padding:10px}.hero-image-main img{object-position:center}.client-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.client-card img{height:165px}.client-card h3{font-size:1.1rem}.client-card p{font-size:.9rem}.client-card>span,.client-card h3,.client-card p{margin-inline:14px}.project-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:22px 0 30px}.project-gallery .gallery-tile{display:block;text-decoration:none;background:#f5f5f3;border:1px solid #deded9;border-radius:12px;overflow:hidden}.project-gallery .gallery-tile img{width:100%;height:220px;object-fit:contain;object-position:center}.gallery-tile span{display:block;padding:8px 12px;font-size:.85rem}.product-grid article img{height:240px;object-fit:contain;object-position:center;padding:10px;background:white}.shirt-stage{max-width:420px;margin:auto}.shirt-stage .art-overlay{top:35%;height:auto;max-height:30%}[hidden]{display:none!important}
@media(max-width:900px){.client-grid,.project-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-media{min-height:390px}.hero-carousel{height:390px}}
@media(max-width:600px){.order-hero{padding:24px 0}.order-hero h1{font-size:1.7rem}.section{padding:32px 0}.client-card img{height:140px}.project-gallery .gallery-tile img{height:180px}.hero-media{min-height:340px}.hero-carousel{height:340px}.hero-image-small{width:130px;height:130px}.hero-image-main{right:35px;bottom:65px}}
dialog{max-width:640px;width:calc(100% - 32px);border:0;border-radius:16px;padding:28px;color:#363636}dialog::backdrop{background:#0009}#demo-step{min-height:180px;padding:20px;background:#f5f5f0;border-radius:12px;margin:18px 0}

.hero-grid{align-items:start}.hero-media{margin-top:0}.hero-copy h1{font-size:clamp(2.8rem,5vw,4.8rem)}.hero{padding-top:26px}.norcross-slide .hero-image-small{width:210px;height:210px}.norcross-slide .hero-image-small img{padding:2px}.order-hero{padding:20px 0}.project-gallery .gallery-tile{font:inherit;text-align:left;cursor:pointer;background:#fcfcfc;border:1px solid #ddd;border-radius:12px;overflow:hidden;padding:0}.gallery-tile span{display:block;padding:10px}.image-lightbox{width:min(94vw,1100px);max-height:94vh;padding:16px;border:0;border-radius:14px;background:#fcfcfc}.image-lightbox::backdrop{background:rgba(0,0,0,.8)}.image-lightbox img{display:block;width:100%;height:75vh;object-fit:contain}.lightbox-controls{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.image-lightbox button{font:inherit;padding:10px;border:1px solid #bbb;border-radius:8px;cursor:pointer}.lightbox-close{float:right}.client-card img[src*=red-hazel-original]{object-fit:contain;background:white;padding:12px}@media(max-width:600px){.norcross-slide .hero-image-small{width:150px;height:150px}.image-lightbox img{height:65vh}}
img[src*="956035c5d6214d"]{filter:brightness(1.2)}.service-card img[src*="956035c5d6214d"]{object-position:60% center}

.project-video-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin:24px 0 36px}.project-video-grid figure{margin:0}.project-video-grid video{width:100%;height:300px;object-fit:contain;background:#363636;border-radius:12px}.project-video-grid figcaption{padding:10px 0;font-size:.9rem}.club-logo{background:#363636!important}.club-logo img{object-fit:contain!important}.club-logo span{color:#fff}

.russell-model-sample{max-width:520px;margin:0 auto 32px}.russell-model-sample img{height:auto!important;width:100%;object-fit:contain}.russell-model-sample figcaption{text-align:center;font-size:.9rem;padding-top:10px}

.merch-video-trigger{padding:0;border:0;background:transparent;cursor:pointer;width:100%;text-align:left}.merch-video-trigger img{width:100%;border-radius:12px;margin-bottom:16px}#video-demo{width:min(1000px,94vw);max-width:94vw;padding:24px;border:0;border-radius:16px}#video-demo::backdrop{background:rgba(0,0,0,.78)}#merch-explainer{width:100%;max-height:70vh;background:#363636}.video-modal-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.video-modal-head h2{font-size:1.4rem}#video-demo details{margin-top:16px}

.color-swatches{display:flex;flex-wrap:wrap;gap:7px;margin:10px 0 16px}.color-swatch{width:23px;height:23px;min-width:23px;min-height:23px;padding:0;background:var(--swatch);border:1px solid #b7b7b7;border-radius:50%;cursor:pointer}.color-swatch[aria-pressed=true]{outline:2px solid #363636;outline-offset:2px}.color-swatch:focus-visible{outline:3px solid #b2a600;outline-offset:3px}.card-color-select{display:block;font-size:.85rem;margin-top:12px}.card-color-select select{width:100%;padding:8px;margin-top:5px;border:1px solid #ccc;border-radius:6px}.product-grid article>div{min-width:0}.product-grid article>img{padding:0;height:270px;object-fit:cover;object-position:center 25%}

.merch-centered{max-width:1080px;margin-inline:auto;text-align:center}.merch-centered>p{max-width:740px;margin:18px auto}.merch-player{margin:30px auto;max-width:960px}.merch-player video{display:block;width:100%;border-radius:12px;background:#363636}.merch-player button{margin-top:15px}.merch-details{display:grid;grid-template-columns:1fr 1fr;gap:28px;text-align:left;margin:36px auto}.artwork-note form label{display:block;margin:14px 0}.artwork-note input:not([type=checkbox]){display:block;width:100%;padding:12px;border:1px solid #bbb;border-radius:6px}.artwork-note button:disabled{opacity:.65;cursor:not-allowed}@media(max-width:680px){.merch-details{grid-template-columns:1fr}}

.product-grid article>img{object-fit:contain;object-position:center;background:#fcfcfc}
