:root {
  --sw-green-950: #041f16;
  --sw-green-900: #06271c;
  --sw-green-850: #0a3023;
  --sw-green-800: #113829;
  --sw-olive: #2f3a24;
  --sw-gold: #b9823a;
  --sw-gold-2: #d0a15a;
  --sw-wood: #6e4a2f;
  --sw-cream: #f5f0e6;
  --sw-ivory: #fbf7ef;
  --sw-sand: #d8cbb8;
  --sw-ink: #1f1f1a;
  --sw-muted: #665f54;
  --sw-border: rgba(89, 69, 43, 0.18);
  --sw-shadow: 0 18px 50px rgba(4, 31, 22, .12);
  --sw-radius: 16px;
  --sw-radius-sm: 10px;
  --sw-font-serif: Georgia, 'Times New Roman', serif;
  --sw-font-sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; background: var(--sw-ivory); color: var(--sw-ink); font-family: var(--sw-font-sans); line-height: 1.55; }
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
.sw-container { width: min(1180px, calc(100% - 48px)); margin-inline: auto; }
.sw-header { position: absolute; inset: 0 0 auto; z-index: 50; color: #fff; }
.sw-header__inner { min-height: 78px; display: grid; grid-template-columns: 210px 1fr auto; align-items: center; gap: 28px; }
.sw-logo img { width: 150px; height: auto; }
.sw-nav { display: flex; justify-content: flex-end; gap: clamp(18px, 2.2vw, 34px); align-items: center; font-size: 15px; }
.sw-nav a { opacity: .9; padding: 28px 0 18px; border-bottom: 2px solid transparent; }
.sw-nav a:hover, .sw-nav a.is-active { color: var(--sw-gold-2); border-color: var(--sw-gold); }
.sw-nav-toggle { display: none; }
.sw-btn { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding: 0 24px; border-radius: 7px; border: 1px solid transparent; font-weight: 750; letter-spacing: .04em; text-transform: uppercase; font-size: 12px; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.sw-btn:hover { transform: translateY(-1px); box-shadow: 0 12px 30px rgba(4,31,22,.18); }
.sw-btn--gold { background: linear-gradient(135deg, var(--sw-gold), var(--sw-gold-2)); color: #fff; }
.sw-btn--outline { border-color: rgba(255,255,255,.42); color: #fff; background: rgba(3,21,15,.36); }
.sw-header__cta { white-space: nowrap; }
.sw-page { overflow: hidden; }
.sw-eyebrow { margin: 0 0 14px; color: var(--sw-gold-2); text-transform: uppercase; letter-spacing: .14em; font-size: 12px; font-weight: 800; }
.sw-lead { color: rgba(255,255,255,.82); max-width: 610px; font-size: 18px; }
h1, h2 { font-family: var(--sw-font-serif); font-weight: 500; line-height: .98; letter-spacing: -.035em; }
h1 { font-size: clamp(48px, 6.4vw, 82px); margin: 0 0 22px; }
h2 { font-size: clamp(34px, 4vw, 52px); margin: 0 0 20px; }
h3 { margin: 0 0 8px; line-height: 1.2; }
p { margin-top: 0; color: var(--sw-muted); }
.sw-hero { position: relative; min-height: 720px; display: flex; align-items: center; color: #fff; padding: 118px 0 90px; }
.sw-hero--compact { min-height: 420px; padding: 112px 0 54px; }
.sw-hero__bg { position: absolute; inset: 0; background-size: cover; background-position: center; }
.sw-hero__bg::after { content: ''; position: absolute; inset: 0; background: radial-gradient(circle at 72% 48%, rgba(185,130,58,.14), transparent 28%), linear-gradient(180deg, rgba(4,31,22,.42), rgba(4,31,22,.78)); }
.sw-hero__inner { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(380px, .85fr); gap: 54px; align-items: center; }
.sw-hero--compact .sw-hero__inner { grid-template-columns: minmax(0, .9fr) minmax(300px, .7fr); }
.sw-hero__copy { max-width: 720px; }
.sw-hero__visual { align-self: end; filter: drop-shadow(0 30px 55px rgba(0,0,0,.38)); }
.sw-hero__visual img { width: 100%; object-fit: contain; object-position: bottom center; }
.sw-hero--compact .sw-hero__visual img { max-height: 300px; }
.sw-actions { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 30px; }
.sw-proof-row { display: grid; grid-template-columns: repeat(4, minmax(120px, 1fr)); gap: 20px; margin-top: 34px; max-width: 820px; }
.sw-proof-row div { display: grid; grid-template-columns: 42px 1fr; column-gap: 12px; align-items: center; }
.sw-proof-row strong { display: block; color: #fff; font-size: 14px; }
.sw-proof-row span:not(.sw-icon) { color: rgba(255,255,255,.72); font-size: 12px; grid-column: 2; }
.sw-icon { width: 38px; height: 38px; border: 1px solid rgba(185,130,58,.65); color: var(--sw-gold-2); border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-family: var(--sw-font-serif); font-size: 17px; flex: 0 0 auto; }
.sw-section { padding: 78px 0; background: var(--sw-ivory); }
.sw-section--cream { background: var(--sw-cream); }
.sw-section--dark { background: var(--sw-green-950); color: #fff; }
.sw-section--dark p { color: rgba(255,255,255,.72); }
.sw-section--pullup { padding-top: 42px; }
.sw-application-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.sw-application-card { overflow: hidden; background: #fffaf2; border: 1px solid var(--sw-border); border-radius: var(--sw-radius-sm); box-shadow: var(--sw-shadow); }
.sw-application-card img { width: 100%; height: 178px; object-fit: cover; }
.sw-application-card div { position: relative; padding: 24px 58px 24px 24px; }
.sw-application-card h2 { font-family: var(--sw-font-serif); font-weight: 500; letter-spacing: -.02em; font-size: 20px; margin: 0 0 6px; }
.sw-application-card p { font-size: 14px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sw-application-card div > span:last-child { position: absolute; right: 24px; bottom: 24px; color: var(--sw-gold); font-size: 24px; }
.sw-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 30px; }
.sw-link { color: var(--sw-gold); font-weight: 800; text-transform: uppercase; letter-spacing: .05em; font-size: 12px; }
.sw-product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
.sw-product-grid--five { grid-template-columns: repeat(5, 1fr); }
.sw-product-grid--catalog { grid-template-columns: repeat(3, 1fr); }
.sw-card { background: #fffaf2; border: 1px solid var(--sw-border); border-radius: var(--sw-radius-sm); overflow: hidden; box-shadow: 0 12px 36px rgba(4,31,22,.06); }
.sw-product-card__image { position: relative; height: 170px; display: block; overflow: hidden; }
.sw-product-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.sw-product-card:hover .sw-product-card__image img { transform: scale(1.04); }
.sw-product-card__image span { position: absolute; left: 12px; bottom: 10px; background: rgba(245,240,230,.9); color: var(--sw-wood); border-radius: 4px; padding: 3px 8px; text-transform: uppercase; letter-spacing: .06em; font-weight: 850; font-size: 10px; }
.sw-product-card__body { padding: 18px; display: flex; flex-direction: column; flex: 1; }
.sw-product-card h3 { font-size: 16px; }
.sw-product-card p { min-height: 42px; font-size: 13px; margin-bottom: 16px; flex: 1; }
.sw-card.sw-product-card { display: flex; flex-direction: column; }
.sw-story { position: relative; background: var(--sw-green-950); color: #fff; min-height: 430px; }
.sw-story__image { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: .42; }
.sw-story::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,31,22,.94), rgba(4,31,22,.78)); }
.sw-story__inner { position: relative; z-index: 1; display: grid; grid-template-columns: .95fr 1fr; gap: 54px; align-items: center; padding: 72px 0; }
.sw-story__collage { display: grid; grid-template-columns: 1fr; gap: 14px; max-width: 430px; margin-left: auto; }
.sw-story__collage img { border: 2px solid rgba(185,130,58,.55); height: 150px; width: 100%; object-fit: cover; }
.sw-story p { color: rgba(255,255,255,.76); }
.sw-process__grid { display: grid; grid-template-columns: 1.3fr repeat(4, 1fr); gap: 28px; align-items: start; }
.sw-process__grid--six { grid-template-columns: repeat(6, 1fr); margin-top: 32px; }
.sw-step { position: relative; }
.sw-step > span { display: inline-block; color: var(--sw-gold); font-weight: 800; margin-bottom: 10px; }
.sw-step h3 { text-transform: uppercase; letter-spacing: .05em; font-size: 14px; margin-top: 12px; }
.sw-step p { font-size: 13px; }
.sw-quote-band { background: var(--sw-green-950); color: #fff; padding: 46px 0; }
.sw-quote-band p { color: rgba(255,255,255,.76); }
.sw-quote-band__grid { display: grid; grid-template-columns: .9fr 1.1fr .8fr; gap: 28px; align-items: stretch; background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02)); border: 1px solid rgba(255,255,255,.08); border-radius: var(--sw-radius); overflow: hidden; padding: 28px; }
.sw-quote-band__grid > img { height: 100%; min-height: 245px; width: 100%; object-fit: cover; border-radius: 10px; }
.sw-form label { display: block; margin-bottom: 12px; color: rgba(255,255,255,.86); font-size: 12px; font-weight: 700; }
.sw-form label span { display: block; margin-bottom: 5px; }
.sw-form input, .sw-form select, .sw-form textarea { width: 100%; border: 1px solid rgba(216,203,184,.28); border-radius: 6px; background: rgba(4,31,22,.44); color: #fff; min-height: 42px; padding: 10px 12px; font: inherit; }
.sw-section--cream .sw-form input, .sw-section--cream .sw-form select, .sw-section--cream .sw-form textarea, .sw-contact-form-card .sw-form input, .sw-contact-form-card .sw-form select, .sw-contact-form-card .sw-form textarea { background: #fffaf2; color: var(--sw-ink); border-color: var(--sw-border); }
.sw-form__grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; }
.sw-form .sw-btn { width: 100%; margin-top: 4px; }
.sw-tabs { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--sw-border); border-radius: 9px; overflow: hidden; margin-bottom: 26px; }
.sw-tabs button { min-height: 58px; border: 0; border-right: 1px solid var(--sw-border); background: var(--sw-green-900); color: #fff; font-weight: 800; cursor: pointer; }
.sw-tabs button.is-active { background: linear-gradient(135deg, var(--sw-gold), var(--sw-gold-2)); }
.sw-filter-bar { display: grid; grid-template-columns: repeat(4, 1fr) auto; gap: 18px; align-items: end; border: 1px solid var(--sw-border); background: rgba(255,250,242,.72); border-radius: 10px; padding: 22px; margin-bottom: 28px; }
.sw-filter-bar label { display: grid; gap: 8px; color: var(--sw-muted); font-size: 12px; font-weight: 700; }
.sw-filter-bar select { height: 44px; border: 1px solid var(--sw-border); border-radius: 6px; padding: 0 12px; background: #fffaf2; }
.sw-filter-bar button { border: 0; background: transparent; color: var(--sw-gold); font-weight: 800; cursor: pointer; }
.sw-catalog-layout { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 28px; align-items: start; }
.sw-aside-cta, .sw-aside-note, .sw-contact-card, .sw-sticky-quote { background: var(--sw-green-950); color: #fff; border-radius: var(--sw-radius-sm); padding: 34px; box-shadow: var(--sw-shadow); }
.sw-aside-cta { position: sticky; top: 20px; }
.sw-aside-cta h2 { font-size: 34px; }
.sw-aside-cta p, .sw-aside-cta li, .sw-contact-card p, .sw-contact-card span, .sw-sticky-quote p, .sw-sticky-quote li { color: rgba(255,255,255,.76); }
.sw-aside-cta ul, .sw-sticky-quote ul { list-style: none; padding: 0; margin: 28px 0 0; display: grid; gap: 16px; }
.sw-why__grid { display: grid; grid-template-columns: 1.3fr repeat(4, 1fr); gap: 28px; align-items: start; }
.sw-feature { text-align: center; }
.sw-feature .sw-icon { margin: 0 auto 12px; }
.sw-product-hero { background: var(--sw-green-950); color: #fff; padding: 112px 0 62px; }
.sw-breadcrumbs { display: flex; gap: 10px; align-items: center; color: rgba(255,255,255,.6); font-size: 13px; margin: 0 0 24px; }
.sw-breadcrumbs a:last-child, .sw-breadcrumbs span:last-child { color: var(--sw-gold-2); }
.sw-product-hero__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) .72fr 310px; gap: 34px; align-items: start; }
.sw-gallery__main { width: 100%; aspect-ratio: 1.28 / 1; object-fit: cover; border-radius: 12px; }
.sw-gallery__thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-top: 12px; }
.sw-gallery__thumbs img { height: 74px; width: 100%; object-fit: cover; border-radius: 8px; border: 1px solid rgba(255,255,255,.18); }
.sw-product-summary h1 { font-size: clamp(42px, 5vw, 64px); }
.sw-product-summary p { color: rgba(255,255,255,.76); }
.sw-quick-specs { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; margin-top: 28px; }
.sw-quick-specs div { display: grid; grid-template-columns: 42px 1fr; gap: 10px; align-items: center; }
.sw-quick-specs span:not(.sw-icon) { color: rgba(255,255,255,.72); font-size: 12px; grid-column: 2; }
.sw-sticky-quote { position: sticky; top: 20px; }
.sw-sticky-quote h2 { font-size: 26px; }
.sw-two-col { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px; align-items: start; }
.sw-two-col--wide { grid-template-columns: minmax(0, 1fr) 280px; margin-top: 40px; }
.sw-two-col--story img { border-radius: var(--sw-radius-sm); box-shadow: var(--sw-shadow); }
.sw-table { width: 100%; border-collapse: collapse; background: #fffaf2; border: 1px solid var(--sw-border); border-radius: 10px; overflow: hidden; font-size: 14px; }
.sw-table th, .sw-table td { text-align: left; border-bottom: 1px solid var(--sw-border); padding: 13px 16px; }
.sw-table th { color: var(--sw-wood); font-size: 12px; text-transform: uppercase; letter-spacing: .04em; }
.sw-section--dark .sw-table { color: var(--sw-ink); }
.sw-section--dark .sw-table td { color: var(--sw-ink); }
.sw-section--dark .sw-table th { color: var(--sw-wood); }
.sw-note { color: var(--sw-muted); font-size: 12px; margin-top: 12px; }
.sw-card-row { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-top: 22px; }
.sw-card-row--three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sw-mini-card { position: relative; background: #fffaf2; border: 1px solid var(--sw-border); border-radius: var(--sw-radius-sm); padding: 24px; min-height: 162px; }
.sw-mini-card > span:last-child { position: absolute; right: 22px; bottom: 18px; color: var(--sw-gold); }
.sw-app-tags { display: flex; flex-wrap: wrap; gap: 10px 12px; list-style: none; padding: 0; margin: 22px 0 0; }
.sw-app-tags li { background: #fffaf2; border: 1px solid var(--sw-border); border-radius: 999px; padding: 9px 20px; font-size: 14px; color: var(--sw-ink); white-space: nowrap; display: inline-flex; align-items: center; gap: 8px; }
.sw-app-tags li .sw-icon { width: 18px; height: 18px; flex-shrink: 0; }
.sw-app-tags li .sw-icon svg { width: 18px; height: 18px; }
.sw-accordion { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 20px; }
.sw-accordion details { background: #fffaf2; border: 1px solid var(--sw-border); border-radius: 8px; padding: 16px 18px; }
.sw-accordion summary { cursor: pointer; font-weight: 750; }
.sw-inspiration { margin: 40px 0; display: grid; grid-template-columns: .42fr 1fr; overflow: hidden; border-radius: var(--sw-radius); background: var(--sw-green-950); color: #fff; }
.sw-inspiration > div { padding: 34px; }
.sw-inspiration p { color: rgba(255,255,255,.72); }
.sw-inspiration img { height: 310px; width: 100%; object-fit: cover; }
.sw-spec-strip { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 1px solid var(--sw-border); background: #fffaf2; border-radius: 10px; overflow: hidden; margin-top: 28px; }
.sw-spec-strip div { display: grid; grid-template-columns: 44px 1fr; gap: 10px; padding: 20px; border-right: 1px solid var(--sw-border); }
.sw-spec-strip div:last-child { border-right: 0; }
.sw-spec-strip span:not(.sw-icon) { color: var(--sw-muted); font-size: 13px; grid-column: 2; }
.sw-flagship { display: grid; grid-template-columns: .88fr .9fr 270px; gap: 0; background: var(--sw-green-950); color: #fff; border-radius: var(--sw-radius); overflow: hidden; margin-bottom: 34px; }
.sw-flagship > img { height: 100%; min-height: 330px; width: 100%; object-fit: cover; }
.sw-flagship > div { padding: 44px; }
.sw-flagship p, .sw-flagship li, .sw-flagship aside span { color: rgba(255,255,255,.74); }
.sw-flagship aside { margin: 44px 36px 44px 0; padding: 26px; border: 1px solid rgba(185,130,58,.55); border-radius: 10px; display: grid; gap: 10px; }
.sw-flagship aside strong { color: var(--sw-gold-2); text-transform: uppercase; font-size: 12px; letter-spacing: .06em; }
.sw-material-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin: 22px 0 40px; }
.sw-material-card img { height: 120px; width: 100%; object-fit: cover; }
.sw-material-card { padding-bottom: 18px; }
.sw-material-card h3, .sw-material-card p, .sw-material-card .sw-link { margin-left: 16px; margin-right: 16px; }
.sw-material-card p { font-size: 14px; min-height: 112px; }
.sw-value-panels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.sw-value-panels article { border-right: 1px solid rgba(185,130,58,.35); padding-right: 24px; }
.sw-value-panels article:last-child { border-right: 0; }
.sw-value-panels img { height: 160px; width: 100%; object-fit: cover; border-radius: 8px; margin-bottom: 18px; }
.sw-contact-grid { display: grid; grid-template-columns: minmax(0, 1fr) 430px; gap: 28px; align-items: start; }
.sw-contact-form-card { background: #fffaf2; border: 1px solid var(--sw-border); border-radius: var(--sw-radius); padding: 34px; box-shadow: var(--sw-shadow); }
.sw-contact-card { display: grid; gap: 22px; }
.sw-contact-card > div { display: grid; grid-template-columns: 44px 1fr; gap: 10px; align-items: center; }
.sw-contact-card strong { grid-column: 2; }
.sw-contact-card a, .sw-contact-card span { grid-column: 2; }
.sw-contact-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)) 1.5fr; gap: 0; margin-top: 28px; background: var(--sw-green-950); color: #fff; border-radius: var(--sw-radius); overflow: hidden; box-shadow: var(--sw-shadow); }
.sw-contact-strip__item { display: grid; grid-template-columns: 44px 1fr; align-items: center; gap: 4px 14px; padding: 26px 28px; border-right: 1px solid rgba(255,255,255,.08); }
.sw-contact-strip__item:last-child { border-right: 0; }
.sw-contact-strip__item .sw-icon { grid-row: 1 / span 2; align-self: center; }
.sw-contact-strip__item strong { grid-column: 2; font-size: 13px; text-transform: uppercase; letter-spacing: .05em; color: var(--sw-gold-2); }
.sw-contact-strip__item a, .sw-contact-strip__item span { grid-column: 2; color: rgba(255,255,255,.88); font-size: 15px; line-height: 1.4; }
.sw-contact-strip__item a:hover { color: var(--sw-gold); }
.sw-contact-strip__item--cta { grid-template-columns: 1fr; gap: 6px; padding: 22px 28px; background: rgba(0,0,0,.22); }
.sw-contact-strip__item--cta strong { grid-column: 1; font-size: 14px; }
.sw-contact-strip__item--cta span { grid-column: 1; font-size: 13px; color: rgba(255,255,255,.7); }
.sw-contact-strip__item--cta .sw-btn { margin-top: 8px; padding: 10px 18px; font-size: 12px; align-self: start; }
@media (max-width: 980px) { .sw-contact-strip { grid-template-columns: 1fr 1fr; } .sw-contact-strip__item { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); } }
@media (max-width: 600px) { .sw-contact-strip { grid-template-columns: 1fr; } }
.sw-download-box { display: block !important; border: 1px solid rgba(185,130,58,.55); border-radius: 10px; padding: 22px; }
.sw-upload-placeholder { border: 1px dashed rgba(110,74,47,.36); border-radius: 8px; padding: 24px; text-align: center; color: var(--sw-muted); margin-top: 14px; }
.sw-footer { background: var(--sw-green-950); color: rgba(255,255,255,.72); padding: 54px 0 22px; }
.sw-footer__grid { display: grid; grid-template-columns: 1.6fr repeat(4, 1fr); gap: 42px; }
.sw-footer img { width: 150px; margin-bottom: 18px; }
.sw-footer h3 { color: var(--sw-gold-2); text-transform: uppercase; letter-spacing: .07em; font-size: 12px; margin-bottom: 14px; }
.sw-footer a, .sw-footer span { display: block; color: rgba(255,255,255,.72); margin-bottom: 8px; font-size: 14px; }
.sw-socials { display: flex; gap: 9px; margin-top: 16px; }
.sw-socials span { width: 28px; height: 28px; border: 1px solid rgba(255,255,255,.25); border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-size: 10px; }
.sw-footer__bottom { border-top: 1px solid rgba(255,255,255,.08); margin-top: 44px; padding-top: 18px; display: flex; justify-content: space-between; gap: 20px; }
@media (max-width: 1080px) {
  .sw-header__inner { grid-template-columns: 170px auto auto; }
  .sw-nav-toggle { display: inline-flex; justify-self: end; background: rgba(255,255,255,.08); color: #fff; border: 1px solid rgba(255,255,255,.18); border-radius: 6px; padding: 9px 12px; }
  .sw-nav { display: none; position: absolute; top: 78px; left: 24px; right: 24px; background: var(--sw-green-950); border: 1px solid rgba(255,255,255,.1); border-radius: 12px; padding: 18px; flex-direction: column; align-items: stretch; }
  .sw-nav.is-open { display: flex; }
  .sw-nav a { padding: 12px 0; }
  .sw-header__cta { display: none; }
  .sw-hero__inner, .sw-hero--compact .sw-hero__inner, .sw-product-hero__grid, .sw-flagship, .sw-contact-grid { grid-template-columns: 1fr; }
  .sw-hero__visual { display: none; }
  .sw-proof-row, .sw-application-grid, .sw-product-grid, .sw-product-grid--five, .sw-product-grid--catalog, .sw-catalog-layout, .sw-why__grid, .sw-two-col, .sw-card-row, .sw-spec-strip, .sw-material-grid, .sw-footer__grid, .sw-process__grid, .sw-process__grid--six, .sw-quote-band__grid, .sw-value-panels { grid-template-columns: 1fr 1fr; }
  .sw-catalog-layout, .sw-quote-band__grid, .sw-footer__grid { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .sw-container { width: min(100% - 28px, 1180px); }
  .sw-hero { min-height: 600px; }
  h1 { font-size: 44px; }
  h2 { font-size: 34px; }
  .sw-proof-row, .sw-application-grid, .sw-product-grid, .sw-product-grid--five, .sw-product-grid--catalog, .sw-why__grid, .sw-two-col, .sw-card-row, .sw-spec-strip, .sw-material-grid, .sw-process__grid, .sw-process__grid--six, .sw-filter-bar, .sw-tabs, .sw-form__grid, .sw-accordion, .sw-inspiration { grid-template-columns: 1fr; }
  .sw-section { padding: 54px 0; }
  .sw-product-hero { padding-top: 96px; }
  .sw-footer__bottom { display: block; }
}


/* Phase C additions: standalone theme, CF7 forms, richer product pages */
.sw-page .wpcf7 form { margin: 0; }
.sw-page .wpcf7 p { margin: 0 0 12px; }
.sw-page .wpcf7 label { display: block; color: rgba(255,255,255,.82); font-weight: 650; font-size: 13px; }
.sw-contact-form-card .wpcf7 label { color: var(--sw-ink); }
.sw-page .wpcf7 input:not([type="submit"]),
.sw-page .wpcf7 select,
.sw-page .wpcf7 textarea {
  width: 100%;
  min-height: 46px;
  border: 1px solid rgba(216,203,184,.32);
  background: rgba(255,255,255,.08);
  color: #fff;
  border-radius: 8px;
  padding: 12px 14px;
  outline: none;
  font: inherit;
}
.sw-contact-form-card .wpcf7 input:not([type="submit"]),
.sw-contact-form-card .wpcf7 select,
.sw-contact-form-card .wpcf7 textarea {
  background: rgba(255,255,255,.72);
  color: var(--sw-ink);
  border-color: var(--sw-border);
}
.sw-page .wpcf7 textarea { min-height: 118px; resize: vertical; }
.sw-page .wpcf7 input[type="file"] { border-style: dashed; padding: 18px; }
.sw-page .wpcf7-submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  width: 100%;
  border: 0;
  border-radius: 8px;
  padding: 0 24px;
  background: linear-gradient(135deg, var(--sw-gold), var(--sw-gold-2));
  color: #fff;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
  cursor: pointer;
}
.sw-cf7-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px; }
.sw-cf7-grid .sw-full { grid-column: 1 / -1; }
.wpcf7 form .wpcf7-response-output { margin: 16px 0 0; border-radius: 8px; color: inherit; }
.sw-gallery__thumbs img { cursor: pointer; }
.sw-mini-card--image { overflow: hidden; padding: 0 0 24px; }
.sw-mini-card--image > img { width: 100%; height: 150px; object-fit: cover; margin: 0 0 18px; }
.sw-mini-card--image .sw-icon, .sw-mini-card--image h3, .sw-mini-card--image p, .sw-mini-card--image span { margin-left: 20px; margin-right: 20px; }
.sw-faq { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px 16px; margin: 18px 0 42px; align-items: start; }
.sw-faq details { border: 1px solid var(--sw-border); border-radius: 10px; background: rgba(255,255,255,.68); overflow: hidden; }
.sw-faq summary { cursor: pointer; padding: 16px 18px; font-weight: 700; list-style: none; display: flex; justify-content: space-between; gap: 12px; }
.sw-faq summary::-webkit-details-marker { display: none; }
.sw-faq summary::after { content: '+'; color: var(--sw-gold); font-weight: 900; }
.sw-faq details[open] summary::after { content: '–'; }
.sw-faq details p { padding: 0 18px 18px; margin: 0; }
.sw-product-card[data-product-card][style*="display: none"] { pointer-events: none; }
@media (max-width: 760px) {
  .sw-cf7-grid, .sw-faq { grid-template-columns: 1fr; }
}

/* ── Sticky quote aside — compact single-column form ────────────────────── */
.sw-sticky-quote .sw-cf7-grid { grid-template-columns: 1fr; gap: 10px; }
.sw-sticky-quote .sw-cf7-grid .sw-full { grid-column: 1; }
.sw-sticky-quote .wpcf7 label { font-size: 11px; }
.sw-sticky-quote .wpcf7 input:not([type=submit]),
.sw-sticky-quote .wpcf7 select,
.sw-sticky-quote .wpcf7 textarea { min-height: 36px; padding: 8px 10px; font-size: 12px; }
.sw-sticky-quote .wpcf7 textarea { min-height: 80px; }
.sw-sticky-quote .wpcf7-submit { min-height: 40px; font-size: 11px; }
/* Hide file upload in compact aside — too complex for sidebar context */
.sw-sticky-quote label:last-of-type:has(.wpcf7-file) { display: none; }

/* ── Catalog landing — category cards ───────────────────────────────────── */
.sw-catalog-categories { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.sw-cat-card { background: #fffaf2; border: 1px solid var(--sw-border); border-radius: var(--sw-radius); overflow: hidden; box-shadow: var(--sw-shadow); display: flex; flex-direction: column; }
.sw-cat-card__img-wrap { position: relative; overflow: hidden; height: 260px; display: block; }
.sw-cat-card__img-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.sw-cat-card:hover .sw-cat-card__img-wrap img { transform: scale(1.05); }
.sw-cat-card__badge { position: absolute; bottom: 14px; right: 14px; background: rgba(4,31,22,.82); color: var(--sw-gold-2); border-radius: 6px; padding: 4px 11px; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.sw-cat-card__body { padding: 30px; flex: 1; display: flex; flex-direction: column; }
.sw-cat-card__body .sw-eyebrow { margin-bottom: 10px; }
.sw-cat-card__body h2 { font-size: clamp(22px, 2.6vw, 32px); margin: 0 0 14px; color: var(--sw-ink); }
.sw-cat-card__body h2 a { color: inherit; }
.sw-cat-card__body > p { font-size: 14px; color: var(--sw-muted); line-height: 1.65; flex: 1; margin-bottom: 0; }
.sw-cat-card__benefits { list-style: none; padding: 0; margin: 18px 0 26px; display: grid; gap: 8px; }
.sw-cat-card__benefits li { font-size: 13px; color: var(--sw-muted); padding-left: 16px; position: relative; }
.sw-cat-card__benefits li::before { content: '—'; position: absolute; left: 0; color: var(--sw-gold); font-weight: 800; }
.sw-cat-card__benefits strong { color: var(--sw-ink); }
.sw-cat-card .sw-btn--outline { border-color: var(--sw-green-950); color: var(--sw-green-950); background: transparent; margin-top: auto; }
.sw-cat-card .sw-btn--outline:hover { background: var(--sw-green-950); color: #fff; box-shadow: var(--sw-shadow); }
@media (max-width: 1080px) {
  .sw-catalog-categories { grid-template-columns: 1fr; }
}
@media (max-width: 680px) {
  .sw-cat-card__img-wrap { height: 200px; }
  .sw-cat-card__body { padding: 22px; }
}

/* ==========================================================================
   Phase C4 Premium Visual Upgrade v1.2.0
   Goal: move from technical MVP to premium B2B architectural catalog.
   ========================================================================== */
:root {
  --sw-container: 1440px;
  --sw-container-narrow: 1180px;
  --sw-glass: rgba(255,255,255,.075);
  --sw-glass-border: rgba(255,255,255,.16);
  --sw-shadow-premium: 0 28px 80px rgba(4,31,22,.18);
  --sw-shadow-card: 0 18px 45px rgba(4,31,22,.10);
  --sw-shadow-hover: 0 32px 85px rgba(4,31,22,.18);
  --sw-radius-xl: 24px;
  --sw-radius-lg: 18px;
  --sw-serif-tracking: -.045em;
}

html { scroll-behavior: smooth; }
body {
  background:
    radial-gradient(circle at 20% 0%, rgba(185,130,58,.055), transparent 32rem),
    linear-gradient(180deg, #fbf7ef 0%, #f5f0e6 100%);
  font-size: 16px;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
::selection { background: rgba(185,130,58,.26); }
.sw-container { width: min(var(--sw-container), calc(100% - 72px)); }
.sw-container > .sw-section-head, .sw-two-col, .sw-catalog-layout, .sw-contact-grid { margin-inline: auto; }

h1, h2 { letter-spacing: var(--sw-serif-tracking); }
h1 { font-size: clamp(62px, 6.4vw, 104px); line-height: .92; }
h2 { font-size: clamp(42px, 3.9vw, 66px); line-height: .96; }
h3 { font-size: 20px; letter-spacing: -.015em; }
p { font-size: 16px; line-height: 1.72; }
.sw-eyebrow { font-size: 12px; letter-spacing: .18em; color: var(--sw-gold-2); }
.sw-lead { font-size: clamp(17px, 1.3vw, 21px); line-height: 1.65; max-width: 720px; color: var(--sw-muted); }
.sw-hero .sw-lead,
.sw-section--dark .sw-lead,
.sw-story .sw-lead,
.sw-quote-band .sw-lead { color: rgba(255,255,255,.82); }

/* Header */
.sw-header { position: absolute; top: 0; left: 0; right: 0; }
.admin-bar .sw-header { top: 32px; }
.sw-header::before {
  content: '';
  position: absolute;
  inset: 0;
  height: 100px;
  background: linear-gradient(180deg, rgba(3,18,13,.72), rgba(3,18,13,.28) 58%, transparent);
  pointer-events: none;
}
.sw-header__inner {
  position: relative;
  min-height: 92px;
  grid-template-columns: 230px 1fr auto;
  gap: 36px;
}
.sw-logo img { width: 172px; }
.sw-footer__brand img { filter: none; }
.sw-nav { gap: clamp(22px, 2.2vw, 42px); font-size: 14px; font-weight: 700; }
.sw-nav a { padding: 34px 0 21px; opacity: .93; }
.sw-header__cta { min-height: 46px; padding-inline: 24px; }

/* Buttons */
.sw-btn {
  min-height: 50px;
  padding: 0 28px;
  border-radius: 9px;
  box-shadow: none;
  font-size: 12px;
  letter-spacing: .075em;
}
.sw-btn--gold {
  background: linear-gradient(135deg, #b9823a 0%, #d6a85d 50%, #a86d28 100%);
  color: #fff;
  border-color: rgba(255,255,255,.1);
  box-shadow: 0 16px 36px rgba(185,130,58,.24);
}
.sw-btn--outline {
  border-color: rgba(245,240,230,.52);
  color: #fff;
  background: rgba(4,31,22,.38);
  backdrop-filter: blur(12px);
}
.sw-btn:hover { transform: translateY(-2px); box-shadow: var(--sw-shadow-hover); }

/* Home / page hero */
.sw-hero {
  min-height: 680px;
  padding: 120px 0 40px;
  isolation: isolate;
  overflow: visible;
}
.sw-hero--compact { min-height: 500px; padding: 145px 0 74px; }
.sw-hero__bg::after {
  background:
    radial-gradient(circle at 74% 42%, rgba(185,130,58,.22), transparent 25%),
    linear-gradient(90deg, rgba(4,31,22,.98) 0%, rgba(4,31,22,.82) 43%, rgba(4,31,22,.42) 72%, rgba(4,31,22,.72) 100%),
    linear-gradient(180deg, rgba(4,31,22,.18), rgba(4,31,22,.74));
}
.sw-hero__inner {
  grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr);
  gap: clamp(40px, 5vw, 72px);
  align-items: end;
}
.sw-hero__copy { max-width: 780px; }
.sw-hero__visual {
  align-self: end;
  position: relative;
  filter: drop-shadow(0 42px 76px rgba(0,0,0,.42));
  overflow: visible;
  padding-left: 0;
}
.sw-hero__visual::before {
  content: '';
  position: absolute;
  inset: auto 8% -5% 8%;
  height: 25%;
  background: radial-gradient(ellipse at center, rgba(0,0,0,.36), transparent 70%);
  z-index: -1;
}
.sw-hero__visual img {
  max-height: none;
  width: 100%;
  display: block;
  object-fit: contain;
  object-position: bottom center;
}
.sw-actions { gap: 18px; margin-top: 34px; }
.sw-proof-row {
  max-width: 880px;
  gap: 22px;
  margin-top: 42px;
}
.sw-proof-row div {
  grid-template-columns: 48px 1fr;
  column-gap: 14px;
}
.sw-proof-row strong { font-size: 15px; letter-spacing: -.01em; }
.sw-proof-row span:not(.sw-icon) { font-size: 12px; line-height: 1.35; }

/* Icons: premium line icon container */
.sw-icon {
  width: 44px;
  height: 44px;
  border-color: rgba(208,161,90,.72);
  background: radial-gradient(circle at 35% 20%, rgba(208,161,90,.15), rgba(185,130,58,.035));
  color: var(--sw-gold-2);
  font-size: 0;
}
.sw-icon svg { width: 22px; height: 22px; stroke: currentColor; stroke-width: 1.8; fill: none; stroke-linecap: round; stroke-linejoin: round; }
.sw-feature .sw-icon, .sw-step .sw-icon { width: 56px; height: 56px; }
.sw-feature .sw-icon svg, .sw-step .sw-icon svg { width: 26px; height: 26px; }

/* Section rhythm */
.sw-section { padding: 80px 0; }
.sw-section--pullup { padding-top: 40px; }
.sw-section-head { margin-bottom: 38px; }
.sw-section-head h2 { margin-bottom: 0; }
.sw-link { font-size: 12px; letter-spacing: .085em; color: #a86d28; }
.sw-link:hover { color: var(--sw-green-950); }

/* Application cards */
.sw-application-grid { gap: 30px; }
.sw-application-card,
.sw-card,
.sw-cat-card,
.sw-mini-card,
.sw-contact-form-card,
.sw-aside-cta,
.sw-aside-note,
.sw-contact-card,
.sw-sticky-quote {
  border-radius: var(--sw-radius-lg);
}
.sw-application-card {
  background: rgba(255,250,242,.93);
  box-shadow: var(--sw-shadow-card);
  transform: translateY(0);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.sw-application-card:hover { transform: translateY(-6px); box-shadow: var(--sw-shadow-hover); border-color: rgba(185,130,58,.38); }
.sw-application-card img { height: 238px; }
.sw-application-card div { padding: 30px 64px 30px 30px; }
.sw-application-card h2 { font-size: 24px; }
.sw-application-card p { font-size: 15px; line-height: 1.55; }

/* Product cards / grids */
.sw-product-grid { gap: 30px; }
.sw-product-grid--five { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.sw-product-grid--catalog { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.sw-card {
  background: rgba(255,250,242,.96);
  border-color: rgba(89,69,43,.16);
  box-shadow: 0 12px 38px rgba(4,31,22,.075);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}
.sw-card:hover { transform: translateY(-5px); box-shadow: var(--sw-shadow-hover); border-color: rgba(185,130,58,.34); }
.sw-product-card__image { height: 215px; }
.sw-product-grid--five .sw-product-card__image { height: 180px; }
.sw-product-card__image::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  height: 45%;
  background: linear-gradient(180deg, transparent, rgba(4,31,22,.28));
  pointer-events: none;
}
.sw-product-card__image span {
  left: 16px;
  bottom: 14px;
  padding: 5px 10px;
  font-size: 10px;
  border-radius: 6px;
  background: rgba(245,240,230,.94);
  box-shadow: 0 8px 18px rgba(0,0,0,.12);
}
.sw-product-card__body { padding: 22px; }
.sw-product-card h3 { font-size: 18px; margin-bottom: 9px; }
.sw-product-card p { font-size: 14px; line-height: 1.55; min-height: 46px; }

/* Catalog landing */
.sw-tabs { margin-bottom: 34px; border-radius: 14px; box-shadow: 0 16px 44px rgba(4,31,22,.12); }
.sw-tabs button { min-height: 66px; letter-spacing: .035em; }
.sw-filter-bar { padding: 26px; gap: 22px; margin-bottom: 36px; border-radius: 16px; background: rgba(255,250,242,.82); box-shadow: 0 12px 32px rgba(4,31,22,.05); }
.sw-catalog-layout { grid-template-columns: minmax(0, 1fr) 350px; gap: 40px; }
.sw-aside-cta, .sw-sticky-quote, .sw-contact-card {
  background:
    radial-gradient(circle at 88% 8%, rgba(185,130,58,.18), transparent 26%),
    linear-gradient(145deg, #06271c 0%, #041f16 100%);
  border: 1px solid rgba(255,255,255,.09);
  box-shadow: 0 28px 70px rgba(4,31,22,.24);
}
.sw-aside-cta h2 { font-size: 42px; }
.sw-aside-cta .sw-btn { width: 100%; }
.sw-aside-cta li, .sw-sticky-quote li { position: relative; padding-left: 28px; }
.sw-aside-cta li::before, .sw-sticky-quote li::before {
  content: '✓'; position: absolute; left: 0; top: 0; color: var(--sw-gold-2); font-weight: 900;
}
.sw-catalog-categories { gap: 34px; }
.sw-cat-card { box-shadow: var(--sw-shadow-card); }
.sw-cat-card__img-wrap { height: 320px; }
.sw-cat-card__body { padding: 34px; }
.sw-cat-card__body h2 { font-size: clamp(30px, 2.7vw, 42px); }
.sw-cat-card__body > p { font-size: 16px; }
.sw-cat-card .sw-btn--outline { min-height: 48px; }

/* Why section */
.sw-why__grid {
  grid-template-columns: 1.15fr repeat(4, 1fr);
  gap: 34px;
  align-items: center;
}
.sw-feature {
  background: rgba(255,250,242,.55);
  border: 1px solid rgba(89,69,43,.12);
  border-radius: 18px;
  padding: 28px 20px;
  min-height: 210px;
}
.sw-feature h3 { font-size: 18px; }
.sw-feature p { font-size: 14px; }

/* Story / heritage */
.sw-story { min-height: 520px; }
.sw-story__image { opacity: .55; }
.sw-story__inner { grid-template-columns: .9fr 1fr; gap: 72px; padding: 98px 0; }
.sw-story__collage { max-width: 520px; gap: 18px; }
.sw-story__collage img { height: 190px; border-radius: 4px; }
.sw-story h2 { max-width: 760px; }
.sw-story p { max-width: 650px; font-size: 17px; }

/* Process */
.sw-process__grid { grid-template-columns: 1.2fr repeat(4, 1fr); gap: 42px; align-items: center; }
.sw-step { min-height: 190px; }
.sw-step::before {
  content: '';
  position: absolute;
  left: 76px;
  top: 28px;
  width: calc(100% - 58px);
  border-top: 1px dashed rgba(185,130,58,.42);
}
.sw-step:last-child::before { display: none; }
.sw-step > span { color: #b9823a; font-size: 13px; letter-spacing: .12em; }
.sw-step h3 { font-size: 15px; }

/* Quote band */
.sw-quote-band { padding: 88px 0; background: linear-gradient(180deg, #06271c, #041f16); }
.sw-quote-band__grid {
  grid-template-columns: minmax(300px, .9fr) minmax(420px, 1.05fr) minmax(330px, .82fr);
  gap: 32px;
  padding: 34px;
  border-radius: var(--sw-radius-xl);
  background: linear-gradient(135deg, rgba(255,255,255,.10), rgba(255,255,255,.035));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 34px 90px rgba(0,0,0,.26);
}
.sw-quote-band h2 { font-size: clamp(38px, 3vw, 54px); }
.sw-quote-band__copy { align-self: center; }
.sw-quote-band__grid > img { width: 100%; height: 100%; min-height: 0; object-fit: cover; border-radius: 16px; }

/* Product detail page */
.sw-product-hero {
  position: relative;
  padding: 142px 0 96px;
  background:
    radial-gradient(circle at 72% 22%, rgba(185,130,58,.16), transparent 28rem),
    linear-gradient(180deg, #06271c 0%, #041f16 100%);
  overflow: hidden;
}
.sw-product-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(4,31,22,.70), rgba(4,31,22,.96)),
    url('../img/forest-dark.png') center/cover no-repeat;
  opacity: .22;
}
.sw-product-hero > .sw-container { position: relative; z-index: 1; }
.sw-breadcrumbs { margin-bottom: 30px; font-size: 13px; }
.sw-product-hero__grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(360px, .74fr) 360px;
  gap: 48px;
  align-items: start;
}
.sw-gallery__main {
  aspect-ratio: 1.42 / 1;
  min-height: 500px;
  border-radius: 18px;
  box-shadow: 0 36px 88px rgba(0,0,0,.34);
  border: 1px solid rgba(255,255,255,.12);
}
.sw-gallery__thumbs { gap: 14px; margin-top: 16px; }
.sw-gallery__thumbs img {
  height: 88px;
  border-radius: 12px;
  opacity: .92;
  transition: transform .2s ease, opacity .2s ease, border-color .2s ease;
}
.sw-gallery__thumbs img:hover { transform: translateY(-3px); opacity: 1; border-color: var(--sw-gold-2); }
.sw-product-summary { padding-top: 18px; }
.sw-product-summary h1 { font-size: clamp(58px, 4.8vw, 86px); line-height: .92; margin-bottom: 24px; }
.sw-product-summary > p { font-size: 17px; line-height: 1.72; max-width: 520px; }
.sw-quick-specs { gap: 22px 26px; margin-top: 34px; }
.sw-quick-specs div {
  grid-template-columns: 52px 1fr;
  padding: 12px;
  border-radius: 14px;
  background: rgba(255,255,255,.045);
  border: 1px solid rgba(255,255,255,.075);
}
.sw-quick-specs strong { color: #fff; font-size: 14px; }
.sw-quick-specs span:not(.sw-icon) { font-size: 12px; }
.sw-sticky-quote {
  top: 28px;
  padding: 30px;
  border-radius: 18px;
}
.sw-sticky-quote h2 { font-size: 32px; line-height: 1.04; margin-bottom: 14px; }
.sw-sticky-quote p { font-size: 13px; line-height: 1.55; }
.sw-sticky-quote ul { gap: 10px; margin-top: 24px; }
.sw-sticky-quote li { font-size: 13px; }

/* Forms / CF7 */
.sw-page .wpcf7 label { font-size: 12px; letter-spacing: .015em; }
.sw-page .wpcf7 input:not([type="submit"]),
.sw-page .wpcf7 select,
.sw-page .wpcf7 textarea,
.sw-form input,
.sw-form select,
.sw-form textarea {
  min-height: 50px;
  border-radius: 10px;
  padding: 13px 15px;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease;
}
.sw-page .wpcf7 input:not([type="submit"]):focus,
.sw-page .wpcf7 select:focus,
.sw-page .wpcf7 textarea:focus,
.sw-form input:focus,
.sw-form select:focus,
.sw-form textarea:focus {
  border-color: rgba(208,161,90,.75);
  box-shadow: 0 0 0 4px rgba(185,130,58,.12);
}
.sw-page .wpcf7-submit { min-height: 52px; border-radius: 10px; }
.sw-sticky-quote .wpcf7 input:not([type=submit]),
.sw-sticky-quote .wpcf7 select,
.sw-sticky-quote .wpcf7 textarea { min-height: 40px; padding: 9px 11px; font-size: 12px; border-radius: 8px; }
.sw-sticky-quote .wpcf7 textarea { min-height: 92px; }
.sw-sticky-quote .wpcf7-submit { min-height: 42px; border-radius: 8px; }
.sw-sticky-quote .wpcf7 p { margin-bottom: 9px; }

/* Tables / specs */
.sw-two-col { gap: 64px; }
.sw-table {
  border-radius: 16px;
  font-size: 15px;
  box-shadow: 0 14px 38px rgba(4,31,22,.045);
}
.sw-table th, .sw-table td { padding: 17px 20px; }
.sw-table th { color: #82582b; }
.sw-note { font-size: 13px; }

/* Application cards / FAQ */
.sw-card-row { gap: 28px; }
.sw-mini-card {
  min-height: 0;
  box-shadow: 0 14px 36px rgba(4,31,22,.06);
}
.sw-section--dark .sw-mini-card {
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}
.sw-section--dark .sw-mini-card h3 { color: #fff; }
.sw-section--dark .sw-mini-card p { color: rgba(255,255,255,.72); }

/* Card-row icons — 2× size */
.sw-card-row .sw-icon,
.sw-application-card .sw-icon {
  width: 88px;
  height: 88px;
}
.sw-card-row .sw-icon svg,
.sw-application-card .sw-icon svg {
  width: 44px;
  height: 44px;
}
.sw-mini-card--image > img { height: 180px; }
.sw-mini-card--image .sw-icon { margin-top: 3px; }
.sw-faq { gap: 16px 22px; margin-top: 24px; }
.sw-faq details {
  border-radius: 14px;
  background: rgba(255,250,242,.78);
  box-shadow: 0 10px 28px rgba(4,31,22,.045);
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.sw-faq details[open] { background: #fffaf2; border-color: rgba(185,130,58,.32); box-shadow: 0 18px 48px rgba(4,31,22,.08); }
.sw-faq summary { padding: 20px 22px; font-size: 15px; }
.sw-faq summary::after {
  width: 26px; height: 26px; border: 1px solid rgba(185,130,58,.42); border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto;
}
.sw-faq details p { padding: 0 22px 22px; }

/* Materials / about / contact */
.sw-flagship { grid-template-columns: .95fr .95fr 320px; border-radius: 24px; box-shadow: var(--sw-shadow-premium); }
.sw-flagship > img { min-height: 420px; }
.sw-flagship > div { padding: 58px; }
.sw-flagship aside { margin: 58px 46px 58px 0; border-radius: 16px; }
.sw-material-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.sw-material-card img { height: 150px; }
.sw-contact-grid { grid-template-columns: minmax(0, 1fr) 470px; gap: 36px; }
.sw-contact-form-card { padding: 44px; }
.sw-contact-card { padding: 42px; }

/* Footer */
.sw-footer { padding: 72px 0 24px; background: linear-gradient(180deg, #06271c, #041f16); }
.sw-footer__grid { grid-template-columns: 1.7fr repeat(4, 1fr); gap: 58px; }
.sw-footer img { width: 168px; }
.sw-footer h3 { font-size: 12px; color: #d0a15a; }
.sw-footer a, .sw-footer span { font-size: 14px; line-height: 1.45; }

/* Responsive */
@media (max-width: 1280px) {
  .sw-product-hero__grid { grid-template-columns: minmax(0, 1fr) minmax(320px, .72fr); }
  .sw-product-hero__grid .sw-sticky-quote { grid-column: 1 / -1; position: static; max-width: none; }
  .sw-sticky-quote .sw-cf7-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .sw-product-grid--five { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 1080px) {
  .sw-container { width: min(100% - 48px, var(--sw-container)); }
  .admin-bar .sw-header { top: 46px; }
  .sw-header__inner { min-height: 82px; grid-template-columns: 180px 1fr auto; }
  .sw-logo img { width: 150px; }
  .sw-nav { top: 82px; }
  .sw-hero { min-height: auto; padding: 138px 0 86px; }
  .sw-hero__inner, .sw-hero--compact .sw-hero__inner, .sw-product-hero__grid, .sw-flagship, .sw-contact-grid { grid-template-columns: 1fr; }
  .sw-hero__visual { display: block; max-width: 620px; justify-self: start; }
  .sw-proof-row, .sw-application-grid, .sw-product-grid, .sw-product-grid--five, .sw-product-grid--catalog, .sw-catalog-categories, .sw-why__grid, .sw-two-col, .sw-card-row, .sw-spec-strip, .sw-material-grid, .sw-footer__grid, .sw-process__grid, .sw-process__grid--six, .sw-value-panels { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .sw-catalog-layout, .sw-quote-band__grid, .sw-footer__grid, .sw-flagship { grid-template-columns: 1fr; }
  .sw-process__grid > div:first-child, .sw-why__grid > div:first-child { grid-column: 1 / -1; }
  .sw-step::before { display: none; }
  .sw-flagship aside { margin: 0 38px 38px; }
}
@media (max-width: 760px) {
  .sw-container { width: min(100% - 32px, var(--sw-container)); }
  h1 { font-size: clamp(44px, 14vw, 64px); }
  h2 { font-size: clamp(34px, 10vw, 46px); }
  .sw-section { padding: 54px 0; }
  .sw-hero { padding: 124px 0 70px; }
  .sw-hero__visual { display: none; }
  .sw-proof-row, .sw-application-grid, .sw-product-grid, .sw-product-grid--five, .sw-product-grid--catalog, .sw-catalog-categories, .sw-why__grid, .sw-two-col, .sw-card-row, .sw-spec-strip, .sw-material-grid, .sw-process__grid, .sw-process__grid--six, .sw-filter-bar, .sw-tabs, .sw-form__grid, .sw-cf7-grid, .sw-faq, .sw-inspiration, .sw-sticky-quote .sw-cf7-grid { grid-template-columns: 1fr; }
  .sw-product-hero { padding: 118px 0 68px; }
  .sw-gallery__main { min-height: 330px; }
  .sw-gallery__thumbs { grid-template-columns: repeat(3, 1fr); }
  .sw-gallery__thumbs img { height: 70px; }
  .sw-quick-specs { grid-template-columns: 1fr; }
  .sw-cat-card__img-wrap, .sw-application-card img { height: 220px; }
  .sw-quote-band__grid { padding: 22px; }
  .sw-quote-band__grid > img { min-height: 220px; }
  .sw-contact-form-card, .sw-contact-card, .sw-flagship > div { padding: 28px; }
  .sw-footer__grid { gap: 28px; }
}


/* Batch 6: SVG icons + product tabs integration */
.sw-quick-specs div {
  grid-template-columns: 56px 1fr;
  align-items: center;
}

.sw-quick-specs .sw-icon + strong {
  align-self: end;
}

.sw-quick-specs .sw-icon + strong + span {
  align-self: start;
}

.sw-product-tabs {
  margin-top: -34px;
  position: relative;
  z-index: 3;
}

.sw-product-tabs__card {
  overflow: hidden;
  border: 1px solid rgba(185,130,58,.36);
  border-radius: 18px;
  background:
    radial-gradient(circle at top left, rgba(185,130,58,.20), transparent 34%),
    linear-gradient(145deg, #061f17, #0a2d21 58%, #041812);
  box-shadow: 0 26px 70px rgba(4,31,22,.22);
  color: #fff;
}

.sw-product-tabs__nav {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  border-bottom: 1px solid rgba(185,130,58,.24);
}

.sw-product-tabs__nav button {
  min-height: 62px;
  border: 0;
  border-right: 1px solid rgba(185,130,58,.18);
  background: transparent;
  color: rgba(255,255,255,.74);
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
}

.sw-product-tabs__nav button:last-child {
  border-right: 0;
}

.sw-product-tabs__nav button.is-active {
  color: #fff;
  background: linear-gradient(135deg, rgba(185,130,58,.92), rgba(208,161,90,.92));
}

.sw-product-tabs__panel {
  display: none;
  padding: clamp(24px, 4vw, 42px);
}

.sw-product-tabs__panel.is-active {
  display: block;
}

.sw-tab-panel__grid {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: 22px;
  align-items: start;
}

.sw-tab-panel__copy > p {
  max-width: 840px;
  color: rgba(255,255,255,.76);
  margin-top: 0;
}

.sw-tab-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 24px;
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.sw-tab-list li {
  position: relative;
  padding-left: 22px;
  color: rgba(255,255,255,.82);
}

.sw-tab-list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .72em;
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: var(--sw-gold-2);
}

.sw-tab-specs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 6px;
}

.sw-tab-specs div {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px;
  padding: 14px 16px;
  background: rgba(255,255,255,.05);
}

.sw-tab-specs strong {
  display: block;
  color: var(--sw-gold-2);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.sw-tab-specs span {
  display: block;
  margin-top: 4px;
  color: rgba(255,255,255,.84);
}

.sw-tab-applications {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.sw-tab-application {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 14px;
  padding: 18px;
  background: rgba(255,255,255,.05);
}

.sw-tab-application h3 {
  margin-top: 14px;
  margin-bottom: 6px;
  font-size: 18px;
}

.sw-tab-application p {
  margin: 0;
  color: rgba(255,255,255,.72);
  font-size: 14px;
}

.sw-tab-faq {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.sw-tab-faq details {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 12px;
  padding: 16px 18px;
  background: rgba(255,255,255,.05);
}

.sw-tab-faq summary {
  cursor: pointer;
  font-weight: 750;
}

.sw-tab-faq p {
  margin-bottom: 0;
  color: rgba(255,255,255,.72);
}

@media (max-width: 1080px) {
  .sw-tab-applications {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .sw-product-tabs {
    margin-top: -20px;
  }

  .sw-product-tabs__nav,
  .sw-tab-list,
  .sw-tab-specs,
  .sw-tab-applications,
  .sw-tab-faq {
    grid-template-columns: 1fr;
  }

  .sw-tab-panel__grid {
    grid-template-columns: 1fr;
  }

  .sw-product-tabs__nav button {
    min-height: 52px;
    border-right: 0;
    border-bottom: 1px solid rgba(185,130,58,.16);
  }
}

/* Batch 4 — product mini-landing layer */
.sw-single-product {
  background: #f9f7f4;
}

.sw-pdp-hero .sw-product-hero__grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, .74fr) 360px;
}

.sw-product-gallery .sw-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sw-gallery__thumb {
  display: block;
  padding: 0;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 12px;
  background: transparent;
  overflow: hidden;
  cursor: pointer;
}

.sw-gallery__thumb img {
  width: 100%;
  height: 88px;
  object-fit: cover;
  display: block;
}

.sw-gallery__thumb.is-active,
.sw-gallery__thumb:focus-visible {
  border-color: var(--sw-gold-2, #D0A15A);
  box-shadow: 0 0 0 3px rgba(185,130,58,.22);
  outline: 0;
}

.sw-sticky-quote--compact .sw-btn {
  width: 100%;
  justify-content: center;
  margin-top: 12px;
}

.sw-product-quote-band__copy ul {
  list-style: none;
  padding: 0;
}

.sw-product-quote-band__copy li {
  color: rgba(255,255,255,.84);
}

.sw-product-quote-band__copy li::before {
  content: "";
  display: inline-block;
  width: 7px;
  height: 7px;
  margin-right: 9px;
  border-radius: 999px;
  background: var(--sw-gold-2, #D0A15A);
  transform: translateY(-1px);
}

.sw-product-quote-form {
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 18px;
  background: rgba(255,255,255,.055);
  padding: 24px;
}

.sw-product-quote-form .sw-form,
.sw-product-quote-form .wpcf7 form {
  margin: 0;
}

.sw-product-specs-grid {
  align-items: start;
}

.sw-product-dimensions-table th,
.sw-product-dimensions-table td {
  white-space: nowrap;
}

.sw-product-applications-grid .sw-icon,
.sw-product-application-card .sw-icon {
  margin-top: 18px;
}

.sw-product-faq {
  max-width: 1120px;
  margin-inline: auto;
}

.sw-product-related-section {
  background: #fffaf2;
}

.sw-product-final-cta {
  padding: 76px 0;
  background: radial-gradient(circle at 15% 10%, rgba(185,130,58,.18), transparent 32rem), linear-gradient(135deg, #041f16, #083726);
  color: #fff;
}

.sw-product-final-cta .sw-final-cta__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 36px;
  align-items: center;
  padding: 0;
}

.sw-product-final-cta h2 {
  color: #fff;
}

.sw-product-final-cta p {
  color: rgba(255,255,255,.76);
  max-width: 700px;
}

.sw-product-final-cta .sw-btn--ghost {
  border-color: rgba(255,255,255,.46);
  color: #fff;
}

@media (max-width: 1180px) {
  .sw-pdp-hero .sw-product-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .85fr);
  }
  .sw-pdp-hero .sw-sticky-quote {
    grid-column: 1 / -1;
    position: static;
  }
}

@media (max-width: 820px) {
  .sw-product-gallery .sw-gallery__thumbs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .sw-product-quote-form {
    padding: 18px;
  }
  .sw-product-final-cta .sw-final-cta__inner {
    grid-template-columns: 1fr;
  }
  .sw-product-final-cta .sw-actions {
    align-items: stretch;
  }
}

/* Batch 5 — final integration form polish */
.sw-cf7-grid .sw-cf7-full,
.sw-cf7-grid--batch5 .sw-cf7-full {
  grid-column: 1 / -1;
}
.sw-cf7-grid--batch5 .wpcf7-list-item {
  margin-left: 0;
}
.sw-cf7-grid--batch5 input[type="file"] {
  width: 100%;
  min-height: 50px;
  padding: 12px;
  border: 1px dashed rgba(185,130,58,.45);
  border-radius: 12px;
  background: rgba(255,255,255,.08);
}
@media (max-width: 820px) {
  .sw-cf7-grid .sw-cf7-full,
  .sw-cf7-grid--batch5 .sw-cf7-full {
    grid-column: 1;
  }
}

/* Batch 6 — product page final polish */
.sw-product-final-polish {
  background: #f9f7f4;
}

.sw-product-final-polish .sw-pdp-hero {
  padding: clamp(118px, 9vw, 154px) 0 clamp(86px, 7vw, 112px);
}

.sw-product-final-polish .sw-pdp-hero .sw-product-hero__grid {
  display: grid;
  grid-template-columns: minmax(420px, 45fr) minmax(310px, 30fr) minmax(270px, 25fr);
  gap: clamp(28px, 3vw, 46px);
  align-items: start;
}

.sw-product-final-polish .sw-product-gallery {
  min-width: 0;
}

.sw-product-final-polish .sw-gallery__main {
  width: 100%;
  min-height: clamp(430px, 37vw, 560px);
  aspect-ratio: 1.42 / 1;
  object-fit: cover;
  background: rgba(255,255,255,.06);
}

.sw-product-final-polish .sw-product-summary__intro {
  color: rgba(255,255,255,.82);
}

.sw-product-final-polish .sw-quick-specs--icons {
  display: grid;
  grid-template-columns: 1fr;
}

.sw-product-final-polish .sw-spec-card {
  min-width: 0;
}

.sw-product-final-polish .sw-quick-specs .sw-icon,
.sw-product-final-polish .sw-product-tabs .sw-icon,
.sw-product-final-polish .sw-tab-application .sw-icon,
.sw-product-final-polish .sw-product-applications-grid .sw-icon {
  width: 48px;
  height: 48px;
  color: var(--sw-gold-2);
  background: rgba(185,130,58,.10);
  border-color: rgba(185,130,58,.45);
}

.sw-product-final-polish .sw-sticky-quote--compact {
  position: sticky;
  top: 26px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 24px 60px rgba(0,0,0,.24);
  backdrop-filter: blur(10px);
}

.sw-product-final-polish .sw-sticky-quote--compact .sw-icon {
  margin-bottom: 18px;
}

.sw-product-final-polish .sw-product-tabs {
  margin-top: -44px;
  padding-bottom: 22px;
}

.sw-product-final-polish .sw-product-tabs__card {
  border-radius: 22px;
  border-color: rgba(185,130,58,.42);
  background:
    radial-gradient(circle at 12% 10%, rgba(208,161,90,.23), transparent 34%),
    radial-gradient(circle at 92% 8%, rgba(255,255,255,.08), transparent 30%),
    linear-gradient(145deg, #041812 0%, #08271d 54%, #03150f 100%);
  box-shadow: 0 34px 88px rgba(4,31,22,.28);
}

.sw-product-final-polish .sw-product-tabs__nav button {
  min-height: 66px;
  color: rgba(255,255,255,.76);
  outline-offset: -4px;
}

.sw-product-final-polish .sw-product-tabs__nav button:hover,
.sw-product-final-polish .sw-product-tabs__nav button:focus-visible {
  color: #fff;
  background: rgba(255,255,255,.055);
  outline: 2px solid rgba(208,161,90,.38);
}

.sw-product-final-polish .sw-product-tabs__nav button.is-active,
.sw-product-final-polish .sw-product-tabs__nav button.is-active:hover,
.sw-product-final-polish .sw-product-tabs__nav button.is-active:focus-visible {
  color: #fff;
  background: linear-gradient(135deg, rgba(185,130,58,.98), rgba(208,161,90,.96));
  outline-color: rgba(255,255,255,.28);
}

.sw-product-final-polish .sw-product-tabs__panel {
  padding: clamp(28px, 4vw, 50px);
}

.sw-product-final-polish .sw-tab-panel__grid {
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 26px;
}

.sw-product-final-polish .sw-tab-panel__copy > p {
  font-size: clamp(16px, 1.2vw, 18px);
  line-height: 1.72;
}

.sw-product-final-polish .sw-tab-list {
  margin-top: 24px;
}

.sw-product-final-polish .sw-tab-list li {
  line-height: 1.55;
}

.sw-product-final-polish .sw-product-quote-band {
  padding: clamp(70px, 6vw, 96px) 0;
}

.sw-product-final-polish .sw-product-quote-band__grid {
  grid-template-columns: minmax(0, .84fr) minmax(420px, 1fr) minmax(250px, .54fr);
  gap: clamp(22px, 2.5vw, 34px);
  align-items: stretch;
  border-radius: 24px;
}

.sw-product-final-polish .sw-product-quote-band__copy {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.sw-product-final-polish .sw-product-quote-band__copy > .sw-icon {
  margin-bottom: 18px;
}

.sw-product-final-polish .sw-product-quote-band__copy h2 {
  font-size: clamp(34px, 3.2vw, 52px);
}

.sw-product-final-polish .sw-product-quote-band__copy .sw-proof-row--compact {
  display: grid;
  grid-template-columns: 1fr;
}

.sw-product-final-polish .sw-product-quote-form {
  align-self: stretch;
  display: flex;
  flex-direction: column;
  justify-content: center;
  background: rgba(255,255,255,.072);
}

.sw-product-final-polish .sw-product-quote-form .sw-cf7-grid,
.sw-product-final-polish .sw-product-quote-form .sw-form__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 16px;
}

.sw-product-final-polish .sw-product-quote-form label {
  display: grid;
  gap: 6px;
  color: rgba(255,255,255,.82);
}

.sw-product-final-polish .sw-product-quote-form .sw-cf7-full,
.sw-product-final-polish .sw-product-quote-form .wpcf7-submit,
.sw-product-final-polish .sw-product-quote-form .sw-btn[type="submit"] {
  grid-column: 1 / -1;
}

.sw-product-final-polish .sw-product-quote-form .wpcf7-submit,
.sw-product-final-polish .sw-product-quote-form .sw-btn[type="submit"] {
  width: 100%;
}

.sw-product-final-polish .sw-product-quote-form textarea {
  min-height: 116px;
}

.sw-product-final-polish .sw-product-quote-form input[type="file"] {
  cursor: pointer;
}

.sw-product-final-polish .sw-product-quote-band__image {
  margin: 0;
  min-height: 100%;
}

.sw-product-final-polish .sw-product-quote-band__image img {
  width: 100%;
  height: 100%;
  min-height: 330px;
  object-fit: cover;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.10);
}

.sw-product-final-polish .sw-product-specs-section {
  padding-top: clamp(72px, 7vw, 104px);
}

.sw-product-final-polish .sw-product-specs-grid > div {
  min-width: 0;
  padding: clamp(22px, 3vw, 34px);
  background: #fffaf2;
  border: 1px solid rgba(89,69,43,.12);
  border-radius: 22px;
  box-shadow: 0 18px 52px rgba(4,31,22,.06);
}

.sw-product-final-polish .sw-product-dimensions-table,
.sw-product-final-polish .sw-product-technical-table {
  margin-top: 12px;
}

.sw-product-final-polish .sw-product-applications-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.sw-product-final-polish .sw-product-application-card {
  position: relative;
  overflow: hidden;
  min-height: 100%;
}

.sw-product-final-polish .sw-product-faq {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.sw-product-final-polish .sw-product-related-grid {
  align-items: stretch;
}

@media (max-width: 1280px) {
  .sw-product-final-polish .sw-pdp-hero .sw-product-hero__grid {
    grid-template-columns: minmax(0, 1fr) minmax(320px, .78fr);
  }

  .sw-product-final-polish .sw-pdp-hero .sw-sticky-quote--compact {
    grid-column: 1 / -1;
    position: static;
  }

  .sw-product-final-polish .sw-product-quote-band__grid {
    grid-template-columns: minmax(0, .85fr) minmax(380px, 1fr);
  }

  .sw-product-final-polish .sw-product-quote-band__image {
    grid-column: 1 / -1;
  }

  .sw-product-final-polish .sw-product-quote-band__image img {
    max-height: 320px;
  }
}

@media (max-width: 1080px) {
  .sw-product-final-polish .sw-pdp-hero .sw-product-hero__grid,
  .sw-product-final-polish .sw-product-quote-band__grid {
    grid-template-columns: 1fr;
  }

  .sw-product-final-polish .sw-gallery__main {
    min-height: 420px;
  }

  .sw-product-final-polish .sw-product-applications-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .sw-product-final-polish .sw-pdp-hero {
    padding-bottom: 74px;
  }

  .sw-product-final-polish .sw-product-tabs {
    margin-top: -28px;
  }

  .sw-product-final-polish .sw-gallery__main {
    min-height: 330px;
  }

  .sw-product-final-polish .sw-product-tabs__nav,
  .sw-product-final-polish .sw-tab-panel__grid,
  .sw-product-final-polish .sw-tab-list,
  .sw-product-final-polish .sw-tab-specs,
  .sw-product-final-polish .sw-tab-applications,
  .sw-product-final-polish .sw-tab-faq,
  .sw-product-final-polish .sw-product-quote-form .sw-cf7-grid,
  .sw-product-final-polish .sw-product-quote-form .sw-form__grid,
  .sw-product-final-polish .sw-product-applications-grid,
  .sw-product-final-polish .sw-product-faq {
    grid-template-columns: 1fr;
  }

  .sw-product-final-polish .sw-tab-panel__grid {
    gap: 18px;
  }

  .sw-product-final-polish .sw-product-quote-form .sw-cf7-full,
  .sw-product-final-polish .sw-product-quote-form .wpcf7-submit,
  .sw-product-final-polish .sw-product-quote-form .sw-btn[type="submit"] {
    grid-column: 1;
  }

  .sw-product-final-polish .sw-product-quote-band__image img {
    min-height: 220px;
  }
}

/* Batch 7 — final QA / responsive / forms / links / release candidate */
html {
  scroll-behavior: smooth;
}

[id] {
  scroll-margin-top: 104px;
}

body.sw-nav-open {
  overflow: hidden;
}

.sw-header {
  width: 100%;
  transition: background .22s ease, box-shadow .22s ease, backdrop-filter .22s ease;
}

.sw-header.is-scrolled {
  position: fixed;
  background: rgba(4, 31, 22, .94);
  box-shadow: 0 14px 46px rgba(0, 0, 0, .22);
  backdrop-filter: blur(14px);
}

.admin-bar .sw-header.is-scrolled {
  top: 32px;
}

a:focus-visible,
button:focus-visible,
summary:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
  outline: 2px solid var(--sw-gold-2);
  outline-offset: 3px;
}

.sw-btn,
.sw-nav-toggle,
.sw-gallery__thumb,
.sw-product-tabs__nav button,
.sw-tabs button {
  min-height: 44px;
}

.sw-nav-toggle {
  cursor: pointer;
}

.sw-nav a,
.sw-footer a,
.sw-link {
  text-underline-offset: 4px;
}

.sw-nav a:focus-visible,
.sw-footer a:focus-visible,
.sw-link:focus-visible {
  text-decoration: underline;
}

.sw-footer__trust {
  display: grid;
  gap: 6px;
  margin-top: 16px;
  color: rgba(255,255,255,.62);
  font-size: 13px;
}

.sw-footer__trust span {
  display: block;
}

.sw-form input::placeholder,
.sw-form textarea::placeholder,
.sw-product-quote-form input::placeholder,
.sw-product-quote-form textarea::placeholder {
  color: rgba(255,255,255,.58);
}

.sw-contact-form-card .sw-form input::placeholder,
.sw-contact-form-card .sw-form textarea::placeholder,
.sw-section--cream .sw-form input::placeholder,
.sw-section--cream .sw-form textarea::placeholder {
  color: rgba(31,31,26,.48);
}

.wpcf7 form .wpcf7-response-output {
  margin: 18px 0 0;
  padding: 12px 14px;
  border-radius: 12px;
  font-size: 14px;
}

.wpcf7-not-valid-tip {
  margin-top: 6px;
  color: #ffd5c6;
  font-size: 12px;
}

.sw-contact-form-card .wpcf7-not-valid-tip,
.sw-section--cream .wpcf7-not-valid-tip {
  color: #9a3b24;
}

.sw-product-quote-form .wpcf7 form .wpcf7-response-output,
.sw-quote-band .wpcf7 form .wpcf7-response-output {
  color: #fff;
}

.sw-product-quote-form .wpcf7-spinner,
.sw-quote-band .wpcf7-spinner {
  display: block;
  margin: 12px auto 0;
}

.sw-product-quote-form .wpcf7-acceptance .wpcf7-list-item,
.sw-quote-band .wpcf7-acceptance .wpcf7-list-item {
  margin-left: 0;
}

.sw-product-quote-form .wpcf7-acceptance .wpcf7-list-item-label,
.sw-quote-band .wpcf7-acceptance .wpcf7-list-item-label {
  color: rgba(255,255,255,.76);
  font-weight: 500;
}

.sw-product-final-polish .sw-product-quote-form label,
.sw-product-final-polish .sw-product-quote-form .sw-cf7-grid > div,
.sw-product-final-polish .sw-product-quote-form .sw-cf7-grid > label {
  min-width: 0;
}

.sw-product-final-polish .sw-product-quote-form input[type="file"] {
  min-height: 52px;
}

.sw-product-final-polish .sw-product-quote-form .wpcf7-form-control-wrap {
  display: block;
  min-width: 0;
}

.sw-product-final-polish .sw-table,
.sw-table {
  width: 100%;
  border-collapse: collapse;
}

.sw-product-final-polish .sw-table th,
.sw-product-final-polish .sw-table td {
  vertical-align: top;
}

.sw-product-final-polish .sw-product-tabs__panel[hidden] {
  display: none !important;
}

.sw-product-final-polish .sw-gallery__thumb {
  border-radius: 12px;
}

.sw-product-final-polish .sw-gallery__thumb img {
  pointer-events: none;
}

@media (max-width: 1280px) {
  .sw-product-grid--five {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 1080px) {
  .sw-header__inner {
    position: relative;
    grid-template-columns: 1fr auto;
  }

  .sw-logo img {
    width: 132px;
  }

  .sw-header__cta {
    display: none;
  }

  .sw-nav-toggle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .sw-nav {
    top: calc(100% + 10px);
    left: 0;
    right: 0;
    max-height: calc(100vh - 116px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .sw-nav a {
    min-height: 44px;
    display: flex;
    align-items: center;
  }

  .sw-product-grid,
  .sw-product-grid--catalog,
  .sw-product-grid--five {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .sw-product-final-polish .sw-product-quote-band__copy .sw-proof-row--compact,
  .sw-proof-row--compact {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 782px) {
  .admin-bar .sw-header.is-scrolled {
    top: 46px;
  }
}

@media (max-width: 760px) {
  .sw-container {
    width: min(100% - 32px, 1180px);
  }

  .sw-section,
  .sw-product-final-polish .sw-product-quote-band,
  .sw-product-final-polish .sw-product-specs-section {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .sw-hero,
  .sw-product-final-polish .sw-pdp-hero {
    padding-top: 108px;
  }

  .sw-actions,
  .sw-product-final-cta .sw-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .sw-actions .sw-btn,
  .sw-product-final-cta .sw-btn {
    width: 100%;
  }

  .sw-product-grid,
  .sw-product-grid--catalog,
  .sw-product-grid--five,
  .sw-application-grid,
  .sw-card-row,
  .sw-product-final-polish .sw-product-applications-grid,
  .sw-product-final-polish .sw-product-faq {
    grid-template-columns: 1fr;
  }

  .sw-section-head {
    align-items: flex-start;
    flex-direction: column;
  }

  .sw-product-card__image {
    height: 220px;
  }

  .sw-product-final-polish .sw-product-tabs__panel,
  .sw-product-tabs__panel {
    padding: 22px;
  }

  .sw-product-final-polish .sw-product-tabs__nav button {
    justify-content: flex-start;
    padding-left: 18px;
    padding-right: 18px;
    text-align: left;
  }

  .sw-product-final-polish .sw-gallery__main {
    aspect-ratio: 4 / 3;
    min-height: auto;
  }

  .sw-product-final-polish .sw-product-quote-form,
  .sw-product-quote-form,
  .sw-contact-form-card {
    padding: 20px;
  }

  .sw-table,
  .sw-product-dimensions-table,
  .sw-product-technical-table {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
  }

  .sw-table tbody,
  .sw-product-dimensions-table tbody,
  .sw-product-technical-table tbody {
    display: table;
    width: 100%;
  }
}

@media (max-width: 480px) {
  h1 {
    font-size: clamp(40px, 13vw, 52px);
  }

  h2 {
    font-size: clamp(30px, 10vw, 42px);
  }

  .sw-product-card__image {
    height: 190px;
  }

  .sw-quick-specs,
  .sw-proof-row,
  .sw-spec-strip,
  .sw-product-final-polish .sw-quick-specs--icons {
    grid-template-columns: 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
  }
}

/* Layout fixes — grid item count mismatches */

/* 2-item quote band CTA (about, materials pages) */
.sw-quote-band__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 36px;
  flex-wrap: wrap;
  padding: 12px 0;
}
.sw-quote-band__cta > div { max-width: 680px; }
.sw-quote-band__cta h2 { font-size: clamp(34px, 3vw, 52px); }
@media (max-width: 760px) {
  .sw-quote-band__cta { flex-direction: column; align-items: flex-start; }
  .sw-quote-band__cta .sw-btn { width: 100%; text-align: center; justify-content: center; }
}

/* Centered variant: title + bullets + button stacked, all centered */
.sw-quote-band__cta--centered {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 18px;
  max-width: 720px;
  margin: 0 auto;
  padding: 18px 0;
}
.sw-quote-band__cta--centered h2 {
  font-size: clamp(32px, 2.8vw, 46px);
  margin-bottom: 4px;
}
.sw-quote-band__cta--centered p {
  font-size: 16px;
  color: rgba(245,240,230,.78);
  max-width: 560px;
  margin: 0 auto;
}
.sw-quote-band__cta--centered .sw-quote-band__bullets {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 28px;
  list-style: none;
  padding: 0;
  margin: 6px 0 12px;
}
.sw-quote-band__cta--centered .sw-quote-band__bullets li {
  position: relative;
  padding-left: 18px;
  font-size: 14px;
  color: rgba(245,240,230,.85);
}
.sw-quote-band__cta--centered .sw-quote-band__bullets li::before {
  content: '✓';
  position: absolute;
  left: 0;
  color: var(--sw-gold-2);
  font-weight: bold;
}
.sw-quote-band__cta--centered .sw-btn--lg {
  padding: 16px 36px;
  font-size: 14px;
  letter-spacing: .12em;
  margin-top: 6px;
}

/* 4-step process grid (contacts page — no leading intro col) */
.sw-process__grid--four {
  grid-template-columns: repeat(4, 1fr);
  gap: 34px;
}
@media (max-width: 1080px) {
  .sw-process__grid--four { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .sw-process__grid--four { grid-template-columns: 1fr; }
}
/* 6-step process grid (about page) — overrides Phase C4 base grid */
.sw-process__grid--six {
  grid-template-columns: repeat(6, 1fr);
  gap: 28px;
}
@media (max-width: 1080px) {
  .sw-process__grid--six { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .sw-process__grid--six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 480px) {
  .sw-process__grid--six { grid-template-columns: 1fr; }
}
/* Full-width hero (no image) */
.sw-hero--full { min-height: auto; padding: 150px 0 96px; }
.sw-hero--full .sw-hero__inner { grid-template-columns: 1fr; }
.sw-hero--full .sw-hero__copy { max-width: none; }
.sw-hero--full h1 { font-size: clamp(48px, 5vw, 72px); line-height: 1.04; max-width: none; }
.sw-hero--full .sw-lead { max-width: 680px; }

/* Featured products — hide spec line */
.sw-product-card--no-spec .sw-product-card__body p { display: none; }

/* ── Story section: Variant B 50/50 split ── */
.sw-story { display: grid; grid-template-columns: 1fr 1fr; min-height: 560px; position: static; background: var(--sw-green-950); }
.sw-story::after { display: none; }
.sw-story__photo { overflow: hidden; }
.sw-story__photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sw-story__content { padding: 80px 72px; display: flex; flex-direction: column; justify-content: center; gap: 20px; }
.sw-story__content h2 { max-width: none; }
.sw-story__content p { max-width: 520px; }
@media (max-width: 1080px) { .sw-story { grid-template-columns: 1fr; } .sw-story__photo { min-height: 340px; } .sw-story__content { padding: 56px 40px; } }
@media (max-width: 760px) { .sw-story__content { padding: 48px 24px; } }

/* 3-item card row — stays 3col on tablet, 2col on mobile */
@media (max-width: 1080px) { .sw-card-row--three { grid-template-columns: repeat(3, minmax(0,1fr)); } }
@media (max-width: 760px) { .sw-card-row--three { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 480px) { .sw-card-row--three { grid-template-columns: 1fr; } }

/* ── Two-step contact form ── */
.sw-tsf__step[hidden] { display: none; }
.sw-tsf__options { display: flex; flex-direction: column; gap: 10px; }
.sw-tsf__option { display: flex; align-items: center; gap: 16px; padding: 18px 20px; width: 100%; background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.14); border-radius: 8px; cursor: pointer; text-align: left; color: inherit; transition: background .22s, border-color .22s; }
.sw-tsf__option:hover { background: rgba(255,255,255,.11); border-color: rgba(185,130,58,.5); }
.sw-tsf__option-icon { flex-shrink: 0; }
.sw-tsf__option-icon .sw-icon { width: 38px; height: 38px; background: rgba(185,130,58,.18); }
.sw-tsf__option-icon .sw-icon svg { width: 18px; height: 18px; }
.sw-tsf__option-body { flex: 1; }
.sw-tsf__option-body strong { display: block; font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 3px; }
.sw-tsf__option-body span { display: block; font-size: 13px; color: rgba(255,255,255,.56); line-height: 1.4; }
.sw-tsf__option-arrow { color: var(--sw-gold); font-size: 18px; flex-shrink: 0; }
.sw-tsf__back { background: none; border: none; color: rgba(255,255,255,.5); font-size: 13px; cursor: pointer; padding: 0; margin-bottom: 14px; transition: color .2s; }
.sw-tsf__back:hover { color: #fff; }
.sw-tsf__label { font-size: 11px; font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--sw-gold); margin: 0 0 16px; }
.sw-tsf__submit-row { display: flex; flex-direction: column; gap: 10px; margin-top: 4px; }
.sw-tsf__status { font-size: 13px; margin: 0; padding: 10px 14px; border-radius: 6px; }
.sw-tsf__status--ok  { background: rgba(50,180,100,.15); color: #6ef0a0; }
.sw-tsf__status--err { background: rgba(220,50,50,.15);  color: #ff9090; }

/* ── Stat row (Why Thai Teak) ── */
.sw-stat-row { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--sw-border); border-radius: 8px; overflow: hidden; margin-bottom: 32px; }
.sw-stat { padding: 40px 32px; border-right: 1px solid var(--sw-border); background: rgba(255,255,255,.6); }
.sw-stat:last-child { border-right: none; }
.sw-stat__num { display: block; font-family: var(--sw-font-serif); font-size: 52px; font-weight: 400; color: var(--sw-forest); line-height: 1; letter-spacing: -.04em; }
.sw-stat__unit { display: block; font-size: 11px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; color: var(--sw-gold); margin: 8px 0 16px; }
.sw-stat p { font-size: 14px; line-height: 1.6; color: var(--sw-muted); margin: 0; }
@media (max-width: 1080px) {
  .sw-stat-row { grid-template-columns: repeat(2, 1fr); }
  .sw-stat:nth-child(2) { border-right: none; }
  .sw-stat:nth-child(1), .sw-stat:nth-child(2) { border-bottom: 1px solid var(--sw-border); }
}
@media (max-width: 480px) {
  .sw-stat-row { grid-template-columns: 1fr; }
  .sw-stat { border-right: none; border-bottom: 1px solid var(--sw-border); }
  .sw-stat:last-child { border-bottom: none; }
}

/* ── Resource grid (Resources & Support) ── */
.sw-resource-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.sw-resource-card { background: #fff; border: 1px solid var(--sw-border); border-radius: 8px; padding: 36px 28px; text-decoration: none; color: inherit; display: flex; flex-direction: column; gap: 10px; transition: border-color .28s, box-shadow .28s, transform .28s; }
.sw-resource-card:hover { border-color: rgba(185,130,58,.52); box-shadow: 0 16px 40px rgba(4,31,22,.1); transform: translateY(-2px); }
.sw-resource-card .sw-icon { width: 48px; height: 48px; }
.sw-resource-card .sw-icon svg { width: 24px; height: 24px; }
.sw-resource-card h3 { font-size: 17px; font-weight: 600; color: var(--sw-forest); margin: 0; font-family: var(--sw-font-sans); }
.sw-resource-card p { font-size: 14px; color: var(--sw-muted); margin: 0; flex: 1; line-height: 1.55; }
.sw-resource-card__arrow { font-size: 18px; color: var(--sw-gold); margin-top: 4px; }
@media (max-width: 1080px) { .sw-resource-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .sw-resource-grid { grid-template-columns: 1fr; } }

/* ── Section-head eyebrow support ── */
.sw-section-head .sw-eyebrow { margin-bottom: 8px; }
.sw-section--dark .sw-section-head .sw-eyebrow { color: var(--sw-gold); opacity: .9; }

/* ── Sticky mobile CTA ── */
.sw-sticky-cta { display: none; }
@media (max-width: 760px) {
  .sw-sticky-cta { display: flex; position: fixed; bottom: 0; left: 0; right: 0; z-index: 200; background: var(--sw-forest); padding: 12px 16px; gap: 10px; box-shadow: 0 -4px 24px rgba(4,31,22,.4); }
  .sw-sticky-cta .sw-btn { flex: 1; justify-content: center; text-align: center; padding: 12px 8px; font-size: 14px; }
  .sw-page { padding-bottom: 76px; }
}

/* ── Distinctive frontend enhancements ── */

/* 1. Weight contrast: light body vs bold headings */
body, p { font-weight: 300; }
strong, b, h3 { font-weight: 700; }

/* 2. Hero staggered entrance */
@keyframes sw-fadeUp {
  from { opacity: 0; transform: translateY(32px); }
  to   { opacity: 1; transform: translateY(0); }
}
.sw-hero .sw-eyebrow { opacity: 0; animation: sw-fadeUp .65s cubic-bezier(.16,1,.3,1) .05s forwards; }
.sw-hero h1          { opacity: 0; animation: sw-fadeUp .9s  cubic-bezier(.16,1,.3,1) .2s  forwards; }
.sw-hero .sw-lead    { opacity: 0; animation: sw-fadeUp .65s cubic-bezier(.16,1,.3,1) .48s forwards; }
.sw-hero .sw-actions { opacity: 0; animation: sw-fadeUp .65s cubic-bezier(.16,1,.3,1) .66s forwards; }
@media (prefers-reduced-motion: reduce) {
  .sw-hero .sw-eyebrow, .sw-hero h1, .sw-hero .sw-lead, .sw-hero .sw-actions { animation: none; opacity: 1; }
}

/* 3. Hero bg: subtle noise texture for depth */
.sw-hero__bg::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: 1;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  opacity: .045;
  mix-blend-mode: overlay;
  pointer-events: none;
}

/* 4. Cards: golden border reveal on hover */
.sw-application-card, .sw-card, .sw-cat-card {
  border: 1px solid transparent;
  transition: border-color .28s ease, box-shadow .28s ease, transform .28s ease;
}
.sw-application-card:hover, .sw-card:hover, .sw-cat-card:hover {
  border-color: rgba(185,130,58,.52);
  transform: translateY(-3px);
  box-shadow: 0 22px 56px rgba(4,31,22,.14), 0 0 0 1px rgba(185,130,58,.18);
}

/* 5. Section heads: tighter Georgia tracking */
.sw-section-head h2 { letter-spacing: -.038em; }
.sw-section--dark .sw-section-head h2 { opacity: .96; }

/* ── Social Proof / Credentials ── */
.sw-cred-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; margin-top: 40px; }
.sw-cred { display: flex; flex-direction: column; gap: 10px; padding: 28px 24px; background: #fff; border: 1px solid var(--sw-border); border-radius: var(--sw-radius-sm); transition: border-color .25s, box-shadow .25s; }
.sw-cred:hover { border-color: rgba(185,130,58,.4); box-shadow: 0 12px 32px rgba(4,31,22,.08); }
.sw-cred .sw-icon { width: 52px; height: 52px; }
.sw-cred .sw-icon svg { width: 26px; height: 26px; }
.sw-cred h3 { font-size: 16px; font-weight: 700; margin: 0; color: var(--sw-forest); font-family: var(--sw-font-sans); }
.sw-cred p { font-size: 14px; line-height: 1.65; color: var(--sw-muted); margin: 0; }
@media (max-width: 1080px) { .sw-cred-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .sw-cred-grid { grid-template-columns: 1fr; } }

/* ── Origin / Sustainability ── */
.sw-origin { display: grid; grid-template-columns: 1fr 1fr; min-height: 520px; }
.sw-origin__img { overflow: hidden; }
.sw-origin__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sw-origin__body { padding: 72px 64px; display: flex; flex-direction: column; justify-content: center; gap: 24px; background: var(--sw-cream); }
.sw-origin__points { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 20px; }
.sw-origin__points li { padding-left: 16px; border-left: 2px solid var(--sw-gold); display: flex; flex-direction: column; gap: 4px; }
.sw-origin__points strong { font-size: 15px; font-weight: 700; color: var(--sw-forest); }
.sw-origin__points span { font-size: 14px; line-height: 1.65; color: var(--sw-muted); }
@media (max-width: 1080px) { .sw-origin { grid-template-columns: 1fr; } .sw-origin__img { min-height: 280px; } .sw-origin__body { padding: 48px 40px; } }
@media (max-width: 760px) { .sw-origin__body { padding: 40px 24px; } }

/* ── FAQ: 1 column ── */
.sw-faq { grid-template-columns: 1fr; }

/* ── Featured Products: mobile scroll carousel ── */
@media (max-width: 760px) {
  .sw-product-grid--five {
    display: flex;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 16px;
    gap: 16px;
    scroll-padding: 0 20px;
  }
  .sw-product-grid--five > * { scroll-snap-align: start; min-width: 260px; flex-shrink: 0; }
}

/* ── Product card: finish tag + hover overlay ── */
.sw-product-card__image { position: relative; overflow: hidden; }
.sw-product-card__image::after { content: ''; position: absolute; inset: 0; background: rgba(4,31,22,.45); opacity: 0; transition: opacity .28s; }
.sw-product-card:hover .sw-product-card__image::after { opacity: 1; }
.sw-product-card__image img { transition: transform .38s ease; }
.sw-product-card:hover .sw-product-card__image img { transform: scale(1.04); }

/* ── Category taxonomy: collection benefit list ── */
.sw-benefit-list { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 28px; }
.sw-benefit-item { display: flex; align-items: flex-start; gap: 12px; padding: 16px; background: var(--sw-ivory); border: 1px solid var(--sw-border); border-radius: var(--sw-radius-sm); }
.sw-benefit-item .sw-icon { flex-shrink: 0; width: 36px; height: 36px; }
.sw-benefit-item .sw-icon svg { width: 18px; height: 18px; }
.sw-benefit-item strong { display: block; font-size: 13px; font-weight: 600; color: var(--sw-ink); margin-bottom: 2px; }
.sw-benefit-item span { font-size: 12px; color: var(--sw-muted); line-height: 1.4; }
@media (max-width: 680px) { .sw-benefit-list { grid-template-columns: 1fr; } }
.sw-product-card__finish { position: absolute; bottom: 10px; left: 10px; z-index: 2; background: rgba(4,31,22,.82); color: var(--sw-gold); font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; padding: 3px 10px; border-radius: 4px; }

/* ── Legal pages ── */
.sw-legal-content { max-width: 760px; margin: 0 auto; padding: 60px 0 80px; }
.sw-legal-content .sw-legal-updated { font-size: 13px; color: var(--sw-muted); margin-bottom: 40px; }
.sw-legal-content h2 { font-family: Georgia, serif; font-size: 20px; font-weight: 400; color: var(--sw-forest); margin: 40px 0 14px; }
.sw-legal-content h2:first-of-type { margin-top: 0; }
.sw-legal-content p { font-size: 15px; line-height: 1.75; color: var(--sw-ink); margin-bottom: 16px; }
.sw-legal-content ul { padding-left: 20px; margin-bottom: 16px; }
.sw-legal-content ul li { font-size: 15px; line-height: 1.7; color: var(--sw-ink); margin-bottom: 8px; }
.sw-legal-content a { color: var(--sw-gold); text-decoration: underline; }
.sw-legal-content a:hover { color: var(--sw-forest); }
@media (max-width: 680px) { .sw-legal-content { padding: 40px 0 60px; } }

/* ── Catalogue download page ── */
.sw-catdl { display: grid; grid-template-columns: 1fr 1fr; gap: 80px; padding: 60px 0 80px; align-items: start; }
.sw-catdl__info h2 { font-family: Georgia, serif; font-size: 26px; font-weight: 400; color: var(--sw-forest); margin-bottom: 24px; }
.sw-catdl__list { list-style: none; padding: 0; margin: 0 0 28px; }
.sw-catdl__list li { display: flex; gap: 12px; padding: 12px 0; border-bottom: 1px solid var(--sw-border); font-size: 15px; line-height: 1.5; color: var(--sw-ink); }
.sw-catdl__list li::before { content: '✓'; color: var(--sw-gold); font-weight: 700; flex-shrink: 0; margin-top: 1px; }
.sw-catdl__list li strong { font-weight: 600; color: var(--sw-forest); }
.sw-catdl__note { font-size: 13px; color: var(--sw-muted); line-height: 1.6; }
.sw-catdl__form-box { background: #fff; border: 1px solid var(--sw-border); border-radius: var(--sw-radius); padding: 36px; box-shadow: 0 2px 16px rgba(4,31,22,.06); }
.sw-catdl__form-box h3 { font-family: Georgia, serif; font-size: 20px; font-weight: 400; color: var(--sw-forest); margin-bottom: 6px; }
.sw-catdl__form-box > p { font-size: 14px; color: var(--sw-muted); margin-bottom: 28px; }
.sw-catdl__submit-row { margin-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.sw-catdl__status { font-size: 13px; color: #c0392b; }
.sw-catdl__consent { font-size: 12px; color: var(--sw-muted); margin-top: 14px; line-height: 1.5; }
.sw-catdl__consent a { color: var(--sw-gold); text-decoration: underline; }
.sw-btn--wide { width: 100%; justify-content: center; text-align: center; }
.sw-catdl__success { text-align: center; padding: 40px 24px; background: #fff; border: 1px solid var(--sw-border); border-radius: var(--sw-radius); }
.sw-catdl__success-icon { font-size: 40px; color: var(--sw-gold); margin-bottom: 12px; }
.sw-catdl__success h3 { font-family: Georgia, serif; font-size: 22px; font-weight: 400; color: var(--sw-forest); margin-bottom: 8px; }
.sw-catdl__success > p { font-size: 14px; color: var(--sw-muted); margin-bottom: 28px; }
.sw-catdl__downloads { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 24px; }
.sw-catdl__next { font-size: 13px; color: var(--sw-muted); }
.sw-catdl__next a { color: var(--sw-gold); text-decoration: underline; }
@media (max-width: 900px) { .sw-catdl { grid-template-columns: 1fr; gap: 40px; } }
@media (max-width: 680px) { .sw-catdl { padding: 40px 0; } .sw-catdl__form-box { padding: 24px; } }

/* ── Footer legal links ── */
.sw-footer__bottom { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
.sw-footer__legal { display: flex; gap: 20px; }
.sw-footer__legal a { font-size: 13px; color: var(--sw-muted); text-decoration: none; }
.sw-footer__legal a:hover { color: var(--sw-gold); }

/* ═══════════════════════════════════════════════════════════════════
   C4.5 Visual Polish — round 1 (2026-05-07)
═══════════════════════════════════════════════════════════════════ */

.sw-tabs button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}
.sw-tabs button .sw-icon { width: 32px; height: 32px; flex-shrink: 0; }
.sw-tabs button .sw-icon svg { width: 26px; height: 26px; }

.sw-product-grid--catalog {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  grid-template-columns: none;
}
.sw-product-grid--catalog > * {
  flex: 0 0 calc((100% - 90px) / 4);
  max-width: calc((100% - 90px) / 4);
}
@media (max-width: 1080px) {
  .sw-product-grid--catalog > * {
    flex: 0 0 calc((100% - 30px) / 2);
    max-width: calc((100% - 30px) / 2);
  }
}
@media (max-width: 760px) {
  .sw-product-grid--catalog > * { flex: 0 0 100%; max-width: 100%; }
}

.sw-feature .sw-icon { width: 72px; height: 72px; }
.sw-feature .sw-icon svg { width: 36px; height: 36px; }

.sw-icon svg { width: 26px; height: 26px; }

.sw-quote-band__bullets {
  list-style: none;
  padding: 0;
  margin: 28px 0 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px 28px;
}
.sw-quote-band__bullets li {
  position: relative;
  padding-left: 28px;
  color: rgba(255,255,255,.86);
  font-size: 15px;
  line-height: 1.5;
}
.sw-quote-band__bullets li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0;
  color: var(--sw-gold-2);
  font-weight: 900;
}
@media (max-width: 760px) {
  .sw-quote-band__bullets { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════════════
   C4.5 Visual Polish — round 2 (2026-05-07, GLOBAL)
   Unified style across all pages: compressed sections, centered heads,
   stat cards, hero scaling. Section-head split layout preserved when
   it contains a link (View All →) via :has() detector.
═══════════════════════════════════════════════════════════════════ */

/* Section padding compression — all pages */
.sw-section { padding: 40px 0; }
.sw-section + .sw-section { padding-top: 24px; }
.sw-section-head { margin-bottom: 20px; }
.sw-section-head h2 { font-size: clamp(34px, 2.6vw, 46px); }

/* Centered section heads — ONLY when there's no link sibling */
.sw-section-head:not(:has(a)) {
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 10px;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}
.sw-section-head:not(:has(a)) .sw-eyebrow {
  margin-bottom: 0;
}

/* Tighter top spacing for grids/lists below section-heads */
.sw-cred-grid,
.sw-stat-row,
.sw-application-grid,
.sw-card-row,
.sw-product-grid,
.sw-product-grid--five,
.sw-faq {
  margin-top: 16px;
}

/* Card padding consistency */
.sw-cred { padding: 22px 22px; }
.sw-stat { padding: 24px 22px; }
.sw-mini-card { padding: 22px 22px; }

/* Stat-row → grid of separate white cards (matching .sw-cred-grid style) */
.sw-stat-row {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  border: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
  max-width: none;
}
.sw-stat {
  background: #fff;
  border: 1px solid var(--sw-border);
  border-radius: var(--sw-radius-sm);
  display: flex;
  flex-direction: column;
  gap: 8px;
  transition: border-color .25s, box-shadow .25s;
}
.sw-stat:hover {
  border-color: rgba(185,130,58,.4);
  box-shadow: 0 12px 32px rgba(4,31,22,.08);
}
.sw-stat p {
  font-size: 14px;
  line-height: 1.65;
}
@media (max-width: 1080px) {
  .sw-stat-row { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .sw-stat-row { grid-template-columns: 1fr; }
}

/* Two consecutive cream sections: tighten vertical rhythm */
.sw-section--cream + .sw-section--cream {
  padding-top: 24px;
}

/* Story / heritage section */
.sw-story { min-height: auto; padding: 60px 0; }

/* Quote band tighter on all pages */
.sw-quote-band { padding: 40px 0; }

/* HOME hero — halve total height (was ~840px) */
body.home .sw-hero {
  min-height: 360px;
  max-height: 480px;
  padding: 90px 0 24px;
  display: flex;
  align-items: center;
}
body.home .sw-hero h1 {
  font-size: clamp(40px, 4.6vw, 60px);
}
body.home .sw-hero__inner { align-items: center; }
body.home .sw-hero__visual { align-self: center; }
body.home .sw-hero__visual img {
  max-height: 320px;
  width: auto;
  margin: 0 auto;
  display: block;
}

/* ─── Single product page: hero — gallery + summary on right; specs row below ─── */

.sw-product-hero__grid--gallery-summary {
  grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr);
  gap: clamp(28px, 3vw, 48px);
  align-items: center;
}

/* Final layout: main image left + summary right; thumbs row spans full width below */
.sw-product-hero__grid--final {
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: start;
  gap: clamp(28px, 3vw, 48px);
  row-gap: 24px;
}
.sw-product-hero__grid--final > .sw-product-gallery__main,
.sw-product-hero__grid--final > .sw-gallery__main {
  width: 100%;
  height: auto;
  align-self: start;
  border-radius: 12px;
  display: block;
  grid-column: 1;
  grid-row: 1;
}
.sw-product-hero__grid--final .sw-product-summary h1 {
  font-size: clamp(42px, 4vw, 68px);
  margin: 10px 0 22px;
  line-height: 1;
  white-space: nowrap;
}
.sw-product-hero__grid--final .sw-product-summary__intro,
.sw-product-hero__grid--final .sw-product-summary > p {
  font-size: 22px;
  line-height: 1.5;
  color: rgba(255,255,255,.92);
  max-width: none;
}
.sw-product-hero__right {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
}
.sw-product-hero__thumbs {
  grid-column: 1 / -1;
  grid-row: 2;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 !important;
  width: 100%;
}
.sw-product-hero__thumbs .sw-gallery__thumb {
  aspect-ratio: 4 / 3;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,.18);
  background: transparent;
  cursor: pointer;
  transition: border-color .2s, transform .2s;
}
.sw-product-hero__thumbs .sw-gallery__thumb.is-active {
  border-color: var(--sw-gold-2);
}
.sw-product-hero__thumbs .sw-gallery__thumb:hover {
  transform: translateY(-2px);
  border-color: var(--sw-gold-2);
}
.sw-product-hero__thumbs .sw-gallery__thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover;
  display: block;
}
@media (max-width: 1080px) {
  .sw-product-hero__grid--final {
    grid-template-columns: 1fr;
  }
}
.sw-product-hero__grid--gallery-summary .sw-product-summary h1 {
  font-size: clamp(46px, 4.2vw, 72px);
  margin: 10px 0 22px;
  line-height: 1;
  white-space: nowrap;
}
.sw-product-hero__grid--gallery-summary .sw-product-summary__intro {
  font-size: 20px;
  line-height: 1.55;
  color: rgba(255,255,255,.9);
  max-width: 640px;
}

/* Responsive: stack on tablet */
@media (max-width: 1080px) {
  .sw-product-hero__grid--gallery-summary { grid-template-columns: 1fr; }
}

/* Quick specs: full-width horizontal row of 5 cards under hero grid */
.sw-quick-specs--row {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-top: 32px;
}
.sw-quick-specs--row .sw-spec-card {
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 10px;
  padding: 18px 18px;
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}
.sw-quick-specs--row .sw-spec-card .sw-icon {
  width: 42px;
  height: 42px;
  flex-shrink: 0;
}
.sw-quick-specs--row .sw-spec-card .sw-icon svg {
  width: 26px;
  height: 26px;
}
.sw-quick-specs--row .sw-spec-card__body {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.sw-quick-specs--row .sw-spec-card__body strong {
  font-size: 14px;
  color: var(--sw-gold-2);
  line-height: 1.2;
}
.sw-quick-specs--row .sw-spec-card__body span {
  font-size: 13px;
  color: rgba(255,255,255,.78);
  line-height: 1.35;
  margin-top: 3px;
}
@media (max-width: 1080px) {
  .sw-quick-specs--row { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 540px) {
  .sw-quick-specs--row { grid-template-columns: repeat(2, 1fr); }
}

/* Available Dimensions: header + rows (table-style with card visuals) */
.sw-tab-dimensions {
  display: grid;
  gap: 8px;
  margin-top: 6px;
}
.sw-tab-dimension-header,
.sw-tab-dimension-row {
  display: grid;
  grid-template-columns: minmax(110px, 1fr) minmax(110px, 1fr) minmax(120px, 1.1fr) minmax(140px, 1.4fr);
  gap: 12px;
  padding: 14px 16px;
  border-radius: 12px;
  align-items: center;
}
.sw-tab-dimension-header {
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
}
.sw-tab-dimension-header strong {
  color: var(--sw-gold-2);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.sw-tab-dimension-row {
  background: rgba(255,255,255,.05);
  border: 1px solid rgba(255,255,255,.10);
}
.sw-tab-dimension-row span {
  color: rgba(255,255,255,.84);
}
.sw-tab-dimensions .sw-note {
  font-size: 13px;
  margin-top: 12px;
  color: rgba(255,255,255,.7);
  font-style: italic;
}
@media (max-width: 760px) {
  .sw-tab-dimension-header { display: none; }
  .sw-tab-dimension-row {
    grid-template-columns: 1fr;
    gap: 6px;
  }
}

/* TranslatePress language switcher: bottom-right floater (no header overlap) */
.trp-floater-language-switcher,
.trp-floater,
.trp-language-switcher-container,
#trp-floater-ls {
  top: auto !important;
  bottom: 20px !important;
  right: 20px !important;
  left: auto !important;
  z-index: 9998 !important;
}
