/* v7 / editorial masthead. Shared data, separate desktop disclosure and mobile dialog. */
:root{--nav-duration:240ms;--nav-ease:cubic-bezier(.22,.68,0,1);--header-height:88px}
html{scrollbar-gutter:stable}.site-header.masthead{position:sticky;top:0;z-index:70;background:#f8f6f1fa;backdrop-filter:blur(16px);border-bottom:1px solid #d9d6ce;transition:box-shadow 200ms ease}.masthead.is-scrolled,.masthead.has-panel{box-shadow:0 4px 24px #17294308}.masthead.has-panel{background:#fbfaf7}.masthead-inner{width:min(1376px,calc(100% - 64px));height:var(--header-height);display:flex;align-items:center;gap:30px;margin-inline:auto}.masthead-brand{margin-right:auto}.masthead-brand .brand-symbol{width:35px;height:42px}.masthead-brand .brand-wordmark{width:78px;height:47px}.primary-navigation{height:100%;margin-left:auto}.primary-navigation>ul{display:flex;align-items:center;gap:25px;height:100%;margin:0;padding:0;list-style:none}.nav-item{list-style:none;display:flex;align-items:center;height:100%;position:static}.nav-trigger,.nav-direct>a{appearance:none;border:0;background:none;padding:0;display:flex;align-items:center;gap:9px;min-height:48px;font:500 14px/1.6 var(--sans);letter-spacing:.01em;white-space:nowrap;position:relative;color:var(--navy)}.nav-trigger:after,.nav-direct>a:after{content:"";height:1px;position:absolute;bottom:4px;left:0;right:0;background:currentColor;transform:scaleX(0);transform-origin:0 50%;transition:transform 180ms var(--nav-ease)}.nav-trigger:hover:after,.nav-trigger[aria-expanded=true]:after,.nav-direct>a:hover:after,.nav-direct>a[aria-current=page]:after,.is-current-group>.nav-trigger:after{transform:scaleX(1)}.chevron{display:block;width:7px;height:7px;border-right:1px solid currentColor;border-bottom:1px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform 200ms var(--nav-ease)}.nav-trigger[aria-expanded=true] .chevron{transform:translateY(2px) rotate(225deg)}
.nav-consult{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:49px;padding:0 19px;color:#fff;background:var(--navy);font:500 13px/1.5 var(--sans);letter-spacing:.035em;white-space:nowrap;flex-shrink:0;position:relative;overflow:hidden;transition:background 180ms ease}.nav-consult:hover{background:#334e6e}.consult-arrow{font-size:20px;line-height:1;display:block;transition:transform 180ms var(--nav-ease)}.nav-consult:hover .consult-arrow{transform:translate(2px,-2px)}.consult-label-mobile{display:none}
.nav-panel{position:absolute;left:0;right:0;top:calc(100% - 1px);margin:0;background:#fbfaf7;border-top:1px solid var(--line);border-bottom:1px solid var(--line);box-shadow:0 15px 30px #0f263014;opacity:0;transform:translateY(-8px);pointer-events:none;transition:opacity var(--nav-duration) var(--nav-ease),transform var(--nav-duration) var(--nav-ease);z-index:2;max-height:calc(100dvh - var(--header-height) - 30px);overflow:auto;overscroll-behavior:contain}.nav-panel.is-open{opacity:1;transform:translateY(0);visibility:visible;pointer-events:auto}.mega-shell{position:relative;max-width:1328px;margin:0 auto;padding:38px 36px 30px;display:grid;grid-template-columns:270px minmax(0,1fr);gap:64px;min-height:345px}.mega-intro{padding-top:6px;position:relative}.mega-overline{font:500 10px/1.6 var(--sans);letter-spacing:.19em;color:#687580;display:block;margin-bottom:20px}.mega-heading{font:500 27px/1.65 var(--serif);letter-spacing:.045em;color:var(--navy)}.mega-intro-desc{font-size:13px;line-height:1.95;color:#5d6871;margin-top:17px}.mega-binding{display:block;width:28px;height:1px;margin-top:27px;background:#8c9aa3}.mega-content{min-width:0;padding-top:0}.mega-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.mega-card{display:block;position:relative;min-width:0;color:var(--navy)}.mega-image{height:116px;display:block;overflow:hidden;background:var(--stone)}.mega-image img{width:100%;height:100%;object-fit:cover;transition:transform 420ms var(--nav-ease)}.mega-card:hover .mega-image img{transform:scale(1.035)}.mega-card-copy{display:block;position:relative;padding:16px 24px 14px 0}.mega-tag{display:none;font:11px/1.5 var(--sans);letter-spacing:.12em;color:#5d7383}.mega-card strong{display:block;font:500 22px/1.7 var(--serif);letter-spacing:.03em}.mega-desc{display:block;font-size:13px;line-height:1.8;color:#596873;margin-top:4px}.mega-arrow{position:absolute;top:21px;right:0;font:24px/1 var(--sans);transition:transform 180ms var(--nav-ease)}.mega-card:hover .mega-arrow{transform:translate(2px,-2px)}.mega-card[aria-current=page] strong{text-decoration:underline;text-underline-offset:6px}.mega-additional{display:flex;align-items:center;gap:22px;border-top:1px solid var(--line);padding:17px 0 0;margin-top:9px;min-height:55px;line-height:1.8}.mega-additional>span:first-child{flex-shrink:0}.mega-additional small{display:block;font-size:11px;font-weight:400;color:#63717a}.mega-additional strong{font-size:14px;font-weight:500}.mega-additional-desc{color:#5f6c77;font-size:12px;max-width:430px}.mega-additional>span:last-child{margin-left:auto;font-size:22px}.mega-additional:hover strong{text-decoration:underline;text-underline-offset:5px}.mega-business .mega-card{background:#f1f0eb;border-top:1px solid #a6b1b7;min-height:211px}.mega-business .mega-card-copy{padding:28px 30px 23px}.mega-business .mega-tag,.mega-guide .mega-tag{display:block;margin-bottom:17px}.mega-business .mega-arrow{top:30px;right:22px}.mega-business .mega-desc{max-width:260px;line-height:2;margin-top:12px}.mega-business .mega-additional{margin-top:20px}.mega-guide .mega-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}.mega-guide .mega-card{border-top:1px solid #a6b1b7;min-height:210px}.mega-guide .mega-card-copy{padding:26px 0 26px}.mega-guide .mega-card strong{font-size:22px}.mega-guide .mega-desc{line-height:2;padding-right:8px;margin-top:14px}.mega-guide .mega-arrow{top:auto;bottom:0}.mega-guide .mega-additional{margin-top:22px}.mega-close{position:absolute;right:28px;top:0;min-width:68px;min-height:36px;padding:5px 4px;border:0;background:transparent;display:flex;gap:13px;align-items:center;justify-content:center;font-size:11px;color:#5e6b75}.close-lines{display:block;position:relative;width:16px;height:16px;flex-shrink:0}.close-lines:before,.close-lines:after{content:"";position:absolute;left:0;top:7px;width:16px;height:1px;background:currentColor;transform:rotate(45deg)}.close-lines:after{transform:rotate(-45deg)}.nav-scrim{position:fixed;top:var(--masthead-bottom,120px);bottom:0;left:0;right:0;z-index:69;background:#10233126;opacity:0;transition:opacity 200ms ease;pointer-events:none}.nav-scrim.is-open{opacity:1;pointer-events:auto}
.menu-launch{display:none;background:transparent;border:0;min-width:50px;height:50px;padding:5px;align-items:center;justify-content:center;flex-direction:column;gap:9px;flex-shrink:0}.menu-launch>span:last-child{font-size:9px;letter-spacing:.12em;line-height:1}.menu-lines{width:25px;height:9px;border-top:1px solid var(--navy);border-bottom:1px solid var(--navy);display:block}
.mobile-dialog{position:fixed;inset:0;width:100%;height:100vh;height:100dvh;max-width:none;max-height:none;border:0;margin:0;padding:0;color:var(--navy);background:#f8f6f1;z-index:150;opacity:0;transform:translateY(-12px);transition:opacity 260ms var(--nav-ease),transform 260ms var(--nav-ease);overscroll-behavior:none}.mobile-dialog:not([open]){display:none}.mobile-dialog.is-open{opacity:1;transform:translateY(0)}.mobile-dialog::backdrop{background:#14293ed9}.mobile-dialog-frame{height:100%;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.dialog-top{display:flex;align-items:center;justify-content:space-between;margin:0 28px;padding:19px 0;border-bottom:1px solid var(--line)}.dialog-top .brand-symbol{width:32px;height:39px}.dialog-top .brand-wordmark{width:69px;height:42px}.dialog-close{min-height:48px;min-width:48px;background:transparent;border:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;font-size:9px;line-height:1;letter-spacing:.10em}.dialog-scroll{overflow-y:auto;overscroll-behavior:contain;padding:25px 28px 30px}.dialog-kicker{font:500 17px/1.8 var(--serif);letter-spacing:.08em;margin:5px 0 24px}.mobile-primary-list{margin:0;padding:0;list-style:none}.mobile-primary-list>li{border-top:1px solid var(--line)}.mobile-primary-list>li:last-child{border-bottom:1px solid var(--line)}.mobile-disclosure>summary,.mobile-direct>a{list-style:none;display:flex;align-items:center;gap:16px;min-height:72px;padding:16px 2px;cursor:pointer;color:var(--navy);font:500 22px/1.6 var(--serif);letter-spacing:.03em}.mobile-disclosure>summary::-webkit-details-marker{display:none}.mobile-order{font:11px/1.5 Georgia,serif;letter-spacing:.03em;color:#7a8995;min-width:17px;flex-shrink:0}.plus-mark{width:13px;height:13px;position:relative;margin-left:auto;margin-right:6px;flex-shrink:0}.plus-mark:before,.plus-mark:after{position:absolute;content:"";left:0;top:6px;width:13px;height:1px;background:currentColor}.plus-mark:after{transform:rotate(90deg);transition:transform 180ms ease}.mobile-disclosure[open] .plus-mark:after{transform:rotate(0)}.mobile-subnav{padding:0 0 19px 34px}.mobile-subnav>a{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:15px 5px 15px 0;min-height:65px}.mobile-subnav strong{font:500 16px/1.8 var(--sans);display:block;letter-spacing:0}.mobile-subnav small{font:400 12px/1.9 var(--sans);display:block;color:#66737d;margin-top:2px}.mobile-subnav>a>span:last-child{font-size:18px}.mobile-extra-link{border-top:1px solid var(--line);margin-top:10px}.mobile-direct-arrow{margin-left:auto;font:20px/1 var(--sans);padding-right:5px}.mobile-direct>a[aria-current=page]>span:nth-child(2),.mobile-subnav a[aria-current=page] strong{text-decoration:underline;text-underline-offset:7px}.dialog-utility{margin-top:26px;display:flex;flex-wrap:wrap;gap:2px 23px}.dialog-utility a{font-size:12px;min-height:40px;display:flex;align-items:center}.dialog-bottom{padding:18px 28px calc(18px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:#f8f6f1}.dialog-bottom .button{width:100%;min-height:55px;font-size:15px}.dialog-bottom p{font-size:11px;line-height:1.9;color:#67737c;text-align:center;margin-top:9px}.footer-operator-link{display:inline-flex;align-items:center;min-height:44px;gap:10px;font-size:13px;color:var(--navy)}.footer-operator-link:hover{text-decoration:underline;text-underline-offset:5px}.footer-subgroup{padding-top:9px;margin-top:7px;border-top:1px solid var(--line)}.footer-subgroup a{font-size:13px!important}.company-summary-copy{font-size:16px;line-height:2;max-width:770px;color:#58646e}.footer-nav-unified{grid-template-columns:repeat(3,minmax(0,1fr))}.nav-group a{min-height:42px}.skip-link{z-index:200}
@media(min-width:1360px){.primary-navigation{display:block}.menu-launch{display:none!important}}
@media(min-width:1360px) and (max-width:1460px){.masthead-inner{width:calc(100% - 48px);gap:24px}.primary-navigation>ul{gap:18px}.nav-trigger,.nav-direct>a{font-size:13px}.nav-consult{font-size:12px;padding-inline:16px;gap:14px}.masthead-brand .brand-symbol{width:31px;height:38px}.masthead-brand .brand-wordmark{width:69px;height:42px}.mega-shell{gap:42px;padding-inline:40px;grid-template-columns:240px minmax(0,1fr)}}
@media(max-width:1359px){.primary-navigation{display:none}.menu-launch{display:flex}.masthead-inner{width:calc(100% - 48px);height:78px;gap:24px}.masthead-brand{margin-right:auto}.mega-shell{display:none}.nav-consult{min-height:46px}.footer-nav-unified{column-gap:26px}}
@media(max-width:767px){:root{--header-height:72px}.masthead-inner{height:72px;width:calc(100% - 36px);gap:16px}.masthead-brand{gap:9px}.masthead-brand .brand-symbol{width:28px;height:35px}.masthead-brand .brand-wordmark{width:62px;height:39px}.nav-consult{min-height:41px;padding:0 12px;font-size:12px;gap:12px}.consult-label-mobile{display:inline}.consult-label-desktop{display:none}.consult-arrow{font-size:19px}.menu-launch{width:46px;min-width:46px;height:46px}.footer-nav-unified{grid-template-columns:1fr 1fr}.footer-operator-link{font-size:12px;margin-top:6px}.footer-bottom>p{display:flex;flex-direction:column;align-items:flex-start}.dialog-top{margin-inline:23px;padding-block:12px}.dialog-scroll{padding:21px 23px 27px}.dialog-bottom{padding:15px 23px calc(16px + env(safe-area-inset-bottom))}.mobile-disclosure>summary,.mobile-direct>a{font-size:21px;min-height:67px}.dialog-kicker{font-size:16px;margin-bottom:20px}.dialog-top .brand{gap:9px}.dialog-top .brand-symbol{width:28px;height:35px}.dialog-top .brand-wordmark{width:65px;height:40px}}
@media(max-width:359px){.masthead-inner{width:calc(100% - 28px);gap:10px}.masthead-brand .brand-wordmark{width:54px;height:34px}.masthead-brand .brand-symbol{width:25px;height:31px}.nav-consult{padding-inline:10px;gap:7px}.menu-launch{min-width:40px;width:40px}.dialog-scroll,.dialog-bottom{padding-left:20px;padding-right:20px}.dialog-top{margin-inline:20px}.mobile-disclosure>summary,.mobile-direct>a{font-size:19px;gap:13px}.mobile-subnav{padding-left:29px}.dialog-bottom p{font-size:10px}}
@media(prefers-reduced-motion:reduce){.nav-panel,.nav-scrim,.mobile-dialog,.nav-trigger:after,.nav-direct>a:after,.mega-image img,.consult-arrow,.chevron,.plus-mark:after{transition:none!important;transform:none}.chevron{transform:translateY(-2px) rotate(45deg)}.nav-trigger[aria-expanded=true] .chevron{transform:translateY(2px) rotate(225deg)}}
@media print{.masthead,.nav-panel,.nav-scrim,.mobile-dialog{display:none!important}}
@media(max-width:1359px){html{scrollbar-gutter:auto}}
/* Keep the service introduction on its two authored lines without splitting words. */
.mega-shell.mega-services{grid-template-columns:340px minmax(0,1fr)}
.mega-services .mega-heading{white-space:nowrap}
