/*
Theme Name: EIRSONA Hearing Protection
Theme URI: https://eirsona.example/
Author: EIRSONA
Description: Premium, conversion-focused WooCommerce theme for a global hearing protection brand.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: eirsona
*/

:root {
  --ink: #11231f;
  --ink-soft: #42524e;
  --forest: #163f35;
  --forest-2: #285d50;
  --sage: #bed3c7;
  --mist: #eef3f0;
  --sand: #f5f1e8;
  --paper: #fcfdfb;
  --line: #d9e2de;
  --white: #fff;
  --accent: #d6ff72;
  --danger: #a93f33;
  --success: #2f6f53;
  --radius-sm: .55rem;
  --radius: 1.15rem;
  --radius-lg: 2rem;
  --shadow: 0 18px 50px rgba(17,35,31,.08);
  --container: 1200px;
  --font: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
}

/* Privacy and cookie consent */
.footer-link-button {
  appearance: none;
  border: 0;
  padding: 0;
  background: transparent;
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.footer-link-button:hover,
.footer-link-button:focus-visible { text-decoration: underline; }
.cookie-consent {
  position: fixed;
  z-index: 10020;
  right: 1rem;
  bottom: 1rem;
  left: 1rem;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 1.5rem;
  align-items: end;
  width: min(880px, calc(100% - 2rem));
  margin-inline: auto;
  padding: 1.4rem 1.5rem;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 18px;
  background: #10241f;
  color: #fff;
  box-shadow: 0 20px 60px rgba(3,18,14,.28);
}
.cookie-consent[hidden] { display: none; }
.cookie-consent__eyebrow {
  margin: 0 0 .4rem;
  color: #b9d7cf;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.cookie-consent h2 {
  margin: 0 0 .45rem;
  color: #fff;
  font-size: clamp(1.35rem, 2vw, 1.8rem);
  line-height: 1.08;
}
.cookie-consent__copy > p:last-child {
  max-width: 620px;
  margin: 0;
  color: rgba(255,255,255,.78);
  font-size: .9rem;
  line-height: 1.55;
}
.cookie-consent a { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.cookie-consent__actions { display: flex; gap: .65rem; white-space: nowrap; }
.cookie-consent .button { min-height: 44px; }
.cookie-consent .button--outline { border-color: rgba(255,255,255,.5); color: #fff; }
.cookie-consent .button--accent { background: #dfff3f; color: #10241f; }
@media (max-width: 700px) {
  .cookie-consent {
    bottom: 5.5rem;
    grid-template-columns: 1fr;
    gap: 1rem;
    padding: 1.15rem;
    border-radius: 14px;
  }
  .cookie-consent__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .cookie-consent .button { width: 100%; padding-inline: .8rem; }
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font); line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
button, input, select, textarea { font: inherit; }
button, .button { cursor: pointer; }
:focus-visible { outline: 3px solid rgba(40,93,80,.4); outline-offset: 3px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.container { width: min(calc(100% - 2rem), var(--container)); margin-inline: auto; }
.section { padding: clamp(4.5rem, 8vw, 8rem) 0; }
.section--mist { background: var(--mist); }
.section--sand { background: var(--sand); }
.section--ink { color: var(--white); background: var(--ink); }
.eyebrow { margin: 0 0 1rem; color: var(--forest-2); font-size: .74rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.section--ink .eyebrow { color: var(--accent); }
h1, h2, h3, h4 { margin: 0 0 .75em; line-height: 1.06; letter-spacing: -.04em; text-wrap: balance; }
h1 { font-size: clamp(3rem, 7vw, 6.8rem); font-weight: 650; }
h2 { font-size: clamp(2.2rem, 4.5vw, 4.2rem); font-weight: 620; }
h3 { font-size: clamp(1.35rem, 2vw, 1.75rem); font-weight: 650; }
p { margin: 0 0 1.25rem; }
.lede { max-width: 700px; color: var(--ink-soft); font-size: clamp(1.08rem, 1.5vw, 1.3rem); }
.section--ink .lede { color: #bed0ca; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.8rem; }
.section-heading > div { max-width: 760px; }
.button, button.button, input[type="submit"] { display: inline-flex; align-items: center; justify-content: center; min-height: 3.25rem; padding: .85rem 1.25rem; border: 1px solid var(--ink); border-radius: 999px; color: var(--white); background: var(--ink); font-size: .9rem; font-weight: 750; line-height: 1; text-decoration: none; transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); background: var(--forest); }
.button--light { border-color: var(--white); color: var(--ink); background: var(--white); }
.button--outline { color: var(--ink); background: transparent; }
.button--accent { border-color: var(--accent); color: var(--ink); background: var(--accent); }
.button-row { display: flex; flex-wrap: wrap; gap: .7rem; }

.trust-bar { padding: .5rem 0; color: #dfece6; background: var(--ink); font-size: .75rem; letter-spacing: .04em; }
.trust-bar .container { display: flex; justify-content: center; gap: 2rem; text-align: center; }
.site-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid rgba(217,226,222,.8); background: rgba(252,253,251,.92); backdrop-filter: blur(14px); }
.nav-wrap { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 2rem; min-height: 78px; }
.brand { display: inline-flex; align-items: center; text-decoration: none; }
.brand img { width: 184px; height: auto; }
.primary-nav ul { display: flex; align-items: center; justify-content: center; gap: clamp(1rem, 2vw, 2rem); margin: 0; padding: 0; list-style: none; }
.primary-nav a { font-size: .85rem; font-weight: 650; text-decoration: none; }
.nav-actions { display: flex; align-items: center; gap: .65rem; }
.nav-actions .button { min-height: 2.65rem; padding: .65rem 1rem; font-size: .78rem; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: transparent; }
.menu-toggle span { display: block; width: 18px; height: 2px; margin: 4px auto; background: var(--ink); }

.hero { position: relative; min-height: min(800px, calc(100vh - 110px)); overflow: hidden; background: var(--sand); }
.hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(380px,.95fr); align-items: center; min-height: inherit; gap: 4rem; padding-block: 5rem; }
.hero-copy { position: relative; z-index: 2; }
.hero-copy h1 span { display: block; color: var(--forest-2); }
.hero-copy .lede { margin-bottom: 2rem; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: 3rem; font-size: .82rem; font-weight: 700; }
.hero-visual { position: relative; aspect-ratio: 1; border-radius: 50%; background: var(--forest); box-shadow: inset 0 0 0 1px rgba(255,255,255,.13); }
.hero-visual::before, .hero-visual::after { content: ""; position: absolute; border: 1px solid rgba(214,255,114,.45); border-radius: 50%; }
.hero-visual::before { inset: 14%; }
.hero-visual::after { inset: 29%; }
.hero-orbit { position: absolute; inset: 42%; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 2.2rem rgba(214,255,114,.08), 0 0 0 5rem rgba(214,255,114,.05); }
.hero-label { position: absolute; right: 2%; bottom: 13%; max-width: 230px; padding: 1rem 1.2rem; border-radius: var(--radius); color: var(--white); background: rgba(17,35,31,.88); font-size: .84rem; }
.hero--product { background: #f2eee6; }
.hero--product .hero-grid { grid-template-columns: minmax(0,.9fr) minmax(460px,1.1fr); }
.hero--product h1 { max-width: 750px; font-size: clamp(3.8rem,7.2vw,7.3rem); }
.hero--product h1 em { color: var(--forest-2); font-family: Georgia,serif; font-weight: 400; }
.hero-product-stage { position: relative; display: grid; place-items: center; min-height: 620px; }
.hero-product-stage > img { position: relative; z-index: 2; width: min(84%,640px); aspect-ratio: 1; object-fit: cover; border-radius: 50%; filter: drop-shadow(0 28px 35px rgba(17,35,31,.14)); }
.hero-halo { position: absolute; inset: 8%; border-radius: 50%; background: #d8e5de; box-shadow: inset 0 0 0 1px rgba(22,63,53,.08); }
.hero-product-card { position: absolute; z-index: 3; right: 0; bottom: 7%; width: min(310px,54%); padding: 1.25rem 1.4rem; border: 1px solid rgba(255,255,255,.7); border-radius: 1.3rem; background: rgba(255,255,255,.9); box-shadow: var(--shadow); backdrop-filter: blur(14px); text-decoration: none; }
.hero-product-card small,.hero-product-card span,.hero-product-card b { display: block; }
.hero-product-card small { color: var(--forest-2); font-size: .65rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.hero-product-card strong { display: block; margin: .25rem 0; font-size: 1.45rem; }
.hero-product-card span { color: var(--ink-soft); font-size: .78rem; }
.hero-product-card b { margin-top: .75rem; font-size: .78rem; }
.hero-chip { position: absolute; z-index: 4; padding: .55rem .85rem; border-radius: 999px; color: var(--white); background: var(--forest); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hero-chip--one { top: 17%; left: 2%; }
.hero-chip--two { top: 31%; right: 0; background: var(--ink); }
.hero--product .hero-meta span { display: grid; gap: .1rem; color: var(--ink-soft); font-size: .72rem; }
.hero--product .hero-meta strong { color: var(--ink); font-size: 1rem; }
.home-trust { border-block: 1px solid var(--line); background: var(--white); }
.home-trust .container { display: grid; grid-template-columns: repeat(4,1fr); }
.home-trust span { padding: 1.1rem; border-right: 1px solid var(--line); font-size: .73rem; font-weight: 750; text-align: center; }
.home-trust span:first-child { border-left: 1px solid var(--line); }

.use-grid, .solution-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }
.use-card { min-height: 330px; padding: 1.6rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); text-decoration: none; transition: transform .25s ease, border-color .25s ease; }
.use-card:hover { transform: translateY(-5px); border-color: var(--forest-2); }
.use-icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 5rem; border-radius: 50%; color: var(--accent); background: var(--forest); font-weight: 800; }
.use-card p { color: var(--ink-soft); font-size: .92rem; }
.use-card .link-arrow { display: block; margin-top: 2rem; font-size: .85rem; font-weight: 800; }
.use-grid--visual { grid-template-columns: repeat(4,minmax(0,1fr)); }
.use-card--visual { display: flex; position: relative; min-height: 460px; flex-direction: column; justify-content: space-between; padding: 0; overflow: hidden; }
.use-card--visual img { width: 100%; aspect-ratio: 1.12; object-fit: cover; background: var(--mist); }
.use-card--visual > div { padding: 1.4rem 1.5rem 1.6rem; }
.use-card--visual .use-card__number { position: absolute; top: 1rem; left: 1rem; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: var(--white); background: rgba(17,35,31,.9); font-size: .72rem; font-weight: 850; }
.use-card--visual .link-arrow { margin-top: 1rem; }

.product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.15rem; }
.product-card { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.product-media { display: grid; position: relative; place-items: center; aspect-ratio: 1/1.03; overflow: hidden; background: linear-gradient(145deg,#edf3f0,#faf8f2); }
.product-media img { width: 100%; height: 100%; object-fit: cover; }
.product-media .product-card-image,.editorial-product-card__media .product-card-image { transition:opacity .38s ease,transform .55s ease; }
.product-media .product-card-image--hover,.editorial-product-card__media .product-card-image--hover { position:absolute; z-index:1; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.025); }
.product-media.has-hover-image::after,.editorial-product-card__media.has-hover-image::after { content:"See it worn"; position:absolute; z-index:3; right:.75rem; bottom:.75rem; padding:.38rem .62rem; border:1px solid rgba(17,35,31,.18); border-radius:999px; color:var(--ink); background:rgba(255,255,255,.9); font-size:.62rem; font-weight:800; letter-spacing:.04em; opacity:0; transform:translateY(5px); transition:opacity .3s ease,transform .3s ease; }
@media (hover:hover) and (pointer:fine) {
  .product-media.has-hover-image:hover .product-card-image--primary,.product-media.has-hover-image:focus-visible .product-card-image--primary,.editorial-product-card__media.has-hover-image:hover .product-card-image--primary,.editorial-product-card__media.has-hover-image:focus-visible .product-card-image--primary { opacity:0; transform:scale(1.02); }
  .product-media.has-hover-image:hover .product-card-image--hover,.product-media.has-hover-image:focus-visible .product-card-image--hover,.editorial-product-card__media.has-hover-image:hover .product-card-image--hover,.editorial-product-card__media.has-hover-image:focus-visible .product-card-image--hover { opacity:1; transform:scale(1); }
  .product-media.has-hover-image:hover::after,.product-media.has-hover-image:focus-visible::after,.editorial-product-card__media.has-hover-image:hover::after,.editorial-product-card__media.has-hover-image:focus-visible::after { opacity:1; transform:translateY(0); }
}
.product-placeholder { display: grid; position: relative; place-items: center; width: 66%; aspect-ratio: 1; border: 1px solid rgba(22,63,53,.18); border-radius: 50%; color: var(--forest); text-align: center; }
.product-placeholder::before { content: ""; position: absolute; top: 29%; left: 29%; width: 42%; aspect-ratio: 1; border: 1px solid rgba(22,63,53,.13); border-radius: 50%; }
.product-placeholder strong { position: relative; z-index: 1; font-size: 1.25rem; letter-spacing: .08em; }
.product-placeholder small { display: block; margin-top: .35rem; color: var(--ink-soft); font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.product-badge { position: absolute; top: 1rem; left: 1rem; z-index: 2; padding: .4rem .65rem; border-radius: 999px; color: var(--ink); background: rgba(255,255,255,.9); font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.product-card__body { padding: 1.25rem; }
.product-card__meta { margin-bottom: .45rem; color: var(--forest-2); font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.product-card__series { margin-bottom: .25rem; color: #778b84; font-family: Georgia,"Times New Roman",serif; font-size: .88rem; }
.product-card h3 { min-height: 2.7em; margin-bottom: .6rem; font-size: 1.16rem; letter-spacing: -.025em; }
.product-card h3 a { text-decoration: none; }
.product-card__price { margin: 0 0 1rem; font-weight: 800; }
.product-card__actions { display: flex; gap: .5rem; }
.product-card__actions .button { flex: 1; min-height: 2.75rem; padding: .7rem; font-size: .74rem; }
.filters { display: flex; flex-wrap: wrap; gap: .5rem; margin: -1rem 0 2.5rem; }
.filter-button { padding: .65rem 1rem; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: transparent; font-size: .78rem; font-weight: 750; }
.filter-button.is-active { border-color: var(--ink); color: var(--white); background: var(--ink); }

.split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(3rem,7vw,7rem); }
.material-stack { display: grid; gap: .8rem; }
.material-row { display: grid; grid-template-columns: 110px 1fr; gap: 1.4rem; padding: 1.25rem 0; border-top: 1px solid var(--line); }
.material-row strong { font-size: .88rem; }
.material-row p { margin: 0; color: var(--ink-soft); font-size: .9rem; }
.comparison-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.comparison { width: 100%; min-width: 700px; border-collapse: collapse; }
.comparison th, .comparison td { padding: 1.2rem 1.35rem; border-bottom: 1px solid var(--line); text-align: left; }
.comparison th { color: var(--forest-2); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.comparison tr:last-child td { border-bottom: 0; }
.stat-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-top: 3rem; }
.stat { padding: 1.4rem; border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius); }
.stat strong { display: block; margin-bottom: .3rem; color: var(--accent); font-size: 1.4rem; }
.stat span { color: #c3d2cd; font-size: .82rem; }
.wholesale-panel { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3rem; padding: clamp(2rem,5vw,4.5rem); border-radius: var(--radius-lg); color: var(--white); background: var(--forest); }
.wholesale-panel h2 { max-width: 780px; }
.wholesale-panel p { max-width: 650px; color: #c8d8d2; }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.4rem 0; border: 0; color: var(--ink); background: transparent; font-weight: 750; text-align: left; }
.faq-answer { display: none; max-width: 780px; padding: 0 0 1.5rem; color: var(--ink-soft); }
.faq-item.is-open .faq-answer { display: block; }

.page-hero { padding: clamp(5rem,10vw,9rem) 0 4rem; background: var(--sand); }
.page-hero h1 { max-width: 950px; font-size: clamp(3rem,6vw,6rem); }
.shop-hero { padding: clamp(3rem,6vw,5rem) 0; background: var(--sand); }
.shop-hero__grid { display: grid; grid-template-columns: minmax(0,.78fr) minmax(580px,1.22fr); align-items: center; gap: clamp(3rem,6vw,6rem); }
.shop-hero__copy h1 { max-width: 660px; font-size: clamp(3.3rem,5.4vw,5.8rem); }
.shop-hero__copy .lede { max-width: 560px; }
.shop-hero__facts { display: flex; flex-wrap: wrap; gap: 1.8rem; margin-top: 2.5rem; }
.shop-hero__facts span { display: grid; color: var(--ink-soft); font-size: .7rem; }
.shop-hero__facts strong { color: var(--ink); font-size: 1.05rem; }
.scene-mosaic { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.scene-card { position: relative; min-height: 245px; overflow: hidden; border-radius: var(--radius); background: var(--forest); text-decoration: none; }
.scene-card img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; transition: transform .5s ease; }
.scene-card::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent,rgba(9,25,21,.84)); }
.scene-card > span { position: absolute; z-index: 2; right: 1.1rem; bottom: 1rem; left: 1.1rem; color: var(--white); }
.scene-card strong,.scene-card small { display: block; }
.scene-card strong { font-size: 1.2rem; }
.scene-card small { max-width: 270px; margin-top: .2rem; color: #d6e0dc; font-size: .7rem; line-height: 1.35; }
.scene-card:hover img { transform: scale(1.035); }
.shop-products { padding-top: clamp(3.5rem,6vw,6rem); }
.shop-heading { margin-bottom: 1.5rem; }
.shop-products .filters { margin-top: 0; }
.page-content { padding: 4rem 0 7rem; }
.page-hero--commerce { padding: clamp(3rem,6vw,5rem) 0 2.5rem; }
.page-hero--commerce h1 { font-size: clamp(2.8rem,5vw,4.8rem); }
.page-content--commerce { padding-top: 2.5rem; }
.commerce-content,.commerce-content .alignwide { width: 100%; max-width: none; }
.commerce-content .wc-block-cart,.commerce-content .wc-block-checkout { margin-inline: 0; }
.prose { max-width: 820px; }
.prose h2 { margin-top: 2.2em; font-size: clamp(1.8rem,3vw,2.8rem); }
.prose h3 { margin-top: 1.8em; }
.prose ul { padding-left: 1.2rem; }
.content-grid { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 5rem; }
.info-card { padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--mist); }
.info-card + .info-card { margin-top: 1rem; }

.product-detail { padding: 2rem 0 7rem; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 2rem; color: var(--ink-soft); font-size: .72rem; }
.breadcrumbs a { text-decoration: none; }
.product-detail__top { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(390px,.92fr); align-items: start; gap: clamp(3rem,6vw,6rem); }
.product-gallery-main { display: grid; place-items: center; aspect-ratio: 1; overflow: hidden; border-radius: var(--radius-lg); background: linear-gradient(145deg,#eaf1ed,#faf7ef); }
.product-gallery-main img { width: 100%; height: 100%; object-fit: cover; }
.gallery-count { position: absolute; z-index: 2; right: 1rem; bottom: 1rem; padding: .45rem .7rem; border-radius: 999px; color: var(--white); background: rgba(17,35,31,.75); font-size: .68rem; font-weight: 800; }
.product-gallery-main { position: relative; }
.product-gallery-thumbs { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: .65rem; margin-top: .75rem; }
.product-gallery-thumb { padding: 0; aspect-ratio: 1; overflow: hidden; border: 1px solid var(--line); border-radius: .8rem; background: var(--white); cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease; }
.product-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }
.product-gallery-thumb:hover,.product-gallery-thumb:focus-visible,.product-gallery-thumb.is-active { border-color: var(--forest); box-shadow: 0 0 0 2px rgba(22,63,53,.12); }
.product-context { margin-top: 3.25rem; }
.product-context__heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.product-context__heading .eyebrow { margin: 0; }
.product-context__heading h2 { margin: 0; font-size: clamp(1.8rem,3vw,2.8rem); }
.product-context__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.product-context__card { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.product-context__card img { width: 100%; aspect-ratio: 1.15; object-fit: cover; }
.product-context__card figcaption { padding: 1rem 1.1rem 1.15rem; }
.product-context__card strong,.product-context__card span { display: block; }
.product-context__card strong { margin-bottom: .2rem; font-size: .9rem; }
.product-context__card span { color: var(--ink-soft); font-size: .72rem; line-height: 1.45; }
.product-summary { position: sticky; top: 125px; padding-top: .25rem; }
.product-summary h1 { max-width: 650px; font-size: clamp(2.35rem,3.35vw,3.45rem); line-height: .98; letter-spacing: -.045em; text-wrap: balance; }
.model { color: var(--forest-2); font-size: .75rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.price { margin: 1.5rem 0; font-size: 1.4rem; font-weight: 850; }
.price small { color: var(--ink-soft); font-size: .65rem; letter-spacing: .1em; }
.product-proof { display: flex; flex-wrap: wrap; gap: .55rem 1rem; margin-top: 1.25rem; color: var(--forest-2); font-size: .72rem; font-weight: 750; }
.product-proof span::before { content: "✓ "; font-weight: 900; }
.configured-cart { padding-block: .25rem; }
.product-choice { margin: 0; padding: 1.05rem 0; border: 0; border-top: 1px solid var(--line); }
.product-choice legend { float: left; width: 100%; margin-bottom: .7rem; font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.product-choice legend + * { clear: both; }
.choice-list { display: flex; flex-wrap: wrap; gap: .5rem; }
.choice-pill { position: relative; cursor: pointer; }
.choice-pill input { position: absolute; opacity: 0; pointer-events: none; }
.choice-pill > span:last-child { display: inline-flex; align-items: center; min-height: 2.55rem; padding: .58rem .85rem; border: 1px solid var(--line); border-radius: 999px; background: var(--white); font-size: .73rem; font-weight: 750; transition: border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.choice-pill input:checked ~ span:last-child { border-color: var(--ink); background: var(--mist); box-shadow: 0 0 0 1px var(--ink); }
.choice-pill input:focus-visible ~ span:last-child { outline: 3px solid rgba(40,93,80,.35); outline-offset: 2px; }
.rating-list { display: flex; flex-wrap: wrap; gap: .5rem; }
.rating-pill { display: inline-flex; min-height: 2.55rem; align-items: center; padding: .58rem .9rem; border: 1px solid var(--ink); border-radius: 999px; background: var(--mist); font-size: .73rem; font-weight: 800; }
.choice-note { margin: .65rem 0 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.45; }
.product-choice--colors .choice-pill { display: inline-grid; grid-template-columns: auto 1fr; align-items: center; }
.choice-swatch { position: absolute; z-index: 1; left: .55rem; width: 1.35rem; height: 1.35rem; border: 1px solid rgba(17,35,31,.18); border-radius: 50%; background: var(--swatch); pointer-events: none; }
.product-choice--colors .choice-pill > span:last-child { padding-left: 2.25rem; }
.purchase-row { display: grid; grid-template-columns: 92px 1fr; gap: .65rem; margin-top: 1rem; }
.quantity-field span { display: block; margin-bottom: .3rem; font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.quantity-field input { width: 100%; min-height: 3.25rem; padding: .7rem; border: 1px solid var(--line); border-radius: 999px; background: var(--white); text-align: center; }
.purchase-row .button { align-self: stretch; }
.purchase-buttons { display: grid; grid-template-columns: minmax(120px,.7fr) minmax(190px,1.3fr); gap: .6rem; align-self: end; }
.purchase-buttons .button { width: 100%; min-height: 3.25rem; }
.retail-order-note { margin: .7rem 0 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.5; }
.product-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; margin-top: .8rem; }
.product-actions--business { padding: .85rem 0; border-block: 1px solid var(--line); }
.product-actions--business > span { margin-right: auto; color: var(--ink-soft); font-size: .7rem; font-weight: 800; }
.text-action { color: var(--forest-2); font-size: .8rem; font-weight: 800; text-decoration: none; }
.summary-facts { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin: 2rem 0; }
.summary-fact { padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.summary-fact span { display: block; color: var(--ink-soft); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.summary-fact strong { display: block; margin-top: .25rem; font-size: .9rem; }
.product-benefit-strip { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 5rem; border-block: 1px solid var(--line); }
.product-benefit-strip div { padding: 1.5rem; border-right: 1px solid var(--line); }
.product-benefit-strip div:first-child { border-left: 1px solid var(--line); }
.product-benefit-strip strong,.product-benefit-strip span { display: block; }
.product-benefit-strip strong { margin-bottom: .35rem; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.product-benefit-strip span { color: var(--ink-soft); font-size: .82rem; }
.product-story { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem,7vw,7rem); align-items: start; padding-top: 7rem; }
.spec-list { border-top: 1px solid var(--line); }
.spec-list div { display: grid; grid-template-columns: 140px 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.spec-list span { color: var(--ink-soft); font-size: .75rem; }
.spec-list strong { font-size: .83rem; }
.product-sections { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; margin-top: 5rem; }
.product-section { padding: clamp(1.5rem,3vw,2.4rem); border: 1px solid var(--line); border-radius: var(--radius); }
.product-section--wide { grid-column: 1/-1; }
.notice { padding: 1rem 1.2rem; border-left: 3px solid var(--forest-2); background: var(--mist); color: var(--ink-soft); font-size: .86rem; }

.inquiry-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.inquiry-form .full { grid-column: 1/-1; }
.field label { display: block; margin-bottom: .35rem; font-size: .78rem; font-weight: 800; }
.field input, .field select, .field textarea { width: 100%; padding: .9rem 1rem; border: 1px solid #bdcbc5; border-radius: .55rem; color: var(--ink); background: var(--white); }
.field textarea { min-height: 135px; resize: vertical; }
.form-status { grid-column: 1/-1; padding: .9rem 1rem; border-radius: var(--radius-sm); font-size: .88rem; }
.form-status--success { color: #184b35; background: #e3f3e9; }
.form-status--warning { color: #6b4910; background: #fff1cf; }
.form-status--error { color: #812f26; background: #f9e3df; }
.honeypot { position: absolute !important; left: -10000px !important; }

.site-footer { padding: 5rem 0 2rem; color: #c7d6d1; background: var(--ink); }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: 3rem; }
.footer-brand img { width: 190px; filter: brightness(0) invert(1); }
.footer-brand p { max-width: 350px; margin-top: 1.4rem; }
.footer-title { margin-bottom: 1rem; color: var(--white); font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.footer-links { margin: 0; padding: 0; list-style: none; }
.footer-links li { margin-bottom: .55rem; }
.footer-links a { color: #c7d6d1; font-size: .86rem; text-decoration: none; }
.footer-bottom { display: flex; justify-content: space-between; gap: 2rem; margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.12); font-size: .72rem; }
.whatsapp-float { display: grid; position: fixed; z-index: 45; right: 1.25rem; bottom: 1.25rem; place-items: center; width: 54px; height: 54px; border-radius: 50%; color: var(--white); background: #1e8e5a; box-shadow: var(--shadow); font-weight: 900; text-decoration: none; }
.mobile-inquiry-bar { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { width: min(calc(100% - 2rem),var(--container)); margin: 1rem auto; padding: 1rem 1.2rem; border: 1px solid var(--line); background: var(--white); list-style: none; }

@media (max-width: 1050px) {
  .primary-nav { display: none; position: absolute; top: 100%; left: 0; width: 100%; padding: 1.5rem; border-bottom: 1px solid var(--line); background: var(--paper); }
  .primary-nav.is-open { display: block; }
  .primary-nav ul { align-items: stretch; flex-direction: column; }
  .primary-nav a { display: block; padding: .45rem 0; font-size: 1rem; }
  .menu-toggle { display: block; }
  .nav-wrap { grid-template-columns: auto 1fr auto; }
  .nav-actions > a { display: none !important; }
  .product-grid { grid-template-columns: repeat(3,1fr); }
  .use-grid, .solution-grid { grid-template-columns: repeat(2,1fr); }
  .hero--product .hero-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .hero-product-stage { min-height: 520px; }
  .shop-hero__grid { grid-template-columns: 1fr; }
  .shop-hero__copy { max-width: 760px; }
}

@media (max-width: 780px) {
  body { padding-bottom: 68px; }
  .trust-bar .container span:nth-child(n+2) { display: none; }
  .nav-wrap { min-height: 66px; }
  .brand img { width: 158px; }
  .nav-actions .button { display: none; }
  .hero-grid, .hero--product .hero-grid, .split, .product-detail__top, .content-grid, .product-story { grid-template-columns: 1fr; }
  .hero-grid { gap: 2rem; padding-block: 4rem 3rem; }
  .hero-visual { width: min(100%,480px); margin: auto; }
  .section-heading { align-items: start; flex-direction: column; }
  .product-grid { grid-template-columns: repeat(2,1fr); }
  .product-card__actions { flex-direction: column; }
  .wholesale-panel { grid-template-columns: 1fr; }
  .product-sections { grid-template-columns: 1fr; }
  .product-summary { position: static; }
  .home-trust .container { grid-template-columns: 1fr 1fr; }
  .home-trust span:nth-child(odd) { border-left: 1px solid var(--line); }
  .product-benefit-strip { grid-template-columns: 1fr; }
  .product-benefit-strip div { border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .product-benefit-strip div:last-child { border-bottom: 0; }
  .scene-card { min-height: 220px; }
  .product-section--wide { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1/-1; }
  .mobile-inquiry-bar { display: grid; position: fixed; z-index: 60; bottom: 0; left: 0; width: 100%; grid-template-columns: 1fr 1fr; gap: .5rem; padding: .55rem .75rem; border-top: 1px solid var(--line); background: var(--paper); }
  .mobile-inquiry-bar .button { min-height: 2.8rem; font-size: .76rem; }
  .whatsapp-float { display: none; }
}

@media (max-width: 520px) {
  .container { width: min(calc(100% - 1.25rem),var(--container)); }
  h1 { font-size: 2.75rem; }
  .hero-meta { gap: .7rem; flex-direction: column; }
  .use-grid, .solution-grid, .product-grid, .stat-grid, .summary-facts, .inquiry-form { grid-template-columns: 1fr; }
  .use-card { min-height: 250px; }
  .use-icon { margin-bottom: 3rem; }
  .inquiry-form .full { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
  .product-gallery-thumbs { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .scene-mosaic,.product-context__grid { grid-template-columns: 1fr; }
  .scene-card { min-height: 250px; }
  .product-context__heading { align-items: start; flex-direction: column; }
  .hero-product-stage { min-height: 410px; }
  .hero-product-stage > img { width: 88%; }
  .hero-product-card { right: 2%; bottom: 0; width: 62%; }
  .hero-chip--one { left: 0; }
  .purchase-row { grid-template-columns: 1fr; }
  .quantity-field { max-width: 90px; }
  .purchase-buttons { grid-template-columns: 1fr; }
  .product-summary h1 { font-size: clamp(2.15rem,10vw,2.8rem); }
  .product-actions--business > span { width: 100%; }
}

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

/* Guided shopping and product-decision upgrades. */
.fit-finder { scroll-margin-top: 105px; padding: clamp(5rem,9vw,8rem) 0; color: #f4f2eb; background: #16231f; }
.fit-finder__grid { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: clamp(3rem,7vw,7rem); align-items: start; }
.fit-finder__intro { position: sticky; top: 125px; }
.fit-finder__intro h2 { margin: 0 0 1.5rem; color: #fff; font-size: clamp(3rem,5vw,5.2rem); line-height: .92; }
.fit-finder__intro h2 em { color: #9bb3aa; }
.fit-finder__intro > p:not(.editorial-kicker) { max-width: 430px; color: #bdcbc6; }
.fit-finder__time { display: inline-block; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.18); color: #dce5e1; font-size: .72rem; }
.fit-finder__form { display: grid; gap: 2rem; }
.fit-finder__form fieldset { margin: 0; padding: 0 0 2rem; border: 0; border-bottom: 1px solid rgba(255,255,255,.17); }
.fit-finder__form legend { width: 100%; margin-bottom: 1rem; color: #fff; font-family: Georgia,"Times New Roman",serif; font-size: 1.45rem; }
.fit-finder__form legend span { margin-right: .75rem; color: #91aaa1; font-family: Arial,sans-serif; font-size: .65rem; font-weight: 800; letter-spacing: .12em; }
.fit-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.fit-choice-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.fit-choice-grid label { position: relative; cursor: pointer; }
.fit-choice-grid input { position: absolute; opacity: 0; }
.fit-choice-grid label > span { display: flex; min-height: 4.2rem; align-items: center; padding: 1rem 1.15rem; border: 1px solid rgba(255,255,255,.2); border-radius: .8rem; color: #d7e0dc; font-size: .82rem; font-weight: 750; transition: .2s ease; }
.fit-choice-grid input:checked + span { border-color: #dff53f; color: #101714; background: #dff53f; }
.fit-choice-grid input:focus-visible + span { outline: 3px solid rgba(223,245,63,.35); outline-offset: 3px; }
.fit-finder__submit { justify-self: start; border: 0; background: #f5f2e9; }
.fit-finder__result { grid-column: 2; display: grid; grid-template-columns: 1fr minmax(180px,.55fr); gap: 2rem; align-items: center; padding: clamp(1.5rem,4vw,3rem); border: 1px solid rgba(255,255,255,.18); border-radius: 1.4rem; background: rgba(255,255,255,.06); }
.fit-finder__result[hidden] { display: none; }
.fit-finder__result h3 { margin-bottom: .8rem; color: #fff; font-size: clamp(2rem,3.5vw,3.4rem); }
.fit-finder__result p:not(.editorial-kicker) { color: #c6d2cd; }
.fit-finder__result-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.5rem; }
.fit-finder__result-actions button { border: 0; color: #fff; background: none; text-decoration: underline; cursor: pointer; }
.fit-finder__result-image { display: grid; place-items: center; aspect-ratio: 1; overflow: hidden; border-radius: 1rem; background: #f7f7f2; }
.fit-finder__result-image img { width: 100%; height: 100%; object-fit: cover; }
.editorial-catalog__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.editorial-catalog__cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 4rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.editorial-catalog__cta p { max-width: 540px; margin: 0; color: #61716c; }
.editorial-product-card__series { margin-bottom: .3rem; color: #6c847c; font-size: .58rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.product-series { margin: 0 0 .35rem; color: var(--forest-2); font-family: Georgia,"Times New Roman",serif; font-size: 1rem; }
.product-value-points { display: grid; gap: .55rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.product-value-points li { position: relative; padding-left: 1.35rem; color: var(--ink-soft); font-size: .82rem; }
.product-value-points li::before { content: "✓"; position: absolute; left: 0; color: var(--forest-2); font-weight: 900; }
.purchase-assurance { margin: 1.2rem 0 2rem; border-top: 1px solid var(--line); }
.purchase-assurance > div { display: grid; grid-template-columns: 120px 1fr; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--line); }
.purchase-assurance strong { font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.purchase-assurance span { color: var(--ink-soft); font-size: .74rem; line-height: 1.5; }
.purchase-assurance a { color: var(--forest-2); font-weight: 750; }
.product-section__note { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .78rem; }
#product-configurator { scroll-margin-top: 120px; }
.business-overview { padding: clamp(4rem,8vw,7rem) 0; background: var(--sand); }
.business-intro { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(3rem,7vw,7rem); align-items: end; }
.business-intro h2 { max-width: 760px; margin: 0; font-size: clamp(3rem,5.5vw,5.8rem); line-height: .95; }
.business-intro > p { max-width: 540px; margin: 0 0 .5rem; color: var(--ink-soft); font-size: 1.05rem; }
.business-audiences { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 5rem; border-block: 1px solid var(--line); }
.business-audiences > div { padding: 2rem; border-right: 1px solid var(--line); }
.business-audiences > div:first-child { border-left: 1px solid var(--line); }
.business-audiences span,.business-process__grid span { color: var(--forest-2); font-size: .65rem; font-weight: 850; letter-spacing: .12em; }
.business-audiences strong { display: block; margin: 1.5rem 0 .6rem; font-family: Georgia,"Times New Roman",serif; font-size: 1.45rem; }
.business-audiences p { margin: 0; color: var(--ink-soft); font-size: .82rem; }
.business-process { padding: clamp(4rem,7vw,6rem) 0; color: #fff; background: var(--ink); }
.business-process__grid { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 2rem; border-top: 1px solid rgba(255,255,255,.18); }
.business-process__grid > div { padding: 2rem 1.5rem 1rem 0; }
.business-process__grid h3 { margin: 1.5rem 0 .7rem; color: #fff; font-size: 1.2rem; }
.business-process__grid p { margin: 0; color: #bdcbc6; font-size: .78rem; }
.business-inquiry { background: #f6f4ed; }
.business-checklist { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 2rem; }
.business-checklist span { padding: .6rem .85rem; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: .72rem; font-weight: 750; }

@media (max-width: 900px) {
  .fit-finder__grid { grid-template-columns: 1fr; }
  .fit-finder__intro { position: static; }
  .fit-finder__result { grid-column: 1; }
  .editorial-catalog__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .business-intro { grid-template-columns: 1fr; }
  .business-audiences { grid-template-columns: 1fr; }
  .business-audiences > div,.business-audiences > div:first-child { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
  .business-audiences > div:last-child { border-bottom: 0; }
  .business-process__grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 560px) {
  .fit-choice-grid,.fit-choice-grid--three { grid-template-columns: 1fr; }
  .fit-finder__result { grid-template-columns: 1fr; }
  .fit-finder__result-image { order: -1; max-width: 260px; }
  .editorial-catalog__grid { grid-template-columns: 1fr; }
  .editorial-catalog__cta { align-items: flex-start; flex-direction: column; }
  .purchase-assurance > div { grid-template-columns: 1fr; gap: .3rem; }
  .business-process__grid { grid-template-columns: 1fr; }
}

/* Keep the curated home range intentionally smaller than the full shop grid. */
.home .editorial-catalog__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
@media (max-width: 900px) { .home .editorial-catalog__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .home .editorial-catalog__grid { grid-template-columns: 1fr; } }

/* Editorial home — purpose-built from the approved visual direction. */
.home .trust-bar { padding: .42rem 0; background: #111816; color: #fff; font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.home .trust-bar .container { justify-content: center; gap: clamp(2rem,6vw,5.5rem); }
.home .site-header { background: rgba(248,246,240,.96); }
.home .nav-wrap { min-height: 82px; }
.home .brand img { width: 150px; }
.home .primary-nav a { font-size: .76rem; }
.home .nav-actions .button { min-height: auto; padding: .2rem 0; border: 0; background: transparent; font-family: Georgia,"Times New Roman",serif; font-size: 1rem; font-weight: 400; }
.home-editorial { --editorial-paper: #f7f5ef; --editorial-ink: #141b19; --editorial-sage: #8ba49c; --editorial-pale: #dce9e5; --editorial-dark: #172521; --editorial-lime: #dcff3f; color: var(--editorial-ink); background: var(--editorial-paper); }
.home-editorial h1,.home-editorial h2,.home-editorial h3 { font-family: Georgia,"Times New Roman",serif; font-weight: 400; letter-spacing: -.055em; }
.home-editorial em { color: var(--editorial-sage); font-weight: 400; }
.editorial-kicker { margin: 0 0 1rem; color: #78968d; font-size: .66rem; font-weight: 850; letter-spacing: .2em; text-transform: uppercase; }
.editorial-hero { min-height: 760px; border-bottom: 1px solid #d8d6cf; background: var(--editorial-paper); }
.editorial-hero__grid { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: clamp(3rem,7vw,7rem); min-height: 760px; padding-block: 4.5rem; }
.editorial-hero__copy h1 { margin: 0 0 1.6rem; font-size: clamp(4rem,5.8vw,6.5rem); line-height: .86; }
.editorial-lede { max-width: 540px; margin-bottom: 2rem; color: #50605c; font-size: 1rem; line-height: 1.65; }
.editorial-actions { display: flex; align-items: center; gap: 1.7rem; }
.editorial-button { display: inline-flex; min-height: 3.5rem; align-items: center; justify-content: space-between; gap: 2rem; padding: .9rem 1.25rem; border: 1px solid var(--editorial-ink); border-radius: .35rem; color: #fff; background: var(--editorial-ink); font-size: .75rem; font-weight: 800; text-decoration: none; }
.editorial-button:hover { color: var(--editorial-lime); }
.editorial-text-link { font-size: .78rem; font-weight: 800; }
.editorial-stats { display: flex; gap: 3rem; margin-top: 3rem; padding-top: 1.6rem; border-top: 1px solid #d6d4cd; }
.editorial-stats span { display: grid; }
.editorial-stats strong { font-family: Georgia,"Times New Roman",serif; font-size: 1.35rem; font-weight: 400; }
.editorial-stats small { color: #60706c; font-size: .58rem; }
.editorial-collage { position: relative; min-height: 610px; overflow: hidden; border-radius: 2rem; background: linear-gradient(135deg,#dceae6 0 53%,#dff476 53% 100%); }
.editorial-collage::after { content: ""; position: absolute; right: -10%; bottom: -22%; width: 65%; aspect-ratio: 1; border-radius: 50%; background: rgba(255,255,255,.34); filter: blur(2px); }
.editorial-collage__card { position: absolute; z-index: 2; display: block; overflow: hidden; border-radius: 1rem; background: #fff; box-shadow: 0 25px 50px rgba(20,27,25,.12); text-decoration: none; }
.editorial-collage__card span { position: absolute; z-index: 2; top: 1rem; left: 1rem; padding: .35rem .62rem; border-radius: 999px; background: rgba(255,255,255,.92); font-size: .65rem; font-weight: 800; }
.editorial-collage__card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.editorial-collage__card:hover img { transform: scale(1.025); }
.editorial-collage__main { top: 20%; left: 23%; width: 54%; aspect-ratio: .95; transform: rotate(-1deg); }
.editorial-collage__top { top: 5%; right: 3%; width: 31%; aspect-ratio: .78; transform: rotate(6deg); }
.editorial-collage__bottom { bottom: 5%; left: 5%; width: 30%; aspect-ratio: .82; transform: rotate(-5deg); }
.editorial-collage__rating { position: absolute; z-index: 4; right: 4%; bottom: 5%; display: grid; place-items: center; width: 128px; aspect-ratio: 1; border: 1px dashed #81908b; border-radius: 50%; color: #fff; background: var(--editorial-ink); text-align: center; }
.editorial-collage__rating small,.editorial-collage__rating b { font-size: .55rem; letter-spacing: .1em; text-transform: uppercase; }
.editorial-collage__rating strong { margin: -.25rem 0; font-family: Georgia,"Times New Roman",serif; font-size: 2rem; font-weight: 400; }
.editorial-benefits { border-bottom: 1px solid #d8d6cf; background: #fff; }
.editorial-benefits .container { display: grid; grid-template-columns: repeat(4,1fr); }
.editorial-benefits span { padding: 1.25rem; border-right: 1px solid #e1e0da; color: #52635f; font-size: .65rem; font-weight: 800; letter-spacing: .05em; text-align: center; }
.editorial-benefits span:first-child { border-left: 1px solid #e1e0da; }
.editorial-section { padding: clamp(6rem,9vw,10rem) 0; }
.editorial-use__heading { display: grid; grid-template-columns: .65fr 1.25fr .8fr; align-items: end; gap: 3rem; margin-bottom: 3.25rem; }
.editorial-use__heading .editorial-kicker { margin: 0; }
.editorial-use__heading h2 { margin: 0; font-size: clamp(3.2rem,5vw,5.2rem); line-height: .92; }
.editorial-use__heading > p:last-child { max-width: 390px; margin: 0 0 .35rem; color: #50605c; font-size: .86rem; }
.editorial-use__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.editorial-use-card { position: relative; min-height: 520px; overflow: hidden; border-radius: 1.35rem; color: #fff; background: #333; text-decoration: none; }
.editorial-use-card::after { content: ""; position: absolute; inset: 30% 0 0; background: linear-gradient(transparent,rgba(7,13,11,.88)); }
.editorial-use-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.editorial-use-card:hover img { transform: scale(1.035); }
.editorial-use-card__label { position: absolute; z-index: 2; top: 1.35rem; left: 1.35rem; padding: .45rem .75rem; border-radius: 999px; color: var(--editorial-ink); background: #fff; font-size: .6rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.editorial-use-card__content { position: absolute; z-index: 2; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; display: grid; }
.editorial-use-card__content strong { max-width: 350px; font-family: Georgia,"Times New Roman",serif; font-size: clamp(1.65rem,2.2vw,2.35rem); font-weight: 400; line-height: 1; letter-spacing: -.04em; }
.editorial-use-card__content small { margin-top: .75rem; font-size: .72rem; }
.editorial-use-card__content b { margin-top: 1.25rem; font-size: .68rem; }
.editorial-featured { padding: 7rem 0; color: #fff; background: var(--editorial-dark); }
.editorial-featured__heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
.editorial-featured__heading h2 { margin: 0; font-size: clamp(3rem,4.5vw,4.8rem); }
.editorial-featured__heading a { color: #fff; font-size: .7rem; font-weight: 800; }
.editorial-featured__grid,.editorial-catalog__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.1rem; }
.editorial-product-card { min-width: 0; }
.editorial-product-card__media { display: grid; position: relative; place-items: center; aspect-ratio: 1; overflow: hidden; border-radius: 1.15rem; background: #edf0eb; }
.editorial-product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.editorial-product-card:hover .editorial-product-card__media img { transform: scale(1.025); }
.editorial-product-card__category { position: absolute; z-index: 2; top: .9rem; left: .9rem; padding: .35rem .6rem; border-radius: 999px; color: var(--editorial-ink); background: #fff; font-size: .58rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.editorial-product-card__body { padding: 1.15rem .12rem 0; }
.editorial-product-card__topline { display: flex; justify-content: space-between; gap: 1rem; color: #78938a; font-size: .58rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.editorial-product-card__topline a { color: inherit; }
.editorial-product-card h3 { min-height: 2em; margin: .7rem 0 .35rem; font-size: 1.45rem; line-height: 1; }
.editorial-product-card h3 a { text-decoration: none; }
.editorial-product-card__spec { min-height: 1.3em; margin: 0; color: #61716d; font-size: .65rem; line-height: 1.3; }
.editorial-product-card__buy { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding-top: .85rem; border-top: 1px solid rgba(100,115,110,.25); font-family: Georgia,"Times New Roman",serif; }
.editorial-product-card__buy a { font-family: var(--font); font-size: .62rem; font-weight: 850; }
.editorial-featured .editorial-product-card__media { background: #f3f4ef; }
.editorial-featured .editorial-product-card__topline,.editorial-featured .editorial-product-card__spec { color: #9db0aa; }
.editorial-featured .editorial-product-card__buy { border-color: rgba(255,255,255,.25); }
.editorial-catalog__heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 1.6rem; }
.editorial-catalog__heading h2 { margin: 0; font-size: clamp(3.5rem,5vw,5.6rem); }
.editorial-catalog__heading > span { color: #6c7c77; font-size: .7rem; }
.editorial-filters { margin: 0 0 2rem; padding-bottom: 1.4rem; border-bottom: 1px solid #d9d7d0; }
.editorial-filters .filter-button { padding: .55rem 1rem; border-color: #d5d5ce; background: transparent; font-size: .65rem; }
.editorial-filters .filter-button.is-active { border-color: var(--editorial-ink); background: var(--editorial-ink); }
.editorial-catalog__grid { row-gap: 3.5rem; }
.editorial-technology { padding: clamp(6rem,9vw,9rem) 0; background: var(--editorial-pale); }
.editorial-technology__grid { display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: clamp(4rem,8vw,8rem); }
.editorial-technology__visual { position: relative; display: grid; place-items: center; min-height: 620px; overflow: hidden; border-radius: 2rem; background: rgba(255,255,255,.24); }
.editorial-rings,.editorial-rings::before,.editorial-rings::after { position: absolute; border: 1px solid rgba(47,86,74,.16); border-radius: 50%; }
.editorial-rings { inset: 8%; }
.editorial-rings::before,.editorial-rings::after { content: ""; }
.editorial-rings::before { inset: 15%; }
.editorial-rings::after { inset: 31%; }
.editorial-technology__products { position: relative; z-index: 2; width: min(84%,540px); aspect-ratio: 1; }
.editorial-technology__product { position: absolute; margin: 0; overflow: hidden; border: 1px solid rgba(47,86,74,.14); border-radius: 1.5rem; background: rgba(250,251,247,.96); box-shadow: 0 22px 42px rgba(20,44,37,.13); }
.editorial-technology__product img { display: block; width: 100%; height: 100%; object-fit: contain; mix-blend-mode: multiply; }
.editorial-technology__product figcaption { position: absolute; right: .8rem; bottom: .7rem; left: .8rem; display: flex; align-items: center; gap: .45rem; padding: .4rem .55rem; border-radius: 999px; background: rgba(255,255,255,.9); color: #203b33; font-size: .55rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; backdrop-filter: blur(6px); }
.editorial-technology__product figcaption span { display: grid; place-items: center; width: 1.35rem; height: 1.35rem; border-radius: 50%; background: var(--editorial-ink); color: #fff; font-size: .48rem; }
.editorial-technology__product--silicone { top: 2%; left: 0; z-index: 3; width: 55%; aspect-ratio: 1; transform: rotate(-5deg); }
.editorial-technology__product--filter { top: 9%; right: 0; z-index: 2; width: 57%; aspect-ratio: 1; transform: rotate(5deg); }
.editorial-technology__product--foam { right: 17%; bottom: 0; z-index: 4; width: 57%; aspect-ratio: 1; transform: rotate(-1.5deg); }
.editorial-technology__tag { position: absolute; z-index: 3; bottom: 1.5rem; left: 1.5rem; padding: .5rem .75rem; border-radius: 999px; background: #fff; font-size: .6rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.editorial-technology__copy h2 { margin: 0 0 1rem; font-size: clamp(3.4rem,4.8vw,5.4rem); line-height: .9; }
.editorial-technology__copy > p:not(.editorial-kicker) { color: #53655f; font-size: .86rem; }
.editorial-technology__copy ol { margin: 2rem 0; padding: 0; border-top: 1px solid rgba(52,79,71,.2); list-style: none; }
.editorial-technology__copy li { display: grid; grid-template-columns: 40px 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(52,79,71,.2); }
.editorial-technology__copy li > span { color: #69847c; font-size: .62rem; }
.editorial-technology__copy li div { display: grid; }
.editorial-technology__copy li strong { font-family: Georgia,"Times New Roman",serif; font-size: 1.25rem; font-weight: 400; }
.editorial-technology__copy li small { color: #52645e; font-size: .68rem; }
.editorial-compare__heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; margin-bottom: 2.5rem; }
.editorial-compare__heading h2 { grid-column: 2; margin: 0; font-size: clamp(3.2rem,4.8vw,5rem); line-height: .9; }
.editorial-compare__table { overflow-x: auto; border-top: 1px solid #d5d4ce; }
.editorial-compare__row { display: grid; grid-template-columns: .7fr repeat(3,1fr); min-width: 850px; border-bottom: 1px solid #d5d4ce; }
.editorial-compare__row > * { padding: 1.55rem 1.5rem; border-right: 1px solid #d5d4ce; }
.editorial-compare__row > *:last-child { border-right: 0; }
.editorial-compare__row span { color: #63736f; font-size: .65rem; }
.editorial-compare__row strong { font-family: Georgia,"Times New Roman",serif; font-size: 1.4rem; font-weight: 400; }
.editorial-compare__row b { font-size: .68rem; }
.editorial-story { padding: clamp(6rem,9vw,9rem) 0; background: #eee8dd; }
.editorial-story__copy { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; }
.editorial-story h2 { margin: 0; font-size: clamp(3.5rem,5vw,5.5rem); line-height: .9; }
.editorial-story__copy > div:last-child { align-self: center; color: #50605c; font-family: Georgia,"Times New Roman",serif; font-size: 1.25rem; }
.editorial-story__copy a { color: var(--editorial-ink); font-family: var(--font); font-size: .7rem; font-weight: 850; }
.editorial-story__stats { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 6rem; border-block: 1px solid #d2cec6; }
.editorial-story__stats span { display: grid; padding: 1.5rem 0; border-right: 1px solid #d2cec6; }
.editorial-story__stats span:not(:first-child) { padding-left: 1.5rem; }
.editorial-story__stats strong { font-family: Georgia,"Times New Roman",serif; font-size: 1.7rem; font-weight: 400; }
.editorial-story__stats small { color: #63736f; font-size: .58rem; }
.editorial-faq__grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 6rem; }
.editorial-faq h2 { font-size: clamp(3.4rem,4.8vw,5.2rem); }
.editorial-faq .faq-item button { font-family: Georgia,"Times New Roman",serif; font-size: 1.25rem; font-weight: 400; }
.editorial-faq .faq-item button span:last-child { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 auto; border-radius: 50%; background: #e8eeeb; }
.editorial-newsletter { padding: 4rem 0; background: var(--editorial-lime); }
.editorial-newsletter .container { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 5rem; }
.editorial-newsletter h2 { margin: 0; font-size: clamp(3rem,4vw,4.4rem); }
.editorial-newsletter p { margin: .3rem 0 0; font-size: .68rem; }
.editorial-newsletter__link { display: flex; justify-content: space-between; gap: 2rem; padding: .8rem 0; border-bottom: 1px solid var(--editorial-ink); font-size: .75rem; text-decoration: none; }
.home .site-footer { background: #111816; }
.home .footer-brand p { max-width: 300px; font-size: .75rem; }
.home .mobile-inquiry-bar { background: var(--editorial-paper); }

@media (max-width: 1050px) {
  .editorial-hero__grid { grid-template-columns: .9fr 1.1fr; gap: 2.5rem; }
  .editorial-collage { min-height: 530px; }
  .editorial-featured__grid,.editorial-catalog__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .editorial-use-card { min-height: 450px; }
}

@media (max-width: 780px) {
  .home .trust-bar .container span:nth-child(n+2) { display: none; }
  .home .nav-wrap { min-height: 68px; }
  .editorial-hero,.editorial-hero__grid { min-height: auto; }
  .editorial-hero__grid { grid-template-columns: 1fr; padding-block: 4rem; }
  .editorial-hero__copy h1 { font-size: clamp(3.9rem,15vw,6rem); }
  .editorial-collage { min-height: 520px; }
  .editorial-benefits .container { grid-template-columns: 1fr 1fr; }
  .editorial-benefits span:nth-child(odd) { border-left: 1px solid #e1e0da; }
  .editorial-use__heading { grid-template-columns: 1fr; gap: 1.5rem; }
  .editorial-use__grid { grid-template-columns: 1fr; }
  .editorial-use-card { min-height: 500px; }
  .editorial-featured__grid,.editorial-catalog__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .editorial-technology__grid,.editorial-story__copy,.editorial-faq__grid,.editorial-newsletter .container { grid-template-columns: 1fr; }
  .editorial-technology__visual { min-height: 500px; }
  .editorial-compare__heading { grid-template-columns: 1fr; gap: 1rem; }
  .editorial-compare__heading h2 { grid-column: auto; }
  .editorial-compare__table { overflow-x: auto; }
  .editorial-story__copy { gap: 3rem; }
  .editorial-newsletter .container { gap: 2rem; }
}

@media (max-width: 520px) {
  .editorial-section { padding: 5rem 0; }
  .editorial-actions { align-items: stretch; flex-direction: column; }
  .editorial-button { width: 100%; }
  .editorial-stats { justify-content: space-between; gap: .7rem; }
  .editorial-collage { min-height: 400px; border-radius: 1.3rem; }
  .editorial-collage__rating { width: 90px; }
  .editorial-collage__rating strong { font-size: 1.5rem; }
  .editorial-use-card { min-height: 420px; }
  .editorial-featured__heading { align-items: start; flex-direction: column; }
  .editorial-featured__grid,.editorial-catalog__grid { grid-template-columns: 1fr; }
  .editorial-product-card h3 { min-height: auto; }
  .editorial-technology__visual { min-height: 390px; }
  .editorial-story__stats { grid-template-columns: 1fr; }
  .editorial-story__stats span,.editorial-story__stats span:not(:first-child) { padding: 1rem 0; border-right: 0; border-bottom: 1px solid #d2cec6; }
  .editorial-story__stats span:last-child { border-bottom: 0; }
}

/* 2026 visual rhythm pass: consistent type scale, denser sections and balanced
   product layouts across the storefront. */
:root { --section-space: clamp(4rem,6vw,6rem); }
.section { padding-block: var(--section-space); }
h1 { font-size: clamp(2.75rem,5.5vw,5.4rem); }
h2 { font-size: clamp(2rem,3.7vw,3.65rem); }
h3 { font-size: clamp(1.25rem,1.7vw,1.6rem); }
.lede { font-size: clamp(1rem,1.25vw,1.17rem); line-height: 1.62; }
.eyebrow { font-size: .76rem; }
.page-hero { padding: clamp(3.5rem,6vw,6rem) 0 clamp(2.75rem,4vw,4rem); }
.page-hero h1 { font-size: clamp(2.75rem,4.8vw,4.65rem); }
.page-content { padding: clamp(3rem,5vw,4.5rem) 0 clamp(4rem,6vw,6rem); }
.content-grid { gap: clamp(2.5rem,5vw,4.5rem); }
.prose { font-size: 1rem; }
.prose h2 { margin-top: 1.8em; font-size: clamp(1.8rem,2.6vw,2.55rem); }
.info-card p,.footer-links a { font-size: .9rem; }

.shop-hero { padding-block: clamp(3rem,4.8vw,4.5rem); }
.shop-hero__copy h1 { font-size: clamp(3rem,4.5vw,4.8rem); line-height: .98; }
.shop-products { padding-top: clamp(3.5rem,5vw,5rem); }
.scene-card small,.product-card__meta,.product-card__actions .button { font-size: .75rem; }
.product-card__series { font-size: .94rem; }
.product-card h3 { font-size: 1.2rem; }

.product-detail { padding: 2rem 0 clamp(4rem,6vw,6rem); }
.product-detail__top { gap: clamp(2.5rem,4.5vw,4.75rem); }
.product-visual-column { position: sticky; top: 110px; align-self: start; }
.product-summary { position: static; }
.product-summary h1 { max-width: 620px; font-size: clamp(2.15rem,2.8vw,2.9rem); line-height: 1.02; }
.product-series { font-size: .95rem; }
.model,.product-choice legend { font-size: .76rem; }
.product-value-points li { font-size: .88rem; }
.product-proof,.choice-pill > span:last-child,.rating-pill { font-size: .76rem; }
.retail-order-note,.choice-note { font-size: .74rem; }
.product-context { margin-top: clamp(3rem,5vw,5rem); padding-top: clamp(2.5rem,4vw,4rem); border-top: 1px solid var(--line); }
.product-context__heading { justify-content: flex-start; gap: clamp(1.5rem,4vw,4rem); }
.product-context__heading h2 { font-size: clamp(2rem,3vw,3rem); }
.product-context__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.product-context__card { display: grid; grid-template-columns: minmax(220px,.95fr) minmax(180px,.55fr); align-items: stretch; }
.product-context__card img { height: 100%; aspect-ratio: 1.35; }
.product-context__card figcaption { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.25rem,2vw,2rem); }
.product-context__card strong { font-size: 1rem; }
.product-context__card span { font-size: .8rem; }
.product-benefit-strip { margin-top: clamp(2.5rem,4vw,4rem); }
.product-story { padding-top: clamp(4rem,6vw,5.5rem); }
.product-sections { margin-top: clamp(3rem,5vw,4.5rem); }
.purchase-assurance span { font-size: .78rem; }
.product-commerce-details { display: grid; grid-template-columns: .72fr 1.28fr; align-items: start; gap: clamp(2rem,4vw,4rem); margin-top: clamp(2.5rem,4vw,3.5rem); padding-block: clamp(1.5rem,2.5vw,2.25rem); border-block: 1px solid var(--line); }
.product-commerce-details .summary-facts,.product-commerce-details .purchase-assurance { margin: 0; }
.product-commerce-details .purchase-assurance { border-top: 0; }
.product-commerce-details .purchase-assurance > div:first-child { padding-top: 0; }

.fit-finder { padding-block: clamp(4.5rem,6vw,6.5rem); }
.fit-finder__intro h2 { font-size: clamp(2.8rem,4.2vw,4.25rem); }
.fit-finder__form legend { font-size: 1.35rem; }
.fit-choice-grid label > span { font-size: .88rem; }
.business-overview { padding-block: clamp(3.75rem,6vw,6rem); }
.business-intro h2 { font-size: clamp(2.75rem,4.4vw,4.6rem); }
.business-audiences { margin-top: clamp(3rem,5vw,4.5rem); }

.editorial-section { padding-block: clamp(4.5rem,6.5vw,7rem); }
.editorial-hero,.editorial-hero__grid { min-height: 680px; }
.editorial-hero__grid { padding-block: 3.5rem; }
.editorial-hero__copy h1 { font-size: clamp(3.6rem,5vw,5.45rem); line-height: .9; }
.editorial-collage { min-height: 540px; }
.editorial-use__heading h2,.editorial-catalog__heading h2 { font-size: clamp(2.85rem,4.1vw,4.25rem); }
.editorial-featured { padding-block: clamp(4.5rem,6vw,6rem); }
.editorial-featured__heading h2 { font-size: clamp(2.7rem,3.8vw,3.85rem); }
.editorial-technology { padding-block: clamp(4.5rem,6.5vw,6.75rem); }
.editorial-technology__visual { min-height: 520px; }
.editorial-technology__copy h2 { font-size: clamp(2.9rem,4vw,4.15rem); }
.editorial-compare__heading { grid-template-columns: .8fr 1.2fr; margin-bottom: 2rem; }
.editorial-compare__heading h2 { font-size: clamp(2.8rem,3.8vw,3.9rem); line-height: .94; }
.editorial-compare__row > * { padding: 1.25rem 1.2rem; }
.editorial-compare__row span { font-size: .74rem; }
.editorial-compare__row strong { font-size: 1.3rem; }
.editorial-compare__row b { font-size: .78rem; }
.editorial-story { padding-block: clamp(4.5rem,6.5vw,6.75rem); }
.editorial-story h2 { font-size: clamp(2.9rem,4.1vw,4.25rem); }
.editorial-story__stats { margin-top: clamp(3.5rem,5vw,5rem); }
.editorial-faq h2 { font-size: clamp(2.8rem,3.9vw,4rem); }
.editorial-newsletter h2 { font-size: clamp(2.6rem,3.5vw,3.6rem); }
.editorial-kicker,.editorial-benefits span,.editorial-product-card__topline,.editorial-product-card__series,.editorial-product-card__category { font-size: .68rem; }
.editorial-product-card__spec,.editorial-product-card__buy a,.editorial-technology__copy li small,.editorial-story__copy a { font-size: .74rem; }
.editorial-catalog__heading > span,.editorial-filters .filter-button { font-size: .74rem; }
.editorial-story__stats small,.editorial-stats small { font-size: .68rem; }
.footer-bottom { font-size: .76rem; }

/* Conversion merchandising */
.product-offer-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:1.1rem 0 1.4rem; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.product-offer-strip > div { display:flex; flex-direction:column; gap:.2rem; padding:.9rem 1rem; }
.product-offer-strip > div + div { border-left:1px solid var(--line); }
.product-offer-strip strong { font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.product-offer-strip span { color:var(--muted); font-size:.72rem; line-height:1.4; }
.product-payment-assurance { display:flex; flex-wrap:wrap; align-items:baseline; gap:.35rem .75rem; margin-top:1rem; padding:1rem 0; border-block:1px solid var(--line); }
.product-payment-assurance strong { font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.product-payment-assurance span { font-size:.8rem; }
.product-payment-assurance small { flex-basis:100%; color:var(--muted); font-size:.7rem; line-height:1.5; }
.eirsona-shipping-note,.eirsona-multibuy-note { border:1px solid var(--line)!important; border-radius:12px; background:#f4f6f3!important; color:var(--ink)!important; }
.eirsona-shipping-note > div { display:flex; justify-content:space-between; gap:1rem; }
.eirsona-shipping-note a,.eirsona-multibuy-note a { color:var(--forest-2); font-weight:700; }
.eirsona-shipping-progress { display:block; height:6px; margin-top:.7rem; overflow:hidden; border-radius:99px; background:#d9dfda; }
.eirsona-shipping-progress i { display:block; height:100%; border-radius:inherit; background:var(--forest-2); transition:width .25s ease; }

.editorial-sets { background:#edf1ec; }
.editorial-sets__heading { display:grid; grid-template-columns:1.05fr .95fr; align-items:end; gap:3rem; margin-bottom:2.5rem; }
.editorial-sets__heading h2 { margin:.4rem 0 0; font-size:clamp(2.8rem,4vw,4.2rem); line-height:.94; }
.editorial-sets__heading h2 em { color:var(--sage); font-weight:400; }
.editorial-sets__heading > div:last-child { max-width:34rem; }
.editorial-sets__heading a { display:inline-block; margin-top:.75rem; color:var(--ink); font-weight:700; border-bottom:1px solid; }
.shop-sets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.shop-set-card { display:grid; grid-template-columns:.9fr 1.1fr; min-height:360px; overflow:hidden; border:1px solid var(--line); border-radius:20px; background:var(--paper); }
.shop-set-card__media { display:grid; grid-template-columns:1fr 1fr; background:#f5f6f3; }
.shop-set-card__media a { display:flex; align-items:center; min-width:0; }
.shop-set-card__media img { width:100%; height:100%; object-fit:contain; }
.shop-set-card__body { display:flex; flex-direction:column; justify-content:center; padding:clamp(1.4rem,3vw,2.25rem); }
.shop-set-card__body h3 { margin:.35rem 0 .55rem; font-size:clamp(1.55rem,2vw,2rem); }
.shop-set-card__body > p:not(.eyebrow) { color:var(--muted); font-size:.88rem; }
.shop-set-card__products { display:grid; gap:.55rem; margin-top:1.15rem; }
.shop-set-card__products a { display:flex; flex-direction:column; gap:.12rem; padding-top:.6rem; border-top:1px solid var(--line); color:var(--ink); }
.shop-set-card__products span { color:var(--forest-2); font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.shop-set-card__products strong { font-size:.78rem; line-height:1.35; }
.sets-content > p:first-child { max-width:52rem; margin:0 0 2.5rem; font-size:1.05rem; color:var(--muted); }

.product-reviews,.product-customer-moments { margin-top:clamp(4rem,7vw,7rem); padding-top:clamp(3rem,5vw,5rem); border-top:1px solid var(--line); }
.product-reviews__heading { display:grid; grid-template-columns:1fr .8fr; gap:3rem; align-items:end; margin-bottom:2.5rem; }
.product-reviews__heading h2 { margin:.35rem 0 0; font-size:clamp(2.4rem,3.4vw,3.5rem); }
.product-reviews__heading > p { color:var(--muted); }
.product-reviews #reviews { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); }
.product-reviews #comments,.product-reviews #review_form_wrapper { margin:0; }
.product-reviews .woocommerce-Reviews-title,.product-reviews .comment-reply-title { display:block; margin-bottom:1.2rem; font-family:Georgia,"Times New Roman",serif; font-size:1.65rem; }
.product-reviews .commentlist { display:grid; gap:1rem; margin:0; padding:0; list-style:none; }
.product-reviews .comment_container { padding:1.2rem; border:1px solid var(--line); border-radius:14px; }
.product-reviews .avatar { float:left; width:42px; height:42px; margin-right:.85rem; border-radius:50%; }
.product-reviews .comment-text { margin-left:0!important; border:0!important; padding:0!important; }
.product-reviews .star-rating { color:#a06f12; }
.product-reviews textarea,.product-reviews input[type="text"],.product-reviews input[type="email"] { width:100%; }
.product-reviews .form-submit input { min-height:48px; padding:.75rem 1.2rem; border:0; border-radius:8px; background:var(--ink); color:#fff; font-weight:700; }
.customer-moments { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.customer-moment-card { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; }
.customer-moment-card > img,.customer-moment-card__video iframe { width:100%; aspect-ratio:4/5; object-fit:cover; }
.customer-moment-card > div:last-child { padding:1.25rem; }
.customer-moment-card span { color:var(--forest-2); font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.customer-moment-card h3 { margin:.35rem 0; font-size:1.25rem; }
.customer-moment-card p { margin:0; color:var(--muted); font-size:.82rem; }

/* Commerce correction pass: the generic page rhythm rule appears later in this
   stylesheet, so commerce pages need their own final, denser override. */
.page-hero.page-hero--commerce { padding: 2rem 0 1.6rem; }
.page-hero--commerce .eyebrow { margin-bottom:.55rem; }
.page-hero--commerce h1 { margin:0; font-size:clamp(2.5rem,3.8vw,3.75rem); line-height:1; }
.page-content.page-content--commerce { padding:1.5rem 0 clamp(4rem,6vw,6rem); }
.commerce-content .wc-block-checkout,.commerce-content .wc-block-cart { padding-top:0; }
.product-choice__label { float:left; width:100%; margin:0 0 .7rem; font-size:.76rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.product-choice__label + * { clear:both; }
.product-choice--information .rating-pill { border-color:var(--line); background:#f4f6f3; cursor:default; }
.eirsona-checkout-remove { display:inline-flex; margin-top:.55rem; padding:0; border:0; border-bottom:1px solid currentColor; color:var(--forest-2); background:transparent; font:inherit; font-size:.75rem; font-weight:750; cursor:pointer; }
.eirsona-checkout-remove:hover { color:var(--ink); }
.eirsona-checkout-remove:disabled { opacity:.55; cursor:wait; }

@media (max-width: 780px) {
  :root { --section-space: clamp(3.5rem,9vw,4.5rem); }
  .page-hero { padding-block: 3.25rem 2.5rem; }
  .page-content { padding-block: 3rem 4rem; }
  .editorial-section,.fit-finder,.editorial-featured,.editorial-technology,.editorial-story { padding-block: clamp(3.75rem,10vw,5rem); }
  .editorial-hero__grid { padding-block: 3.25rem; }
  .editorial-hero__copy h1 { font-size: clamp(3.15rem,12vw,4.8rem); }
  .editorial-collage { min-height: 470px; }
  .product-context__card { grid-template-columns: 1fr; }
  .product-context__card img { height: auto; aspect-ratio: 1.35; }
  .product-commerce-details { grid-template-columns: 1fr; }
  .product-visual-column { position: static; }
  .editorial-sets__heading,.product-reviews__heading,.product-reviews #reviews { grid-template-columns:1fr; gap:1.25rem; }
  .shop-sets { grid-template-columns:1fr; }
  .customer-moments { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-hero.page-hero--commerce { padding:1.65rem 0 1.25rem; }
  .page-content.page-content--commerce { padding-top:1.25rem; }
}

@media (max-width: 520px) {
  h1 { font-size: 2.45rem; }
  h2 { font-size: 2.1rem; }
  .business-intro h2 { font-size: 2.35rem; }
  .shop-hero__copy h1 { font-size: 2.65rem; }
  .scene-mosaic { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; }
  .scene-card { min-height: 180px; }
  .scene-card > span { right: .8rem; bottom: .75rem; left: .8rem; }
  .scene-card strong { font-size: 1rem; }
  .scene-card small { font-size: .67rem; }
  .editorial-section { padding-block: 3.5rem; }
  .editorial-hero__copy h1 { font-size: clamp(2.8rem,12vw,3.35rem); }
  .editorial-use__heading h2,.editorial-catalog__heading h2,.editorial-technology__copy h2,.editorial-compare__heading h2,.editorial-story h2,.editorial-faq h2 { font-size: clamp(2.2rem,9.5vw,2.65rem); }
  .fit-finder__intro h2,.editorial-featured__heading h2,.editorial-newsletter h2 { font-size: clamp(2.2rem,9.5vw,2.65rem); }
  .editorial-collage { min-height: 370px; }
  .editorial-technology__visual { min-height: 340px; }
  .editorial-use-card { min-height: 380px; }
  .product-context { margin-top: 3rem; padding-top: 2.5rem; }
  .product-context__grid { grid-template-columns: 1fr; }
  .product-context__heading { align-items: flex-start; flex-direction: column; gap: .4rem; }
  .product-offer-strip { grid-template-columns:1fr; }
  .product-offer-strip > div + div { border-left:0; border-top:1px solid var(--line); }
  .shop-set-card { grid-template-columns:1fr; }
  .shop-set-card__media { min-height:230px; }
  .customer-moments { grid-template-columns:1fr; }
}

/* EP033MAX flagship product-page prototype. Kept model-specific until the
   approved layout is rolled out to the complete catalogue. */
.product-detail--showcase { padding-top:1.25rem; }
.product-detail--showcase > .container { width:min(calc(100% - 2rem),1340px); }
.product-detail--showcase .breadcrumbs { margin-bottom:1.25rem; }
.product-detail--showcase .product-detail__top { grid-template-columns:minmax(0,1.16fr) minmax(410px,.84fr); gap:clamp(2.25rem,4.5vw,4.75rem); }
.product-detail--showcase .product-visual-column { position:static; }
.product-gallery--showcase .showcase-gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.product-gallery--showcase .showcase-gallery__item { position:relative; width:100%; border:0; border-radius:18px; background:#f1f2ef; box-shadow:none; }
.product-gallery--showcase .showcase-gallery__item:hover,.product-gallery--showcase .showcase-gallery__item:focus-visible,.product-gallery--showcase .showcase-gallery__item.is-active { border:0; box-shadow:inset 0 0 0 1px var(--forest); }
.product-gallery--showcase .showcase-gallery__item img { width:100%; height:100%; object-fit:cover; }
.product-gallery--showcase .showcase-gallery__hero { grid-column:1/-1; aspect-ratio:1.3; }
.product-gallery--showcase .showcase-gallery__item:not(.showcase-gallery__hero) { aspect-ratio:1; }
.product-detail--showcase .product-summary { top:98px; padding-top:0; }
.product-detail--showcase .product-series { margin:0 0 .35rem; color:var(--sage); font-family:Georgia,"Times New Roman",serif; font-size:1rem; }
.product-detail--showcase .model { margin:0 0 .7rem; }
.product-detail--showcase .product-summary h1 { margin:0; max-width:560px; font-size:clamp(2.25rem,3vw,3.35rem); line-height:1; }
.product-detail--showcase .product-summary > .lede { margin:.9rem 0 0; max-width:570px; font-size:1rem; }
.showcase-rating { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; margin:.9rem 0; font-size:.75rem; }
.showcase-rating a { color:var(--ink); text-underline-offset:3px; }
.showcase-rating__stars { color:#9b6d19; letter-spacing:.08em; }
.showcase-rating__new { padding:.32rem .58rem; border-radius:99px; background:#e9f0ed; color:var(--forest-2); font-size:.64rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.product-detail--showcase .product-value-points { margin:.85rem 0; }
.product-detail--showcase .product-proof { margin-top:.8rem; }
.product-detail--showcase .price { margin:1rem 0; }
.product-detail--showcase .product-offer-strip { margin:.8rem 0 1rem; }
.product-detail--showcase .product-choice { padding:.85rem 0; }
.product-detail--showcase .purchase-row { margin-top:.8rem; }
.showcase-assurance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.showcase-assurance span { display:block; color:var(--muted); font-size:.68rem; line-height:1.45; }
.showcase-assurance b { display:block; margin-bottom:.15rem; color:var(--ink); font-size:.72rem; }
.showcase-accordions details { border-bottom:1px solid var(--line); }
.showcase-accordions summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; cursor:pointer; font-size:.78rem; font-weight:800; list-style:none; }
.showcase-accordions summary::-webkit-details-marker { display:none; }
.showcase-accordions summary::after { content:"+"; font-size:1.05rem; font-weight:400; }
.showcase-accordions details[open] summary::after { content:"−"; }
.showcase-accordions p { margin:-.25rem 0 1rem; color:var(--muted); font-size:.76rem; line-height:1.6; }
.product-detail--showcase .product-actions--business { margin-top:1rem; }
.product-detail--showcase .product-context { display:none; }
.showcase-section-heading { display:grid; grid-template-columns:.75fr 1.25fr; gap:1rem 4rem; align-items:end; margin-bottom:2rem; }
.showcase-section-heading .eyebrow { grid-column:1/-1; margin:0; }
.showcase-section-heading h2 { margin:0; font-size:clamp(2.5rem,4vw,4.5rem); line-height:.95; }
.showcase-section-heading > p:last-child { max-width:33rem; margin:0; color:var(--muted); }
.showcase-benefits { margin-top:clamp(5rem,9vw,9rem); padding-top:clamp(4rem,7vw,7rem); border-top:1px solid var(--line); }
.showcase-benefits__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.showcase-benefits__grid article { min-width:0; }
.showcase-benefits__grid img { width:100%; aspect-ratio:.96; border-radius:18px; object-fit:cover; }
.showcase-benefits__grid h3 { margin:1rem 0 .35rem; font-family:Georgia,"Times New Roman",serif; font-size:1.4rem; font-weight:400; }
.showcase-benefits__grid p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.55; }
.showcase-editorial { display:grid; grid-template-columns:1.05fr .95fr; min-height:620px; margin-top:clamp(5rem,9vw,9rem); overflow:hidden; border-radius:22px; background:#dfeae6; }
.showcase-editorial__media img { width:100%; height:100%; min-height:620px; object-fit:cover; }
.showcase-editorial__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,5vw,5rem); }
.showcase-editorial__copy h2 { margin:.5rem 0 1rem; font-size:clamp(2.5rem,4vw,4rem); line-height:.95; }
.showcase-editorial__copy > p:not(.eyebrow) { color:var(--muted); }
.showcase-editorial__copy ul { display:grid; gap:.7rem; margin:1.5rem 0 0; padding:1.25rem 0 0; border-top:1px solid rgba(17,35,31,.16); list-style:none; }
.showcase-editorial__copy li::before { content:"✓"; margin-right:.65rem; color:var(--forest-2); font-weight:900; }
.showcase-data { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(3rem,8vw,8rem); align-items:start; margin-top:clamp(5rem,9vw,9rem); padding:clamp(3rem,6vw,6rem); border-radius:22px; color:#eef5f2; background:var(--ink); }
.showcase-data h2 { margin:.45rem 0 0; max-width:480px; color:#fff; font-size:clamp(2.5rem,4vw,4.25rem); line-height:.95; }
.showcase-data strong { display:block; margin-bottom:1rem; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.4rem,4vw,4rem); font-weight:400; }
.showcase-data p { color:#c7d6d1; }
.showcase-data a { display:inline-block; margin-top:1rem; color:#fff; font-weight:750; text-underline-offset:4px; }
.product-detail--showcase .product-benefit-strip { margin-top:clamp(4rem,7vw,7rem); }
.product-detail--showcase .product-story { padding-top:clamp(5rem,8vw,8rem); }

@media (max-width: 1050px) {
  .product-detail--showcase .product-detail__top { grid-template-columns:minmax(0,1fr) minmax(360px,.9fr); gap:2rem; }
  .product-detail--showcase .product-summary h1 { font-size:2.4rem; }
  .product-detail--showcase .purchase-row { grid-template-columns:80px 1fr; }
  .product-detail--showcase .purchase-buttons { grid-template-columns:1fr; }
}

@media (max-width: 780px) {
  .product-detail--showcase > .container { width:min(calc(100% - 1.25rem),1340px); }
  .product-detail--showcase .product-detail__top { grid-template-columns:1fr; }
  .product-detail--showcase .product-summary { position:static; padding-top:1.5rem; }
  .product-gallery--showcase .showcase-gallery-grid { gap:.5rem; }
  .product-gallery--showcase .showcase-gallery__item { border-radius:12px; }
  .showcase-section-heading,.showcase-editorial,.showcase-data { grid-template-columns:1fr; }
  .showcase-benefits__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .showcase-benefits__grid article:last-child { grid-column:1/-1; }
  .showcase-benefits__grid article:last-child img { aspect-ratio:1.6; }
  .showcase-editorial { min-height:0; }
  .showcase-editorial__media img { min-height:0; aspect-ratio:1.25; }
}

@media (max-width: 520px) {
  .product-detail--showcase { padding-top:.75rem; }
  .product-detail--showcase .breadcrumbs { margin-bottom:.8rem; }
  .product-gallery--showcase .showcase-gallery__hero { aspect-ratio:1.05; }
  .product-detail--showcase .product-summary h1 { font-size:2.15rem; }
  .showcase-assurance { grid-template-columns:1fr; gap:.6rem; }
  .showcase-assurance span { padding-bottom:.6rem; border-bottom:1px solid var(--line); }
  .showcase-benefits__grid { grid-template-columns:1fr; }
  .showcase-benefits__grid article:last-child { grid-column:auto; }
  .showcase-benefits__grid article:last-child img { aspect-ratio:.96; }
  .showcase-section-heading h2,.showcase-editorial__copy h2,.showcase-data h2 { font-size:2.35rem; }
  .showcase-data { padding:2rem 1.25rem; }
}
/*
Theme Name: EIRSONA Hearing Protection
Theme URI: https://eirsona.example/
Author: EIRSONA
Description: Premium, conversion-focused WooCommerce theme for a global hearing protection brand.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 7.4
Text Domain: eirsona
*/

:root {
  --ink: #11231f;
  --ink-soft: #42524e;
  --forest: #163f35;
  --forest-2: #285d50;
  --sage: #bed3c7;
  --mist: #eef3f0;
  --sand: #f5f1e8;
  --paper: #fcfdfb;
  --line: #d9e2de;
  --white: #fff;
  --accent: #d6ff72;
  --danger: #a93f33;
  --success: #2f6f53;
  --radius-sm: .55rem;
  --radius: 1.15rem;
  --radius-lg: 2rem;
  --shadow: 0 18px 50px rgba(17,35,31,.08);
  --container: 1200px;
  --font: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; color: var(--ink); background: var(--paper); font-family: var(--font); line-height: 1.65; -webkit-font-smoothing: antialiased; }
img { display: block; max-width: 100%; height: auto; }
a { color: inherit; text-decoration-thickness: .08em; text-underline-offset: .18em; }
button, input, select, textarea { font: inherit; }
button, .button { cursor: pointer; }
:focus-visible { outline: 3px solid rgba(40,93,80,.4); outline-offset: 3px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.container { width: min(calc(100% - 2rem), var(--container)); margin-inline: auto; }
.section { padding: clamp(4.5rem, 8vw, 8rem) 0; }
.section--mist { background: var(--mist); }
.section--sand { background: var(--sand); }
.section--ink { color: var(--white); background: var(--ink); }
.eyebrow { margin: 0 0 1rem; color: var(--forest-2); font-size: .74rem; font-weight: 800; letter-spacing: .16em; text-transform: uppercase; }
.section--ink .eyebrow { color: var(--accent); }
h1, h2, h3, h4 { margin: 0 0 .75em; line-height: 1.06; letter-spacing: -.04em; text-wrap: balance; }
h1 { font-size: clamp(3rem, 7vw, 6.8rem); font-weight: 650; }
h2 { font-size: clamp(2.2rem, 4.5vw, 4.2rem); font-weight: 620; }
h3 { font-size: clamp(1.35rem, 2vw, 1.75rem); font-weight: 650; }
p { margin: 0 0 1.25rem; }
.lede { max-width: 700px; color: var(--ink-soft); font-size: clamp(1.08rem, 1.5vw, 1.3rem); }
.section--ink .lede { color: #bed0ca; }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.8rem; }
.section-heading > div { max-width: 760px; }
.button, button.button, input[type="submit"] { display: inline-flex; align-items: center; justify-content: center; min-height: 3.25rem; padding: .85rem 1.25rem; border: 1px solid var(--ink); border-radius: 999px; color: var(--white); background: var(--ink); font-size: .9rem; font-weight: 750; line-height: 1; text-decoration: none; transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-2px); background: var(--forest); }
.button--light { border-color: var(--white); color: var(--ink); background: var(--white); }
.button--outline { color: var(--ink); background: transparent; }
.button--accent { border-color: var(--accent); color: var(--ink); background: var(--accent); }
.button-row { display: flex; flex-wrap: wrap; gap: .7rem; }

.trust-bar { padding: .5rem 0; color: #dfece6; background: var(--ink); font-size: .75rem; letter-spacing: .04em; }
.trust-bar .container { display: flex; justify-content: center; gap: 2rem; text-align: center; }
.site-header { position: sticky; z-index: 50; top: 0; border-bottom: 1px solid rgba(217,226,222,.8); background: rgba(252,253,251,.92); backdrop-filter: blur(14px); }
.nav-wrap { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 2rem; min-height: 78px; }
.brand { display: inline-flex; align-items: center; text-decoration: none; }
.brand img { width: 184px; height: auto; }
.primary-nav ul { display: flex; align-items: center; justify-content: center; gap: clamp(1rem, 2vw, 2rem); margin: 0; padding: 0; list-style: none; }
.primary-nav a { font-size: .85rem; font-weight: 650; text-decoration: none; }
.nav-actions { display: flex; align-items: center; gap: .65rem; }
.nav-actions .button { min-height: 2.65rem; padding: .65rem 1rem; font-size: .78rem; }
.menu-toggle { display: none; width: 44px; height: 44px; border: 1px solid var(--line); border-radius: 50%; background: transparent; }
.menu-toggle span { display: block; width: 18px; height: 2px; margin: 4px auto; background: var(--ink); }

.hero { position: relative; min-height: min(800px, calc(100vh - 110px)); overflow: hidden; background: var(--sand); }
.hero-grid { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(380px,.95fr); align-items: center; min-height: inherit; gap: 4rem; padding-block: 5rem; }
.hero-copy { position: relative; z-index: 2; }
.hero-copy h1 span { display: block; color: var(--forest-2); }
.hero-copy .lede { margin-bottom: 2rem; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 1.5rem; margin-top: 3rem; font-size: .82rem; font-weight: 700; }
.hero-visual { position: relative; aspect-ratio: 1; border-radius: 50%; background: var(--forest); box-shadow: inset 0 0 0 1px rgba(255,255,255,.13); }
.hero-visual::before, .hero-visual::after { content: ""; position: absolute; border: 1px solid rgba(214,255,114,.45); border-radius: 50%; }
.hero-visual::before { inset: 14%; }
.hero-visual::after { inset: 29%; }
.hero-orbit { position: absolute; inset: 42%; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 2.2rem rgba(214,255,114,.08), 0 0 0 5rem rgba(214,255,114,.05); }
.hero-label { position: absolute; right: 2%; bottom: 13%; max-width: 230px; padding: 1rem 1.2rem; border-radius: var(--radius); color: var(--white); background: rgba(17,35,31,.88); font-size: .84rem; }
.hero--product { background: #f2eee6; }
.hero--product .hero-grid { grid-template-columns: minmax(0,.9fr) minmax(460px,1.1fr); }
.hero--product h1 { max-width: 750px; font-size: clamp(3.8rem,7.2vw,7.3rem); }
.hero--product h1 em { color: var(--forest-2); font-family: Georgia,serif; font-weight: 400; }
.hero-product-stage { position: relative; display: grid; place-items: center; min-height: 620px; }
.hero-product-stage > img { position: relative; z-index: 2; width: min(84%,640px); aspect-ratio: 1; object-fit: cover; border-radius: 50%; filter: drop-shadow(0 28px 35px rgba(17,35,31,.14)); }
.hero-halo { position: absolute; inset: 8%; border-radius: 50%; background: #d8e5de; box-shadow: inset 0 0 0 1px rgba(22,63,53,.08); }
.hero-product-card { position: absolute; z-index: 3; right: 0; bottom: 7%; width: min(310px,54%); padding: 1.25rem 1.4rem; border: 1px solid rgba(255,255,255,.7); border-radius: 1.3rem; background: rgba(255,255,255,.9); box-shadow: var(--shadow); backdrop-filter: blur(14px); text-decoration: none; }
.hero-product-card small,.hero-product-card span,.hero-product-card b { display: block; }
.hero-product-card small { color: var(--forest-2); font-size: .65rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.hero-product-card strong { display: block; margin: .25rem 0; font-size: 1.45rem; }
.hero-product-card span { color: var(--ink-soft); font-size: .78rem; }
.hero-product-card b { margin-top: .75rem; font-size: .78rem; }
.hero-chip { position: absolute; z-index: 4; padding: .55rem .85rem; border-radius: 999px; color: var(--white); background: var(--forest); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.hero-chip--one { top: 17%; left: 2%; }
.hero-chip--two { top: 31%; right: 0; background: var(--ink); }
.hero--product .hero-meta span { display: grid; gap: .1rem; color: var(--ink-soft); font-size: .72rem; }
.hero--product .hero-meta strong { color: var(--ink); font-size: 1rem; }
.home-trust { border-block: 1px solid var(--line); background: var(--white); }
.home-trust .container { display: grid; grid-template-columns: repeat(4,1fr); }
.home-trust span { padding: 1.1rem; border-right: 1px solid var(--line); font-size: .73rem; font-weight: 750; text-align: center; }
.home-trust span:first-child { border-left: 1px solid var(--line); }

.use-grid, .solution-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }
.use-card { min-height: 330px; padding: 1.6rem; border: 1px solid var(--line); border-radius: var(--radius-lg); background: var(--white); text-decoration: none; transition: transform .25s ease, border-color .25s ease; }
.use-card:hover { transform: translateY(-5px); border-color: var(--forest-2); }
.use-icon { display: grid; place-items: center; width: 52px; height: 52px; margin-bottom: 5rem; border-radius: 50%; color: var(--accent); background: var(--forest); font-weight: 800; }
.use-card p { color: var(--ink-soft); font-size: .92rem; }
.use-card .link-arrow { display: block; margin-top: 2rem; font-size: .85rem; font-weight: 800; }
.use-grid--visual { grid-template-columns: repeat(4,minmax(0,1fr)); }
.use-card--visual { display: flex; position: relative; min-height: 460px; flex-direction: column; justify-content: space-between; padding: 0; overflow: hidden; }
.use-card--visual img { width: 100%; aspect-ratio: 1.12; object-fit: cover; background: var(--mist); }
.use-card--visual > div { padding: 1.4rem 1.5rem 1.6rem; }
.use-card--visual .use-card__number { position: absolute; top: 1rem; left: 1rem; display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; color: var(--white); background: rgba(17,35,31,.9); font-size: .72rem; font-weight: 850; }
.use-card--visual .link-arrow { margin-top: 1rem; }

.product-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.15rem; }
.product-card { position: relative; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.product-media { display: grid; position: relative; place-items: center; aspect-ratio: 1/1.03; overflow: hidden; background: linear-gradient(145deg,#edf3f0,#faf8f2); }
.product-media img { width: 100%; height: 100%; object-fit: cover; }
.product-media .product-card-image,.editorial-product-card__media .product-card-image { transition:opacity .38s ease,transform .55s ease; }
.product-media .product-card-image--hover,.editorial-product-card__media .product-card-image--hover { position:absolute; z-index:1; inset:0; width:100%; height:100%; object-fit:cover; opacity:0; transform:scale(1.025); }
.product-media.has-hover-image::after,.editorial-product-card__media.has-hover-image::after { content:"See it worn"; position:absolute; z-index:3; right:.75rem; bottom:.75rem; padding:.38rem .62rem; border:1px solid rgba(17,35,31,.18); border-radius:999px; color:var(--ink); background:rgba(255,255,255,.9); font-size:.62rem; font-weight:800; letter-spacing:.04em; opacity:0; transform:translateY(5px); transition:opacity .3s ease,transform .3s ease; }
@media (hover:hover) and (pointer:fine) {
  .product-media.has-hover-image:hover .product-card-image--primary,.product-media.has-hover-image:focus-visible .product-card-image--primary,.editorial-product-card__media.has-hover-image:hover .product-card-image--primary,.editorial-product-card__media.has-hover-image:focus-visible .product-card-image--primary { opacity:0; transform:scale(1.02); }
  .product-media.has-hover-image:hover .product-card-image--hover,.product-media.has-hover-image:focus-visible .product-card-image--hover,.editorial-product-card__media.has-hover-image:hover .product-card-image--hover,.editorial-product-card__media.has-hover-image:focus-visible .product-card-image--hover { opacity:1; transform:scale(1); }
  .product-media.has-hover-image:hover::after,.product-media.has-hover-image:focus-visible::after,.editorial-product-card__media.has-hover-image:hover::after,.editorial-product-card__media.has-hover-image:focus-visible::after { opacity:1; transform:translateY(0); }
}
.product-placeholder { display: grid; position: relative; place-items: center; width: 66%; aspect-ratio: 1; border: 1px solid rgba(22,63,53,.18); border-radius: 50%; color: var(--forest); text-align: center; }
.product-placeholder::before { content: ""; position: absolute; top: 29%; left: 29%; width: 42%; aspect-ratio: 1; border: 1px solid rgba(22,63,53,.13); border-radius: 50%; }
.product-placeholder strong { position: relative; z-index: 1; font-size: 1.25rem; letter-spacing: .08em; }
.product-placeholder small { display: block; margin-top: .35rem; color: var(--ink-soft); font-size: .62rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.product-badge { position: absolute; top: 1rem; left: 1rem; z-index: 2; padding: .4rem .65rem; border-radius: 999px; color: var(--ink); background: rgba(255,255,255,.9); font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.product-card__body { padding: 1.25rem; }
.product-card__meta { margin-bottom: .45rem; color: var(--forest-2); font-size: .67rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.product-card__series { margin-bottom: .25rem; color: #778b84; font-family: Georgia,"Times New Roman",serif; font-size: .88rem; }
.product-card h3 { min-height: 2.7em; margin-bottom: .6rem; font-size: 1.16rem; letter-spacing: -.025em; }
.product-card h3 a { text-decoration: none; }
.product-card__price { margin: 0 0 1rem; font-weight: 800; }
.product-card__actions { display: flex; gap: .5rem; }
.product-card__actions .button { flex: 1; min-height: 2.75rem; padding: .7rem; font-size: .74rem; }
.filters { display: flex; flex-wrap: wrap; gap: .5rem; margin: -1rem 0 2.5rem; }
.filter-button { padding: .65rem 1rem; border: 1px solid var(--line); border-radius: 999px; color: var(--ink); background: transparent; font-size: .78rem; font-weight: 750; }
.filter-button.is-active { border-color: var(--ink); color: var(--white); background: var(--ink); }

.split { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(3rem,7vw,7rem); }
.material-stack { display: grid; gap: .8rem; }
.material-row { display: grid; grid-template-columns: 110px 1fr; gap: 1.4rem; padding: 1.25rem 0; border-top: 1px solid var(--line); }
.material-row strong { font-size: .88rem; }
.material-row p { margin: 0; color: var(--ink-soft); font-size: .9rem; }
.comparison-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.comparison { width: 100%; min-width: 700px; border-collapse: collapse; }
.comparison th, .comparison td { padding: 1.2rem 1.35rem; border-bottom: 1px solid var(--line); text-align: left; }
.comparison th { color: var(--forest-2); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; }
.comparison tr:last-child td { border-bottom: 0; }
.stat-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; margin-top: 3rem; }
.stat { padding: 1.4rem; border: 1px solid rgba(255,255,255,.16); border-radius: var(--radius); }
.stat strong { display: block; margin-bottom: .3rem; color: var(--accent); font-size: 1.4rem; }
.stat span { color: #c3d2cd; font-size: .82rem; }
.wholesale-panel { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 3rem; padding: clamp(2rem,5vw,4.5rem); border-radius: var(--radius-lg); color: var(--white); background: var(--forest); }
.wholesale-panel h2 { max-width: 780px; }
.wholesale-panel p { max-width: 650px; color: #c8d8d2; }
.faq-list { border-top: 1px solid var(--line); }
.faq-item { border-bottom: 1px solid var(--line); }
.faq-item button { display: flex; width: 100%; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.4rem 0; border: 0; color: var(--ink); background: transparent; font-weight: 750; text-align: left; }
.faq-answer { display: none; max-width: 780px; padding: 0 0 1.5rem; color: var(--ink-soft); }
.faq-item.is-open .faq-answer { display: block; }

.page-hero { padding: clamp(5rem,10vw,9rem) 0 4rem; background: var(--sand); }
.page-hero h1 { max-width: 950px; font-size: clamp(3rem,6vw,6rem); }
.shop-hero { padding: clamp(3rem,6vw,5rem) 0; background: var(--sand); }
.shop-hero__grid { display: grid; grid-template-columns: minmax(0,.78fr) minmax(580px,1.22fr); align-items: center; gap: clamp(3rem,6vw,6rem); }
.shop-hero__copy h1 { max-width: 660px; font-size: clamp(3.3rem,5.4vw,5.8rem); }
.shop-hero__copy .lede { max-width: 560px; }
.shop-hero__facts { display: flex; flex-wrap: wrap; gap: 1.8rem; margin-top: 2.5rem; }
.shop-hero__facts span { display: grid; color: var(--ink-soft); font-size: .7rem; }
.shop-hero__facts strong { color: var(--ink); font-size: 1.05rem; }
.scene-mosaic { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.scene-card { position: relative; min-height: 245px; overflow: hidden; border-radius: var(--radius); background: var(--forest); text-decoration: none; }
.scene-card img { width: 100%; height: 100%; min-height: inherit; object-fit: cover; transition: transform .5s ease; }
.scene-card::after { content: ""; position: absolute; inset: 35% 0 0; background: linear-gradient(transparent,rgba(9,25,21,.84)); }
.scene-card > span { position: absolute; z-index: 2; right: 1.1rem; bottom: 1rem; left: 1.1rem; color: var(--white); }
.scene-card strong,.scene-card small { display: block; }
.scene-card strong { font-size: 1.2rem; }
.scene-card small { max-width: 270px; margin-top: .2rem; color: #d6e0dc; font-size: .7rem; line-height: 1.35; }
.scene-card:hover img { transform: scale(1.035); }
.shop-products { padding-top: clamp(3.5rem,6vw,6rem); }
.shop-heading { margin-bottom: 1.5rem; }
.shop-products .filters { margin-top: 0; }
.page-content { padding: 4rem 0 7rem; }
.page-hero--commerce { padding: clamp(3rem,6vw,5rem) 0 2.5rem; }
.page-hero--commerce h1 { font-size: clamp(2.8rem,5vw,4.8rem); }
.page-content--commerce { padding-top: 2.5rem; }
.commerce-content,.commerce-content .alignwide { width: 100%; max-width: none; }
.commerce-content .wc-block-cart,.commerce-content .wc-block-checkout { margin-inline: 0; }
.prose { max-width: 820px; }
.prose h2 { margin-top: 2.2em; font-size: clamp(1.8rem,3vw,2.8rem); }
.prose h3 { margin-top: 1.8em; }
.prose ul { padding-left: 1.2rem; }
.content-grid { display: grid; grid-template-columns: minmax(0,1fr) 330px; gap: 5rem; }
.info-card { padding: 1.5rem; border: 1px solid var(--line); border-radius: var(--radius); background: var(--mist); }
.info-card + .info-card { margin-top: 1rem; }

.product-detail { padding: 2rem 0 7rem; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: .55rem; margin-bottom: 2rem; color: var(--ink-soft); font-size: .72rem; }
.breadcrumbs a { text-decoration: none; }
.product-detail__top { display: grid; grid-template-columns: minmax(0,1.08fr) minmax(390px,.92fr); align-items: start; gap: clamp(3rem,6vw,6rem); }
.product-gallery-main { display: grid; place-items: center; aspect-ratio: 1; overflow: hidden; border-radius: var(--radius-lg); background: linear-gradient(145deg,#eaf1ed,#faf7ef); }
.product-gallery-main img { width: 100%; height: 100%; object-fit: cover; }
.gallery-count { position: absolute; z-index: 2; right: 1rem; bottom: 1rem; padding: .45rem .7rem; border-radius: 999px; color: var(--white); background: rgba(17,35,31,.75); font-size: .68rem; font-weight: 800; }
.product-gallery-main { position: relative; }
.product-gallery-thumbs { display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: .65rem; margin-top: .75rem; }
.product-gallery-thumb { padding: 0; aspect-ratio: 1; overflow: hidden; border: 1px solid var(--line); border-radius: .8rem; background: var(--white); cursor: pointer; transition: border-color .2s ease, box-shadow .2s ease; }
.product-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; }
.product-gallery-thumb:hover,.product-gallery-thumb:focus-visible,.product-gallery-thumb.is-active { border-color: var(--forest); box-shadow: 0 0 0 2px rgba(22,63,53,.12); }
.product-context { margin-top: 3.25rem; }
.product-context__heading { display: flex; align-items: end; justify-content: space-between; gap: 1rem; margin-bottom: 1.25rem; }
.product-context__heading .eyebrow { margin: 0; }
.product-context__heading h2 { margin: 0; font-size: clamp(1.8rem,3vw,2.8rem); }
.product-context__grid { display: grid; grid-template-columns: 1fr 1fr; gap: .85rem; }
.product-context__card { margin: 0; overflow: hidden; border: 1px solid var(--line); border-radius: var(--radius); background: var(--white); }
.product-context__card img { width: 100%; aspect-ratio: 1.15; object-fit: cover; }
.product-context__card figcaption { padding: 1rem 1.1rem 1.15rem; }
.product-context__card strong,.product-context__card span { display: block; }
.product-context__card strong { margin-bottom: .2rem; font-size: .9rem; }
.product-context__card span { color: var(--ink-soft); font-size: .72rem; line-height: 1.45; }
.product-summary { position: sticky; top: 125px; padding-top: .25rem; }
.product-summary h1 { max-width: 650px; font-size: clamp(2.35rem,3.35vw,3.45rem); line-height: .98; letter-spacing: -.045em; text-wrap: balance; }
.model { color: var(--forest-2); font-size: .75rem; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.price { margin: 1.5rem 0; font-size: 1.4rem; font-weight: 850; }
.price small { color: var(--ink-soft); font-size: .65rem; letter-spacing: .1em; }
.product-proof { display: flex; flex-wrap: wrap; gap: .55rem 1rem; margin-top: 1.25rem; color: var(--forest-2); font-size: .72rem; font-weight: 750; }
.product-proof span::before { content: "✓ "; font-weight: 900; }
.configured-cart { padding-block: .25rem; }
.product-choice { margin: 0; padding: 1.05rem 0; border: 0; border-top: 1px solid var(--line); }
.product-choice legend { float: left; width: 100%; margin-bottom: .7rem; font-size: .72rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.product-choice legend + * { clear: both; }
.choice-list { display: flex; flex-wrap: wrap; gap: .5rem; }
.choice-pill { position: relative; cursor: pointer; }
.choice-pill input { position: absolute; opacity: 0; pointer-events: none; }
.choice-pill > span:last-child { display: inline-flex; align-items: center; min-height: 2.55rem; padding: .58rem .85rem; border: 1px solid var(--line); border-radius: 999px; background: var(--white); font-size: .73rem; font-weight: 750; transition: border-color .2s ease,box-shadow .2s ease,background .2s ease; }
.choice-pill input:checked ~ span:last-child { border-color: var(--ink); background: var(--mist); box-shadow: 0 0 0 1px var(--ink); }
.choice-pill input:focus-visible ~ span:last-child { outline: 3px solid rgba(40,93,80,.35); outline-offset: 2px; }
.rating-list { display: flex; flex-wrap: wrap; gap: .5rem; }
.rating-pill { display: inline-flex; min-height: 2.55rem; align-items: center; padding: .58rem .9rem; border: 1px solid var(--ink); border-radius: 999px; background: var(--mist); font-size: .73rem; font-weight: 800; }
.choice-note { margin: .65rem 0 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.45; }
.product-choice--colors .choice-pill { display: inline-grid; grid-template-columns: auto 1fr; align-items: center; }
.choice-swatch { position: absolute; z-index: 1; left: .55rem; width: 1.35rem; height: 1.35rem; border: 1px solid rgba(17,35,31,.18); border-radius: 50%; background: var(--swatch); pointer-events: none; }
.product-choice--colors .choice-pill > span:last-child { padding-left: 2.25rem; }
.purchase-row { display: grid; grid-template-columns: 92px 1fr; gap: .65rem; margin-top: 1rem; }
.quantity-field span { display: block; margin-bottom: .3rem; font-size: .65rem; font-weight: 800; text-transform: uppercase; }
.quantity-field input { width: 100%; min-height: 3.25rem; padding: .7rem; border: 1px solid var(--line); border-radius: 999px; background: var(--white); text-align: center; }
.purchase-row .button { align-self: stretch; }
.purchase-buttons { display: grid; grid-template-columns: minmax(120px,.7fr) minmax(190px,1.3fr); gap: .6rem; align-self: end; }
.purchase-buttons .button { width: 100%; min-height: 3.25rem; }
.retail-order-note { margin: .7rem 0 0; color: var(--ink-soft); font-size: .68rem; line-height: 1.5; }
.product-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 1rem; margin-top: .8rem; }
.product-actions--business { padding: .85rem 0; border-block: 1px solid var(--line); }
.product-actions--business > span { margin-right: auto; color: var(--ink-soft); font-size: .7rem; font-weight: 800; }
.text-action { color: var(--forest-2); font-size: .8rem; font-weight: 800; text-decoration: none; }
.summary-facts { display: grid; grid-template-columns: 1fr 1fr; gap: .75rem; margin: 2rem 0; }
.summary-fact { padding: 1rem; border: 1px solid var(--line); border-radius: var(--radius-sm); }
.summary-fact span { display: block; color: var(--ink-soft); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.summary-fact strong { display: block; margin-top: .25rem; font-size: .9rem; }
.product-benefit-strip { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 5rem; border-block: 1px solid var(--line); }
.product-benefit-strip div { padding: 1.5rem; border-right: 1px solid var(--line); }
.product-benefit-strip div:first-child { border-left: 1px solid var(--line); }
.product-benefit-strip strong,.product-benefit-strip span { display: block; }
.product-benefit-strip strong { margin-bottom: .35rem; font-size: .72rem; letter-spacing: .08em; text-transform: uppercase; }
.product-benefit-strip span { color: var(--ink-soft); font-size: .82rem; }
.product-story { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(3rem,7vw,7rem); align-items: start; padding-top: 7rem; }
.spec-list { border-top: 1px solid var(--line); }
.spec-list div { display: grid; grid-template-columns: 140px 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid var(--line); }
.spec-list span { color: var(--ink-soft); font-size: .75rem; }
.spec-list strong { font-size: .83rem; }
.product-sections { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; margin-top: 5rem; }
.product-section { padding: clamp(1.5rem,3vw,2.4rem); border: 1px solid var(--line); border-radius: var(--radius); }
.product-section--wide { grid-column: 1/-1; }
.notice { padding: 1rem 1.2rem; border-left: 3px solid var(--forest-2); background: var(--mist); color: var(--ink-soft); font-size: .86rem; }

.inquiry-form { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.inquiry-form .full { grid-column: 1/-1; }
.field label { display: block; margin-bottom: .35rem; font-size: .78rem; font-weight: 800; }
.field input, .field select, .field textarea { width: 100%; padding: .9rem 1rem; border: 1px solid #bdcbc5; border-radius: .55rem; color: var(--ink); background: var(--white); }
.field textarea { min-height: 135px; resize: vertical; }
.form-status { grid-column: 1/-1; padding: .9rem 1rem; border-radius: var(--radius-sm); font-size: .88rem; }
.form-status--success { color: #184b35; background: #e3f3e9; }
.form-status--warning { color: #6b4910; background: #fff1cf; }
.form-status--error { color: #812f26; background: #f9e3df; }
.honeypot { position: absolute !important; left: -10000px !important; }

.site-footer { padding: 5rem 0 2rem; color: #c7d6d1; background: var(--ink); }
.footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3,1fr); gap: 3rem; }
.footer-brand img { width: 190px; filter: brightness(0) invert(1); }
.footer-brand p { max-width: 350px; margin-top: 1.4rem; }
.footer-title { margin-bottom: 1rem; color: var(--white); font-size: .72rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.footer-links { margin: 0; padding: 0; list-style: none; }
.footer-links li { margin-bottom: .55rem; }
.footer-links a { color: #c7d6d1; font-size: .86rem; text-decoration: none; }
.footer-bottom { display: flex; justify-content: space-between; gap: 2rem; margin-top: 4rem; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.12); font-size: .72rem; }
.whatsapp-float { display: grid; position: fixed; z-index: 45; right: 1.25rem; bottom: 1.25rem; place-items: center; width: 54px; height: 54px; border-radius: 50%; color: var(--white); background: #1e8e5a; box-shadow: var(--shadow); font-weight: 900; text-decoration: none; }
.mobile-inquiry-bar { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { width: min(calc(100% - 2rem),var(--container)); margin: 1rem auto; padding: 1rem 1.2rem; border: 1px solid var(--line); background: var(--white); list-style: none; }

@media (max-width: 1050px) {
  .primary-nav { display: none; position: absolute; top: 100%; left: 0; width: 100%; padding: 1.5rem; border-bottom: 1px solid var(--line); background: var(--paper); }
  .primary-nav.is-open { display: block; }
  .primary-nav ul { align-items: stretch; flex-direction: column; }
  .primary-nav a { display: block; padding: .45rem 0; font-size: 1rem; }
  .menu-toggle { display: block; }
  .nav-wrap { grid-template-columns: auto 1fr auto; }
  .nav-actions > a { display: none !important; }
  .product-grid { grid-template-columns: repeat(3,1fr); }
  .use-grid, .solution-grid { grid-template-columns: repeat(2,1fr); }
  .hero--product .hero-grid { grid-template-columns: 1fr 1fr; gap: 2rem; }
  .hero-product-stage { min-height: 520px; }
  .shop-hero__grid { grid-template-columns: 1fr; }
  .shop-hero__copy { max-width: 760px; }
}

@media (max-width: 780px) {
  body { padding-bottom: 68px; }
  .trust-bar .container span:nth-child(n+2) { display: none; }
  .nav-wrap { min-height: 66px; }
  .brand img { width: 158px; }
  .nav-actions .button { display: none; }
  .hero-grid, .hero--product .hero-grid, .split, .product-detail__top, .content-grid, .product-story { grid-template-columns: 1fr; }
  .hero-grid { gap: 2rem; padding-block: 4rem 3rem; }
  .hero-visual { width: min(100%,480px); margin: auto; }
  .section-heading { align-items: start; flex-direction: column; }
  .product-grid { grid-template-columns: repeat(2,1fr); }
  .product-card__actions { flex-direction: column; }
  .wholesale-panel { grid-template-columns: 1fr; }
  .product-sections { grid-template-columns: 1fr; }
  .product-summary { position: static; }
  .home-trust .container { grid-template-columns: 1fr 1fr; }
  .home-trust span:nth-child(odd) { border-left: 1px solid var(--line); }
  .product-benefit-strip { grid-template-columns: 1fr; }
  .product-benefit-strip div { border-left: 1px solid var(--line); border-bottom: 1px solid var(--line); }
  .product-benefit-strip div:last-child { border-bottom: 0; }
  .scene-card { min-height: 220px; }
  .product-section--wide { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .footer-brand { grid-column: 1/-1; }
  .mobile-inquiry-bar { display: grid; position: fixed; z-index: 60; bottom: 0; left: 0; width: 100%; grid-template-columns: 1fr 1fr; gap: .5rem; padding: .55rem .75rem; border-top: 1px solid var(--line); background: var(--paper); }
  .mobile-inquiry-bar .button { min-height: 2.8rem; font-size: .76rem; }
  .whatsapp-float { display: none; }
}

@media (max-width: 520px) {
  .container { width: min(calc(100% - 1.25rem),var(--container)); }
  h1 { font-size: 2.75rem; }
  .hero-meta { gap: .7rem; flex-direction: column; }
  .use-grid, .solution-grid, .product-grid, .stat-grid, .summary-facts, .inquiry-form { grid-template-columns: 1fr; }
  .use-card { min-height: 250px; }
  .use-icon { margin-bottom: 3rem; }
  .inquiry-form .full { grid-column: auto; }
  .footer-grid { grid-template-columns: 1fr; }
  .footer-brand { grid-column: auto; }
  .footer-bottom { flex-direction: column; }
  .product-gallery-thumbs { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .scene-mosaic,.product-context__grid { grid-template-columns: 1fr; }
  .scene-card { min-height: 250px; }
  .product-context__heading { align-items: start; flex-direction: column; }
  .hero-product-stage { min-height: 410px; }
  .hero-product-stage > img { width: 88%; }
  .hero-product-card { right: 2%; bottom: 0; width: 62%; }
  .hero-chip--one { left: 0; }
  .purchase-row { grid-template-columns: 1fr; }
  .quantity-field { max-width: 90px; }
  .purchase-buttons { grid-template-columns: 1fr; }
  .product-summary h1 { font-size: clamp(2.15rem,10vw,2.8rem); }
  .product-actions--business > span { width: 100%; }
}

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

/* Guided shopping and product-decision upgrades. */
.fit-finder { scroll-margin-top: 105px; padding: clamp(5rem,9vw,8rem) 0; color: #f4f2eb; background: #16231f; }
.fit-finder__grid { display: grid; grid-template-columns: minmax(260px,.72fr) minmax(0,1.28fr); gap: clamp(3rem,7vw,7rem); align-items: start; }
.fit-finder__intro { position: sticky; top: 125px; }
.fit-finder__intro h2 { margin: 0 0 1.5rem; color: #fff; font-size: clamp(3rem,5vw,5.2rem); line-height: .92; }
.fit-finder__intro h2 em { color: #9bb3aa; }
.fit-finder__intro > p:not(.editorial-kicker) { max-width: 430px; color: #bdcbc6; }
.fit-finder__time { display: inline-block; margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.18); color: #dce5e1; font-size: .72rem; }
.fit-finder__form { display: grid; gap: 2rem; }
.fit-finder__form fieldset { margin: 0; padding: 0 0 2rem; border: 0; border-bottom: 1px solid rgba(255,255,255,.17); }
.fit-finder__form legend { width: 100%; margin-bottom: 1rem; color: #fff; font-family: Georgia,"Times New Roman",serif; font-size: 1.45rem; }
.fit-finder__form legend span { margin-right: .75rem; color: #91aaa1; font-family: Arial,sans-serif; font-size: .65rem; font-weight: 800; letter-spacing: .12em; }
.fit-choice-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .7rem; }
.fit-choice-grid--three { grid-template-columns: repeat(3,minmax(0,1fr)); }
.fit-choice-grid label { position: relative; cursor: pointer; }
.fit-choice-grid input { position: absolute; opacity: 0; }
.fit-choice-grid label > span { display: flex; min-height: 4.2rem; align-items: center; padding: 1rem 1.15rem; border: 1px solid rgba(255,255,255,.2); border-radius: .8rem; color: #d7e0dc; font-size: .82rem; font-weight: 750; transition: .2s ease; }
.fit-choice-grid input:checked + span { border-color: #dff53f; color: #101714; background: #dff53f; }
.fit-choice-grid input:focus-visible + span { outline: 3px solid rgba(223,245,63,.35); outline-offset: 3px; }
.fit-finder__submit { justify-self: start; border: 0; background: #f5f2e9; }
.fit-finder__result { grid-column: 2; display: grid; grid-template-columns: 1fr minmax(180px,.55fr); gap: 2rem; align-items: center; padding: clamp(1.5rem,4vw,3rem); border: 1px solid rgba(255,255,255,.18); border-radius: 1.4rem; background: rgba(255,255,255,.06); }
.fit-finder__result[hidden] { display: none; }
.fit-finder__result h3 { margin-bottom: .8rem; color: #fff; font-size: clamp(2rem,3.5vw,3.4rem); }
.fit-finder__result p:not(.editorial-kicker) { color: #c6d2cd; }
.fit-finder__result-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; margin-top: 1.5rem; }
.fit-finder__result-actions button { border: 0; color: #fff; background: none; text-decoration: underline; cursor: pointer; }
.fit-finder__result-image { display: grid; place-items: center; aspect-ratio: 1; overflow: hidden; border-radius: 1rem; background: #f7f7f2; }
.fit-finder__result-image img { width: 100%; height: 100%; object-fit: cover; }
.editorial-catalog__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.editorial-catalog__cta { display: flex; align-items: center; justify-content: space-between; gap: 2rem; margin-top: 4rem; padding-top: 2rem; border-top: 1px solid var(--line); }
.editorial-catalog__cta p { max-width: 540px; margin: 0; color: #61716c; }
.editorial-product-card__series { margin-bottom: .3rem; color: #6c847c; font-size: .58rem; font-weight: 850; letter-spacing: .12em; text-transform: uppercase; }
.product-series { margin: 0 0 .35rem; color: var(--forest-2); font-family: Georgia,"Times New Roman",serif; font-size: 1rem; }
.product-value-points { display: grid; gap: .55rem; margin: 1.25rem 0 0; padding: 0; list-style: none; }
.product-value-points li { position: relative; padding-left: 1.35rem; color: var(--ink-soft); font-size: .82rem; }
.product-value-points li::before { content: "✓"; position: absolute; left: 0; color: var(--forest-2); font-weight: 900; }
.purchase-assurance { margin: 1.2rem 0 2rem; border-top: 1px solid var(--line); }
.purchase-assurance > div { display: grid; grid-template-columns: 120px 1fr; gap: 1rem; padding: .9rem 0; border-bottom: 1px solid var(--line); }
.purchase-assurance strong { font-size: .7rem; letter-spacing: .06em; text-transform: uppercase; }
.purchase-assurance span { color: var(--ink-soft); font-size: .74rem; line-height: 1.5; }
.purchase-assurance a { color: var(--forest-2); font-weight: 750; }
.product-section__note { margin-top: 1.25rem; padding-top: 1rem; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .78rem; }
#product-configurator { scroll-margin-top: 120px; }
.business-overview { padding: clamp(4rem,8vw,7rem) 0; background: var(--sand); }
.business-intro { display: grid; grid-template-columns: 1fr .8fr; gap: clamp(3rem,7vw,7rem); align-items: end; }
.business-intro h2 { max-width: 760px; margin: 0; font-size: clamp(3rem,5.5vw,5.8rem); line-height: .95; }
.business-intro > p { max-width: 540px; margin: 0 0 .5rem; color: var(--ink-soft); font-size: 1.05rem; }
.business-audiences { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 5rem; border-block: 1px solid var(--line); }
.business-audiences > div { padding: 2rem; border-right: 1px solid var(--line); }
.business-audiences > div:first-child { border-left: 1px solid var(--line); }
.business-audiences span,.business-process__grid span { color: var(--forest-2); font-size: .65rem; font-weight: 850; letter-spacing: .12em; }
.business-audiences strong { display: block; margin: 1.5rem 0 .6rem; font-family: Georgia,"Times New Roman",serif; font-size: 1.45rem; }
.business-audiences p { margin: 0; color: var(--ink-soft); font-size: .82rem; }
.business-process { padding: clamp(4rem,7vw,6rem) 0; color: #fff; background: var(--ink); }
.business-process__grid { display: grid; grid-template-columns: repeat(4,1fr); margin-top: 2rem; border-top: 1px solid rgba(255,255,255,.18); }
.business-process__grid > div { padding: 2rem 1.5rem 1rem 0; }
.business-process__grid h3 { margin: 1.5rem 0 .7rem; color: #fff; font-size: 1.2rem; }
.business-process__grid p { margin: 0; color: #bdcbc6; font-size: .78rem; }
.business-inquiry { background: #f6f4ed; }
.business-checklist { display: flex; flex-wrap: wrap; gap: .55rem; margin-top: 2rem; }
.business-checklist span { padding: .6rem .85rem; border: 1px solid var(--line); border-radius: 999px; background: #fff; font-size: .72rem; font-weight: 750; }

@media (max-width: 900px) {
  .fit-finder__grid { grid-template-columns: 1fr; }
  .fit-finder__intro { position: static; }
  .fit-finder__result { grid-column: 1; }
  .editorial-catalog__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .business-intro { grid-template-columns: 1fr; }
  .business-audiences { grid-template-columns: 1fr; }
  .business-audiences > div,.business-audiences > div:first-child { border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); border-left: 1px solid var(--line); }
  .business-audiences > div:last-child { border-bottom: 0; }
  .business-process__grid { grid-template-columns: repeat(2,1fr); }
}

@media (max-width: 560px) {
  .fit-choice-grid,.fit-choice-grid--three { grid-template-columns: 1fr; }
  .fit-finder__result { grid-template-columns: 1fr; }
  .fit-finder__result-image { order: -1; max-width: 260px; }
  .editorial-catalog__grid { grid-template-columns: 1fr; }
  .editorial-catalog__cta { align-items: flex-start; flex-direction: column; }
  .purchase-assurance > div { grid-template-columns: 1fr; gap: .3rem; }
  .business-process__grid { grid-template-columns: 1fr; }
}

/* Keep the curated home range intentionally smaller than the full shop grid. */
.home .editorial-catalog__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
@media (max-width: 900px) { .home .editorial-catalog__grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 560px) { .home .editorial-catalog__grid { grid-template-columns: 1fr; } }

/* Editorial home — purpose-built from the approved visual direction. */
.home .trust-bar { padding: .42rem 0; background: #111816; color: #fff; font-size: .62rem; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.home .trust-bar .container { justify-content: center; gap: clamp(2rem,6vw,5.5rem); }
.home .site-header { background: rgba(248,246,240,.96); }
.home .nav-wrap { min-height: 82px; }
.home .brand img { width: 150px; }
.home .primary-nav a { font-size: .76rem; }
.home .nav-actions .button { min-height: auto; padding: .2rem 0; border: 0; background: transparent; font-family: Georgia,"Times New Roman",serif; font-size: 1rem; font-weight: 400; }
.home-editorial { --editorial-paper: #f7f5ef; --editorial-ink: #141b19; --editorial-sage: #8ba49c; --editorial-pale: #dce9e5; --editorial-dark: #172521; --editorial-lime: #dcff3f; color: var(--editorial-ink); background: var(--editorial-paper); }
.home-editorial h1,.home-editorial h2,.home-editorial h3 { font-family: Georgia,"Times New Roman",serif; font-weight: 400; letter-spacing: -.055em; }
.home-editorial em { color: var(--editorial-sage); font-weight: 400; }
.editorial-kicker { margin: 0 0 1rem; color: #78968d; font-size: .66rem; font-weight: 850; letter-spacing: .2em; text-transform: uppercase; }
.editorial-hero { min-height: 760px; border-bottom: 1px solid #d8d6cf; background: var(--editorial-paper); }
.editorial-hero__grid { display: grid; grid-template-columns: .82fr 1.18fr; align-items: center; gap: clamp(3rem,7vw,7rem); min-height: 760px; padding-block: 4.5rem; }
.editorial-hero__copy h1 { margin: 0 0 1.6rem; font-size: clamp(4rem,5.8vw,6.5rem); line-height: .86; }
.editorial-lede { max-width: 540px; margin-bottom: 2rem; color: #50605c; font-size: 1rem; line-height: 1.65; }
.editorial-actions { display: flex; align-items: center; gap: 1.7rem; }
.editorial-button { display: inline-flex; min-height: 3.5rem; align-items: center; justify-content: space-between; gap: 2rem; padding: .9rem 1.25rem; border: 1px solid var(--editorial-ink); border-radius: .35rem; color: #fff; background: var(--editorial-ink); font-size: .75rem; font-weight: 800; text-decoration: none; }
.editorial-button:hover { color: var(--editorial-lime); }
.editorial-text-link { font-size: .78rem; font-weight: 800; }
.editorial-stats { display: flex; gap: 3rem; margin-top: 3rem; padding-top: 1.6rem; border-top: 1px solid #d6d4cd; }
.editorial-stats span { display: grid; }
.editorial-stats strong { font-family: Georgia,"Times New Roman",serif; font-size: 1.35rem; font-weight: 400; }
.editorial-stats small { color: #60706c; font-size: .58rem; }
.editorial-collage { position: relative; min-height: 610px; overflow: hidden; border-radius: 2rem; background: linear-gradient(135deg,#dceae6 0 53%,#dff476 53% 100%); }
.editorial-collage::after { content: ""; position: absolute; right: -10%; bottom: -22%; width: 65%; aspect-ratio: 1; border-radius: 50%; background: rgba(255,255,255,.34); filter: blur(2px); }
.editorial-collage__card { position: absolute; z-index: 2; display: block; overflow: hidden; border-radius: 1rem; background: #fff; box-shadow: 0 25px 50px rgba(20,27,25,.12); text-decoration: none; }
.editorial-collage__card span { position: absolute; z-index: 2; top: 1rem; left: 1rem; padding: .35rem .62rem; border-radius: 999px; background: rgba(255,255,255,.92); font-size: .65rem; font-weight: 800; }
.editorial-collage__card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.editorial-collage__card:hover img { transform: scale(1.025); }
.editorial-collage__main { top: 20%; left: 23%; width: 54%; aspect-ratio: .95; transform: rotate(-1deg); }
.editorial-collage__top { top: 5%; right: 3%; width: 31%; aspect-ratio: .78; transform: rotate(6deg); }
.editorial-collage__bottom { bottom: 5%; left: 5%; width: 30%; aspect-ratio: .82; transform: rotate(-5deg); }
.editorial-collage__rating { position: absolute; z-index: 4; right: 4%; bottom: 5%; display: grid; place-items: center; width: 128px; aspect-ratio: 1; border: 1px dashed #81908b; border-radius: 50%; color: #fff; background: var(--editorial-ink); text-align: center; }
.editorial-collage__rating small,.editorial-collage__rating b { font-size: .55rem; letter-spacing: .1em; text-transform: uppercase; }
.editorial-collage__rating strong { margin: -.25rem 0; font-family: Georgia,"Times New Roman",serif; font-size: 2rem; font-weight: 400; }
.editorial-benefits { border-bottom: 1px solid #d8d6cf; background: #fff; }
.editorial-benefits .container { display: grid; grid-template-columns: repeat(4,1fr); }
.editorial-benefits span { padding: 1.25rem; border-right: 1px solid #e1e0da; color: #52635f; font-size: .65rem; font-weight: 800; letter-spacing: .05em; text-align: center; }
.editorial-benefits span:first-child { border-left: 1px solid #e1e0da; }
.editorial-section { padding: clamp(6rem,9vw,10rem) 0; }
.editorial-use__heading { display: grid; grid-template-columns: .65fr 1.25fr .8fr; align-items: end; gap: 3rem; margin-bottom: 3.25rem; }
.editorial-use__heading .editorial-kicker { margin: 0; }
.editorial-use__heading h2 { margin: 0; font-size: clamp(3.2rem,5vw,5.2rem); line-height: .92; }
.editorial-use__heading > p:last-child { max-width: 390px; margin: 0 0 .35rem; color: #50605c; font-size: .86rem; }
.editorial-use__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1rem; }
.editorial-use-card { position: relative; min-height: 520px; overflow: hidden; border-radius: 1.35rem; color: #fff; background: #333; text-decoration: none; }
.editorial-use-card::after { content: ""; position: absolute; inset: 30% 0 0; background: linear-gradient(transparent,rgba(7,13,11,.88)); }
.editorial-use-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.editorial-use-card:hover img { transform: scale(1.035); }
.editorial-use-card__label { position: absolute; z-index: 2; top: 1.35rem; left: 1.35rem; padding: .45rem .75rem; border-radius: 999px; color: var(--editorial-ink); background: #fff; font-size: .6rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.editorial-use-card__content { position: absolute; z-index: 2; right: 1.5rem; bottom: 1.5rem; left: 1.5rem; display: grid; }
.editorial-use-card__content strong { max-width: 350px; font-family: Georgia,"Times New Roman",serif; font-size: clamp(1.65rem,2.2vw,2.35rem); font-weight: 400; line-height: 1; letter-spacing: -.04em; }
.editorial-use-card__content small { margin-top: .75rem; font-size: .72rem; }
.editorial-use-card__content b { margin-top: 1.25rem; font-size: .68rem; }
.editorial-featured { padding: 7rem 0; color: #fff; background: var(--editorial-dark); }
.editorial-featured__heading { display: flex; align-items: end; justify-content: space-between; gap: 2rem; margin-bottom: 2.5rem; }
.editorial-featured__heading h2 { margin: 0; font-size: clamp(3rem,4.5vw,4.8rem); }
.editorial-featured__heading a { color: #fff; font-size: .7rem; font-weight: 800; }
.editorial-featured__grid,.editorial-catalog__grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 1.1rem; }
.editorial-product-card { min-width: 0; }
.editorial-product-card__media { display: grid; position: relative; place-items: center; aspect-ratio: 1; overflow: hidden; border-radius: 1.15rem; background: #edf0eb; }
.editorial-product-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.editorial-product-card:hover .editorial-product-card__media img { transform: scale(1.025); }
.editorial-product-card__category { position: absolute; z-index: 2; top: .9rem; left: .9rem; padding: .35rem .6rem; border-radius: 999px; color: var(--editorial-ink); background: #fff; font-size: .58rem; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.editorial-product-card__body { padding: 1.15rem .12rem 0; }
.editorial-product-card__topline { display: flex; justify-content: space-between; gap: 1rem; color: #78938a; font-size: .58rem; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.editorial-product-card__topline a { color: inherit; }
.editorial-product-card h3 { min-height: 2em; margin: .7rem 0 .35rem; font-size: 1.45rem; line-height: 1; }
.editorial-product-card h3 a { text-decoration: none; }
.editorial-product-card__spec { min-height: 1.3em; margin: 0; color: #61716d; font-size: .65rem; line-height: 1.3; }
.editorial-product-card__buy { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding-top: .85rem; border-top: 1px solid rgba(100,115,110,.25); font-family: Georgia,"Times New Roman",serif; }
.editorial-product-card__buy a { font-family: var(--font); font-size: .62rem; font-weight: 850; }
.editorial-featured .editorial-product-card__media { background: #f3f4ef; }
.editorial-featured .editorial-product-card__topline,.editorial-featured .editorial-product-card__spec { color: #9db0aa; }
.editorial-featured .editorial-product-card__buy { border-color: rgba(255,255,255,.25); }
.editorial-catalog__heading { display: flex; align-items: end; justify-content: space-between; margin-bottom: 1.6rem; }
.editorial-catalog__heading h2 { margin: 0; font-size: clamp(3.5rem,5vw,5.6rem); }
.editorial-catalog__heading > span { color: #6c7c77; font-size: .7rem; }
.editorial-filters { margin: 0 0 2rem; padding-bottom: 1.4rem; border-bottom: 1px solid #d9d7d0; }
.editorial-filters .filter-button { padding: .55rem 1rem; border-color: #d5d5ce; background: transparent; font-size: .65rem; }
.editorial-filters .filter-button.is-active { border-color: var(--editorial-ink); background: var(--editorial-ink); }
.editorial-catalog__grid { row-gap: 3.5rem; }
.editorial-technology { padding: clamp(6rem,9vw,9rem) 0; background: var(--editorial-pale); }
.editorial-technology__grid { display: grid; grid-template-columns: 1fr .9fr; align-items: center; gap: clamp(4rem,8vw,8rem); }
.editorial-technology__visual { position: relative; display: grid; place-items: center; min-height: 620px; overflow: hidden; border-radius: 2rem; background: rgba(255,255,255,.24); }
.editorial-rings,.editorial-rings::before,.editorial-rings::after { position: absolute; border: 1px solid rgba(47,86,74,.16); border-radius: 50%; }
.editorial-rings { inset: 8%; }
.editorial-rings::before,.editorial-rings::after { content: ""; }
.editorial-rings::before { inset: 15%; }
.editorial-rings::after { inset: 31%; }
.editorial-technology__visual img { position: relative; z-index: 2; width: 58%; aspect-ratio: 1; object-fit: contain; mix-blend-mode: multiply; filter: drop-shadow(0 25px 30px rgba(20,27,25,.12)); }
.editorial-technology__tag { position: absolute; z-index: 3; bottom: 1.5rem; left: 1.5rem; padding: .5rem .75rem; border-radius: 999px; background: #fff; font-size: .6rem; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.editorial-technology__copy h2 { margin: 0 0 1rem; font-size: clamp(3.4rem,4.8vw,5.4rem); line-height: .9; }
.editorial-technology__copy > p:not(.editorial-kicker) { color: #53655f; font-size: .86rem; }
.editorial-technology__copy ol { margin: 2rem 0; padding: 0; border-top: 1px solid rgba(52,79,71,.2); list-style: none; }
.editorial-technology__copy li { display: grid; grid-template-columns: 40px 1fr; gap: 1rem; padding: 1rem 0; border-bottom: 1px solid rgba(52,79,71,.2); }
.editorial-technology__copy li > span { color: #69847c; font-size: .62rem; }
.editorial-technology__copy li div { display: grid; }
.editorial-technology__copy li strong { font-family: Georgia,"Times New Roman",serif; font-size: 1.25rem; font-weight: 400; }
.editorial-technology__copy li small { color: #52645e; font-size: .68rem; }
.editorial-compare__heading { display: grid; grid-template-columns: 1fr 1fr; align-items: end; margin-bottom: 2.5rem; }
.editorial-compare__heading h2 { grid-column: 2; margin: 0; font-size: clamp(3.2rem,4.8vw,5rem); line-height: .9; }
.editorial-compare__table { overflow-x: auto; border-top: 1px solid #d5d4ce; }
.editorial-compare__row { display: grid; grid-template-columns: .7fr repeat(3,1fr); min-width: 850px; border-bottom: 1px solid #d5d4ce; }
.editorial-compare__row > * { padding: 1.55rem 1.5rem; border-right: 1px solid #d5d4ce; }
.editorial-compare__row > *:last-child { border-right: 0; }
.editorial-compare__row span { color: #63736f; font-size: .65rem; }
.editorial-compare__row strong { font-family: Georgia,"Times New Roman",serif; font-size: 1.4rem; font-weight: 400; }
.editorial-compare__row b { font-size: .68rem; }
.editorial-story { padding: clamp(6rem,9vw,9rem) 0; background: #eee8dd; }
.editorial-story__copy { display: grid; grid-template-columns: 1fr 1fr; gap: 6rem; }
.editorial-story h2 { margin: 0; font-size: clamp(3.5rem,5vw,5.5rem); line-height: .9; }
.editorial-story__copy > div:last-child { align-self: center; color: #50605c; font-family: Georgia,"Times New Roman",serif; font-size: 1.25rem; }
.editorial-story__copy a { color: var(--editorial-ink); font-family: var(--font); font-size: .7rem; font-weight: 850; }
.editorial-story__stats { display: grid; grid-template-columns: repeat(3,1fr); margin-top: 6rem; border-block: 1px solid #d2cec6; }
.editorial-story__stats span { display: grid; padding: 1.5rem 0; border-right: 1px solid #d2cec6; }
.editorial-story__stats span:not(:first-child) { padding-left: 1.5rem; }
.editorial-story__stats strong { font-family: Georgia,"Times New Roman",serif; font-size: 1.7rem; font-weight: 400; }
.editorial-story__stats small { color: #63736f; font-size: .58rem; }
.editorial-faq__grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 6rem; }
.editorial-faq h2 { font-size: clamp(3.4rem,4.8vw,5.2rem); }
.editorial-faq .faq-item button { font-family: Georgia,"Times New Roman",serif; font-size: 1.25rem; font-weight: 400; }
.editorial-faq .faq-item button span:last-child { display: grid; place-items: center; width: 32px; height: 32px; flex: 0 0 auto; border-radius: 50%; background: #e8eeeb; }
.editorial-newsletter { padding: 4rem 0; background: var(--editorial-lime); }
.editorial-newsletter .container { display: grid; grid-template-columns: 1fr 1fr; align-items: end; gap: 5rem; }
.editorial-newsletter h2 { margin: 0; font-size: clamp(3rem,4vw,4.4rem); }
.editorial-newsletter p { margin: .3rem 0 0; font-size: .68rem; }
.editorial-newsletter__link { display: flex; justify-content: space-between; gap: 2rem; padding: .8rem 0; border-bottom: 1px solid var(--editorial-ink); font-size: .75rem; text-decoration: none; }
.home .site-footer { background: #111816; }
.home .footer-brand p { max-width: 300px; font-size: .75rem; }
.home .mobile-inquiry-bar { background: var(--editorial-paper); }

@media (max-width: 1050px) {
  .editorial-hero__grid { grid-template-columns: .9fr 1.1fr; gap: 2.5rem; }
  .editorial-collage { min-height: 530px; }
  .editorial-featured__grid,.editorial-catalog__grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .editorial-use-card { min-height: 450px; }
}

@media (max-width: 780px) {
  .home .trust-bar .container span:nth-child(n+2) { display: none; }
  .home .nav-wrap { min-height: 68px; }
  .editorial-hero,.editorial-hero__grid { min-height: auto; }
  .editorial-hero__grid { grid-template-columns: 1fr; padding-block: 4rem; }
  .editorial-hero__copy h1 { font-size: clamp(3.9rem,15vw,6rem); }
  .editorial-collage { min-height: 520px; }
  .editorial-benefits .container { grid-template-columns: 1fr 1fr; }
  .editorial-benefits span:nth-child(odd) { border-left: 1px solid #e1e0da; }
  .editorial-use__heading { grid-template-columns: 1fr; gap: 1.5rem; }
  .editorial-use__grid { grid-template-columns: 1fr; }
  .editorial-use-card { min-height: 500px; }
  .editorial-featured__grid,.editorial-catalog__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .editorial-technology__grid,.editorial-story__copy,.editorial-faq__grid,.editorial-newsletter .container { grid-template-columns: 1fr; }
  .editorial-technology__visual { min-height: 500px; }
  .editorial-compare__heading { grid-template-columns: 1fr; gap: 1rem; }
  .editorial-compare__heading h2 { grid-column: auto; }
  .editorial-compare__table { overflow-x: auto; }
  .editorial-story__copy { gap: 3rem; }
  .editorial-newsletter .container { gap: 2rem; }
}

@media (max-width: 520px) {
  .editorial-section { padding: 5rem 0; }
  .editorial-actions { align-items: stretch; flex-direction: column; }
  .editorial-button { width: 100%; }
  .editorial-stats { justify-content: space-between; gap: .7rem; }
  .editorial-collage { min-height: 400px; border-radius: 1.3rem; }
  .editorial-collage__rating { width: 90px; }
  .editorial-collage__rating strong { font-size: 1.5rem; }
  .editorial-use-card { min-height: 420px; }
  .editorial-featured__heading { align-items: start; flex-direction: column; }
  .editorial-featured__grid,.editorial-catalog__grid { grid-template-columns: 1fr; }
  .editorial-product-card h3 { min-height: auto; }
  .editorial-technology__visual { min-height: 390px; }
  .editorial-story__stats { grid-template-columns: 1fr; }
  .editorial-story__stats span,.editorial-story__stats span:not(:first-child) { padding: 1rem 0; border-right: 0; border-bottom: 1px solid #d2cec6; }
  .editorial-story__stats span:last-child { border-bottom: 0; }
}

/* 2026 visual rhythm pass: consistent type scale, denser sections and balanced
   product layouts across the storefront. */
:root { --section-space: clamp(4rem,6vw,6rem); }
.section { padding-block: var(--section-space); }
h1 { font-size: clamp(2.75rem,5.5vw,5.4rem); }
h2 { font-size: clamp(2rem,3.7vw,3.65rem); }
h3 { font-size: clamp(1.25rem,1.7vw,1.6rem); }
.lede { font-size: clamp(1rem,1.25vw,1.17rem); line-height: 1.62; }
.eyebrow { font-size: .76rem; }
.page-hero { padding: clamp(3.5rem,6vw,6rem) 0 clamp(2.75rem,4vw,4rem); }
.page-hero h1 { font-size: clamp(2.75rem,4.8vw,4.65rem); }
.page-content { padding: clamp(3rem,5vw,4.5rem) 0 clamp(4rem,6vw,6rem); }
.content-grid { gap: clamp(2.5rem,5vw,4.5rem); }
.prose { font-size: 1rem; }
.prose h2 { margin-top: 1.8em; font-size: clamp(1.8rem,2.6vw,2.55rem); }
.info-card p,.footer-links a { font-size: .9rem; }

.shop-hero { padding-block: clamp(3rem,4.8vw,4.5rem); }
.shop-hero__copy h1 { font-size: clamp(3rem,4.5vw,4.8rem); line-height: .98; }
.shop-products { padding-top: clamp(3.5rem,5vw,5rem); }
.scene-card small,.product-card__meta,.product-card__actions .button { font-size: .75rem; }
.product-card__series { font-size: .94rem; }
.product-card h3 { font-size: 1.2rem; }

.product-detail { padding: 2rem 0 clamp(4rem,6vw,6rem); }
.product-detail__top { gap: clamp(2.5rem,4.5vw,4.75rem); }
.product-visual-column { position: sticky; top: 110px; align-self: start; }
.product-summary { position: static; }
.product-summary h1 { max-width: 620px; font-size: clamp(2.15rem,2.8vw,2.9rem); line-height: 1.02; }
.product-series { font-size: .95rem; }
.model,.product-choice legend { font-size: .76rem; }
.product-value-points li { font-size: .88rem; }
.product-proof,.choice-pill > span:last-child,.rating-pill { font-size: .76rem; }
.retail-order-note,.choice-note { font-size: .74rem; }
.product-context { margin-top: clamp(3rem,5vw,5rem); padding-top: clamp(2.5rem,4vw,4rem); border-top: 1px solid var(--line); }
.product-context__heading { justify-content: flex-start; gap: clamp(1.5rem,4vw,4rem); }
.product-context__heading h2 { font-size: clamp(2rem,3vw,3rem); }
.product-context__grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1rem; }
.product-context__card { display: grid; grid-template-columns: minmax(220px,.95fr) minmax(180px,.55fr); align-items: stretch; }
.product-context__card img { height: 100%; aspect-ratio: 1.35; }
.product-context__card figcaption { display: flex; flex-direction: column; justify-content: center; padding: clamp(1.25rem,2vw,2rem); }
.product-context__card strong { font-size: 1rem; }
.product-context__card span { font-size: .8rem; }
.product-benefit-strip { margin-top: clamp(2.5rem,4vw,4rem); }
.product-story { padding-top: clamp(4rem,6vw,5.5rem); }
.product-sections { margin-top: clamp(3rem,5vw,4.5rem); }
.purchase-assurance span { font-size: .78rem; }
.product-commerce-details { display: grid; grid-template-columns: .72fr 1.28fr; align-items: start; gap: clamp(2rem,4vw,4rem); margin-top: clamp(2.5rem,4vw,3.5rem); padding-block: clamp(1.5rem,2.5vw,2.25rem); border-block: 1px solid var(--line); }
.product-commerce-details .summary-facts,.product-commerce-details .purchase-assurance { margin: 0; }
.product-commerce-details .purchase-assurance { border-top: 0; }
.product-commerce-details .purchase-assurance > div:first-child { padding-top: 0; }

.fit-finder { padding-block: clamp(4.5rem,6vw,6.5rem); }
.fit-finder__intro h2 { font-size: clamp(2.8rem,4.2vw,4.25rem); }
.fit-finder__form legend { font-size: 1.35rem; }
.fit-choice-grid label > span { font-size: .88rem; }
.business-overview { padding-block: clamp(3.75rem,6vw,6rem); }
.business-intro h2 { font-size: clamp(2.75rem,4.4vw,4.6rem); }
.business-audiences { margin-top: clamp(3rem,5vw,4.5rem); }

.editorial-section { padding-block: clamp(4.5rem,6.5vw,7rem); }
.editorial-hero,.editorial-hero__grid { min-height: 680px; }
.editorial-hero__grid { padding-block: 3.5rem; }
.editorial-hero__copy h1 { font-size: clamp(3.6rem,5vw,5.45rem); line-height: .9; }
.editorial-collage { min-height: 540px; }
.editorial-use__heading h2,.editorial-catalog__heading h2 { font-size: clamp(2.85rem,4.1vw,4.25rem); }
.editorial-featured { padding-block: clamp(4.5rem,6vw,6rem); }
.editorial-featured__heading h2 { font-size: clamp(2.7rem,3.8vw,3.85rem); }
.editorial-technology { padding-block: clamp(4.5rem,6.5vw,6.75rem); }
.editorial-technology__visual { min-height: 520px; }
.editorial-technology__copy h2 { font-size: clamp(2.9rem,4vw,4.15rem); }
.editorial-compare__heading { grid-template-columns: .8fr 1.2fr; margin-bottom: 2rem; }
.editorial-compare__heading h2 { font-size: clamp(2.8rem,3.8vw,3.9rem); line-height: .94; }
.editorial-compare__row > * { padding: 1.25rem 1.2rem; }
.editorial-compare__row span { font-size: .74rem; }
.editorial-compare__row strong { font-size: 1.3rem; }
.editorial-compare__row b { font-size: .78rem; }
.editorial-story { padding-block: clamp(4.5rem,6.5vw,6.75rem); }
.editorial-story h2 { font-size: clamp(2.9rem,4.1vw,4.25rem); }
.editorial-story__stats { margin-top: clamp(3.5rem,5vw,5rem); }
.editorial-faq h2 { font-size: clamp(2.8rem,3.9vw,4rem); }
.editorial-newsletter h2 { font-size: clamp(2.6rem,3.5vw,3.6rem); }
.editorial-kicker,.editorial-benefits span,.editorial-product-card__topline,.editorial-product-card__series,.editorial-product-card__category { font-size: .68rem; }
.editorial-product-card__spec,.editorial-product-card__buy a,.editorial-technology__copy li small,.editorial-story__copy a { font-size: .74rem; }
.editorial-catalog__heading > span,.editorial-filters .filter-button { font-size: .74rem; }
.editorial-story__stats small,.editorial-stats small { font-size: .68rem; }
.footer-bottom { font-size: .76rem; }

/* Conversion merchandising */
.product-offer-strip { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:1.1rem 0 1.4rem; border:1px solid var(--line); border-radius:14px; overflow:hidden; }
.product-offer-strip > div { display:flex; flex-direction:column; gap:.2rem; padding:.9rem 1rem; }
.product-offer-strip > div + div { border-left:1px solid var(--line); }
.product-offer-strip strong { font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.product-offer-strip span { color:var(--muted); font-size:.72rem; line-height:1.4; }
.product-payment-assurance { display:flex; flex-wrap:wrap; align-items:baseline; gap:.35rem .75rem; margin-top:1rem; padding:1rem 0; border-block:1px solid var(--line); }
.product-payment-assurance strong { font-size:.78rem; text-transform:uppercase; letter-spacing:.08em; }
.product-payment-assurance span { font-size:.8rem; }
.product-payment-assurance small { flex-basis:100%; color:var(--muted); font-size:.7rem; line-height:1.5; }
.eirsona-shipping-note,.eirsona-multibuy-note { border:1px solid var(--line)!important; border-radius:12px; background:#f4f6f3!important; color:var(--ink)!important; }
.eirsona-shipping-note > div { display:flex; justify-content:space-between; gap:1rem; }
.eirsona-shipping-note a,.eirsona-multibuy-note a { color:var(--forest-2); font-weight:700; }
.eirsona-shipping-progress { display:block; height:6px; margin-top:.7rem; overflow:hidden; border-radius:99px; background:#d9dfda; }
.eirsona-shipping-progress i { display:block; height:100%; border-radius:inherit; background:var(--forest-2); transition:width .25s ease; }

.editorial-sets { background:#edf1ec; }
.editorial-sets__heading { display:grid; grid-template-columns:1.05fr .95fr; align-items:end; gap:3rem; margin-bottom:2.5rem; }
.editorial-sets__heading h2 { margin:.4rem 0 0; font-size:clamp(2.8rem,4vw,4.2rem); line-height:.94; }
.editorial-sets__heading h2 em { color:var(--sage); font-weight:400; }
.editorial-sets__heading > div:last-child { max-width:34rem; }
.editorial-sets__heading a { display:inline-block; margin-top:.75rem; color:var(--ink); font-weight:700; border-bottom:1px solid; }
.shop-sets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.25rem; }
.shop-set-card { display:grid; grid-template-columns:.9fr 1.1fr; min-height:360px; overflow:hidden; border:1px solid var(--line); border-radius:20px; background:var(--paper); }
.shop-set-card__media { display:grid; grid-template-columns:1fr 1fr; background:#f5f6f3; }
.shop-set-card__media a { display:flex; align-items:center; min-width:0; }
.shop-set-card__media img { width:100%; height:100%; object-fit:contain; }
.shop-set-card__body { display:flex; flex-direction:column; justify-content:center; padding:clamp(1.4rem,3vw,2.25rem); }
.shop-set-card__body h3 { margin:.35rem 0 .55rem; font-size:clamp(1.55rem,2vw,2rem); }
.shop-set-card__body > p:not(.eyebrow) { color:var(--muted); font-size:.88rem; }
.shop-set-card__products { display:grid; gap:.55rem; margin-top:1.15rem; }
.shop-set-card__products a { display:flex; flex-direction:column; gap:.12rem; padding-top:.6rem; border-top:1px solid var(--line); color:var(--ink); }
.shop-set-card__products span { color:var(--forest-2); font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.shop-set-card__products strong { font-size:.78rem; line-height:1.35; }
.sets-content > p:first-child { max-width:52rem; margin:0 0 2.5rem; font-size:1.05rem; color:var(--muted); }

.product-reviews,.product-customer-moments { margin-top:clamp(4rem,7vw,7rem); padding-top:clamp(3rem,5vw,5rem); border-top:1px solid var(--line); }
.product-reviews__heading { display:grid; grid-template-columns:1fr .8fr; gap:3rem; align-items:end; margin-bottom:2.5rem; }
.product-reviews__heading h2 { margin:.35rem 0 0; font-size:clamp(2.4rem,3.4vw,3.5rem); }
.product-reviews__heading > p { color:var(--muted); }
.product-reviews #reviews { display:grid; grid-template-columns:1fr 1fr; gap:clamp(2rem,5vw,5rem); }
.product-reviews #comments,.product-reviews #review_form_wrapper { margin:0; }
.product-reviews .woocommerce-Reviews-title,.product-reviews .comment-reply-title { display:block; margin-bottom:1.2rem; font-family:Georgia,"Times New Roman",serif; font-size:1.65rem; }
.product-reviews .commentlist { display:grid; gap:1rem; margin:0; padding:0; list-style:none; }
.product-reviews .comment_container { padding:1.2rem; border:1px solid var(--line); border-radius:14px; }
.product-reviews .avatar { float:left; width:42px; height:42px; margin-right:.85rem; border-radius:50%; }
.product-reviews .comment-text { margin-left:0!important; border:0!important; padding:0!important; }
.product-reviews .star-rating { color:#a06f12; }
.product-reviews textarea,.product-reviews input[type="text"],.product-reviews input[type="email"] { width:100%; }
.product-reviews .form-submit input { min-height:48px; padding:.75rem 1.2rem; border:0; border-radius:8px; background:var(--ink); color:#fff; font-weight:700; }
.customer-moments { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.25rem; }
.customer-moment-card { overflow:hidden; border:1px solid var(--line); border-radius:18px; background:#fff; }
.customer-moment-card > img,.customer-moment-card__video iframe { width:100%; aspect-ratio:4/5; object-fit:cover; }
.customer-moment-card > div:last-child { padding:1.25rem; }
.customer-moment-card span { color:var(--forest-2); font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.customer-moment-card h3 { margin:.35rem 0; font-size:1.25rem; }
.customer-moment-card p { margin:0; color:var(--muted); font-size:.82rem; }

/* Commerce correction pass: the generic page rhythm rule appears later in this
   stylesheet, so commerce pages need their own final, denser override. */
.page-hero.page-hero--commerce { padding: 2rem 0 1.6rem; }
.page-hero--commerce .eyebrow { margin-bottom:.55rem; }
.page-hero--commerce h1 { margin:0; font-size:clamp(2.5rem,3.8vw,3.75rem); line-height:1; }
.page-content.page-content--commerce { padding:1.5rem 0 clamp(4rem,6vw,6rem); }
.commerce-content .wc-block-checkout,.commerce-content .wc-block-cart { padding-top:0; }
.product-choice__label { float:left; width:100%; margin:0 0 .7rem; font-size:.76rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.product-choice__label + * { clear:both; }
.product-choice--information .rating-pill { border-color:var(--line); background:#f4f6f3; cursor:default; }
.eirsona-checkout-remove { display:inline-flex; margin-top:.55rem; padding:0; border:0; border-bottom:1px solid currentColor; color:var(--forest-2); background:transparent; font:inherit; font-size:.75rem; font-weight:750; cursor:pointer; }
.eirsona-checkout-remove:hover { color:var(--ink); }
.eirsona-checkout-remove:disabled { opacity:.55; cursor:wait; }

@media (max-width: 780px) {
  :root { --section-space: clamp(3.5rem,9vw,4.5rem); }
  .page-hero { padding-block: 3.25rem 2.5rem; }
  .page-content { padding-block: 3rem 4rem; }
  .editorial-section,.fit-finder,.editorial-featured,.editorial-technology,.editorial-story { padding-block: clamp(3.75rem,10vw,5rem); }
  .editorial-hero__grid { padding-block: 3.25rem; }
  .editorial-hero__copy h1 { font-size: clamp(3.15rem,12vw,4.8rem); }
  .editorial-collage { min-height: 470px; }
  .product-context__card { grid-template-columns: 1fr; }
  .product-context__card img { height: auto; aspect-ratio: 1.35; }
  .product-commerce-details { grid-template-columns: 1fr; }
  .product-visual-column { position: static; }
  .editorial-sets__heading,.product-reviews__heading,.product-reviews #reviews { grid-template-columns:1fr; gap:1.25rem; }
  .shop-sets { grid-template-columns:1fr; }
  .customer-moments { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .page-hero.page-hero--commerce { padding:1.65rem 0 1.25rem; }
  .page-content.page-content--commerce { padding-top:1.25rem; }
}

@media (max-width: 520px) {
  h1 { font-size: 2.45rem; }
  h2 { font-size: 2.1rem; }
  .business-intro h2 { font-size: 2.35rem; }
  .shop-hero__copy h1 { font-size: 2.65rem; }
  .scene-mosaic { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .6rem; }
  .scene-card { min-height: 180px; }
  .scene-card > span { right: .8rem; bottom: .75rem; left: .8rem; }
  .scene-card strong { font-size: 1rem; }
  .scene-card small { font-size: .67rem; }
  .editorial-section { padding-block: 3.5rem; }
  .editorial-hero__copy h1 { font-size: clamp(2.8rem,12vw,3.35rem); }
  .editorial-use__heading h2,.editorial-catalog__heading h2,.editorial-technology__copy h2,.editorial-compare__heading h2,.editorial-story h2,.editorial-faq h2 { font-size: clamp(2.2rem,9.5vw,2.65rem); }
  .fit-finder__intro h2,.editorial-featured__heading h2,.editorial-newsletter h2 { font-size: clamp(2.2rem,9.5vw,2.65rem); }
  .editorial-collage { min-height: 370px; }
  .editorial-technology__visual { min-height: 340px; }
  .editorial-use-card { min-height: 380px; }
  .product-context { margin-top: 3rem; padding-top: 2.5rem; }
  .product-context__grid { grid-template-columns: 1fr; }
  .product-context__heading { align-items: flex-start; flex-direction: column; gap: .4rem; }
  .product-offer-strip { grid-template-columns:1fr; }
  .product-offer-strip > div + div { border-left:0; border-top:1px solid var(--line); }
  .shop-set-card { grid-template-columns:1fr; }
  .shop-set-card__media { min-height:230px; }
  .customer-moments { grid-template-columns:1fr; }
}

/* EP033MAX flagship product-page prototype. Kept model-specific until the
   approved layout is rolled out to the complete catalogue. */
.product-detail--showcase { padding-top:1.25rem; }
.product-detail--showcase > .container { width:min(calc(100% - 2rem),1340px); }
.product-detail--showcase .breadcrumbs { margin-bottom:1.25rem; }
.product-detail--showcase .product-detail__top { grid-template-columns:minmax(0,1.16fr) minmax(410px,.84fr); gap:clamp(2.25rem,4.5vw,4.75rem); }
.product-detail--showcase .product-visual-column { position:static; }
.product-gallery--showcase .showcase-gallery-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.product-gallery--showcase .showcase-gallery__item { position:relative; width:100%; border:0; border-radius:18px; background:#f1f2ef; box-shadow:none; }
.product-gallery--showcase .showcase-gallery__item:hover,.product-gallery--showcase .showcase-gallery__item:focus-visible,.product-gallery--showcase .showcase-gallery__item.is-active { border:0; box-shadow:inset 0 0 0 1px var(--forest); }
.product-gallery--showcase .showcase-gallery__item img { width:100%; height:100%; object-fit:cover; }
.product-gallery--showcase .showcase-gallery__hero { grid-column:1/-1; aspect-ratio:1.3; }
.product-gallery--showcase .showcase-gallery__item:not(.showcase-gallery__hero) { aspect-ratio:1; }
.product-detail--showcase .product-summary { top:98px; padding-top:0; }
.product-detail--showcase .product-series { margin:0 0 .35rem; color:var(--sage); font-family:Georgia,"Times New Roman",serif; font-size:1rem; }
.product-detail--showcase .model { margin:0 0 .7rem; }
.product-detail--showcase .product-summary h1 { margin:0; max-width:560px; font-size:clamp(2.25rem,3vw,3.35rem); line-height:1; }
.product-detail--showcase .product-summary > .lede { margin:.9rem 0 0; max-width:570px; font-size:1rem; }
.showcase-rating { display:flex; align-items:center; flex-wrap:wrap; gap:.55rem; margin:.9rem 0; font-size:.75rem; }
.showcase-rating a { color:var(--ink); text-underline-offset:3px; }
.showcase-rating__stars { color:#9b6d19; letter-spacing:.08em; }
.showcase-rating__new { padding:.32rem .58rem; border-radius:99px; background:#e9f0ed; color:var(--forest-2); font-size:.64rem; font-weight:850; letter-spacing:.08em; text-transform:uppercase; }
.product-detail--showcase .product-value-points { margin:.85rem 0; }
.product-detail--showcase .product-proof { margin-top:.8rem; }
.product-detail--showcase .price { margin:1rem 0; }
.product-detail--showcase .product-offer-strip { margin:.8rem 0 1rem; }
.product-detail--showcase .product-choice { padding:.85rem 0; }
.product-detail--showcase .purchase-row { margin-top:.8rem; }
.showcase-assurance { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.75rem; padding:1rem 0; border-bottom:1px solid var(--line); }
.showcase-assurance span { display:block; color:var(--muted); font-size:.68rem; line-height:1.45; }
.showcase-assurance b { display:block; margin-bottom:.15rem; color:var(--ink); font-size:.72rem; }
.showcase-accordions details { border-bottom:1px solid var(--line); }
.showcase-accordions summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 0; cursor:pointer; font-size:.78rem; font-weight:800; list-style:none; }
.showcase-accordions summary::-webkit-details-marker { display:none; }
.showcase-accordions summary::after { content:"+"; font-size:1.05rem; font-weight:400; }
.showcase-accordions details[open] summary::after { content:"−"; }
.showcase-accordions p { margin:-.25rem 0 1rem; color:var(--muted); font-size:.76rem; line-height:1.6; }
.product-detail--showcase .product-actions--business { margin-top:1rem; }
.product-detail--showcase .product-context { display:none; }
.showcase-section-heading { display:grid; grid-template-columns:.75fr 1.25fr; gap:1rem 4rem; align-items:end; margin-bottom:2rem; }
.showcase-section-heading .eyebrow { grid-column:1/-1; margin:0; }
.showcase-section-heading h2 { margin:0; font-size:clamp(2.5rem,4vw,4.5rem); line-height:.95; }
.showcase-section-heading > p:last-child { max-width:33rem; margin:0; color:var(--muted); }
.showcase-benefits { margin-top:clamp(5rem,9vw,9rem); padding-top:clamp(4rem,7vw,7rem); border-top:1px solid var(--line); }
.showcase-benefits__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; }
.showcase-benefits__grid article { min-width:0; }
.showcase-benefits__grid img { width:100%; aspect-ratio:.96; border-radius:18px; object-fit:cover; }
.showcase-benefits__grid h3 { margin:1rem 0 .35rem; font-family:Georgia,"Times New Roman",serif; font-size:1.4rem; font-weight:400; }
.showcase-benefits__grid p { margin:0; color:var(--muted); font-size:.78rem; line-height:1.55; }
.showcase-editorial { display:grid; grid-template-columns:1.05fr .95fr; min-height:620px; margin-top:clamp(5rem,9vw,9rem); overflow:hidden; border-radius:22px; background:#dfeae6; }
.showcase-editorial__media img { width:100%; height:100%; min-height:620px; object-fit:cover; }
.showcase-editorial__copy { display:flex; flex-direction:column; justify-content:center; padding:clamp(2rem,5vw,5rem); }
.showcase-editorial__copy h2 { margin:.5rem 0 1rem; font-size:clamp(2.5rem,4vw,4rem); line-height:.95; }
.showcase-editorial__copy > p:not(.eyebrow) { color:var(--muted); }
.showcase-editorial__copy ul { display:grid; gap:.7rem; margin:1.5rem 0 0; padding:1.25rem 0 0; border-top:1px solid rgba(17,35,31,.16); list-style:none; }
.showcase-editorial__copy li::before { content:"✓"; margin-right:.65rem; color:var(--forest-2); font-weight:900; }
.showcase-data { display:grid; grid-template-columns:.85fr 1.15fr; gap:clamp(3rem,8vw,8rem); align-items:start; margin-top:clamp(5rem,9vw,9rem); padding:clamp(3rem,6vw,6rem); border-radius:22px; color:#eef5f2; background:var(--ink); }
.showcase-data h2 { margin:.45rem 0 0; max-width:480px; color:#fff; font-size:clamp(2.5rem,4vw,4.25rem); line-height:.95; }
.showcase-data strong { display:block; margin-bottom:1rem; color:#fff; font-family:Georgia,"Times New Roman",serif; font-size:clamp(2.4rem,4vw,4rem); font-weight:400; }
.showcase-data p { color:#c7d6d1; }
.showcase-data a { display:inline-block; margin-top:1rem; color:#fff; font-weight:750; text-underline-offset:4px; }
.product-detail--showcase .product-benefit-strip { margin-top:clamp(4rem,7vw,7rem); }
.product-detail--showcase .product-story { padding-top:clamp(5rem,8vw,8rem); }

@media (max-width: 1050px) {
  .product-detail--showcase .product-detail__top { grid-template-columns:minmax(0,1fr) minmax(360px,.9fr); gap:2rem; }
  .product-detail--showcase .product-summary h1 { font-size:2.4rem; }
  .product-detail--showcase .purchase-row { grid-template-columns:80px 1fr; }
  .product-detail--showcase .purchase-buttons { grid-template-columns:1fr; }
}

@media (max-width: 780px) {
  .product-detail--showcase > .container { width:min(calc(100% - 1.25rem),1340px); }
  .product-detail--showcase .product-detail__top { grid-template-columns:1fr; }
  .product-detail--showcase .product-summary { position:static; padding-top:1.5rem; }
  .product-gallery--showcase .showcase-gallery-grid { gap:.5rem; }
  .product-gallery--showcase .showcase-gallery__item { border-radius:12px; }
  .showcase-section-heading,.showcase-editorial,.showcase-data { grid-template-columns:1fr; }
  .showcase-benefits__grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .showcase-benefits__grid article:last-child { grid-column:1/-1; }
  .showcase-benefits__grid article:last-child img { aspect-ratio:1.6; }
  .showcase-editorial { min-height:0; }
  .showcase-editorial__media img { min-height:0; aspect-ratio:1.25; }
}

@media (max-width: 520px) {
  .product-detail--showcase { padding-top:.75rem; }
  .product-detail--showcase .breadcrumbs { margin-bottom:.8rem; }
  .product-gallery--showcase .showcase-gallery__hero { aspect-ratio:1.05; }
  .product-detail--showcase .product-summary h1 { font-size:2.15rem; }
  .showcase-assurance { grid-template-columns:1fr; gap:.6rem; }
  .showcase-assurance span { padding-bottom:.6rem; border-bottom:1px solid var(--line); }
  .showcase-benefits__grid { grid-template-columns:1fr; }
  .showcase-benefits__grid article:last-child { grid-column:auto; }
  .showcase-benefits__grid article:last-child img { aspect-ratio:.96; }
  .showcase-section-heading h2,.showcase-editorial__copy h2,.showcase-data h2 { font-size:2.35rem; }
  .showcase-data { padding:2rem 1.25rem; }
}


/* EIRSONA checkout loading guard */
.commerce-content .wc-block-components-express-payment__content ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; margin:0; padding:0; list-style:none; }
.commerce-content .wc-block-components-express-payment__content li { margin:0; padding:0; list-style:none; }
.commerce-content .wc-block-checkout h2,.commerce-content .wc-block-checkout h3 { line-height:1.15; }
.commerce-content .wc-block-components-form .wc-block-components-text-input input,.commerce-content .wc-block-components-form .wc-block-components-textarea { width:100%; }
.product-choice--fixed .choice-pill > span:last-child { background:var(--mist); }

/* Keep image-dependent color selection close to the gallery on phones. */
@media (max-width: 780px) {
  .product-choice--mobile-positioned {
    width: 100%;
    margin: .65rem 0 1.1rem;
    padding: .85rem 0 1rem;
    border-top: 0;
    border-bottom: 1px solid var(--line);
  }
  .product-choice--mobile-positioned legend { margin-bottom: .6rem; }
  .product-choice--mobile-positioned .choice-list { gap: .5rem; }
  .product-choice--mobile-positioned::after {
    content: "Tap a color to update the product image above.";
    display: block;
    margin-top: .65rem;
    color: var(--muted);
    font-size: .68rem;
    line-height: 1.45;
  }
}
@media (max-width:780px) { .commerce-content .wc-block-components-express-payment__content ul { grid-template-columns:1fr; } }
