.home-page { --paper:#eeece6; --ink:#30312c; }
[data-site-layout].home-page>.page { position:relative; width:100%; max-width:none; margin:0; padding:0 0 32px; }
[data-site-layout].home-page .masthead { position:absolute; inset:0 0 auto; z-index:10; min-height:88px; padding:18px clamp(20px,3.5vw,56px); border:0; background:transparent; color:#fffaf1; }
[data-site-layout].home-page .masthead .brand-symbol { width:36px; height:36px; filter:brightness(0) invert(1); }
.home-page .masthead .cart-toggle span { border-color:currentColor; }
.home-page .masthead .compact-navigation>.site-menu>div { color:var(--ink); text-shadow:none; }
.home-page .masthead :where(a,button,summary):focus-visible { outline:2px solid currentColor; outline-offset:5px; }
.home-main { font-size:15px; line-height:1.65; }
.home-main a,.home-footer a { color:inherit; }
.home-main :where(h1,h2,h3,p,figure) { margin:0; }
.home-main :where(h1,h2,h3) { font-weight:400; }
.home-main h2 { font-size:clamp(25px,2.7vw,36px); line-height:1.2; letter-spacing:-.055em; }
.home-main a:focus-visible,.home-footer a:focus-visible { outline:2px solid var(--ink); outline-offset:5px; }
.home-lead-strip { padding:15px 0; text-align:center; font-size:12px; line-height:1.6; }
.home-lead-strip a { display:inline-flex; align-items:baseline; justify-content:center; flex-wrap:wrap; gap:0 7px; text-decoration:none; }
.home-lead-strip a:hover { text-decoration:underline; text-underline-offset:4px; }
.home-lead-context { color:var(--muted); }
.home-lead-strip a>[aria-hidden] { margin-left:8px; }
.home-banner { display:block; width:100%; height:clamp(220px,30vw,380px); object-fit:cover; object-position:50% 35%; background:#c0b29b; }
.home-pasture-banner { object-position:50% 53%; }
.home-hero { position:relative; display:grid; place-items:center; min-height:560px; height:100svh; color:#fffaf1; isolation:isolate; }
.home-hero>.home-pasture-banner { position:absolute; inset:0; z-index:-2; height:100%; object-position:50% 57%; }
.home-hero::before { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(18,22,15,.28),rgba(18,22,15,.26) 52%,rgba(18,22,15,.12)); pointer-events:none; }
.home-hero-intro { display:grid; grid-template-columns:1.2fr 1fr; gap:10%; align-items:center; padding:30px 0 36px; }
.home-hero h1,.home-main .home-workshop h2 { font-size:clamp(30px,3.4vw,46px); line-height:1.17; letter-spacing:-.055em; }
.home-hero-intro p { max-width:38ch; color:var(--muted); }
.home-hero .home-hero-intro { display:block; width:100%; padding:112px 24px; text-align:center; }
.home-hero h1 { font-size:clamp(34px,3.8vw,56px); line-height:1.2; }
.home-hero .home-hero-intro p { max-width:48ch; margin:22px auto 0; color:inherit; font-size:14px; }
.home-main .home-button { display:inline-flex; justify-content:space-between; align-items:center; gap:28px; min-height:48px; margin-top:20px; padding:12px 18px; border:1px solid var(--ink); background:var(--ink); color:var(--paper); font-size:13px; line-height:1.5; text-decoration:none; }
.home-button:hover { opacity:.8; }
.home-hero .home-button { margin-top:26px; padding:10px 24px; border-color:currentColor; background:transparent; color:inherit; }
.home-hero .home-button:hover { background:rgba(255,250,241,.12); opacity:1; }
.home-hero a:focus-visible { outline-color:currentColor; }
.home-section { padding:48px 0; border-top:1px solid var(--fine-line); }
.home-featured { padding:44px 0 28px; border-top:0; }
.home-featured .home-section-heading { margin-bottom:24px; padding:0 clamp(18px,2vw,32px); }
.home-featured h2 { font-size:clamp(23px,2.1vw,32px); letter-spacing:-.04em; }
.home-featured .home-section-heading>.home-text-link { font-size:11px; text-transform:uppercase; text-underline-offset:3px; }
.home-section-heading { display:flex; justify-content:space-between; align-items:center; gap:22px; margin-bottom:28px; }
.home-text-link { display:inline-flex; align-items:center; gap:16px; min-height:44px; font-size:13px; text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.home-section-heading>.home-text-link { flex-shrink:0; }
.home-editorial-title { display:flex; align-items:baseline; flex-wrap:wrap; gap:12px 28px; }
.home-section-label { font-size:11px; letter-spacing:.035em; text-transform:uppercase; color:var(--muted); }
.home-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:6px; }
.home-product { min-width:0; display:block; text-decoration:none; }
.home-product-image { overflow:hidden; background:#d6cbbb; }
.home-product-image img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; object-position:center; }
.home-product-caption,.home-story-caption { padding:14px 0 20px; text-align:left; }
.home-product:first-child .home-product-caption,.home-story:first-child .home-story-caption { padding-left:18px; }
.home-product-caption .home-product-category { margin:0 0 4px; color:var(--muted); font-size:10px; line-height:1.5; text-transform:uppercase; letter-spacing:.025em; }
.home-product-caption h3,.home-main .home-story h2 { font-size:14px; line-height:1.5; letter-spacing:-.015em; }
.home-product-caption p { margin-top:7px; font-size:13px; }
.home-product-caption p>span { font-size:11px; color:var(--muted); }
.home-product:hover h3 { text-decoration:underline; text-underline-offset:5px; }
.home-product-notes { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 24px; margin-top:14px; padding:0 clamp(18px,2vw,32px); }
.home-product-notes>p { font-size:12px; color:var(--muted); }
.home-customise { border-top:0; }
.home-customise-box { border:1px solid var(--line); }
.home-customise-box>.home-section-heading { margin:0; padding:28px; }
.home-customise h2 { max-width:23ch; }
.home-customise .home-button { margin-top:0; flex-shrink:0; }
.home-configurator { --sheet:var(--paper); display:grid; grid-template-columns:minmax(0,1.27fr) minmax(0,1fr); grid-template-areas:"drawing photo" "controls photo"; grid-template-rows:auto 1fr; align-items:stretch; gap:0; border-top:1px solid var(--fine-line); }
.home-demo-figure { grid-area:drawing; min-width:0; padding:20px 24px 8px; background:var(--sheet); }
.home-demo-figure figcaption { display:flex; justify-content:space-between; gap:16px; font-size:12px; }
.home-demo-figure figcaption>span { color:var(--muted); font-size:10px; }
.home-demo-drawing { position:relative; aspect-ratio:800/540; }
.home-demo-drawing svg { display:block; width:100%; height:100%; overflow:visible; }
[data-demo-geometry] path { stroke:var(--ink); stroke-width:1; stroke-linejoin:round; vector-effect:non-scaling-stroke; }
[data-demo-dimensions] { stroke:#939589; stroke-width:.6; fill:none; }
[data-demo-dimensions] path { vector-effect:non-scaling-stroke; }
.home-demo-tag { position:absolute; transform:translate(-50%,-50%); background:var(--sheet); padding:3px 5px; font-size:10px; line-height:1.2; white-space:nowrap; pointer-events:none; }
.home-demo-panel { grid-area:controls; min-width:0; display:flex; flex-direction:column; justify-content:center; padding:0 28px 24px; border-left:0; }
.home-demo-caption { min-height:24px; margin-bottom:20px!important; font-size:13px; }
.home-demo-axis { padding:14px 0; }
.home-demo-value { display:flex; justify-content:space-between; align-items:baseline; gap:16px; font-size:12px; }
.home-demo-value>span:last-child { font-size:21px; font-variant-numeric:tabular-nums; letter-spacing:-.04em; }
.home-demo-value small { color:var(--muted); font-size:10px; letter-spacing:0; }
.home-demo-track { position:relative; height:1px; margin:17px 7px 11px; background:var(--fine-line); }
.home-demo-track::before { content:""; position:absolute; inset:0 auto 0 0; width:var(--progress); background:var(--ink); }
.home-demo-track>span { position:absolute; top:50%; left:var(--progress); transform:translate(-50%,-50%); width:11px; height:11px; border:1px solid var(--ink); border-radius:50%; background:var(--paper); }
.home-demo-limits { display:flex; justify-content:space-between; color:var(--muted); font-size:9px; }
[data-active-axis="length"] [data-demo-axis="length"] .home-demo-track>span,[data-active-axis="width"] [data-demo-axis="width"] .home-demo-track>span,[data-active-axis="height"] [data-demo-axis="height"] .home-demo-track>span { background:var(--ink); }
.home-demo-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:8px 16px; margin-top:24px; padding-top:12px; border-top:1px solid var(--fine-line); color:var(--muted); font-size:10px; }
 .home-demo-play { position:absolute; z-index:2; left:50%; top:50%; transform:translate(-50%,-50%); width:48px; height:44px; padding:0; border:1px solid var(--ink); background:color-mix(in srgb,var(--paper) 88%,transparent); color:var(--ink); cursor:pointer; font-size:15px; }
.home-demo-play:not([hidden]) { display:grid; place-items:center; }
.home-demo-play:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.home-demo-play:hover { background:var(--paper); }
.home-stories { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:6px; padding:32px 0 40px; border-top:0; }
.home-story { min-width:0; }
.home-story>a { display:block; text-decoration:none; }
.home-story img { display:block; width:100%; height:auto; aspect-ratio:4/5; object-fit:cover; }
.home-story img[src$="hand-made.jpg"] { object-position:50% 60%; }
.home-story-caption p { min-height:3.3em; margin-top:7px; font-size:13px; line-height:1.65; color:var(--muted); }
.home-story-link { display:inline-flex; align-items:center; min-height:44px; font-size:11px; text-transform:uppercase; text-decoration:underline; text-underline-offset:4px; }
.home-story>a:hover h2 { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.home-film { position:relative; width:100%; background:#292a25; }
.home-film video { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; }
.home-film button { position:absolute; right:clamp(12px,2vw,28px); bottom:clamp(12px,2vw,28px); min-height:44px; padding:10px 16px; border:1px solid rgba(255,250,241,.7); background:rgba(25,28,20,.72); color:#fffaf1; font-size:12px; cursor:pointer; }
.home-film button:hover { background:rgba(25,28,20,.9); }
.home-film button:focus-visible { outline:2px solid #fffaf1; outline-offset:4px; }
.home-commercial { padding:36px 0 48px; border-top:0; }
.home-commercial-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2.65fr); gap:28px clamp(18px,5.6vw,88px); }
.home-commercial-photo { min-width:0; }
.home-commercial-photo a { display:block; }
.home-commercial-photo img { display:block; width:100%; height:auto; }
.home-commercial-photo--main { position:relative; }
.home-commercial-photo--main a { position:absolute; inset:0; }
.home-commercial-photo--main img { height:100%; object-fit:cover; object-position:50% 74%; }
.home-commercial-copy { grid-column:2; padding-right:clamp(18px,3.5vw,56px); font-size:13px; line-height:1.65; }
.home-main .home-commercial-copy h2 { max-width:24ch; margin-bottom:14px; font-size:clamp(22px,2.3vw,32px); }
.home-commercial-copy>p { max-width:48ch; color:var(--muted); }
.home-commercial-copy .home-text-link { margin-top:12px; font-size:11px; text-transform:uppercase; }
.home-workshop { padding-bottom:0; }
.home-customise,.home-workshop>.home-hero-intro,.home-footer { width:calc(100% - 112px); max-width:1328px; margin-left:auto; margin-right:auto; }
.home-workshop-address { font-style:normal; font-size:12px; line-height:1.75; margin-top:16px; }
.home-footer { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 24px; padding:20px 0 0; border-top:1px solid var(--fine-line); color:var(--muted); font-size:11px; line-height:1.5; }
.home-footer nav { display:flex; flex-wrap:wrap; gap:0 22px; }
.home-footer a { display:inline-flex; align-items:center; min-height:44px; text-decoration:none; }
.home-footer a:hover { text-decoration:underline; text-underline-offset:4px; }
@media(max-width:1000px) and (min-width:761px) {
 .home-hero-intro { gap:6%; }
 .home-hero h1,.home-main .home-workshop h2 { font-size:32px; }
 .home-product-grid { gap:6px; }
}
@media(max-width:760px) {
 .home-main { font-size:14px; }
 .home-lead-strip { padding:12px 0; font-size:11px; }
 .home-lead-context { flex-basis:100%; order:2; font-size:10px; }
 .home-lead-strip a>[aria-hidden] { margin-left:3px; }
 .home-banner { height:clamp(150px,44vw,230px); object-position:50% 40%; }
 .home-pasture-banner { object-position:50% 65%; }
 .home-hero-intro { grid-template-columns:1fr; gap:16px; padding:23px 0 28px; }
 .home-hero h1,.home-main .home-workshop h2 { font-size:clamp(27px,6.8vw,37px); }
 .home-hero-intro p { max-width:39ch; }
 .home-main .home-button { margin-top:18px; font-size:12px; }
 .home-section { padding:34px 0; }
 .home-featured { padding:28px 0; }
 .home-stories { grid-template-columns:1fr; gap:28px; padding:10px 0 34px; }
 .home-story-caption p { min-height:0; font-size:12px; }
 .home-featured .home-section-heading { display:flex; gap:12px; align-items:center; margin-bottom:18px; }
 .home-featured .home-section-heading>.home-text-link { margin:0; }
 .home-main .home-featured h2 { font-size:clamp(18px,5.4vw,22px); }
 .home-workshop { padding-bottom:0; }
 .home-section-heading { display:block; margin-bottom:21px; }
 .home-section-heading>.home-text-link { margin-top:6px; }
 .home-editorial-title { display:block; }
 .home-editorial-title .home-section-label { margin-bottom:10px; }
 .home-main h2 { font-size:27px; }
 .home-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px 6px; }
 .home-product-caption,.home-story-caption { padding:11px 0 0; }
 .home-product:nth-child(odd) .home-product-caption,.home-story .home-story-caption { padding-left:18px; }
 .home-product-caption h3,.home-main .home-story h2 { font-size:12px; }
 .home-product-caption p { font-size:12px; }
 .home-product-notes { margin-top:12px; }
 .home-product-notes>p { font-size:11px; }
 .home-commercial { padding:24px 0 34px; }
 .home-commercial-layout { row-gap:20px; }
 .home-commercial-copy { padding-right:18px; font-size:12px; }
 .home-main .home-commercial-copy h2 { font-size:22px; margin-bottom:12px; }
 .home-commercial-copy .home-text-link { margin-top:8px; font-size:10px; }
 .home-footer { display:block; padding-top:22px; }
 .home-footer nav { margin-top:8px; gap:0 20px; }
 [data-site-layout].home-page .masthead { min-height:76px; padding:14px max(18px,env(safe-area-inset-right)) 14px max(18px,env(safe-area-inset-left)); }
 [data-site-layout].home-page .masthead .brand-symbol { width:30px; height:30px; }
 .home-hero .home-hero-intro { padding:110px 22px; }
 .home-hero h1 { font-size:clamp(29px,7.4vw,42px); }
 .home-hero .home-hero-intro p { max-width:31ch; font-size:13px; margin-top:20px; }
 .home-hero .home-button { margin-top:24px; }
 .home-hero>.home-pasture-banner { object-position:57% center; }
 .home-customise,.home-workshop>.home-hero-intro,.home-footer { width:calc(100% - 36px); }
 .home-customise-box>.home-section-heading { padding:22px 16px; }
 .home-configurator { grid-template-columns:1fr; grid-template-areas:"drawing" "controls" "photo"; grid-template-rows:auto; gap:0; }
 .home-demo-figure { padding:16px 12px 4px; }
 .home-demo-figure figcaption { font-size:11px; }
 .home-demo-tag { font-size:8px; padding:2px 3px; }
 .home-demo-panel { padding:20px 16px 12px; border-left:0; border-top:1px solid var(--fine-line); }
 .home-demo-caption { margin-bottom:10px!important; }
 .home-demo-axis { padding:10px 0; }
 .home-demo-footer { margin-top:14px; }
}
@media(prefers-reduced-motion:no-preference) {
 .home-button { transition:opacity .15s ease; }
}

.home-products-menu .home-category-heading {font-weight:600;border-top:1px solid var(--fine-line);}
.home-products-menu .home-category-child {padding-left:14px!important;}

.home-demo-photo { grid-area:photo; position:relative; margin:0; min-width:0; min-height:0; border-left:1px solid var(--fine-line); overflow:hidden; }
.home-demo-photo img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:center; display:block; }
@media(min-width:761px) {
 .home-demo-axis { display:grid; grid-template-columns:70px minmax(0,1fr) 105px; column-gap:16px; align-items:center; padding:12px 0; }
 .home-demo-value { display:contents; }
 .home-demo-value>span:first-child { grid-column:1; grid-row:1; font-size:12px; }
 .home-demo-value>span:last-child { grid-column:3; grid-row:1; text-align:right; }
 .home-demo-track { grid-column:2; grid-row:1; margin:12px 7px; }
 .home-demo-limits { grid-column:2; grid-row:2; }
 .home-demo-caption { margin-bottom:4px!important; }
}
@media(max-width:760px) {
 .home-demo-photo { border-left:0; border-top:1px solid var(--fine-line); aspect-ratio:1024/1271; }
}
