:root {
  color-scheme: dark;
  --paper: #0a1017;
  --surface: #111a22;
  --ink: #eef4f4;
  --muted: #95a5af;
  --line: #293844;
  --green: #c2f27a;
  --green2: #8bd4df;
  --warm: #9fdce4;
  --soft: #17232d;
  --shadow: 0 26px 90px #0008;
  --sans: Inter, "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
  --serif: "Segoe UI", system-ui, sans-serif;
}

body {
  background: var(--paper);
  color: var(--ink);
  font-family: var(--sans);
  line-height: 1.55;
}

body.theme-light {
  color-scheme: light;
  --paper: #f2f6f5;
  --surface: #ffffff;
  --ink: #13212b;
  --muted: #63747e;
  --line: #d9e3e5;
  --green: #183c3e;
  --green2: #087a89;
  --warm: #9c7454;
  --soft: #e6efed;
  --shadow: 0 22px 64px #17333d1c;
}

html { scroll-padding-top: 88px; }
::selection { background: #c2f27a; color: #10171d; }
.announcement {
  height: 34px;
  background: #111e28;
  color: #b5c5ce;
  font-size: 9px;
  font-weight: 650;
  letter-spacing: .19em;
}
.announcement-dot, .signal-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: var(--green);
  box-shadow: 0 0 12px #c2f27a99;
}
.site-header {
  background: color-mix(in srgb, var(--paper) 87%, transparent);
  border-bottom-color: color-mix(in srgb, var(--line) 78%, transparent);
}
.header-inner { max-width: 1440px; height: 78px; padding-inline: clamp(20px, 4vw, 62px); }
.brand { gap: 12px; min-width: 210px; }
.brand-mark { position: relative; width: 32px; height: 32px; align-items: center; justify-content: center; gap: 2px; border: 1px solid #8bd4df66; border-radius: 10px; background: linear-gradient(145deg, #1b3039, #111a22); }
.brand-mark span { width: 4px; background: var(--green); border-radius: 5px; transform: none; box-shadow: 0 0 9px #c2f27a55; }
.brand-mark span:nth-child(1) { height: 10px; }
.brand-mark span:nth-child(2) { height: 17px; }
.brand-mark span:nth-child(3) { height: 22px; }
.brand-copy { letter-spacing: .13em; }
.brand-copy strong { font-size: 12px; letter-spacing: .17em; }
.brand-copy small { color: var(--muted); font-size: 8px; letter-spacing: .25em; }
.main-nav { color: #a6b4bc; font-size: 11px; }
.main-nav a { transition: color .18s ease; }
.main-nav a:hover, .footer-links a:hover { color: var(--green); }
.header-actions { gap: 13px; }
.nav-action, .icon-button { color: var(--muted); }
.nav-action b, .cart-button b { color: var(--green); }
.icon-button { width: 38px; height: 38px; justify-content: center; border: 1px solid var(--line); border-radius: 12px; background: #ffffff05; }
.cart-button { min-height: 42px; padding: 0 16px; border: 1px solid #c2f27a55; border-radius: 12px; background: var(--green); color: #111820; font-weight: 750; }
.cart-button b { color: #111820; }

.hero-section {
  max-width: 1440px;
  min-height: 660px;
  padding: 86px clamp(20px, 5vw, 72px) 74px;
  grid-template-columns: .92fr 1.08fr;
  gap: clamp(34px, 5vw, 82px);
}
.hero-copy { max-width: 620px; }
.eyebrow { color: var(--green2); font-size: 9px; letter-spacing: .19em; }
.eyebrow-line { width: 22px; background: var(--green); }
.hero-copy h1 {
  max-width: 650px;
  margin: 25px 0 20px;
  font-family: var(--sans);
  font-size: clamp(54px, 7.2vw, 94px);
  font-weight: 720;
  line-height: .99;
  letter-spacing: -.075em;
}
.hero-copy h1 em, .section-heading h2 em, .custom-intro h2 em, .material-note h2 em, .confirmation-content h2 em, .signature-copy h2 em {
  color: var(--green);
  font-style: normal;
  font-weight: 650;
}
.hero-copy > p { max-width: 500px; color: #a5b4bc; font-size: 14px; line-height: 1.85; }
.hero-actions { gap: 18px; margin-top: 31px; }
.button { min-height: 49px; border-radius: 12px; padding-inline: 19px; font-size: 11px; transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-dark { background: var(--green); color: #10171d; font-weight: 750; }
.button-dark:hover { background: #d0fb94; box-shadow: 0 10px 28px #c2f27a22; }
.button-outline { border-color: var(--line); background: #ffffff06; color: var(--ink); }
.button-outline:hover { border-color: var(--green2); background: #8bd4df0d; }
.text-link { color: var(--green2); font-size: 11px; }
.hero-note { margin-top: 40px; }
.hero-note-icon { width: 34px; height: 34px; border-color: #8bd4df4d; border-radius: 11px; color: var(--green); background: #8bd4df0b; }
.hero-note strong { font-size: 11px; }
.hero-note small { color: #91a2ab; }
.hero-art-wrap { min-width: 0; padding: 10px; border: 1px solid #90dae51e; border-radius: 26px; background: linear-gradient(145deg, #17242fdd, #0e151d); box-shadow: 0 34px 100px #0006, inset 0 1px #ffffff0d; }
.hero-art-caption { margin: 4px 7px 10px; color: #92a6b2; font-size: 8px; letter-spacing: .17em; }
.hero-art { height: clamp(330px, 36vw, 455px); border: 1px solid #85c8d014; border-radius: 18px; background: radial-gradient(ellipse at 50% 58%, #223744 0, #151f29 57%, #10161f 100%); }
.hero-product-photo { display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; object-position: center; }
.hero-product-bar { padding: 14px 9px 5px; background: transparent; }
.hero-product-bar small { color: #7f929e; font-size: 8px; letter-spacing: .19em; }
.hero-product-bar strong { color: var(--ink); font-size: 13px; }
.hero-product-buy > strong { font-size: 14px; }
.round-arrow { width: 36px; height: 36px; border-color: #8bd4df4c; border-radius: 12px; background: #8bd4df0c; color: var(--green2); }
.drag-hint { bottom: 76px; left: 20px; border: 1px solid #ffffff12; border-radius: 8px; background: #0b121abf; color: #c5d2d7; font-size: 9px; }
.hero-side-note { color: #627581; }

.promise-strip { max-width: 1310px; padding: 20px 26px; border: 1px solid var(--line); border-radius: 18px; background: linear-gradient(110deg, #111b24, #0c131a); }
.promise-strip > div { border-color: #293844; padding: 5px 24px; }
.promise-icon { color: var(--green2); font-size: 17px; }
.promise-strip strong { font-size: 10px; }
.promise-strip small { color: #82939d; font-size: 9px; }

.signature-section {
  position: relative;
  max-width: 1310px;
  margin: 44px auto 10px;
  padding: 28px 34px 32px;
  overflow: hidden;
  display: grid;
  grid-template-columns: .85fr 1.7fr auto;
  align-items: end;
  gap: 34px;
  border: 1px solid #8bd4df2c;
  border-radius: 20px;
  background: radial-gradient(ellipse at 5% 100%, #173744aa, transparent 42%), linear-gradient(115deg, #14212b, #101820 72%);
  box-shadow: inset 0 1px #ffffff09;
}
.signature-kicker { position: absolute; top: 21px; left: 34px; display: flex; align-items: center; gap: 9px; color: #a3b4bd; font-size: 8px; font-weight: 700; letter-spacing: .18em; }
.signature-copy { grid-column: 2; padding-top: 10px; }
.signature-copy h2 { margin: 20px 0 10px; font-size: clamp(29px, 3.4vw, 43px); line-height: 1.07; letter-spacing: -.055em; }
.signature-copy p { max-width: 620px; margin: 0; color: #94a5af; font-size: 11px; line-height: 1.8; }
.signature-link { display: inline-flex; align-items: center; gap: 12px; padding: 12px 15px; border: 1px solid #c2f27a59; border-radius: 11px; color: var(--green); font-size: 10px; font-weight: 700; white-space: nowrap; }
.signature-link span { font-size: 15px; }
.signature-index { position: absolute; top: 22px; right: 28px; color: #637782; font-size: 9px; letter-spacing: .12em; }
.signature-index span { color: #3a4d59; }

.page-section { max-width: 1440px; padding: 100px clamp(20px, 5vw, 72px); }
.section-heading { align-items: end; }
.section-heading h2, .custom-intro h2, .material-note h2 { margin: 16px 0 12px; font-family: var(--sans); font-size: clamp(38px, 4.5vw, 58px); font-weight: 680; line-height: 1.02; letter-spacing: -.065em; }
.section-heading p { color: var(--muted); font-size: 12px; line-height: 1.8; }
.collection-count strong { color: var(--green); font-family: var(--sans); font-weight: 700; }
.collection-count { color: var(--muted); font-size: 9px; letter-spacing: .08em; }
.category-rail { gap: 8px; padding: 29px 0 16px; }
.category-chip { min-height: 39px; padding: 0 14px; border: 1px solid var(--line); border-radius: 999px; background: #ffffff04; color: #a7b5bc; font-size: 10px; transition: .18s ease; }
.category-chip:hover { border-color: #8bd4df80; color: var(--ink); }
.category-chip[aria-pressed="true"] { border-color: var(--green); background: var(--green); color: #10171d; box-shadow: 0 6px 18px #c2f27a1f; }
.category-chip span { margin-right: 7px; }
.catalog-controls { gap: 9px; }
.search-control, .select-control select, .favorites-filter { min-height: 43px; border: 1px solid var(--line); border-radius: 11px; background: #111a22; color: var(--ink); }
.search-control { padding-inline: 13px; }
.search-control > span { color: var(--green2); }
.search-control input { color: var(--ink); }
.search-control input::placeholder { color: #6e808b; }
.select-control select { min-width: 148px; padding: 0 30px 0 12px; color: #c3d0d4; }
.favorites-filter { padding: 0 12px; color: #aab8bf; }
.favorites-filter[aria-pressed="true"] { border-color: var(--green2); color: var(--green2); }
.results-row { padding: 11px 0 16px; color: #83949e; font-size: 9px; }
.results-row span:first-child { color: #b5c2c7; }
.product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 17px; }
.product-card { overflow: hidden; border: 1px solid #283742; border-radius: 17px; background: linear-gradient(160deg, #151f28, #10171e 72%); box-shadow: 0 12px 30px #0002; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.product-card:hover { transform: translateY(-4px); border-color: #8bd4df55; box-shadow: 0 20px 42px #0004, 0 0 0 1px #8bd4df0c; }
.product-visual { position: relative; aspect-ratio: 1.08; overflow: hidden; border-bottom: 1px solid #ffffff0a; background: radial-gradient(ellipse at 51% 57%, #223744, #18232d 58%, #121a22 100%); cursor: pointer; }
.product-visual canvas { width: 100%; height: 100%; object-fit: cover; }
.product-visual::after { content: "DESIGN STUDY  /  OPEN TO INSPECT"; position: absolute; bottom: 11px; left: 12px; padding: 6px 8px; border: 1px solid #dcebf21e; border-radius: 7px; background: #0b121abf; color: #b1c1c8; font-size: 7px; letter-spacing: .15em; pointer-events: none; }
.favorite-button { top: 11px; right: 11px; width: 33px; height: 33px; border: 1px solid #dcebf22c; border-radius: 11px; background: #0d151cc7; color: #d9e2e4; font-size: 16px; }
.favorite-button.is-saved { color: #ff8a9b; }
.product-card-body { padding: 14px 14px 13px; }
.product-category { color: var(--green2); font-size: 8px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.product-card h3 { min-height: 42px; margin: 7px 0 10px; color: #edf3f3; font-size: 13px; font-weight: 610; line-height: 1.4; }
.product-price-row { border-top: 1px solid #ffffff0d; padding-top: 10px; }
.product-price { color: var(--ink); font-size: 13px; }
.card-add { min-height: 32px; padding-inline: 11px; border: 1px solid #c2f27a55; border-radius: 9px; background: #c2f27a; color: #10171d; font-size: 9px; font-weight: 750; }
.card-add:hover { background: #d4fb9e; }
.card-color-dots { padding-top: 9px; }
.mini-dot { width: 13px; height: 13px; border: 1px solid #eef4f433; box-shadow: 0 0 0 2px #111a22; }
.load-more-wrap { padding-top: 30px; }
.load-more-wrap .button { min-width: 200px; }
.empty-state { color: var(--muted); }

.custom-section { max-width: none; padding: 92px max(20px, calc((100% - 1296px) / 2)); grid-template-columns: .75fr 1.25fr; gap: clamp(35px, 6vw, 92px); background: radial-gradient(ellipse at 0% 12%, #14323b 0, transparent 34%), linear-gradient(150deg, #101821, #0a1017 72%); border-block: 1px solid #293844; }
.custom-intro { padding-top: 10px; }
.custom-intro > p { color: #a0b0b8; font-size: 12px; line-height: 1.85; }
.custom-callout { display: flex; gap: 12px; margin-top: 28px; padding: 16px; border: 1px solid #8bd4df2a; border-radius: 13px; background: #8bd4df09; }
.custom-callout > span { color: var(--green); }
.custom-callout p { color: #91a2ab; font-size: 9px; line-height: 1.7; }
.custom-callout strong { color: var(--ink); font-size: 10px; }
.layer-lab-steps { display: flex; gap: 15px; flex-wrap: wrap; margin-top: 25px; color: #82949d; font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.layer-lab-steps span { display: flex; align-items: center; gap: 6px; }
.layer-lab-steps b { color: var(--green); font-size: 9px; }
.custom-workbench { grid-template-columns: .95fr 1.05fr; gap: 20px; padding: 14px; border: 1px solid #354651; border-radius: 20px; background: linear-gradient(150deg, #17232d, #111820 78%); box-shadow: 0 28px 80px #0004, inset 0 1px #ffffff09; }
.custom-preview-panel { padding: 14px; border: 1px solid #2a3d49; border-radius: 14px; background: #0c141b; }
.preview-label { color: #a6b8c1; font-size: 8px; letter-spacing: .16em; }
.preview-label > span:first-child { display: inline-flex; align-items: center; gap: 7px; }
.preview-label .signal-dot { width: 5px; height: 5px; flex-basis: 5px; }
.preview-label > span:last-child { color: var(--green2); }
.custom-viewer { height: 286px; border: 1px solid #263742; border-radius: 13px; background: radial-gradient(ellipse at 50% 60%, #203541, #121a22 73%); }
.custom-viewer .model-webgl-canvas { border-radius: inherit; }
.custom-preview-footer { padding: 9px 2px; color: #81939d; font-size: 8px; }
.custom-intent-preview { margin: 4px 0 12px; padding: 10px 11px; border: 1px solid #263843; border-radius: 10px; background: #111b23; }
.custom-intent-preview span, .review-note > span { color: #7f939e; font-size: 7px; font-weight: 750; letter-spacing: .16em; }
.custom-intent-preview p { margin: 4px 0 0; color: #b6c4ca; font-size: 9px; line-height: 1.55; overflow-wrap: anywhere; }
.estimate-line { border-color: #30414b; padding-top: 11px; color: #a5b4bc; font-size: 9px; }
.estimate-line strong { color: var(--green); font-size: 15px; }
.estimate-note { color: #788b95; font-size: 8px; line-height: 1.65; }
.custom-form { padding: 10px 14px 12px 8px; color: #b7c4ca; font-size: 10px; }
.form-step { border-color: #2a3944; padding: 12px 0; }
.step-number { color: var(--green); font-weight: 700; }
.step-content > label, .step-content > span.form-label { color: #dce6e8; font-size: 9px; }
.step-content small { color: #788c96; }
.step-content select, .step-content input:not([type=file]), .step-content textarea, .checkout-form input:not([type=radio]):not([type=checkbox]), .checkout-form textarea { min-height: 38px; border: 1px solid #354651; border-radius: 9px; background: #0d151c; color: var(--ink); font-size: 10px; }
.step-content select:focus, .step-content input:focus, .step-content textarea:focus { border-color: var(--green2); outline: 2px solid #8bd4df22; }
.size-controls { gap: 8px; }
.size-controls label { color: #8b9da6; font-size: 8px; }
.size-controls label span { color: #6f818a; }
.swatch-button { width: 31px; height: 31px; }
.swatch-button span { width: 21px; height: 21px; }
.swatch-button[aria-pressed="true"] { border-color: var(--green); }
.upload-label { border: 1px dashed #435663; border-radius: 10px; background: #ffffff03; }
.upload-label:hover { border-color: var(--green2); }
.upload-label > span:first-child { color: var(--green); }
.file-name { color: #8d9fa8; }
.custom-form > .button { margin-top: 15px; }
.form-footnote { color: #82949d; font-size: 8px; line-height: 1.6; }

.process-section { padding-top: 96px; padding-bottom: 96px; }
.process-grid { gap: 18px; margin-top: 39px; }
.process-grid article { min-height: 175px; padding: 19px; border: 1px solid var(--line); border-radius: 15px; background: linear-gradient(145deg, #131e27, #0e151c); }
.process-number { color: var(--green); font-size: 9px; }
.process-grid h3 { color: var(--ink); font-family: var(--sans); font-size: 15px; font-weight: 650; }
.process-grid p { color: #91a2ab; font-size: 10px; }
.material-note { max-width: none; padding: 74px max(20px, calc((100% - 1296px) / 2)); background: linear-gradient(105deg, #162a32, #132029 58%, #10171f); border-block: 1px solid #8bd4df20; }
.material-note .eyebrow { color: var(--green2); }
.material-note h2 em { color: var(--green); }
.material-copy p { color: #a1b0b8; font-size: 10px; line-height: 1.85; }
.material-copy .text-link { color: var(--green); }
.site-footer { padding: 42px max(20px, calc((100% - 1296px) / 2)) 18px; background: #080d12; color: #e5eeee; }
.footer-brand .brand-mark { border-color: #8bd4df55; }
.footer-brand .brand-mark span { background: var(--green); }
.footer-brand .brand-copy small { color: #81929b; }
.footer-main > p { color: #91a1a8; font-size: 10px; }
.footer-links { color: #aab8bf; font-size: 9px; }
.footer-bottom { border-color: #26353e; color: #71828a; font-size: 8px; }

.side-drawer { border-left: 1px solid var(--line); background: #101820; box-shadow: -28px 0 80px #0007; }
.drawer-header { border-color: var(--line); }
.drawer-header h2 { font-family: var(--sans); font-size: 24px; font-weight: 680; letter-spacing: -.04em; }
.close-button { border-color: var(--line); border-radius: 10px; background: #ffffff05; color: #c2d0d4; }
.drawer-item { border-color: #263741; }
.drawer-item canvas { border-radius: 9px; }
.drawer-item h3 { font-family: var(--sans); font-size: 12px; font-weight: 620; }
.drawer-item strong { color: var(--green); }
.drawer-summary { border-color: var(--line); }
.drawer-summary > div { color: #a2b0b7; }
.drawer-summary .summary-total { border-color: var(--line); color: var(--ink); }
.drawer-summary p { color: #8b9aa2; }
.remove-item, .quantity-control button { border-color: #344650; border-radius: 7px; background: #ffffff05; color: #d4dfe1; }
.scrim { background: #03080dc9; backdrop-filter: blur(7px); }

.product-dialog, .checkout-dialog, .confirmation-dialog, .custom-review-dialog { border: 1px solid #40515b; border-radius: 20px; background: #111a22; color: var(--ink); box-shadow: 0 35px 100px #0009; }
dialog::backdrop { background: #03080dc9; backdrop-filter: blur(8px); }
.product-dialog { overflow: hidden; }
.detail-layout { min-height: 530px; }
.detail-view-wrap { background: radial-gradient(ellipse at 50% 55%, #223846, #10171e 74%); }
.detail-drag-hint, .reset-view { border: 1px solid #ffffff19; border-radius: 8px; background: #0c141bd9; color: #c0cdd1; }
.detail-content h2 { font-family: var(--sans); font-size: 34px; font-weight: 690; letter-spacing: -.055em; }
.detail-kicker { color: var(--green2); font-size: 8px; }
.detail-price { color: var(--green); }
.detail-meta { border-color: var(--line); }
.detail-meta span { color: #83959e; }
.detail-meta strong { color: #dce6e7; }
.detail-care, .detail-small { color: #8fa1aa; }
.checkout-layout { min-height: 560px; }
.checkout-intro { background: radial-gradient(ellipse at 0 0, #29505a, #14222c 65%, #121a22); }
.checkout-intro .eyebrow { color: var(--green); }
.checkout-intro h2 { font-family: var(--sans); font-size: 38px; font-weight: 700; letter-spacing: -.055em; }
.checkout-intro > p { color: #a9b8bf; }
.checkout-total { border-color: #ffffff29; }
.checkout-total strong { color: var(--green); }
.checkout-form { color: #c8d3d7; }
.checkout-form > label, .form-row > div label { color: #dce6e8; }
.checkout-form textarea { resize: vertical; }
.payment-choice { border-color: var(--line); border-radius: 10px; }
.payment-choice small { color: #8fa1aa; }
.checkout-consent { color: #9aabb2; }
.confirmation-mark { background: var(--green); color: #10171d; }
.confirmation-content h2 { font-family: var(--sans); letter-spacing: -.05em; }
.order-reference { border: 1px solid var(--line); border-radius: 10px; background: #0d151c; }
.order-reference strong { color: var(--green); }
.toast { border: 1px solid #c2f27a55; border-radius: 12px; background: #17232b; color: #eef5f2; box-shadow: var(--shadow); }

.custom-review-dialog { width: min(940px, calc(100vw - 32px)); max-width: none; max-height: calc(100dvh - 32px); overflow: auto; }
.custom-review-layout { display: grid; grid-template-columns: .95fr 1.05fr; min-height: 540px; }
.custom-review-art { position: relative; display: grid; min-height: 540px; place-items: center; overflow: hidden; border-right: 1px solid var(--line); background: radial-gradient(ellipse at 50% 53%, #25414f, #121b23 68%, #0e151c); }
.custom-review-art::before { content: ""; position: absolute; inset: 11%; border: 1px solid #8bd4df17; border-radius: 50%; box-shadow: 0 0 0 32px #8bd4df05, 0 0 0 68px #8bd4df03; }
.custom-review-art img { position: relative; z-index: 1; display: block; width: 100%; aspect-ratio: 1 / 1; object-fit: contain; }
.custom-review-art img[hidden] { display: none; }
.review-art-label, .review-art-size { position: absolute; z-index: 2; display: flex; align-items: center; gap: 8px; border: 1px solid #e7f3f419; border-radius: 8px; background: #0b121acb; color: #bccbd0; font-size: 8px; letter-spacing: .14em; }
.review-art-label { top: 18px; left: 18px; padding: 8px 10px; }
.review-art-label .signal-dot { width: 5px; height: 5px; flex-basis: 5px; }
.review-art-size { bottom: 18px; left: 18px; padding: 8px 10px; color: var(--green); }
.custom-review-copy { padding: 43px 40px 35px; }
.custom-review-copy h2 { margin: 15px 0 10px; font-size: clamp(29px, 3.4vw, 40px); font-weight: 700; line-height: 1.05; letter-spacing: -.06em; }
.review-lead { margin: 0 0 23px; color: #9aabb2; font-size: 10px; line-height: 1.7; }
.review-spec-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.review-spec-grid > div { padding: 11px 12px; border: 1px solid var(--line); border-radius: 10px; background: #ffffff04; }
.review-spec-grid span, .review-spec-grid strong { display: block; }
.review-spec-grid span { color: #81949d; font-size: 7px; letter-spacing: .15em; }
.review-spec-grid strong { margin-top: 4px; color: #e0e9ea; font-size: 10px; }
.review-spec-grid > div:last-child strong { color: var(--green); }
.review-note { margin-top: 14px; padding: 12px; border: 1px solid #8bd4df28; border-radius: 10px; background: #8bd4df08; }
.review-note p { max-height: 92px; margin: 5px 0 0; overflow: auto; color: #c0ccd1; font-size: 9px; line-height: 1.65; overflow-wrap: anywhere; }
.review-disclaimer { margin: 13px 0 17px; color: #83959d; font-size: 8px; line-height: 1.65; }
.review-actions { display: flex; gap: 9px; }
.review-actions .button { flex: 1; min-height: 42px; padding-inline: 11px; font-size: 9px; }

.skip-link:focus { z-index: 100; border-radius: 8px; background: var(--green); color: #10171d; }
:focus-visible { outline: 2px solid var(--green2); outline-offset: 3px; }

body.theme-light .announcement { background: #10232b; }
body.theme-light .site-header { background: #f2f6f5e8; }
body.theme-light .main-nav, body.theme-light .nav-action, body.theme-light .icon-button { color: #52656e; }
body.theme-light .cart-button { color: #fff; background: #173c42; }
body.theme-light .cart-button b { color: #d9f09b; }
body.theme-light .hero-copy > p, body.theme-light .hero-note small { color: #62737c; }
body.theme-light .hero-art-wrap { border-color: #cddde0; background: linear-gradient(145deg, #ffffff, #eaf1f0); }
body.theme-light .promise-strip { border-color: var(--line); background: #ffffff; }
body.theme-light .promise-strip > div { border-color: var(--line); }
body.theme-light .signature-section { border-color: #b9d4d7; background: radial-gradient(ellipse at 5% 100%, #d8ece9, transparent 44%), linear-gradient(115deg, #edf4f2, #f8faf9 72%); }
body.theme-light .signature-kicker, body.theme-light .signature-copy p { color: #657780; }
body.theme-light .signature-index { color: #7c929a; }
body.theme-light .signature-index span { color: #b3c0c4; }
body.theme-light .signature-link { border-color: #91b7ba; }
body.theme-light .category-chip { background: #fff; color: #566872; }
body.theme-light .category-chip[aria-pressed="true"] { color: #fff; background: #173c42; border-color: #173c42; }
body.theme-light .search-control, body.theme-light .select-control select, body.theme-light .favorites-filter { background: #fff; color: var(--ink); }
body.theme-light .search-control input { color: var(--ink); }
body.theme-light .product-card { border-color: #d7e0e2; background: #fff; box-shadow: 0 12px 30px #17333d0c; }
body.theme-light .product-card h3 { color: var(--ink); }
body.theme-light .product-price { color: var(--ink); }
body.theme-light .mini-dot { box-shadow: 0 0 0 2px white; }
body.theme-light .custom-section { background: radial-gradient(ellipse at 0% 12%, #d4ebe8 0, transparent 34%), linear-gradient(150deg, #eaf1ef, #f4f7f6 72%); }
body.theme-light .custom-intro > p, body.theme-light .custom-callout p { color: #5e717a; }
body.theme-light .custom-callout strong { color: var(--ink); }
body.theme-light .custom-workbench { border-color: #d4e0e2; background: #fff; box-shadow: 0 22px 60px #16333d12; }
body.theme-light .custom-form { color: #43565f; }
body.theme-light .step-content > label, body.theme-light .step-content > span.form-label { color: #263943; }
body.theme-light .step-content select, body.theme-light .step-content input:not([type=file]), body.theme-light .step-content textarea { border-color: #cbd8dc; background: #f9fbfa; color: #162731; }
body.theme-light .form-footnote, body.theme-light .layer-lab-steps, body.theme-light .custom-intro > p { color: #5e717a; }
body.theme-light .process-grid article { border-color: #d6e1e3; background: #fff; }
body.theme-light .process-grid p { color: #61747d; }
body.theme-light .material-note { background: #17343b; }
body.theme-light .side-drawer { background: #fff; }
body.theme-light .product-dialog, body.theme-light .checkout-dialog, body.theme-light .confirmation-dialog, body.theme-light .custom-review-dialog { background: #fff; }
body.theme-light .custom-review-copy h2, body.theme-light .review-spec-grid strong { color: #14242e; }
body.theme-light .review-spec-grid > div { border-color: #d6e1e3; background: #f8fbfa; }
body.theme-light .review-note { border-color: #c9dfe0; background: #f1f8f7; }
body.theme-light .review-note p { color: #3c535e; }
body.theme-light .review-disclaimer, body.theme-light .review-lead { color: #637780; }
body.theme-light .toast { background: #16353b; color: #f4fbfa; }

@media (max-width: 1050px) {
  .header-inner { padding-inline: 28px; }
  .hero-section { padding-inline: 35px; gap: 30px; }
  .signature-section { margin-inline: 28px; }
  .page-section { padding-inline: 35px; }
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .custom-section { padding-inline: 35px; }
  .custom-workbench { grid-template-columns: 1fr; }
  .custom-form { padding-inline: 14px; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 72px; }
  .announcement { height: 30px; font-size: 7px; letter-spacing: .12em; }
  .header-inner { height: 66px; padding-inline: 16px; gap: 8px; }
  .header-inner > .brand { min-width: 0; flex: 1 1 auto; }
  .header-actions { flex: 0 0 auto; gap: 4px; }
  .brand { min-width: 0; }
  .brand-copy strong { font-size: 10px; }
  .main-nav { display: none; }
  .header-actions { gap: 5px; }
  .nav-action { padding: 5px; }
  .icon-button { width: 33px; height: 33px; }
  .cart-button { min-height: 36px; padding-inline: 10px; }
  .hero-section { padding: 50px 20px 38px; grid-template-columns: 1fr; gap: 28px; }
  .hero-copy h1 { font-size: clamp(55px, 14vw, 76px); }
  .hero-copy > p { font-size: 12px; }
  .hero-note { margin-top: 25px; }
  .hero-art-wrap { padding: 8px; border-radius: 19px; }
  .hero-art { height: min(86vw, 390px); }
  .hero-side-note { display: none; }
  .drag-hint { bottom: 72px; }
  .promise-strip { margin-inline: 15px; padding: 13px 14px; grid-template-columns: 1fr 1fr; gap: 10px; border-radius: 14px; }
  .promise-strip > div { padding: 5px 6px; border: 0; }
  .promise-strip strong { font-size: 9px; }
  .promise-strip small { font-size: 8px; }
  .signature-section { margin: 24px 15px 2px; padding: 50px 19px 20px; grid-template-columns: 1fr; gap: 14px; }
  .signature-kicker { top: 17px; left: 19px; font-size: 7px; }
  .signature-copy { grid-column: 1; padding: 0; }
  .signature-copy h2 { margin: 10px 0; font-size: 34px; }
  .signature-copy p { font-size: 9px; }
  .signature-link { justify-self: start; }
  .signature-index { top: 17px; right: 18px; }
  .page-section { padding: 67px 20px; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .section-heading h2, .custom-intro h2, .material-note h2 { font-size: 41px; }
  .collection-count { align-self: flex-end; margin-top: -6px; }
  .category-rail { margin-right: -20px; padding: 19px 0 13px; }
  .catalog-controls { display: grid; grid-template-columns: 1fr 1fr; }
  .search-control { grid-column: 1 / -1; }
  .select-control select { width: 100%; min-width: 0; }
  .favorites-filter { min-height: 40px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 11px; }
  .product-card { border-radius: 13px; }
  .product-visual { aspect-ratio: .98; }
  .product-visual::after { bottom: 7px; left: 7px; padding: 5px 6px; font-size: 6px; }
  .favorite-button { top: 7px; right: 7px; width: 29px; height: 29px; }
  .product-card-body { padding: 10px; }
  .product-card h3 { min-height: 39px; font-size: 12px; }
  .product-price { font-size: 11px; }
  .card-add { min-height: 29px; padding-inline: 7px; font-size: 8px; }
  .custom-section { padding: 68px 16px; grid-template-columns: 1fr; gap: 25px; }
  .custom-intro > p { font-size: 11px; }
  .custom-callout { margin-top: 18px; }
  .custom-workbench { gap: 11px; padding: 10px; border-radius: 16px; }
  .custom-preview-panel { padding: 10px; }
  .custom-viewer { height: min(70vw, 300px); }
  .custom-form { padding-inline: 9px; }
  .process-section { padding-block: 66px; }
  .process-grid { grid-template-columns: 1fr; gap: 10px; margin-top: 25px; }
  .process-grid article { min-height: 0; padding: 15px; }
  .material-note { padding: 47px 20px; grid-template-columns: 1fr; gap: 12px; }
  .site-footer { padding: 30px 20px 16px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 14px; }
  .footer-main > p { grid-column: 1 / -1; grid-row: 2; }
  .footer-links { justify-content: flex-start; gap: 11px; }
  .footer-bottom { font-size: 7px; }
  .side-drawer { padding: 20px 18px; }
  .product-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); overflow: auto; }
  .detail-layout { grid-template-columns: 1fr; }
  .detail-view-wrap { min-height: 48vh; height: 48vh; }
  .detail-content { padding: 27px 22px 22px; }
  .checkout-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  .checkout-layout { grid-template-columns: 1fr; }
  .checkout-intro { padding: 27px 22px; }
  .checkout-intro h2 { margin: 14px 0; font-size: 32px; }
  .checkout-total { margin-top: 15px; }
  .checkout-form { padding: 20px 22px 25px; }
  .confirmation-content { padding: 34px 24px; }
  .custom-review-dialog { width: calc(100vw - 14px); max-height: calc(100dvh - 14px); }
  .custom-review-layout { grid-template-columns: 1fr; }
  .custom-review-art { min-height: 0; height: min(74vw, 350px); border-right: 0; border-bottom: 1px solid var(--line); }
  .custom-review-copy { padding: 25px 20px 20px; }
  .custom-review-copy h2 { font-size: 31px; }
  .review-actions { flex-direction: column-reverse; }
  .review-actions .button { flex: auto; }
}

@media (max-width: 390px) {
  .product-grid { gap: 8px; }
  .product-card h3 { font-size: 11px; }
  .product-price { font-size: 10px; }
  .card-add { padding-inline: 6px; font-size: 7px; }
  .custom-preview-footer { font-size: 7px; }
  .checkout-form .form-row { gap: 7px !important; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; transition-duration: .01ms !important; animation-duration: .01ms !important; }
}

/* Product-first studio refresh */
:root {
  color-scheme: light;
  --paper: #f3f1eb;
  --surface: #fffefa;
  --ink: #202622;
  --muted: #667069;
  --line: #deddd4;
  --green: #244c3c;
  --green2: #507963;
  --warm: #a56748;
  --soft: #e9e7df;
  --shadow: 0 22px 64px #27291e14;
}
body, body.theme-light {
  color-scheme: light;
  --paper: #f3f1eb;
  --surface: #fffefa;
  --ink: #202622;
  --muted: #667069;
  --line: #deddd4;
  --green: #244c3c;
  --green2: #507963;
  --warm: #a56748;
  --soft: #e9e7df;
  --shadow: 0 22px 64px #27291e14;
  background: var(--paper);
  color: var(--ink);
  font-size: 16px;
  line-height: 1.6;
}
html { scroll-padding-top: 88px; }
.announcement { height: 32px; background: #243b31; color: #e7eee8; font-size: 11px; letter-spacing: .12em; }
.announcement-dot, .signal-dot { background: #c2d29a; box-shadow: none; }
.site-header { background: #f3f1ebf2; border-bottom: 1px solid var(--line); backdrop-filter: blur(16px); }
.header-inner { max-width: 1400px; height: 76px; padding-inline: clamp(20px, 4vw, 64px); }
.brand { min-width: 190px; gap: 10px; }
.brand-mark { border-color: #c7d2c7; border-radius: 50%; background: #fffefa; }
.brand-mark span { background: #315744; box-shadow: none; }
.brand-copy strong { color: #263b30; font-size: 13px; letter-spacing: .16em; }
.brand-copy small { color: #707971; font-size: 9px; letter-spacing: .22em; }
.main-nav { color: #4d5850; font-size: 14px; gap: 30px; }
.main-nav a:hover, .footer-links a:hover { color: #a56748; }
.header-actions { gap: 10px; }
.nav-action, .icon-button { color: #45534b; font-size: 14px; }
.icon-button { background: #fffefa; border-color: var(--line); }
.nav-action b, .cart-button b { color: #244c3c; }
.cart-button { background: #244c3c; color: white; border-color: #244c3c; font-size: 14px; }
.cart-button b { color: #dbe7cc; }
.hero-section { max-width: 1400px; min-height: 590px; padding: clamp(60px, 8vw, 112px) clamp(22px, 4vw, 64px) 86px; gap: clamp(36px, 6vw, 86px); }
.hero-copy { max-width: 550px; }
.eyebrow { color: #53675a; font-size: 12px; letter-spacing: .13em; }
.eyebrow-line { background: #a56748; }
.hero-copy h1 { margin: 22px 0 20px; color: #202922; font-size: clamp(54px, 6.2vw, 84px); line-height: .99; letter-spacing: -.065em; }
.hero-copy h1 em, .section-heading h2 em, .custom-intro h2 em { color: #8c6049; font-style: normal; }
.hero-copy > p { max-width: 490px; color: #5c675f; font-size: 18px; line-height: 1.7; }
.hero-actions { gap: 22px; margin-top: 30px; }
.button { min-height: 48px; padding: 0 21px; border-radius: 9px; font-size: 15px; }
.button-dark { background: #244c3c; color: #fff; }
.button-dark:hover { background: #173a2b; }
.text-link { color: #315744; font-size: 15px; }
.hero-note { margin-top: 34px; }
.hero-note-icon { color: #a56748; }
.hero-note strong { color: #374239; font-size: 14px; }
.hero-note small { color: #68736b; font-size: 13px; }
.hero-art-wrap { padding: 12px; border-color: #deddd4; border-radius: 18px; background: #fffefa; box-shadow: 0 24px 60px #3a34260d; }
.hero-art-caption { margin: 4px 5px 10px; color: #68736b; font-size: 11px; letter-spacing: .11em; }
.hero-art { height: clamp(350px, 37vw, 470px); border: 1px solid #e5e2d9; border-radius: 12px; background: #e9e6df; overflow: hidden; }
.hero-viewer { width: 100%; height: 100%; }
.hero-viewer .model-webgl-canvas { display: block; width: 100%; height: 100%; }
.hero-product-bar { min-height: 65px; }
.hero-product-bar small { color: #778078; font-size: 11px; letter-spacing: .1em; }
.hero-product-bar strong { color: #29362e; font-size: 15px; }
.hero-product-buy > strong { font-size: 16px; }
.round-arrow { width: 38px; height: 38px; color: white; background: #315744; font-size: 17px; }
.drag-hint { color: #707a72; font-size: 12px; }
.hero-side-note { color: #788078; font-size: 10px; letter-spacing: .17em; }
.page-section { max-width: 1400px; padding: 86px clamp(22px, 4vw, 64px); }
.collection-heading { align-items: end; }
.section-heading h2, .custom-intro h2 { color: #202922; font-size: clamp(40px, 5vw, 62px); line-height: 1.04; letter-spacing: -.055em; }
.section-heading p { max-width: 510px; margin-top: 15px; color: #68736b; font-size: 16px; }
.collection-count { color: #667069; }
.collection-count strong { color: #315744; font-size: 50px; }
.collection-count span { font-size: 13px; }
.category-rail { gap: 9px; padding: 25px 0 16px; }
.category-chip { min-height: 40px; padding: 0 16px; border: 1px solid #d9d9d0; border-radius: 999px; background: #fffefa; color: #4c584f; font-size: 14px; }
.category-chip[aria-pressed="true"] { background: #244c3c; border-color: #244c3c; color: white; }
.catalog-controls { gap: 10px; }
.search-control, .select-control select, .favorites-filter { min-height: 46px; border: 1px solid #d9d9d0; border-radius: 9px; background: #fffefa; color: #334038; font-size: 14px; }
.search-control { padding-inline: 14px; }
.search-control input { color: #202922; font-size: 14px; }
.search-control input::placeholder { color: #7d867f; }
.select-control select { padding-inline: 13px 34px; }
.favorites-filter { padding-inline: 15px; }
.favorites-filter[aria-pressed="true"] { color: #fff; background: #244c3c; }
.results-row { margin: 17px 0 14px; color: #68736b; font-size: 13px; }
.product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.product-card { border: 1px solid #e1dfd6; border-radius: 13px; background: #fffefa; box-shadow: 0 8px 22px #262a2309; }
.product-card:hover { transform: translateY(-3px); border-color: #b9c5b7; box-shadow: 0 18px 34px #262a2312; }
.product-visual { aspect-ratio: 1.08; border-bottom: 1px solid #e5e2d9; background: #e9e6df; }
.product-visual canvas { width: 100%; height: 100%; }
.product-visual::after { content: "3D MODEL  ·  OPEN TO INSPECT"; bottom: 10px; left: 10px; padding: 5px 8px; border-color: #d4d1c8; border-radius: 5px; background: #fffefae8; color: #556159; font-size: 10px; letter-spacing: .07em; }
.favorite-button { width: 36px; height: 36px; border: 1px solid #dedbd1; background: #fffefa; color: #47544c; font-size: 18px; }
.favorite-button.is-saved { color: #a04c45; }
.product-card-body { padding: 15px 15px 16px; }
.product-category { color: #7b6251; font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }
.product-card h3 { min-height: 0; margin: 5px 0 3px; color: #202922; font-size: 17px; font-weight: 650; line-height: 1.35; }
.product-specs { min-height: 0; margin: 0 0 13px; color: #6e7871; font-size: 13px; line-height: 1.45; }
.product-price-row { align-items: center; gap: 8px; }
.product-price { color: #25382d; font-size: 17px; }
.card-actions { display: flex; align-items: center; gap: 6px; }
.card-view, .card-add { min-height: 36px; padding: 0 10px; border: 1px solid #cad4c9; border-radius: 7px; background: transparent; color: #315744; font-size: 13px; font-weight: 650; }
.card-view:hover { background: #f0f3ed; }
.card-add { border-color: #244c3c; background: #244c3c; color: white; }
.card-add:hover { background: #173a2b; }
.card-color-dots { margin-top: 14px; }
.mini-dot { width: 15px; height: 15px; box-shadow: 0 0 0 1px #d9d9d0; }
.mini-dot[aria-pressed="true"] { box-shadow: 0 0 0 2px #315744; }
.load-more-wrap { padding-top: 32px; }
.button-outline { border-color: #9ca99e; color: #315744; }
.empty-state { color: #667069; }
.custom-section { max-width: none; padding: 86px max(22px, calc((100% - 1272px) / 2)); grid-template-columns: .72fr 1.28fr; gap: clamp(36px, 6vw, 86px); background: #e9e8df; border-block: 1px solid #deddd4; }
.custom-intro > p { color: #5f6a62; font-size: 17px; }
.custom-callout { border-color: #d3d5c8; background: #f5f4ee; }
.custom-callout p, .layer-lab-steps { color: #667069; font-size: 14px; }
.custom-callout strong { color: #25382d; }
.layer-lab-steps b { color: #8a6049; }
.custom-workbench { gap: 18px; padding: 16px; border: 1px solid #deddd4; border-radius: 14px; background: #fffefa; box-shadow: 0 18px 45px #27291e0c; }
.custom-preview-panel { padding: 12px; }
.preview-label, .custom-preview-footer { color: #667069; font-size: 12px; }
.custom-viewer, .detail-viewer { border-color: #e2dfd6; border-radius: 9px; background: #e9e6df; }
.custom-intent-preview { padding: 12px; border-color: #e2dfd6; background: #f7f6f0; }
.custom-intent-preview span { color: #8a6049; font-size: 11px; }
.custom-intent-preview p { color: #4d5a51; font-size: 14px; }
.estimate-line { color: #59655d; font-size: 14px; }
.estimate-line strong { color: #25382d; font-size: 19px; }
.estimate-note, .form-footnote { color: #68736b; font-size: 13px; }
.custom-form { border-color: #e3e1d8; color: #4d5a51; }
.step-content > label, .step-content > span.form-label { color: #27362d; font-size: 15px; }
.step-content small { color: #6c776f; font-size: 12px; }
.step-content select, .step-content input:not([type=file]), .step-content textarea { border-color: #d6d8cf; border-radius: 8px; background: #fffefa; color: #202922; font-size: 14px; }
.size-controls label { color: #5e6961; font-size: 13px; }
.step-number { color: #8a6049; font-size: 13px; }
.form-label { color: #4a574e; font-size: 14px; }
.swatch-button { border-color: #c8cec5; }
.process-section, .material-note { display: none; }
.site-footer { padding: 35px clamp(22px, 4vw, 64px) 18px; background: #243b31; color: #e9eee8; }
.footer-main { max-width: 1272px; }
.footer-main > p, .footer-links, .footer-bottom { color: #d1dbd1; font-size: 13px; }
.footer-brand .brand-copy strong { color: #f4f5ef; }
.footer-brand .brand-copy small { color: #c5d0c5; }
.footer-brand .brand-mark { background: #315744; border-color: #54705b; }
.footer-brand .brand-mark span { background: #d5dfb5; }
.drawer-header h2, .detail-content h2, .checkout-intro h2, .confirmation-content h2, .custom-review-copy h2 { color: #202922; }
.side-drawer, .product-dialog, .checkout-dialog, .confirmation-dialog, .custom-review-dialog { background: #fffefa; color: #202922; }
.product-dialog, .checkout-dialog, .custom-review-dialog { border-color: #deddd4; }
.detail-view-wrap { background: #e9e6df; }
.detail-drag-hint, .detail-content > p, .detail-care, .detail-small { color: #657168; font-size: 14px; }
.detail-price { color: #244c3c; font-size: 25px; }
.detail-meta > div, .review-spec-grid > div { border-color: #e0ded5; background: #f8f7f1; }
.detail-meta span, .review-spec-grid span { color: #758078; font-size: 11px; }
.detail-meta strong, .review-spec-grid strong { color: #29362e; font-size: 14px; }
.drawer-item h3 { color: #29362e; font-size: 15px; }
.drawer-item small, .drawer-summary, .drawer-empty { color: #667069; font-size: 13px; }
.drawer-summary strong, .drawer-item strong { color: #29362e; }
.search-control:focus-within, .select-control select:focus, .step-content input:focus, .step-content textarea:focus { outline-color: #507963; }

@media (max-width: 1050px) {
  .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .hero-section { padding-inline: 34px; }
}
@media (max-width: 760px) {
  html { scroll-padding-top: 72px; }
  .announcement { height: 32px; font-size: 10px; }
  .header-inner { height: 66px; padding-inline: 16px; }
  .brand-copy strong { font-size: 11px; }
  .brand-copy small { font-size: 8px; }
  .nav-action { font-size: 13px; }
  .icon-button { width: 36px; height: 36px; }
  .cart-button { min-height: 40px; padding-inline: 12px; }
  .hero-section { padding: 52px 20px 44px; grid-template-columns: 1fr; gap: 28px; }
  .hero-copy h1 { font-size: clamp(50px, 13vw, 72px); }
  .hero-copy > p { font-size: 16px; }
  .hero-note { margin-top: 24px; }
  .hero-art-wrap { padding: 9px; border-radius: 14px; }
  .hero-art { height: min(84vw, 390px); }
  .hero-art-caption { font-size: 10px; }
  .drag-hint { bottom: 68px; font-size: 12px; }
  .page-section { padding: 66px 20px; }
  .section-heading { align-items: flex-start; flex-direction: column; gap: 10px; }
  .section-heading h2, .custom-intro h2 { font-size: 42px; }
  .collection-count { align-self: flex-end; margin-top: -54px; }
  .category-rail { margin-right: -20px; padding: 18px 0 12px; }
  .category-chip { min-height: 38px; padding-inline: 13px; font-size: 13px; }
  .catalog-controls { display: grid; grid-template-columns: 1fr 1fr; }
  .search-control { grid-column: 1 / -1; }
  .select-control select { width: 100%; min-width: 0; }
  .favorites-filter { min-height: 44px; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
  .product-card { border-radius: 10px; }
  .product-visual { aspect-ratio: .94; }
  .product-visual::after { bottom: 7px; left: 7px; padding: 4px 6px; font-size: 9px; }
  .favorite-button { top: 7px; right: 7px; width: 32px; height: 32px; }
  .product-card-body { padding: 10px; }
  .product-category { font-size: 10px; }
  .product-card h3 { font-size: 15px; line-height: 1.3; }
  .product-specs { margin-bottom: 10px; font-size: 12px; }
  .product-price-row { align-items: flex-start; flex-direction: column; }
  .product-price { font-size: 16px; }
  .card-actions { width: 100%; }
  .card-view, .card-add { flex: 1; min-height: 38px; padding-inline: 7px; font-size: 12px; }
  .mini-dot { width: 14px; height: 14px; }
  .custom-section { padding: 66px 18px; grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .custom-section > *, .custom-workbench { min-width: 0; }
  .custom-intro > p { font-size: 16px; }
  .custom-callout p { font-size: 13px; }
  .custom-workbench { gap: 10px; padding: 10px; border-radius: 12px; }
  .custom-preview-panel { padding: 8px; }
  .custom-viewer { height: min(70vw, 300px); }
  .custom-form { padding-inline: 8px; }
  .step-content > label, .step-content > span.form-label { font-size: 14px; }
  .step-content input:not([type=file]), .step-content select, .step-content textarea { min-height: 42px; }
  .site-footer { padding: 30px 20px 16px; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 14px; }
  .footer-main > p { grid-column: 1 / -1; grid-row: 2; }
  .footer-links { justify-content: flex-start; gap: 12px; }
  .footer-bottom { font-size: 12px; }
  .side-drawer { padding: 20px 18px; }
  .product-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); overflow: auto; }
  .detail-layout { grid-template-columns: 1fr; }
  .detail-view-wrap { min-height: 48vh; height: 48vh; }
  .detail-content { padding: 27px 22px 22px; }
  .checkout-dialog { width: calc(100vw - 16px); max-height: calc(100dvh - 16px); }
  .checkout-layout { grid-template-columns: 1fr; }
  .checkout-intro { padding: 27px 22px; }
  .checkout-intro h2 { margin: 14px 0; font-size: 32px; }
  .checkout-form { padding: 20px 22px 25px; }
  .confirmation-content { padding: 34px 24px; }
  .custom-review-dialog { width: calc(100vw - 14px); max-height: calc(100dvh - 14px); }
  .custom-review-layout { grid-template-columns: 1fr; }
  .custom-review-art { min-height: 0; height: min(74vw, 350px); border-right: 0; border-bottom: 1px solid var(--line); }
  .custom-review-copy { padding: 25px 20px 20px; }
  .custom-review-copy h2 { font-size: 31px; }
  .review-actions { flex-direction: column-reverse; }
  .review-actions .button { flex: auto; }
}
@media (max-width: 390px) {
  .product-grid { gap: 8px; }
  .product-card h3 { font-size: 14px; }
  .product-specs { font-size: 11px; }
  .card-view, .card-add { min-height: 36px; padding-inline: 5px; font-size: 11px; }
  .custom-preview-footer { font-size: 11px; }
}

/* Cool, neutral product-stage lighting lets vivid filament finishes read clearly. */
.hero-art, .product-visual, .custom-viewer, .detail-view-wrap, .drawer-item canvas { background: #edf2f6; }
.product-visual::after { border: 1px solid #23374724; border-radius: 7px; background: #f8fbf4ed; color: #263845; }
.mini-dot { border: 2px solid #f7f9fb; box-shadow: 0 0 0 1px #34495e66; transition: transform .16s ease, box-shadow .16s ease; }
.mini-dot:hover { transform: scale(1.16); }
.mini-dot[aria-pressed="true"] { box-shadow: 0 0 0 2px #172d3c; }
.swatch-button span { border: 2px solid #fff; box-shadow: 0 0 0 1px #34495e66; }
.swatch-button[aria-pressed="true"] { border-color: #172d3c; }

/* Clear, factual studio benefits and product-specific reasons to choose each design. */
.usp-strip {
  width: min(100%, 1400px);
  margin: 0 auto;
  padding: 2px clamp(22px, 4vw, 64px) 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.usp-item {
  min-height: 108px;
  display: flex;
  align-items: flex-start;
  gap: 13px;
  padding: 19px 16px;
  border: 1px solid #dfe4e5;
  border-radius: 12px;
  background: #fffefa;
}
.usp-icon {
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid #cdd9df;
  border-radius: 9px;
  background: #edf2f6;
  color: #315744;
  font-size: 14px;
  font-weight: 700;
}
.usp-item h2 { margin: 1px 0 5px; color: #202922; font-size: 15px; line-height: 1.25; }
.usp-item p { margin: 0; color: #5f6c67; font-size: 13px; line-height: 1.45; }
.product-usp {
  min-height: 3em;
  margin: 8px 0 9px;
  display: -webkit-box;
  overflow: hidden;
  color: #45564f;
  font-size: 13px;
  line-height: 1.5;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.product-specs { margin-bottom: 12px; }
@media (max-width: 1050px) {
  .usp-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .usp-strip { padding: 0 20px; gap: 9px; }
  .usp-item { min-height: 0; gap: 10px; padding: 14px 11px; }
  .usp-icon { flex-basis: 30px; width: 30px; height: 30px; border-radius: 8px; font-size: 13px; }
  .usp-item h2 { font-size: 14px; }
  .usp-item p { font-size: 12px; line-height: 1.4; }
  .product-usp { min-height: 4.2em; margin: 7px 0 8px; font-size: 12px; line-height: 1.4; -webkit-line-clamp: 3; }
}
@media (max-width: 390px) {
  .usp-strip { padding-inline: 14px; gap: 7px; }
  .usp-item { gap: 7px; padding: 12px 8px; }
  .usp-icon { flex-basis: 27px; width: 27px; height: 27px; }
  .usp-item h2 { font-size: 13px; }
  .usp-item p { font-size: 11px; }
}
