/* Local SEO variant. Existing palette, typefaces and photography are retained. */
.seo-hero { min-height:clamp(40rem,86svh,57rem); }
.seo-hero .home-hero__inner { padding-top:calc(var(--header-height) + 5rem); padding-bottom:3.5rem; }
.seo-hero .home-hero__copy { max-width:53rem; margin-bottom:1.8rem; animation:none; }
.seo-hero .home-hero__copy h1 { max-width:none; font-size:clamp(2.8rem,5.8vw,5.65rem); line-height:1.04; letter-spacing:-.045em; }
.seo-hero .home-hero__copy .seo-hero__lead { max-width:39rem; margin-top:1.4rem; color:#f3efe7; font-size:clamp(.95rem,1.2vw,1.06rem); line-height:1.7; }
.seo-hero .home-hero__copy .seo-hero__motto { margin-top:1.2rem; color:#d9cdbd; font-size:.92rem; letter-spacing:.02em; }
.seo-actions { display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.seo-hero__secondary { min-height:3.5rem; background:#221b1640; border:1px solid #ffffff8c; color:white; }
.seo-hero__secondary:hover { background:#ffffff20; }
.seo-section { width:var(--content); margin:0 auto; padding-block:clamp(3.5rem,7vw,7rem); }
.seo-section h2,.seo-individual h2,.seo-request h2 { font:400 clamp(2rem,4.2vw,4rem)/1.08 var(--font-display); letter-spacing:-.045em; margin:.8rem 0 1.5rem; }
.seo-category-intro { max-width:38rem; margin:1.25rem 0 0; color:var(--ink-soft); line-height:1.7; }
.home-category__title { margin:0; }
.seo-category-links { display:flex; flex-wrap:wrap; gap:.75rem 2rem; margin-top:1.75rem; }
.seo-category-links a { min-height:2.75rem; display:inline-flex; align-items:center; gap:.5rem; border-bottom:1px solid var(--line); font-size:.9rem; }
.seo-category-links a:hover,.seo-text-link:hover { color:var(--brown); }
.seo-individual { width:var(--content); margin:0 auto; padding-block:clamp(2rem,4vw,4rem) clamp(4rem,7vw,7rem); display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:clamp(2rem,6vw,6rem); }
.seo-individual__photo { display:block; overflow:hidden; border-radius:1.15rem; aspect-ratio:1.1; }
.seo-individual__photo img { width:100%; height:100%; object-fit:cover; }
.seo-individual__copy p { max-width:34rem; margin-bottom:2rem; line-height:1.8; color:var(--ink-soft); }
.seo-individual h2 { max-width:13ch; }
.seo-text-link { display:inline-flex; align-items:center; min-height:2.75rem; font-size:.85rem; text-decoration:underline; text-underline-offset:5px; }
.home-work__link { display:block; height:100%; }
.home-work__link:focus-visible { outline:2px solid var(--brown); outline-offset:5px; border-radius:.5rem; }
.home-work h3 { margin-block:.85rem .5rem; }
.home-work p { line-height:1.6; }
.seo-production { padding-top:clamp(3.5rem,7vw,7rem); }
.seo-production__photos { display:grid; grid-template-columns:1.3fr 1fr; gap:1.5rem; margin-top:3rem; }
.seo-production__photos figure { margin:0; }
.seo-production__photos img { width:100%; height:clamp(22rem,38vw,36rem); object-fit:cover; border-radius:1rem; }
.seo-production__photos figure:first-child img { object-position:center 40%; }
.seo-production__photos figcaption { margin-top:.9rem; color:var(--ink-soft); font-size:.78rem; }
.seo-steps { border-top:1px solid var(--line); }
.seo-steps ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:2rem; list-style:none; padding:0; margin:3rem 0 0; }
.seo-steps li { border-top:1px solid var(--line); padding-top:1.5rem; }
.seo-steps li>span { font-size:.75rem; color:var(--brown); }
.seo-steps h3 { margin:1.5rem 0 .75rem; font-size:1.17rem; font-weight:500; line-height:1.3; }
.seo-steps li p { font-size:.9rem; line-height:1.7; color:var(--ink-soft); }
.seo-faq { display:grid; grid-template-columns:1fr 1.2fr; gap:clamp(2rem,7vw,7rem); }
.seo-faq h2 { max-width:12ch; }
.seo-faq>div>p { color:var(--ink-soft); line-height:1.7; }
.seo-faq details { border-top:1px solid var(--line); }
.seo-faq details:last-child { border-bottom:1px solid var(--line); }
.seo-faq summary { display:flex; justify-content:space-between; align-items:center; gap:1rem; list-style:none; cursor:pointer; padding:1.4rem 0; font-size:1rem; line-height:1.5; }
.seo-faq summary::-webkit-details-marker { display:none; }
.seo-faq summary>span { font-size:1.5rem; font-weight:300; flex:none; }
.seo-faq details[open] summary>span { transform:rotate(45deg); }
.seo-faq details p { margin:0 0 1.5rem; color:var(--ink-soft); line-height:1.75; font-size:.92rem; }
.seo-request { background:#e8e3db; padding:clamp(3.5rem,7vw,7rem) 0; scroll-margin-top:calc(var(--header-height) + 1rem); }
.seo-request__inner { width:var(--content); margin:auto; max-width:52rem; text-align:center; }
.seo-request p { max-width:40rem; margin:0 auto 2rem; line-height:1.8; color:var(--ink-soft); }
.seo-request small { display:block; max-width:30rem; margin:1.2rem auto 0; font-size:.75rem; line-height:1.6; color:var(--ink-soft); }
.seo-request .button svg { width:1.2rem; }
.seo-detail { padding-top:calc(var(--header-height) + 2rem); }
.seo-breadcrumb { display:flex; flex-wrap:wrap; gap:.5rem 1rem; width:var(--content); margin:0 auto 2rem; font-size:.78rem; line-height:1.8; color:var(--ink-soft); }
.seo-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.seo-detail__heading { width:var(--content); margin:0 auto 3rem; }
.seo-detail__heading h1 { max-width:20ch; font:400 clamp(2.3rem,5vw,5rem)/1.05 var(--font-display); letter-spacing:-.04em; margin:1rem 0 1.5rem; }
.seo-detail__heading p { max-width:46rem; line-height:1.8; color:var(--ink-soft); }
.seo-work-gallery { width:var(--content); margin:auto; display:grid; gap:1.5rem; }
.seo-work-gallery figure { margin:0; }
.seo-work-gallery img { width:100%; height:auto; max-height:76svh; object-fit:contain; background:#e9e5dd; border-radius:1rem; }
.seo-work-gallery figcaption { margin:.75rem 0 0; font-size:.8rem; color:var(--ink-soft); }
.seo-detail__body { width:var(--content); max-width:50rem; margin:clamp(3rem,6vw,6rem) auto; }
.seo-detail__body h2,.seo-related h2 { font:400 clamp(1.9rem,3vw,3rem)/1.15 var(--font-display); letter-spacing:-.035em; margin:0 0 1.5rem; }
.seo-detail__body p { margin:0 0 1.25rem; line-height:1.8; color:var(--ink-soft); }
.seo-detail__body>.button { margin:1rem 1rem 0 0; }
.seo-related { width:var(--content); margin:4rem auto; }
.seo-related>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.seo-related img { width:100%; aspect-ratio:1; object-fit:cover; border-radius:.9rem; }
.seo-related h3 { font-weight:500; font-size:1rem; margin-top:1rem; line-height:1.5; }
.seo-kitchen-gallery { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; width:var(--content); margin:auto; }
.seo-kitchen-gallery figure { margin:0; }
.seo-kitchen-gallery img { width:100%; height:clamp(20rem,42vw,40rem); object-fit:cover; border-radius:1rem; }
.seo-kitchen-gallery figcaption { font-size:.8rem; color:var(--ink-soft); padding-top:.75rem; }
.works-page__grid>figure { margin:0; min-width:0; }
.works-page__grid figcaption { padding:1rem .25rem 1.5rem; }
.works-page__grid figcaption h2 { font:400 1.2rem/1.35 var(--font-display); margin:0 0 .5rem; letter-spacing:-.015em; }
.seo-catalog-intro { max-width:45rem; margin-top:1.5rem; font-size:1rem; line-height:1.7; color:var(--ink-soft); }
.catalog-page>.seo-category-links { margin-bottom:2rem; }
.product-detail__media>img { width:100%; height:auto; max-height:75svh; object-fit:contain; }
@media(min-width:1000px) { .seo-hero .home-hero__inner { padding-top:calc(var(--header-height) + 4rem); } }
@media(max-width:800px) {
 .seo-hero { min-height:44rem; }
 .seo-hero .home-hero__inner { padding-top:calc(var(--header-height) + 4rem); padding-bottom:3rem; }
 .seo-hero .home-hero__copy h1 { font-size:clamp(2.45rem,6.7vw,4.3rem); line-height:1.08; }
 .seo-hero .home-hero__copy .eyebrow { font-size:.62rem; letter-spacing:.1em; }
 .seo-individual { grid-template-columns:1fr; gap:2rem; }
 .seo-individual__photo { aspect-ratio:1.5; }
 .seo-individual h2 { max-width:20ch; }
 .seo-steps ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .seo-faq { grid-template-columns:1fr; gap:1.5rem; }
 .seo-faq h2 { max-width:20ch; }
 .seo-production__photos { gap:1rem; }
 .seo-production__photos img { height:23rem; }
 .seo-kitchen-gallery { grid-template-columns:1fr; }
 .seo-kitchen-gallery img { height:auto; }
 .seo-detail__body { max-width:none; }
}
@media(max-width:480px) {
 .seo-hero { min-height:43rem; }
 .seo-hero .home-hero__inner { padding-top:calc(var(--header-height) + 3.8rem); padding-bottom:2.5rem; }
 .seo-hero .home-hero__copy h1 { font-size:clamp(2.08rem,8vw,3rem); letter-spacing:-.045em; }
 .seo-hero .home-hero__copy .seo-hero__lead { font-size:.9rem; line-height:1.65; }
 .seo-hero .home-hero__copy .seo-hero__motto { font-size:.8rem; }
 .seo-hero .seo-actions { align-items:stretch; gap:.75rem; }
 .seo-hero .button { width:100%; justify-content:space-between; min-height:3.15rem; font-size:.85rem; }
 .seo-hero .home-hero__media::after { background:linear-gradient(90deg,#16120fe8,#16120f88),linear-gradient(0deg,#16120f88,transparent); }
 .seo-category-links { gap:.5rem 1rem; }
 .seo-category-links a { font-size:.8rem; }
 .seo-steps ol { gap:1.5rem 1rem; margin-top:2rem; }
 .seo-steps h3 { font-size:1rem; }
 .seo-steps li p { font-size:.8rem; }
 .seo-production__photos { grid-template-columns:1fr 1fr; gap:.75rem; }
 .seo-production__photos img { height:16rem; }
 .seo-production__photos figcaption { font-size:.68rem; line-height:1.5; }
 .seo-related>div { grid-template-columns:1fr; }
 .seo-related img { aspect-ratio:1.3; }
 .seo-work-gallery img { max-height:none; }
 .seo-faq summary { font-size:.9rem; padding-block:1.15rem; }
 .seo-request__inner { text-align:left; }
 .seo-request p,.seo-request small { margin-left:0; }
 .seo-request .button { width:100%; justify-content:space-between; }
}

/* Keep the offer and signature visible on small screens as well. */
.seo-hero .home-hero__copy p { display:block; }

/* Account for the browser scrollbar at the narrowest supported width. */
body { min-width:0; }
@media(max-width:480px) { .seo-hero .seo-actions>.button { width:100%; } .seo-hero .home-hero__copy h1 { font-size:clamp(1.95rem,8vw,3rem); } }

@media(max-width:480px) { .seo-hero .seo-actions>.button { min-width:100%; max-width:none; } }

/* Preserve the published theme in the new SEO sections. */
[data-appearance="dark"] .seo-request { background:var(--cream-deep); }
.home-work__link>p { margin:0; font-size:.8rem; line-height:1.6; color:var(--ink-soft); }
[data-appearance="dark"] .seo-work-gallery img { background:#e9e4dc; }
