/* Shared site shell. Load after the LP/page-specific stylesheet. */
:root { --paper:#f8f5ee; --ink:#252522; --muted:#585b52; --sage:#8d9779; --sage-light:#d9e1d2; --terracotta:#a85b48; --rule:#d9d3c7; }
.inner-page { width:min(100%,1180px); margin:auto; background:linear-gradient(180deg,#fbf8f1,#f6f3eb 75%,#faf6ef); box-shadow:0 20px 70px #34302a25; line-height:1.9; }
.site-nav { font-size:13px; line-height:1.8; position:sticky!important; top:0; z-index:20; min-height:84px; gap:24px; padding:10px 6.2%; }
.site-nav__brand { display:flex; align-items:center; gap:10px; width:185px; font-style:normal; }
.site-nav__brand img { display:block; width:145px; height:auto; mix-blend-mode:multiply; }
.site-nav__brand span,.site-footer__brand span { font:10px/1.5 "Yu Gothic",sans-serif; white-space:nowrap; color:#59634e; }
.site-nav .site-nav__links { gap:clamp(15px,2vw,28px); }
.site-nav .site-nav__links a { padding:6px 0; font-size:12px; letter-spacing:0; border-bottom:1px solid transparent; }
.site-nav__links a span,.site-footer nav a span,.site-destinations a span { display:block; }
.site-nav__links a small { display:block; font-size:9px; font-weight:400; color:#626a59; }
.site-nav a[aria-current="page"] { color:#8d4d3c; }
.site-nav .site-nav__links a[aria-current="page"] { border-bottom-color:#8e594a; }
.site-footer nav a { text-decoration:none; padding:6px 0; }
.site-footer nav a:hover span { text-decoration:underline; }
.site-footer nav a small { display:block; font-size:9px; color:#626a59; }
.hero-overview-link { display:block; width:fit-content; margin-top:17px; color:#59634e; font-size:12px; text-underline-offset:5px; }
.site-destinations { margin:0 6.2% 40px; padding:20px 0 24px; border-block:1px solid #bdc5b1; background:#f4f4eaf5; z-index:2; }
.site-destinations>p { margin:0 0 15px; padding-inline:17.5px; font:18px/1.6 "Yu Mincho",serif; }
.site-destinations>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.site-destinations a { display:block; padding:4px 14px; border-left:1px solid #c8cfbd; color:#3e4935; text-decoration:none; }
.site-destinations a span { font-size:13px; font-weight:700; }.site-destinations a span::after { content:" →"; color:#8d4d3c; }
.site-destinations a small { display:block; font-size:10px; line-height:1.8; margin-top:6px; color:#626a59; }
.site-destinations a:hover span { text-decoration:underline; text-underline-offset:4px; }
.site-destinations a:focus-visible { outline:2px solid #65765a; outline-offset:3px; }
.site-skip { position:fixed; top:8px; left:8px; z-index:100; padding:10px; background:#fff; transform:translateY(-160%); }
.site-skip:focus { transform:none; }
.inner-page :focus-visible, .site-footer :focus-visible { outline:2px solid #65765a; outline-offset:4px; }
.inner-page [id] { scroll-margin-top:85px; }
.page-heading { padding:22px 6.2% 0; }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:10px; font-size:11px; color:#74766a; line-height:1.8; }
.breadcrumbs a { color:#656b5c; text-underline-offset:4px; }
.page-heading__row { display:flex; align-items:center; justify-content:space-between; gap:25px; padding:25px 0 4px; }
.page-heading h1 { font-size:clamp(28px,3.15vw,38px); line-height:1.6; margin:0 0 10px; letter-spacing:.03em; }
.page-heading__row>div>p { font-size:13px; color:var(--muted); margin:0; max-width:760px; }
.page-heading__row>div>.page-kicker { font-size:10px; letter-spacing:.1em; color:#707a60; margin-bottom:7px; }
.page-heading .hand-note { flex:none; position:static; font-size:15px; transform:rotate(-6deg); color:#646a57; padding-right:15px; margin:0; }
.page-rule { width:100%; height:30px; display:block; margin-top:12px; pointer-events:none; }
.page-rule path { fill:none; stroke:#4f5145; stroke-width:1; vector-effect:non-scaling-stroke; }
.detail-layout { display:grid; grid-template-columns:190px minmax(0,1fr); gap:5%; padding:25px 6.2% 45px; align-items:start; }
.page-aside { position:sticky; top:86px; }
.page-toc { border-left:1px solid #b8c1a9; padding-left:17px; }
.page-toc p { margin:0 0 12px; font-size:11px; color:#6e765f; }
.page-toc a { display:block; color:#3f4736; font-size:12px; padding:7px 0; text-decoration:none; }
.page-toc a:hover { text-decoration:underline; text-underline-offset:4px; }
.aside-back { display:inline-block; font-size:11px; color:#8c513d; margin-top:22px; text-underline-offset:4px; }
.page-content { min-width:0; }
.content-section { margin-bottom:38px; }
.content-section+.content-section { padding-top:25px; border-top:1px solid var(--rule); }
.content-section h2 { margin:0 0 17px; font-size:25px; line-height:1.65; }
.content-section h3 { font-size:18px; margin:22px 0 10px; }
.content-section p,.content-section li { font-size:14px; line-height:1.95; }
.content-section p { margin:0 0 16px; }
.content-section ul { padding-left:1.3em; }
.content-section li { margin-bottom:5px; }
.content-section li::marker { color:#889576; }
.content-section a { color:#894a37; text-underline-offset:4px; }
.content-section .note { padding:15px 18px; background:#e8ecdf; border-left:2px solid #8d9779; font-size:12px; }
.draft-notice { padding:15px 18px; background:#eee5d6; border-left:2px solid #a78b67; font-size:12px!important; color:#66513d; }
.draft-notice strong { display:block; }
.detail-screen { margin:20px 0; }
.detail-screen a { display:block; border:1px solid #ceccbf; padding:7px; background:#fdfaf4; box-shadow:0 8px 22px #44482f16; border-radius:4px; text-decoration:none; transition:transform .2s; }
.detail-screen a:hover { transform:translateY(-3px); }
.detail-screen img { display:block; width:100%; height:auto; }
.detail-screen span { display:block; text-align:right; font-size:10px; padding:7px 5px 0; color:#696e5b; }
.detail-screen figcaption { font-size:10px; color:#707565; margin-top:8px; }
.step-list { padding:0; list-style:none; counter-reset:step; }
.step-list li { counter-increment:step; padding:15px 0 15px 43px; border-bottom:1px solid var(--rule); position:relative; }
.step-list li::before { content:"0" counter(step); position:absolute; left:0; top:16px; font:italic 24px Georgia,serif; color:#869172; }
.step-list strong { display:block; font-size:14px; }.step-list span { display:block; font-size:12px; color:var(--muted); }
.spec-list { margin:18px 0; }.spec-list>div { display:grid; grid-template-columns:145px minmax(0,1fr); gap:20px; padding:13px 0; border-bottom:1px solid var(--rule); font-size:13px; }.spec-list dt { font-weight:700; }.spec-list dd { margin:0; color:var(--muted); }
.content-section details { border-bottom:1px solid var(--rule); }.content-section summary { cursor:pointer; padding:14px 24px 14px 0; font-size:13px; font-weight:700; }.content-section details p { font-size:13px; color:var(--muted); }
.status-chip { display:inline-block; background:#e9e2d2; color:#6e593f; padding:3px 10px; font-size:11px; border-radius:3px; }
.member-access { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin:20px 0; }
.member-access__item { min-width:0; padding:20px; background:#eef0e6; border:1px solid #c9d0bd; }
.member-access__item h3 { margin:0 0 12px; }
.member-access__item p { font-size:13px; }
.member-access__item .member-access__status { margin:16px 0 0; padding-top:12px; border-top:1px solid #c9d0bd; color:#59634e; font-size:12px; font-weight:700; }
.closing__action .member-entry-note { font:12px/1.8 "Yu Gothic",sans-serif; color:#59634e; margin:12px 0 0; }
.video-slot { border:1px dashed #b6bba8; background:#efefe4; padding:20px; color:#666e59; }
.video-slot p { font-size:12px; margin:0; }.video-slot strong { display:block; font-size:14px; margin-bottom:6px; }
.related-pages { margin:0 6.2% 38px; padding:22px 0; border-block:1px solid var(--rule); display:flex; align-items:center; flex-wrap:wrap; gap:14px 25px; }
.related-pages p { flex-basis:100%; margin:0; font-size:11px; color:var(--muted); }.related-pages a { color:#8c513d; font-size:13px; text-decoration:none; }.related-pages a:hover { text-decoration:underline; }.related-pages a span { margin-left:10px; }
.detail-link { display:inline-block; margin:10px 0 18px; color:#894a37; font-size:13px; text-underline-offset:5px; }
.next-pages { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
.next-pages h3 { margin:0 0 10px; font:600 20px/1.7 "Yu Mincho",serif; }
.next-pages p { font-size:16px; }
.prepurchase-guide .content-section p,.prepurchase-guide .content-section li,.prepurchase-guide .content-section summary,.prepurchase-guide .spec-list>div { font-size:16px; }
.prepurchase-guide .content-section .note { font-size:14px; }
.prepurchase-guide .detail-link { font-size:15px; }
.pricing-more { display:block; margin-top:15px; color:#f1f0e6; text-underline-offset:5px; font-size:14px; }
.site-footer.footer { display:block; position:relative; z-index:2; margin:0; padding:30px 6.2% 22px; background:#e6eadf; border-top:1px solid #b9c3ad; font-size:12px; line-height:1.8; color:#59634e; }
.site-footer__top { display:flex; align-items:center; justify-content:space-between; gap:25px; }.site-footer__brand { display:block; width:185px; flex:none; }.site-footer__brand img { display:block; height:auto; mix-blend-mode:multiply; }.site-footer nav { display:flex; flex-wrap:wrap; gap:12px 22px; }.site-footer a { color:#4e5b43; text-underline-offset:4px; }.site-footer__legal { display:flex; flex-wrap:wrap; gap:8px 18px; border-top:1px solid #c2cbb8; padding-top:15px; margin-top:20px; font-size:10px; color:#727a68; }.site-footer__bottom { margin-top:15px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px; }.site-footer__bottom small,.site-footer__bottom>a { font-size:10px; }
.site-dialog { width:min(96vw,1650px); max-height:94vh; padding:0; border:1px solid #8b967b; background:var(--paper); box-shadow:0 20px 70px #0005; }.site-dialog::backdrop { background:#20261ae0; }.site-dialog__bar { position:sticky; top:0; display:flex; align-items:center; justify-content:space-between; gap:15px; padding:12px 18px; background:var(--paper); border-bottom:1px solid var(--rule); }.site-dialog__bar h2 { font:700 13px/1.7 "Yu Gothic",sans-serif; margin:0; }.site-dialog button { flex:none; padding:8px 14px; background:#e2e8d8; color:var(--ink); border:1px solid #9da98d; border-radius:4px; cursor:pointer; font-size:12px; }.site-dialog>img { width:100%; display:block; height:auto; }
@media(max-width:800px) { .detail-layout { grid-template-columns:155px minmax(0,1fr); gap:4%; }.page-heading .hand-note { display:none; }.site-footer__top { align-items:flex-start; flex-direction:column; } }
@media(max-width:600px) { .site-nav .site-nav__links { gap:clamp(9px,3vw,17px); }.site-nav__links a { white-space:nowrap; }.page-heading { padding-top:17px; }.page-heading h1 { font-size:27px; }.page-heading__row { padding-top:18px; }.page-heading__row>div>p { font-size:12px; }.page-rule { height:22px; margin-top:6px; }.detail-layout { grid-template-columns:1fr; gap:28px; padding-top:16px; }.page-aside { position:static; }.page-toc { display:grid; grid-template-columns:1fr 1fr; gap:0 12px; }.page-toc p { grid-column:1/-1; margin-bottom:4px; }.page-toc a { font-size:11px; }.aside-back { margin-top:10px; }.content-section h2 { font-size:23px; }.spec-list>div { grid-template-columns:100px minmax(0,1fr); gap:13px; }.inner-page [id] { scroll-margin-top:68px; }.site-footer nav { font-size:11px; } }
@media(prefers-reduced-motion:reduce) { .detail-screen a { transition:none; }.detail-screen a:hover { transform:none; } }
/* Keep the shared navigation identical on the LP and every inner page. */
.page [id],.guide-shell [id],.inner-page [id] { scroll-margin-top:110px; }
.page-aside { top:110px; }
@media(max-width:900px) {
  .site-nav { flex-wrap:wrap; justify-content:center; gap:0; padding:5px 5% 8px; }
  .site-nav__brand { width:auto; gap:10px; }.site-nav__brand img { width:128px; }
  .site-nav .site-nav__links { width:100%; flex:none; justify-content:space-between; gap:12px; }
  .site-nav__links a small { display:none; }
  .site-footer nav { width:100%; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .site-destinations>div { grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px 0; }
}
@media(max-width:600px) {
  .site-nav .site-nav__links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 12px; align-items:center; }
  .site-nav .site-nav__links a { font-size:12px; text-align:center; padding:6px 0; border-bottom:1px solid #deded1; white-space:normal; }
  .site-nav .site-nav__links a[aria-current="page"] { border-bottom-color:#8e594a; }
  .site-nav .site-nav__links a:not([aria-current="page"]) { border-bottom:1px solid #deded1; }
  .page [id],.guide-shell [id],.inner-page [id] { scroll-margin-top:140px; }
  .site-destinations { margin-bottom:30px; }.site-destinations>p { padding-inline:11.5px; }.site-destinations a { padding-inline:10px; }
  .site-destinations>div,.next-pages,.member-access { grid-template-columns:1fr; }
}

.coming-soon { cursor:default; opacity:.8; }
.button-primary.coming-soon:hover { background:var(--terracotta); transform:none; }
