:root{--paper:#f8f6f0;--ink:#26231d;--muted:#5d584e;--line:#dcd6ca;--accent:#79542e;--dark:#292a22;--max:1280px;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}img{display:block;width:100%;height:auto}a{color:inherit;text-underline-offset:4px}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:2px solid #a36e34;outline-offset:4px}.wrap{width:min(var(--max),calc(100% - 104px));margin-inline:auto}.skip{position:absolute;left:12px;top:-100px;z-index:5;background:white;padding:12px}.skip:focus{top:10px}header{background:var(--paper);border-bottom:1px solid var(--line)}.nav{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{width:173px;flex-shrink:0}.nav nav{display:flex;align-items:center;gap:32px}.nav nav a{font-size:14px;text-decoration:none;display:grid;align-items:center;min-height:44px}.nav nav a[aria-current=page]{text-decoration:underline;text-decoration-color:var(--accent);text-underline-offset:7px}.nav .navcta{border:1px solid var(--line);padding:0 17px}.eyebrow{font-size:11px;font-weight:720;letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:0 0 18px}.eyebrow:before{content:"";display:inline-block;vertical-align:middle;background:currentColor;width:22px;height:1px;margin-right:10px}h1,h2,h3{font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.04;margin:0;letter-spacing:-.045em;text-wrap:balance}h1{font-size:clamp(42px,5.4vw,76px)}h2{font-size:clamp(35px,5vw,65px)}h3{font-size:clamp(26px,3.4vw,40px)}p{margin:0 0 17px}.lede{font-size:clamp(16px,1.7vw,20px);color:var(--muted);max-width:44ch;margin-top:22px}.hero{padding-top:52px}.hero-grid{display:grid;grid-template-columns:minmax(0,.87fr) minmax(0,1.13fr);gap:clamp(24px,4vw,64px);align-items:center}.hero-copy h1{font-size:clamp(39px,4.1vw,60px);text-wrap:balance;max-width:18ch}.hero-copy .lede{margin:20px 0 22px}.hero-media{margin:0;min-width:0}.hero-image{aspect-ratio:1.24;object-fit:cover;object-position:center 61%;background:#c6ab87}.button{display:inline-flex;align-items:center;justify-content:center;gap:17px;min-height:49px;padding:10px 19px;border:1px solid var(--ink);background:var(--ink);color:#fff;text-decoration:none;font-family:inherit;line-height:1.3;font-size:14px;font-weight:600;cursor:pointer}.button:hover{background:#574534}.outline{background:transparent;color:var(--ink);border-color:var(--line)}.outline:hover{background:#eee8dd}.actions{display:flex;flex-wrap:wrap;gap:10px}.caption{display:flex;justify-content:space-between;gap:10px;margin-top:10px;color:var(--muted);font-size:12px}.stats{display:grid;grid-template-columns:repeat(3,1fr);border-block:1px solid var(--line);margin-top:40px}.stat{padding:25px 20px 23px}.stat:first-child{padding-left:0}.stat+.stat{border-left:1px solid var(--line)}.stat strong{font:400 clamp(28px,4vw,54px)/1 Georgia,serif;display:block;margin-bottom:9px;letter-spacing:-.045em}.stat span{font-size:13px;color:var(--muted)}.section{padding-block:88px}.split{display:grid;grid-template-columns:1.12fr 1fr;align-items:center;gap:clamp(30px,7vw,104px)}.split img{aspect-ratio:1.23;object-fit:cover}.dark{background:var(--dark);color:#fbf8f0}.dark .eyebrow{color:#d7b88d}.dark .lede,.dark p{color:#e1d8c8}.dark .button{color:var(--ink);background:#f3ece0;border-color:#f3ece0}.rule{border-top:1px solid var(--line)}.grid2,.grid3,.grid4{display:grid;gap:20px}.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid4{grid-template-columns:repeat(4,minmax(0,1fr))}.heading{margin-bottom:36px}.tile img{aspect-ratio:1.55;object-fit:cover}.tile h3+p{max-width:48ch}.tile h3{margin:17px 0 10px}.tile p,.note{color:var(--muted)}.card{padding:25px;border:1px solid var(--line)}.card h3{margin-bottom:12px}.dark .card{border-color:#696354}.dark .card p{margin-bottom:0}.dark .market{color:#d7b88d;font-size:12px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:8px}.dark a:not(.button){color:#f3d9b7}.note{font-size:13px;margin-top:20px}.page-intro{padding:62px 0 43px}.page-intro h1{max-width:20ch}.page-intro .lede{max-width:58ch}.full-photo{aspect-ratio:2.45;object-fit:cover}.step{padding:20px 0;border-top:1px solid var(--line)}.step b{display:block;margin-bottom:10px;color:var(--accent);font-size:13px}.step h3{margin-bottom:10px}.step p{color:var(--muted);margin:0}.band{background:#ede7db}.sample img{aspect-ratio:1;object-fit:cover}.sample span{display:block;margin-top:9px;font-size:13px}.specs{display:grid;grid-template-columns:1fr 1fr;gap:0 24px;margin:12px 0 0}.specs div{border-top:1px solid var(--line);padding:10px 0}.specs dt{font-size:12px;color:var(--muted)}.specs dd{margin:0}.faq{max-width:820px}.faq details{border-top:1px solid var(--line);padding:13px 0}.faq details:last-child{border-bottom:1px solid var(--line)}summary{cursor:pointer;font-weight:620;padding:6px 0;min-height:44px}.faq details p{margin:8px 0;color:var(--muted)}footer{padding:42px 0;background:#eee9df;border-top:1px solid var(--line)}.foot{display:grid;grid-template-columns:1fr auto;gap:22px;align-items:start}.foot img{width:145px;margin-bottom:10px}.foot p{font-size:13px;color:var(--muted);margin:0}.foot nav{display:flex;flex-wrap:wrap;gap:5px 20px}.foot nav a{font-size:13px;display:flex;align-items:center;min-height:44px}.contact-grid{align-items:start;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:clamp(28px,5vw,72px)}.contact-list{margin-top:24px}.contact-list div{padding:14px 0;border-top:1px solid var(--line)}.contact-list a{overflow-wrap:anywhere}.contact-list dt{font-size:12px;color:var(--muted)}.contact-list dd{margin:0}form{background:#eee9df;padding:clamp(19px,4vw,42px)}form h2{font-size:clamp(32px,4vw,47px);margin-bottom:10px}label{display:block;font-size:13px;font-weight:600;margin-top:12px}input,select,textarea{width:100%;min-height:46px;font-family:inherit;line-height:1.4;font-size:16px;margin-top:4px;padding:10px;border:1px solid #bcb2a3;border-radius:0;background:#fffdf8;color:var(--ink)}textarea{resize:vertical}form .button{margin-top:16px}form .note{margin-bottom:0}.status{font-size:14px;margin-top:10px}.contact-photo{margin-top:26px;aspect-ratio:1.7;object-fit:cover}
@media(max-width:800px){.wrap{width:calc(100% - 44px)}.nav{min-height:72px}.nav nav{gap:17px}.brand{width:140px}.hero{padding-top:48px}.hero-grid,.split,.contact-grid{grid-template-columns:1fr;gap:24px}.hero-copy h1{font-size:clamp(38px,8.3vw,60px);max-width:18ch}.hero-copy .lede{margin-bottom:15px}.hero-image{aspect-ratio:1.45}.section{padding-block:59px}.page-intro{padding:50px 0 34px}.full-photo{aspect-ratio:1.65}.grid4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:540px){.wrap{width:calc(100% - 36px)}.nav{flex-wrap:wrap;gap:0;padding-top:13px}.nav nav{width:100%;justify-content:space-between;gap:6px;margin-top:5px}.nav nav a{font-size:13px}.nav .navcta{border:0;padding:0}.hero{padding-top:36px}.eyebrow{margin-bottom:13px}.caption{font-size:11px}.stats{margin-top:27px}.stat{padding:15px 9px}.stat strong{font-size:clamp(22px,6.8vw,32px);white-space:nowrap}.stat span{font-size:11px;line-height:1.35;display:block}.grid2,.grid3,.foot{grid-template-columns:1fr}.grid2,.grid3{gap:25px}.section{padding-block:48px}.heading{margin-bottom:24px}.sample img{aspect-ratio:1.1}.contact-grid{gap:28px}.form-row{grid-template-columns:1fr;gap:0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

@media (min-width: 801px) {
  h1 { font-size: clamp(38px, 3.4vw, 52px); }
  .hero-copy h1 { font-size: clamp(36px, 3.15vw, 48px); }
  h2 { font-size: clamp(30px, 2.9vw, 44px); }
  h3 { font-size: clamp(24px, 2.15vw, 33px); }
}

.tariff-rates { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px 0; }
.tariff-rates > div { padding:16px 16px 16px 0; border-block:1px solid #696354; }
.tariff-rates > div + div { padding-left:20px; border-left:1px solid #696354; }
.tariff-rates strong { display:block; font:400 clamp(46px,7vw,88px)/1 Georgia,serif; letter-spacing:-.05em; }
.tariff-rates span { display:block; margin-top:10px; color:#e1d8c8; font-size:14px; }
.tariff-rates .note { grid-column:1/-1; margin:0; }
#tariffs { margin-top:48px; }

.product-intro { padding-bottom:24px; }
.product-intro h1 { max-width:none; white-space:nowrap; font-size:clamp(23px,6.4vw,52px); }
.showroom { padding-bottom:52px; }
.showroom-head { display:flex; align-items:end; justify-content:space-between; gap:14px; }
.showroom-head .eyebrow { margin-bottom:8px; }
.showroom-hint { margin:12px 0 20px; color:var(--muted); font-size:14px; }
.gallery-controls { display:flex; gap:8px; }
.gallery-controls[hidden] { display:none; }
.gallery-controls button, .finish-view button { color:var(--ink); background:var(--paper); border:1px solid #bdb4a5; font:inherit; min-width:44px; min-height:44px; padding:5px 12px; cursor:pointer; }
.swatch-rail { display:flex; gap:8px; overflow-x:auto; scroll-snap-type:x proximity; margin:0; padding:4px 4px 15px; list-style:none; scrollbar-color:#a69279 #e9e2d6; }
.swatch-rail li { flex:0 0 clamp(57px,6.5vw,91px); scroll-snap-align:start; }
.swatch-rail a { display:block; text-decoration:none; }
.swatch-rail img { width:100%; height:clamp(258.5px,30.8vw,429px); object-fit:cover; background:#b38a62; }
.swatch-rail a:hover img { filter:brightness(1.09); }
.swatch-rail span { display:block; text-align:center; font-size:11px; margin-top:8px; white-space:nowrap; }
.showroom .note { margin:10px 0 0; }
.finish-view { width:fit-content; max-width:calc(100% - 20px); max-height:calc(100dvh - 20px); border:0; background:transparent; color:var(--ink); padding:0; overflow:hidden; }
.finish-view::backdrop { background:#15120fed; }
.finish-view .finish-close { position:absolute; top:8px; right:8px; z-index:1; font-size:25px; border-radius:50%; background:#faf6ed; line-height:1; }
.finish-large { width:auto; height:auto; max-width:100%; max-height:calc(100dvh - 20px); object-fit:contain; }
.construction { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.6fr); gap:clamp(20px,4vw,52px); align-items:center; }
.construction figure { margin:0; }
.layer-key { margin:0; }
.layer-key div { padding:9px 0; border-top:1px solid #d1c7b7; }
.layer-key dt { font-weight:650; }
.layer-key dt span { color:var(--accent); font-size:12px; display:inline-block; width:27px; }
.layer-key dd { margin:1px 0 0 27px; color:var(--muted); font-size:14px; }
@media (max-width: 700px) {
 .construction { grid-template-columns:1fr; }
 #available-options .specs { grid-template-columns:1fr; }
 .showroom { padding-bottom:30px; }
}

.finish-view { overflow:visible; }
.finish-view .finish-arrow { position:fixed; top:50%; transform:translateY(-50%); border-radius:50%; background:#faf6ed; line-height:1; font-size:27px; padding:0; z-index:1; }
.finish-prev { left:clamp(12px,12vw,200px); }
.finish-next { right:clamp(12px,8vw,145px); }
@media (max-width:700px) {
 .finish-prev { left:12px; }
 .finish-next { right:12px; }
}

.contact-team { padding-bottom:clamp(50px,8vw,92px); }
.contact-person { background:#eee9df; padding:clamp(20px,4vw,44px); }
.contact-person h2 { font-size:clamp(30px,3.2vw,46px); text-wrap:initial; }
.contact-position { margin:8px 0 0; color:var(--muted); }
.contact-person .contact-list { margin-bottom:0; }
.contact-person .contact-list div:last-child { padding-bottom:0; }

/* Editorial images support the product story alongside factory photography. */
:root { --paper:#f8f6f1; --ink:#28241e; --line:#d9d0c2; --dark:#282721; }
header { background:#fbf9f4; }
.hero-media figcaption, .editorial-photo figcaption { color:#65594b; font-size:11px; letter-spacing:.07em; }
.factory-hero .hero-image { aspect-ratio:1.38; object-position:center 56%; }
.factory-hero .stats { background:#f0ebe1; padding-inline:clamp(10px,2.5vw,32px); }
#tariffs { padding-block:clamp(44px,6vw,86px); }
.tariff-rates strong { color:#f5dfbd; }
.editorial-layout { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); gap:clamp(24px,5vw,78px); align-items:center; }
.range-editorial { background:#eee8dc; }
.editorial-photo { margin:0; }
.editorial-photo img { aspect-ratio:1.65; object-fit:cover; object-position:center 62%; }
.editorial-photo figcaption { margin-top:10px; }
.editorial-copy .lede { margin:17px 0 23px; }
.editorial-copy h2 { max-width:16ch; }
.editorial-copy .button { max-width:100%; }
.factory-profile .full-photo { aspect-ratio:2.1; object-position:center 57%; }
.process-editorial { background:#f0ebe2; }
.process-editorial .tile img { aspect-ratio:1.6; }
.process-editorial .tile h3 { margin-top:20px; }
.showroom .swatch-rail { gap:10px; }
.showroom .swatch-rail img { box-shadow:0 4px 12px #43352720; }
#board-construction { background:#eee8dc; }
.product-editorial { background:#e9e0d1; }
.contact-intro { border-bottom:1px solid var(--line); margin-bottom:26px; }
.contact-person { background:#f0ebe1; border-top:2px solid #8d7354; }
@media(max-width:760px) {
 .editorial-layout { grid-template-columns:1fr; }
 .editorial-photo img, .factory-profile .full-photo { aspect-ratio:1.48; }
 .factory-hero .hero-image { aspect-ratio:1.35; }
 .factory-hero .stats { padding-inline:9px; }
}

:root {
  --paper:#fbf8f0;
  --ink:#27241e;
  --muted:#574f44;
  --accent:#805735;
  --line:#d9cdb9;
  --dark:#242822;
  --linen:#eee6d8;
  --sand:#e6d7bd;
  --display:"Palatino Linotype",Palatino,Georgia,serif;
}
body { background:var(--paper); }
h1,h2,h3 { font-family:var(--display); letter-spacing:-.036em; }
h1,h2 { line-height:1.07; }
header { background:var(--paper); border-bottom:1px solid var(--line); }
.nav { min-height:77px; }
.nav nav { gap:clamp(14px,3vw,42px); }
.nav nav a { text-transform:uppercase; letter-spacing:.115em; font-size:11px; font-weight:700; }
.nav nav a[aria-current=page] { color:#795332; text-decoration-thickness:2px; }
.nav .navcta { border-color:#9e896e; padding-inline:17px; }
.eyebrow { letter-spacing:.19em; }
.button { background:#2e3329; border-color:#2e3329; min-height:48px; }
.button.outline { color:var(--ink); background:transparent; border-color:#a99679; }
.button.outline:hover { background:#e9dfcc; }

.factory-hero { background:var(--dark); color:#fcf7eb; padding:0; }
.factory-hero .hero-grid { grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:clamp(26px,4vw,68px); padding-block:clamp(36px,5.3vw,76px) 30px; }
.factory-hero .eyebrow,.about-masthead .eyebrow,.contact-masthead .eyebrow { color:#d6b58c; }
.factory-hero .lede,.about-masthead .lede,.contact-masthead .lede { color:#e7ded0; }
.factory-hero .hero-copy h1 { font-size:clamp(35px,3.35vw,50px); max-width:19ch; }
.factory-hero .button { background:#ead9bb; color:#29271f; border-color:#ead9bb; }
.factory-hero .button.outline { background:transparent; color:#f5ead5; border-color:#8d8371; }
.factory-hero .hero-image { aspect-ratio:1.53; }
.factory-hero .caption { color:#e0c8a7; }
.factory-hero .stats { margin:0; border-color:#716a5c; background:transparent; padding:0; }
.factory-hero .stat { padding-block:20px; }
.factory-hero .stat + .stat { border-color:#716a5c; }
.factory-hero .stat strong { color:#f1d4aa; }
.factory-hero .stat span { color:#ece2d2; }
#tariffs { margin-top:0; background:var(--sand); color:var(--ink); }
#tariffs .eyebrow { color:var(--accent); }
#tariffs p,#tariffs a,#tariffs .tariff-rates span { color:#504437; }
#tariffs .tariff-rates strong { color:#382b1e; }
#tariffs .tariff-rates > div { border-color:#aa9272; }
.factory-story .split { grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); }
.factory-story .split img { aspect-ratio:1.6; }
.range-editorial,.product-editorial { background:var(--linen); }
.range-editorial .editorial-layout { grid-template-columns:minmax(0,1.9fr) minmax(0,1fr); }
.range-editorial .editorial-photo img { aspect-ratio:1.54; }
.range-planning { background:#f7f0e2; }

.about-masthead,.contact-masthead { background:var(--dark); color:#fcf7eb; }
.about-masthead .page-intro,.contact-masthead .page-intro { padding-block:clamp(42px,6vw,84px); }
.factory-profile { padding-top:24px; }
.factory-profile .stats { margin-top:0; border-top:0; }
.company-history .split { align-items:start; }
.company-history .step { display:grid; grid-template-columns:62px minmax(0,1fr); gap:12px; }
.company-history .step b { margin:0; font-family:var(--display); font-size:21px; }
.process-editorial .tile img { aspect-ratio:1.35; }
.process-editorial .tile { padding-bottom:14px; }
#trade .card { background:#30342a; border-color:#716a5c; }
#trade .note { line-height:1.65; }

.product-masthead { background:#eee4d3; border-bottom:1px solid #c7b69a; }
.product-masthead .showroom { padding-bottom:35px; }
.product-masthead .swatch-rail { padding-top:clamp(20px,2vw,32px); gap:10px; }
.product-masthead .swatch-rail img { border-bottom:3px solid #84633f; box-shadow:0 2px 8px #46301b29; }
#available-options .specs { gap:12px; }
#available-options .specs div { background:#f1eadc; border-top:1px solid #a98c65; padding:16px 19px; }
#available-options .specs dt { font-size:11px; text-transform:uppercase; letter-spacing:.13em; margin-bottom:5px; }
#board-construction { background:#e7dbca; }
#board-construction figure { outline:1px solid #bba88e; }
.buying-process .step { background:#f1eadc; padding:34px 23px; border-top:0; text-align:center; }

.contact-intro { border:0; margin:0 auto; }
.contact-team { padding-top:30px; }
.contact-team .grid2 { gap:clamp(16px,3vw,40px); }
.contact-person { background:#f0e7d7; border:1px solid #cebea3; border-top:3px solid #806344; }
.contact-position { color:#574636; }
.site-footer { background:#e5d7bf; border-top:1px solid #c3ac8a; padding-block:48px; }
.site-footer nav a { text-decoration:none; text-transform:uppercase; letter-spacing:.1em; font-size:11px; font-weight:700; }
.site-footer nav a:hover { text-decoration:underline; }
@media(max-width:800px) {
  .factory-hero .hero-grid,.factory-story .split,.range-editorial .editorial-layout { grid-template-columns:1fr; }
  .factory-hero .hero-copy h1 { font-size:clamp(36px,7vw,55px); max-width:17ch; }
  .factory-hero .hero-image { aspect-ratio:1.55; }
}
@media(max-width:540px) {
  .nav nav { gap:4px; }
  .nav nav a { font-size:10px; letter-spacing:.075em; }
  .nav .navcta { padding-inline:0; }
  .factory-hero .stat strong { font-size:clamp(21px,6.3vw,31px); }
  .factory-hero .hero-grid { padding-top:28px; }
  .site-footer { padding-block:30px; }
}

/* Monochrome brand palette. Images retain their original colors. */
:root { --paper:#fafafa; --ink:#181818; --muted:#555; --accent:#4b4b4b; --line:#d6d6d6; --dark:#171717; --linen:#eee; --sand:#e5e5e5; }
body > header, body > main, body > footer { background-color:var(--paper); }
body > header, body > main > :not(script), body > footer { color-scheme:light; }
header, .factory-hero, #tariffs, .factory-story, .range-editorial, .range-planning, .about-masthead, .company-history, .process-editorial, #trade, #factory-review, .product-masthead, #available-options, #board-construction, .buying-process, .product-editorial, .band, .contact-masthead, .contact-team, .site-footer { filter:none; }
.nav nav a[aria-current=page],.hero-media figcaption,.editorial-photo figcaption { color:#484848; }
.nav .navcta,.button.outline { border-color:#a0a0a0; }
.button,.button:hover { background:#222; border-color:#222; }
.button.outline:hover { background:#ddd; }
.factory-hero,.about-masthead,.contact-masthead,#trade { color:#f8f8f8; }
.factory-hero .eyebrow,.about-masthead .eyebrow,.contact-masthead .eyebrow,#trade .eyebrow,#trade .market { color:#d1d1d1; }
.factory-hero .lede,.about-masthead .lede,.contact-masthead .lede,#trade p,.factory-hero .caption,.factory-hero .stat span { color:#ddd; }
.factory-hero .stat strong { color:#fff; }
.factory-hero .stats,.factory-hero .stat + .stat,#trade .card { border-color:#5d5d5d; }
.factory-hero .button { background:#f2f2f2; color:#171717; border-color:#f2f2f2; }
.factory-hero .button.outline { color:#eee; background:transparent; border-color:#777; }
#tariffs p,#tariffs a,#tariffs .tariff-rates span,#tariffs .tariff-rates strong { color:#222; }
#tariffs .tariff-rates > div,.contact-person,#board-construction figure,.layer-key div { border-color:#b8b8b8; }
#trade .card { background:#262626; }
#trade a:not(.button) { color:#f3f3f3; }
.range-planning,.process-editorial,.product-masthead,#available-options .specs div,.buying-process .step,.contact-person,.band { background:#eee; }
.product-masthead,#available-options .specs div,.buying-process .step,.contact-person,.site-footer { border-color:#aaa; }
.product-masthead .swatch-rail img { border-color:#777; box-shadow:0 2px 8px #0002; }
.swatch-rail { scrollbar-color:#858585 #ddd; }
#board-construction,.product-editorial,.site-footer { background:#e6e6e6; }
#board-construction figure { outline-color:#aaa; }
.contact-position { color:#4a4a4a; }
.finish-view::backdrop { background:#111e; }
.finish-view .finish-arrow,.finish-view .finish-close { background:#fafafa; border-color:#aaa; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible { outline:2px solid #737373; }
.nav .calculator-nav { background:#202020; color:#fff; padding-inline:15px; text-align:center; }
.nav .calculator-nav[aria-current=page] { color:#fff; }
@media(max-width:620px) {
  .nav { flex-wrap:wrap; gap:0; padding-top:12px; }
  .nav nav { width:100%; justify-content:space-between; gap:4px; }
  .nav .calculator-nav { padding-inline:7px; max-width:96px; line-height:1.2; }
}
.calculator-masthead { background:#171717; color:#fafafa; }
.calculator-masthead .eyebrow,.calculator-masthead .lede { color:#d5d5d5; }
.calculator-masthead h1 { max-width:none; }
.calculator-layout { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,1fr); gap:24px; align-items:start; padding-block:36px 76px; }
.calculator-form,.calculator-result { background:#eee; padding:clamp(18px,3vw,34px); }
.calculator-form fieldset { min-width:0; border:0; padding:0; margin:0 0 28px; }
.calculator-form fieldset:last-child { margin-bottom:0; }
.calculator-form legend { font-weight:700; padding:0; }
.calculator-form input,.calculator-form select,.calculator-result select { background:#fff; border-color:#a6a6a6; }
.calculator-form .button { color:#fff; }
.calc-inputs,.packing-grid { display:grid; gap:12px; grid-template-columns:repeat(2,minmax(0,1fr)); }
.packing-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.packing-summary { margin:16px 0 0; }
.packing-summary div { display:flex; justify-content:space-between; gap:12px; padding:8px 0; border-top:1px solid #ccc; }
.packing-summary dd { margin:0; text-align:right; font-weight:650; }
.calc-total { font:400 clamp(30px,4.3vw,56px)/1.1 var(--display); margin-top:24px; }
.calc-help,.calc-formula { font-size:13px; color:#484848; margin:12px 0 0; }
.calc-formula { font-weight:650; }
@media(max-width:850px) { .calculator-layout { grid-template-columns:1fr; } }
@media(max-width:420px) { .packing-grid { grid-template-columns:1fr; gap:0; } }

.calculator-form [hidden] { display:none; }

:root {
  --title-1:clamp(32px,4vw,50px);
  --title-2:clamp(29px,3.2vw,42px);
  --title-3:clamp(22px,2.3vw,30px);
  --section-space:clamp(48px,6vw,86px);
}
h1,.factory-hero .hero-copy h1,.product-masthead .product-intro h1 { font-size:var(--title-1); }
h2,.contact-person h2 { font-size:var(--title-2); }
h3 { font-size:var(--title-3); }
.section,#tariffs { padding-block:var(--section-space); }
.about-masthead .page-intro,.contact-masthead .page-intro,.calculator-masthead .page-intro { padding-block:var(--section-space); }
.range-planning .split { align-items:start; }
.range-planning .split > div + div { border-left:1px solid var(--line); padding-left:clamp(18px,4vw,55px); }
.closing-cta { background:#191919; color:#fafafa; text-align:center; }
.closing-cta .eyebrow { color:#ccc; }
.closing-cta p:not(.eyebrow) { max-width:52ch; margin:16px auto 22px; color:#ddd; }
.closing-cta .button { background:#f4f4f4; border-color:#f4f4f4; color:#181818; }
.range-editorial .editorial-photo figcaption,.product-editorial .editorial-photo figcaption { margin-bottom:0; }
@media(max-width:800px) {
  .range-planning .split > div + div { border-left:0; border-top:1px solid var(--line); padding:16px 0 0; }
}
@media(max-width:540px) {
  :root { --title-1:clamp(22px,6.4vw,34px); --title-2:29px; --title-3:22px; --section-space:44px; }
}

.product-masthead .product-intro .gallery-title { font-size:var(--title-2); white-space:normal; }
.product-masthead .showroom-head .eyebrow { margin-bottom:18px; }

.product-masthead .product-intro, .contact-masthead .contact-intro, .calculator-masthead .page-intro, .about-masthead .page-intro { padding-top:clamp(28px,4.5vw,54px); }

:root {
  --paper:#0b0b0b;
  --ink:#f5f5f5;
  --muted:#bdbdbd;
  --accent:#bfbfbf;
  --line:#404040;
  --dark:#0b0b0b;
  --linen:#151515;
  --sand:#171717;
  --display:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color-scheme:dark;
}
body,body > main { background:#0b0b0b; color:var(--ink); }
body > header,body > footer { background:#0b0b0b; color:var(--ink); border-color:var(--line); }
h1,h2,h3 { font-weight:420; letter-spacing:-.038em; }
.eyebrow { font-size:11px; letter-spacing:.24em; }
.brand,.site-footer .foot > div > a { display:block; width:max-content; max-width:100%; padding:7px 0; }
.brand img { width:clamp(154px,12.2vw,176px); }
.site-footer .foot > div > a img { margin:0; width:137px; }
.site-footer .foot p { margin-top:14px; }
.nav nav a[aria-current=page] { color:#fff; text-decoration-color:#fff; }
.nav .calculator-nav,.button,.closing-cta .button,.factory-hero .button { background:#f4f4f4; color:#141414; border-color:#f4f4f4; }
.nav .calculator-nav[aria-current=page] { color:#141414; }
.button:hover,.closing-cta .button:hover,.factory-hero .button:hover { background:#d6d6d6; border-color:#d6d6d6; }
.button.outline,.factory-hero .button.outline { color:#f2f2f2; background:transparent; border-color:#929292; }
.button.outline:hover,.factory-hero .button.outline:hover { background:#ffffff20; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline-color:#bbb; }

.factory-hero { position:relative; isolation:isolate; }
.factory-hero .hero-grid { display:block; min-height:clamp(470px,46vw,650px); padding-block:clamp(74px,11vw,156px) 78px; }
.factory-hero .hero-copy { position:relative; max-width:710px; }
.factory-hero .hero-copy h1 { max-width:19ch; }
.factory-hero .lede { color:#f1f1f1; max-width:42ch; }
.factory-hero .hero-media { position:absolute; inset:0 0 auto; height:clamp(470px,46vw,650px); z-index:-1; }
.factory-hero .hero-media::after { content:""; position:absolute; inset:0; background:linear-gradient(90deg,#090909ef 0%,#090909ac 36%,#09090918 100%),linear-gradient(0deg,#0b0b0b 0%,transparent 25%); pointer-events:none; }
.factory-hero .hero-image { width:100%; height:100%; object-fit:cover; object-position:center 52%; }
.factory-hero .hero-media .caption { position:absolute; bottom:18px; right:max(18px,calc((100% - var(--max)) / 2)); z-index:1; gap:16px; color:#eee; }
.factory-hero .stats { border-color:var(--line); }
.factory-hero .stat + .stat { border-color:var(--line); }
#tariffs { color:#f5f5f5; }
#tariffs p,#tariffs a,#tariffs .tariff-rates span,#tariffs .tariff-rates strong { color:#eee; }
#tariffs .tariff-rates > div { border-color:#575757; }
.range-editorial,.process-editorial,.range-planning,.band,.product-masthead,#board-construction,.product-editorial,.closing-cta { color:#f4f4f4; }
.factory-story .split img,.editorial-photo img { aspect-ratio:1.8; }
.editorial-photo figcaption { color:#bdbdbd; }
.range-editorial .editorial-layout { grid-template-columns:minmax(0,1.85fr) minmax(0,1fr); }
.page-about .factory-profile { padding-top:0; }
.page-about .factory-profile .full-photo { aspect-ratio:2.45; }
.about-masthead .page-intro,.contact-masthead .page-intro,.calculator-masthead .page-intro { border-bottom:1px solid var(--line); }
#trade .card,#available-options .specs div,.buying-process .step,.contact-person,.calculator-form,.calculator-result { background:#191919; color:#f5f5f5; border-color:#555; }
.packing-summary div,.layer-key div { border-color:var(--line); }
.calc-help,.calc-formula,.contact-position { color:#c6c6c6; }
.calculator-form input,.calculator-form select,.calculator-result select { color-scheme:dark; color:#fafafa; background:#0e0e0e; border-color:#666; }
.calculator-form .button { color:#111; }
.finish-view .finish-arrow,.finish-view .finish-close,.gallery-controls button { background:#f7f7f7; color:#171717; border-color:#aaa; }
.swatch-rail { scrollbar-color:#999 #222; }
@media(max-width:800px) {
  .range-editorial .editorial-layout { grid-template-columns:1fr; }
  .factory-hero .hero-grid { min-height:500px; display:flex; align-items:end; padding-block:80px 64px; }
  .factory-hero .hero-media { height:500px; }
  .factory-hero .hero-media::after { background:linear-gradient(0deg,#0b0b0b 0%,#090909b5 52%,#09090932 100%); }
  .factory-hero .hero-image { object-position:center 38%; }
}
@media(max-width:540px) {
  .brand img { width:138px; }
  .factory-hero .hero-grid { min-height:420px; }
  .factory-hero .hero-media { height:420px; }
  .factory-hero .hero-media .caption { font-size:10px; gap:8px; }
}

body > footer.site-footer { background:#0b0b0b; border-color:#333; padding:clamp(44px,6vw,88px) 0 0; }
.footer-directory { display:grid; grid-template-columns:minmax(180px,1fr) minmax(0,3fr); gap:clamp(28px,5vw,78px); padding-bottom:clamp(35px,5vw,72px); }
.footer-brand img { width:clamp(145px,16vw,212px); }
.footer-brand p { margin:18px 0 0; font-size:13px; color:#a6a6a6; }
.footer-groups { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.footer-group h2 { margin:0 0 14px; color:#f4f4f4; font:650 11px/1.4 var(--display); text-transform:uppercase; letter-spacing:.17em; }
.footer-group ul { list-style:none; padding:0; margin:0; }
.site-footer .footer-group a { display:inline-flex; align-items:center; min-height:34px; color:#b4b4b4; font-weight:450; line-height:1.35; letter-spacing:.055em; }
.site-footer .footer-group a:hover { color:#fff; }
.footer-legal { border-top:1px solid #333; margin:0; padding:23px 0; color:#a6a6a6; font-size:11px; letter-spacing:.08em; }
@media(max-width:900px) { .footer-directory { grid-template-columns:1fr; } }
@media(max-width:620px) { .footer-groups { grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px 14px; } .site-footer .footer-group a { min-height:40px; } }

/* Separate content sections with space on one continuous canvas. */
:root { --section-space:clamp(61.2px,7.2vw,100.8px); }
body > main > section[class],
body > main > .product-masthead,
main > section#tariffs,
main > section#board-construction,
main > section#trade {
  background:none;
  border:0;
}
.about-masthead .page-intro,
.contact-masthead .page-intro,
.calculator-masthead .page-intro,
body > footer.site-footer { border:0; }
.factory-hero .stats { border-block:0; }
.range-planning .split > div + div { border:0; }
@media(max-width:540px) { :root { --section-space:52.2px; } }

/* Keep the hero photo anchored as the text scrolls out of its frame. */
.factory-hero .hero-media { overflow:hidden; }
@media (prefers-reduced-motion:no-preference) {
  .factory-hero .hero-image { transform:translateY(var(--hero-scroll, 0px)); }
}

:root {
  --paper:#f7f3eb;
  --ink:#342a21;
  --muted:#63564a;
  --accent:#745338;
  --line:#d8cbbb;
  --dark:#f7f3eb;
  --linen:#eee5d8;
  --sand:#e5d7c6;
  --surface:#f0e8dc;
  --action:#684b35;
  color-scheme:light;
}
body,body > main,body > header,body > footer.site-footer { background:var(--paper); color:var(--ink); }
body > header { border-color:var(--line); }
body > footer.site-footer { border-top:1px solid var(--line); }
.nav nav a[aria-current=page] { color:var(--accent); text-decoration-color:var(--accent); }
.nav .calculator-nav,.nav .calculator-nav[aria-current=page],
.button,.closing-cta .button,.factory-hero .button,.calculator-form .button,.dark .button {
  background:var(--action);
  border-color:var(--action);
  color:#fffaf3;
}
.button:hover,.closing-cta .button:hover,.factory-hero .button:hover { background:#523b2b; border-color:#523b2b; }
.button.outline,.factory-hero .button.outline { color:var(--ink); background:#f7f3eb80; border-color:#947d65; }
.button.outline:hover,.factory-hero .button.outline:hover { background:var(--sand); }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline-color:var(--accent); }
.factory-hero,.about-masthead,.contact-masthead,.calculator-masthead,#tariffs,#trade,
.range-editorial,.process-editorial,.range-planning,.band,.product-masthead,#board-construction,.product-editorial,.closing-cta { color:var(--ink); }
.factory-hero .hero-media::after {
  background:linear-gradient(90deg,#f7f3eb 0%,#f7f3ebee 28%,#f7f3ebc9 43%,#f7f3eb12 73%),linear-gradient(0deg,#f7f3eb 0%,#f7f3eb00 22%);
}
.factory-hero .caption,.editorial-photo figcaption { color:var(--muted); }
.factory-hero .eyebrow,.about-masthead .eyebrow,.contact-masthead .eyebrow,.calculator-masthead .eyebrow,
#tariffs .eyebrow,#trade .eyebrow,#trade .market,.closing-cta .eyebrow { color:var(--accent); }
.factory-hero .lede,.about-masthead .lede,.contact-masthead .lede,.calculator-masthead .lede,
#tariffs p,#tariffs .tariff-rates span,#trade p,.factory-hero .stat span,.closing-cta p:not(.eyebrow),
.calc-help,.calc-formula,.contact-position { color:var(--muted); }
.factory-hero .stat strong,#tariffs .tariff-rates strong { color:var(--ink); }
#tariffs a,#trade a:not(.button) { color:var(--accent); }
.factory-hero .stat + .stat,#tariffs .tariff-rates > div,.packing-summary div,.layer-key div { border-color:var(--line); }
#trade .card,#available-options .specs div,.buying-process .step,.contact-person,.calculator-form,.calculator-result {
  background:var(--surface); color:var(--ink); border-color:#c8b7a4;
}
.calculator-form input,.calculator-form select,.calculator-result select {
  color-scheme:light; color:var(--ink); background:#fffdf8; border-color:#b7a592;
}
.gallery-controls button,.finish-view .finish-arrow,.finish-view .finish-close { background:var(--paper); color:var(--ink); border-color:#b7a592; }
.swatch-rail { scrollbar-color:#a88d75 #eee5d8; }
.product-masthead .swatch-rail img { border-color:#a88d75; box-shadow:0 2px 8px #422c181a; }
.footer-group h2,.site-footer .footer-group a:hover { color:var(--ink); }
.footer-brand p,.site-footer .footer-group a,.footer-legal { color:var(--muted); }
.footer-legal { border-color:var(--line); }
@media(max-width:800px) {
  .factory-hero .hero-media::after { background:linear-gradient(0deg,#f7f3eb 0%,#f7f3ebef 38%,#f7f3ebd9 62%,#f7f3eb10 100%); }
}

.footer-directory { grid-template-columns:minmax(140px,.8fr) minmax(0,4fr); gap:clamp(24px,3vw,48px); }
.footer-groups { grid-template-columns:repeat(5,minmax(0,1fr)); gap:clamp(16px,2vw,28px); }
.footer-group h2 { margin-bottom:14px; }
.site-footer .footer-group h2 a { color:var(--ink); font-weight:700; letter-spacing:.12em; min-height:0; }
.footer-group li + li { margin-top:12px; }
.site-footer .footer-group li a { min-height:0; padding:4px 0; text-transform:none; letter-spacing:0; font-size:13px; font-weight:650; color:var(--ink); }
.footer-group li p { margin:1px 0 0; color:var(--muted); font-size:12px; line-height:1.45; }
@media(max-width:960px) { .footer-directory { grid-template-columns:1fr; } }
@media(max-width:720px) { .footer-groups { grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px 20px; } }

.factory-hero .hero-grid {
  display:flex;
  align-items:center;
  min-height:clamp(500px,calc(100svh - 78px),760px);
  padding-block:clamp(32px,5vh,64px);
}
.factory-hero .hero-copy { width:100%; }
@media(max-width:620px) {
 .factory-hero .hero-grid { min-height:clamp(440px,calc(100svh - 100px),680px); }
}
.factory-hero .hero-media { height:100%; }
.factory-hero .stats {
  margin-top:clamp(24px,3vw,38px);
  max-width:650px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  column-gap:0;
  align-items:stretch;
}
.factory-hero .stats .stat { min-width:0; padding:10px clamp(4px,1vw,14px); border:0; text-align:center; }
.factory-hero .stats .stat + .stat { border-left:1px solid #c5b49f; }
.factory-hero .stat strong { font-size:clamp(21px,2.7vw,40px); white-space:nowrap; }
.factory-hero .stat span { display:block; line-height:1.35; }
@media(max-width:540px) {
 .factory-hero .stat strong { font-size:clamp(16px,4.5vw,24px); }
}

.factory-hero .hero-copy > .actions { margin-top:clamp(20px,2.4vw,32px); }

#tariffs .tariff-actions { align-items:center; gap:14px 22px; margin-top:26px; }
#tariffs .tariff-actions .button { color:#fffaf3; }

:root { --intro-size:clamp(15px,1.25vw,17px); }
main .lede { font-size:var(--intro-size); }
.page-home main > section:not(.factory-hero) h2:not(.eyebrow) { font-size:var(--title-2); }
.page-home main > section:not(.factory-hero) p:not(.eyebrow):not(.note) { font-size:var(--intro-size); }
.page-home main > section:not(.factory-hero) a { font-size:14px; }



#tariffs .tariff-rates > div { padding-inline:clamp(8px,1.5vw,20px); text-align:center; }

#tariffs .lede + .lede { margin-top:0; }
#tariffs .tariff-rates .note { text-align:center; font-size:12px; }

@media(min-width:801px) { .range-editorial .editorial-layout { grid-template-columns:minmax(0,1fr) minmax(0,1.85fr); } }

.factory-story .split img.factory-aerial { aspect-ratio:auto; }

.page-home .mirrored-feature .editorial-layout { grid-template-columns:minmax(0,1.55fr) minmax(0,1fr); }
.page-home .range-editorial.mirrored-feature .editorial-layout { grid-template-columns:minmax(0,1fr) minmax(0,1.55fr); }
.page-home .mirrored-feature .editorial-layout img { aspect-ratio:2 / 1; object-fit:cover; object-position:center; }
.page-home .mirrored-feature .editorial-copy h2 { max-width:none; }
@media(max-width:800px) {
 .page-home .mirrored-feature .editorial-layout,
 .page-home .range-editorial.mirrored-feature .editorial-layout { grid-template-columns:1fr; }
}

@media(min-width:801px) {
 main .split, main .editorial-layout, main .construction, main .range-planning .split, main .company-history .split { align-items:center; }
}

@media(min-width:961px) {
 .footer-directory {
  grid-template-columns:max-content minmax(0,1fr);
  column-gap:clamp(76px,8vw,120px);
 }
 .footer-groups { width:min(100%,760px); justify-self:end; column-gap:12px; }
}

#available-options .specs > div { border-top:0; }

main p:not(.eyebrow):not(.market),
main .layer-key dd { font-size:var(--intro-size); }

.factory-hero .hero-copy .hero-subtitle { font-size:clamp(19px,1.7vw,24px); }

.factory-story .factory-aerial { filter:saturate(.8); }

body > footer.site-footer { padding-block:clamp(26px,4vw,48px); }
.footer-directory { padding-bottom:0; align-items:center; }
.footer-group h2 { margin:0; }

body > footer.site-footer { padding-block:clamp(34px,4.5vw,60px); }
.site-footer .footer-directory { display:flex; flex-direction:column; align-items:center; gap:18px; }
.footer-brand a { display:block; }
.footer-brand img { width:clamp(145px,13vw,182px); }
.footer-links { display:flex; flex-wrap:wrap; justify-content:center; column-gap:clamp(16px,3vw,42px); }
.site-footer .footer-links a { display:inline-flex; align-items:center; min-height:44px; text-align:center; }

.finish-view .finish-status {
  position:absolute;
  z-index:1;
  bottom:10px;
  left:50%;
  transform:translateX(-50%);
  max-width:calc(100% - 24px);
  width:max-content;
  margin:0;
  padding:5px 11px;
  color:#fff;
  background:#24211ce6;
  font-size:12px;
  text-align:center;
  pointer-events:none;
}

/* Match the combined bottom and top padding between content sections. */
main > :is(.closing-cta, .product-editorial, .contact-masthead, .calculator-masthead) {
  padding-bottom:calc(2 * var(--section-space));
}

.contact-masthead .contact-intro { padding-bottom:0; }
.contact-masthead .contact-team { padding:clamp(10px,1.5vw,20px) 0 0; }

.contact-team .contact-person {
  background: #fcfaf6;
  border: 1px solid var(--line);
  color: #49331f;
  padding: clamp(24px, 3.5vw, 48px);
}
.contact-team .contact-person h2 { font-weight: 650; }
.contact-team .contact-list {
  position: relative;
  border-top: 1px solid #8d745c;
  padding-top: 14px;
  margin-bottom: 0;
}
.contact-team .contact-list::before {
  content: "";
  position: absolute;
  inset: -2px auto auto 0;
  width: 42px;
  height: 4px;
  background: #62462f;
}
.contact-team .contact-list div {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 1fr);
  align-items: baseline;
  gap: 8px;
  padding: 5px 0;
  border: 0;
}
.contact-team .contact-list dt { font-weight: 700; }

.contact-team .contact-person {
  position: relative;
  display: grid;
  aspect-ratio: 1417 / 850;
  padding: 0;
  background: none;
  border: 0;
  perspective: 1100px;
}
.card-face {
  grid-area: 1 / 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(16px, 3vw, 40px);
  border: 1px solid var(--line);
  background-color: #fcfaf6;
  background-position: center;
  background-size: cover;
  backface-visibility: hidden;
  transition: transform 520ms ease, visibility 0s 260ms;
}
.card-back { transform: rotateY(-180deg); visibility: hidden; text-align: center; }
.card-back img { width: min(64%, 290px); margin: 0 auto 18px; }
.card-back p { margin: 0; padding-top: 12px; border-top: 1px solid #8d745c; }
.contact-person.is-flipped .card-front { transform: rotateY(180deg); visibility: hidden; }
.contact-person.is-flipped .card-back { transform: none; visibility: visible; }
.contact-team .card-front .contact-position { margin: 5px 0 0; }
.contact-team .card-front .contact-list { margin-top: 12px; padding-top: 8px; }
.contact-team .card-front .contact-list div { padding: 2px 0; }
.card-turn {
  position: absolute;
  inset: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}
.card-turn span { position: absolute; top: 8px; right: 12px; font-size: 21px; }
.card-front a { position: relative; z-index: 1; }
@media (prefers-reduced-motion: reduce) { .card-face { transition: none; } }

.card-front-logo {
  align-self: flex-end;
  width: clamp(98px, 14vw, 176px);
  margin: 0 24px 8px 0;
}
.card-front .card-company {
  margin: 8px 0 0;
  text-align: right;
  font-size: clamp(10px, 1vw, 13px);
  font-weight: 700;
  letter-spacing: .06em;
}

.card-front.card-original {
  background: url("/assets/john-card.jpg") center / contain no-repeat;
  border: 0;
  position: relative;
}
.card-original > * { opacity: 0; }
.card-original .contact-list { position: absolute; inset: 70% 46% 12% 7%; margin: 0; padding: 0; }
.card-original .contact-list div { display: block; height: 50%; }
.card-original .contact-list dt { display: none; }
.card-original .contact-list a { display: block; min-height: 1.3em; }
.card-original .contact-list:focus-within { opacity: 1; background: #fcfaf6; }
.card-back:has(.card-original-back) { padding: 0; border: 0; }
.card-back .card-original-back { width: 100%; height: 100%; object-fit: contain; margin: 0; }
#front-Yuri.card-original { background-image: url("/assets/yuri-card.jpg"); }

main .shared-section-title {
  font-size: var(--title-2);
  max-width: none;
}

.calculator-masthead .page-intro { padding-bottom:0; }
.calculator-masthead .calculator-layout { padding-block:clamp(18px,2.5vw,32px) 0; }

.about-masthead .page-intro { padding-bottom:clamp(18px,2.5vw,32px); }

.about-masthead:has(+ .section) { padding-bottom:var(--section-space); }

.about-masthead:has(.about-hero-media) { display:grid; isolation:isolate; }
.about-hero-media, .about-hero-content { grid-area:1 / 1; }
.about-hero-media {
  position:sticky;
  top:0;
  align-self:start;
  height: min(100svh, 820px);
  margin:0;
  z-index:-1;
}
.about-hero-photo { width:100%; height:100%; object-fit:cover; object-position:center top; clip-path:inset(0 0 10% 0); }
.about-hero-media::after {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg,var(--paper) 8%,#f7f3ebfa 28%,#f7f3ebdc 43%,#f7f3eb72 60%,transparent 79%,transparent 84%,var(--paper) 90%);
}
.about-hero-content {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(20px,5vw,70px);
  align-content:start;
  align-items:center;
  min-height:calc(min(100svh, 820px) + 12svh);
  padding-top:clamp(28px,4.5vw,54px);
}
.about-masthead .about-hero-content .page-intro {
  grid-column:1;
  grid-row:1;
  width:100%;
  padding:0;
}
.about-hero-content .factory-profile { grid-column:2; grid-row:1; padding-top:0; }
.about-hero-content .stats { border:0; }
.about-hero-content .stat { text-align:center; padding-inline:clamp(4px,1vw,14px); }
.about-hero-content .stat strong { font-size:clamp(18px,2.6vw,40px); white-space:nowrap; }
@media (max-width:760px) {
  .about-hero-content { grid-template-columns:1fr; gap:12px; }
  .about-masthead .about-hero-content .page-intro { grid-column:1; }
  .about-hero-content .factory-profile { grid-column:1; grid-row:2; }
  .about-hero-media::after {
    background:linear-gradient(180deg,var(--paper) 12%,#f7f3ebfa 43%,#f7f3ebd9 58%,#f7f3eb66 72%,transparent 83%,var(--paper) 90%);
  }
}

/* Pin the photo natively and clip it to the original hero frame. */
.factory-hero .hero-photo-pin { height:100%; }
@supports (height: 100cqh) and (overflow: clip) {
  @media (prefers-reduced-motion:no-preference) {
    .factory-hero .hero-media { overflow:clip; container-type:size; }
    .factory-hero .hero-photo-pin { position:sticky; top:0; height:0; }
    .factory-hero .hero-photo-pin .hero-image { height:100cqh; transform:none; }
  }
}

.about-masthead ~ .section:last-of-type { padding-bottom:calc(2 * var(--section-space)); }

#trade .card .market { margin-bottom:16px; }

@supports (grid-template-rows:subgrid) {
  @media (min-width:541px) {
    #trade .grid2 { row-gap:0; }
    #trade .grid2 > .card {
      display:grid;
      grid-row:span 5;
      grid-template-rows:subgrid;
      align-items:start;
    }
  }
}

.customer-markets figure { margin:0; }
.customer-markets figure img { background:#f8f4ec; }


@media (prefers-reduced-motion:reduce) {
  .about-hero-media { position:relative; }
}

.benefits-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:clamp(24px,3vw,48px);
}
.benefit svg {
  display:block;
  width:38px;
  height:38px;
  margin-bottom:18px;
  fill:none;
  stroke:var(--accent);
  stroke-width:1.25;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.benefit h3 { margin-bottom:10px; }
.benefit p { margin:0; color:var(--muted); font-size:var(--intro-size); }
@media (max-width:1000px) {
  .benefits-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:480px) {
  .benefits-grid { grid-template-columns:1fr; }
}

#tariffs .tariff-rates span,
#available-options .specs dd { font-size: var(--intro-size); }

.factory-hero .stats .stat span,
.about-hero-content .stats .stat span { font-size: 13px; }

#trade > .wrap > .note { font-size: 12px; }

@media (min-width: 621px) {
  .site-footer .footer-links a[href$="/calculator/"] {
    padding-inline: 16px;
    background: var(--action);
    color: #fffaf3;
    font-weight: 700;
    text-decoration: none;
  }
  .site-footer .footer-links a[href$="/calculator/"]:hover { background: #523b2b; }
}


.nav:has(.language-menu) { gap:clamp(10px, 1.5vw, 24px); }
.nav:has(.language-menu) nav { margin-left:auto; gap:clamp(10px, 1.6vw, 24px); }
.language-menu { position:relative; flex:none; z-index:5; }
.language-menu summary { display:flex; align-items:center; gap:7px; padding:8px 4px; font-size:13px; }
.language-menu summary::after { content:""; border-right:1px solid; border-bottom:1px solid; width:5px; height:5px; transform:rotate(45deg) translateY(-2px); }
.language-options { position:absolute; right:0; min-width:172px; max-height:65vh; overflow:auto; padding:4px; background:var(--paper); border:1px solid var(--line); box-shadow:0 8px 18px #30231716; }
.language-options a { display:block; padding:8px 10px; font-size:13px; text-decoration:none; }
.language-options a:hover, .language-options a[aria-current] { background:#eee5d8; }
html[lang="es"] .product-masthead h1, html[lang="es"] .factory-hero h1 { white-space:normal; }
@media (max-width:1050px) {
  .nav:has(.language-menu) { display:grid; grid-template-columns:1fr auto; gap:0 10px; padding-block:8px; }
  .nav:has(.language-menu) nav { grid-column:1 / -1; grid-row:2; width:100%; justify-content:space-between; margin:0; gap:5px; }
  .language-menu { grid-column:2; grid-row:1; }
}
@media (max-width:540px) {
  html[lang="es"] .nav nav a { font-size:9px; letter-spacing:0; }
}

html[lang]:not([lang^="en"]) .product-masthead h1,
html[lang]:not([lang^="en"]) .factory-hero h1 { white-space:normal; }
@media (max-width:540px) {
  html[lang]:not([lang^="en"]) .nav nav a { font-size:9px; letter-spacing:0; }
}

[dir="rtl"] .nav { direction:ltr; }
[dir="rtl"] .nav nav, [dir="rtl"] .language-menu summary { direction:rtl; }
[dir="rtl"] .language-options a { text-align:start; }
[dir="rtl"] .eyebrow::before { margin-right:0; margin-inline-end:10px; }
[dir="rtl"] .factory-hero .stat + .stat, [dir="rtl"] .stats .stat + .stat {
  border-left:0;
  border-right:1px solid var(--line);
}
[dir="rtl"] .swatch-rail,
[dir="rtl"] .calculator-layout output,
[dir="rtl"] .calc-formula,
[dir="rtl"] .contact-list a { direction:ltr; }
[dir="rtl"] .contact-list a { unicode-bidi:isolate; }
@media (min-width:621px) {
  [dir="rtl"] .factory-hero .hero-media::after {
    background:linear-gradient(270deg,#f7f3eb 0%,#f7f3ebee 28%,#f7f3ebc9 43%,#f7f3eb12 73%),linear-gradient(0deg,#f7f3eb 0%,transparent 22%);
  }
}

@media (max-width: 800px) {
  :root { --mobile-gutter: clamp(16px, 4.6vw, 24px); }
  .wrap { width: calc(100% - 2 * var(--mobile-gutter)); }
  .wrap .wrap { width: 100%; }
  .grid2 > *, .grid3 > *, .calculator-layout > *, .editorial-layout > * { min-width: 0; }
  main :is(h1,h2,h3,p,summary,legend) { overflow-wrap: anywhere; }
  .page-home .mirrored-feature .editorial-layout img,
  .process-editorial .tile img,
  .product-editorial .editorial-photo img { aspect-ratio: 4 / 3; object-fit: cover; }
  .page-home .factory-story .editorial-layout img { object-fit: contain; height: auto; aspect-ratio: auto; }
  .contact-team .contact-person { grid-template-columns: minmax(0,1fr); }
  .contact-team .card-face { min-width: 0; }
}
@media (max-width: 620px) {
  html { background-color: #f7f3eb; }
  .nav:has(.language-menu) { padding-block: 8px 10px; }
  .nav:has(.language-menu) nav {
    display: grid;
    grid-template-columns: repeat(4,minmax(max-content,1fr));
    gap: 0 4px;
  }
  html[lang] .nav nav a {
    min-height: 44px;
    font-size: 11px;
    letter-spacing: .025em;
    text-align: center;
    overflow-wrap: anywhere;
  }
  html[lang] .nav nav a.calculator-nav {
    width: 100%;
    grid-column: 1 / -1;
    max-width: none;
    min-height: 44px;
  }
  .language-menu summary { padding-inline: 10px 4px; }
  .language-options { max-height: 65dvh; }
  .language-options a { min-height: 44px; display: flex; align-items: center; }

  .factory-hero { padding-block: 0 var(--section-space); }
  .factory-hero .hero-grid {
    display: grid;
    grid-template-columns: minmax(0,1fr);
    align-items: stretch;
    isolation: isolate;
    min-height: clamp(620px, 88svh, 820px);
    padding-block: 0;
  }
  .factory-hero .hero-copy {
    grid-area: 1 / 1;
    position: relative;
    z-index: 1;
    align-self: center;
    padding: 42px 12px;
  }
  .factory-hero .hero-media {
    grid-area: 1 / 1;
    position: relative;
    inset: auto;
    height: 100%;
    container-type: normal;
    overflow: clip;
    z-index: 0;
  }
  .factory-hero .hero-media::after {
    content: "";
    background: linear-gradient(180deg, transparent 14%, #f7f3ebe6 28%, #f7f3ebe6 72%, transparent 86%);
  }
  .factory-hero .hero-media .hero-photo-pin { position: static; height: 100%; }
  .factory-hero .hero-photo-pin .hero-image {
    height: 100%;
    aspect-ratio: auto;
    object-fit: cover;
    object-position: 62% center;
    transform: none;
  }
  .factory-hero .stats { padding-inline: 0; }

  .about-masthead:has(.about-hero-media) {
    grid-template-columns: minmax(0,1fr);
    gap: 20px;
  }
  .about-hero-content { grid-area: 1 / 1; min-height: 0; padding-bottom: 0; }
  .about-hero-media {
    grid-area: 2 / 1;
    position: relative;
    top: auto;
    width: calc(100% - 2 * var(--mobile-gutter));
    margin-inline: auto;
    height: auto;
    z-index: auto;
  }
  .about-hero-media::after { content: none; }
  .about-hero-photo { height: auto; aspect-ratio: 4 / 3; object-fit: cover; clip-path: none; }

  .factory-hero .stat strong, .about-hero-content .stat strong { font-size: clamp(16px,4.3vw,22px); }
  .showroom-head { align-items: center; }
  .gallery-controls { flex-shrink: 0; }
  .product-masthead .swatch-rail { padding-inline: 0; }
  .swatch-rail li { flex-basis: clamp(46.4px,13.6vw,62.4px); }
  .swatch-rail img { height: clamp(286px,85.8vw,390px); }
  .finish-view { max-width: calc(100% - 2 * var(--mobile-gutter)); }
  .finish-large { max-height: calc(100dvh - 2 * var(--mobile-gutter)); }
  .finish-view .finish-prev { left: max(var(--mobile-gutter), env(safe-area-inset-left)); }
  .finish-view .finish-next { right: max(var(--mobile-gutter), env(safe-area-inset-right)); }

  .calculator-form, .calculator-result { padding: 16px; }
  .calculator-layout :is(input,select) { font-size: 16px; min-height: 48px; }
  .calculator-layout :is(.calc-inputs,.packing-grid) { grid-template-columns: minmax(0,1fr); }
  .calculator-layout :is(.calc-total,.calc-formula) { overflow-wrap: anywhere; }
  .packing-summary dd { min-width: 0; }
  .site-footer .footer-links { column-gap: 16px; }
}

@media (max-width: 800px) {
  body main,
  main :is(h1,h2,h3,p,summary,legend,label,dt,dd,.card,.tile,.benefit,.calc-formula,.calc-total),
  .site-footer { text-align: center; }

  main :is(h1,h2,h3,p,.heading,.editorial-copy,.hero-copy) {
    margin-inline: auto;
  }

  main .eyebrow,
  main .actions,
  .gallery-controls,
  .site-footer .footer-links { justify-content: center; }

  .showroom-head {
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .site-footer .footer-brand { justify-self: center; margin-inline: auto; }
  .calculator-form :is(input,select) { text-align: center; }
  .calculator-form select { text-align-last: center; }
}

@media (max-width: 800px) {
  .nav .brand { min-width: 0; }
  .nav .brand img { width: clamp(154px, 45vw, 205px); max-width: 100%; }
  .nav .language-menu summary {
    justify-content: center;
    min-height: 44px;
    padding-inline: 12px;
    border: 1px solid var(--accent);
    background: var(--surface);
    color: var(--action);
    font-weight: 700;
  }
}

/* Keep content clear of the notch while Safari overlays its controls. */
@supports (-webkit-touch-callout: none) {
  html { background: var(--paper); }
  body {
    padding-left: env(safe-area-inset-left);
    padding-right: env(safe-area-inset-right);
    padding-bottom: env(safe-area-inset-bottom);
  }
  body > header { padding-top: env(safe-area-inset-top); }
  .factory-hero .hero-image { background-color: var(--paper); }
}

@media (max-width: 800px) {
  #why-choose-us .benefit > svg { margin-inline: auto; }
}

@media (max-width: 700px) {
  .customer-markets figure img { width: 100%; min-width: 0; height: auto; }
}

@media (max-width: 620px) {
  #factory-process .grid3 {
    --process-gap: 64px;
    grid-template-columns: minmax(0, 1fr);
    row-gap: var(--process-gap);
  }
  #factory-process .tile { position: relative; padding-bottom: 0; }
  #factory-process .tile > p:last-child { margin-bottom: 0; }
  #factory-process .tile > img { display: block; }
  #factory-process .tile + .tile::before {
    content: "↓" / "";
    display: block;
    position: absolute;
    inset-inline: 0;
    bottom: calc(100% + var(--process-gap) / 2);
    transform: translateY(50%);
    color: var(--accent);
    font-size: 28px;
    line-height: 1;
    text-align: center;
  }
}

@media (max-width: 620px) {
  .site-footer .footer-links a[href$="/calculator/"] {
    flex-basis: 100%;
    justify-content: center;
    margin-top: 6px;
    padding-inline: 12px;
    background: var(--action);
    color: #fffaf3;
  }

  #why-choose-us .benefits-grid { row-gap: 40px; }
  #why-choose-us .benefit > svg { margin-bottom: 8px; }
}

@media (max-width: 620px) {
  #trade .grid2, .buying-process .grid3 { grid-auto-rows: 1fr; }
  .buying-process .step { display: flex; flex-direction: column; justify-content: center; }
}

@media (max-width: 620px) {
  .nav:has(.language-menu) nav { margin-top: 10px; }
  .nav:has(.language-menu) nav,
  .site-footer .footer-links { gap: 0; }
  .site-footer .footer-links {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(4, minmax(max-content, 1fr));
  }
  .site-footer .footer-links a {
    justify-content: center;
    padding-inline: clamp(6px, 2vw, 10px);
    overflow-wrap: anywhere;
  }
  .site-footer .footer-links a[href$="/calculator/"] { grid-column: 1 / -1; }

  :is(.nav nav, .site-footer .footer-links) > a:nth-child(-n+4) {
    position: relative;
  }
  :is(.nav nav, .site-footer .footer-links) > a:nth-child(n+2):nth-child(-n+4)::before {
    content: "";
    position: absolute;
    inset-inline-start: 0;
    inset-block: 30%;
    border-inline-start: 1px solid var(--line);
    pointer-events: none;
  }
}

@media (max-width: 620px) {
  html[lang] .nav nav > a,
  html[lang] .site-footer .footer-links > a {
    font-size: clamp(9px, 2.75vw, 11px);
    letter-spacing: 0;
    white-space: nowrap;
    overflow-wrap: normal;
  }

  html[lang] :is(.nav nav, .site-footer .footer-links) > a[href$="/calculator/"] {
    font-size: clamp(10px, 2.75vw, 11px);
  }
}

@media (max-width: 620px) {
  [dir="rtl"] .page-products .specs > div:not(:last-child) > dd,
  body[dir="rtl"].page-products .specs > div:not(:last-child) > dd {
    direction: ltr;
    unicode-bidi: isolate;
  }
}

@media (max-width: 620px) {
  .page-home .factory-hero .hero-copy h1 {
    font-size: clamp(30px, 8.2vw, 46px);
  }
}

.distributor-program .heading { margin-bottom: clamp(20px, 3vw, 36px); }
.distributor-terms {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: clamp(24px, 7vw, 100px);
}
.distributor-terms > div {
  padding-block: clamp(20px, 3vw, 36px);
  border-top: 1px solid var(--line);
}
.distributor-terms h3 { font-weight: 700; font-size: clamp(16px, 1.4vw, 20px); margin: 0 0 8px; }
.distributor-terms p { margin: 0; max-width: 56ch; }
@media (max-width: 620px) {
  .distributor-terms { grid-template-columns: minmax(0, 1fr); }
}

.partner-logos {
  display: flex;
  align-items: center;
  justify-content: safe center;
  gap: clamp(22px, 2.6vw, 38px);
  margin: clamp(24px, 3.5vw, 40px) 0 0;
  padding: 0 0 6px;
  list-style: none;
  overflow-x: auto;
  scroll-snap-type: inline proximity;
}
.partner-logos > li {
  flex: none;
  scroll-snap-align: start;
}
.partner-logos > .partner-logo-dark img { filter: brightness(0); }
.partner-logos img {
  display: block;
  width: calc(clamp(75px, 8.2vw, 115px) * var(--logo-scale, 1));
  height: auto;
  mix-blend-mode: multiply;
}

@media (min-width: 701px) {
  .partner-logos { margin-top: 28px; gap: clamp(27px, 3.2vw, 46px); }
}

.partner-logos > .partner-logo-original img { mix-blend-mode: normal; }


@media (max-width: 620px) {
  .partner-logos {
    --logo-gap: 22px;
    gap: var(--logo-gap);
    justify-content: flex-start;
    scroll-snap-type: inline mandatory;
  }
  .partner-logos > li {
    display: grid;
    place-items: center;
    flex-basis: calc((100% - 2 * var(--logo-gap)) / 3);
    min-width: 0;
    min-height: 118px;
  }
  .partner-logos > li img {
    width: calc(100% * var(--logo-scale, 1));
    height: auto;
  }
}

.partner-logos img[src*="/goodfellow.png"] { --logo-scale: .82; }
.partner-logos img[src*="/distiplas.png"] { --logo-scale: .71; }

.home-partners .partner-logos { margin-top: 0; }

@media (min-width: 701px) {
  .home-partners .partner-logos {
    display: grid;
    grid-template-columns: repeat(20, minmax(0, 1fr));
    gap: clamp(18px, 2.5vw, 32px) 0;
    overflow: visible;
  }
  .home-partners .partner-logos > li {
    display: grid;
    place-items: center;
    position: relative;
    grid-column: span 4;
    grid-row: 2;
    min-height: 76px;
  }
  .home-partners .partner-logos > li:nth-child(-n+4) { grid-row: 1; }
  .home-partners .partner-logos > li:nth-child(1) { grid-column: 3 / span 4; }
  .home-partners .partner-logos > li:nth-child(2) { grid-column: 7 / span 4; }
  .home-partners .partner-logos > li:nth-child(3) { grid-column: 11 / span 4; }
  .home-partners .partner-logos > li:nth-child(4) { grid-column: 15 / span 4; }
  .home-partners .partner-logos > li:not(:nth-child(4)):not(:last-child)::after {
    content: "";
    position: absolute;
    inset-block: 16%;
    inset-inline-end: 0;
    border-inline-end: 1px solid var(--line);
  }
  .home-partners .partner-logos > li:nth-child(-n+4) img {
    width: calc(clamp(105px, 11vw, 150px) * var(--logo-scale, 1));
  }
  .partner-logo-strata img { width: clamp(58px, 5.4vw, 78px); }
}

.partner-scroll-hint { display: none; }
@media (max-width: 620px) {
  .home-partners .partner-logos > .partner-logo-strata { display: none; }
  .home-partners .partner-logos { scrollbar-width: none; }
  .home-partners .partner-logos::-webkit-scrollbar { display: none; }
  .partner-scroll-hint {
    display: block;
    position: relative;
    width: 70px;
    height: 3px;
    margin: 9px auto 0;
    border-radius: 3px;
    background: var(--line);
  }
  .partner-scroll-hint::after {
    content: "";
    position: absolute;
    inset-block: 0;
    inset-inline-start: var(--scroll-position, 0%);
    width: 34%;
    border-radius: inherit;
    background: var(--accent);
  }
}

.home-partners #home-partners-title {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 0 auto clamp(14px, 2vw, 24px);
  line-height: 1.4;
  text-align: center;
}
.home-partners #home-partners-title::before,
.home-partners #home-partners-title::after {
  content: "";
  flex: 0 1 34px;
  height: 1px;
  margin: 0;
  background: var(--line);
}

@media (min-width: 701px) {
  .home-partners #home-partners-title {
    margin-bottom: clamp(28px, 3.7vw, 52px);
  }
  .home-partners .partner-logos {
    max-width: 1120px;
    margin-inline: auto;
    row-gap: clamp(24px, 3vw, 42px);
  }
  .home-partners .partner-logos > li { min-height: 72px; }
  .home-partners .partner-logos > li:nth-child(-n+4) { min-height: 92px; }
  .home-partners .partner-logos > li:not(:nth-child(4)):not(:last-child)::after {
    inset-block: auto;
    top: 50%;
    height: 34px;
    transform: translateY(-50%);
  }
  .home-partners .partner-logos > li:nth-child(-n+4) img {
    max-width: 84%;
  }
}
