/* Root-only navigation prototype. Do not merge into service variants until approved. */
.hero-services-menu{display:none!important}
.root-desktop-services{position:relative;display:flex;align-items:center}
.root-desktop-services-trigger{position:relative;padding:8px 0;color:#344f61;border:0;background:transparent;font:inherit;font-size:13px;font-weight:800;cursor:pointer}
.root-desktop-services-trigger::after{position:absolute;right:0;bottom:0;left:0;height:2px;background:var(--blue-700);content:"";transform:scaleX(0);transform-origin:right;transition:transform 180ms ease}
.root-desktop-services:hover .root-desktop-services-trigger::after,.root-desktop-services:focus-within .root-desktop-services-trigger::after{transform:scaleX(1);transform-origin:left}
.root-desktop-services-panel{position:absolute;top:100%;left:50%;z-index:80;width:310px;padding-top:9px;opacity:0;visibility:hidden;pointer-events:none;transform:translate(-50%,7px);transition:opacity 150ms ease,transform 150ms ease,visibility 150ms ease}
.root-desktop-services:hover .root-desktop-services-panel,.root-desktop-services:focus-within .root-desktop-services-panel{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%,0)}
.root-desktop-services-card{overflow:hidden;border:1px solid #d8e3e9;border-top:3px solid var(--gold-400);border-radius:10px;background:#fff;box-shadow:0 20px 52px rgba(6,24,39,.2)}
.root-desktop-services-panel a{min-height:48px;display:flex;align-items:center;padding:0 16px;color:var(--ink);border-bottom:1px solid #e4edf1;font-size:13px;font-weight:800;text-decoration:none;transition:background 140ms ease,color 140ms ease}
.root-desktop-services-panel a:last-child{border-bottom:0}.root-desktop-services-panel a::after{display:none!important}.root-desktop-services-panel a:hover,.root-desktop-services-panel a:focus-visible{color:var(--blue-700);background:var(--mist)}
.root-desktop-services-panel a.is-current{color:var(--blue-700);background:var(--blue-100)}
.root-mobile-menu-toggle{display:none;width:43px;height:43px;flex:0 0 43px;place-items:center;padding:0;border:1px solid #c9d9e1;border-radius:4px;background:#fff;color:var(--ink);cursor:pointer}
.root-mobile-menu-toggle span{width:19px;height:2px;display:block;margin:3px auto;background:currentColor;border-radius:2px}
.root-mobile-nav{position:fixed;inset:0;z-index:1200;visibility:hidden;pointer-events:none}
.root-mobile-nav.is-open{visibility:visible;pointer-events:auto}.root-mobile-nav-backdrop{position:absolute;inset:0;border:0;background:rgba(6,24,39,.58);opacity:0;transition:opacity 180ms ease}.root-mobile-nav.is-open .root-mobile-nav-backdrop{opacity:1}
.root-mobile-nav-panel{position:absolute;top:0;right:0;width:min(88vw,390px);height:100dvh;display:flex;flex-direction:column;padding:max(18px,env(safe-area-inset-top)) 20px max(24px,env(safe-area-inset-bottom));background:#fff;box-shadow:-20px 0 60px rgba(6,24,39,.24);transform:translateX(102%);transition:transform 220ms ease;overflow:auto}
.root-mobile-nav.is-open .root-mobile-nav-panel{transform:translateX(0)}.root-mobile-nav-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:15px;border-bottom:1px solid var(--line)}
.root-mobile-nav-title{font-family:var(--display);font-size:21px;font-weight:800;color:var(--ink)}.root-mobile-nav-close{width:42px;height:42px;display:grid;place-items:center;padding:0;border:0;background:transparent;color:var(--ink);font-size:32px;line-height:1;cursor:pointer}
.root-mobile-nav-list{display:grid;margin-top:10px}.root-mobile-nav-item,.root-mobile-services-toggle{width:100%;min-height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 4px;color:var(--ink);border:0;border-bottom:1px solid var(--line);background:transparent;font-size:16px;font-weight:850;text-align:left;text-decoration:none;cursor:pointer}
.root-mobile-services-toggle::after{content:"+";font-size:24px;font-weight:400;color:var(--blue-700)}.root-mobile-services-toggle[aria-expanded="true"]::after{content:"−"}
.root-mobile-services-list{display:grid;grid-template-rows:0fr;transition:grid-template-rows 180ms ease}.root-mobile-services-list.is-open{grid-template-rows:1fr}.root-mobile-services-inner{min-height:0;overflow:hidden;background:var(--cloud)}
.root-mobile-services-inner a{min-height:48px;display:flex;align-items:center;padding:0 14px;color:#27485b;border-bottom:1px solid #dfe9ee;font-size:13px;font-weight:800;text-decoration:none}.root-mobile-services-inner a:last-child{border-bottom:0}.root-mobile-services-inner a.is-current{color:var(--blue-700);background:var(--blue-100)}
body.root-mobile-nav-open{overflow:hidden}
@media(max-width:1080px){.root-mobile-menu-toggle{display:grid}.header-actions{gap:7px}.header-book-primary{min-width:0}.desktop-nav{display:none!important}}
@media(min-width:1081px){.root-mobile-nav{display:none!important}}
@media(max-width:620px){.site-header{grid-template-columns:minmax(0,1fr) auto}.header-actions{flex:0 0 auto}.header-book-primary{padding-inline:10px;font-size:12.5px}.root-mobile-menu-toggle{width:42px;height:42px;flex-basis:42px}.brand-logo-header{width:154px}}
@media(max-width:370px){.brand-logo-header{width:136px}.header-book-primary{padding-inline:7px;font-size:11.5px}.root-mobile-menu-toggle{width:40px;height:40px;flex-basis:40px}}

/* Root mobile hamburger v2 — bare, compact three-line icon. */
.root-mobile-menu-toggle{
  width:30px;height:34px;flex:0 0 30px;padding:5px 2px;
  border:0!important;border-radius:0!important;background:transparent!important;
  box-shadow:none!important;color:var(--ink);place-items:center;cursor:pointer;
}
.root-mobile-menu-toggle span{
  width:22px;height:2px;margin:2px auto;background:currentColor;border-radius:2px;
}
@media(max-width:620px){.root-mobile-menu-toggle{width:30px;height:34px;flex-basis:30px}}
@media(max-width:370px){.root-mobile-menu-toggle{width:28px;height:32px;flex-basis:28px}.root-mobile-menu-toggle span{width:21px;margin:1.75px auto}}

/* Root hero local-ownership label: sharper Alpha Axis geometry. */
.location-chip{border-radius:2px!important;padding:8px 13px!important}
