/* phone action bar */
.mbar { display: none; }
@media (max-width: 900px) {
  .mbar { display: grid; grid-template-columns: 1fr auto; gap: .5rem; position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; padding: .55rem .8rem calc(.55rem + env(safe-area-inset-bottom)); background: var(--sc-canvas); border-top: 1px solid var(--sc-hairline-strong); transform: translateY(110%); transition: transform 260ms cubic-bezier(.2,.7,.2,1); }
  .mbar.is-on { transform: none; }
  .mbar .btn { justify-content: center; padding: .75rem .9rem; font-size: .7rem; }
  .scrollcue { display: none !important; }
}
/* what's next, end of each service page */
.svc-next { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .9rem; margin-top: 2.2rem; }
.svc-next a { display: grid; gap: .35rem; padding: 1rem 1.2rem 1.1rem; border: 1px solid var(--sc-hairline-strong); text-decoration: none; color: var(--sc-ink); transition: border-color 180ms, background 180ms; }
.svc-next a:hover { border-color: var(--sc-accent); background: var(--sc-surface); }
.svc-next .mono { color: var(--sc-accent); }
.svc-next b { font-family: var(--sc-font-display); font-weight: 700; font-variation-settings: "wdth" 88; font-size: clamp(1.1rem, 1.5vw, 1.35rem); letter-spacing: -.02em; line-height: 1.1; }
.svc-next b::after { content: " \2192"; color: var(--sc-accent); }
@media (max-width: 640px) { .svc-next { grid-template-columns: 1fr; } }
/* footer on every page */
.site-foot { margin-left: var(--side); padding: 2.4rem 5vw 2.6rem 3vw; border-top: 1px solid var(--sc-hairline-strong); background: var(--sc-canvas); position: relative; z-index: 1; }
.site-foot__cols { display: grid; grid-template-columns: 1.2fr 1fr 1fr 1.1fr; gap: 2rem; max-width: 72rem; }
.site-foot h4 { margin: 0 0 .7rem; font-family: var(--sc-font-mono); font-weight: 500; font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; color: var(--sc-accent); }
.site-foot ul { list-style: none; margin: 0; padding: 0; display: grid; gap: .4rem; }
.site-foot a { color: var(--sc-ink); text-decoration: none; font-size: .92rem; }
.site-foot a:hover { color: var(--sc-accent); }
.site-foot .wm { font-size: 1.05rem; }
.site-foot p { margin: .6rem 0 0; font-size: .85rem; line-height: 1.45; color: var(--sc-ink-soft); max-width: 28ch; }
@media (max-width: 900px) { .site-foot { margin-left: 0; padding: 2rem 5vw calc(5.5rem + env(safe-area-inset-bottom)); } .site-foot__cols { grid-template-columns: 1fr 1fr; } }
.site-foot__legal { margin: 2rem 0 0; padding-top: 1rem; border-top: 1px solid var(--sc-hairline); max-width: 72rem; }
.site-foot__legal a { font-size: inherit; color: var(--sc-ink-soft); text-decoration: underline; }
/* skip link */
.skip { position: fixed; left: 1rem; top: -4rem; z-index: 100; background: var(--sc-ink); color: #fff; padding: .7rem 1rem; font-family: var(--sc-font-mono); font-size: .75rem; letter-spacing: .06em; text-transform: uppercase; text-decoration: none; }
.skip:focus { top: 1rem; }
.site-foot__h { margin: 0 0 .7rem; font-family: var(--sc-font-mono); font-weight: 500; font-size: .66rem; letter-spacing: .06em; text-transform: uppercase; color: var(--sc-accent); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto !important; } }
@media (max-width: 900px) {
  .idx a.i { min-height: 44px; display: inline-flex; align-items: center; }
  .menu-btn { min-height: 44px; }
  .svc .back, .stat__src, .roster .f a, .person .lnk a { display: inline-block; padding: .7rem 0; }
  .ms-pop__x { min-height: 44px; min-width: 64px; }
}
/* chrome, round 4: a slimmer section rail so the content column gets the width */
@media (min-width: 901px) { :root { --side: 11.5rem; } }
/* top bar: menu links carry a matching transparent top edge so their text centres on the same line as the bar label */
.menu > a, .menu__svc > a { border-top: 1px solid transparent; }
/* inner-page bar label: one line, shortens with an ellipsis before it can reach the menu */
.bar > .mono { flex: 1 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; text-align: center; padding: 0 1.6rem; }
/* in-page anchors land below the fixed bar */
.svc section[id] { scroll-margin-top: 5.6rem; }
.svc .meta b a { color: var(--sc-accent); text-decoration-thickness: 1px; text-underline-offset: .22em; }
/* top bar with six menu items: the Book button stays on one line down to the phone breakpoint */
.bar .btn { white-space: nowrap; }
@media (min-width: 901px) and (max-width: 1100px) { .menu { gap: .75rem; } .menu > a, .menu__svc > a { font-size: .62rem; letter-spacing: .04em; } .bar .btn { padding: .7rem .75rem; font-size: .64rem; } .bar .btn svg { display: none; } .bar > .mono { visibility: hidden; } }
