/* Turning the Tide — Modern Header v1.0.0. Scoped: no changes to existing page content. */
.ttt-mh, .ttt-mh__overlay { --ttt-black:#111111; --ttt-milk:#f7f7f3; --ttt-gray:#767672; --ttt-hairline:#e5e5df; box-sizing:border-box; font-family:Manrope,Inter,Arial,Helvetica,sans-serif; color:var(--ttt-black); }
.ttt-mh *, .ttt-mh *::before, .ttt-mh *::after, .ttt-mh__overlay *, .ttt-mh__overlay *::before, .ttt-mh__overlay *::after { box-sizing:border-box; }
.ttt-mh a, .ttt-mh__overlay a { text-decoration:none!important; color:inherit; }
.ttt-mh button, .ttt-mh__overlay button { font-family:inherit; cursor:pointer; }
.ttt-mh :is(a,button):focus-visible, .ttt-mh__overlay :is(a,button):focus-visible { outline:2px solid #474742!important; outline-offset:4px; }
.ttt-mh { position:relative; z-index:15; background:#fff; border-bottom:1px solid var(--ttt-hairline); width:100%; }
.ttt-mh__inner { max-width:1200px; width:100%; min-height:86px; margin:auto; padding:10px clamp(22px,3.4vw,56px); display:flex; align-items:center; gap:clamp(26px,3.4vw,55px); }
.ttt-mh__brand { display:inline-flex; flex:none; align-items:center; justify-content:center; width:58px; min-width:58px; height:65px; }
.ttt-mh__brand img { display:block; max-height:65px; max-width:100%; width:auto; height:auto; object-fit:contain; }
.ttt-mh__brand-fallback { display:block; font-size:13px; font-weight:900; line-height:1.1; letter-spacing:-.07em; }
.ttt-mh__brand-fallback span { display:block; font-size:9px; font-weight:800; letter-spacing:-.02em; margin-top:8px; }
.ttt-mh__small-nav { min-width:0; flex:1; }
.ttt-mh__small-nav .ttt-mh__menu-small { display:flex!important; justify-content:flex-start; align-items:center; flex-wrap:nowrap; list-style:none; gap:clamp(16px,1.85vw,28px); padding:0!important; margin:0!important; }
.ttt-mh__small-nav .ttt-mh__menu-small>li { position:relative; padding:0!important; margin:0!important; float:none!important; line-height:1.3; }
.ttt-mh__small-nav .ttt-mh__menu-small>li>a { display:block; padding:12px 0!important; font-size:clamp(13px,1vw,15px); font-weight:500; white-space:nowrap; line-height:1.35; color:var(--ttt-black)!important; transition:color .18s ease; }
.ttt-mh__small-nav .ttt-mh__menu-small>li>a:hover, .ttt-mh__small-nav .current-menu-item>a { color:#6e6e69!important; }
.ttt-mh__small-nav .ttt-mh__menu-small>li>a::after { content:""; position:absolute; left:0; bottom:7px; width:100%; height:1px; background:currentColor; transform:scaleX(0); transform-origin:left; transition:transform .22s ease; }
.ttt-mh__small-nav .ttt-mh__menu-small>li>a:hover::after, .ttt-mh__small-nav .current-menu-item>a::after { transform:scaleX(1); }
.ttt-mh__small-nav .sub-menu { position:absolute; left:-15px; top:100%; z-index:20; padding:10px 0!important; margin:0!important; list-style:none; width:max-content; min-width:180px; max-width:250px; background:white; box-shadow:0 12px 34px rgba(0,0,0,.1); border:1px solid var(--ttt-hairline); display:none!important; }
.ttt-mh__small-nav li:hover>.sub-menu, .ttt-mh__small-nav li:focus-within>.sub-menu { display:block!important; }
.ttt-mh__small-nav .sub-menu li { display:block!important; padding:0!important; margin:0!important; width:100%; }
.ttt-mh__small-nav .sub-menu a { display:block!important; font-size:13px; padding:9px 16px!important; line-height:1.3!important; }
.ttt-mh__small-nav .sub-menu a:hover { background:var(--ttt-milk); }
.ttt-mh__actions { display:flex; align-items:center; gap:14px; margin-left:auto; flex:none; }
.ttt-mh__cta { display:inline-flex!important; justify-content:center; align-items:center; gap:12px; min-height:43px; border-radius:4px; padding:0 18px; background:var(--ttt-black); color:#fff!important; font-size:13px; font-weight:600; line-height:1.2; white-space:nowrap; transition:background .2s ease, transform .2s ease; }
.ttt-mh__cta svg { transition:transform .2s ease; }
.ttt-mh__cta:hover { background:#383832; transform:translateY(-1px); }
.ttt-mh__cta:hover svg { transform:translateX(3px); }
.ttt-mh__open { display:inline-flex; align-items:center; justify-content:center; gap:13px; border:1px solid var(--ttt-hairline)!important; background:transparent!important; color:var(--ttt-black)!important; border-radius:4px; min-height:43px; padding:0 13px!important; line-height:1; transition:background .18s ease, border-color .18s ease; }
.ttt-mh__open:hover { background:var(--ttt-milk)!important; border-color:#cfcfca!important; }
.ttt-mh__open-label { font-size:13px; font-weight:600; }
.ttt-mh__hamburger { flex:none; transition:transform .2s; }
.ttt-mh__open:hover .ttt-mh__hamburger { transform:translateX(2px); }

/* Fullscreen menu is moved to <body> by JS to escape Divi's stacking contexts. */
.ttt-mh__overlay[hidden] { display:none!important; }
.ttt-mh__overlay { position:fixed!important; inset:0!important; z-index:2147483000!important; background:var(--ttt-milk); width:100vw; height:100vh; height:100dvh; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; animation:ttt-mh-show .24s ease both; }
@keyframes ttt-mh-show { from { opacity:0; transform:translateY(-9px); } to { opacity:1; transform:translateY(0); } }
.ttt-mh__overlay-inner { max-width:1580px; min-height:100%; width:100%; margin:0 auto; padding:0 clamp(24px,5vw,85px); display:flex; flex-direction:column; }
.ttt-mh__overlay-top { display:flex; flex:none; align-items:center; justify-content:space-between; min-height:100px; padding:18px 0; border-bottom:1px solid #deded8; }
.ttt-mh__brand--overlay { width:61px; height:65px; }
.ttt-mh__overlay-meta { color:#999991; font-size:10px; font-weight:700; letter-spacing:.18em; margin-left:auto; margin-right:clamp(25px,5vw,75px); }
.ttt-mh__close { border:0!important; background:transparent!important; display:flex; align-items:center; gap:13px; padding:12px 0 12px 14px!important; color:var(--ttt-black); line-height:1; }
.ttt-mh__close span { font-size:13px; font-weight:650; }
.ttt-mh__close svg { transition:transform .25s ease; }
.ttt-mh__close:hover svg { transform:rotate(90deg); }
.ttt-mh__overlay-content { width:100%; display:grid; grid-template-columns:minmax(220px,.66fr) minmax(400px,1.34fr); gap:clamp(38px,8vw,130px); flex:1; padding:clamp(42px,7vh,92px) 0 clamp(40px,7vh,85px); align-items:start; }
.ttt-mh__eyebrow { display:inline-flex; align-items:center; gap:12px; font-size:10px; font-weight:700; letter-spacing:.17em; color:#686862; }
.ttt-mh__dot { display:inline-block; width:7px; height:7px; border-radius:50%; background:#161616; }
.ttt-mh__overlay-heading h2 { color:#121212!important; margin:28px 0 18px!important; padding:0!important; letter-spacing:-.072em; line-height:.93; font-size:clamp(64px,8vw,128px); font-weight:550; }
.ttt-mh__heading-period { color:#a9a9a0; }
.ttt-mh__overlay-heading p { color:#666660!important; margin:24px 0 0!important; padding:0!important; font-size:clamp(14px,1.3vw,18px)!important; line-height:1.65; font-weight:400; }
.ttt-mh__full-nav { width:100%; }
.ttt-mh__full-nav .ttt-mh__menu-full { display:grid!important; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:clamp(24px,4vw,65px); row-gap:0; list-style:none!important; counter-reset:ttt-menu; padding:0!important; margin:0!important; }
.ttt-mh__full-nav .ttt-mh__menu-full>li { display:block!important; position:relative; list-style:none!important; float:none!important; width:auto!important; margin:0!important; padding:0!important; border-bottom:1px solid #dcdcd6; min-width:0; counter-increment:ttt-menu; }
.ttt-mh__full-nav .ttt-mh__menu-full>li::before { content:counter(ttt-menu,decimal-leading-zero); position:absolute; left:0; top:21px; color:#999991; font-size:10px; line-height:1.5; letter-spacing:.02em; font-weight:600; }
.ttt-mh__full-nav .ttt-mh__menu-full>li>a { display:block!important; position:relative; padding:15px 25px 15px 32px!important; margin:0!important; color:#171717!important; line-height:1.25!important; font-size:clamp(19px,2.12vw,30px)!important; letter-spacing:-.04em; font-weight:500; white-space:normal; overflow-wrap:anywhere; transition:transform .2s, color .2s; }
.ttt-mh__full-nav .ttt-mh__menu-full>li>a::after { content:'↗'; position:absolute; right:1px; top:50%; transform:translateY(-50%); font-size:14px; color:#98988f; opacity:0; transition:opacity .2s; font-weight:400; }
.ttt-mh__full-nav .ttt-mh__menu-full>li>a:hover { transform:translateX(5px); color:#77776c!important; }
.ttt-mh__full-nav .ttt-mh__menu-full>li>a:hover::after { opacity:1; }
.ttt-mh__full-nav .sub-menu { position:static!important; list-style:none!important; padding:0 0 11px 32px!important; margin:0!important; background:none!important; border:0!important; box-shadow:none!important; display:block!important; width:auto!important; }
.ttt-mh__full-nav .sub-menu li { display:block!important; float:none!important; padding:0!important; margin:0!important; width:auto!important; line-height:1.4; }
.ttt-mh__full-nav .sub-menu a { display:inline-block!important; padding:5px 8px 5px 0!important; font-size:13px!important; line-height:1.4!important; color:#666660!important; }
.ttt-mh__full-nav .sub-menu a:hover { color:#111!important; text-decoration:underline!important; text-underline-offset:3px; }
.ttt-mh__missing { font-size:14px;color:#666; }
.ttt-mh__overlay-bottom { border-top:1px solid #deded8; min-height:76px; padding:21px 0; display:flex; align-items:center; justify-content:space-between; gap:25px; color:#85857f; font-size:10px; letter-spacing:.13em; font-weight:650; }
.ttt-mh__bottom-separator { color:#bebeb6; margin:0 10px; }
.ttt-mh__overlay-bottom>a { white-space:nowrap; color:#151515; font-size:12px; letter-spacing:0; font-weight:650; }
.ttt-mh__overlay-bottom>a:hover { text-decoration:underline!important; text-underline-offset:4px; }
html.ttt-mh-page-locked { overflow:hidden!important; }

@media (max-width:1180px) {
 .ttt-mh__small-nav { display:none; }
 .ttt-mh__inner { justify-content:space-between; }
}
@media (max-width:940px) {
 .ttt-mh__overlay-content { grid-template-columns:1fr; gap:40px; padding:38px 0 50px; }
 .ttt-mh__overlay-heading h2 { font-size:72px; margin:20px 0 12px!important; }
 .ttt-mh__overlay-heading p { display:none; }
 .ttt-mh__full-nav .ttt-mh__menu-full>li>a { font-size:clamp(19px,3.2vw,26px)!important; }
 .ttt-mh__overlay-top { min-height:86px; }
}
@media (max-width:600px) {
 .ttt-mh__inner { min-height:70px; padding:7px 17px; gap:8px; }
 .ttt-mh__brand { width:50px; min-width:50px; height:56px; }
 .ttt-mh__brand img { max-height:56px; }
 .ttt-mh__actions { gap:9px; }
 .ttt-mh__cta { min-height:40px; padding:0 13px; gap:6px; font-size:11px; }
 .ttt-mh__cta svg { width:12px; height:12px; }
 .ttt-mh__open { min-height:40px; min-width:43px; padding:0 9px!important; }
 .ttt-mh__open-label { display:none; }
 .ttt-mh__hamburger { width:23px; height:23px; }
 .ttt-mh__overlay-inner { padding:0 21px; }
 .ttt-mh__overlay-top { min-height:75px; padding:10px 0; }
 .ttt-mh__brand--overlay { width:50px; height:54px; }
 .ttt-mh__overlay-meta { display:none; }
 .ttt-mh__overlay-heading h2 { font-size:clamp(54px,15vw,80px); margin:17px 0 0!important; }
 .ttt-mh__overlay-content { gap:25px; padding:28px 0 45px; }
 .ttt-mh__full-nav .ttt-mh__menu-full { grid-template-columns:1fr; }
 .ttt-mh__full-nav .ttt-mh__menu-full>li::before { top:16px; }
 .ttt-mh__full-nav .ttt-mh__menu-full>li>a { padding:12px 22px 12px 32px!important; font-size:clamp(19px,5.5vw,25px)!important; }
 .ttt-mh__overlay-bottom { align-items:flex-start; flex-direction:column; gap:11px; line-height:1.4; font-size:9px; padding:18px 0 24px; }
}
@media (max-width:345px) {
 .ttt-mh__cta { padding:0 9px; font-size:10px; }
 .ttt-mh__inner { padding:7px 12px; }
}
@media (prefers-reduced-motion:reduce) {
 .ttt-mh *, .ttt-mh *::after, .ttt-mh__overlay, .ttt-mh__overlay * { transition:none!important; animation:none!important; }
}
