:root {
  --ink: #202923;
  --green: #283e33;
  --muted: #535e54;
  --paper: #f6f5ef;
  --rule: #d4d9ce;
  --white: #fff;
  --edge: clamp(18px, 4.5vw, 80px);
}
* { box-sizing: border-box; }
html { scroll-padding-top: 124px; }
body { margin: 0; background: var(--paper); color: var(--ink); font: 16px/1.5 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
h1,h2,h3,p,figure,dl,dd { margin: 0; }
h1,h2 { text-wrap: balance; font-family: Georgia, "Times New Roman", serif; font-weight: 400; letter-spacing: -.045em; line-height: 1.05; }
h1 { font-size: clamp(42px, 4.6vw, 80px); }
h2 { font-size: clamp(34px, 3.5vw, 60px); }
h3 { line-height: 1.2; font-size: 20px; font-weight: 600; }
img { display:block; max-width:100%; }
a { color:inherit; text-decoration:none; }
a:focus-visible { outline: 3px solid #ac6800; outline-offset: 3px; }
.site-header { position:sticky; z-index:8; top:0; background:#fff; padding: 0 var(--edge); display:flex; height:66px; align-items:center; gap:40px; border-bottom:1px solid var(--rule); }
.brand { display:inline-flex; align-items:center; gap:10px; margin-right:auto; letter-spacing:.01em; }
.brand img { width:43px; height:43px; object-fit:contain; }
.brand strong { font-size:15px; }
.site-header nav { display:flex; gap:28px; font-size:14px; font-weight:550; }
nav a:hover,.category-strip a:hover,.crumb a:hover { text-decoration:underline; text-underline-offset:4px; }
.nav-cta,.button { display:inline-flex; align-items:center; justify-content:center; gap:14px; min-height:44px; padding:9px 18px; background:var(--green); color:#fff; font-size:14px; font-weight:600; }
.nav-cta::after,.button::after,.item-link::after { content:"↗" / ""; font-weight:400; }
.button.internal::after,.item-link::after { content:"→" / ""; }
.button:hover,.nav-cta:hover { background:#142b20; }
.category-strip { position:sticky; top:66px; z-index:7; display:flex; align-items:center; gap:clamp(15px,2.3vw,40px); overflow-x:auto; scrollbar-width:thin; background:var(--paper); padding:0 var(--edge); border-bottom:1px solid var(--rule); white-space:nowrap; font-size:13px; font-weight:550; }
.category-strip a { display:inline-flex; align-items:center; min-height:43px; }
section:not(.hero) { padding:clamp(48px,6.2vw,96px) var(--edge); }
.hero { display:grid; grid-template-columns:1.13fr 1fr; grid-template-areas:"image copy" "metrics metrics"; background:#eaece2; }
.hero-copy { grid-area:copy; display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(36px,4.7vw,84px) var(--edge); gap:22px; }
.eyebrow,.index-title,.family-label,.model-code,.factory small { display:block; font-size:12px; line-height:1.4; font-weight:650; text-transform:uppercase; letter-spacing:.11em; }
.eyebrow,.model-code { color:#49624c; }
.hero .lead { max-width:49ch; font-size:clamp(16px,1.25vw,20px); color:#3e4b40; }
.hero-visual { grid-area:image; min-height:360px; position:relative; }
.hero-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:51% 61%; }
.hero-actions,.actions { display:flex; align-items:center; flex-wrap:wrap; gap:12px 22px; }
.secondary-link,.text-link { text-underline-offset:4px; text-decoration:underline; font-size:14px; font-weight:600; padding:10px 0; }
.metrics { grid-area:metrics; display:grid; grid-template-columns:repeat(3,1fr); background:var(--green); color:white; padding:16px var(--edge); }
.metric { display:flex; align-items:center; justify-content:center; gap:16px; padding:0 12px; border-right:1px solid #6e7c6e; }
.metric:last-child { border:0; }
.metric strong { font:400 clamp(25px,2.3vw,39px)/1.1 Georgia,serif; }
.metric span { max-width:180px; font-size:13px; color:#e4eadf; }
.section-head { display:grid; grid-template-columns:1fr 1fr; gap:30px; align-items:end; margin:0 auto 32px; }
.section-head p,.category-card p,.advantage p,.contact p { color:var(--muted); }
.section-head p { max-width:57ch; }
.category-grid,.section-head,.product-index,.advantage-grid,.showcase-image,.factory-grid,.network-map,.cert-list,.contact-wrap,.catalog-shell { width:min(100%,1450px); margin-inline:auto; }
.category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; }
.category-card { background:#fff; border:1px solid var(--rule); }
.category-card.featured { grid-column:span 2; }
.category-card > img,.category-card > a:first-child > img { width:100%; height:clamp(135px,14vw,230px); object-fit:contain; padding:12px; }
.category-card.featured > a:first-child > img { height:clamp(230px,22vw,365px); }
.category-card#bases > a:first-child > img { object-fit:cover; padding:0; }
.category-card > div { border-top:1px solid var(--rule); padding:clamp(16px,1.7vw,28px); }
.category-card.featured h3 { font:400 clamp(27px,2.4vw,40px)/1.1 Georgia,serif; letter-spacing:-.04em; }
.category-card p { margin-top:7px; font-size:14px; }
.category-card h3 a:hover { text-decoration:underline; text-underline-offset:5px; }
.subcategories,.table-sizes { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.subcategories a,.table-sizes a,.index-tags a { display:inline-flex; min-height:44px; align-items:center; gap:6px; padding:6px 10px; border:1px solid var(--rule); font-size:13px; }
.subcategories a:hover,.table-sizes a:hover,.index-tags a:hover { background:#edf1e7; border-color:#82957f; }
.subcategories img { width:30px; height:30px; object-fit:contain; }
.category-card .actions { margin-top:16px; }
.product-index { margin-top:36px; padding-top:22px; border-top:1px solid var(--rule); }
.index-tags { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.index-tags a { background:var(--white); }
.advantages,.certs,.contact { background:#fff; }
.advantage-grid,.factory-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.advantage { padding-top:16px; border-top:2px solid #80917c; }
.advantage p { margin-top:10px; }
section.showcase { padding-block:0; background:#fff; }
.showcase-image img { width:100%; max-height:540px; object-fit:cover; }
.factories { background:var(--green); color:#fff; }
.factories .section-head p,.factory dt { color:#d2ded1; }
.factory-grid { grid-template-columns:1fr 1fr; }
.factory { border-top:1px solid #91a191; padding-top:20px; }
.factory h3 { margin:8px 0 18px; font-size:clamp(24px,2.3vw,36px); }
.factory dl { display:grid; gap:14px; }
.factory dt { font-size:13px; }
.network-map { margin-top:36px; }
.network-map img { width:100%; }
.cert-list { display:flex; gap:10px; flex-wrap:wrap; }
.cert-list span { border:1px solid var(--rule); padding:8px 14px; }
.contact { background:#eaece2; }
.contact-wrap { display:grid; grid-template-columns:1.1fr 1fr; gap:8%; }
.contact h2 { margin:10px 0 16px; }
.contact-links,.address-block { margin-top:20px; }
.contact-links a,.address { display:flex; justify-content:space-between; gap:15px; padding:14px 0; border-top:1px solid #bdc7b9; }
.contact-links a:hover { text-decoration:underline; }
.address { display:block; }
.address strong,.address span { display:block; }
footer { border-top:1px solid var(--rule); padding:24px var(--edge); color:var(--muted); font-size:13px; background:white; }
.catalog-main { padding:24px var(--edge) clamp(45px,6vw,90px); }
.crumb { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:26px; font-size:13px; color:var(--muted); }
.catalog-intro { max-width:800px; margin-bottom:30px; }
.catalog-intro h1 { margin-bottom:14px; }
.model-nav { display:flex; gap:8px; flex-wrap:wrap; padding:0 0 28px; }
.model-nav a { display:inline-flex; min-height:44px; align-items:center; padding:7px 13px; border:1px solid var(--rule); background:white; font-size:14px; }
.model-nav a:hover { border-color:var(--green); }
.catalog-product { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); margin:0 0 22px; background:white; border:1px solid var(--rule); }
.product-view { margin:0; min-width:0; display:grid; place-items:center; padding:clamp(18px,3vw,48px); }
.product-view img { width:100%; height:clamp(220px,25vw,370px); object-fit:contain; }
.product-info { padding:clamp(22px,3.5vw,52px); background:#f0f2eb; }
.product-info h2 { font-size:clamp(29px,3vw,48px); margin:7px 0 16px; }
.specs { margin:0 0 21px; }
.specs div { display:grid; grid-template-columns:minmax(100px,.75fr) minmax(0,1.25fr); padding:8px 0; gap:15px; border-top:1px solid #c8d0c3; font-size:15px; }
.specs dt { color:var(--muted); }
.specs dd { font-weight:550; }
.source { font-size:12px; color:var(--muted); margin-top:12px; }
.catalog-foot { display:flex; gap:26px; flex-wrap:wrap; margin-top:30px; }
@media(max-width:900px) {
  .site-header { gap:20px; }
  .category-grid { gap:12px; }
  .subcategories a { padding:5px; }
  .hero-copy { padding:30px; }
  .advantage-grid { grid-template-columns:1fr 1fr; }
}
@media(max-width:720px) {
  html { scroll-padding-top:55px; }
  .site-header { position:static; height:57px; gap:12px; }
  .site-header nav { display:none; }
  .brand { gap:5px; }
  .brand img { width:32px; height:32px; }
  .brand strong { font-size:13px; }
  .nav-cta { min-height:44px; padding:6px 12px; gap:6px; }
  .category-strip { top:0; gap:21px; }
  .hero { grid-template-columns:1fr; grid-template-areas:"copy" "image" "metrics"; }
  .hero-copy { gap:14px; padding:32px var(--edge); }
  .hero-visual { min-height:0; aspect-ratio:2 / 1; }
  .metrics { padding:12px var(--edge); }
  .metric { display:block; padding:0 8px; }
  .metric:first-child { padding-left:0; }
  .metric span { display:block; font-size:11px; margin-top:4px; }
  .section-head,.contact-wrap,.factory-grid,.catalog-product { grid-template-columns:1fr; }
  .section-head { gap:13px; margin-bottom:23px; }
  .category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .category-card.featured > a:first-child > img { height:205px; }
  .category-card h3 { font-size:17px; }
  .category-card > div { padding:14px; }
  .category-card p { font-size:13px; }
  .subcategories a { padding:5px 8px; }
  .advantage-grid { gap:22px 15px; }
  .advantage h3 { font-size:17px; }
  .advantage p { font-size:14px; }
  .product-view { padding:20px; }
  .product-view img { height:205px; }
  .product-info { padding:22px 16px; }
  .crumb { margin-bottom:18px; }
  .specs div { gap:9px; font-size:14px; }
  .catalog-main { padding-top:19px; }
}
@media(max-width:380px) {
  .category-grid { grid-template-columns:1fr; }
  .category-card.featured { grid-column:auto; }
}

.category-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
.category-card { grid-column:span 2; display:flex; flex-direction:column; }
.category-card.featured { grid-column:span 3; }
.category-card > div { flex:1; }
.category-card h3 a { line-height:1.15; }
.category-card .item-link { display:inline-flex; gap:7px; align-items:center; min-height:44px; font-size:14px; font-weight:650; text-decoration:underline; text-underline-offset:4px; }
.category-card.featured .actions { margin-top:8px; }
.category-card > a:first-child { display:block; }
.category-card > a:first-child > img { height:clamp(160px,16vw,260px); }
.directory-head { display:flex; justify-content:space-between; gap:10px 22px; align-items:center; flex-wrap:wrap; }
.directory-head h3 { font-family:Georgia,serif; font-size:clamp(24px,2.3vw,32px); font-weight:400; letter-spacing:-.025em; }
.index-tags a { background:#fff; }
#oem { margin-top:28px; }
.catalog-intro p { margin:12px 0; color:var(--muted); }
.catalog-group { margin-top:28px; }
.group-heading { font-size:clamp(24px,2.3vw,36px); font-family:Georgia,serif; font-weight:400; letter-spacing:-.025em; margin:0 0 12px; }
.model-index { margin:14px 0; padding:20px; background:#e8ece1; }
.model-index .model-nav { padding:0; }
.model-nav a { background:transparent; border:0; text-decoration:underline; text-underline-offset:4px; }
.product-info h3 { font:400 clamp(29px,3vw,48px)/1.05 Georgia,serif; letter-spacing:-.04em; margin:7px 0 16px; }
@media(max-width:720px) {
 .category-grid { grid-template-columns:1fr; }
 .category-card,.category-card.featured { grid-column:auto; }
 .category-card > a:first-child > img { height:165px; }
 .category-card.featured > a:first-child > img { height:190px; }
 .section-head { align-items:start; }
 .model-index { padding:12px; }
 .model-nav { gap:4px; }
}

.category-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap:20px; }
.category-card { grid-column:auto; }
.category-card h3 { font-family:Georgia,serif; font-size:clamp(24px,2.1vw,35px); font-weight:400; letter-spacing:-.035em; }
.category-card .cover { display:grid; height:clamp(160px,16vw,250px); padding:14px; background:#fff; align-items:center; }
.category-card .cover img { height:100%; width:100%; min-height:0; object-fit:contain; padding:2px; }
.category-card .cover.multiple { grid-template-columns:1.55fr 1fr; grid-template-rows:1fr 1fr; gap:2px 8px; }
.cover.multiple img:first-child { grid-row:span 2; }
.category-card > div { display:flex; flex-direction:column; align-items:start; }
.category-card .actions { margin-top:auto; padding-top:14px; }
.category-card .table-sizes { margin-top:12px; }
.series-intro { margin-bottom:24px; max-width:880px; }
.series-intro p { color:var(--muted); margin:14px 0 4px; max-width:74ch; }
.series-intro h1 { max-width:21ch; }
.group-jumps { margin:15px 0 30px; display:flex; flex-wrap:wrap; gap:8px; }
.group-jumps a { min-height:44px; padding:9px 14px; border:1px solid var(--rule); background:#fff; font-weight:550; font-size:14px; }
.group-jumps a:hover { border-color:var(--green); }
.gallery-group { margin:32px 0; }
.gallery-group h2 { font-size:clamp(27px,2.7vw,44px); margin-bottom:15px; }
.model-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; align-items:start; }
.model-tile { min-width:0; border:1px solid var(--rule); background:#fff; }
.model-tile figure { padding:15px; height:185px; display:grid; place-items:center; }
.model-tile figure img { width:100%; height:155px; object-fit:contain; }
.tile-body { padding:18px; border-top:1px solid var(--rule); }
.tile-body h3 { font:400 clamp(21px,1.8vw,28px)/1.13 Georgia,serif; margin:6px 0 14px; }
.tile-body dl { padding-bottom:8px; }
.tile-body dl>div { display:grid; grid-template-columns:1fr 1.15fr; gap:8px; padding:6px 0; border-top:1px solid #dee1d9; font-size:14px; }
.tile-body dt { color:var(--muted); }
.tile-body dd { font-weight:550; }
.tile-body details { border-top:1px solid var(--rule); margin:0 0 12px; }
.tile-body summary { cursor:pointer; display:list-item; font-size:14px; font-weight:650; padding:12px 0; min-height:44px; }
.tile-body summary:focus-visible { outline:3px solid #ac6800; outline-offset:2px; }
.tile-body .button { min-height:44px; }
.related { display:flex; flex-wrap:wrap; gap:8px 20px; margin-top:26px; }
.model-tile:target { outline:2px solid #849880; outline-offset:1px; }
:target { scroll-margin-block-start:4px; }
@media (max-width:1050px) {
 .model-grid,.category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:650px) {
 .category-grid,.model-grid { grid-template-columns:1fr; }
 .category-card .cover { height:195px; }
 .gallery-group { margin:20px 0; }
 .tile-body { padding:16px; }
 .group-jumps { margin-bottom:14px; }
}
.category-card > a.cover:first-child { display:grid; }
.category-card > a.cover:first-child > img,
.category-card#bases > a.cover:first-child > img { height:100%; min-height:0; object-fit:contain; padding:2px; }

:root { --ochre:#b89e54; --spruce:#234435; }
.site-header { box-shadow:0 1px 0 rgba(28,48,36,.05); }
.site-header nav a { position:relative; padding-block:10px; }
.site-header nav a::after { content:""; position:absolute; left:0; right:0; bottom:6px; height:1px; background:var(--spruce); transform:scaleX(0); transform-origin:left; }
.site-header nav a:hover,.site-header nav a:focus-visible { text-decoration:none; }
.site-header nav a:hover::after,.site-header nav a:focus-visible::after { transform:scaleX(1); }
.hero-copy { background:linear-gradient(135deg,#f0f1e8 3%,#e4eadd 100%); }
.hero-copy .eyebrow,.development .eyebrow { display:flex; align-items:center; gap:10px; }
.hero-copy .eyebrow::before,.development .eyebrow::before { content:""; width:26px; height:2px; background:var(--ochre); }
.category-card { border-color:#d5d9ce; position:relative; }
.category-card .cover { overflow:hidden; }
.category-card:hover,.category-card:focus-within { border-color:#99aa97; box-shadow:0 6px 18px rgba(33,57,41,.07); }
.section-head h2::before { content:""; display:block; width:34px; height:2px; background:var(--ochre); margin:0 0 14px; }
.media-wrap { width:min(100%,1450px); margin-inline:auto; }
.development { background:#e8ece3; border-block:1px solid #d1d7cc; }
.development .section-head { align-items:end; }
.feature-panel { display:grid; grid-template-columns:minmax(0,1.8fr) minmax(250px,.8fr); background:#f8f8f2; border:1px solid #cbd3c7; }
.film-frame { margin:0; min-width:0; display:grid; align-items:center; background:#182421; }
.film-frame video { display:block; width:100%; max-height:75vh; aspect-ratio:16/9; object-fit:contain; }
.film-notes { padding:clamp(20px,2.8vw,44px); display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:16px; }
.film-notes h3 { font:400 clamp(25px,2.35vw,40px)/1.04 Georgia,serif; letter-spacing:-.035em; }
.chapter-list { margin:0; padding:0; list-style:none; align-self:stretch; }
.chapter-list li { border-top:1px solid #c9d0c3; }
.chapter-list li:last-child { border-bottom:1px solid #c9d0c3; }
.chapter-list button { width:100%; min-height:44px; display:flex; align-items:center; gap:12px; cursor:pointer; padding:10px 0; background:transparent; border:0; color:var(--ink); font:inherit; text-align:left; font-weight:550; }
.chapter-list button:hover,.chapter-list button[aria-current="step"] { color:#245c3a; }
.chapter-list button[aria-current="step"] .chapter-time { background:#d7e1d1; }
.chapter-time { font:500 12px/1.2 ui-monospace,SFMono-Regular,monospace; padding:4px 6px; background:#eceee6; color:#415443; font-variant-numeric:tabular-nums; }
.film-notes .button { margin-top:2px; }
.factory-photos { margin:36px auto; }
.factory-photos h3 { margin-bottom:18px; font:400 clamp(25px,2.3vw,38px)/1.12 Georgia,serif; letter-spacing:-.035em; }
.shopfloor-grid { display:grid; gap:clamp(10px,1.5vw,22px); grid-template-columns:repeat(4,minmax(0,1fr)); }
.photo-card { min-width:0; display:block; }
.photo-card .photo-wrap { display:block; overflow:hidden; background:#23392d; }
.photo-card img { width:100%; aspect-ratio:4/3; object-fit:cover; }
.photo-caption { display:flex; align-items:start; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px solid #738a77; font-size:15px; font-weight:560; color:#fff; }
.photo-caption::after { content:"↗" / ""; font-size:15px; color:#c7d3b6; }
.photo-card:focus-visible { outline-color:#dfca7a; }
.evidence-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr)); gap:18px; }
.evidence-card { border:1px solid var(--rule); background:white; min-width:0; display:flex; flex-direction:column; }
.evidence-thumb { display:grid; place-items:center; padding:20px 12px 14px; overflow:hidden; background:#e9ece4; border-bottom:1px solid var(--rule); }
.evidence-thumb img { height:clamp(145px,14vw,215px); width:100%; object-fit:contain; filter:drop-shadow(0 3px 4px #30382c28); }
.evidence-body { flex:1; display:flex; flex-direction:column; align-items:flex-start; padding:18px; }
.evidence-body h3 { font-size:19px; font-weight:600; }
.evidence-body time,.evidence-date { font-size:13px; color:#455843; margin-top:6px; font-weight:600; }
.evidence-body p { margin:10px 0; font-size:14px; color:var(--muted); }
.evidence-body .text-link { margin-top:auto; }
.evidence-body .doc-kind { margin:0 0 6px; color:#49614c; font-size:11px; font-weight:650; text-transform:uppercase; letter-spacing:.1em; }
.media-viewer { width:min(1040px,96vw); max-width:96vw; max-height:95dvh; margin:auto; padding:0; border:0; background:#f3f3ed; color:var(--ink); box-shadow:0 18px 90px #0004; }
.media-viewer::backdrop { background:#121d17de; }
.viewer-bar { padding:10px 14px; display:flex; gap:14px; justify-content:space-between; align-items:center; border-bottom:1px solid var(--rule); background:#fff; }
.viewer-bar h2 { font-family:inherit; font-weight:550; font-size:clamp(15px,1.6vw,20px); line-height:1.25; letter-spacing:0; text-wrap:initial; }
.viewer-controls { display:flex; align-items:center; gap:6px; flex-shrink:0; }
.viewer-controls button { min-height:44px; padding:6px 10px; border:1px solid #bcC7b9; color:var(--ink); background:white; cursor:pointer; font:600 13px/1.1 inherit; }
.viewer-controls button:last-child { font-size:22px; min-width:44px; }
.viewer-stage { overflow:auto; max-height:75dvh; padding:12px; }
.viewer-stage img { display:block; margin:auto; max-width:100%; max-height:69dvh; object-fit:contain; }
.viewer-stage.zoomed img { max-width:none; max-height:none; width:auto; }
button:focus-visible { outline:3px solid #ac6800; outline-offset:2px; }
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .photo-card img,.category-card .cover img { transition:transform .32s ease; }
 .photo-card:hover img,.category-card .cover:hover img { transform:scale(1.025); }
 .site-header nav a::after { transition:transform .2s ease; }
 .category-card { transition:box-shadow .25s ease,border-color .25s ease; }
}
@media(max-width:940px) {
 .feature-panel { grid-template-columns:1.4fr minmax(230px,.8fr); }
 .film-notes { padding:18px; gap:11px; }
 .shopfloor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:720px) {
 .site-header { height:auto; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:0 8px; padding-block:5px 0; }
 .site-header .brand { grid-column:1; grid-row:1; }
 .site-header .nav-cta { grid-column:2; grid-row:1; }
 .site-header nav { grid-column:1 / -1; grid-row:2; display:flex; align-items:center; justify-content:space-between; gap:8px; }
 .site-header nav a { min-height:44px; display:inline-flex; align-items:center; padding:6px 0; font-size:13px; }
 .feature-panel { grid-template-columns:1fr; }
 .film-notes { padding:20px 16px; gap:13px; }
 .film-frame video { max-height:none; }
 .shopfloor-grid { gap:10px; }
 .photo-caption { font-size:13px; }
 .evidence-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .evidence-thumb { padding:10px; }
 .evidence-thumb img { height:126px; }
 .evidence-body { padding:12px; }
 .evidence-body h3 { font-size:16px; }
 .evidence-body p { font-size:13px; }
}
@media(max-width:440px) {
 .evidence-grid { grid-template-columns:1fr; }
 .evidence-card { display:grid; grid-template-columns: minmax(85px,.55fr) minmax(0,1fr); }
 .evidence-thumb { border-bottom:0; border-right:1px solid var(--rule); }
}
.evidence-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
.evidence-card.scanned { display:grid; grid-template-columns:minmax(110px,.7fr) minmax(0,1.25fr); }
.evidence-card.scanned .evidence-thumb { border-right:1px solid var(--rule); border-bottom:0; }
.evidence-card.record { border-width:1px 0 0; background:transparent; }
.evidence-card.record .evidence-body { padding:20px 0 0; }
.evidence-ref { font-size:12px; color:#586458; }
.document-links { display:flex; flex-wrap:wrap; gap:3px 13px; margin-top:auto; }
.evidence-body .doc-status { color:#685124; font-size:13px; font-weight:600; margin:6px 0 0; }
.viewer-controls button { font-family:inherit; font-size:13px; font-weight:600; }
@media(max-width:860px) {
 .evidence-card.scanned { grid-template-columns:1fr; }
 .evidence-card.scanned .evidence-thumb { border-right:0; border-bottom:1px solid var(--rule); }
}
@media(max-width:540px) {
 .evidence-grid { grid-template-columns:1fr; }
 .evidence-card.scanned { grid-template-columns:minmax(83px,.57fr) minmax(0,1.1fr); }
 .evidence-card.scanned .evidence-thumb { border-right:1px solid var(--rule); border-bottom:0; }
 .evidence-card.record { display:block; }
}
.photo-card .photo-wrap { aspect-ratio:4/3; }
.photo-card .photo-wrap img { width:100%; height:100%; }
.development .section-head h2::before { content:none; }
.development .section-head .eyebrow { margin-bottom:12px; }

.shopfloor-grid { grid-template-columns:repeat(6,minmax(0,1fr)); }
.shopfloor-grid .photo-card { grid-column:span 2; }
.shopfloor-grid .photo-card.featured-photo { grid-column:span 3; }
.shopfloor-grid .featured-photo .photo-wrap { aspect-ratio:16 / 9; }
.report-jumps { display:flex; flex-wrap:wrap; gap:8px 18px; padding:0 0 18px; border-bottom:1px solid var(--rule); }
.report-jumps a { display:inline-flex; align-items:center; min-height:44px; font-weight:600; font-size:14px; text-decoration:underline; text-underline-offset:4px; }
.report-section { margin-top:28px; }
.report-section h3 { font:400 clamp(25px,2.6vw,38px)/1.1 Georgia,serif; letter-spacing:-.035em; margin:0 0 15px; }
.report-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
.report-card { display:grid; grid-template-columns:minmax(125px,.62fr) minmax(0,1.38fr); border:1px solid var(--rule); background:#fff; }
.report-card .evidence-thumb { padding:14px; border:0; border-right:1px solid var(--rule); }
.report-card .evidence-thumb img { height:clamp(145px,13vw,195px); width:100%; }
.report-content { padding:16px; display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.report-content h4 { margin:0 0 4px; font:600 18px/1.25 Inter,system-ui,sans-serif; }
.report-content .record-date { font-size:13px; font-weight:600; color:#4b614b; }
.report-content p { font-size:14px; color:var(--muted); margin:8px 0 12px; }
.report-links { display:flex; align-items:center; gap:6px 14px; flex-wrap:wrap; margin-top:auto; padding-top:6px; }
.report-links a { display:inline-flex; min-height:44px; align-items:center; color:var(--ink); text-decoration:underline; text-underline-offset:4px; font-size:14px; font-weight:600; }
@media(max-width:900px) { .report-card { grid-template-columns:minmax(90px,.6fr) minmax(0,1.3fr); } }
@media(max-width:720px) { .report-grid { grid-template-columns:1fr; } .shopfloor-grid { gap:12px; } .report-card .evidence-thumb { padding:10px; } }
@media(max-width:540px) { .shopfloor-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .shopfloor-grid .photo-card {grid-column:span 1;} .shopfloor-grid .photo-card.featured-photo { grid-column:span 2; } .report-card {grid-template-columns:minmax(85px,.5fr) minmax(0,1.05fr);} .report-content{padding:12px;} }
/* The outdoor collection pairs warm limestone surfaces with the company's evergreen. */
:root { --pine:#173f34; --pine-dark:#102f28; --cream:#faf8f2; --sand:#ede8dc; --brass:#b99a5c; }
body { background:var(--cream); }
.site-header { height:68px; border:0; background:#fffcf6; box-shadow:none; }
.site-header .brand strong { letter-spacing:.065em; font-size:14px; }
.site-header .nav-cta { border-radius:999px; background:var(--pine); padding-inline:22px; }
.category-strip { top:68px; color:#f0f2e8; background:var(--pine-dark); border:0; }
.category-strip a { font-size:12px; letter-spacing:.015em; }
.hero { position:relative; isolation:isolate; display:flex; align-items:end; min-height:clamp(490px,44vw,725px); background:var(--pine-dark); color:#fff; }
.hero-visual { position:absolute; z-index:-2; inset:0; width:100%; height:100%; aspect-ratio:auto; }
.hero-visual img { object-position:50% 89%; }
.hero-visual::after { position:absolute; inset:0; content:""; background:linear-gradient(90deg,rgba(9,22,18,.80),rgba(9,22,18,.58) 32%,rgba(9,22,18,.10) 66%,rgba(9,22,18,0) 86%),linear-gradient(0deg,rgba(9,22,18,.24),transparent 35%); }
.hero-copy { background:transparent; padding:clamp(52px,5.6vw,96px) var(--edge); width:min(850px,70%); gap:clamp(15px,1.55vw,26px); }
.hero-copy .eyebrow { color:#f3e9ce; font-size:12px; letter-spacing:.14em; }
.hero-copy .eyebrow::before { background:#e6c37b; width:42px; }
.hero h1 { color:#fff; font-size:clamp(56px,5.35vw,94px); line-height:.99; letter-spacing:-.048em; }
.hero h1 em { color:#fff0d2; font-size:.87em; font-weight:400; }
.hero .lead { color:#fff; font-size:clamp(16px,1.18vw,19px); max-width:44ch; line-height:1.55; }
.hero-actions { gap:22px; }
.hero-actions .button { background:#fff8e7; color:#21362c; border-radius:30px; padding:13px 22px; }
.hero-actions .button:hover { background:white; }
.hero-actions .secondary-link { color:white; }
.metrics { background:#e8e5d9; color:var(--pine); padding:22px var(--edge); border-bottom:1px solid #d5d1c3; }
.metric { border-color:#bdc1ad; }
.metric span { color:#35473b; }
.metric strong { font-size:clamp(28px,3.1vw,54px); font-style:italic; }
.shop-categories,.certs { background:var(--cream); }
.section-head h2,.document-title h3 { letter-spacing:-.045em; }
.section-head h2 { font-size:clamp(42px,4.4vw,76px); }
.section-head h2::before { width:58px; height:2px; margin-bottom:16px; }
.category-grid { gap:clamp(14px,1.8vw,30px); }
.category-card { border:none; background:transparent; }
.category-card:hover,.category-card:focus-within { border:none; box-shadow:none; }
.category-card .cover { position:relative; background:#e9e4d9; border-radius:15px; height:clamp(196px,17.4vw,290px); padding:22px; }
.category-card:nth-child(3n+2) .cover { background:#e1e8dd; }
.category-card:nth-child(3n) .cover { background:#e6e5e0; }
.category-card .cover img { mix-blend-mode:multiply; }
.category-card .cover.product-arrangement { grid-template-columns:minmax(0,1fr) minmax(62px,.34fr); gap:8px; }
.category-card .sample-tray { display:grid; gap:9px; width:100%; height:100%; max-height:166px; min-width:0; min-height:0; grid-template-rows:repeat(2,minmax(0,1fr)); }
.category-card .sample-tray img { width:100%; height:100%; padding:5px; object-fit:contain; }
.category-card > div { border:none; border-bottom:1px solid #b6bcb0; padding:17px 0 21px; }
.category-card h3 { font-size:clamp(24px,2.15vw,36px); color:var(--pine-dark); }
.category-card p { max-width:47ch; color:#49564a; }
.category-card .actions { width:100%; justify-content:space-between; gap:12px; padding-top:10px; }
.category-card .actions .item-link { color:var(--pine); text-decoration:none; border-bottom:1px solid var(--brass); min-height:36px; }
.category-card .actions .text-link { color:var(--muted); }
.advantages { background:#eaece2; }
.advantage { border-top:1px solid #9cab96; }
.advantage i { display:none; }
.development { background:var(--pine-dark); color:#fff8e8; }
.development .section-head .eyebrow { color:#e2c17d; }
.development .section-head p { color:#d5e1d4; }
.feature-panel { overflow:hidden; border:1px solid #758674; border-radius:16px; }
.film-notes { background:#f3f0e6; color:var(--ink); }
.film-notes .button { border-radius:24px; }
.factories { color:var(--ink); background:#f0ede4; }
.factories .section-head p { color:var(--muted); }
.factory-photos { margin:0 auto clamp(32px,4vw,60px); }
.factory-photos h3 { font-size:clamp(23px,2vw,33px); color:var(--pine); }
.shopfloor-grid { gap:clamp(10px,1.4vw,24px); }
.photo-card { position:relative; border-radius:12px; overflow:hidden; background:var(--pine-dark); }
.photo-card .photo-wrap { aspect-ratio:2/1; }
.photo-card.featured-photo .photo-wrap { aspect-ratio:1.85; }
.photo-card .photo-caption { position:absolute; bottom:0; left:0; right:0; border:0; align-items:center; padding:40px 18px 14px; background:linear-gradient(transparent,rgba(8,25,21,.82)); color:#fff; }
.photo-caption::after { color:#fff; }
.factory { padding:25px clamp(20px,2.5vw,40px); border:1px solid #c9d0bc; border-radius:12px; background:#f8f7ef; }
.factory small { color:#48624f; }
.factory h3 { color:var(--pine-dark); font:400 clamp(26px,2.5vw,42px)/1.1 Georgia,serif; }
.factory dt { color:#536454; }
.network-fold { margin-top:20px; padding:10px 0; border-block:1px solid #c2c9b8; }
.network-fold summary { min-height:44px; padding:11px 5px; cursor:pointer; color:var(--pine); font-weight:600; }
.network-fold .network-map { margin-top:6px; }
.certs .section-head { display:block; }
.document-shelf { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:clamp(14px,2vw,32px); }
.document-item { min-width:0; }
.document-cover { display:grid; place-items:center; height:clamp(175px,18vw,285px); padding:24px; background:linear-gradient(145deg,#ebe8dd,#dadfd0); border-radius:12px; }
.document-cover img { width:100%; height:100%; min-height:0; object-fit:contain; filter:drop-shadow(0 3px 4px #15271c2b); }
.document-title { display:flex; align-items:start; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; padding:13px 0; border-bottom:1px solid #b9c0ad; }
.document-title h3 { font:400 clamp(19px,1.5vw,25px)/1.15 Georgia,serif; letter-spacing:-.022em; }
.document-title a { min-height:44px; padding:5px 0; color:var(--pine); font-size:13px; font-weight:650; text-decoration:underline; text-underline-offset:4px; }
.contact { background:var(--pine); color:#fff7e6; }
.contact .eyebrow { color:#e5cf92; }
.contact p,.contact .address-block { color:#e0e8db; }
.contact .contact-links a,.contact .address { border-color:#657c65; }
footer { color:#dae2d4; background:var(--pine-dark); border:0; display:flex; align-items:center; justify-content:space-between; }
.footer-brand { font-weight:650; letter-spacing:.09em; }
.footer-brand span { color:#e0c489; }
.footer-top { min-height:44px; display:inline-flex; align-items:center; }
.catalog-main { background:var(--cream); }
.catalog-product,.model-tile { border-radius:13px; overflow:hidden; }
.series-intro { border-left:3px solid var(--brass); padding-left:clamp(14px,1.8vw,30px); }
.model-tile figure,.product-view { background:#f0eee5; }
.model-tile figure img,.product-view img { mix-blend-mode:multiply; }
@media(max-width:900px) {
 .hero-copy { width:min(78%,720px); }
 .document-shelf { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .document-cover { height:205px; }
}
@media(max-width:720px) {
 .site-header { height:auto; }
 .category-strip { top:0; }
 .hero { min-height:540px; }
 .hero-copy { width:100%; padding:100px var(--edge) 40px; gap:16px; }
 .hero-visual img { object-position:50% 50%; }
 .hero-visual::after { background:linear-gradient(0deg,rgba(7,21,15,.9),rgba(10,27,20,.65) 50%,rgba(10,22,15,.03) 93%); }
 .hero h1 { max-width:12ch; font-size:clamp(44px,9.2vw,63px); }
 .hero .lead { max-width:42ch; }
 .metrics { padding:15px var(--edge); }
 .category-card .cover { height:225px; }
 .category-card > div { padding:14px 1px 18px; }
 .section-head h2 { font-size:clamp(37px,7.8vw,53px); }
 .photo-card .photo-caption { font-size:13px; padding:26px 11px 10px; }
 .document-cover { height:165px; padding:15px; }
}
@media(max-width:390px) {
 .hero { min-height:460px; }
 .document-shelf { gap:14px 10px; }
 .document-cover { height:147px; }
 .photo-card:not(.featured-photo) .photo-wrap { aspect-ratio:1.45; }
}
