/* Layout comes from the owner's Redesign archive; only integration states here. */
/* Owner-pinned brand stops from logo.svg; one accent for all public heroes. */
:root { --brand-title-gradient: linear-gradient(130deg, var(--orange-light) 0%, var(--orange) 48%, var(--orange-deep) 100%); }
.hero h1 > span,
.page-hero h1 > span,
.closing-cta h2 > span {
  color: var(--orange);
  background: var(--brand-title-gradient);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  padding-inline-end: .08em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
.service-heading .page-hero-grid { grid-template-columns: minmax(0,1fr) minmax(220px,320px); gap: clamp(24px,4vw,60px); }
.service-heading .service-hero-art { width: 100%; }
.service-details-grid > div > p { color: var(--muted); max-width: 65ch; line-height: 1.7; }
.service-start h3 { margin-top: 0; }
.gear-selection-steps { margin: 24px 0 0; padding-inline-start: 1.4em; max-width: 65ch; }
.gear-selection-steps li { padding-inline-start: 8px; line-height: 1.7; }
.gear-selection-steps li + li { margin-top: 16px; }
.gear-selection-steps li::marker { color: var(--orange-deep); font-weight: 700; }
.service-start .btn + .text-link { margin-top: 24px; }
@media(max-width:760px) {
  .service-heading .page-hero-grid { grid-template-columns: minmax(0,1fr); }
  .service-heading .service-hero-art { max-width: 280px; height: 180px; margin-inline: auto; }
}
@media print, (forced-colors:active) {
  .hero h1 > span, .page-hero h1 > span, .closing-cta h2 > span { background: none; color: inherit; -webkit-text-fill-color: currentColor; }
}
/* Price and action are separate controls, including on narrow product cards. */
.product-card .product-price-row,
.product-card .product-bottom { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:12px 16px; }
.product-card .product-price-row { margin-top:16px; }
.product-card .product-price-row > .text-link,
.product-card .product-bottom > .text-link { flex-shrink:0; }
/* Do not clip glyph overhang with a text-background mask at fractional zoom. */
.site-header .brand>span{background:none;-webkit-text-fill-color:currentColor;color:#f2622c;line-height:1.2;overflow:visible;padding-right:.08em;letter-spacing:-.04em}
.site-header .brand{min-width:0}
@media(max-width:420px){.site-header .header-inner{gap:12px}.site-header .header-actions{gap:10px}.site-header .brand>span{font-size:clamp(21px,6vw,28px)}.site-header .brand{gap:7px}}
/* Native document navigation stays immediate. Chromium's snapshot transition
   can stall focus/hit testing after a canvas page, including reduced motion. */
@view-transition { navigation: none; }
.hero-visual .scene-controls:has(button:disabled) { opacity: .65; }
.metal-art > svg { width: 100%; height: 100%; }
.generator-card-copy { padding-top: 22px; }
.generator-card-copy h3 { font-size: 23px; letter-spacing: -.025em; }
.generator-card-copy p { color: #b8c7db; margin: 12px 0 18px; max-width: 38ch; }
.hero-bottom a { display: grid; gap: 4px; font-size:12px; }
.hero-bottom .icon { flex: 0 0 14px; }
.mini-avatars .avatar-initial { display:grid; place-items:center; border:2px solid white; border-radius:50%; width:36px; height:36px; margin-right:-7px; background:var(--navy); color:white; font-size:14px; }
.hero-presence { color:var(--muted); font-size:12px; line-height:1.6; margin-top:16px; }
.scene-controls button:disabled { cursor: default; }
/* A single rotating exhibit, not an overlapping decorative assembly. */
.hero-showcase .scene-head .mono{font-family:inherit;letter-spacing:0;font-size:13px;text-transform:none}
.hero-showcase .scene-products{position:absolute;top:70px;left:28px;right:28px;display:flex;gap:8px;z-index:3}
.scene-products button{border:1px solid var(--line);border-radius:8px;padding:10px 14px;background:#fff;color:var(--navy);font:inherit;font-size:13px;cursor:pointer}
.scene-products button[aria-pressed="true"]{background:var(--navy);border-color:var(--navy);color:#fff}
.scene-products button:focus-visible{outline:2px solid var(--orange);outline-offset:3px}
.hero-showcase{min-height:500px;width:100%}
.hero-showcase .hero-canvas,.hero-showcase .scene-poster{top:102px;bottom:124px;height:calc(100% - 226px);width:100%;left:0}
.hero-showcase .scene-caption{display:flex;flex-direction:column;align-items:flex-start;gap:6px;bottom:24px;font-family:inherit;letter-spacing:0}
.hero-showcase .scene-caption strong{font-size:18px;color:var(--navy);font-weight:600}
.hero-showcase .scene-caption span{font-size:12px;color:var(--muted);font-family:inherit;letter-spacing:0;line-height:1.5}
.hero-showcase .scene-controls{bottom:94px}
@media(max-width:760px){
  .hero-showcase .scene-products{left:20px;right:20px;top:60px}
  .scene-products button{font-size:12px;padding:9px 11px}
  .hero-showcase{min-height:440px}
  .hero-showcase .hero-canvas,.hero-showcase .scene-poster{top:100px;bottom:124px;height:calc(100% - 224px)}
  .hero-showcase .scene-caption strong{font-size:16px}
}
.missing-product-photo { color:var(--muted); display:grid; place-items:center; height:100%; padding:24px; text-align:center; }
.published-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.published-review-grid .review-card { width:auto; }
.contextual-review-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); }
.published-review-text { white-space:pre-line; overflow-wrap:anywhere; }
@media (max-width:900px) { .published-review-grid { grid-template-columns:1fr 1fr; } }
@media (max-width:600px) { .published-review-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion: reduce) {
  ::view-transition-group(*), ::view-transition-old(*), ::view-transition-new(*) { animation: none; }
}
/* Shared archive form vocabulary; only CRM-specific wrappers are introduced. */
.request-form fieldset { min-width:0; border:0; margin:0; padding:0; }
.redesign-information-grid { display:grid; grid-template-columns:1fr 1fr; gap:64px; }
.redesign-information-grid h2 { font-size:28px; line-height:1.2; margin-bottom:24px; }
.redesign-information-grid p, .redesign-information-grid li { line-height:1.8; color:var(--muted); }
.redesign-information-grid p, .redesign-information-grid ol, .redesign-information-grid ul { margin-bottom:24px; }
.redesign-information-grid li { margin-bottom:12px; }
.redesign-information-grid ol, .redesign-information-grid ul { padding-left:22px; }
.footer-bottom nav { display:flex; flex-wrap:wrap; gap:12px 24px; }
.footer-presence { font-size:12px; color:#b7c2ce; margin-bottom:24px; }
.contact-map-links { display:flex; flex-wrap:wrap; gap:12px 24px; margin-bottom:20px; }
.request-receipt p { max-width:65ch; margin:20px 0; line-height:1.8; }
@media(max-width:700px) { .redesign-information-grid { grid-template-columns:1fr; gap:40px; } }
.redesign-catalog-content { min-width:0; }
.redesign-filter-title { font-size:14px; margin-bottom:20px; }
.redesign-pagination { display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-top:40px; }
.redesign-product-thumbnails { display:flex; flex-wrap:wrap; gap:12px; margin-top:16px; }
.redesign-product-thumbnails img { object-fit:contain; background:var(--soft); border:1px solid var(--line); border-radius:8px; }
.redesign-product-add { display:flex; align-items:end; flex-wrap:wrap; gap:12px; }
.redesign-product-add .field { margin:0; width:108px; }
.product-detail-actions #product-status { flex-basis:100%; margin:0; }
.product-detail-copy h1, .product-card h3, .product-info-grid p { overflow-wrap:anywhere; }
.product-visual img { object-fit:contain; }
.product-bottom .add-cart { flex-shrink:0; }
.product-bottom form { margin:0; }
.published-review-grid .review-card { min-width:0; }
.published-review-grid .review-author strong { white-space:normal; overflow-wrap:anywhere; }
.published-review-grid .published-review-text { font-size:14px; line-height:1.75; margin:16px 0; }
.published-review-grid .empty-state { grid-column:1/-1; }
.redesign-review-relations { display:flex; flex-direction:column; align-items:start; gap:10px; margin-top:auto; padding-block:12px; }
.redesign-review-relations .text-link { font-size:12px; line-height:1.5; }
.review-topic-filters { flex-wrap:wrap; }
.review-topic-filters .filter-pill { display:inline-flex; align-items:center; gap:8px; }
.review-topic-filters .filter-pill span { font-size:11px; font-variant-numeric:tabular-nums; }
.redesign-case-copy { padding-top:24px; }
.cases-grid { display:grid; grid-template-columns:1fr 1fr; gap:27px; }
.cases-grid .empty-state { grid-column:1/-1; }
.cases-grid .case-art > img { width:100%; height:100%; object-fit:cover; }
.redesign-case-copy h2 { font-size:25px; line-height:1.3; margin-bottom:12px; overflow-wrap:anywhere; }
.redesign-case-copy p { font-size:14px; line-height:1.75; color:var(--muted); margin-bottom:12px; }
.redesign-case-gallery figure { margin:0 0 24px; }
.redesign-case-gallery img { width:100%; height:auto; border-radius:14px; }
.redesign-case-gallery figcaption { color:var(--muted); margin-top:12px; font-size:13px; }
.redesign-case-story section { margin-bottom:36px; }
.redesign-case-story h2 { font-size:25px; margin-bottom:16px; }
.redesign-case-story p { white-space:pre-line; line-height:1.8; color:var(--muted); }
.redesign-case-story > a { margin:0 20px 20px 0; }
.redesign-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
[hidden] { display:none !important; }
.redesign-local-notice { margin:0 0 30px; font-size:13px; line-height:1.7; color:var(--muted); max-width:72ch; }
.redesign-commerce #page-status:empty { display:none; }
.redesign-commerce .commerce-content { min-height:560px; }
body[data-page="/checkout"] .commerce-heading h1 { min-height:2.16em; }
body[data-page="/checkout"] .commerce-heading #page-intro { min-height:3.4em; }
@media(min-width:761px) { body[data-page="/checkout"] .commerce-heading h1 { min-height:1.08em; } }
.redesign-commerce #page-status { margin:0 0 24px; }
.redesign-commerce fieldset { border:0; min-width:0; padding:0; margin:0; }
.redesign-checkout-section + .redesign-checkout-section { border-top:1px solid var(--line); margin-top:32px; padding-top:32px; }
.redesign-checkout-section h2 { font-size:24px; line-height:1.3; margin:0 0 24px; }
.redesign-checkout-section h3 { font-size:16px; line-height:1.5; margin-bottom:12px; }
.redesign-providers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin-bottom:28px; }
.redesign-providers button, .redesign-points button { border:1px solid var(--line); padding:16px; border-radius:8px; background:var(--white,#fff); text-align:left; color:var(--ink); line-height:1.5; }
.redesign-providers button { font-size:13px; }
.redesign-providers small { display:block; font-size:11px; color:var(--muted); margin-top:8px; }
.redesign-providers button[aria-pressed=true], .redesign-points button[aria-pressed=true] { border-color:var(--orange); background:#fff6f0; }
.redesign-city-control { display:block; position:relative; }
.redesign-city-control input { padding-right:44px !important; }
.redesign-city-control .busy-dot { position:absolute; right:15px; top:15px; }
.redesign-cities { border:1px solid var(--line); border-radius:8px; margin-top:-14px; margin-bottom:20px; max-height:280px; overflow:auto; }
.redesign-cities button { display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; text-align:left; width:100%; padding:14px; background:white; border:0; color:var(--ink); }
.redesign-cities button + button { border-top:1px solid var(--line); }
.redesign-cities button:hover { background:var(--soft); }
.redesign-cities small { color:var(--muted); }
.redesign-selection-row { display:flex; align-items:center; gap:20px; justify-content:space-between; padding:20px; border:1px solid var(--line); border-radius:9px; }
.redesign-selection-row p { color:var(--muted); font-size:13px; line-height:1.65; }
.redesign-selection-row h3 { margin-bottom:8px; }
.redesign-selection-row .btn { flex-shrink:0; }
.redesign-points { display:grid; gap:12px; max-height:350px; overflow:auto; margin-bottom:20px; }
.redesign-pickup-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(260px,.85fr); gap:18px; align-items:start; margin-bottom:20px; }
.redesign-pickup-layout > * { min-width:0; }
.redesign-pickup-layout .redesign-points { max-height:420px; margin-bottom:0; overscroll-behavior:contain; }
.redesign-pickup-map { width:100%; height:420px; border-radius:12px; overflow:hidden; background:#edf2f6; }
.redesign-pickup-map-shell > .field-help { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:8px 0 0; }
.checkout-v2-map-marker-anchor,.checkout-v2-map-cluster-anchor { position:relative; display:block; width:0; height:0; overflow:visible; }
.checkout-v2-map-marker { position:absolute; left:0; top:0; width:44px; height:52px; display:grid; place-items:center; padding:0 0 8px; border:0; background:transparent; color:#fff; font:inherit; font-size:12px; font-weight:800; cursor:pointer; filter:drop-shadow(0 4px 5px rgba(8,17,32,.24)); transform:translate(-50%,-100%); isolation:isolate; text-shadow:0 1px 2px rgba(8,17,32,.35); }
.checkout-v2-map-marker::before { content:''; position:absolute; inset:0 5px 8px; border:2px solid #fff; border-radius:50% 50% 50% 0; background:var(--orange-deep); transform:rotate(-45deg); z-index:-1; }
.checkout-v2-map-marker::after { content:''; position:absolute; width:8px; height:8px; top:11px; left:18px; border-radius:50%; background:#fff; opacity:.8; z-index:-1; }
.checkout-v2-map-marker.is-selected::before { background:var(--navy); }
.checkout-v2-map-cluster { position:absolute; left:0; top:0; width:48px; height:48px; display:grid; place-items:center; border:3px solid #fff; border-radius:50%; background:var(--orange); color:var(--navy); font:inherit; font-size:12px; font-weight:800; box-shadow:0 5px 12px rgba(8,17,32,.28); cursor:pointer; transform:translate(-50%,-50%); }
.checkout-v2-map-cluster::before,.checkout-v2-map-cluster::after { content:''; position:absolute; width:16px; height:16px; border:2px solid currentColor; border-radius:50%; }
.checkout-v2-map-cluster::before { transform:translate(-4px,-3px); }
.checkout-v2-map-cluster::after { transform:translate(4px,3px); background:var(--orange); }
.checkout-v2-map-marker:focus-visible,.checkout-v2-map-cluster:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
.redesign-points strong, .redesign-points span { display:block; }
.redesign-points span { font-size:13px; color:var(--muted); margin-top:8px; }
.redesign-commerce .summary-item { display:flex; justify-content:space-between; gap:16px; font-size:13px; line-height:1.6; padding:0 0 18px; }
.redesign-commerce .summary-item strong { white-space:nowrap; }
.redesign-commerce .summary-item small { display:block; color:var(--muted); margin-top:8px; }
.redesign-totals { border-top:1px solid var(--line); margin:24px 0; padding-top:20px; }
.redesign-totals > div { display:flex; justify-content:space-between; gap:16px; padding:8px 0; font-size:14px; }
.redesign-totals dd { margin:0; font-weight:650; text-align:right; }
.redesign-totals .redesign-grand-total { border-top:1px solid var(--line); margin-top:14px; padding-top:20px; font-size:21px; }
.redesign-summary-action { border-top:1px solid var(--line); margin-top:24px; padding-top:24px; }
.redesign-summary-action .consent { align-items:center; min-height:44px; margin-bottom:22px; }
.redesign-commerce .quote-progress { display:flex; gap:12px; align-items:center; font-size:13px; line-height:1.65; }
.redesign-commerce .busy-dot { flex-shrink:0; width:18px; height:18px; border-radius:50%; border:2px solid var(--line); border-top-color:var(--orange); animation:redesign-busy 850ms linear infinite; }
@keyframes redesign-busy { to { transform:rotate(360deg); } }
.redesign-commerce .cart-item > div { flex:1; min-width:0; }
.redesign-commerce .cart-item h2 { font-size:15px; line-height:1.6; overflow-wrap:anywhere; }
.redesign-commerce .cart-item p { margin-top:8px; color:var(--muted); font-size:12px; }
.redesign-commerce .cart-item label { width:100px; font-size:11px; color:var(--muted); }
.redesign-commerce .cart-item input { display:block; width:100%; min-height:44px; margin-top:8px; border:1px solid var(--line); border-radius:7px; padding:10px; background:white; color:var(--ink); }
.redesign-commerce .cart-item button { min-height:44px; color:var(--muted); font-size:12px; background:transparent; border:0; padding:12px 6px; }
.section.redesign-commerce--order { padding-top:clamp(42px,4vw,72px); }
.redesign-order-receipt { max-width:880px; }
.redesign-order-receipt h2 { font-size:clamp(28px,2.2vw,36px); margin:0 0 28px; overflow-wrap:anywhere; font-variant-numeric:tabular-nums; }
.redesign-receipt-details-title { margin:0; font-size:20px; line-height:1.3; }
.redesign-order-receipt dl { display:grid; grid-template-columns:160px 1fr; gap:18px 28px; padding:24px 0; border-block:1px solid var(--line); margin:18px 0 20px; font-size:14px; line-height:1.75; }
.redesign-order-receipt dt { color:var(--muted); }
.redesign-order-receipt dd { margin:0; overflow-wrap:anywhere; }
.redesign-receipt-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:20px; }
.redesign-commerce #retry-receipt { margin-bottom:24px; }
.redesign-payment { border:1px solid var(--line); border-radius:12px; padding:24px; margin:24px 0 28px; background:var(--soft); }
.redesign-payment h3 { margin:0 0 12px; font-size:20px; line-height:1.3; }
.redesign-payment-amount { margin:0 0 12px; color:var(--navy); font-size:18px; font-weight:700; }
.redesign-payment #payment-note { margin:0 0 18px; line-height:1.6; }
.redesign-payment-test-notice { margin:0 0 16px; padding:12px 14px; border-left:3px solid var(--orange); background:#fff6f0; color:var(--navy); font-weight:700; line-height:1.5; }
.redesign-payment .btn { max-width:100%; white-space:normal; text-align:center; }
.redesign-payment .field-help { margin:16px 0 0; line-height:1.6; }
@media(min-width:901px) {
  .redesign-order-receipt:has(> .redesign-payment:not([hidden])) { display:grid; grid-template-columns:minmax(0,1fr) minmax(340px,.68fr); column-gap:clamp(36px,5vw,80px); align-items:start; max-width:1320px; }
  .redesign-order-receipt:has(> .redesign-payment:not([hidden])) > h2 { grid-column:1/-1; }
  .redesign-order-receipt:has(> .redesign-payment:not([hidden])) > .redesign-payment { grid-column:2; grid-row:2 / span 3; margin:0; }
  .redesign-order-receipt:has(> .redesign-payment:not([hidden])) > #retry-receipt { grid-column:1; grid-row:2; justify-self:start; }
  .redesign-order-receipt:has(> .redesign-payment:not([hidden])) > #receipt-details { grid-column:1; grid-row:3; min-width:0; }
  .redesign-order-receipt:has(> .redesign-payment:not([hidden])) > .redesign-receipt-actions { grid-column:1; grid-row:4; }
}
@media(max-width:700px) {
  .page-hero.commerce-heading { padding-top:12px; padding-bottom:24px; }
  .page-hero.commerce-heading .breadcrumbs { margin-bottom:16px; }
  .page-hero.commerce-heading h1 { margin:0 0 10px; font-size:clamp(32px,8vw,42px); line-height:1.1; }
  .page-hero.commerce-heading .page-hero-grid > div > p { margin:0; font-size:14px; line-height:1.5; }
  .section.redesign-commerce { padding-top:28px; }
  .redesign-commerce .redesign-local-notice { margin-bottom:20px; line-height:1.55; }
  .redesign-commerce .contact-form-card { padding:20px; }
  .redesign-commerce .redesign-checkout-section h2 { margin-bottom:14px; font-size:22px; }
  .cases-grid { grid-template-columns:1fr; gap:34px; }
  .catalog-toolbar { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-toolbar .search-field { grid-column:1/-1; min-width:0; }
  .catalog-toolbar select { width:100%; min-width:0; min-height:44px; font-size:13px; }
  .catalog-toolbar .btn { min-height:44px; font-size:13px; }
  .redesign-pagination { font-size:13px; }
  .redesign-providers { grid-template-columns:1fr; }
  .redesign-pickup-layout { grid-template-columns:minmax(0,1fr); }
  .redesign-pickup-map { height:320px; }
  .redesign-selection-row { align-items:start; flex-direction:column; }
  .redesign-commerce .cart-item { flex-wrap:wrap; }
  .redesign-commerce .cart-item > div { flex-basis:100%; }
  .redesign-order-receipt dl { grid-template-columns:minmax(92px,.8fr) minmax(0,1.2fr); gap:10px 12px; padding:20px 0; }
  .redesign-order-receipt dd { margin-bottom:0; }
  .redesign-receipt-actions { align-items:start; flex-direction:column; }
}
@media(max-width:480px) { .catalog-products { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .redesign-commerce .busy-dot { animation:none; } }
.calculator-local-note { margin:24px 0 32px; padding-block:20px; border-block:1px solid var(--line); font-size:14px; line-height:1.75; color:var(--muted); }
.redesign-legal { max-width:75ch; margin-inline:auto; font-size:16px; line-height:1.8; overflow-wrap:anywhere; }
.redesign-legal .legal-meta { color:var(--muted); font-size:14px; margin-bottom:32px; }
.redesign-legal h2 { margin:44px 0 18px; font-size:28px; line-height:1.3; }
.redesign-legal h3 { margin:32px 0 14px; font-size:21px; line-height:1.4; }
.redesign-legal p { margin:0 0 16px; }
.redesign-legal ol, .redesign-legal ul { padding-inline-start:24px; margin:16px 0 24px; }
.redesign-legal ul { list-style:disc; }
.redesign-legal ol { list-style:decimal; }
.redesign-legal li { margin-bottom:10px; }
.redesign-legal a { text-decoration:underline; text-underline-offset:3px; }
.redesign-legal code { white-space:normal; }
[data-contact-error]:not(:empty) { display: block; color: #a32c3b; margin-top: 6px; }
input[aria-invalid="true"] { border-color: #a32c3b; }
.generator-release-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)); gap:20px; margin-top:28px; }
.generator-release-link { display:flex; flex-direction:column; gap:12px; padding:24px; border:1px solid var(--line); border-radius:20px; }
.generator-release-link h2 { font-size:24px; line-height:1.25; margin:0; }
.generator-release-link p { margin:0; color:var(--muted); }
.generator-release-link > span { margin-top:auto; padding-top:8px; font-size:14px; }
/* Reference parity: actual published reviews, original avatars and two compact lanes. */
.hero-rating { letter-spacing:0; color:var(--muted); margin-left:8px; }
.mini-avatars { flex-shrink:0; }
.review-avatar { object-fit:cover; flex-shrink:0; }
.review-author > div { min-width:0; }
.review-source-logo { width:26px; height:26px; object-fit:contain; flex-shrink:0; }
.review-author .review-source-logo { margin-left:auto; border-radius:0; object-fit:contain; }
.hero-review-source { display:inline-flex; align-items:center; gap:8px; }
.review-author strong { font-size:13px; }
.review-author time, .review-card-bottom > span, .review-unrated { color:#5d6d7d; font-size:12px; }
.review-rating { color:var(--navy); }
.review-rating .unfilled { color:#75808b; }
.review-card-bottom { gap:12px; flex-wrap:wrap; }
.review-card-bottom .text-link { font-size:12px; }
.reviews-heading h2 { margin:0; }
.reviews-heading > .text-link { flex-shrink:0; }
.review-lane { scrollbar-width:none; padding-bottom:4px; }
.review-lane::-webkit-scrollbar { display:none; }
.review-lane[data-review-animated] { overflow:hidden; }
.review-track { padding-inline:0; will-change:auto; }
.review-track[data-review-moving] { will-change:transform; }
.review-card-compact .review-text { height:100px; font-size:14px; line-height:1.8; margin-top:0; }
.review-card-compact .review-card-bottom { margin-top:auto; justify-content:flex-end; }
.published-review-grid .review-card-bottom { margin-top:auto; }
.published-review-grid .review-card-compact { min-height:380px; }
.published-review-grid .review-card-compact .review-author { min-height:48px; }
.published-review-grid .review-card-compact .published-review-text { flex:none; height:100px; margin:12px 0; -webkit-line-clamp:4; line-height:25px; }
.published-review-grid .review-card-compact .redesign-review-relations { flex-direction:row; flex-wrap:wrap; align-items:end; gap:6px 12px; margin-top:auto; padding-block:12px; }
.published-review-grid .review-card-compact .review-card-bottom { margin-top:0; min-height:48px; justify-content:space-between; }
.published-review-dialog { width:min(620px,calc(100vw - 32px)); max-height:calc(100dvh - 48px); border:1px solid var(--line); border-radius:16px; padding:24px; color:var(--ink); }
.published-review-dialog::backdrop { background:#10182799; }
.published-review-dialog > .btn { display:flex; margin-left:auto; }
.published-review-dialog .review-card { width:100%; border:0; padding:24px 0 0; }
.published-review-dialog .published-review-text { font-size:16px; line-height:1.8; margin:18px 0; }
.published-review-dialog .review-author strong { white-space:normal; }
.review-summary > a { color:#ffa270; }
.calculator-section .calc-price > strong { font-size:32px; line-height:1.25; }
.calculator-section .field-help { margin-top:20px; }
.calculator-section .calc-price p { line-height:1.7; }
.calculator-section .model-metrics > div { color:#536579; font-size:12px; line-height:1.4; overflow-wrap:anywhere; }
.calculator-section .model-metrics strong { font-size:14px; }
.calculator-section #calc-status { color:var(--muted); }
.calculator-section #calc-status[data-state="error"] { color:#a6382f; }
#calc-request { scroll-margin-top:100px; }
#request-attachment { margin-block:20px; min-width:0; }
#request-attachment .request-stl-picker { margin-bottom:8px; min-height:48px; font-size:14px; }
#request-attachment .request-stl-picker:focus-within { outline:2px solid var(--orange); outline-offset:3px; }
#request-attachment .request-stl-picker:has(input:disabled) { opacity:.6; }
#request-file-status { overflow-wrap:anywhere; color:var(--muted); font-size:14px; margin-block:8px; }
#request-file-remove { min-height:44px; }
.model-area-top { gap:16px; }
.model-area-top > strong { min-width:0; overflow-wrap:anywhere; }
.model-area-top > button { flex-shrink:0; }
.contact-note { color:var(--muted); }
.request-form input::placeholder, .request-form textarea::placeholder, .catalog-toolbar input::placeholder { color:#607185; opacity:1; }
.service-start .start-icon { display:flex; gap:12px; align-items:center; margin-top:24px; font-size:13px; }
.service-start .start-icon .icon { flex-shrink:0; }
.catalog-hero-help { padding:24px 0 24px 32px; border-left:1px solid #ffffff26; align-self:center; }
.catalog-hero-help p { font-size:18px; line-height:1.5; color:#d1dbe6; margin-bottom:20px; }
.catalog-hero-help .text-link { color:#ffa270; }
.product-specs { display:flex; gap:10px 16px; flex-wrap:wrap; margin:14px 0; font-size:12px; color:#5d6d7d; }
.product-compatibility-note { margin-top:20px; font-size:13px; line-height:1.7; color:var(--muted); }
.product-detail-actions > .text-link { display:inline-flex; margin-top:18px; }
@media(max-width:1120px) and (min-width:1001px) { .primary-nav { gap:18px; } .site-header .header-inner { gap:20px; } .btn-calculator span { display:none; } }
@media(max-width:760px) {
  .catalog-hero-help { padding:24px 0 0; border-left:0; border-top:1px solid #ffffff26; }
  .hero-rating { margin-left:0; display:block; }
}
@media(max-width:380px) {
  .calculator-section .model-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .calculator-section .model-metrics > div { overflow-wrap:normal; }
  .calculator-section .model-metrics > div:last-child { grid-column:1/-1; display:flex; align-items:baseline; gap:8px; }
  .calculator-section .model-metrics > div:last-child strong { margin-bottom:0; }
}
