/* Consistent editorial rhythm and accessible interaction. */
:root{--section-space:clamp(76px,8vw,120px)}
body{-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
main section[id]{scroll-margin-top:96px}
a:focus-visible,button:focus-visible{outline:2px solid #7c906f;outline-offset:5px}
header{box-shadow:0 4px 24px #293e3005;backdrop-filter:blur(16px)}
.brand{gap:10px}.brand-type{letter-spacing:.055em}
.eyebrow{display:inline-block;font-weight:600;letter-spacing:.18em}
.section-title{margin-bottom:24px;line-height:1.55}
.section-head{align-items:end}.section-head .subcopy{line-height:2;max-width:30em}
.values,.stockists,.guide,.maintenance,.access,.contact{padding-block:var(--section-space)}
.about-story{padding-block:var(--section-space);column-gap:7%}
.about-heading{align-self:start}.about-body{padding-left:clamp(28px,4vw,56px)}
.story-part+.story-part{margin-top:48px;padding-top:40px;border-top:1px solid var(--line)}
.story-era{letter-spacing:.1em;font-size:11px}
.story-part h3{font-size:24px;line-height:1.65}
.story-milestone{position:relative;padding:24px 0 24px 22px;border-bottom:0;border-left:1px solid #cad2c4}
.story-milestone:before{content:"";position:absolute;left:-4px;top:35px;width:7px;height:7px;border-radius:50%;background:#778b71;box-shadow:0 0 0 5px #fffdf8}
.story-milestone>b{font-size:23px}.story-milestone p{font-size:14px;line-height:1.95}
.gallery-grid{gap:clamp(30px,5vw,72px)}
.gallery-collage{gap:4px;background:var(--paper);border-radius:18px 18px 48px 18px;box-shadow:0 18px 42px #324b3510}
.gallery-product-grid{gap:36px 26px}.gallery-product-grid img{border-radius:16px}
.gallery-product-grid figcaption{padding-top:12px;margin-top:10px;border-top:1px solid #dddcd2;font-size:13px;letter-spacing:.035em}
.category .info{padding-top:22px}.category h3{font-size:25px}.category .image-frame{border-radius:16px}
.category:nth-child(2) .image-frame,.category:nth-child(3) .image-frame{border-radius:16px}
.brand-grid{gap:12px}.brand-card{border-radius:10px;background:#ffffffd9}
.maintenance-services{margin-block:36px}.maintenance-services h3{font-size:21px}
.access-details>div{padding-block:24px}.shop-entrance{width:100%}.shop-entrance img{border-radius:18px}
.instagram-panel{border-radius:18px;padding:clamp(28px,4vw,46px)}
.btn{min-height:48px}.text-link{text-underline-offset:5px}
@media(hover:hover) and (prefers-reduced-motion:no-preference){.category img{transition:transform .65s cubic-bezier(.2,.65,.3,1)}.category:hover img{transform:scale(1.035)}.navlinks a:not(.nav-cta):hover{color:#7a8c6b}}
@media(min-width:1000px){.about-heading{position:sticky;top:112px}.about-story .about-body p{font-size:15px;line-height:2.15}}
@media(max-width:800px){.about-body{padding-left:0}.about-story{row-gap:0}}
@media(max-width:640px){
 .wrap{width:calc(100% - 40px)}.brand{gap:7px}.shop-logo{width:44px;height:44px}.brand-type{font-size:18px}.brand-type small{font-size:7px}.brand-company{font-size:7px}
 .menu-button{min-height:44px;padding:9px 14px}.navlinks{max-height:calc(100svh - 68px);overflow-y:auto}
 main section[id]{scroll-margin-top:84px}
 .about-story{width:100%;padding:72px 24px}.about-story .section-title{font-size:32px}.about-story .about-body{margin-top:42px}.story-part h3{font-size:22px}.story-part+.story-part{margin-top:34px;padding-top:32px}
 .story-milestone{padding-block:20px}.story-milestone:before{top:31px}.story-milestone p{font-size:13px}
 .section-title{margin-bottom:20px}.section-head{gap:18px}.section-head .subcopy{font-size:14px}
 .gallery-product-grid{gap:28px 14px}.gallery-product-grid img{border-radius:12px}.gallery-product-grid figcaption{font-size:12px;line-height:1.8;padding-top:10px}
 .gallery-collage{border-bottom-right-radius:32px;gap:3px}.collection-grid{gap:30px}
 .category .info{padding-top:17px}.category h3{font-size:23px}.category p{font-size:13px}
 .brand-card{height:112px;padding:13px}.brand-grid{gap:8px}
 .room-caption strong{font-size:24px}.room-caption small{font-size:10px}
 .access-details>div{padding-block:20px}.contact .section-title{font-size:30px}.instagram-panel{margin-top:24px}
}
@media(max-width:360px){.brand-type{font-size:16px}.shop-logo{width:38px;height:38px}.brand{gap:5px}.menu-button{padding-inline:10px}.about-story{padding-inline:20px}}

/* A lower, calmer panorama with a longer viewing interval. */
.scroll-linked .room-view{max-height:52svh}
@media(max-width:640px){.scroll-linked .room-view{max-height:50svh}}
