/* Shared service navigation. It does not change the existing header grid. */
.services-nav{display:inline-flex;align-items:center;position:static}
.site-header .services-toggle{display:inline-flex;align-items:center;gap:6px;min-height:36px;margin:-6px 0;padding:6px 0;border:0;border-radius:33px;background:none;color:inherit;font:inherit;line-height:1.5;white-space:nowrap;transition:color 180ms ease}
.site-header .services-toggle[hidden],.site-header .services-overview-link[hidden]{display:none}
.services-toggle svg{width:12px;height:12px;flex:none;transition:transform 300ms cubic-bezier(.22,1,.36,1)}
.site-header .services-toggle:hover,.site-header .services-toggle[aria-expanded="true"]{color:var(--blue,#2447ff)}
.services-toggle[aria-expanded="true"] svg{transform:rotate(180deg)}
.services-panel{position:absolute;inset:100% 0 auto;z-index:1;max-height:calc(100vh - var(--services-header-height,72px));max-height:calc(100dvh - var(--services-header-height,72px));overflow-y:auto;overscroll-behavior:contain;background:var(--bg,#f5f3ee);border-bottom:1px solid var(--line,#d8d5ce);box-shadow:0 26px 38px -32px #10111445;visibility:hidden;opacity:0;pointer-events:none;clip-path:inset(0 0 100% 0);transform:translateY(-8px);transition:clip-path 420ms cubic-bezier(.22,1,.36,1),transform 420ms cubic-bezier(.22,1,.36,1),opacity 220ms ease,visibility 0s linear 420ms}
.site-header.is-services-open .services-panel{visibility:visible;opacity:1;pointer-events:auto;clip-path:inset(0 0 0 0);transform:translateY(0);transition:clip-path 520ms cubic-bezier(.22,1,.36,1),transform 520ms cubic-bezier(.22,1,.36,1),opacity 220ms ease,visibility 0s}
.services-panel-inner{display:grid;grid-template-columns:minmax(210px,.8fr) minmax(0,2fr);align-items:start;gap:clamp(32px,4.5vw,72px);padding-block:38px 28px}
.services-menu-intro{min-width:0;padding-top:7px;white-space:normal}
.services-menu-intro .eyebrow{margin-bottom:22px;color:var(--blue,#2447ff);font-size:.6875rem;line-height:1.5;letter-spacing:.12em}
.services-menu-intro h2{max-width:12ch;font-size:clamp(1.8rem,2.8vw,2.75rem);font-weight:600;line-height:1.15;letter-spacing:-.055em;text-wrap:balance}
.services-menu-intro>p:not(.eyebrow){max-width:30ch;margin-top:19px;color:#666660;font-size:.875rem;line-height:1.8}
.services-menu-overview{display:inline-flex;align-items:center;gap:12px;min-height:44px;margin-top:22px;color:var(--blue,#2447ff);font-size:.8125rem;font-weight:600;line-height:1.5;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.services-menu-overview:hover{text-decoration-thickness:2px}
.services-menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;min-width:0;padding:0;margin:0}
.services-menu-item{display:grid;grid-template-columns:22px minmax(0,1fr) 28px;align-items:start;gap:12px;min-width:0;min-height:106px;padding:20px 14px 19px;border:1px solid transparent;border-top-color:var(--line,#d8d5ce);border-radius:9px;background:transparent;white-space:normal;opacity:0;transform:translateY(10px);transition:background 180ms ease,border-color 180ms ease,opacity 200ms ease,transform 320ms cubic-bezier(.22,1,.36,1)}
.services-menu-number{padding-top:4px;color:var(--blue,#2447ff);font-size:.625rem;font-weight:600;line-height:1.6;font-variant-numeric:tabular-nums;letter-spacing:.035em}
.services-menu-copy{display:block;min-width:0}
.services-menu-copy strong{display:block;color:var(--dark,#101114);font-size:clamp(.9375rem,1.13vw,1.0625rem);font-weight:600;line-height:1.45;letter-spacing:-.025em}
.services-menu-copy small{display:block;max-width:30ch;margin-top:7px;color:#666660;font-size:.75rem;font-weight:400;line-height:1.65;letter-spacing:0}
.services-menu-arrow{display:grid;place-items:center;flex:none;width:28px;height:28px;border:1px solid var(--line,#d8d5ce);border-radius:50%;color:var(--dark,#101114);font-size:.875rem;line-height:1;transition:background 180ms ease,border-color 180ms ease,color 180ms ease,transform 250ms ease}
.services-menu-item:hover,.services-menu-item:focus-visible,.services-menu-item[aria-current="page"]{border-color:#cdd4fd;background:#ebeefc}
.services-menu-item:hover .services-menu-arrow,.services-menu-item:focus-visible .services-menu-arrow{border-color:var(--blue,#2447ff);background:var(--blue,#2447ff);color:white;transform:rotate(45deg)}
.services-menu-item[aria-current="page"] .services-menu-copy strong{color:var(--blue,#2447ff)}
.site-header.is-services-open .services-menu-item{opacity:1;transform:translateY(0);transition-delay:0s,0s,calc(50ms + var(--service-order,0)*28ms),calc(50ms + var(--service-order,0)*28ms)}
.services-menu-item:nth-child(2){--service-order:1}.services-menu-item:nth-child(3){--service-order:2}.services-menu-item:nth-child(4){--service-order:3}.services-menu-item:nth-child(5){--service-order:4}.services-menu-item:nth-child(6){--service-order:5}
.services-menu-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding-block:17px max(18px,env(safe-area-inset-bottom));border-top:1px solid var(--line,#d8d5ce)}
.services-menu-bottom>p{color:#666660;font-size:.75rem;line-height:1.7;white-space:normal}
.site-header .services-menu-close{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex:none;min-height:38px;margin:0;padding:8px 16px;border:1px solid var(--line,#d8d5ce);border-radius:33px;background:transparent;color:var(--dark,#101114);font-size:.75rem;font-weight:500;line-height:1.5;transition:background 180ms ease,color 180ms ease,border-color 180ms ease}
.site-header .services-menu-close:hover{background:var(--dark,#101114);border-color:var(--dark,#101114);color:white}
.services-menu-backdrop{position:fixed;inset:0;z-index:19;background:#10111435;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 320ms ease,visibility 0s linear 420ms}
.site-header.is-services-open+.services-menu-backdrop{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 400ms ease,visibility 0s}

/* The phone navigation remains a native, touch-friendly disclosure. */
.mobile-menu .mobile-services-disclosure{margin:0;padding:0;border:0;border-radius:0;background:none}
.mobile-menu .mobile-services-disclosure>summary{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:44px;padding:6px 0;list-style:none;cursor:pointer;color:var(--black,#0b0b0b);font-size:clamp(1.375rem,5.6vw,1.625rem);font-weight:500;line-height:1.25}
.mobile-services-disclosure>summary::-webkit-details-marker{display:none}
.mobile-menu .mobile-services-disclosure>summary>span,.mobile-menu .mobile-services-disclosure[open]>summary>span{transform:none}
.mobile-menu .mobile-services-disclosure .menu-link-label{font-size:clamp(1.375rem,5.6vw,1.625rem);font-weight:500;letter-spacing:-.03em;line-height:1.28}
.mobile-services-disclosure>summary::after{content:none}
.mobile-services-disclosure>summary>svg{flex:none;width:16px;height:16px;margin-right:3px;transition:transform 200ms ease}
.mobile-services-disclosure[open]>summary>svg{transform:rotate(180deg)}
.mobile-services-disclosure[open]>summary,.mobile-services-disclosure>summary:hover{color:var(--blue,#2447ff)}
.mobile-services-disclosure[open] .menu-link-icon,.mobile-services-disclosure>summary:hover .menu-link-icon{color:var(--blue,#2447ff)}
.mobile-services-links{display:flex;flex-direction:column;gap:0;margin:10px 0 15px 9px;padding:4px 0 4px 23px;border-left:1px solid var(--line,#d8d5ce)}
.mobile-menu .mobile-services-links>a{display:flex;align-items:center;min-height:44px;margin:0;padding:11px 0;border:0;border-radius:0;background:transparent;color:#4d4e53;font-size:.875rem;font-weight:500;line-height:1.6;letter-spacing:-.01em;transform:none}
.mobile-services-links>a>span[aria-hidden="true"]{flex:none;margin-left:auto;padding-left:12px}
.mobile-menu .mobile-services-links>a:first-child{color:var(--blue,#2447ff);font-size:.75rem;font-weight:600;letter-spacing:.015em}
.mobile-menu .mobile-services-links>a:hover,.mobile-menu .mobile-services-links>a[aria-current="page"]{color:var(--blue,#2447ff);text-decoration:underline;text-underline-offset:4px}
.mobile-services-links a:focus-visible,.mobile-services-disclosure>summary:focus-visible{outline-offset:3px}
.mobile-menu.is-entering .mobile-services-disclosure{animation:menu-link-arrive 320ms cubic-bezier(.22,1,.36,1) 25ms both}
@media(min-width:981px) and (max-width:1200px){.services-panel-inner{grid-template-columns:minmax(185px,.72fr) minmax(0,2fr);gap:28px}.services-menu-item{gap:8px;padding-inline:10px;grid-template-columns:18px minmax(0,1fr) 25px}.services-menu-arrow{width:25px;height:25px}.services-menu-copy strong{font-size:.875rem}}
@media(min-width:981px) and (max-height:680px){.services-panel-inner{padding-top:25px;padding-bottom:20px}.services-menu-item{min-height:95px;padding-block:16px}.services-menu-intro .eyebrow{margin-bottom:16px}.services-menu-intro>p:not(.eyebrow){margin-top:14px}.services-menu-overview{margin-top:12px}.services-menu-bottom{padding-block:10px}}
@media(max-width:980px){.services-panel,.services-menu-backdrop{display:none}}
@media(prefers-reduced-motion:reduce){.services-panel,.services-menu-item,.services-menu-backdrop,.services-menu-arrow,.services-toggle svg,.mobile-services-disclosure>summary>svg{transition:none!important}.mobile-menu.is-entering .mobile-services-disclosure{animation:none!important}.services-panel{transform:none}.services-menu-item{transform:none}}
@media(forced-colors:active){.services-menu-item{border:1px solid CanvasText}.services-menu-item[aria-current="page"]{outline:2px solid Highlight}.services-panel{border:1px solid CanvasText}.services-menu-backdrop{background:Canvas;opacity:.7}}
