/* Shared responsive navigation and content behaviour for every page. */
html{scroll-padding-top:110px;text-size-adjust:100%;-webkit-text-size-adjust:100%}
.topic-header{position:sticky;top:0;z-index:20;background:#fff;max-width:none;min-height:100px;border-bottom:1px solid #eeeae2;align-items:center}
.topic-brand{flex:none}.topic-header .site-navigation{max-width:none;align-items:center;gap:clamp(12px,1.8vw,28px)}
.topic-header .site-navigation a{display:flex;align-items:center;min-height:44px;padding:6px 0;font-size:16px;line-height:1.5;font-weight:300}
.site-navigation a[aria-current=page]{color:#785e3e;text-decoration:underline;text-underline-offset:7px}
.site-menu-toggle{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:106px;min-height:46px;padding:10px 13px;border:1px solid #b7b6a6;background:#fff;color:#353535;font-size:16px;line-height:1.5;cursor:pointer}
.site-menu-toggle[hidden],.topic-header .site-navigation[hidden]{display:none!important}
.menu-icon{width:20px;display:grid;gap:5px}.menu-icon i{display:block;height:1px;width:20px;background:currentColor}.menu-open .menu-icon i:first-child{transform:translateY(6px) rotate(45deg)}.menu-open .menu-icon i:nth-child(2){opacity:0}.menu-open .menu-icon i:last-child{transform:translateY(-6px) rotate(-45deg)}
.site-menu-toggle:focus-visible,.site-navigation a:focus-visible{outline:2px solid #785e3e;outline-offset:4px}
.home-skip,.topic-page .skip-link{z-index:30}.topic-page [id]{scroll-margin-top:110px}
.section-wrap>*,.wrap>*,.about-grid>*,.courses-inner>*,.contact-grid>*,.topic-section>*,.dialog-grid>*{min-width:0}
.topic-page p,.compact-about p,.faq-list p,.updated-contact a,.instagram-handle{overflow-wrap:break-word}
@media(max-width:1024px){
 .topic-header{padding:14px 5%;min-height:86px;gap:14px;flex-wrap:wrap;align-items:center}
 .topic-header .topic-brand{font-size:30px}.topic-brand span{font-size:14px;margin-top:3px}
 .topic-header .site-navigation{width:100%;flex-basis:100%;max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:0 25px;justify-content:stretch;align-items:stretch;padding:8px 0 5px;max-height:calc(100svh - 110px);overflow-y:auto;overscroll-behavior:contain}
 .topic-header .site-navigation a{padding:14px 8px;min-height:52px;border-bottom:1px solid #e7e5dc;font-size:17px}
 .topic-header .site-navigation a[aria-current=page]{background:#f8f4ed;text-decoration:none}
 .home-hero{min-height:440px}.home-hero-copy{padding:45px 5% 85px}.home-hero h1{font-size:clamp(36px,5vw,56px)}
 .home-actions{gap:20px}.home-flower{opacity:.22}.home-motion-toggle{min-height:44px}
 .topic-person{gap:30px}.topic-intro,.topic-faq{gap:30px}
}
@media(max-width:640px){
 html{scroll-padding-top:95px}.topic-page [id]{scroll-margin-top:95px}
 .topic-header{padding:12px 5%;min-height:80px}.topic-header .site-navigation{grid-template-columns:1fr;padding-top:0;gap:0}
 .topic-header .site-navigation a{min-height:49px;padding:11px 12px;font-size:16px}
 .home-hero{min-height:0}.home-hero-copy{padding:35px 5% 80px}.home-hero h1{font-size:clamp(2rem,8.7vw,2.8rem);line-height:1.22;margin-bottom:20px}
 .home-kicker{font-size:14px;max-width:100%;margin-bottom:18px}.home-hero-copy>p:not(.home-kicker){font-size:16px;line-height:1.75}.home-hero-copy>p br{display:none}
 .home-actions{margin-top:22px;display:flex;flex-direction:column;align-items:stretch;gap:10px}.home-actions .topic-button{width:100%;text-align:center;padding:13px 12px}.home-secondary{display:flex;align-items:center;justify-content:center;min-height:44px;text-align:center}.home-motion-toggle{bottom:14px;font-size:14px;padding:8px 12px}
 .wishes{padding:38px 5% 45px}.wishes .intro{margin-bottom:25px}.wishes h2{font-size:27px;line-height:1.35}.wishes .intro>p:last-child{line-height:1.7}
 .emotion-grid{gap:25px 14px}.card-label{font-size:16px;line-height:1.45;gap:6px}.card-caption{line-height:1.6}.emotion-card img{object-position:center top}.tile-hint{gap:8px;margin-top:23px;line-height:1.7}.tile-hint a{display:flex;align-items:center;min-height:44px}
 .compact-about{padding:0 5% 45px}.compact-about .about-grid{grid-template-columns:1fr;gap:24px;padding-top:30px}.compact-about .portrait{width:100%;max-width:300px;margin:0 auto}.compact-about h2{font-size:27px}.compact-about .method-list{grid-template-columns:1fr}.compact-about summary{min-height:48px;align-items:center;line-height:1.6}.compact-about .meet-link,.topic-entry{line-height:1.7;padding:8px 0}
 .practice-section{padding:0 5% 45px}.practice-section .section-wrap{padding-top:30px}.section-heading h2{font-size:27px}.practice-gallery{grid-template-columns:1fr 1fr;gap:12px}.practice-photo{aspect-ratio:4/3}
 .updated-courses .courses-inner{grid-template-columns:1fr;gap:26px;padding-top:30px}.updated-courses{padding-bottom:45px}.course-row{grid-template-columns:1fr;gap:8px;padding:18px 0}.course-row a{min-height:44px;display:flex;align-items:center;font-size:16px}.course-row p,.course-note{line-height:1.7}
 .instagram-profile{padding:22px 18px}.instagram-handle{font-size:20px}.instagram-profile a{display:block;line-height:1.7;padding:8px 0;font-size:16px}
 .faq-section{padding:0 5% 45px}.faq-section .section-wrap{grid-template-columns:1fr;gap:0;padding-top:30px}.faq-list summary{font-size:16px;gap:16px;padding:18px 0}.faq-list details p{padding-right:0;font-size:16px;line-height:1.75}.faq-contact{grid-column:1}
 .updated-contact{padding:35px 0}.updated-contact .contact-grid{grid-template-columns:1fr;gap:28px}.updated-contact h2{font-size:28px}.updated-contact .actions{display:grid;gap:10px;margin-top:20px}.updated-contact .button{justify-content:center;text-align:center;background:#785e3e;min-height:48px}.updated-contact .text-link,.updated-contact .contact-list a{display:flex;align-items:center;min-height:44px;line-height:1.5}.updated-contact .contact-list{gap:6px}
 .updated-footer .footer-row{flex-direction:column;gap:15px}.updated-footer .footer-links{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px;align-items:start}.updated-footer .footer-links a{display:flex;align-items:center;min-height:44px;line-height:1.6}.updated-footer summary{min-height:44px;line-height:1.6;padding-block:10px}.updated-footer .image-note{line-height:1.7}
 dialog{width:calc(100% - 20px);max-height:calc(100dvh - 20px)}.dialog-grid{display:block;min-height:0}.dialog-visual{height:clamp(110px,22svh,170px)}.dialog-visual img{object-fit:contain}.dialog-close{min-height:44px;font-size:16px}.dialog-copy{padding:24px 20px}.dialog-copy h2{font-size:27px}.dialog-copy .button{width:100%;min-height:48px}.dialog-copy .contact-link{min-height:44px;line-height:1.6;padding-block:8px}
 .topic-breadcrumb{padding:15px 5%;flex-wrap:wrap;font-size:14px}.topic-hero{min-height:0}.topic-hero-copy{padding:35px 5%}.topic-hero h1{font-size:clamp(2rem,9vw,2.65rem);overflow-wrap:break-word}.topic-hero .topic-lead{font-size:27px}.topic-hero .topic-button{display:block;text-align:center;width:100%;margin-top:22px;padding:13px 12px}
 .topic-jumps{display:grid;grid-template-columns:1fr 1fr;padding:10px 5%;gap:0 20px}.topic-jumps a{min-height:44px;display:flex;align-items:center;font-size:15px}
 .topic-section{padding:38px 0;width:90%}.topic-intro,.topic-faq,.topic-person,.topic-region .topic-section{grid-template-columns:1fr;gap:24px}.topic-page h2{font-size:27px;margin-bottom:18px}.topic-page h3{font-size:21px}.topic-person figure{max-width:360px;margin:auto}.topic-section-heading{margin-bottom:25px}.topic-steps{gap:24px}.topic-page p{line-height:1.75}.topic-text-link{line-height:1.6;min-height:44px;padding-block:8px;margin-top:12px}.topic-region .topic-button{display:block;text-align:center;width:100%;padding:13px 12px}.topic-background summary{line-height:1.6;min-height:48px}.topic-reflection p br{display:none}
}
@media(max-width:380px){.emotion-grid{grid-template-columns:1fr}.emotion-card .photo{aspect-ratio:4/5;max-height:none}.card-label{font-size:18px}.card-caption{font-size:15px}.updated-footer .footer-links{grid-template-columns:1fr}.site-menu-toggle{min-width:100px;padding-inline:10px}.topic-header{gap:8px}}
@media(max-height:500px) and (max-width:1024px){.topic-header .site-navigation{grid-template-columns:1fr 1fr;max-height:55svh}}
