/* The Local storefront and the exported site share these components and theme IDs. */
body.ss-storefront {
  --ss-accent: #006851;
  --ss-deep: #104c40;
  --ss-tint: #e1f0e8;
  --ss-ink: #172e29;
  --ss-muted: #445e55;
  --ss-paper: #f8faf7;
  --ss-surface: #fff;
  --ss-line: #ccd9d0;
  --ss-radius: .85rem;
  --ss-frame: #f4f4ee;
  --ss-display: "Barlow", "Segoe UI", Arial, sans-serif;
  --ss-font: "Inter", "Segoe UI", Helvetica, Arial, sans-serif;
  --ss-gutter: clamp(1rem, 4.8vw, 4.5rem);
  margin: 0;
  color: var(--ss-ink);
  background: var(--ss-paper);
  font: 400 1.0625rem/1.6 var(--ss-font);
  text-align: left;
  -webkit-text-size-adjust: 100%;
}
.ss-storefront[data-theme="engineering-blue"] { --ss-accent:#226292; --ss-deep:#244d69; --ss-tint:#e2eff8; --ss-ink:#243744; --ss-muted:#4e6270; --ss-line:#c8d7df; --ss-paper:#f6f9fa; --ss-radius:.35rem; }
.ss-storefront[data-theme="catalog-emerald"] { --ss-accent:#286a43; --ss-deep:#30563e; --ss-tint:#e7f1de; --ss-ink:#20352a; --ss-muted:#526253; --ss-paper:#f8faf5; }
.ss-storefront[data-theme="catalog-indigo"] { --ss-accent:#615695; --ss-deep:#4b426d; --ss-tint:#ebe9f5; --ss-ink:#353448; --ss-muted:#615d70; --ss-line:#d8d5e4; --ss-paper:#faf9fc; --ss-radius:.35rem; }
.ss-storefront[data-theme="studio-copper"] { --ss-accent:#855329; --ss-deep:#634329; --ss-tint:#f5e9d8; --ss-ink:#382f28; --ss-muted:#6d6153; --ss-line:#dcd2c2; --ss-paper:#fcfaf5; --ss-radius:.3rem; --ss-display:"Baskervville",Georgia,serif; }
.ss-storefront[data-theme="studio-ocean"] { --ss-accent:#14657b; --ss-deep:#20566a; --ss-tint:#e1f0f0; --ss-ink:#203b42; --ss-muted:#51696d; --ss-line:#c7d9d9; --ss-paper:#f5faf9; }
.ss-storefront[data-theme="export-azure"] { --ss-accent:#21668c; --ss-deep:#285570; --ss-tint:#e2eff4; --ss-ink:#243a48; --ss-muted:#526771; --ss-paper:#f7fafb; --ss-line:#cbdce3; }
.ss-storefront[data-theme="export-olive"] { --ss-accent:#52692e; --ss-deep:#3f542c; --ss-tint:#ebeed9; --ss-ink:#323b2b; --ss-muted:#5b6552; --ss-line:#d6ddc5; --ss-paper:#f9faf3; --ss-radius:.4rem; }
.ss-storefront[data-theme="showcase-violet"] { --ss-accent:#76478d; --ss-deep:#5d3c69; --ss-tint:#eee4f1; --ss-ink:#3e3045; --ss-muted:#6e5b70; --ss-line:#ddd1df; --ss-paper:#fbf8fb; }
.ss-storefront[data-theme="showcase-turquoise"] { --ss-accent:#006d68; --ss-deep:#205751; --ss-tint:#daf0e9; --ss-ink:#183e38; --ss-muted:#47675f; --ss-line:#c9ded8; --ss-paper:#f6fbf8; }
.ss-storefront *, .ss-storefront *::before, .ss-storefront *::after { box-sizing:border-box; }
.ss-storefront :is(h1,h2,h3,h4,p,figure,ul,ol) { margin-block:0; }
.ss-storefront figure { margin-inline:0; }
.ss-storefront :is(h1,h2,h3,h4) { color:var(--ss-ink); font-family:var(--ss-display); overflow-wrap:break-word; text-wrap:balance; }
.ss-storefront h1 { font-size:clamp(2.25rem,4.75vw,4.8rem); font-weight:680; line-height:1.04; letter-spacing:-.055em; }
.ss-storefront h2 { font-size:clamp(1.75rem,3.2vw,3.05rem); font-weight:650; line-height:1.12; letter-spacing:-.042em; }
.ss-storefront h3 { font-size:clamp(1.18rem,2vw,1.5rem); line-height:1.25; letter-spacing:-.022em; }
.ss-storefront a { color:var(--ss-accent); text-underline-offset:.2em; }
.ss-storefront a:hover { text-decoration-thickness:.12em; }
.ss-storefront :is(a,button,input,textarea,select):focus-visible { outline:3px solid var(--ss-accent); outline-offset:4px; }
.ss-storefront img { display:block; max-width:100%; height:auto; }
.ss-storefront [hidden] { display:none!important; }
.ss-storefront .ss-wrap { width:min(100% - var(--ss-gutter) * 2, 77rem); max-width:none; margin-inline:auto; }
.ss-storefront main { display:block; max-width:none; width:100%; margin:0; padding:0; min-height:55vh; }
.ss-storefront .ss-skip { position:absolute; z-index:50; inset:.75rem auto auto .75rem; padding:.65rem 1rem; background:#fff; transform:translateY(-170%); }
.ss-storefront .ss-skip:focus { transform:none; }

/* A compact wordmark leaves the navigation usable even on a narrow laptop. */
.ss-header { background:var(--ss-surface); border-top:4px solid var(--ss-accent); border-bottom:1px solid var(--ss-line); }
.ss-header-row { display:flex; align-items:center; min-height:5.1rem; gap:clamp(1rem,2vw,1.75rem); padding-block:.8rem; }
.ss-storefront .ss-header-row > .ss-btn { margin-inline-start:auto; }
.ss-storefront .ss-brand { display:inline-flex; align-items:center; gap:.65rem; min-width:0; color:var(--ss-ink); font-family:var(--ss-display); font-weight:720; font-size:clamp(1.35rem,2.5vw,1.83rem); letter-spacing:-.045em; line-height:1.05; text-decoration:none; overflow-wrap:anywhere; }
.ss-mark { display:inline-grid; place-items:center; position:relative; flex:0 0 auto; width:2.1rem; aspect-ratio:1; border:4px solid var(--ss-accent); border-radius:50%; transform:rotate(-24deg); }
.ss-mark::after { content:""; width:1.14rem; height:.77rem; border:2px solid var(--ss-accent); border-radius:50%; }
.ss-nav { display:flex; align-items:center; flex-wrap:wrap; gap:clamp(.8rem,2.8vw,2rem); }
.ss-footer-row > .ss-nav { margin-inline-start:auto; }
.ss-nav :is(ul,ol) { display:contents; list-style:none; }
.ss-storefront .ss-nav a:not(.ss-btn) { display:inline-block; color:var(--ss-ink); padding-block:.45rem; font-size:1rem; font-weight:600; text-decoration:none; }
.ss-storefront .ss-nav a:not(.ss-btn):is(:hover,[aria-current="page"]) { color:var(--ss-accent); text-decoration:underline; text-decoration-thickness:2px; text-underline-offset:.4rem; }
.ss-actions, .ss-storefront .ss-rfq-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.75rem; margin:0; }
.ss-storefront :is(.ss-btn,.ss-rfq-actions a,:where(.ss-rfq,#inquiry-form) button[type="submit"]) {
  display:inline-flex; align-items:center; justify-content:center; gap:.6rem; min-height:2.9rem;
  padding:.65rem 1.18rem; margin:0; border:1px solid var(--ss-accent); border-radius:.42rem;
  color:#fff; background:var(--ss-accent); box-shadow:0 3px 0 var(--ss-deep);
  font:650 1rem/1.3 var(--ss-font); text-decoration:none; text-align:center; cursor:pointer;
}
.ss-storefront :is(.ss-btn-secondary,.ss-rfq-actions a + a):not(:hover) { color:var(--ss-accent); background:var(--ss-surface); border-color:var(--ss-accent); box-shadow:0 2px 0 var(--ss-line); }
.ss-storefront :is(.ss-btn,.ss-rfq-actions a,:where(.ss-rfq,#inquiry-form) button[type="submit"]):hover { background:var(--ss-deep); color:white; }
.ss-storefront :is(.ss-btn,.ss-rfq-actions a,:where(#inquiry-form) button[type="submit"]):active { transform:translateY(2px); box-shadow:none; }

/* Real product photography, art-directed within a separate, bounded image panel. */
.ss-hero {
  background:linear-gradient(100deg,var(--ss-paper) 4%,var(--ss-tint) 100%);
  border-bottom:1px solid var(--ss-line); position:relative; isolation:isolate;
}
.ss-hero::before {
  content:""; position:absolute; inset:0 0 0 55%; z-index:-1; pointer-events:none;
  background-image:linear-gradient(90deg,var(--ss-line) 1px,transparent 1px),linear-gradient(var(--ss-line) 1px,transparent 1px);
  background-size:2.5rem 2.5rem; opacity:.48;
}
.ss-hero-grid { display:grid; grid-template-columns:minmax(0,1.02fr) minmax(0,1fr); gap:clamp(2rem,5vw,6rem); padding-block:clamp(2.4rem,5.5vw,5rem); align-items:center; }
.ss-hero-copy, .ss-product-summary { min-width:0; }
.ss-storefront :is(.ss-hero-copy,.ss-product-summary,.ss-contact-copy) > * + * { margin-block-start:1.15rem; }
.ss-storefront .ss-kicker { display:flex; align-items:center; gap:.55rem; color:var(--ss-deep); font:700 .8rem/1.4 var(--ss-font); letter-spacing:.09em; text-transform:uppercase; }
.ss-hero-copy > .ss-kicker::before, .ss-section-head .ss-kicker::before { content:""; display:inline-block; width:1.8rem; height:3px; background:var(--ss-accent); flex:none; }
.ss-hero-copy h1 { max-width:17ch; }
.ss-storefront .ss-lead { max-width:55ch; color:var(--ss-muted); font-size:clamp(1.05rem,1.45vw,1.2rem); line-height:1.6; }
.ss-hero-copy > .ss-actions, .ss-product-summary > :is(.ss-actions,.ss-rfq-actions) { margin-top:1.6rem; }
.ss-hero-media { display:grid; position:relative; overflow:hidden; padding:clamp(.55rem,1.4vw,1rem); background:var(--ss-surface); border:1px solid var(--ss-line); border-radius:var(--ss-radius); box-shadow:0 15px 36px -20px var(--ss-deep); }
.ss-hero-media img { width:100%; height:clamp(13.5rem,24vw,23rem); object-fit:contain; background:var(--ss-frame); border-radius:calc(var(--ss-radius) * .55); }
.ss-hero-media > a, .ss-card-media, .ss-product-media figure a { display:block; }
.ss-hero-media figcaption { display:flex; align-items:center; justify-content:space-between; padding:.78rem .25rem .05rem; gap:.5rem; color:var(--ss-muted); text-align:left; font-weight:600; line-height:1.4; }
.ss-hero-media figcaption a { color:var(--ss-ink); text-decoration:none; }
.ss-hero-media figcaption a:hover { text-decoration:underline; }
.ss-hero-grid:has(.ss-hero-copy:only-child), .ss-hero.ss-no-media .ss-hero-grid { grid-template-columns:minmax(0,1fr); }
.ss-hero-grid:has(.ss-hero-copy:only-child) h1, .ss-hero.ss-no-media h1 { max-width:22ch; }

/* Section headings and catalog records. */
.ss-section { padding-block:clamp(2.75rem,5vw,4.75rem); }
.ss-section + .ss-section { border-top:1px solid var(--ss-line); }
.ss-section-head { display:flex; align-items:end; justify-content:space-between; flex-wrap:wrap; gap:.7rem 1.2rem; margin-bottom:clamp(1.25rem,2.5vw,2.1rem); }
.ss-section-head > .ss-kicker:first-child:not(:only-child) { flex-basis:100%; }
.ss-section-head :is(.ss-kicker + h2,.ss-kicker + h1) { margin-top:.35rem; }
.ss-section-head > p:not(.ss-kicker) { max-width:52ch; color:var(--ss-muted); }
.ss-section-head > a, .ss-storefront .ss-card-link, .ss-storefront .ss-btn-quiet { color:var(--ss-accent); font-weight:650; text-underline-offset:.25rem; }
.ss-card-grid { display:grid; gap:clamp(.9rem,2vw,1.55rem); grid-template-columns:repeat(3,minmax(0,1fr)); }
.ss-card { min-width:0; display:flex; flex-direction:column; background:var(--ss-surface); border:1px solid var(--ss-line); border-radius:var(--ss-radius); overflow:hidden; box-shadow:0 4px 10px rgba(29,53,42,.035); }
.ss-card:focus-within { border-color:var(--ss-accent); }
.ss-card-media { display:grid; place-items:center; width:100%; padding:.72rem; aspect-ratio:1.67; overflow:hidden; border-bottom:1px solid var(--ss-line); background:var(--ss-frame); }
.ss-card-media img { width:100%; height:100%; min-height:0; object-fit:contain; }
.ss-card-body { flex:1; padding:clamp(1rem,2vw,1.55rem); display:flex; flex-direction:column; align-items:start; gap:.65rem; }
.ss-card-body .ss-kicker { font-size:.72rem; }
.ss-card-body :is(h2,h3) { font-size:clamp(1.18rem,1.65vw,1.5rem); line-height:1.23; letter-spacing:-.026em; }
.ss-card-body :is(h2,h3) a { color:var(--ss-ink); text-decoration:none; }
.ss-card-body :is(h2,h3) a:hover { color:var(--ss-accent); text-decoration:underline; }
.ss-card-body > p:not(.ss-kicker) { color:var(--ss-muted); font-size:1rem; }
.ss-card-body > .ss-actions { width:100%; margin-top:auto; padding-top:.35rem; }
.ss-card-body > .ss-actions > .ss-card-link { margin:0; }
.ss-card-body > .ss-actions > .ss-btn { min-height:2.55rem; padding:.48rem 1rem; font-size:.97rem; }
.ss-storefront a.ss-card-link { margin-top:auto; min-height:2.55rem; display:inline-flex; align-items:center; justify-content:center; padding:.48rem 1rem; text-decoration:none; font-size:.97rem; border-radius:.35rem; background:var(--ss-tint); border:1px solid var(--ss-line); border-bottom:2px solid var(--ss-accent); }
.ss-storefront .ss-card-link:hover { color:#fff; background:var(--ss-accent); }
.ss-card.ss-no-media .ss-card-body { border-top:4px solid var(--ss-accent); }
.ss-empty { max-width:60ch; color:var(--ss-muted); }
.ss-page-head { background:var(--ss-tint); border-bottom:1px solid var(--ss-line); padding-block:clamp(2.1rem,5vw,4.4rem); }
.ss-page-head :is(.ss-kicker + h1, h1 + p) { margin-block-start:.8rem; }
.ss-breadcrumbs { display:flex; flex-wrap:wrap; align-items:center; gap:.45rem; padding-block:1.15rem; font-size:.92rem; color:var(--ss-muted); overflow-wrap:anywhere; }
.ss-breadcrumbs a { color:var(--ss-muted); }
.ss-catalog-controls, .ss-pagination { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem; margin-block:1.25rem; }
.ss-pagination .page-numbers { padding:.4rem .7rem; border:1px solid var(--ss-line); border-radius:.3rem; color:var(--ss-accent); }
.ss-pagination .current { color:#fff; background:var(--ss-accent); }

/* The product photo never crowds its title and RFQ details. */
.ss-product-grid { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr); gap:clamp(1.5rem,5.5vw,4.5rem); align-items:start; padding-block:.85rem clamp(1.8rem,4vw,3rem); }
.ss-product-grid:has(.ss-product-summary:only-child), .ss-product-grid.ss-no-media { grid-template-columns:minmax(0,1fr); }
.ss-product-media { min-width:0; container:ss-product-photos / inline-size; }
.ss-product-media .ss-main-image { padding:clamp(.7rem,1.4vw,1.05rem); border:1px solid var(--ss-line); border-radius:var(--ss-radius); background:#fff; }
.ss-main-image img { width:100%; max-height:clamp(16rem,29vw,23.5rem); object-fit:contain; background:var(--ss-frame); }
.ss-product-media figcaption { color:var(--ss-muted); font-size:.91rem; margin:.6rem .15rem 0; line-height:1.4; }
.ss-gallery {
  --ss-thumb-columns:4;
  display:grid;
  grid-template-columns:repeat(var(--ss-thumb-columns),minmax(0,4.75rem));
  gap:clamp(.32rem,.65vw,.5rem);
  justify-content:start;
  align-items:start;
  margin-top:.62rem;
}
.ss-gallery > figure { position:relative; min-width:0; }
.ss-gallery img:not(.ss-inline-full) {
  width:100%; height:auto; aspect-ratio:4 / 3; object-fit:contain;
  background:var(--ss-frame); border:1px solid var(--ss-line); border-radius:.32rem;
}
/* Thumbnails are a photo picker. Keep their captions in the accessibility tree. */
.ss-gallery > figure:not(:has(.ss-zoom-fallback[open])) > figcaption {
  position:absolute; width:1px; height:1px; margin:0; padding:0; overflow:hidden;
  clip-path:inset(50%); white-space:nowrap; border:0;
}
@container ss-product-photos (min-width:25rem) {
  .ss-gallery { --ss-thumb-columns:5; }
}
@container ss-product-photos (min-width:29rem) {
  .ss-gallery { --ss-thumb-columns:6; }
}
@media (max-width:59rem) {
  .ss-gallery { --ss-thumb-columns:4; }
}
@container ss-product-photos (max-width:19.5rem) {
  .ss-gallery { --ss-thumb-columns:3; }
}

/* Product photographs keep their original gallery dimensions until opened. */
.ss-storefront .ss-zoom-trigger {
  position:relative; display:block; width:100%; margin:0; padding:0;
  appearance:none; background:transparent; border:0; color:inherit;
}
.ss-storefront .ss-zoom-ready .ss-zoom-trigger { cursor:zoom-in; }
.ss-zoom-ready .ss-zoom-trigger::after {
  content:""; position:absolute; pointer-events:none; inset:auto .48rem .48rem auto;
  width:1.85rem; height:1.85rem; border:1px solid #ffffffbf; border-radius:.48rem;
  background:
    radial-gradient(circle at 42% 42%,transparent 0 4px,#fff 4.6px 5.7px,transparent 6.2px),
    linear-gradient(45deg,transparent 35%,#fff 38% 62%,transparent 65%) 66% 66% / 7px 7px no-repeat,
    #193f37ed;
}
.ss-storefront .ss-zoom-trigger:is(:hover,:focus-visible)::after { background-color:var(--ss-accent); }
.ss-zoom-ready .ss-gallery .ss-zoom-trigger::after { opacity:0; inset:auto .2rem .2rem auto; transform:scale(.64); transform-origin:bottom right; }
.ss-zoom-ready .ss-gallery .ss-zoom-trigger:is(:hover,:focus-visible)::after { opacity:1; }
@media (hover:none) {
  .ss-zoom-ready .ss-gallery .ss-zoom-trigger::after { opacity:.85; }
}
.ss-product-media .ss-zoom-fallback { margin-block:.4rem; }
.ss-product-media .ss-zoom-fallback summary { width:fit-content; max-width:100%; padding:.4rem .15rem; color:var(--ss-accent); cursor:pointer; text-decoration:underline; text-underline-offset:.18em; }
.ss-storefront .ss-product-grid:has(.ss-zoom-fallback[open]) { grid-template-columns:minmax(0,1fr); }
.ss-gallery:has(.ss-zoom-fallback[open]) { grid-template-columns:repeat(var(--ss-thumb-columns),minmax(0,1fr)); }
.ss-gallery > figure:has(.ss-zoom-fallback[open]) { grid-column:1 / -1; width:100%; }
.ss-gallery:has(.ss-zoom-fallback[open]) > figure:not(:has(.ss-zoom-fallback[open])),
.ss-gallery > figure:has(.ss-zoom-fallback[open]) > .ss-zoom-trigger { width:min(100%,4.75rem); }
.ss-storefront .ss-product-media .ss-inline-full { display:block; width:auto; height:auto; max-width:100%; max-height:none; margin:.5rem auto 0; object-fit:contain; }
.ss-storefront dialog.ss-lightbox {
  box-sizing:border-box; position:fixed; inset:0; margin:auto; padding:0;
  width:min(82rem,calc(100% - 1.5rem)); max-width:100%;
  height:min(59rem,calc(100vh - 1.5rem)); height:min(59rem,calc(100dvh - 1.5rem));
  max-height:none; border:1px solid var(--ss-line); border-radius:var(--ss-radius);
  background:var(--ss-paper); color:var(--ss-ink); box-shadow:0 12px 50px #0c241e40;
  overflow:auto; overscroll-behavior:contain;
}
.ss-storefront dialog.ss-lightbox:not([open]) { display:none; }
.ss-storefront dialog.ss-lightbox::backdrop { background:#112b27c9; }
/* Native modal focus stays inside the dialog. Keep the page's scroll offset when it closes. */
html:has(.ss-storefront dialog.ss-lightbox[open]) { overflow:hidden; scrollbar-gutter:stable; }
.ss-lightbox .ss-lightbox-frame {
  display:grid; grid-template-rows:auto minmax(0,1fr) auto;
  width:100%; height:100%; min-width:0; min-height:0;
}
.ss-lightbox :is(.ss-lightbox-toolbar,.ss-lightbox-controls) {
  display:flex; flex-wrap:wrap; align-items:center; gap:.45rem .7rem; padding:.55rem clamp(.65rem,2vw,1.4rem);
  background:var(--ss-surface);
}
.ss-lightbox .ss-lightbox-toolbar { justify-content:space-between; border-bottom:1px solid var(--ss-line); }
.ss-lightbox .ss-lightbox-count { color:var(--ss-muted); line-height:1.3; font-size:.95rem; font-weight:650; font-variant-numeric:tabular-nums; }
.ss-lightbox .ss-lightbox-controls { justify-content:center; border-top:1px solid var(--ss-line); }
.ss-lightbox .ss-lightbox-photo { display:block; min-width:0; min-height:0; width:100%; height:100%; margin:0; background:var(--ss-frame); }
.ss-lightbox :is(img.ss-lightbox-photo,.ss-lightbox-photo img) {
  display:block; width:100%; height:100%; max-width:100%; max-height:none;
  object-fit:contain; object-position:center; mix-blend-mode:normal;
}
.ss-lightbox :is(.ss-lightbox-close,.ss-lightbox-prev,.ss-lightbox-next) {
  display:inline-flex; align-items:center; justify-content:center; gap:.45rem;
  min-height:44px; min-width:44px; margin:0; padding:.42rem .86rem;
  border:1px solid var(--ss-accent); border-radius:var(--ss-btn-radius,.42rem);
  background:var(--ss-surface); color:var(--ss-deep); font:650 .98rem/1.25 var(--ss-font); cursor:pointer;
}
.ss-lightbox .ss-lightbox-close { margin-inline-start:auto; }
.ss-lightbox :is(.ss-lightbox-close,.ss-lightbox-prev,.ss-lightbox-next):not(:disabled):hover { color:white; background:var(--ss-deep); }
.ss-lightbox button:disabled { color:var(--ss-muted); border-color:var(--ss-line); background:var(--ss-paper); cursor:default; }
.ss-storefront :is(dialog.ss-lightbox button,.ss-zoom-trigger):focus-visible { outline:3px solid var(--ss-accent); outline-offset:3px; }
@media (max-width:40rem), (max-height:32rem) {
  .ss-storefront dialog.ss-lightbox {
    width:100%; max-width:100%; height:100vh; height:100dvh;
    border:0; border-radius:0;
    padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);
  }
  .ss-lightbox :is(.ss-lightbox-toolbar,.ss-lightbox-controls) { padding-block:.37rem; }
}
@media (forced-colors:active) {
  .ss-zoom-ready .ss-zoom-trigger::after { content:"+"; display:grid; place-items:center; font:700 1.25rem/1 sans-serif; background:ButtonFace; color:ButtonText; border-color:ButtonText; }
  .ss-storefront dialog.ss-lightbox { border:2px solid CanvasText; }
  .ss-storefront :is(dialog.ss-lightbox button,.ss-zoom-trigger):focus-visible { outline-color:Highlight; }
}
.ss-product-summary { padding-top:clamp(.2rem,1.5vw,1.4rem); }
.ss-product-summary h1 { font-size:clamp(1.85rem,3.1vw,3.25rem); line-height:1.08; max-width:23ch; }
.ss-product-summary p:not(.ss-kicker) { color:var(--ss-muted); max-width:60ch; }
.ss-product-summary .product_meta { display:grid; gap:.25rem; margin-top:1.3rem; padding-top:.85rem; border-top:1px solid var(--ss-line); color:var(--ss-muted); font-size:.93rem; }
.ss-product-summary .product_meta a { font-weight:600; }
.ss-product-meta { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; color:var(--ss-muted); font-size:.92rem; }
.ss-product-copy { margin-block:1rem 2.5rem; padding-top:1.5rem; border-top:1px solid var(--ss-line); font-size:clamp(1.04rem,1.25vw,1.14rem); line-height:1.75; }
.ss-product-copy > * + * { margin-block-start:.8rem; }
.ss-product-copy :is(h2,h3,h4) { margin-block:1.45em .48em; }
.ss-product-copy > :first-child { margin-top:0; }
.ss-product-copy h2 { font-size:clamp(1.5rem,2.1vw,2rem); }
.ss-product-copy p, .ss-product-copy li { max-width:91ch; }
.ss-product-copy table { border-collapse:collapse; display:block; width:max-content; max-width:100%; overflow:auto; }
.ss-product-copy :is(td,th) { padding:.55rem .82rem; border:1px solid var(--ss-line); text-align:left; }
.ss-product-copy th { background:var(--ss-tint); }
.ss-product-copy blockquote { margin:.8rem 0; padding-inline-start:1rem; border-left:3px solid var(--ss-accent); }
.ss-storefront .ss-product-copy .wc-tabs { list-style:none; display:flex; flex-wrap:wrap; gap:.5rem; padding:0; margin:0 0 1rem; }
.ss-product-copy .wc-tabs li { margin:0; }
.ss-product-copy .wc-tabs a { display:inline-flex; padding:.38rem .85rem; background:white; border:1px solid var(--ss-line); border-radius:.38rem; color:var(--ss-muted); text-decoration:none; font-weight:600; }
.ss-product-copy .wc-tabs .active a, .ss-product-copy .wc-tabs a:hover { background:var(--ss-tint); color:var(--ss-deep); border-color:var(--ss-accent); }
.ss-product-copy .woocommerce-Tabs-panel > :first-child { margin-top:0; }
.ss-product-copy .woocommerce-Tabs-panel > * + * { margin-top:.65rem; }
.ss-section:has(.ss-product-grid) { padding-block:0 clamp(1rem,2.4vw,2rem); }
.ss-section:has(> .ss-product-copy) { padding-block:clamp(1.4rem,3vw,2.6rem); background:var(--ss-surface); }
.ss-section > .ss-product-copy { margin-block:0; padding:0; border:0; }

/* Both the public Pages form and the local WP form use the same labels and controls. */
.ss-storefront :is(.ss-rfq,.rfq-panel) { background:var(--ss-tint); border:1px solid var(--ss-line); border-radius:var(--ss-radius); padding:clamp(1.25rem,3vw,2.5rem); width:100%; margin:1.5rem 0; color:var(--ss-ink); }
.ss-storefront main > :is(.ss-rfq,.rfq-panel) { width:min(100% - var(--ss-gutter) * 2, 77rem); margin:1.5rem auto; }
.ss-storefront .ss-wrap.ss-rfq { width:min(100% - var(--ss-gutter) * 2, 77rem); margin-inline:auto; }
.ss-storefront :is(.ss-rfq,.rfq-panel) h2 { font-size:clamp(1.6rem,2.6vw,2.4rem); margin-bottom:1rem; }
.ss-storefront .ss-rfq-actions + h2 { margin-top:1.3rem; }
.ss-storefront .ss-rfq form, .ss-storefront #inquiry-form, .ss-storefront #inquiry-form fieldset[disabled] { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; max-width:56rem; scroll-margin-top:1rem; }
.ss-storefront #inquiry-form :is(p,fieldset[disabled]) { grid-column:1/-1; min-width:0; }
.ss-storefront form#inquiry-form > label, .ss-storefront #inquiry-form fieldset > label { display:grid; align-content:start; gap:.35rem; margin:0; min-width:0; color:var(--ss-ink); font-size:.97rem; font-weight:620; }
.ss-storefront #inquiry-form label:has(textarea), .ss-storefront #inquiry-form label:has(input[readonly]), .ss-storefront #inquiry-form label:has(input[name="product"]) { grid-column:1/-1; }
.ss-storefront #inquiry-form :is(input:not([type="hidden"]),textarea) { display:block; background:white; color:var(--ss-ink); width:100%; max-width:100%; padding:.67rem .8rem; margin:0; border:1px solid #7c8c84; border-radius:.38rem; font:400 1rem/1.45 var(--ss-font); }
.ss-storefront #inquiry-form input[readonly] { background:var(--ss-paper); }
.ss-storefront #inquiry-form textarea { resize:vertical; }
.ss-storefront #inquiry-form button[type="submit"] { justify-self:start; grid-column:1/-1; }
.ss-storefront .ss-rfq #inquiry-form + .ss-rfq-actions { margin-top:1.15rem; }
.ss-contact-grid { display:grid; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); gap:clamp(1rem,4vw,3.5rem); align-items:start; padding-block:clamp(2rem,4vw,4rem); }
.ss-contact-grid .ss-rfq { margin:0; }
.ss-contact-copy { padding-top:.5rem; min-width:0; }
.ss-contact-copy h1 { font-size:clamp(2.25rem,3.8vw,3.65rem); }
.ss-contact-copy a { overflow-wrap:anywhere; }
.ss-footer { background:var(--ss-tint); border-top:1px solid var(--ss-line); color:var(--ss-ink); }
.ss-footer-row { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:1rem 2rem; padding-block:clamp(1.7rem,3.5vw,3.3rem); }
.ss-footer nav { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem 1.5rem; }
.ss-footer a { font-weight:600; color:var(--ss-deep); }

/* Navigation, tactile quotation controls and a gallery designed around real photographs. */
.ss-storefront {
  --ss-btn-radius:.44rem;
  --ss-btn-border:color-mix(in srgb,var(--ss-accent),#000 16%);
  --ss-btn-shadow:0 3px 0 var(--ss-deep),0 6px 14px -7px var(--ss-deep);
  --ss-btn-face:linear-gradient(150deg,color-mix(in srgb,var(--ss-accent),#fff 7%),var(--ss-accent) 63%,var(--ss-btn-border));
  --ss-hair:color-mix(in srgb,var(--ss-line),transparent 15%);
}
.ss-storefront .ss-header { border-top:0; border-bottom:1px solid var(--ss-hair); }
.ss-storefront .ss-header-row { min-height:4.8rem; }
.ss-storefront .ss-header { position:relative; z-index:3; }
.ss-storefront .ss-header .ss-nav a:not(.ss-btn) { font-size:1.03rem; }
.ss-nav-products { position:relative; display:inline-flex; align-items:center; gap:.15rem; }
.ss-nav-products details { margin:0; }
.ss-nav-toggle { display:grid; place-content:center; width:2.5rem; height:2.5rem; cursor:pointer; border:1px solid transparent; border-radius:.4rem; list-style:none; }
.ss-nav-toggle::-webkit-details-marker, .ss-qr-contact > summary::-webkit-details-marker { display:none; }
.ss-nav-toggle > span[aria-hidden="true"] { display:none; }
.ss-nav-toggle::after { content:""; display:block; width:.49rem; height:.49rem; border:solid var(--ss-deep); border-width:0 2px 2px 0; transform:translateY(-2px) rotate(45deg); }
.ss-nav-products details[open] .ss-nav-toggle::after { transform:translateY(2px) rotate(225deg); }
.ss-nav-products details[open] .ss-nav-toggle, .ss-nav-toggle:hover { background:var(--ss-tint); border-color:var(--ss-line); }
.ss-storefront .ss-nav .ss-nav-flyout {
  position:absolute; z-index:5; inset:100% auto auto 0; display:grid; gap:.1rem;
  width:max-content; min-width:min(13.5rem,100vw - 2rem); max-width:min(23rem,100vw - 2rem);
  max-height:min(64vh,27rem); overflow:auto; padding:.45rem; margin:0; list-style:none;
  background:var(--ss-surface); border:1px solid var(--ss-line); border-top:3px solid var(--ss-accent);
  border-radius:.4rem; box-shadow:0 13px 26px #18372d26;
}
.ss-storefront .ss-nav details:not([open]) > .ss-nav-flyout { display:none; }
.ss-storefront .ss-nav .ss-nav-flyout a:not(.ss-btn) { display:block; padding:.45rem .7rem; font-size:.96rem; line-height:1.35; overflow-wrap:anywhere; }
.ss-storefront .ss-nav .ss-nav-flyout a:is(:hover,:focus-visible) { background:var(--ss-tint); }
.ss-storefront summary:focus-visible { outline:3px solid var(--ss-accent); outline-offset:3px; }
.ss-storefront .ss-brand { font-weight:740; }
.ss-storefront :is(.ss-btn,.ss-rfq-actions a,:where(.ss-rfq,#inquiry-form) button[type="submit"]) {
  padding:.71rem 1.12rem; gap:.75rem; border:1px solid var(--ss-btn-border); border-radius:var(--ss-btn-radius);
  background:var(--ss-btn-face); box-shadow:inset 0 1px 0 #ffffff2c,var(--ss-btn-shadow);
}
.ss-storefront :is(.ss-btn,.ss-rfq-actions a,:where(#inquiry-form) button[type="submit"])::after {
  content:""; width:.49em; height:.49em; flex:none; border-block-start:2px solid; border-inline-end:2px solid;
  transform:rotate(45deg); pointer-events:none;
}
.ss-storefront :is(.ss-btn-secondary,.ss-rfq-actions a + a):not(:hover) {
  color:var(--ss-deep); background:linear-gradient(180deg,white,var(--ss-paper));
  border-color:var(--ss-line); box-shadow:inset 0 1px white,0 2px 0 var(--ss-line);
}
.ss-storefront :is(.ss-btn,.ss-rfq-actions a,:where(#inquiry-form) button[type="submit"]):hover {
  color:#fff; background:var(--ss-deep); border-color:var(--ss-deep); box-shadow:inset 0 1px 0 #ffffff28,0 2px 0 var(--ss-deep);
}
.ss-storefront :is(.ss-btn,.ss-rfq-actions a,:where(#inquiry-form) button[type="submit"]):active { box-shadow:inset 0 2px 3px #0002; }
.ss-storefront .ss-card { box-shadow:0 2px 3px #1d352b08,0 15px 28px -24px var(--ss-deep); }
.ss-storefront .ss-card-media { background:linear-gradient(150deg,var(--ss-frame),#edece6); }
.ss-storefront .ss-card-media img { mix-blend-mode:multiply; }
.ss-storefront .ss-card-body > .ss-actions { gap:.6rem 1rem; align-items:center; }
.ss-storefront .ss-card-body .ss-actions .ss-card-link { margin:0; padding:0; border:0; background:none; box-shadow:none; font-size:.95rem; color:var(--ss-deep); text-decoration:underline; }
.ss-storefront .ss-section-head > a.ss-card-link { background:transparent; border:0; padding:.35rem 0; text-decoration:underline; text-decoration-thickness:1px; }
.ss-storefront .ss-category-links { display:flex; align-items:center; flex-wrap:wrap; gap:.65rem; }
.ss-storefront .ss-category-links a { display:inline-flex; align-items:center; min-height:2.6rem; padding:.45rem .9rem; font:600 .96rem/1.3 var(--ss-font); border:1px solid var(--ss-line); background:var(--ss-surface); color:var(--ss-deep); border-radius:6rem; text-decoration:none; }
.ss-storefront .ss-category-links a:hover { border-color:var(--ss-accent); background:var(--ss-tint); }
.ss-sample-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:clamp(.85rem,2vw,1.5rem); }
.ss-sample-grid figure { min-width:0; }
.ss-sample-grid figure > a { display:block; overflow:hidden; background:var(--ss-frame); border:1px solid var(--ss-line); border-radius:var(--ss-radius); }
.ss-sample-grid img { width:100%; aspect-ratio:1.45; object-fit:contain; }
.ss-sample-grid figcaption { margin-top:.5rem; font-size:.97rem; font-weight:600; }
.ss-sample-grid figcaption a { color:var(--ss-ink); }
.ss-brief-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,14rem),1fr)); padding:0; list-style:none; gap:1px; overflow:hidden; border:1px solid var(--ss-line); border-radius:var(--ss-radius); background:var(--ss-line); }
.ss-brief-list li { padding:clamp(1rem,2.1vw,1.75rem); background:var(--ss-surface); min-width:0; }
.ss-brief-list :is(strong,h3) { display:block; margin-bottom:.5rem; line-height:1.26; }
.ss-storefront .ss-footer { box-shadow:inset 0 3px 0 var(--ss-line); }
.ss-storefront .ss-contact-band {
  padding-block:clamp(1.4rem,3vw,2.8rem);
  border-block:1px solid var(--ss-line);
  background:linear-gradient(115deg,var(--ss-tint),var(--ss-paper));
}
.ss-contact-band > .ss-wrap, .ss-wrap > .ss-contact-band, .ss-wrap.ss-contact-band {
  display:flex; align-items:center; justify-content:space-between;
  flex-wrap:wrap; gap:1rem 2rem;
}
.ss-wrap > .ss-contact-band, .ss-wrap.ss-contact-band { padding-inline:clamp(1rem,2.8vw,2.5rem); border-inline:1px solid var(--ss-line); border-radius:var(--ss-radius); }
.ss-contact-band h2, .ss-contact-band h3 { font-size:clamp(1.35rem,2.4vw,2.1rem); line-height:1.16; }
.ss-contact-band p { max-width:55ch; margin-top:.35rem; color:var(--ss-muted); }
.ss-contact-band a:not(.ss-btn) { overflow-wrap:anywhere; }
.ss-contact-band .ss-actions { gap:.55rem .7rem; }
.ss-contact-band .ss-contact-band-row { margin-block:0; }
.ss-contact-band .ss-btn { overflow-wrap:anywhere; }
.ss-storefront :is(.ss-contact-band,.ss-footer-contact) a.ss-btn[href^="https://wa.me/"] {
  color:#fff; border:1px solid #0a653d; background:linear-gradient(135deg,#148353,#08693e);
  box-shadow:inset 0 1px #ffffff36,0 2px 0 #054c31;
}
.ss-storefront :is(.ss-contact-band,.ss-footer-contact) a.ss-btn[href^="https://wa.me/"]:hover { background:#075b39; }
.ss-storefront :is(.ss-contact-band,.ss-footer-contact) a.ss-btn[href^="mailto:"] {
  color:var(--ss-deep); background:var(--ss-surface); border:1px solid var(--ss-accent); box-shadow:0 2px 0 var(--ss-line);
}
.ss-footer-contact { display:flex; align-items:flex-start; flex-wrap:wrap; gap:.65rem .8rem; }
.ss-storefront .ss-floating-whatsapp {
  position:fixed; z-index:4; inset:auto max(1rem,env(safe-area-inset-right)) max(1rem,env(safe-area-inset-bottom)) auto;
  display:inline-flex; align-items:center; gap:.62rem; min-height:3.1rem; max-width:calc(100% - 2rem);
  padding:.65rem 1.05rem; border-radius:4rem; color:#fff; border:1px solid #075b39;
  background:linear-gradient(140deg,#168353,#08603d); box-shadow:inset 0 1px #ffffff42,0 3px 0 #064c31,0 5px 18px #1133233d;
  font:700 1.01rem/1.2 var(--ss-font); text-decoration:none;
}
.ss-floating-whatsapp:not(:has(svg,img))::before {
  content:""; width:1.25rem; height:1.12rem; border:2px solid currentColor; border-radius:55% 55% 55% 12%;
  background:radial-gradient(circle at 34% 53%,currentColor 1px,transparent 1.5px),radial-gradient(circle at 66% 53%,currentColor 1px,transparent 1.5px);
}
.ss-floating-whatsapp :is(svg,img) { width:1.4rem; height:1.4rem; flex:none; }
.ss-storefront .ss-floating-whatsapp:hover { background:#064e31; }
.ss-storefront:has(.ss-floating-whatsapp) .ss-footer { padding-bottom:calc(4rem + env(safe-area-inset-bottom)); }
.ss-storefront:has(.ss-qr-contact[open],#inquiry-form:focus-within) .ss-floating-whatsapp { visibility:hidden; pointer-events:none; }
.ss-qr-contact { min-width:0; }
.ss-qr-contact > summary { display:inline-flex; align-items:center; gap:.65rem; padding:.64rem .95rem; min-height:2.85rem; border:1px solid var(--ss-accent); border-radius:var(--ss-btn-radius); box-shadow:0 2px 0 var(--ss-line); background:white; color:var(--ss-deep); cursor:pointer; font-weight:650; list-style:none; }
.ss-qr-contact > summary::after { content:""; width:.48rem; height:.48rem; border:solid currentColor; border-width:0 2px 2px 0; transform:rotate(45deg); }
.ss-qr-contact[open] > summary::after { transform:rotate(225deg); }
.ss-qr-card { width:min(14rem,100%); margin-top:.65rem; padding:.75rem; border:1px solid var(--ss-line); border-radius:.55rem; background:var(--ss-surface); }
.ss-qr-card img { width:min(100%,12.5rem); aspect-ratio:1; object-fit:contain; background:white; }
.ss-qr-card p { margin:.5rem 0 0; font-size:.95rem; color:var(--ss-ink); overflow-wrap:anywhere; }

/* 1 · Precision. Dark instrument face, luminous controls and a pale photographic plate. */
.ss-storefront[data-layout="split"] { --ss-ink:#162f2c; --ss-accent:#006c57; --ss-radius:.7rem; }
.ss-storefront[data-layout="split"] .ss-hero {
  background:radial-gradient(ellipse at 79% 47%,#254945 0,transparent 61%),linear-gradient(113deg,#092b28,#123a34 63%,#183631);
  border-bottom:5px solid #41c1a1;
}
.ss-storefront[data-layout="split"] .ss-hero::before {
  inset:0; opacity:.5;
  background-image:linear-gradient(90deg,#9bd9c012 1px,transparent 1px),linear-gradient(#9bd9c016 1px,transparent 1px);
  background-size:3.5rem 3.5rem;
}
.ss-storefront[data-layout="split"] .ss-hero::after {
  content:""; position:absolute; z-index:-1; inset:0 0 0 36%; pointer-events:none;
  background:repeating-radial-gradient(ellipse at 75% 60%,transparent 0,transparent 5.74rem,#8fd1aa22 5.8rem,transparent 5.87rem);
}
.ss-storefront[data-layout="split"] .ss-hero-grid { grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr); padding-block:clamp(2.2rem,4.4vw,4.4rem); }
.ss-storefront[data-layout="split"] .ss-hero-copy h1 { max-width:13.5ch; color:#f5fff8; font-size:clamp(2.6rem,5.5vw,5.8rem); font-weight:620; letter-spacing:-.065em; line-height:.99; }
.ss-storefront[data-layout="split"] .ss-hero-copy .ss-kicker { color:#98e8c5; }
.ss-storefront[data-layout="split"] .ss-hero-copy .ss-kicker::before { background:#9ae7b6; }
.ss-storefront[data-layout="split"] .ss-hero-copy .ss-lead { color:#d0e4d9; max-width:45ch; }
.ss-storefront[data-layout="split"] .ss-hero-copy .ss-btn:not(.ss-btn-secondary) { background:linear-gradient(145deg,#c2f8b8,#99e9ae); color:#113b2f; border-color:#b2f1b8; box-shadow:inset 0 1px #e8ffe3,0 3px 0 #65a88a,0 5px 15px -6px #000; }
.ss-storefront[data-layout="split"] .ss-hero-copy .ss-btn-secondary { background:#173f37; color:#fff; border-color:#88b0a0; box-shadow:0 2px 0 #092521; }
.ss-storefront[data-layout="split"] .ss-hero-copy .ss-btn:hover { color:#123a2c; background:#edffe5; }
.ss-storefront[data-layout="split"] .ss-hero-media { padding:.65rem .65rem 0; border:1px solid #9eb9af; background:#dce6de; border-radius:1rem; box-shadow:0 22px 50px -26px #041b16; }
.ss-storefront[data-layout="split"] .ss-hero-media img { background:#f1f0e7; border-radius:.55rem; height:clamp(15.4rem,24vw,23rem); }
.ss-storefront[data-layout="split"] .ss-hero-media figcaption { margin:0 -.65rem; padding:.64rem 1.1rem .67rem; border-top:1px solid #c4d1c7; font-size:.93rem; }
.ss-storefront[data-layout="split"] .ss-header .ss-brand .ss-mark { background:radial-gradient(ellipse at 45% 38%,#8ed9ba 10%,transparent 11%); }
.ss-storefront[data-layout="split"] .ss-card-body { border-inline-start:3px solid var(--ss-tint); }
.ss-storefront[data-layout="split"] .ss-main-image { box-shadow:0 12px 30px -24px var(--ss-deep); }

/* 2 · Blueprint. An asymmetric technical sheet with a ruled, blue photographic plate. */
.ss-storefront[data-layout="blueprint"] { --ss-btn-radius:.15rem; --ss-frame:#eef3f5; --ss-paper:#f6f9fb; }
.ss-storefront[data-layout="blueprint"] .ss-header { border-top:4px solid #2c678b; }
.ss-storefront[data-layout="blueprint"] .ss-hero { background:#eaf1f4; border-block:1px solid #94aec1; }
.ss-storefront[data-layout="blueprint"] .ss-hero::before { inset:0; opacity:.45; background-image:linear-gradient(90deg,#aabfcb 1px,transparent 1px),linear-gradient(#aabfcb 1px,transparent 1px); background-size:2rem 2rem; }
.ss-storefront[data-layout="blueprint"] .ss-hero-grid { grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(1.5rem,4vw,4rem); }
.ss-storefront[data-layout="blueprint"] .ss-hero-media { order:-1; padding:1.05rem; background:#205277; border:1px solid #224662; box-shadow:7px 7px 0 #b2c4d2; border-radius:0; }
.ss-storefront[data-layout="blueprint"] .ss-hero-media figcaption a { color:#f3f9fe; }
.ss-storefront[data-layout="blueprint"] .ss-hero-copy { border-left:4px solid var(--ss-accent); padding-left:clamp(.8rem,2.5vw,1.8rem); }
.ss-storefront[data-layout="blueprint"] .ss-hero-copy h1 { font-size:clamp(2.35rem,4.4vw,4.2rem); max-width:17ch; line-height:1.07; }
.ss-storefront[data-layout="blueprint"] :is(.ss-kicker,.ss-brief-list strong) { font-family:"IBM Plex Mono",Consolas,monospace; }
.ss-storefront[data-layout="blueprint"] .ss-card { border-top:3px solid var(--ss-deep); }
.ss-storefront[data-layout="blueprint"] .ss-brief-list { box-shadow:4px 4px 0 var(--ss-line); }

/* 3 · Emerald. A compact catalog masthead and wide, horizontal product cards. */
.ss-storefront[data-layout="catalog"] { --ss-btn-radius:8rem; --ss-frame:#eff3e8; }
.ss-storefront[data-layout="catalog"] .ss-page-head { background:linear-gradient(108deg,#d6e8cb,#f4f8ec); border-bottom:3px solid #396e48; }
.ss-storefront[data-layout="catalog"] .ss-page-head h1 { font-size:clamp(2.25rem,4.2vw,4.4rem); max-width:18ch; }
.ss-storefront[data-layout="catalog"] .ss-header .ss-nav { background:#eef4e9; padding:.18rem .9rem; border-radius:5rem; }
.ss-storefront[data-layout="catalog"] .ss-card { border:1px solid #c7d6c4; border-top:3px solid var(--ss-accent); }
.ss-storefront[data-layout="catalog"] .ss-category-index { padding-block:1.55rem; }
.ss-storefront[data-layout="catalog"] .ss-hero-media img { height:clamp(12rem,17vw,16.5rem); }
@media(min-width:60rem) {
  .ss-storefront[data-layout="catalog"] .ss-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ss-storefront[data-layout="catalog"] .ss-card:not(.ss-no-media) { display:grid; grid-template-columns:minmax(6rem,.7fr) minmax(0,1fr); }
  .ss-storefront[data-layout="catalog"] .ss-card-media { height:100%; min-height:10rem; aspect-ratio:auto; border-bottom:0; border-right:1px solid var(--ss-line); }
}

/* 4 · Index. Indigo title strip followed by a ruled list of illustrated products. */
.ss-storefront[data-layout="index"] { --ss-btn-radius:.2rem; --ss-paper:#fcfbff; }
.ss-storefront[data-layout="index"] .ss-page-head { background:#3e385d; color:#fff; border-bottom:.42rem solid #b3a6da; }
.ss-storefront[data-layout="index"] .ss-page-head :is(h1,.ss-kicker,.ss-lead,.ss-breadcrumbs,.ss-breadcrumbs a) { color:#fcf8ff; }
.ss-storefront[data-layout="index"] .ss-page-head a:focus-visible { outline-color:#f6e8a6; }
.ss-storefront[data-layout="index"] .ss-category-index { padding-block:1.15rem; background:#eeebf4; }
.ss-storefront[data-layout="index"] .ss-category-links a { border:0; border-bottom:2px solid #786b9a; border-radius:0; }
.ss-storefront[data-layout="index"] .ss-home-range .ss-card-grid { display:grid; grid-template-columns:1fr; gap:0; border-block:1px solid #a59bb7; }
.ss-storefront[data-layout="index"] .ss-home-range .ss-card { display:grid; grid-template-columns:clamp(5.5rem,12vw,9.5rem) 1fr; border:0; border-bottom:1px solid var(--ss-line); box-shadow:none; border-radius:0; padding-block:.68rem; background:transparent; }
.ss-storefront[data-layout="index"] .ss-home-range .ss-card.ss-no-media { grid-template-columns:1fr; }
.ss-storefront[data-layout="index"] .ss-home-range .ss-card-media { height:6.3rem; aspect-ratio:auto; border:1px solid var(--ss-line); padding:.25rem; }
.ss-storefront[data-layout="index"] .ss-home-range .ss-card-body { align-self:center; padding:.3rem 1rem; }
@media(min-width:50rem) {
  .ss-storefront[data-layout="index"] .ss-home-range .ss-card-body { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; }
  .ss-storefront[data-layout="index"] .ss-home-range .ss-card-body .ss-kicker { grid-column:1/-1; }
  .ss-storefront[data-layout="index"] .ss-home-range .ss-card-body :is(.ss-actions,.ss-card-link) { margin:0; }
}

/* 5 · Editorial. A large photograph on the left and a warm, book-like serif face. */
.ss-storefront[data-layout="editorial"] { --ss-btn-radius:.16rem; --ss-btn-shadow:0 2px 0 var(--ss-deep); }
.ss-storefront[data-layout="editorial"] .ss-hero { background:#f6eedf; border-block:1px solid #c5ad92; }
.ss-storefront[data-layout="editorial"] .ss-hero::before { content:none; }
.ss-storefront[data-layout="editorial"] .ss-hero-grid { grid-template-columns:minmax(0,1.2fr) minmax(0,.95fr); }
.ss-storefront[data-layout="editorial"] .ss-hero-media { order:-1; padding:clamp(.7rem,1.6vw,1.45rem); border-radius:0; border-color:#c8b397; outline:1px solid #cebea9; outline-offset:-.42rem; box-shadow:0 25px 30px -26px #5a492a; }
.ss-storefront[data-layout="editorial"] .ss-hero-media img { border-radius:0; }
.ss-storefront[data-layout="editorial"] .ss-hero-copy h1 { font-size:clamp(2.5rem,5vw,4.85rem); line-height:1.07; letter-spacing:-.05em; font-weight:500; }
.ss-storefront[data-layout="editorial"] .ss-card { border-radius:0; }
.ss-storefront[data-layout="editorial"] .ss-card-body h3 { font-size:clamp(1.35rem,2vw,1.85rem); }
.ss-storefront[data-layout="editorial"] .ss-nav a:not(.ss-btn) { font-family:var(--ss-display); font-size:1.15rem; }

/* 6 · Folio. A horizontal editorial masthead and an asymmetric photo spread. */
.ss-storefront[data-layout="folio"] { --ss-btn-radius:1.8rem; --ss-frame:#edf3f3; }
.ss-storefront[data-layout="folio"] .ss-hero { background:#deedec; border-bottom:0; }
.ss-storefront[data-layout="folio"] .ss-hero::before { display:none; }
.ss-storefront[data-layout="folio"] .ss-hero-grid { display:block; padding-block:clamp(2rem,4vw,3.65rem); }
.ss-storefront[data-layout="folio"] .ss-hero-copy { max-width:70rem; }
.ss-storefront[data-layout="folio"] .ss-hero-copy h1 { font-family:"Instrument Serif",Georgia,serif; font-size:clamp(2.8rem,4.8vw,4.8rem); font-weight:500; letter-spacing:-.045em; max-width:22ch; }
.ss-storefront[data-layout="folio"] .ss-hero-media { margin-top:1.75rem; padding:.55rem .55rem 0; border-radius:.85rem .15rem .85rem .15rem; }
.ss-storefront[data-layout="folio"] .ss-hero-media img { height:clamp(12rem,17vw,18rem); }
.ss-storefront[data-layout="folio"] .ss-hero-media figcaption { padding:.55rem; }
.ss-storefront[data-layout="folio"] .ss-sample-grid { grid-template-columns:1.45fr 1fr 1fr; align-items:start; }
.ss-storefront[data-layout="folio"] .ss-sample-grid figure:nth-child(3n + 2) { padding-top:2rem; }
.ss-storefront[data-layout="folio"] .ss-sample-grid figure:nth-child(3n) { padding-top:3.6rem; }
@media(min-width:57rem) {
  .ss-storefront[data-layout="folio"] .ss-hero-copy { display:grid; grid-template-columns:1.25fr 1fr; column-gap:4rem; align-items:start; }
  .ss-storefront[data-layout="folio"] .ss-hero-copy .ss-kicker { grid-column:1/-1; }
  .ss-storefront[data-layout="folio"] .ss-hero-copy h1 { grid-column:1; grid-row:2/4; }
  .ss-storefront[data-layout="folio"] .ss-hero-copy :is(.ss-lead,.ss-actions) { grid-column:2; }
}

/* 7 · Azure. A dispatch-style contact panel with the quotation flow before the catalog. */
.ss-storefront[data-layout="inquiry"] { --ss-btn-radius:.6rem; }
.ss-storefront[data-layout="inquiry"] .ss-hero { background:linear-gradient(95deg,#f4f8fc 0%,#e4eef4 53%,#b6d9eb 100%); border-bottom:4px solid #3a80a1; }
.ss-storefront[data-layout="inquiry"] .ss-hero-grid { grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); gap:clamp(1rem,3.4vw,3rem); }
.ss-storefront[data-layout="inquiry"] .ss-hero-copy { background:var(--ss-surface); border:1px solid #c5d8e1; border-left:5px solid var(--ss-accent); border-radius:.35rem; padding:clamp(1.25rem,3.6vw,3.5rem); box-shadow:0 15px 28px -24px #294e60; }
.ss-storefront[data-layout="inquiry"] .ss-hero-copy h1 { font-size:clamp(2.4rem,4vw,4rem); }
.ss-storefront[data-layout="inquiry"] .ss-hero-media { box-shadow:none; background:transparent; border:0; padding:0; }
.ss-storefront[data-layout="inquiry"] .ss-hero-media img { height:clamp(13rem,21vw,20rem); border-radius:1.35rem; }
.ss-storefront[data-layout="inquiry"] .ss-rfq { border-top:5px solid var(--ss-accent); }

/* 8 · Brief. An olive procurement sheet with a focused checklist and compact portrait. */
.ss-storefront[data-layout="brief"] { --ss-btn-radius:.15rem; --ss-frame:#efefe3; }
.ss-storefront[data-layout="brief"] .ss-header { border-top:5px solid #798446; }
.ss-storefront[data-layout="brief"] .ss-hero { background:#f1f2e1; border-bottom:1px solid #abb18a; }
.ss-storefront[data-layout="brief"] .ss-hero-grid { grid-template-columns:minmax(0,1.45fr) minmax(0,.65fr); padding-block:clamp(2rem,3.4vw,3rem); }
.ss-storefront[data-layout="brief"] .ss-hero-media { padding:.45rem; background:#fff; border:1px solid #a8ad8a; border-radius:.25rem; box-shadow:4px 4px 0 #c4ccab; }
.ss-storefront[data-layout="brief"] .ss-hero-media img { height:clamp(11.5rem,16vw,15.5rem); }
.ss-storefront[data-layout="brief"] .ss-hero-copy h1 { font-size:clamp(2.45rem,4.3vw,4.45rem); }
.ss-storefront[data-layout="brief"] .ss-kicker { font-family:"IBM Plex Mono",Consolas,monospace; }
.ss-storefront[data-layout="brief"] .ss-brief-list { display:block; border:0; border-top:1px solid var(--ss-line); background:transparent; }
.ss-storefront[data-layout="brief"] .ss-brief-list li { position:relative; padding:.85rem .85rem .85rem 2rem; border-bottom:1px solid var(--ss-line); background:transparent; }
.ss-storefront[data-layout="brief"] .ss-brief-list li::before { content:""; position:absolute; top:1.15rem; left:.25rem; width:.7rem; height:.7rem; border:2px solid #788842; }

/* 9 · Showcase. A gallery wall on plum with light-box photographs and a centered title. */
.ss-storefront[data-layout="showcase"] { --ss-btn-radius:4rem; --ss-frame:#f3eff4; }
.ss-storefront[data-layout="showcase"] .ss-hero { background:radial-gradient(ellipse at 45% 90%,#614460,#3e3046 68%); border-bottom:0; }
.ss-storefront[data-layout="showcase"] .ss-hero::before { display:none; }
.ss-storefront[data-layout="showcase"] .ss-hero-grid { display:flex; flex-direction:column; align-items:center; gap:1.6rem; padding-block:clamp(2.2rem,4vw,3.6rem); }
.ss-storefront[data-layout="showcase"] .ss-hero-copy { text-align:center; }
.ss-storefront[data-layout="showcase"] .ss-hero-copy :is(h1,.ss-lead,.ss-actions,.ss-kicker) { margin-inline:auto; }
.ss-storefront[data-layout="showcase"] .ss-hero-copy h1 { color:#fff7ff; max-width:24ch; font-weight:570; font-size:clamp(2.7rem,4.9vw,5rem); }
.ss-storefront[data-layout="showcase"] .ss-hero-copy :is(.ss-actions,.ss-kicker) { justify-content:center; }
.ss-storefront[data-layout="showcase"] .ss-hero-copy :is(.ss-kicker,.ss-lead) { color:#f2dff5; }
.ss-storefront[data-layout="showcase"] .ss-hero-copy .ss-kicker::before { background:#c9abc9; }
.ss-storefront[data-layout="showcase"] .ss-hero-copy .ss-btn:not(.ss-btn-secondary) { background:linear-gradient(150deg,#f1ddf2,#cfb6e8); color:#392c46; border-color:#d8c6e2; box-shadow:0 3px 0 #9a7aab; }
.ss-storefront[data-layout="showcase"] .ss-hero-media { width:min(38rem,100%); padding:.45rem; border-radius:.9rem; background:#f7f0f6; border:1px solid #ccbac9; }
.ss-storefront[data-layout="showcase"] .ss-hero-media img { height:clamp(12rem,18vw,17.5rem); }
.ss-storefront[data-layout="showcase"] .ss-sample-gallery { background:#eee7ed; }
.ss-storefront[data-layout="showcase"] .ss-sample-grid figure { padding:.65rem; background:#fff; border:1px solid var(--ss-line); box-shadow:0 18px 32px -24px #4c3553; }

/* 10 · Panorama. An overlapping white title plate and a wide photograph. */
.ss-storefront[data-layout="panorama"] { --ss-btn-radius:4rem; --ss-frame:#ecf3ee; }
.ss-storefront[data-layout="panorama"] .ss-hero { background:linear-gradient(112deg,#c6e8dd,#d8ebe3 49%,#97c8b8); }
.ss-storefront[data-layout="panorama"] .ss-hero-grid { display:grid; grid-template-columns:1.1fr .22fr 1.5fr; gap:0; padding-block:clamp(1.9rem,3.5vw,3.5rem); }
.ss-storefront[data-layout="panorama"] .ss-hero-copy { grid-column:1/3; grid-row:1; z-index:1; padding:clamp(1.1rem,2.8vw,2.75rem); border-left:4px solid var(--ss-accent); background:#faffeef5; border-radius:.2rem; box-shadow:0 15px 26px -22px #426358; }
.ss-storefront[data-layout="panorama"] .ss-hero-copy h1 { font-size:clamp(2.4rem,4.3vw,4.5rem); }
.ss-storefront[data-layout="panorama"] .ss-hero-media { grid-column:2/4; grid-row:1; padding:.6rem .6rem .4rem; border:1px solid #9fbfb2; border-radius:1rem; }
.ss-storefront[data-layout="panorama"] .ss-hero-media img { height:clamp(16rem,29vw,29rem); }
.ss-storefront[data-layout="panorama"] .ss-hero-media figcaption { justify-content:flex-end; padding-inline:.65rem; }
.ss-storefront[data-layout="panorama"] .ss-card-media { aspect-ratio:1.48; }
.ss-storefront:is([data-layout="split"],[data-layout="showcase"]) .ss-hero :is(a,button):focus-visible { outline-color:#f5e997; }

.ss-storefront[data-layout] .ss-hero-grid.ss-no-media,
.ss-storefront[data-layout] .ss-hero.ss-no-media .ss-hero-grid {
  display:block;
}
.ss-storefront[data-layout] .ss-hero.ss-no-media .ss-hero-copy,
.ss-storefront[data-layout] .ss-hero-grid.ss-no-media .ss-hero-copy { max-width:65rem; }

@media (max-width:59rem) {
  .ss-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ss-hero-grid, .ss-product-grid { gap:1.55rem; }
}
@media (max-width:45rem) {
  .ss-storefront { --ss-gutter:clamp(1rem,4.5vw,2rem); }
  .ss-header-row { flex-wrap:wrap; min-height:4.1rem; gap:.55rem .95rem; padding-block:.7rem; }
  .ss-nav { gap:.35rem .9rem; }
  .ss-header-row { position:relative; }
  .ss-nav-products, .ss-nav-products details { position:static; }
  .ss-storefront .ss-nav .ss-nav-flyout { inset:100% auto auto 0; max-width:100%; }
  .ss-storefront .ss-floating-whatsapp { min-height:2.7rem; padding:.5rem .8rem; font-size:.91rem; }
  .ss-storefront .ss-nav a:not(.ss-btn) { font-size:.94rem; }
  .ss-header-row .ss-btn { min-height:2.55rem; font-size:.94rem; padding:.48rem .78rem; }
  .ss-storefront .ss-hero-grid, .ss-storefront[data-layout] .ss-hero-grid, .ss-product-grid, .ss-contact-grid { grid-template-columns:1fr; gap:1.4rem; }
  .ss-hero-grid { padding-block:2.1rem 1.55rem; }
  .ss-hero-copy h1 { max-width:22ch; font-size:clamp(2.25rem,8.5vw,3.28rem); }
  .ss-storefront[data-layout="editorial"] .ss-hero-media { order:initial; }
  .ss-storefront[data-layout="blueprint"] .ss-hero-media { order:initial; }
  .ss-storefront[data-layout="panorama"] .ss-hero-copy,
  .ss-storefront[data-layout="panorama"] .ss-hero-media { grid-area:auto; }
  .ss-storefront[data-layout="panorama"] .ss-hero-copy { margin:0 .5rem; }
  .ss-storefront[data-layout="panorama"] .ss-hero-media { width:100%; }
  .ss-storefront[data-layout="split"] .ss-hero-copy h1 { max-width:18ch; font-size:clamp(2.3rem,8.6vw,3.25rem); }
  .ss-storefront[data-layout="folio"] .ss-hero-copy h1 { font-size:clamp(2.4rem,8.6vw,3.35rem); }
  .ss-sample-grid, .ss-storefront[data-layout="folio"] .ss-sample-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ss-storefront[data-layout="folio"] .ss-sample-grid figure:nth-child(n) { padding-top:0; }
  .ss-storefront .ss-brief-list { gap:1px; }
  .ss-storefront .ss-hero-media img { height:clamp(11rem,50vw,17rem); }
  .ss-hero::before { inset:40% 0 0 0; }
  .ss-product-summary { padding:0; }
  .ss-product-grid .ss-product-summary { grid-row:1; }
  .ss-main-image img { max-height:19rem; }
  .ss-section { padding-block:2.15rem; }
  .ss-product-copy { margin-top:0; padding-top:1.1rem; }
}
@media (max-width:35rem) {
  .ss-header-row .ss-brand { flex:1; }
  .ss-header-row > .ss-nav:not(:last-child) { order:1; flex-basis:100%; margin:0; }
  .ss-card-grid { grid-template-columns:1fr; }
  .ss-sample-grid, .ss-storefront[data-layout="folio"] .ss-sample-grid { grid-template-columns:1fr; }
  .ss-storefront[data-layout="catalog"] .ss-header .ss-nav { padding-block:.1rem; }
  .ss-storefront[data-layout="index"] .ss-home-range .ss-card-body { padding-inline:.7rem; }
  .ss-card-media { aspect-ratio:1.9; max-height:15rem; }
  .ss-storefront #inquiry-form, .ss-storefront .ss-rfq form, .ss-storefront #inquiry-form fieldset[disabled] { grid-template-columns:1fr; }
  .ss-actions > :is(.ss-btn,.ss-btn-secondary), .ss-storefront .ss-rfq-actions a { flex:1 1 auto; }
  .ss-footer-row { align-items:flex-start; flex-direction:column; }
  .ss-contact-band > .ss-wrap, .ss-wrap > .ss-contact-band, .ss-wrap.ss-contact-band { align-items:flex-start; flex-direction:column; }
  .ss-contact-band .ss-actions { width:100%; }
}
@media (forced-colors:active) {
  .ss-storefront :is(.ss-btn,.ss-rfq-actions a,:where(#inquiry-form) button[type="submit"]) {
    color:ButtonText; background:ButtonFace; border:2px solid ButtonText; box-shadow:none;
  }
  .ss-storefront :is(.ss-btn-secondary,.ss-rfq-actions a + a):not(:hover) { border-style:dashed; }
  .ss-storefront :is(a,button,input,textarea,select):focus-visible { outline:3px solid Highlight; outline-offset:3px; }
}
@media (prefers-reduced-motion:no-preference) {
  .ss-storefront :is(.ss-card-link,.ss-btn,.ss-card,.ss-rfq-actions a) { transition:background-color .15s,border-color .15s,color .15s; }
  .ss-card:hover { border-color:var(--ss-accent); }
}
