/* A legibility pass; keep the established palette, photography and menu. */
body.brand-home .hero-description{font-size:16px;line-height:2;letter-spacing:.035em;left:5%;top:155px;max-width:27em;padding:14px 20px 15px 18px;isolation:isolate}
body.brand-home .hero-description:before{content:'';position:absolute;inset:0 -25px 0 0;z-index:-1;background:linear-gradient(90deg,#211a1766,#211a1733 75%,transparent);border-radius:2px;pointer-events:none}
.hero-description>span{display:block}.hero-description>span+span{margin-top:9px}.hero-copy-break{display:none}
body .shop-section h2{overflow-wrap:normal;word-break:normal;text-wrap:balance}
body .business dl>div{grid-template-columns:minmax(110px,8em) minmax(0,1fr);column-gap:18px}
body .business dt{white-space:nowrap}
body .business dd{min-width:0;overflow-wrap:anywhere}
/* Visible reading points, rather than an accordion promising unavailable detail. */
.guide-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px}
.guide-points>article{border-top:1px solid #c7bbb0;padding-top:24px}
.guide-points .eyebrow{color:var(--accent);font-size:11px;letter-spacing:.1em;line-height:1.6}
.guide-points h3{font:400 clamp(21px,1.8vw,26px)/1.7 var(--mincho);letter-spacing:.035em;margin:15px 0 16px}
.guide-points article>p:last-child{font-size:15px;line-height:2}
.guide-destinations{display:flex;align-items:center;justify-content:space-between;gap:30px;border-top:1px solid #c7bbb0;margin-top:45px;padding-top:25px}
.guide-destinations>p{font-size:13px;white-space:nowrap}
.guide-product-links{display:flex;flex-wrap:wrap;gap:12px 28px}
.guide-product-links button{display:inline-flex;align-items:center;gap:20px;min-height:44px;font:400 16px/1.5 var(--english);color:var(--accent);border-bottom:1px solid #6d29365c;padding:7px 0}
.guide-product-links button:hover{border-bottom-color:var(--accent);background:#6d29360a}
/* Use the actual section beneath each header control, independently of scroll distance. */
body.brand-home .header .brand .header-logo-dark,body.about-page .header .brand .header-logo-dark{visibility:visible}
body.brand-home .header .brand .header-logo-white,body.about-page .header .brand .header-logo-white{visibility:hidden}
body.brand-home .header.has-light-logo .brand .header-logo-dark,body.about-page .header.has-light-logo .brand .header-logo-dark{visibility:hidden}
body.brand-home .header.has-light-logo .brand .header-logo-white,body.about-page .header.has-light-logo .brand .header-logo-white{visibility:visible;filter:drop-shadow(0 1px 3px #231c1940)}
body .header .menu-toggle{color:var(--ink)}
body .header.has-light-menu:not(.menu-open) .menu-toggle{color:white;filter:drop-shadow(0 1px 3px #231c1980)}
body .header.menu-open .menu-toggle{color:#59453d;filter:none}
body .header.menu-open .brand>img{visibility:hidden!important}
@media(max-width:1000px){.guide-points{gap:25px}.guide-destinations{align-items:start;flex-direction:column;gap:16px}}
@media(max-width:700px){
 body.brand-home .hero-description{font-size:15px;line-height:1.95;top:105px;left:7%;right:7%;max-width:none;padding:11px 14px}
 .hero-copy-break{display:block}
 body.brand-home .hero-description:before{inset:0 -10px 0 0}
 body.brand-home .hero h1{top:40%}
 body .business dl>div{grid-template-columns:7.5em minmax(0,1fr);column-gap:12px;font-size:13px;align-items:start}
 .guide-points{grid-template-columns:1fr;gap:26px}
 .guide-points>article{padding-top:20px}
 .guide-points h3{font-size:23px;margin:10px 0 12px}
 .guide-points article>p:last-child{font-size:16px;max-width:30em}
 .guide-destinations{margin-top:32px;padding-top:23px}
 .guide-product-links{width:100%;display:flex;flex-direction:column;gap:7px}
 .guide-product-links button{justify-content:space-between;min-height:48px}
 body .shop-section h2{white-space:nowrap;font-size:clamp(23px,6.1vw,28px);letter-spacing:.045em}
}

/* Fixed viewport height, without legacy minimum or maximum constraints. */
body.brand-home .hero,body.about-page .about-hero{height:100svh;min-height:0;max-height:none}
/* Restore the unboxed FV description and its previous typesetting. */
body.brand-home .hero-description{font-size:13px;line-height:2.1;letter-spacing:.06em;left:5%;right:auto;top:155px;max-width:none;padding:0;isolation:auto}
body.brand-home .hero-description:before{content:none}
/* Product actions are deliberately quieter than the full-width final CTA. */
body.brand-home .product-copy>.text-link{width:50%;min-width:220px;max-width:100%;padding:12px 18px;min-height:52px;font-size:12px;gap:18px}
/* A longer deceleration and smaller displacement, rather than a quick entrance. */
.motion-ready [data-motion]:not(.is-visible){opacity:0;transform:translateY(18px)}
.motion-ready [data-motion]{transition:opacity 1.25s ease var(--motion-delay,0ms),transform 1.65s cubic-bezier(.22,.61,.36,1) var(--motion-delay,0ms)}
.motion-ready .story-pictures figure[data-motion]{transition:opacity 1.5s ease var(--motion-delay,0ms),transform 1.85s cubic-bezier(.22,.61,.36,1) var(--motion-delay,0ms)}
@media(max-width:700px){
 body.brand-home .hero-description{font-size:12px;line-height:2.1;letter-spacing:.02em;top:112px;left:8%;right:5%;padding:0;max-width:none}
 body.brand-home .hero h1{top:30%}
 body.brand-home .product-copy>.text-link{width:fit-content;min-width:0;max-width:100%;gap:25px}
}
@media(prefers-reduced-motion:reduce){
 .motion-ready [data-motion]:not(.is-visible){opacity:1;transform:none}
 .motion-ready [data-motion],.motion-ready .story-pictures figure[data-motion]{transition:none}
}

/* FV: image and vertical copy first, a quieter signature and action below. */
body.brand-home .hero-description{top:21%;left:5%;font-size:14px;line-height:2.05}
body.brand-home .hero h1{right:7%;top:25%;font-size:clamp(28px,2.3vw,38px);line-height:1.95;letter-spacing:.12em}
body.brand-home .hero-signature{left:5%;bottom:8svh;width:clamp(240px,28vw,480px)}
body.brand-home .hero-copy .text-link.primary-action{left:auto;right:5%;bottom:8svh;min-width:0;width:250px;min-height:48px;padding:10px 0;border:0;border-bottom:1px solid #ffffff9c;border-radius:0;background:transparent;color:#fff;font-size:12px;letter-spacing:.045em;gap:20px}
body.brand-home .hero-copy .text-link.primary-action:hover{background:#ffffff12;border-color:#fff;color:#fff}
body.brand-home .hero-copy .text-link.primary-action .link-icon{width:15px;flex-basis:15px}
/* Variation is tied to content, not random directions. */
.motion-ready [data-motion]:not(.is-visible){opacity:0;transform:none}
.motion-ready [data-motion]{transition:opacity 1.3s ease var(--motion-delay,0ms),transform 1.75s cubic-bezier(.22,.61,.36,1) var(--motion-delay,0ms)}
.motion-ready [data-motion="heading"]:not(.is-visible){transform:translateY(8px)}
.motion-ready [data-motion="image"]:not(.is-visible){transform:none}
.motion-ready [data-motion="image"]>img{transform:scale(1);transition:transform 2s cubic-bezier(.22,.61,.36,1) var(--motion-delay,0ms)}
.motion-ready [data-motion="image"]:not(.is-visible)>img{transform:scale(1.045)}
.motion-ready [data-motion="detail"]:not(.is-visible){transform:translateX(-16px)}
.motion-ready .story-pictures figure[data-motion="detail"]{transition:opacity 1.5s ease var(--motion-delay,0ms),transform 1.9s cubic-bezier(.22,.61,.36,1) var(--motion-delay,0ms)}
@media(max-width:1000px) and (min-width:701px){
 body.brand-home .hero h1{font-size:30px;right:7%;top:29%}
 body.brand-home .hero-description{font-size:13px;top:19%}
 body.brand-home .hero-signature{width:31vw}
 body.brand-home .hero-copy .text-link.primary-action{width:225px}
}
@media(max-width:700px){
 body.brand-home .hero-description{left:8%;right:6%;top:105px;font-size:12px;line-height:2.1}
 body.brand-home .hero h1{right:9%;top:34%;font-size:24px;line-height:1.9}
 body.brand-home .hero-signature{left:8%;bottom:112px;width:48%;max-width:260px}
 body.brand-home .hero-copy .text-link.primary-action{left:8%;right:8%;bottom:28px;width:auto;min-height:48px;padding:10px 0}
 .motion-ready [data-motion="detail"]:not(.is-visible){transform:translateX(-10px)}
}
@media(max-height:600px) and (min-width:701px){
 body.brand-home .hero-description{top:24%;font-size:12px}
 body.brand-home .hero h1{top:21%;font-size:24px}
 body.brand-home .hero-signature{width:23vw;bottom:7svh}
 body.brand-home .hero-copy .text-link.primary-action{bottom:7svh}
}
@media(prefers-reduced-motion:reduce){
 .motion-ready [data-motion]:not(.is-visible){opacity:1;transform:none}
 .motion-ready [data-motion],.motion-ready .story-pictures figure[data-motion],.motion-ready [data-motion="image"]>img{transition:none}
 .motion-ready [data-motion="image"]:not(.is-visible)>img{transform:none}
}

/* Remove the photo mat; separate the overlapping layers with a warm, light shadow. */
body.brand-home .story-pictures .interlude-small{border:0;box-shadow:0 10px 26px rgba(151,125,96,.16),0 2px 6px rgba(151,125,96,.07)}
@media(min-width:1001px){
 body.brand-home .header{transition:opacity 1s ease,transform 1.25s cubic-bezier(.22,.61,.36,1),visibility 1s}
 body.brand-home .header:not(.is-ready){opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px)}
 body.brand-home .header.is-ready{opacity:1;visibility:visible;pointer-events:auto;transform:none}
}
@media(prefers-reduced-motion:reduce){body.brand-home .header{transition:none}body.brand-home .header:not(.is-ready){transform:none}}

/* Move only the desktop home FV vertical copy slightly to the left. */
@media(min-width:1001px){body.brand-home .hero h1{right:10%}}

/* HOME ending: quiet information, a short introduction, one photographic finale. */
body.brand-home .product-copy .product-description{font-size:15px;line-height:2.05;margin:0}
body.brand-home .quality{padding:65px 9%;background:#f4f0ec}
body.brand-home .quality .guide-heading{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:start;margin:0}
body.brand-home .quality h2{font-size:clamp(26px,2.3vw,34px);line-height:1.85}
.guide-summary>p:first-child{font-size:15px;line-height:2.05}
.guide-summary ul{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:9px 20px;font-size:12px;color:var(--accent)}
.guide-summary li{display:flex;align-items:center;gap:8px}
.guide-summary li:before{content:'';width:3px;height:3px;border-radius:50%;background:currentColor}
body.brand-home .adapt-entry{min-height:0;display:block;padding:95px 9% 105px;background:#fff;color:var(--ink);overflow:visible}
body.brand-home .adapt-entry:before,body.brand-home .adapt-entry:after{content:none}
body.brand-home .adapt-layout{display:grid;grid-template-columns:1fr 1fr;gap:10%;max-width:none;align-items:start}
body.brand-home .adapt-layout h2{margin:0;font-size:clamp(28px,2.8vw,42px);line-height:1.8}
body.brand-home .adapt-layout>div{max-width:none}
body.brand-home .adapt-layout>div>p{font-size:16px;line-height:2.1}
body.brand-home .adapt-layout .text-link{color:var(--accent);border:1px solid var(--action-border);background:transparent;margin-top:27px;min-width:240px}
body.brand-home .adapt-layout .text-link:hover{background:var(--accent);border-color:var(--accent);color:white}
body.brand-home .shop-section{position:relative;isolation:isolate;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:540px;padding:100px 9%;color:white;background:#776859;overflow:hidden}
body.brand-home .shop-section:before{content:'';position:absolute;inset:0;z-index:-2;background:url('assets/shared/oil-texture-v4.jpg') center 58%/cover no-repeat}
body.brand-home .shop-section:after{content:'';position:absolute;inset:0;z-index:-1;background:rgba(38,29,25,.46)}
body.brand-home .shop-section h2{font-size:clamp(29px,3vw,44px);line-height:1.85;white-space:normal;margin:0 0 22px}
body.brand-home .shop-section h2:before{content:none}
body.brand-home .shop-section>p{font-size:14px;line-height:1.9}
body.brand-home .shop-section .outline-link.primary-action{margin-top:32px;background:var(--accent);border-color:var(--accent);color:white;min-width:310px}
body.brand-home .shop-section .outline-link.primary-action:hover{background:white;border-color:white;color:var(--accent)}
@media(min-width:1700px){body.brand-home :is(.quality,.adapt-entry){padding-left:max(9%,calc((100% - 1400px)/2));padding-right:max(9%,calc((100% - 1400px)/2))}}
@media(max-width:700px){
 body.brand-home .product-copy .product-description{font-size:16px;line-height:2.05}
 body.brand-home .quality{padding:50px 8%}
 body.brand-home .quality .guide-heading{grid-template-columns:1fr;gap:24px}
 body.brand-home .quality h2{font-size:27px}
 .guide-summary>p:first-child{font-size:16px}
 .guide-summary ul{display:flex;flex-direction:column;gap:10px;margin-top:20px;font-size:13px}
 body.brand-home .adapt-entry{padding:65px 8% 75px}
 body.brand-home .adapt-layout{grid-template-columns:1fr;gap:25px}
 body.brand-home .adapt-layout h2{font-size:28px}
 body.brand-home .adapt-layout .text-link{width:100%;min-width:0}
 body.brand-home .shop-section{min-height:490px;padding:80px 8%}
 body.brand-home .shop-section h2{font-size:28px;white-space:normal}
 body.brand-home .shop-section>p{font-size:12px}
 body.brand-home .shop-section .outline-link.primary-action{width:100%;min-width:0;max-width:340px}
}

/* Guide restored to accessible native accordions; CTA shares the subpage component. */
.guide-accordion{margin-top:25px}body.brand-home .guide-accordion .guide-item summary strong{font-size:clamp(19px,1.7vw,23px)}body.brand-home .guide-accordion .guide-answer p{font-size:14px}@media(max-width:700px){body.brand-home .guide-accordion .guide-item summary strong{font-size:20px}body.brand-home .guide-accordion .guide-answer p{font-size:15px}}

body .header nav .menu-main>.menu-contact{font:400 clamp(20px,2.2vw,30px)/1.4 var(--english);letter-spacing:.045em;padding:5px 0;min-height:44px;width:fit-content;text-align:left}
.guide-item.is-animating{overflow:hidden}
.guide-item.is-closing summary i:after{transform:rotate(90deg)}
.guide-item summary i:after{transition:transform .4s ease}
@media(max-width:700px){body .header nav .menu-main>.menu-contact{font-size:23px;padding:3px 0}}
@media(prefers-reduced-motion:reduce){.guide-item summary i:after{transition:none}}

/* First-draft guide: the brief's copy and one restrained route to product detail. */
body.brand-home .quality .guide-detail-link{margin-top:25px;min-width:220px;width:fit-content}@media(max-width:700px){body.brand-home .quality .guide-detail-link{min-width:0;max-width:100%}}

/* Reference video: a soft diagonal veil reveals a stationary product photograph. */
.motion-ready [data-motion="product"]{transform:none;transition:opacity 1.6s ease var(--motion-delay,0ms)}
.motion-ready [data-motion="product"]:not(.is-visible){opacity:0;transform:none}
.motion-ready [data-motion="product"]>img,.motion-ready [data-motion="product"]:not(.is-visible)>img{transform:none;transition:none}
@supports ((mask-image:linear-gradient(135deg,#000,transparent)) or (-webkit-mask-image:linear-gradient(135deg,#000,transparent))){
 .motion-ready [data-motion="product"]{
  -webkit-mask-image:linear-gradient(135deg,#000 36%,transparent 58%);
  mask-image:linear-gradient(135deg,#000 36%,transparent 58%);
  -webkit-mask-size:300% 300%;mask-size:300% 300%;
  -webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  -webkit-mask-position:0% 0%;mask-position:0% 0%;
  transition:-webkit-mask-position 1.9s cubic-bezier(.22,.61,.36,1) var(--motion-delay,0ms),mask-position 1.9s cubic-bezier(.22,.61,.36,1) var(--motion-delay,0ms);
 }
 .motion-ready [data-motion="product"]:not(.is-visible){opacity:1;-webkit-mask-position:100% 100%;mask-position:100% 100%}
}
@media(prefers-reduced-motion:reduce){
 .motion-ready [data-motion="product"],.motion-ready [data-motion="product"]:not(.is-visible){opacity:1;transform:none;-webkit-mask-image:none;mask-image:none;transition:none}
}

/* Desktop: a right-half navigation panel; keep the page visible on the left. */
.menu-backdrop{display:none}
@media(min-width:1001px){
 body .menu-backdrop{display:block;position:fixed;inset:0 50% 0 0;height:100svh;background:rgba(48,40,34,.3);z-index:0;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .5s ease,visibility .5s}
 body .header.menu-open .menu-backdrop{opacity:1;visibility:visible;pointer-events:auto}
 body .header nav,body .header nav.is-open{left:50%;right:0;top:0;bottom:0;width:50%;padding:clamp(115px,14vh,155px) clamp(32px,5vw,96px) 42px;z-index:1;transform:translateX(20px)}
 body .header nav.is-open{transform:none}
 body .header nav .menu-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(24px,3.5vw,64px);max-width:none}
 body .header nav .menu-main{gap:clamp(14px,2.4vh,24px)}
 body .header nav .menu-main>a,body .header nav .menu-main>.menu-contact,body .header nav .menu-store>button{font-size:clamp(18px,1.55vw,27px);line-height:1.5;letter-spacing:.035em;gap:14px}
 body .header nav .menu-store>.menu-store-sub{font-size:15px;margin-top:17px}
 body .header nav .menu-brand{width:clamp(150px,13vw,230px);margin-top:clamp(45px,8vh,85px)}
 body .header nav .menu-store .link-icon{width:15px;flex-basis:15px}
}
@media(min-width:1001px) and (max-height:700px){
 body .header nav,body .header nav.is-open{padding-top:100px}
 body .header nav .menu-main{gap:10px}
 body .header nav .menu-brand{margin-top:35px;width:155px}
}
@media(prefers-reduced-motion:reduce){body .menu-backdrop{transition:none}body .header nav,body .header nav.is-open{transform:none}}

/* ADAPT. is a contained editorial image with one coherent copy column. */
body.brand-home .adapt-entry{padding:90px 9% 100px;background:#fff}
body.brand-home .adapt-layout{grid-template-columns:1.1fr 1fr;gap:9%;align-items:center}
.adapt-photo{aspect-ratio:4/3;overflow:hidden;margin:0;background:#eee6dc}
.adapt-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
body.brand-home .adapt-layout .adapt-copy{max-width:490px}
body.brand-home .adapt-layout h2{font-size:clamp(28px,2.6vw,39px);line-height:1.85;margin:0 0 26px}
body.brand-home .adapt-layout .adapt-copy>p{font-size:15px;line-height:2.1}
body.brand-home .adapt-layout .text-link{margin-top:28px;min-width:220px;width:fit-content}
@media(min-width:1700px){body.brand-home .adapt-entry{padding-left:max(9%,calc((100% - 1400px)/2));padding-right:max(9%,calc((100% - 1400px)/2))}}
@media(max-width:1000px) and (min-width:701px){body.brand-home .adapt-layout{gap:6%;grid-template-columns:1fr 1fr}body.brand-home .adapt-layout h2{font-size:28px}.adapt-photo{aspect-ratio:.9}}
@media(max-width:700px){
 body.brand-home .adapt-entry{padding:65px 8% 75px}
 body.brand-home .adapt-layout{grid-template-columns:1fr;gap:32px}
 .adapt-photo{aspect-ratio:4/3}
 body.brand-home .adapt-layout .adapt-copy{max-width:none}
 body.brand-home .adapt-layout h2{font-size:28px;margin-bottom:22px}
 body.brand-home .adapt-layout .adapt-copy>p{font-size:16px}
 body.brand-home .adapt-layout .text-link{min-width:0;width:fit-content;max-width:100%}
}

/* HOME FV: stationary fades in a deliberate reading order. */
body.brand-home .hero-image img,body.brand-home .hero-copy{animation:none;transform:none}
body.brand-home .hero-signature{transform:none;animation:fv-still-fade 1.4s ease 1.65s both}
body.brand-home .hero-description,body.brand-home .hero-copy .text-link.primary-action{transform:none;animation:fv-still-fade 1.4s ease 1.65s both}
body.brand-home .hero h1{transform:none;animation:fv-still-fade 1.4s ease .1s both}
@keyframes fv-still-fade{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){
 body.brand-home .hero-signature,body.brand-home .hero-description,body.brand-home .hero-copy .text-link.primary-action,body.brand-home .hero h1{animation:none;opacity:1}
}

/* HOME navigation becomes available as soon as scrolling begins. */
body.brand-home .header{transition:opacity 1s ease,transform 1.25s cubic-bezier(.22,.61,.36,1),visibility 1s}
body.brand-home .header:not(.is-ready){opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-8px)}
body.brand-home .header.is-ready{opacity:1;visibility:visible;pointer-events:auto;transform:none}
/* A full-bleed photographic pause between the ADAPT. story and business information. */
.about-interlude{position:relative;margin:0;width:100%;height:82svh;min-height:520px;max-height:1000px;overflow:hidden;background:#e9e2d9}
.about-interlude>img{position:absolute;left:0;top:-32%;width:100%;height:164%;max-width:none;object-fit:cover;object-position:center 55%;transform:translate3d(0,var(--parallax-y,0px),0);will-change:transform}
.about-interlude:after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,#231c1926,transparent 35%);pointer-events:none}
@media(max-width:700px){.about-interlude{height:68svh;min-height:380px;max-height:720px}.about-interlude>img{object-position:58% center}}
@media(prefers-reduced-motion:reduce){body.brand-home .header{transition:none;transform:none}.about-interlude>img{transform:none;will-change:auto}}

/* Keep the subpage English title at its original light weight. */
body.about-page .about-hero-title h1{font-weight:300}

/* Match all action hover colors to the CTA timing; preserve scroll reveal timing. */
:root{--action-hover-duration:.4s}
body :is(.text-link,.outline-link,.shop-link,.menu-main>a,.menu-main>button,.menu-store>button,.footer-nav>a,.footer-nav>button,.footer-bottom>button){transition:background-color var(--action-hover-duration) ease,border-color var(--action-hover-duration) ease,color var(--action-hover-duration) ease}
html.motion-ready body :is(.text-link,.outline-link)[data-motion]{transition:opacity 1.3s ease var(--motion-delay,0ms),transform 1.75s cubic-bezier(.22,.61,.36,1) var(--motion-delay,0ms),background-color var(--action-hover-duration) ease,border-color var(--action-hover-duration) ease,color var(--action-hover-duration) ease}
@media(prefers-reduced-motion:reduce){body :is(.text-link,.outline-link,.shop-link,.menu-main>a,.menu-main>button,.menu-store>button,.footer-nav>a,.footer-nav>button,.footer-bottom>button),html.motion-ready body :is(.text-link,.outline-link)[data-motion]{transition:none}}

/* HOME FV store link: white to brand red on hover. */
body.brand-home .hero-copy .text-link.primary-action:hover{color:var(--accent)}

body.brand-home .hero-copy .text-link.primary-action:hover{color:var(--accent);border-color:var(--accent);background:transparent}

/* Mobile rhythm: 8px units, shared section gutters, and a three-row FV grid. */
@media(max-width:700px){
 body{--mobile-gutter:clamp(24px,8vw,40px);--mobile-section-space:clamp(64px,18vw,80px)}
 body.brand-home .hero-copy{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;gap:16px;inset:0;padding:clamp(40px,7svh,64px) var(--mobile-gutter) 28px}
 body.brand-home .hero-description{position:relative;grid-column:1;grid-row:1;top:auto;left:auto;right:auto;margin:0;font-size:12px;line-height:2.1}
 body.brand-home .hero h1{position:relative;grid-column:1;grid-row:2;top:auto;right:auto;align-self:center;justify-self:end;margin:0;font-size:clamp(20px,3svh,24px);line-height:1.9;letter-spacing:.12em}
 body.brand-home .hero-copy .text-link.primary-action{position:relative;grid-column:1;grid-row:3;left:auto;right:auto;bottom:auto;width:100%;margin:0}
 body.brand-home :is(.story,.products,.quality,.adapt-entry),body.about-page :is(.about-story,.business){padding:var(--mobile-section-space) var(--mobile-gutter)}
 body.about-page .business{padding-bottom:calc(var(--mobile-section-space) + 16px)}
 body.brand-home .products .section-heading{margin-bottom:32px}
 body.brand-home .product-row{gap:24px;padding:32px 0 40px}
 body.brand-home .product-row:last-child{padding-bottom:0}
 body.brand-home .quality .guide-heading{gap:24px}
 body.brand-home .adapt-layout{gap:32px}
 body.about-page .about-story-heading{margin-bottom:32px}
 body.about-page .about-story-grid,body.about-page .business-grid{gap:40px}
 body.about-page .business h2{margin-bottom:24px}
 body.about-page .business .pending-note{margin-top:24px;margin-bottom:0}
 body :is(.about-return){padding:var(--mobile-section-space) var(--mobile-gutter)}
 body .footer{padding:48px var(--mobile-gutter) 24px}
}

body.brand-home .story .english-note{color:var(--ink)}
body.brand-home .story .english-note .adapt-emphasis{color:var(--accent)}

/* Give the brief product guide a deliberate pause before the nature photograph. */
body.brand-home .quality{padding-block:clamp(112px,8vw,144px)}
@media(max-width:700px){body.brand-home .quality{padding-block:clamp(88px,24vw,104px)}}

/* Product introduction needs breathing room before the full-width photograph. */
body.brand-home .products{padding-top:clamp(112px,8vw,144px);padding-bottom:160px}
@media(max-width:700px){body.brand-home .products{padding-top:clamp(88px,24vw,104px);padding-bottom:160px}}

/* Mobile product section: a shorter pause scaled to the viewport width. */
@media(max-width:700px){body.brand-home .products{padding-bottom:clamp(88px,24vw,104px)}}

/* Contact: a quiet beige page without a photographic header. */
body.contact-page{background:var(--warm)}
.contact-main{width:min(100% - 18%,800px);margin-inline:auto;padding:190px 0 128px}
.contact-heading h1{font:300 clamp(48px,6vw,80px)/1.15 var(--english);letter-spacing:.015em}
.contact-heading>p{font:400 18px/1.8 var(--mincho);margin-top:20px;letter-spacing:.08em}
.contact-intro{margin:48px 0;font-size:15px;line-height:2}
.contact-preview-note{font-size:13px;margin-top:12px;color:#6b625d}
.contact-form{border-top:1px solid #cfc4ba}
.contact-field{padding:28px 0;border-bottom:1px solid #cfc4ba}
.contact-field label{display:flex;align-items:center;gap:16px;font-size:15px;margin-bottom:12px}
.contact-field label>span{font-size:11px;color:var(--accent)}
.contact-field :is(input,select,textarea){display:block;width:100%;min-width:0;border:1px solid #c9beb4;border-radius:2px;background:#ffffff80;padding:14px 16px;font:400 16px/1.7 var(--sans);color:var(--ink)}
.contact-field textarea{resize:vertical;min-height:200px}
.contact-field :is(input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:3px}
.contact-form-action{display:flex;flex-direction:column;align-items:center;gap:20px;margin-top:40px}
body.contact-page .contact-form-action .primary-action{background:var(--accent);border-color:var(--accent);color:white;min-width:280px}
body.contact-page .contact-form-action .primary-action:hover{background:white;color:var(--accent)}
.contact-form-action>p{font-size:12px;text-align:center;color:#6b625d}
body.contact-page #notice{max-height:85svh;overflow:auto}
body.contact-page .notice-message{white-space:pre-wrap;overflow-wrap:anywhere}
body.contact-page .footer{border-top:1px solid #d8d1cb}
@media(max-width:700px){
 .contact-main{width:auto;margin:0 var(--mobile-gutter);padding:136px 0 80px}
 .contact-heading h1{font-size:52px}
 .contact-heading>p{font-size:16px;margin-top:16px}
 .contact-intro{margin:32px 0;font-size:14px}
 .contact-field{padding:24px 0}
 .contact-form-action{margin-top:32px}
 body.contact-page .contact-form-action .primary-action{min-width:0;width:100%}
}

/* Desktop FV: move the supporting description into the upper margin. */
@media(min-width:1001px){body.brand-home .hero-description{top:clamp(48px,8svh,88px)}}

/* Adopt the small 12px slender dart from the latest A study. */
body .link-icon svg.action-arrow{width:12px;height:5px;flex:none;overflow:visible}
@media(min-width:1001px){body.brand-home .hero-copy .text-link.primary-action{font-size:14px}}
/* Soft photograph corners and breathing room replace product divider rules. */
body.brand-home .product-row{border:0;padding-block:64px}
body.brand-home .product-row:first-of-type{padding-top:0}
body.brand-home .product-row:last-child{padding-bottom:0}
body.brand-home .product-photo{border-radius:clamp(24px,3vw,48px)}
@media(max-width:700px){
 body.brand-home .product-row{padding-block:36px}
 body.brand-home .product-photo{border-radius:28px}
}

/* Square product photography; a shallow, quiet curve separates the stories. */
body.brand-home .product-photo{border-radius:0}
body.brand-home .product-row+.product-row:before{content:'';position:absolute;top:0;left:15%;width:70%;height:20px;border-top:1px solid #c9b9a780;border-radius:50%;transform:translateY(-50%);pointer-events:none}
@media(max-width:700px){body.brand-home .product-row+.product-row:before{left:12%;width:76%;height:12px}}

/* ADAPT. lead: generous space around the statement and reading column. */
body.about-page .about-story{padding-block:clamp(128px,10vw,160px)}
@media(max-width:700px){body.about-page .about-story{padding-block:clamp(88px,24vw,104px)}}

/* Online Store is a label; BASE alone is the actionable destination. */
body .header nav .menu-store>.menu-store-title{display:block;font:400 clamp(20px,2.2vw,30px)/1.4 var(--english);letter-spacing:.035em;min-height:44px;padding-top:5px}
body .menu-store-title{cursor:default}
body .footer-store{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
body .footer-store>.menu-store-title{display:flex;align-items:center;min-height:44px;color:var(--ink)}
body .footer-store>.menu-store-sub{display:block;min-height:44px;padding:5px 0;font:inherit;color:var(--ink);text-align:left;transition:color .4s ease}
body .footer-store>.menu-store-sub:hover{color:var(--accent)}
@media(min-width:1001px){body .header nav .menu-store>.menu-store-title{font-size:clamp(18px,1.55vw,27px);line-height:1.5;letter-spacing:.035em}}
@media(max-width:700px){body .header nav .menu-store>.menu-store-title{font-size:23px;line-height:1.4;padding-top:3px}}
@media(prefers-reduced-motion:reduce){body .footer-store>.menu-store-sub{transition:none}}

/* Footer hierarchy: equal menu labels, smaller BASE, store group always last. */
body .footer-nav{font-size:14px}
body .footer-nav>a,body .footer-nav>button{font:400 1em/1.9 var(--english);letter-spacing:inherit}
body .footer-nav>.footer-store{grid-column:1 / -1;order:1;font:400 1em/1.9 var(--english);letter-spacing:inherit;gap:0}
body .footer-nav .footer-store>.menu-store-title{font:inherit;letter-spacing:inherit;margin:0;padding:0;min-height:44px;display:flex}
body .footer-nav .footer-store>.menu-store-sub{font:400 12px/1.9 var(--english);letter-spacing:inherit;margin:0;padding:0;min-height:36px}
@media(max-width:700px){body .footer-nav{font-size:13px}body .footer-nav .footer-store>.menu-store-sub{font-size:11px}}

/* The second concept image settles in place rather than sliding across the first. */
html.motion-ready body.brand-home .story-pictures .interlude-small[data-motion="detail"]{transform:none;transition:opacity 1.8s ease var(--motion-delay,0ms)}
html.motion-ready body.brand-home .story-pictures .interlude-small[data-motion="detail"]:not(.is-visible){opacity:0;transform:none}
html.motion-ready body.brand-home .story-pictures .interlude-small[data-motion="detail"]>img{transform:scale(1);transition:transform 2.2s cubic-bezier(.22,.61,.36,1) var(--motion-delay,0ms)}
html.motion-ready body.brand-home .story-pictures .interlude-small[data-motion="detail"]:not(.is-visible)>img{transform:scale(1.025)}
@media(prefers-reduced-motion:reduce){
 html.motion-ready body.brand-home .story-pictures .interlude-small[data-motion="detail"],html.motion-ready body.brand-home .story-pictures .interlude-small[data-motion="detail"]:not(.is-visible){opacity:1;transform:none;transition:none}
 html.motion-ready body.brand-home .story-pictures .interlude-small[data-motion="detail"]>img,html.motion-ready body.brand-home .story-pictures .interlude-small[data-motion="detail"]:not(.is-visible)>img{transform:none;transition:none}
}

/* The second concept image rises gently into its overlapping position. */
html.motion-ready body.brand-home .story-pictures .interlude-small[data-motion="detail"]{transform:none;transition:opacity 1.8s ease var(--motion-delay,0ms),transform 2s cubic-bezier(.22,.61,.36,1) var(--motion-delay,0ms)}
html.motion-ready body.brand-home .story-pictures .interlude-small[data-motion="detail"]:not(.is-visible){opacity:0;transform:translateY(32px)}
html.motion-ready body.brand-home .story-pictures .interlude-small[data-motion="detail"]>img,html.motion-ready body.brand-home .story-pictures .interlude-small[data-motion="detail"]:not(.is-visible)>img{transform:none;transition:none}
@media(prefers-reduced-motion:reduce){html.motion-ready body.brand-home .story-pictures .interlude-small[data-motion="detail"],html.motion-ready body.brand-home .story-pictures .interlude-small[data-motion="detail"]:not(.is-visible){opacity:1;transform:none;transition:none}}

/* HOME FV hover: keep the label white; tint only the rule and arrow. */
body.brand-home .hero-copy .text-link.primary-action:hover{color:#fff;border-color:var(--accent);background:transparent}
body.brand-home .hero-copy .text-link.primary-action .link-icon{color:inherit;transition:color .4s ease}
body.brand-home .hero-copy .text-link.primary-action:hover .link-icon{color:var(--accent)}
@media(prefers-reduced-motion:reduce){body.brand-home .hero-copy .text-link.primary-action .link-icon{transition:none}}

/* HOME FV hover: a quiet rightward arrow, with the white rule unchanged. */
body.brand-home .hero-copy .text-link.primary-action:hover{color:#fff;border-color:#ffffff9c;background:transparent}
body.brand-home .hero-copy .text-link.primary-action .link-icon,body.brand-home .hero-copy .text-link.primary-action:hover .link-icon{color:#fff;transform:none!important;transition:none}
body.brand-home .hero-copy .text-link.primary-action .link-icon svg.action-arrow{transform:translateX(0);transition:transform .4s ease}
body.brand-home .hero-copy .text-link.primary-action:hover .link-icon svg.action-arrow{transform:translateX(5px)}
@media(prefers-reduced-motion:reduce){body.brand-home .hero-copy .text-link.primary-action .link-icon svg.action-arrow,body.brand-home .hero-copy .text-link.primary-action:hover .link-icon svg.action-arrow{transform:none;transition:none}}
