:root {
  color-scheme: light;
  --ink: #171a15;
  --muted: #72776e;
  --paper: #f5f5ef;
  --white: #fff;
  --line: #e2e4dc;
  --lime: #d9ff53;
  --forest: #303a25;
  --font-body: "DM Sans", sans-serif;
  --font-display: "Space Grotesk", sans-serif;
  font-family: var(--font-body);
  color: var(--ink);
  background: var(--paper);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 90px; }
body { margin: 0; min-width: 320px; }
body.dialog-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, select { font: inherit; }
button { color: inherit; }
svg { display: block; }
::selection { color: var(--ink); background: var(--lime); }
.skip-link { position: absolute; top: -50px; left: 1rem; z-index: 100; padding: .8rem 1rem; background: var(--lime); }
.skip-link:focus { top: 1rem; }
.announcement { min-height: 34px; padding: 0 5.2%; display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #dce1d5; background: #22251e; font-size: .68rem; letter-spacing: .02em; }
.announcement > span:first-child { color: var(--lime); font-weight: 800; letter-spacing: .13em; }
.announcement a { text-decoration: underline; text-decoration-color: #69705f; text-underline-offset: 3px; }
.site-header { position: sticky; top: 0; z-index: 20; background: rgba(245,245,239,.95); border-bottom: 1px solid rgba(23,26,21,.08); backdrop-filter: blur(16px); }
.nav-shell { width: min(1320px, calc(100% - 10.4%)); min-height: 74px; margin: auto; display: flex; align-items: center; justify-content: space-between; gap: 2rem; }
.brand { display: inline-flex; align-items: center; gap: .6rem; font: 700 .95rem var(--font-display); letter-spacing: .1em; }
.brand-symbol { width: 34px; height: 34px; display: grid; place-items: center; position: relative; border-radius: 50%; background: var(--ink); color: var(--lime); font: 700 1.2rem var(--font-display); letter-spacing: -.1em; }
.brand-symbol > span { color: #fff; }
.main-nav, .nav-actions { display: flex; align-items: center; }
.main-nav { gap: clamp(1.5rem, 3.2vw, 3.2rem); margin-left: 5%; }
.main-nav a, .nav-support { font-size: .82rem; font-weight: 600; transition: opacity .2s ease; }
.main-nav a:hover, .nav-support:hover { opacity: .55; }
.nav-actions { gap: 1.6rem; }
.cart-trigger { display: inline-flex; align-items: center; gap: .5rem; padding: .55rem .85rem; border: 1px solid var(--line); border-radius: 99px; background: transparent; font-size: .77rem; cursor: pointer; }
.cart-trigger svg { width: 17px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.cart-count { width: 19px; height: 19px; display: inline-grid; place-items: center; border-radius: 50%; background: var(--lime); color: var(--ink); font-size: .68rem; font-weight: 800; }
.icon-button { width: 42px; height: 42px; display: inline-grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: transparent; cursor: pointer; font-size: 1.5rem; line-height: 1; }
.menu-toggle { display: none; }
.hero { min-height: 625px; padding: 5.4rem max(7.3%, calc((100vw - 1320px)/2)); position: relative; display: grid; grid-template-columns: 1fr 1.08fr; align-items: center; overflow: hidden; background: var(--lime); }
.hero::after { content: ""; width: 60vw; height: 60vw; max-width: 850px; max-height: 850px; position: absolute; right: -6%; top: -32%; border: 1px solid rgba(23,26,21,.11); border-radius: 50%; pointer-events: none; }
.hero-copy { max-width: 520px; position: relative; z-index: 2; padding: 1.5rem 0 2rem; }
.eyebrow { margin: 0 0 1.2rem; font-size: .68rem; line-height: 1.4; font-weight: 800; letter-spacing: .16em; }
.status-dot { width: 7px; height: 7px; display: inline-block; margin: 0 .5rem .05rem 0; border-radius: 50%; background: #596d26; box-shadow: 0 0 0 4px rgba(69,88,29,.13); }
h1, h2, h3, p { margin-top: 0; }
.hero h1 { margin: 0; font: 700 clamp(3.9rem, 7.2vw, 7.2rem)/.9 var(--font-display); letter-spacing: -.09em; }
.hero h1 span { color: #fff; }
.hero-lead { max-width: 410px; margin: 1.75rem 0 1.7rem; font-size: 1rem; line-height: 1.75; color: #454b3c; }
.hero-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1.5rem; }
.button { min-height: 50px; display: inline-flex; align-items: center; justify-content: center; gap: 1.5rem; padding: .8rem 1.25rem; border: 0; border-radius: 3px; font-size: .78rem; font-weight: 700; cursor: pointer; transition: transform .2s ease, background .2s ease, box-shadow .2s ease; }
.button:hover { transform: translateY(-2px); }
.button-dark { background: var(--ink); color: #fff; }
.button-dark:hover { background: #343a30; box-shadow: 0 10px 25px rgba(23,26,21,.16); }
.button-lime { background: var(--lime); color: var(--ink); }
.button-lime:hover { background: #e5ff8a; }
.button-outline-dark { border: 1px solid rgba(23,26,21,.42); background: transparent; color: #171a15; }
.button-outline-dark:hover { background: rgba(23,26,21,.08); }
.text-link { display: inline-flex; align-items: center; gap: .7rem; font-size: .77rem; font-weight: 700; }
.text-link span { transition: transform .2s ease; }
.text-link:hover span { transform: translateX(4px); }
.hero-proof { display: flex; align-items: center; gap: .7rem; margin-top: 3.6rem; }
.avatar-stack { display: flex; padding-left: 3px; }
.avatar-stack span { width: 27px; height: 27px; display: grid; place-items: center; margin-left: -4px; border: 2px solid var(--lime); border-radius: 50%; background: #f2e6d7; color: #333; font-size: .55rem; font-weight: 800; }
.avatar-stack span:nth-child(2) { background: #d4d9dc; }
.avatar-stack span:nth-child(3) { background: #e2cfbd; }
.avatar-stack span:last-child { background: var(--ink); color: #fff; }
.hero-proof p { margin: 0; font-size: .7rem; color: #505647; }
.hero-proof strong { color: var(--ink); }
.hero-art { height: 100%; min-height: 440px; position: relative; display: grid; place-items: center; }
.hero-art::before { content: ""; position: absolute; width: min(85%, 480px); aspect-ratio: 1; border-radius: 50%; background: rgba(255,255,255,.29); }
.hero-tower { width: min(100%, 520px); max-height: 525px; position: relative; z-index: 1; filter: drop-shadow(15px 28px 20px rgba(23,26,21,.22)); animation: tower-enter .8s both cubic-bezier(.2,.8,.2,1); }
.art-stamp { position: absolute; top: 8%; right: 1%; z-index: 2; width: 91px; height: 91px; display: grid; place-content: center; border: 1px solid rgba(23,26,21,.55); border-radius: 50%; text-align: center; font-size: .57rem; line-height: 1.45; font-weight: 800; letter-spacing: .08em; transform: rotate(12deg); }
.art-stamp span { margin-top: .1rem; font-size: 1rem; }
.hero-product-note { position: absolute; left: 0; bottom: 15%; z-index: 2; display: flex; align-items: center; gap: .65rem; }
.note-line { width: 39px; height: 1px; background: var(--ink); }
.hero-product-note strong, .hero-product-note small { display: block; }
.hero-product-note strong { font-size: .68rem; letter-spacing: .11em; }
.hero-product-note small { margin-top: .2rem; font-size: .62rem; }
.hero-price { position: absolute; right: 0; bottom: 9%; z-index: 2; display: grid; gap: .2rem; text-align: right; }
.hero-price small { font-size: .55rem; font-weight: 800; letter-spacing: .15em; }
.hero-price strong { font: 700 1.45rem var(--font-display); letter-spacing: -.05em; }
.hero-price > span { font-size: .63rem; }
.hero-price b { margin-left: .4rem; font-size: .9rem; }
.hero-index { position: absolute; bottom: 1.3rem; left: 5.2%; z-index: 2; font-size: .57rem; font-weight: 800; letter-spacing: .16em; writing-mode: vertical-rl; transform: rotate(180deg); }
.benefits { min-height: 102px; display: grid; grid-template-columns: repeat(4, 1fr); align-items: center; gap: 1rem; padding: 1.3rem max(7.3%, calc((100vw - 1320px)/2)); border-bottom: 1px solid var(--line); background: #fff; }
.benefits > div { display: flex; align-items: center; justify-content: center; gap: .75rem; }
.benefit-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; font-size: 1rem; }
.benefits p, .benefits strong, .benefits small { display: block; margin: 0; }
.benefits strong { font-size: .7rem; }
.benefits small { margin-top: .25rem; color: var(--muted); font-size: .61rem; }
.section-pad { padding: 6.2rem max(7.3%, calc((100vw - 1320px)/2)); }
.systems { background: var(--paper); }
.section-top { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2rem; }
.section-top h2, .why h2 { margin: 0; font: 700 clamp(2.6rem, 5vw, 4rem)/1 var(--font-display); letter-spacing: -.075em; }
.section-top h2 span, .why h2 span { color: #858d7e; }
.section-top .eyebrow, .why .eyebrow { margin-bottom: .85rem; }
.section-top > .text-link { margin-bottom: .4rem; }
.catalog-controls { min-height: 52px; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .65rem 0; margin-bottom: 1.3rem; border-block: 1px solid var(--line); }
.filter-list { display: flex; flex-wrap: wrap; gap: .45rem; }
.filter-chip { padding: .53rem .8rem; border: 1px solid transparent; border-radius: 99px; background: transparent; color: #71776c; font-size: .68rem; cursor: pointer; transition: all .18s ease; }
.filter-chip:hover { border-color: #bfc5b5; color: var(--ink); }
.filter-chip.is-active { border-color: var(--ink); background: var(--ink); color: #fff; }
.sort-control { display: flex; align-items: center; gap: .6rem; color: var(--muted); font-size: .67rem; white-space: nowrap; }
.sort-control select { padding: .45rem 1.5rem .45rem .5rem; border: 0; background: transparent; color: var(--ink); font-size: .68rem; font-weight: 700; cursor: pointer; }
.product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.product-card { min-width: 0; overflow: hidden; border: 1px solid #e8e9e3; border-radius: 4px; background: #fff; transition: transform .25s ease, box-shadow .25s ease; animation: card-enter .4s both; }
.product-card:hover { transform: translateY(-4px); box-shadow: 0 16px 32px rgba(23,26,21,.07); }
.product-art { height: 246px; position: relative; overflow: hidden; display: grid; place-items: center; background: #eceee7; }
.product-art::before { content: ""; position: absolute; inset: auto auto -40% -12%; width: 120%; aspect-ratio: 1; border: 1px solid rgba(25,30,22,.07); border-radius: 50%; box-shadow: 0 0 0 33px rgba(25,30,22,.025), 0 0 0 66px rgba(25,30,22,.02); }
.product-svg { width: 210px; height: 230px; position: relative; z-index: 1; filter: drop-shadow(9px 16px 12px rgba(18,23,16,.17)); transition: transform .35s ease; }
.product-card:hover .product-svg { transform: translateY(-5px) scale(1.025); }
.product-tag { position: absolute; top: .85rem; left: .85rem; z-index: 2; padding: .37rem .58rem; border-radius: 2px; background: var(--lime); color: #2f3624; font-size: .57rem; font-weight: 800; letter-spacing: .08em; }
.favorite-button { width: 34px; height: 34px; position: absolute; top: .7rem; right: .7rem; z-index: 2; display: grid; place-items: center; border: 1px solid rgba(23,26,21,.13); border-radius: 50%; background: rgba(255,255,255,.72); font-size: 1rem; cursor: pointer; }
.favorite-button[aria-pressed="true"] { color: #b43c39; }
.product-info { padding: 1.1rem 1.1rem 1rem; }
.product-category { margin-bottom: .42rem; color: #81877c; font-size: .58rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.product-info h3 { margin-bottom: .35rem; font: 600 1.25rem var(--font-display); letter-spacing: -.045em; }
.product-description { min-height: 37px; margin-bottom: .75rem; color: var(--muted); font-size: .69rem; line-height: 1.55; }
.product-specs { display: flex; flex-wrap: wrap; gap: .35rem; min-height: 25px; }
.product-specs span { padding: .3rem .45rem; border: 1px solid #e7e9e2; border-radius: 2px; color: #555c50; font-size: .56rem; }
.product-rating { margin-top: .8rem; padding-top: .7rem; border-top: 1px solid #eff0eb; color: #6b725d; font-size: .62rem; }
.product-rating strong { color: #20241c; }
.product-bottom { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding-top: .85rem; margin-top: .75rem; border-top: 1px solid #eff0eb; }
.product-price { font: 700 1.12rem var(--font-display); letter-spacing: -.05em; }
.product-price small { display: block; margin-top: .18rem; color: #81877c; font: 500 .57rem var(--font-body); letter-spacing: 0; }
.add-to-cart { min-height: 37px; padding: .6rem .78rem; border: 0; border-radius: 2px; background: var(--ink); color: white; font-size: .64rem; font-weight: 700; cursor: pointer; transition: background .2s; }
.add-to-cart:hover { background: #46513a; }
.view-build { width: 100%; display: flex; justify-content: space-between; align-items: center; padding: .75rem 0 0; border: 0; background: transparent; color: #59624d; text-align: left; font-size: .62rem; font-weight: 700; cursor: pointer; }
.view-build:hover { color: var(--ink); }
.view-build span { font-size: .85rem; }
.catalog-bottom { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding-top: 1.5rem; color: var(--muted); font-size: .67rem; }
.catalog-bottom strong { color: var(--ink); }
.builder-banner { min-height: 425px; position: relative; display: grid; grid-template-columns: 1fr 1fr; align-items: center; overflow: hidden; padding: 4.4rem max(10%, calc((100vw - 1160px)/2)); background: var(--forest); color: #fff; }
.builder-banner::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 75% 52%, rgba(190,232,71,.11), transparent 35%); pointer-events: none; }
.builder-copy { position: relative; z-index: 2; max-width: 430px; }
.builder-copy .eyebrow { color: var(--lime); }
.builder-copy h2 { margin: 0 0 1rem; font: 700 clamp(3rem, 5vw, 5rem)/.95 var(--font-display); letter-spacing: -.08em; }
.builder-copy h2 span { color: var(--lime); }
.builder-copy > p:not(.eyebrow) { max-width: 370px; margin-bottom: 1.4rem; color: #c3cbb9; font-size: .85rem; line-height: 1.75; }
.builder-copy > small { display: block; margin-top: .75rem; color: #a3ad98; font-size: .61rem; }
.builder-visual { width: min(100%, 400px); aspect-ratio: 1; position: relative; justify-self: center; display: grid; place-items: center; }
.builder-orbit { position: absolute; width: 72%; aspect-ratio: 1; border: 1px solid rgba(217,255,83,.28); border-radius: 50%; transform: rotate(-30deg) scaleY(.52); }
.orbit-b { width: 98%; border-color: rgba(217,255,83,.12); transform: rotate(35deg) scaleY(.54); }
.builder-core { width: 130px; height: 130px; display: grid; place-items: center; border: 1px solid rgba(217,255,83,.5); border-radius: 50%; background: rgba(217,255,83,.08); box-shadow: 0 0 60px rgba(217,255,83,.12), inset 0 0 25px rgba(217,255,83,.08); color: #fff; font: 700 4rem var(--font-display); letter-spacing: -.1em; }
.builder-core span { color: var(--lime); }
.orbit-label { position: absolute; z-index: 2; display: flex; gap: .45rem; padding: .5rem .65rem; border: 1px solid rgba(217,255,83,.22); border-radius: 2px; background: #303a25; color: #dce4cf; font-size: .56rem; letter-spacing: .09em; }
.orbit-label b { color: var(--lime); }
.label-cpu { top: 12%; left: 19%; }.label-gpu { top: 33%; right: 0; }.label-ram { bottom: 21%; left: 2%; }.label-cooling { bottom: 12%; right: 19%; }
.builder-cross { position: absolute; color: var(--lime); font-size: 1.2rem; }.cross-a { top: 13%; right: 20%; }.cross-b { bottom: 21%; right: 10%; font-size: .8rem; }
.why { display: grid; grid-template-columns: .8fr 1.2fr; gap: 7%; align-items: start; background: var(--paper); }
.why-heading { position: sticky; top: 130px; }
.why-heading > p:not(.eyebrow) { max-width: 340px; margin: 1.2rem 0; color: var(--muted); font-size: .85rem; line-height: 1.75; }
.why-steps article { display: grid; grid-template-columns: 40px 1fr 22px; align-items: start; gap: 1.1rem; padding: 1.5rem 0; border-top: 1px solid var(--line); }
.why-steps article:last-child { border-bottom: 1px solid var(--line); }
.step-num { padding-top: .2rem; color: #92988c; font: 600 .72rem var(--font-display); }
.why-steps h3 { margin-bottom: .5rem; font: 600 1.1rem var(--font-display); letter-spacing: -.03em; }
.why-steps p { max-width: 490px; margin: 0; color: var(--muted); font-size: .75rem; line-height: 1.7; }
.step-mark { color: #92988c; }
.quote-band { min-height: 295px; position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 4.3rem 1.5rem; overflow: hidden; background: #e8eadf; text-align: center; }
.quote-band::before, .quote-band::after { content: "✳"; position: absolute; color: rgba(60,72,45,.05); font-size: 18rem; line-height: 1; }
.quote-band::before { top: -6rem; left: 4%; transform: rotate(-18deg); }.quote-band::after { right: 4%; bottom: -7rem; transform: rotate(20deg); }
.quote-star { color: #6e7b54; font-size: 1.2rem; }
.quote-band blockquote { max-width: 720px; margin: .9rem 0 1.4rem; font: 600 clamp(1.55rem, 3vw, 2.35rem)/1.28 var(--font-display); letter-spacing: -.045em; }
.quote-band blockquote em { color: #798365; font-style: normal; }
.quote-byline { display: flex; align-items: center; gap: .6rem; text-align: left; }
.quote-avatar { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: #d1c5b5; font-size: .62rem; font-weight: 700; }
.quote-byline strong, .quote-byline small { display: block; }.quote-byline strong { font-size: .65rem; }.quote-byline small { margin-top: .15rem; color: var(--muted); font-size: .57rem; }
.quote-rating { margin-left: .6rem; color: #77894d; font-size: .65rem; letter-spacing: .08em; }
.quote-count { position: absolute; right: 5%; bottom: 1.4rem; color: #858b7a; font-size: .55rem; font-weight: 800; letter-spacing: .14em; }
.support-strip { min-height: 155px; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 2.4rem max(10%, calc((100vw - 1160px)/2)); background: var(--lime); }
.support-strip > div { display: flex; align-items: center; gap: 1rem; }
.support-icon { width: 42px; height: 42px; display: grid; place-items: center; border: 1px solid rgba(23,26,21,.28); border-radius: 50%; font-size: 1.3rem; }
.support-strip h2 { margin: 0 0 .35rem; font: 600 1.3rem var(--font-display); letter-spacing: -.04em; }
.support-strip p { margin: 0; color: #555d48; font-size: .75rem; }
.support-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .6rem; }
.support-actions .button { min-width: 185px; }
.site-footer { padding: 3rem max(7.3%, calc((100vw - 1320px)/2)) 1.3rem; background: #20231d; color: white; }
.footer-main { display: grid; grid-template-columns: 1fr 1fr 1.5fr; align-items: start; gap: 2rem; padding-bottom: 2.3rem; }
.footer-brand { justify-self: start; }
.footer-main > p { margin: .4rem 0 0; color: #acb2a5; font-size: .72rem; line-height: 1.7; }
.footer-links { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .6rem 1.5rem; }
.footer-links a { color: #c1c6bb; font-size: .68rem; }
.footer-links a:hover { color: var(--lime); }
.footer-bottom { display: flex; justify-content: space-between; gap: 1rem; padding-top: 1rem; border-top: 1px solid #393d34; color: #8d9486; font-size: .56rem; letter-spacing: .06em; }

dialog { color: var(--ink); }
.builder-dialog { width: min(920px, calc(100% - 2rem)); max-width: none; max-height: min(94vh, 900px); padding: 0; overflow-y: auto; border: 0; border-radius: 5px; background: var(--paper); box-shadow: 0 25px 90px rgba(0,0,0,.28); }
.builder-dialog::backdrop, .quote-dialog::backdrop, .cart-dialog::backdrop { background: rgba(15,18,13,.55); backdrop-filter: blur(3px); }
.dialog-head, .cart-head { display: flex; align-items: start; justify-content: space-between; gap: 1rem; padding: 1.6rem 1.7rem 1.2rem; }
.dialog-head .eyebrow, .cart-head .eyebrow { margin-bottom: .55rem; color: #68715b; }
.dialog-head h2, .cart-head h2 { margin: 0; font: 600 1.7rem var(--font-display); letter-spacing: -.06em; }
.dialog-close, .cart-close { font-size: 1.3rem; }
.builder-form { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(230px, .9fr); align-items: start; gap: .8rem 1.4rem; padding: .4rem 1.7rem 1.7rem; }
.customizer-preview { grid-column: 1; grid-row: 1 / span 8; min-width: 0; padding: .2rem .8rem .9rem; border: 1px solid #e0e3d9; border-radius: 4px; background: #ecefe7; }
.preview-heading { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .8rem .2rem .3rem; }
.preview-heading .eyebrow { margin-bottom: .3rem; color: #68715b; font-size: .55rem; }
.preview-heading h3 { margin: 0; font: 600 1rem var(--font-display); letter-spacing: -.04em; }
.auto-rotate-button { display: inline-flex; align-items: center; gap: .32rem; padding: .45rem .55rem; border: 1px solid #d4d9ce; border-radius: 99px; background: rgba(255,255,255,.66); font-size: .59rem; cursor: pointer; }
.auto-rotate-button[aria-pressed="true"] { border-color: var(--ink); background: var(--ink); color: white; }
.auto-rotate-button span { font-size: .9rem; }
.pc-viewer-stage { height: 320px; position: relative; display: grid; place-items: center; overflow: hidden; touch-action: none; cursor: grab; }
.pc-viewer-stage:active { cursor: grabbing; }
.pc-viewer-stage::before { content: ""; width: 210px; height: 34px; position: absolute; bottom: 29px; border-radius: 50%; background: rgba(39,49,34,.18); filter: blur(13px); }
.pc-viewer-perspective { position: relative; z-index: 1; width: 100%; height: 100%; display: grid; place-items: center; perspective: 850px; }
.pc-model { width: 190px; height: 276px; position: relative; transform-style: preserve-3d; transition: transform .38s cubic-bezier(.2,.7,.2,1); }
.pc-face { position: absolute; top: 0; height: 100%; backface-visibility: visible; filter: drop-shadow(0 11px 11px rgba(16,20,13,.15)); }
.pc-face svg { width: 100%; height: 100%; overflow: visible; }
.pc-face-front, .pc-face-back { left: 0; width: 190px; }
.pc-face-front { transform: translateZ(67.5px); }
.pc-face-back { transform: rotateY(180deg) translateZ(67.5px); }
.pc-face-right, .pc-face-left { left: 27.5px; width: 135px; }
.pc-face-right { transform: rotateY(90deg) translateZ(95px); }
.pc-face-left { transform: rotateY(-90deg) translateZ(95px); }
.pc-face-top, .pc-face-bottom { top: 70.5px; left: 0; width: 190px; height: 135px; }
.pc-face-top { transform: rotateX(90deg) translateZ(138px); }
.pc-face-bottom { transform: rotateX(-90deg) translateZ(138px); }
.viewer-hint { margin: .2rem .3rem .65rem; color: #697160; font-size: .56rem; text-align: center; }
.viewer-dimensions { margin: 0 0 .65rem; color: #454d3d; text-align: center; font-size: .55rem; font-weight: 800; letter-spacing: .055em; }
.viewer-dimensions span { display: block; margin-top: .2rem; color: #818876; font-size: .45rem; font-weight: 600; letter-spacing: .1em; }
.component-gallery { display: grid; grid-template-columns: 1.2fr 1fr; gap: .45rem; }
.component-card { min-width: 0; display: flex; align-items: center; gap: .4rem; padding: .42rem; border: 1px solid #d9ddd4; border-radius: 3px; background: rgba(255,255,255,.55); }
.component-art { width: 86px; height: 45px; flex: 0 0 86px; display: grid; place-items: center; overflow: hidden; border-radius: 2px; background: #e0e4da; }
.component-art svg { width: 100%; height: 100%; }
.component-card > div:last-child { min-width: 0; display: grid; gap: .25rem; }
.component-kind { color: #747d69; font-size: .45rem; font-weight: 800; letter-spacing: .08em; }
.component-card strong { overflow: hidden; font: 600 .54rem var(--font-display); text-overflow: ellipsis; white-space: nowrap; }
.price-disclaimer { grid-column: 2; margin: -.55rem 0 .2rem; color: #737a6d; font-size: .58rem; line-height: 1.5; }
.compatibility-note { grid-column: 2; margin: -.25rem 0; padding: .58rem .65rem; border-left: 2px solid #88986c; background: rgba(124,143,91,.08); color: #59634c; font-size: .6rem; line-height: 1.5; }
.viewer-arrow { width: 32px; height: 32px; position: absolute; top: 50%; z-index: 3; display: grid; place-items: center; border: 1px solid #d8ddd2; border-radius: 50%; background: rgba(255,255,255,.78); font-size: 1rem; cursor: pointer; transform: translateY(-50%); }
.viewer-arrow:hover { background: #fff; border-color: #aab29e; }
.viewer-arrow-left { left: .35rem; }.viewer-arrow-right { right: .35rem; }
.viewer-angle { position: absolute; bottom: 8px; z-index: 3; padding: .34rem .55rem; border: 1px solid #d8ddd2; border-radius: 99px; background: rgba(255,255,255,.72); color: #58614e; font-size: .52rem; font-weight: 800; letter-spacing: .1em; }
.viewer-range-row { display: flex; align-items: center; gap: .6rem; padding: 0 .3rem; color: #71796a; font-size: .49rem; font-weight: 800; letter-spacing: .1em; }
.viewer-range-row input { flex: 1; height: 3px; accent-color: #586a48; cursor: ew-resize; }
.tilt-range-row { margin-top: .35rem; }
.customizer-swatches { display: grid; grid-template-columns: 1fr; gap: .7rem; padding: .8rem .3rem .1rem; border-top: 1px solid #d9ddd4; margin-top: .75rem; }
.swatch-group { display: flex; align-items: center; justify-content: space-between; gap: .5rem; }
.swatch-label { color: #68715b; font-size: .52rem; font-weight: 800; letter-spacing: .1em; white-space: nowrap; }
.swatch-current { min-width: 40px; color: #59624d; text-align: right; font-size: .54rem; font-weight: 600; }
.swatch-list { display: flex; gap: .38rem; }
.color-swatch { width: 26px; height: 26px; display: grid; place-items: center; padding: 0; border: 1px solid transparent; border-radius: 50%; background: transparent; cursor: pointer; }
.color-swatch > span { width: 17px; height: 17px; border: 1px solid rgba(20,24,18,.22); border-radius: 50%; background: var(--swatch); }
.color-swatch.is-selected { border-color: #31382a; }
.color-swatch:focus-visible, .viewer-arrow:focus-visible, .auto-rotate-button:focus-visible { outline: 2px solid #697d4c; outline-offset: 2px; }
.builder-form > .config-field, .builder-form > .builder-total, .builder-form > .builder-submit, .builder-form > .compatibility-note, .builder-form > .price-disclaimer { grid-column: 2; }
.config-field { display: grid; gap: .45rem; font-size: .7rem; font-weight: 700; }
.config-field select { width: 100%; min-height: 45px; padding: .65rem .75rem; border: 1px solid #dcdfd6; border-radius: 2px; background: #fff; color: var(--ink); font-size: .76rem; }
.builder-total { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 0 .35rem; border-top: 1px solid var(--line); font-size: .72rem; font-weight: 700; }
.builder-total small { display: block; margin-top: .3rem; color: var(--muted); font-size: .6rem; font-weight: 400; }
.builder-total strong { font: 700 1.35rem var(--font-display); white-space: nowrap; }
.builder-submit { width: 100%; }
.quote-dialog { width: min(520px, calc(100% - 2rem)); max-width: none; max-height: min(92vh, 760px); padding: 0; overflow-y: auto; border: 0; border-radius: 5px; background: var(--paper); box-shadow: 0 25px 90px rgba(0,0,0,.28); }
.quote-form { display: grid; gap: .9rem; padding: .1rem 1.7rem 1.7rem; }
.quote-intro { margin: 0 0 .25rem; color: var(--muted); font-size: .74rem; line-height: 1.65; }
.quote-form .config-field { position: relative; }
.quote-form input, .quote-form textarea { width: 100%; min-height: 43px; padding: .65rem .72rem; border: 1px solid #dcdfd6; border-radius: 2px; background: #fff; color: var(--ink); font: 400 .76rem var(--font-body); }
.quote-form textarea { resize: vertical; }
.quote-form input:focus, .quote-form textarea:focus { outline: 2px solid #8b9b68; outline-offset: 1px; }
.optional-label { color: #89907e; font-size: .52rem; font-weight: 500; letter-spacing: .08em; }
.quote-submit { width: 100%; justify-content: space-between; }
.quote-form > small { color: #777e70; text-align: center; font-size: .58rem; }
.visually-hidden { width: 1px; height: 1px; position: absolute; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; clip-path: inset(50%); }
.chat-widget { position: fixed; right: 1.25rem; bottom: 1.25rem; z-index: 40; display: flex; align-items: flex-end; flex-direction: column; gap: .75rem; }
.chat-launcher { min-height: 50px; display: flex; align-items: center; gap: .55rem; padding: .55rem .9rem; border: 1px solid rgba(255,255,255,.18); border-radius: 99px; background: #171a15; color: #fff; box-shadow: 0 8px 26px rgba(16,20,14,.22); font-size: .74rem; font-weight: 700; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
.chat-launcher:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(16,20,14,.28); }
.chat-launcher-icon { width: 29px; height: 29px; display: grid; place-items: center; border-radius: 50%; background: var(--lime); color: #171a15; font-size: 1rem; }
.chat-launcher-dot, .chat-online-dot { width: 7px; height: 7px; display: inline-block; border-radius: 50%; background: #9ae779; box-shadow: 0 0 0 3px rgba(154,231,121,.14); }
.chat-panel { width: min(365px, calc(100vw - 2rem)); height: min(530px, calc(100dvh - 6rem)); display: flex; flex-direction: column; overflow: hidden; border: 1px solid #e3e5dc; border-radius: 8px; background: #fafbf7; box-shadow: 0 18px 60px rgba(15,20,12,.22); animation: card-enter .2s both; }
.chat-panel[hidden] { display: none; }
.chat-header { min-height: 66px; display: flex; align-items: center; gap: .7rem; padding: .7rem .85rem; border-bottom: 1px solid var(--line); background: #fff; }
.chat-online-dot { flex: 0 0 7px; }
.chat-header > div:nth-child(2) { flex: 1; }
.chat-header h2 { margin: 0; font: 600 .9rem var(--font-display); }
.chat-header p { margin: .2rem 0 0; color: var(--muted); font-size: .59rem; }
.chat-close { width: 34px; height: 34px; font-size: 1.2rem; }
.chat-messages { flex: 1; display: flex; flex-direction: column; gap: .7rem; padding: .9rem; overflow-y: auto; overscroll-behavior: contain; }
.chat-message { width: fit-content; max-width: 90%; padding: .65rem .75rem; border: 1px solid #e3e5dc; border-radius: 3px 12px 12px 12px; background: white; }
.chat-message-visitor { align-self: flex-end; border-color: #d8ed9d; border-radius: 12px 3px 12px 12px; background: #eff7df; }
.chat-message-label { color: #7a836f; font-size: .48rem; font-weight: 800; letter-spacing: .12em; }
.chat-message p { margin: .24rem 0 0; color: #32372d; font-size: .68rem; line-height: 1.55; white-space: pre-line; }
.chat-action-link { margin-top: .45rem; padding: 0; border: 0; background: transparent; color: #50643d; font-size: .63rem; font-weight: 700; cursor: pointer; text-align: left; }
.chat-quick-prompts { display: flex; gap: .35rem; padding: .55rem .75rem; overflow-x: auto; border-top: 1px solid #e8eae2; }
.chat-quick-prompts button { flex: 0 0 auto; padding: .4rem .55rem; border: 1px solid #e0e4d8; border-radius: 99px; background: #fff; color: #505749; font-size: .55rem; cursor: pointer; }
.chat-quick-prompts button:hover { border-color: #8d9d73; }
.chat-form { display: flex; gap: .45rem; padding: .55rem .7rem; border-top: 1px solid #e8eae2; background: #fff; }
.chat-form input { min-width: 0; flex: 1; padding: .55rem .65rem; border: 1px solid #e0e4d8; border-radius: 99px; font: 400 .67rem var(--font-body); }
.chat-form input:focus { outline: 2px solid #aabd84; }
.chat-form > button { width: 34px; height: 34px; border: 0; border-radius: 50%; background: #171a15; color: white; font-size: 1rem; cursor: pointer; }
.chat-human-handoff { display: flex; justify-content: center; gap: .3rem; padding: 0 .6rem .55rem; color: #858b7c; font-size: .54rem; }
.chat-human-handoff a { color: #4f633b; font-weight: 700; }
.cart-dialog { width: min(470px, 100%); max-width: none; height: 100%; max-height: 100dvh; position: fixed; inset: 0 0 0 auto; margin: 0; padding: 0; overflow: auto; border: 0; border-radius: 0; background: var(--paper); box-shadow: -20px 0 70px rgba(0,0,0,.15); }
.cart-head { padding: 1.5rem 1.5rem 1rem; border-bottom: 1px solid var(--line); }
.cart-head h2 { display: flex; align-items: center; gap: .6rem; }
.cart-items { padding: 0 1.5rem; }
.cart-row { display: grid; grid-template-columns: 62px 1fr auto; align-items: center; gap: .85rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.cart-thumb { width: 62px; height: 66px; display: grid; place-items: center; overflow: hidden; background: #e8eadf; }
.cart-thumb svg { width: 53px; height: 60px; }
.cart-item-name { margin: 0 0 .22rem; font: 600 .85rem var(--font-display); }
.cart-item-price { margin: 0; color: var(--muted); font-size: .67rem; }
.cart-item-specs { margin: .35rem 0 0; color: var(--muted); font-size: .57rem; line-height: 1.5; }
.cart-row-total { font: 600 .77rem var(--font-display); white-space: nowrap; }
.quantity-control { display: flex; align-items: center; gap: .6rem; margin-top: .55rem; }
.quantity-control button { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid var(--line); border-radius: 50%; background: #fff; cursor: pointer; }
.quantity-control span { font-size: .67rem; }
.remove-item { margin-left: .3rem; border: 0 !important; color: #868b81; font-size: .75rem; }
.cart-empty { padding: 4rem 1.5rem; text-align: center; }
.cart-empty > span { color: #8c995c; font-size: 2rem; }
.cart-empty h3 { margin: .6rem 0 .4rem; font: 600 1.35rem var(--font-display); }
.cart-empty p { margin-bottom: 1rem; color: var(--muted); font-size: .75rem; }
.cart-footer { padding: 1.3rem 1.5rem 1.6rem; border-top: 1px solid var(--line); }
.cart-subtotal { display: flex; justify-content: space-between; font-size: .78rem; font-weight: 700; }
.cart-subtotal strong { font: 700 1.2rem var(--font-display); }
.cart-footer > p { margin: .45rem 0 1rem; color: var(--muted); font-size: .63rem; }
.checkout-button { width: 100%; justify-content: space-between; }
.cart-footer > small { display: block; margin-top: .6rem; color: #7e8478; text-align: center; font-size: .58rem; }
.cart-footer[hidden], .cart-empty[hidden] { display: none; }
.toast { position: fixed; left: 50%; bottom: 1.5rem; z-index: 60; padding: .8rem 1rem; border-radius: 3px; background: var(--ink); color: #fff; font-size: .75rem; opacity: 0; pointer-events: none; transform: translate(-50%, 12px); transition: opacity .2s, transform .2s; }
.toast.is-visible { opacity: 1; transform: translate(-50%, 0); }

@keyframes tower-enter { from { opacity: 0; transform: translateY(20px) scale(.97); } to { opacity: 1; transform: translateY(0) scale(1); } }
@keyframes card-enter { from { opacity: 0; transform: translateY(9px); } to { opacity: 1; transform: translateY(0); } }

@media (min-width: 1500px) { .hero { min-height: 700px; } }
@media (max-width: 950px) {
  .hero { min-height: 570px; padding-inline: 6%; grid-template-columns: 1fr 1fr; }
  .hero h1 { font-size: clamp(3.6rem, 8vw, 5.6rem); }
  .hero-art { min-height: 400px; }
  .hero-index { left: 2.4%; }
  .benefits { padding-inline: 4%; }
  .benefits > div { justify-content: flex-start; gap: .55rem; }
  .benefit-icon { width: 33px; height: 33px; flex: 0 0 33px; }
  .section-pad { padding-inline: 6%; }
  .product-art { height: 210px; }
  .builder-banner { padding-inline: 7%; }
  .why { gap: 4%; }
}
@media (max-width: 700px) {
  .announcement { justify-content: center; padding-inline: 1rem; font-size: .61rem; }
  .announcement > span:first-child, .announcement a { display: none; }
  .nav-shell { width: calc(100% - 2rem); min-height: 64px; gap: .6rem; }
  .brand { margin-right: auto; }
  .menu-toggle { display: inline-grid; order: 2; width: 38px; height: 38px; gap: 5px; align-content: center; }
  .menu-toggle span { width: 15px; height: 1px; margin: auto; background: var(--ink); }
  .nav-actions { order: 3; gap: .65rem; }
  .nav-support { display: none; }
  .cart-trigger { gap: .32rem; padding: .48rem .58rem; font-size: .68rem; }
  .main-nav { position: absolute; top: 64px; right: -1rem; left: -1rem; display: none; align-items: stretch; gap: 0; margin: 0; padding: .5rem 1rem 1rem; border-bottom: 1px solid var(--line); background: var(--paper); }
  .main-nav.is-open { display: flex; flex-direction: column; }
  .main-nav a { padding: .9rem .4rem; border-bottom: 1px solid var(--line); }
  .hero { min-height: 0; grid-template-columns: 1fr; padding: 3.5rem 7% 1.1rem; }
  .hero-copy { padding: .4rem 0 0; }
  .hero h1 { font-size: clamp(4rem, 16vw, 6rem); }
  .hero-lead { max-width: 390px; margin: 1.25rem 0; font-size: .9rem; }
  .hero-proof { margin-top: 1.65rem; }
  .hero-art { min-height: 355px; margin-top: -.2rem; }
  .hero-tower { width: min(100%, 365px); max-height: 370px; }
  .hero-art::before { width: min(85%, 330px); }
  .art-stamp { width: 70px; height: 70px; top: 8%; right: 1%; font-size: .46rem; }
  .hero-product-note { left: 0; bottom: 8%; }
  .hero-price { right: 0; bottom: 5%; }
  .hero-price strong { font-size: 1.1rem; }
  .hero-index { display: none; }
  .benefits { grid-template-columns: 1fr 1fr; gap: 1.1rem .5rem; padding: 1.2rem 7%; }
  .benefits strong { font-size: .63rem; }
  .benefits small { font-size: .56rem; }
  .section-pad { padding: 4.2rem 6%; }
  .section-top { align-items: start; flex-direction: column; gap: 1rem; margin-bottom: 1.4rem; }
  .section-top h2, .why h2 { font-size: 3rem; }
  .catalog-controls { align-items: flex-start; flex-direction: column; padding: .7rem 0; }
  .filter-list { gap: .25rem; }
  .filter-chip { padding: .48rem .6rem; font-size: .62rem; }
  .sort-control { align-self: flex-end; }
  .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
  .product-art { height: clamp(150px, 48vw, 220px); }
  .product-svg { width: min(76%, 180px); height: 90%; }
  .product-info { padding: .78rem; }
  .product-info h3 { font-size: 1rem; }
  .product-description { min-height: 50px; font-size: .62rem; }
  .product-specs { gap: .22rem; }
  .product-specs span { padding: .25rem .3rem; font-size: .49rem; }
  .product-rating { font-size: .56rem; }
  .product-price { font-size: .92rem; }
  .add-to-cart { padding: .54rem .48rem; font-size: .57rem; }
  .product-tag { top: .55rem; left: .55rem; font-size: .49rem; }
  .favorite-button { width: 29px; height: 29px; top: .45rem; right: .45rem; font-size: .88rem; }
  .catalog-bottom { align-items: flex-start; flex-direction: column; }
  .builder-dialog { width: calc(100% - 1rem); max-height: 96vh; }
  .dialog-head { padding: 1.1rem 1rem .9rem; }
  .dialog-head h2 { font-size: 1.4rem; }
  .builder-form { grid-template-columns: minmax(0, 1fr); gap: .85rem; padding: .2rem 1rem 1rem; }
  .customizer-preview { grid-column: 1; grid-row: auto; padding: .15rem .5rem .75rem; }
  .builder-form > .config-field, .builder-form > .builder-total, .builder-form > .builder-submit, .builder-form > .compatibility-note, .builder-form > .price-disclaimer { grid-column: 1; }
  .pc-viewer-stage { height: 270px; }
  .pc-model { transform-origin: center center; }
  .customizer-swatches { grid-template-columns: 1fr 1fr; gap: .35rem; }
  .swatch-group { align-items: flex-start; flex-direction: column; }
  .color-swatch { width: 23px; height: 23px; }
  .color-swatch > span { width: 15px; height: 15px; }
  .builder-total { grid-row: auto; }
  .builder-submit { grid-row: auto; }
  .builder-banner { grid-template-columns: 1fr; gap: 1rem; padding: 3.7rem 8% 2rem; }
  .builder-copy h2 { font-size: 3.7rem; }
  .builder-visual { width: min(100%, 340px); margin-top: -1rem; }
  .builder-core { width: 105px; height: 105px; font-size: 3.3rem; }
  .why { grid-template-columns: 1fr; gap: 2rem; }
  .why-heading { position: static; }
  .why-steps article { grid-template-columns: 30px 1fr 18px; gap: .7rem; padding: 1.15rem 0; }
  .quote-band { min-height: 280px; padding: 3rem 7%; }
  .quote-count { position: static; margin-top: 1.4rem; }
  .support-strip { align-items: flex-start; flex-direction: column; gap: 1.2rem; padding: 2rem 7%; }
  .support-strip > div { align-items: flex-start; }
  .support-strip h2 { font-size: 1.1rem; }
  .support-strip p { line-height: 1.6; }
  .support-strip .button { width: 100%; }
  .site-footer { padding: 2.4rem 7% 1rem; }
  .footer-main { grid-template-columns: 1fr 1fr; gap: 1.4rem .6rem; }
  .footer-links { grid-column: 1 / -1; justify-content: flex-start; gap: .8rem 1.3rem; }
  .footer-bottom { flex-direction: column; gap: .55rem; font-size: .51rem; }
}
@media (max-width: 380px) {
  .hero h1 { font-size: 3.7rem; }
  .product-grid { grid-template-columns: 1fr; }
  .product-art { height: 220px; }
  .product-info { padding: 1rem; }
  .product-description { min-height: 0; }
  .product-specs span { font-size: .56rem; }
  .catalog-bottom .text-link { flex-wrap: wrap; }
  .preview-heading h3 { font-size: .9rem; }
  .auto-rotate-button { font-size: .52rem; }
  .pc-viewer-stage { height: 245px; }
  .pc-model { transform: scale(.86); }
}
@media (max-width: 700px) {
  .support-actions { width: 100%; align-items: stretch; flex-direction: column; }
  .support-actions .button { width: 100%; }
  .component-gallery { grid-template-columns: 1fr; }
  .component-card { min-height: 53px; }
  .component-art { width: 98px; flex-basis: 98px; }
  .quote-dialog { width: calc(100% - 1rem); max-height: 96vh; }
  .quote-form { padding: .1rem 1rem 1rem; }
  .chat-widget { right: .7rem; bottom: .7rem; }
  .chat-panel { width: min(365px, calc(100vw - 1.4rem)); height: min(520px, calc(100dvh - 5rem)); }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --ink: #edf0e8;
  --muted: #a8b09e;
  --paper: #171a15;
  --white: #22261f;
  --line: #34392f;
  --forest: #273122;
  background: var(--paper);
}
:root[data-theme="dark"] body { background: var(--paper); color: var(--ink); }
:root[data-theme="dark"] .site-header { border-color: #34392f; background: rgba(23,26,21,.94); }
:root[data-theme="dark"] .theme-toggle { border-color: #59614f; color: #e8eddf; }
:root[data-theme="dark"] .brand-symbol { background: var(--lime); color: #171a15; }
:root[data-theme="dark"] .brand-symbol > span { color: #171a15; }
:root[data-theme="dark"] .main-nav { color: #c0c6b7; }
:root[data-theme="dark"] .announcement { background: #0f110e; }
:root[data-theme="dark"] .benefits { border-color: var(--line); background: #20241e; }
:root[data-theme="dark"] .benefit-icon { border-color: #42483c; }
:root[data-theme="dark"] .catalog-controls { border-color: var(--line); }
:root[data-theme="dark"] .filter-chip { color: #c1c7ba; }
:root[data-theme="dark"] .filter-chip:hover { border-color: #647054; color: #fff; }
:root[data-theme="dark"] .filter-chip.is-active { border-color: var(--lime); background: var(--lime); color: #171a15; }
:root[data-theme="dark"] .sort-control select { color: var(--ink); }
:root[data-theme="dark"] .product-card { border-color: #353a31; background: #22261f; }
:root[data-theme="dark"] .product-art { background: #30352d; }
:root[data-theme="dark"] .product-art::before { border-color: rgba(235,240,226,.11); box-shadow: 0 0 0 33px rgba(235,240,226,.025), 0 0 0 66px rgba(235,240,226,.02); }
:root[data-theme="dark"] .product-tag { background: var(--lime); color: #171a15; }
:root[data-theme="dark"] .product-category, :root[data-theme="dark"] .product-price small { color: #a5ad98; }
:root[data-theme="dark"] .product-specs span { border-color: #42483d; color: #d3d8cb; }
:root[data-theme="dark"] .product-rating, :root[data-theme="dark"] .view-build { color: #bac3a9; }
:root[data-theme="dark"] .product-rating strong, :root[data-theme="dark"] .catalog-bottom strong { color: var(--ink); }
:root[data-theme="dark"] .product-rating, :root[data-theme="dark"] .product-bottom { border-color: #383d34; }
:root[data-theme="dark"] .why { background: var(--paper); }
:root[data-theme="dark"] .quote-band { background: #272c24; }
:root[data-theme="dark"] .quote-band blockquote em { color: #c1d48d; }
:root[data-theme="dark"] .quote-byline small, :root[data-theme="dark"] .quote-count { color: #a6ad9a; }
:root[data-theme="dark"] .site-footer { background: #0f120e; }
:root[data-theme="dark"] .dialog-head .eyebrow, :root[data-theme="dark"] .cart-head .eyebrow, :root[data-theme="dark"] .preview-heading .eyebrow { color: #bdc99f; }
:root[data-theme="dark"] .builder-dialog, :root[data-theme="dark"] .quote-dialog, :root[data-theme="dark"] .cart-dialog { background: #1c201a; }
:root[data-theme="dark"] .customizer-preview { border-color: #41473a; background: #272d23; }
:root[data-theme="dark"] .auto-rotate-button { border-color: #4a5143; background: #343a2f; color: var(--ink); }
:root[data-theme="dark"] .viewer-hint, :root[data-theme="dark"] .viewer-range-row, :root[data-theme="dark"] .swatch-label, :root[data-theme="dark"] .swatch-current, :root[data-theme="dark"] .price-disclaimer { color: #b1b9a6; }
:root[data-theme="dark"] .viewer-dimensions { color: #e0e5d7; }
:root[data-theme="dark"] .viewer-dimensions span { color: #b1b9a6; }
:root[data-theme="dark"] .viewer-arrow { border-color: #4a5143; background: #343a2f; color: var(--ink); }
:root[data-theme="dark"] .viewer-angle { border-color: #4a5143; background: #1d211a; color: #d4dfc3; }
:root[data-theme="dark"] .customizer-swatches { border-color: #43493d; }
:root[data-theme="dark"] .component-card { border-color: #454b3f; background: rgba(15,18,13,.38); }
:root[data-theme="dark"] .component-art { background: #343a30; }
:root[data-theme="dark"] .component-kind { color: #bdc99f; }
:root[data-theme="dark"] .config-field select, :root[data-theme="dark"] .quote-form input, :root[data-theme="dark"] .quote-form textarea { border-color: #41473b; background: #252a23; color: var(--ink); }
:root[data-theme="dark"] .optional-label, :root[data-theme="dark"] .quote-intro, :root[data-theme="dark"] .quote-form > small { color: #b1b8a8; }
:root[data-theme="dark"] .cart-head, :root[data-theme="dark"] .cart-row { border-color: var(--line); }
:root[data-theme="dark"] .cart-thumb { background: #30352d; }
:root[data-theme="dark"] .quantity-control button { border-color: #464c40; background: #292e26; color: var(--ink); }
:root[data-theme="dark"] .compatibility-note { border-color: #9eb576; background: rgba(169,197,121,.12); color: #d2dfbd; }
:root[data-theme="dark"] .price-disclaimer { color: #b1b9a6; }
:root[data-theme="dark"] .chat-panel { border-color: #41473c; background: #1c201a; }
:root[data-theme="dark"] .chat-header, :root[data-theme="dark"] .chat-form { border-color: #363c32; background: #252a23; }
:root[data-theme="dark"] .chat-close { color: var(--ink); }
:root[data-theme="dark"] .chat-message { border-color: #42483d; background: #292e27; }
:root[data-theme="dark"] .chat-message-visitor { border-color: #596447; background: #343d2b; }
:root[data-theme="dark"] .chat-message p { color: #e1e5d9; }
:root[data-theme="dark"] .chat-message-label, :root[data-theme="dark"] .chat-human-handoff { color: #b4bba9; }
:root[data-theme="dark"] .chat-action-link, :root[data-theme="dark"] .chat-human-handoff a { color: #d6eab0; }
:root[data-theme="dark"] .chat-quick-prompts { border-color: #363c32; }
:root[data-theme="dark"] .chat-quick-prompts button, :root[data-theme="dark"] .chat-form input { border-color: #464c40; background: #20251e; color: var(--ink); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
