/* Shared M01 controls; page-specific design remains in its existing stylesheets. */
:root { --shell-ink:#101b3e; --shell-muted:#4b5870; --shell-line:#dce2ed; --shell-width:1340px; }
.r1-header .header-inner,.m01-header-inner { width:min(var(--shell-width),calc(100% - 40px)); gap:16px; }
.r1-desktop-nav,.m01-desktop-nav { gap:16px; white-space:nowrap; }
.r1-nav-item > a,.r1-nav-item > button { font-size:14px; }
.r1-header .r1-book-meet { flex-shrink:0; white-space:nowrap !important; min-height:48px; background:linear-gradient(105deg,#067a98,#1755d4 58%,#6540c8); }
.r1-header .brand-tagline { display:block; }
.r1-footer-grid { grid-template-columns:1.4fr 1fr 1fr; }
.site-back-bar { width:min(var(--shell-width),calc(100% - 40px)); margin:12px auto 0; display:flex; gap:16px; align-items:center; color:var(--shell-muted); font:600 12px/1.4 Arial,sans-serif; }
.site-back-link { display:inline-flex; align-items:center; gap:8px; min-height:44px; padding:8px 14px; border:1px solid var(--shell-line); border-radius:999px; background:#fff; color:var(--shell-ink); font:600 14px/1.4 Arial,sans-serif; text-decoration:none; }
.site-back-link:hover { background:#eef3fb; border-color:#8b9cc0; }
.site-back-link:focus-visible,.r1-header :is(a,button,summary):focus-visible,.m01-home-header :is(a,summary):focus-visible,.m01-home-footer a:focus-visible { outline:3px solid #145fe0; outline-offset:4px; }
.r1-footer a,.m01-home-footer nav a { min-height:44px; display:flex; align-items:center; }
.m01-home-header { position:sticky; top:0; z-index:100; background:#fff; border-bottom:1px solid var(--shell-line); color:var(--shell-ink); font-family:Arial,Helvetica,sans-serif; }
.m01-header-inner { display:flex; align-items:center; height:72px; margin:auto; }
.m01-brand { display:inline-flex; gap:9px; align-items:center; flex-shrink:0; color:var(--shell-ink); text-decoration:none; }
.m01-brand img { width:42px; height:42px; object-fit:contain; }
.m01-brand > span { font-size:22px; font-weight:700; line-height:1.1; }
.m01-brand small { display:block; margin-top:4px; font-size:10px; font-weight:400; color:var(--shell-muted); }
.m01-desktop-nav { display:flex; align-items:center; margin-left:auto; }
.m01-home-header :is(a,summary) { text-decoration:none; }
.m01-desktop-nav > a,.m01-dropdown > summary,.m01-login { display:flex; align-items:center; min-height:44px; color:var(--shell-ink); font-size:14px; font-weight:600; cursor:pointer; }
.m01-dropdown { position:relative; }
.m01-dropdown > summary { gap:6px; list-style:none; }
.m01-dropdown > summary::-webkit-details-marker,.m01-mobile-menu > summary::-webkit-details-marker { display:none; }
.m01-dropdown > summary::after { content:'⌄'; font-size:16px; }
.m01-dropdown[open] > summary { text-decoration:underline; text-underline-offset:6px; }
.m01-dropdown-panel { position:absolute; top:calc(100% + 10px); left:-16px; min-width:260px; padding:12px; border:1px solid var(--shell-line); border-radius:10px; background:#fff; box-shadow:0 12px 25px #0a123515; }
.m01-dropdown-panel a { display:block; padding:14px 12px; color:var(--shell-ink); font-size:14px; }
.m01-dropdown-panel a:hover { background:#eef3fb; }
.m01-book { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:10px 20px; flex-shrink:0; white-space:nowrap; border-radius:999px; background:linear-gradient(105deg,#067a98,#1755d4 58%,#6540c8); color:#fff; font:700 16px/1.35 Arial,sans-serif; }
.m01-login { justify-content:center; border:1px solid var(--shell-line); border-radius:999px; padding:8px 16px; white-space:nowrap; }
.m01-mobile-menu { display:none; }
.m01-home-footer { background:#fff; color:var(--shell-ink); border-top:1px solid var(--shell-line); padding:48px 0 24px; font:400 16px/1.6 Arial,sans-serif; }
.m01-footer-inner { width:min(var(--shell-width),calc(100% - 40px)); margin:auto; display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:48px; }
.m01-home-footer nav { display:flex; flex-direction:column; align-items:flex-start; gap:4px; }
.m01-home-footer h2 { margin:0 0 12px; font:700 16px/1.4 Arial,sans-serif; }
.m01-home-footer a { color:var(--shell-ink); }
.m01-home-footer p { color:var(--shell-muted); margin-top:16px; }
.m01-footer-bottom { width:min(var(--shell-width),calc(100% - 40px)); margin:32px auto 0; padding-top:20px; border-top:1px solid var(--shell-line); display:flex; justify-content:space-between; gap:16px; color:var(--shell-muted); font-size:14px; }
@media(max-width:1250px) {
  .r1-desktop-nav,.m01-desktop-nav { display:none; }
  .r1-mobile-trigger { display:block; }
  .r1-book-meet,.m01-book { margin-left:auto; }
  .m01-mobile-menu { display:block; }
  .m01-mobile-menu > summary { display:flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; cursor:pointer; font-size:14px; font-weight:700; list-style:none; }
  .m01-mobile-menu > nav { position:absolute; top:100%; left:0; right:0; max-height:calc(100dvh - 90px); overflow:auto; padding:20px; background:#fff; border-bottom:1px solid var(--shell-line); box-shadow:0 12px 25px #0a123515; }
  .m01-mobile-menu nav > a,.m01-mobile-group summary { display:flex; min-height:48px; align-items:center; color:var(--shell-ink); font-size:16px; }
  .m01-mobile-group .m01-dropdown-panel { position:static; box-shadow:none; border:0; padding:0 12px; }
}
@media(max-width:600px) {
  .r1-header .header-inner,.m01-header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto auto; height:auto; min-height:72px; gap:8px 12px; padding:10px 0; width:calc(100% - 24px); }
  .r1-header .beta-brand-home,.m01-brand { grid-column:1; grid-row:1; }
  .r1-header .r1-account,.m01-login { grid-column:2; grid-row:1; }
  .r1-mobile-trigger,.m01-mobile-menu { grid-column:3; grid-row:1; }
  .r1-header .r1-book-meet,.m01-book { grid-column:1/-1; grid-row:2; width:100%; margin:0; justify-content:center; }
  .m01-brand > span { font-size:19px; }
  .m01-brand img { width:36px; height:36px; }
  .site-back-bar { width:calc(100% - 24px); margin-top:10px; }
  .r1-footer-grid,.m01-footer-inner { grid-template-columns:1fr 1fr; gap:24px; }
  .r1-footer-grid > div:first-child,.m01-footer-inner > div:first-child { grid-column:1/-1; }
  .m01-footer-bottom { flex-direction:column; }
}

/* Reserve the scrollbar lane so shared navigation does not shift between pages. */
html{scrollbar-gutter:stable}
