/* V26 — shared public UI. Brand tokens remain owned by v04.css. */
:root{--scroll-thumb:#8a8679;--scroll-track:var(--paper);--scroll-hover:var(--olive);--scroll-active:var(--ink);--control-height:54px;--state-duration:160ms}
html{scrollbar-gutter:stable;scrollbar-color:var(--scroll-thumb) var(--scroll-track);scrollbar-width:auto}
*{scrollbar-color:var(--scroll-thumb) var(--scroll-track);scrollbar-width:auto}
::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--scroll-track)}::-webkit-scrollbar-thumb{background:var(--scroll-thumb);border:3px solid var(--scroll-track);border-radius:12px}::-webkit-scrollbar-thumb:hover{background:var(--scroll-hover)}::-webkit-scrollbar-thumb:active{background:var(--scroll-active)}
a[href],button:not(:disabled),summary{cursor:pointer}
:where(a,button,input,textarea,select):focus-visible{outline:3px solid var(--olive);outline-offset:5px}
.hero :where(a,button):focus-visible,.header:not(.header-solid) :where(a,button):focus-visible{outline-color:var(--paper)}
.desktop-nav a:not(.date-link),.home-footer nav a,dialog nav a{transition:color var(--state-duration),text-decoration-color var(--state-duration);text-decoration:underline;text-decoration-color:transparent;text-underline-offset:6px}
.desktop-nav a:hover,.home-footer nav a:hover,dialog nav a:hover{ text-decoration-color:currentColor}
.desktop-nav a[aria-current],.home-footer nav a[aria-current],dialog nav a[aria-current]{text-decoration:underline;text-decoration-color:currentColor;text-underline-offset:6px;text-decoration-thickness:2px}
.button:active,.btn:active,.pbtn:active{filter:brightness(.92)}
button:disabled{cursor:not-allowed;opacity:.6}
.yt-close:hover,.close-menu:hover{color:var(--olive);text-decoration:underline;text-underline-offset:4px}
.yt-film .yt-fallback{min-height:48px}
.yt-status{bottom:54px;margin:0;max-width:100%;overflow-wrap:anywhere}
.yt-stage[aria-busy=true]{outline:1px solid var(--line)}
.play-disc{transition:background var(--state-duration),transform var(--state-duration)}
.yt-start:hover .play-disc{transform:scale(1.06)}
#menu{padding:32px;max-height:calc(100dvh - 32px);overscroll-behavior:contain;scrollbar-gutter:stable}
#menu .menu-top{padding-bottom:12px;border-bottom:1px solid var(--line)}
#menu nav a{display:flex;align-items:center;min-height:56px;font-family:var(--serif);font-size:clamp(24px,4vw,32px);line-height:1.3;padding:14px 0}
#inquiry button[type=submit]{min-inline-size:min(100%,240px);min-height:var(--control-height);justify-content:center;white-space:normal}
#inquiry textarea{resize:none;min-height:180px;overflow-y:hidden}
#inquiry .input:focus-visible{outline-offset:3px}
#form-status{scroll-margin-block:24px;overflow-wrap:anywhere}
.filter-status{width:min(1280px,86%);margin:24px auto 0;color:var(--muted)}
.legacy-embed .chip:hover{border-color:var(--olive);background:var(--surface-alt)}
.packages-v07 article{padding:28px 24px 24px;border:1px solid var(--line);background:var(--paper)}
.packages-v07 .package-price{font-variant-numeric:lining-nums tabular-nums}
.packages-v07 li::marker{color:var(--olive)}
@media(max-width:800px){
 /* Keep the complete supplied frame visible; the mobile text gets its own surface. */
 .header:not(.header-solid){position:relative;color:var(--ink);border-bottom:1px solid var(--line)}
 .header:not(.header-solid) :where(a,button):focus-visible{outline-color:var(--olive)}
 .hero{display:flex;flex-direction:column;background:var(--paper);color:var(--ink);overflow:visible}
 .hero-image{position:relative;inset:auto;z-index:auto;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center!important;background:var(--ink)}
 .hero-shade{display:none}
 .hero-content{padding:32px 0 42px;order:2}
 .hero h1{font-size:clamp(36px,8.8vw,54px);max-width:18ch}
 .hero-sub{font-size:15px;line-height:1.8;margin-top:20px;max-width:52ch;color:var(--muted)}
 .hero .actions{margin-top:24px;gap:10px}
 .hero .button{background:var(--olive);color:var(--paper);width:100%;justify-content:space-between}
 .hero .button:hover{background:#47422f}
 .hero :where(a,button):focus-visible{outline-color:var(--olive)}
 .hero .stock-note{position:static;align-self:flex-end;margin:8px 20px 0;background:transparent;color:var(--muted);font-size:12px;padding:0;max-width:calc(100% - 40px)}
 .home-intro{padding-top:40px;border-top:1px solid var(--line)}
 .packages-v07 article{padding:24px 20px}
 #menu{width:calc(100% - 24px);padding:24px;max-height:calc(100dvh - 24px)}
 .filter-status{width:88%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(forced-colors:active){*{scrollbar-color:auto}::-webkit-scrollbar-thumb{background:ButtonText}.play-disc{border:2px solid ButtonText}a[aria-current]{outline:1px solid currentColor}}
