/* WPP-inspired expanding navigation, in the TW palette. */
.home-menu-split .alt-menu,.home-menu-split .alt-mobile-nav{display:none!important}
:is(.home-menu-split,.sitewide-menu) .hero-option-panel{top:7rem;right:1.25rem}
:is(.home-menu-split,.sitewide-menu) .site-refined-footer{padding-bottom:8rem}
.floating-menu{position:fixed;left:50%;bottom:clamp(18px,3vw,35px);z-index:90;transform:translateX(-50%);width:222px;height:52px;border:1px solid rgba(255,255,255,.22);border-radius:100px;background:#3f4ed7;color:#fff;box-shadow:0 12px 36px rgba(7,16,67,.25);display:flex;align-items:center;gap:13px;padding:0 17px;cursor:pointer;font:500 12px 'DM Mono',monospace;letter-spacing:-.02em;transition:width .3s cubic-bezier(.2,.8,.2,1),transform .3s,background .3s,box-shadow .3s}
.floating-menu:hover,.floating-menu:focus-visible{width:232px;background:#3f4ed7;box-shadow:0 17px 45px rgba(7,16,67,.35)}
.floating-menu:focus-visible{outline:3px solid #a9b8ff;outline-offset:4px}
.floating-mark{width:51px;height:22px;flex:none;background:#fff;-webkit-mask:url('/assets/tw-monogram-black.png') center/contain no-repeat;mask:url('/assets/tw-monogram-black.png') center/contain no-repeat}.floating-label{margin-left:auto;white-space:nowrap}
.floating-dots{width:18px;height:18px;flex:none;display:grid;grid-template-columns:repeat(3,3px);grid-template-rows:repeat(3,3px);gap:4px;align-content:center;justify-content:center;transition:transform .3s}
.floating-dots i{display:block;border-radius:50%;background:currentColor;width:3px;height:3px}
.floating-menu:hover .floating-dots{transform:rotate(45deg)}
:is(.home-menu-split,.sitewide-menu) .mega-dialog{padding:clamp(10px,1.2vw,20px) clamp(10px,1.2vw,20px) 116px;z-index:110}
:is(.home-menu-split,.sitewide-menu) .mega-dialog::backdrop{background:rgba(8,16,23,.74);backdrop-filter:blur(6px)}
:is(.home-menu-split,.sitewide-menu) .mega-dialog[open]{animation:none}
:is(.home-menu-split,.sitewide-menu) .mega-shell{border-radius:13px;animation:split-menu-open .72s cubic-bezier(.16,.82,.17,1) both;transform-origin:50% 100%}
:is(.home-menu-split,.sitewide-menu) .mega-dialog.is-closing .mega-shell{animation:split-menu-close .45s cubic-bezier(.7,0,.85,.35) both}
:is(.home-menu-split,.sitewide-menu) .mega-top,:is(.home-menu-split,.sitewide-menu) .mega-content,:is(.home-menu-split,.sitewide-menu) .mega-bottom{animation:split-content-in .5s .23s both}
:is(.home-menu-split,.sitewide-menu) .mega-dialog.is-closing :is(.mega-top,.mega-content,.mega-bottom){animation:none}
:is(.home-menu-split,.sitewide-menu) .floating-close{position:absolute;z-index:4;bottom:25px;animation:close-pill-in .4s .24s both}
:is(.home-menu-split,.sitewide-menu) .mega-dialog.is-closing .floating-close{animation:close-pill-out .28s both}
:is(.home-menu-split,.sitewide-menu) .floating-close .is-close{transform:rotate(45deg)}
:is(.home-menu-split,.sitewide-menu) .floating-close:hover .is-close{transform:rotate(90deg)}
:is(.home-menu-split,.sitewide-menu) .mega-dialog .mega-top{background:#f7f7f4}
:is(.home-menu-split,.sitewide-menu) .mega-dialog .mega-top-label{color:#4d5d56}
:is(.home-menu-split,.sitewide-menu) .mega-dialog .mega-close{color:#17211d}
:is(.home-menu-split,.sitewide-menu) .mega-dialog .mega-content{min-height:0}
:is(.home-menu-split,.sitewide-menu) .mega-dialog .mega-intro{background:#3f4ed7}
:is(.home-menu-split,.sitewide-menu) .mega-dialog .mega-search{margin-bottom:30px}
:is(.home-menu-split,.sitewide-menu) .mega-dialog .menu-groups{gap:25px 35px}
:is(.home-menu-split,.sitewide-menu) .mega-dialog .menu-group{padding-top:11px}
@keyframes split-menu-open{0%{clip-path:inset(calc(100% - 4px) calc(50% - 109px) 0 round 90px);transform:translateY(86px);opacity:.72}55%{clip-path:inset(14% 5% 0 round 26px);transform:translateY(0);opacity:1}100%{clip-path:inset(0 0 0 round 13px);transform:none;opacity:1}}
@keyframes split-menu-close{0%{clip-path:inset(0 0 0 round 13px);transform:none;opacity:1}100%{clip-path:inset(calc(100% - 4px) calc(50% - 109px) 0 round 90px);transform:translateY(86px);opacity:.72}}
@keyframes split-content-in{from{opacity:0;transform:translateY(17px)}to{opacity:1;transform:none}}
@keyframes close-pill-in{from{opacity:0;transform:translate(-50%,12px)}to{opacity:1;transform:translate(-50%,0)}}
@keyframes close-pill-out{from{opacity:1;transform:translate(-50%,0)}to{opacity:0;transform:translate(-50%,10px)}}
@media(max-width:720px){.floating-menu{width:204px;height:50px;padding:0 15px;gap:10px;font-size:11px}.floating-menu:hover,.floating-menu:focus-visible{width:214px}.floating-mark{width:45px;height:20px}:is(.home-menu-split,.sitewide-menu) .hero-option-panel{top:5.9rem}:is(.home-menu-split,.sitewide-menu) .mega-dialog{padding:0 0 94px}:is(.home-menu-split,.sitewide-menu) .mega-shell{border-radius:0}:is(.home-menu-split,.sitewide-menu) .floating-close{bottom:16px}:is(.home-menu-split,.sitewide-menu) .mega-dialog .mega-top{min-height:65px}:is(.home-menu-split,.sitewide-menu) .mega-dialog .mega-intro{padding:18px 22px}:is(.home-menu-split,.sitewide-menu) .mega-dialog .mega-content{display:block}}
@media(max-width:800px){
  /* The mobile hero toggle must not stretch between top and bottom offsets. */
  :is(.home-menu-split,.sitewide-menu) .hero-option-panel{
    top:calc(5.9rem + env(safe-area-inset-top));
    right:.75rem;
    bottom:auto;
    left:auto;
    width:min(15rem,calc(100vw - 1.5rem));
  }
}
@media(prefers-reduced-motion:reduce){:is(.home-menu-split,.sitewide-menu) .mega-shell,:is(.home-menu-split,.sitewide-menu) .mega-dialog.is-closing .mega-shell,:is(.home-menu-split,.sitewide-menu) .mega-top,:is(.home-menu-split,.sitewide-menu) .mega-content,:is(.home-menu-split,.sitewide-menu) .mega-bottom,:is(.home-menu-split,.sitewide-menu) .floating-close,:is(.home-menu-split,.sitewide-menu) .mega-dialog.is-closing .floating-close{animation:none!important}.floating-menu,.floating-dots{transition:none!important}}

/* Contact details live in the blue half of the expanded menu. */
:is(.home-menu-split,.sitewide-menu) .mega-contact{display:flex;flex-direction:column;align-items:flex-start;gap:9px;width:100%;margin-top:auto;padding-top:24px;border-top:1px solid rgba(255,255,255,.42)}
:is(.home-menu-split,.sitewide-menu) .mega-contact>span{font:500 11px 'DM Mono',monospace;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;opacity:.75}
:is(.home-menu-split,.sitewide-menu) .mega-contact a{color:#fff;text-decoration:none;font:500 clamp(15px,1.4vw,20px)/1.3 Manrope,sans-serif;overflow-wrap:anywhere}
:is(.home-menu-split,.sitewide-menu) .mega-contact a:hover,:is(.home-menu-split,.sitewide-menu) .mega-contact a:focus-visible{text-decoration:underline;text-underline-offset:4px}
:is(.home-menu-split,.sitewide-menu) .mega-contact .mega-contact-cta{margin-top:17px;display:inline-flex;gap:25px;align-items:center;border:1px solid rgba(255,255,255,.7);border-radius:100px;padding:12px 17px;font:500 12px 'DM Mono',monospace;text-transform:uppercase;transition:background .2s,color .2s}
:is(.home-menu-split,.sitewide-menu) .mega-contact .mega-contact-cta:hover,:is(.home-menu-split,.sitewide-menu) .mega-contact .mega-contact-cta:focus-visible{background:#fff;color:#3f4ed7;text-decoration:none}
@media(max-width:720px){:is(.home-menu-split,.sitewide-menu) .mega-contact{margin-top:14px;border:0;padding-top:0;gap:6px}:is(.home-menu-split,.sitewide-menu) .mega-contact>span{display:none}:is(.home-menu-split,.sitewide-menu) .mega-contact a{font-size:13px}:is(.home-menu-split,.sitewide-menu) .mega-contact .mega-contact-cta{margin-top:8px;padding:9px 12px;font-size:10px}}
/* Keep the blue-panel heading visible after adding contact details. */
:is(.home-menu-split,.sitewide-menu) .mega-dialog .mega-intro{overflow-y:auto;padding:clamp(24px,3vw,48px)}
:is(.home-menu-split,.sitewide-menu) .mega-dialog .mega-intro h2{display:block;flex:none;font-size:clamp(42px,4.6vw,72px);line-height:.96;margin:clamp(15px,3vh,35px) 0 14px}
:is(.home-menu-split,.sitewide-menu) .mega-dialog .mega-intro p{flex:none;margin:0 0 20px}
:is(.home-menu-split,.sitewide-menu) .mega-dialog .mega-intro h2 em{display:inline;color:#d8dfff!important}
@media(max-width:720px){:is(.home-menu-split,.sitewide-menu) .mega-dialog .mega-intro{padding:18px 22px;overflow:visible}:is(.home-menu-split,.sitewide-menu) .mega-dialog .mega-intro h2{display:block!important;font-size:38px;line-height:.93;margin:12px 0 8px}:is(.home-menu-split,.sitewide-menu) .mega-dialog .mega-intro p{display:none}}

/* Keep the menu distinct from the underlying page on all templates. */
.sitewide-menu .floating-open{isolation:isolate}
