/* Reading and interaction refinements. Keep the established brand and imagery. */
:root{
 --muted:#4d6156;
 --gold:#756033;
 --reading:clamp(1.1875rem,.975rem + .45vw,1.375rem);
 --small:1rem;
 --caption:.875rem;
 --label:.8125rem;
 --section-gap:clamp(4rem,6vw,6.5rem);
}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-bottom:6rem}
body{font-size:1.125rem;padding-bottom:calc(4.75rem + env(safe-area-inset-bottom))}
.chapter:not(.cover){padding:var(--section-gap) 0}
.chapter-title,.cover-title{font-weight:500;letter-spacing:0;line-height:1.5}
.chapter-title{font-size:clamp(2rem,2.5vw,2.875rem)}
.cover-title{font-size:clamp(1.875rem,2.45vw,2.75rem);margin-top:2rem}
.body-copy,.partners .body-copy,.philosophy .body-copy,
html[data-language-page="en"] .body-copy,
html[data-language-page="en"] .partners .body-copy{
 font-size:var(--reading);line-height:1.85;font-weight:400;letter-spacing:0;
 color:#304e41;max-width:62ch;margin-top:1.5rem;
}
.body-copy p+p{margin-top:1.3em}
.dark .body-copy{color:#ecede4}
.dark .chapter-label .micro,.dark .photo figcaption{color:#dce1d2}
.dark .chapter-number{color:#e0c68e}
.people .story-copy{max-width:none}
.story-grid,.philosophy-grid,.development-grid,.partners-grid,.people-grid,.mandala-grid{
 gap:clamp(2.5rem,5vw,5rem);min-width:0;
}
.story-copy,.copy-side{min-width:0;overflow-wrap:break-word}
.store>.wrap{column-gap:clamp(2.5rem,5vw,5rem);grid-template-rows:max-content 1fr}
.store .section-heading{margin-bottom:1.5rem}
.store .chapter-title{max-width:none}
.copy-side .body-copy{margin-top:0}
.chapter-label{margin-bottom:1.5rem;gap:1rem;flex-wrap:wrap}
.chapter-label .micro,.micro{font-size:var(--label);letter-spacing:.08em;line-height:1.6}
.chapter-number{font-size:1.75rem}
.chapter-rule{width:2.5rem}
.edition,.edition>span:last-child{font-size:var(--label);line-height:1.7;letter-spacing:.08em;gap:1rem}
.descriptor{font-size:var(--caption);letter-spacing:.14em;line-height:1.7}
.owner{font-size:var(--small);line-height:1.8;margin-top:1.5rem}
.cover-facts,html[data-language-page="en"] .cover-facts{font-size:1.0625rem;line-height:1.8;gap:2rem}
.cover-facts p{padding-left:2.4rem}
.cover-facts p:before{font:1rem/1.8 var(--sans);padding-top:0}
.hero-photo figcaption{font-size:var(--label);letter-spacing:.1em;background:linear-gradient(transparent,#102a20e8);padding-top:4rem}
.photo figcaption,.mandala-caption,.symbolic-note,.development-note,
.signature-note,.source-footer,.closing-event,.end-rule,.index-foot{
 font-size:var(--caption);line-height:1.75;letter-spacing:0;
}
.photo figcaption{letter-spacing:.06em}
.concept-caption{font-size:var(--caption)!important;line-height:1.75!important;letter-spacing:0!important}
.development-note{margin-top:1.5rem;border-left-width:3px}
.origin-punchline{font-size:1.125rem;line-height:1.85;letter-spacing:0}
.six{gap:1.5rem;margin-top:1.75rem;padding-top:1.75rem}
.six p{font-size:1.0625rem;line-height:1.8;max-width:17rem}
.six>.serif{font-size:5.5rem}
.signatures .signature-intro{font-size:var(--reading);line-height:1.8}
.signature-grid{gap:clamp(1.5rem,2.5vw,2.25rem)}
.ingredient-name,.product-size{font-size:var(--small);line-height:1.7;letter-spacing:0}
.product-copy h3{font-size:clamp(2rem,2.7vw,2.5rem);line-height:1.25;letter-spacing:0}
.product-description{font-size:1.1875rem;line-height:1.8;color:#304e41;margin:1.25rem 0 1.5rem}
.product-moment{font-size:1.0625rem;line-height:1.8}
.mandala-art .micro{font-size:var(--label)}
.closing-grid{gap:clamp(2.5rem,6vw,6rem);grid-template-columns:1.3fr 1fr}
.closing-grid .chapter-title{font-size:clamp(2rem,2.5vw,2.875rem)}
.closing-grid address{font-size:1.1875rem;line-height:1.8;padding-left:2rem;min-width:0}
.contact-label{font-size:var(--small)}
.contact-person{font-size:1.5rem;line-height:1.6}
.closing-grid address a{min-height:44px;padding:.35rem 0}
.contact-place{font-size:1.0625rem;line-height:1.8}
.closing-top>.micro{font-size:var(--label);line-height:1.7}
.closing-event{gap:1.25rem}
.desktop-nav{font-size:1rem;gap:1.75rem;line-height:1.5}
.desktop-nav a{min-height:44px;display:flex;align-items:center}
.language-switch{font-size:.9375rem}
.language-switch button{width:44px;min-width:44px;height:44px;color:var(--muted)}
.language-switch>span{color:var(--muted)}
.brand-place{font-size:.625rem;letter-spacing:.12em}
.header-right{gap:1rem}
.menu-button,.icon-button{width:44px;min-width:44px;height:44px}
.primary-link{font-size:1.0625rem;line-height:1.6;min-height:52px;margin-top:1.5rem}
.primary-link>span:last-child{flex:none}
.presenter{height:calc(4.25rem + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);gap:1rem}
.presenter-index{font-size:1rem;line-height:1.5}
.current-title{font-size:.9375rem;line-height:1.6;min-width:0}
.presenter button{height:44px;min-width:44px}
.presenter output{font-size:.9375rem;letter-spacing:.04em;min-width:76px}
.presenter-actions{flex-shrink:0}
.presenter-actions>button{font-size:1.5rem}
.status{font-size:1rem;bottom:calc(5.25rem + env(safe-area-inset-bottom));line-height:1.6}
dialog{padding:2rem;width:min(48rem,100%);padding-bottom:calc(2rem + env(safe-area-inset-bottom))}
.index-head h2{font-size:1.875rem;font-weight:500;line-height:1.5}
.index-link,html[data-language-page="en"] .index-link{font-size:1.125rem;line-height:1.7;padding:1.2rem 0;min-height:64px}
.index-num{font-size:1.125rem}
html[data-language-page="en"] .chapter-title{font-size:clamp(2.25rem,3vw,3.125rem);line-height:1.25;letter-spacing:-.015em}
html[data-language-page="en"] .cover-title{font-size:clamp(2.125rem,2.7vw,3rem);line-height:1.3;letter-spacing:-.015em}
button:focus-visible,a:focus-visible,[tabindex="-1"]:focus-visible{outline:3px solid #756033;outline-offset:5px}
.dark [tabindex="-1"]:focus-visible{outline-color:#e0c68e}
@media(max-width:1100px){
 .desktop-nav{gap:1rem}
 .header-inner{gap:1rem}
 .brand-place{display:none}
 .hero-photo{min-height:420px}
}
@media(max-width:960px){
 .desktop-nav{display:none}
 .hero-grid{grid-template-columns:1fr;gap:2rem}
 .hero-copy{padding:1.5rem 0 0}
 .hero-copy .brand-wordmark{font-size:clamp(2.6rem,9vw,5rem)}
 .hero-photo{aspect-ratio:1.4;min-height:0}
 .store>.wrap{display:block}
 .store-grid,.story-grid,.philosophy-grid,.development-grid,.partners-grid,.people-grid,.mandala-grid{display:flex;flex-direction:column;align-items:stretch;gap:2rem}
 .store-photo,.copy-side{grid-column:auto;grid-row:auto}
 .store .section-heading{margin-bottom:2rem}
 .store-photo,.origins-portrait,.development-photo,.people-photo,.philosophy .square-photo,.partners .square-photo{width:100%;max-width:42rem;align-self:center}
 .people .story-copy,.mandala-grid .story-copy{order:0}
 .people-photo,.mandala-art{order:1}
 .partners .square-photo{margin-top:0}
 .mandala-art{max-width:42rem;width:100%;align-self:center}
 .signature-grid{grid-template-columns:1fr;gap:2rem}
 .signature-product{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:2rem;border-bottom:1px solid var(--line);padding-bottom:2rem}
 .product-copy{padding:0}
 .product-description{font-size:1.1875rem}
 .closing-grid{grid-template-columns:1fr;gap:2rem}
 .closing-grid address{border-left:0;border-top:1px solid var(--line);padding:1.5rem 0 0;margin-top:0}
 .current-title{display:none}
}
@media(max-width:600px){
 :root{--pad:1.25rem;--header:72px}
 .header-inner{gap:.5rem}
 .brand-link{gap:0}
 .brand-place{display:none}
 .header-wordmark{font-size:1.0625rem;letter-spacing:.1em}
 .header-right{gap:.5rem}
 .language-switch{gap:0}
 .menu-button{width:44px;height:44px}
 .edition{font-size:var(--label);padding:1.25rem 0;letter-spacing:.02em;align-items:flex-start}
 .edition>span:last-child{font-size:var(--label);letter-spacing:.02em;text-align:right;max-width:45%}
 .hero-copy{padding:.5rem 0 0}
 .hero-copy .brand-wordmark{font-size:clamp(2.3rem,10vw,3.8rem);letter-spacing:.12em}
 .descriptor{font-size:.8125rem;letter-spacing:.09em;margin-top:1rem}
 .cover-title{font-size:1.875rem;line-height:1.5;margin-top:1.75rem}
 .hero-photo{aspect-ratio:1.12}
 .hero-photo figcaption{font-size:.75rem;padding:3.5rem 1rem 1rem}
 .owner{font-size:1rem}
 .cover-facts,html[data-language-page="en"] .cover-facts{font-size:1.0625rem}
 .chapter-label .micro{font-size:var(--label)}
 .chapter-title,.philosophy .chapter-title,.closing-grid .chapter-title{font-size:2rem;line-height:1.5;letter-spacing:0}
 .body-copy,.partners .body-copy,.philosophy .body-copy,html[data-language-page="en"] .body-copy,html[data-language-page="en"] .partners .body-copy{font-size:1.1875rem;line-height:1.85}
 .body-copy p+p{margin-top:1.3em}
 .photo figcaption{font-size:var(--caption)}
 .signature-product{display:flex;flex-direction:column;gap:1.5rem}
 .ingredient-name,.product-size{font-size:1rem}
 .product-copy h3{font-size:2.125rem}
 .product-description{font-size:1.1875rem;line-height:1.8}
 .product-moment{font-size:1.0625rem}
 .signatures .signature-intro{font-size:1.1875rem}
 .signature-note{font-size:var(--caption);padding-top:1.25rem}
 .origin-punchline{font-size:1.125rem}
 .development-note,.symbolic-note,.mandala-caption,.source-footer{font-size:var(--caption)}
 .closing-event{font-size:var(--caption);line-height:1.75}
 .closing-grid address{font-size:1.1875rem}
 .contact-place{font-size:1.0625rem}
 .closing-wordmark .brand-wordmark{font-size:clamp(2.3rem,10vw,3.8rem);letter-spacing:.12em}
 .presenter{padding-left:.75rem;padding-right:.75rem;gap:.5rem}
 .presenter-index{font-size:1rem;padding-right:.75rem}
 .presenter output{font-size:.9375rem;min-width:68px}
 .presenter button{min-width:44px}
 .fullscreen{margin-left:0}
 dialog{padding:1.5rem 1.25rem}
 .index-head h2{font-size:1.75rem}
 .index-link,html[data-language-page="en"] .index-link{font-size:1.125rem;grid-template-columns:1.5rem minmax(0,1fr) 1.25rem;gap:.75rem}
 .index-foot{font-size:var(--label)}
 html[data-language-page="en"] .chapter-title{font-size:2.25rem;line-height:1.3}
 html[data-language-page="en"] .cover-title{font-size:2.25rem;line-height:1.3}
}
@media(max-width:380px){
 .presenter{padding-left:.5rem;padding-right:.5rem;gap:.25rem}
 .presenter-index{padding-right:.5rem}
 .presenter output{min-width:60px}
}
@media print{
 body{padding:0}.chapter:not(.cover){padding:1.5rem 0}
 .body-copy,.partners .body-copy,.philosophy .body-copy,html[data-language-page="en"] .body-copy{font-size:13pt;line-height:1.7}
 .hero-photo figcaption,.photo figcaption,.source-footer{font-size:10pt}
}
