/* Tulip Tower V86 - keep homepage and inner-page public navigation visually identical. */
@media(min-width:1051px){
html body.tt-v24 .site-header .desktop-nav,
html body.tt-v24 .inner-header .desktop-nav{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    gap:clamp(4px,.45vw,8px)!important;
}
}
html body.tt-v24 .site-header .desktop-nav a,
html body.tt-v24 .inner-header .desktop-nav a{
    position:relative!important;
    padding:14px 10px!important;
    font-family:'Encode Sans',Arial,sans-serif!important;
    font-size:17px!important;
    line-height:1.2!important;
    font-weight:400!important;
    font-synthesis:none!important;
    letter-spacing:0!important;
    color:rgba(255,255,255,.80)!important;
    text-decoration:none!important;
    white-space:nowrap!important;
    transition:color .2s ease,opacity .2s ease,transform .2s ease!important;
}
html body.tt-v24 .site-header .desktop-nav a:hover,
html body.tt-v24 .site-header .desktop-nav a.active,
html body.tt-v24 .inner-header .desktop-nav a:hover,
html body.tt-v24 .inner-header .desktop-nav a.active{
    color:#fff!important;
    font-weight:400!important;
    transform:translateY(-1px);
}
html body.tt-v24 .site-header .desktop-nav a::after,
html body.tt-v24 .inner-header .desktop-nav a::after{
    content:""!important;
    position:absolute!important;
    left:18%!important;
    right:18%!important;
    bottom:7px!important;
    height:1px!important;
    border-radius:2px!important;
    background:linear-gradient(90deg,transparent,#e4c58c,transparent)!important;
    transform:scaleX(0)!important;
    transform-origin:center!important;
    transition:transform .22s ease!important;
}
html body.tt-v24 .site-header .desktop-nav a:hover::after,
html body.tt-v24 .site-header .desktop-nav a.active::after,
html body.tt-v24 .inner-header .desktop-nav a:hover::after,
html body.tt-v24 .inner-header .desktop-nav a.active::after{
    transform:scaleX(1)!important;
}
html body.tt-v24 .mobile-menu>a,
html body.tt-v24 .mobile-menu .mobile-btn{
    font-family:'Encode Sans',Arial,sans-serif!important;
    font-weight:400!important;
    font-synthesis:none!important;
}
@media(max-width:1380px) and (min-width:1051px){
    html body.tt-v24 .site-header .desktop-nav,
    html body.tt-v24 .inner-header .desktop-nav{gap:5px!important}
    html body.tt-v24 .site-header .desktop-nav a,
    html body.tt-v24 .inner-header .desktop-nav a{font-size:17px!important;padding-inline:5px!important}
}


/* V87 — compact public header and align hero tools to the header shell. */
@media(min-width:1051px){
    html body.tt-v24 .site-header .header-shell,
    html body.tt-v24 .inner-header .header-shell{
        gap:clamp(8px,.75vw,12px)!important;
        padding-left:14px!important;
        padding-right:10px!important;
    }
    html body.tt-v24 .site-header .brand,
    html body.tt-v24 .inner-header .brand{gap:8px!important}
    html body.tt-v24 .site-header .brand img,
    html body.tt-v24 .inner-header .brand img{width:34px!important;max-height:42px!important}
    html body.tt-v24 .site-header .brand-text strong,
    html body.tt-v24 .inner-header .brand-text strong{font-size:15px!important;letter-spacing:.045em!important}
    html body.tt-v24 .site-header .brand-text small,
    html body.tt-v24 .inner-header .brand-text small{font-size:7px!important;letter-spacing:.16em!important;margin-top:3px!important}
    html body.tt-v24 .site-header .desktop-nav,
    html body.tt-v24 .inner-header .desktop-nav{gap:2px!important}
    html body.tt-v24 .site-header .desktop-nav a,
    html body.tt-v24 .inner-header .desktop-nav a{
        padding:13px 6px!important;
        font-size:17px!important;
        font-weight:400!important;
    }
    html body.tt-v24 .site-header .header-actions,
    html body.tt-v24 .inner-header .header-actions{gap:5px!important}
    html body.tt-v24 .site-header .header-actions .btn,
    html body.tt-v24 .inner-header .header-actions .btn{padding:10px 11px!important;font-size:11px!important}
    html body.tt-v24 .site-header .lang-switch,
    html body.tt-v24 .inner-header .lang-switch{padding:2px!important}
    html body.tt-v24 .site-header .lang-switch a,
    html body.tt-v24 .inner-header .lang-switch a,
    html body.tt-v24 .site-header .lang-switch button,
    html body.tt-v24 .inner-header .lang-switch button{padding:6px 7px!important;font-size:9.5px!important}

    html body.tt-home .weather-console{
        top:104px!important;
        left:max(14px,calc((100vw - 1320px)/2))!important;
        min-height:40px!important;
        padding:6px!important;
        border-radius:14px!important;
    }
    html body.tt-home .time-mode-badge{
        top:104px!important;
        right:max(14px,calc((100vw - 1320px)/2))!important;
        min-height:40px!important;
        box-sizing:border-box!important;
        padding:7px 11px!important;
    }
}
@media(max-width:1380px) and (min-width:1051px){
    html body.tt-v24 .site-header .desktop-nav a,
    html body.tt-v24 .inner-header .desktop-nav a{font-size:17px!important;padding-inline:4px!important}
    html body.tt-v24 .site-header .brand-text strong,
    html body.tt-v24 .inner-header .brand-text strong{font-size:14px!important}
    html body.tt-v24 .site-header .header-actions .btn,
    html body.tt-v24 .inner-header .header-actions .btn{padding-inline:9px!important}
}
@media(max-width:1180px) and (min-width:1051px){
    html body.tt-v24 .site-header .brand-text,
    html body.tt-v24 .inner-header .brand-text{display:none!important}
    html body.tt-v24 .site-header .desktop-nav a,
    html body.tt-v24 .inner-header .desktop-nav a{font-size:17px!important;padding-inline:3px!important}
}


/* V88 — final menu typography requested by project owner. */
@media(min-width:1051px){
    html body.tt-v24 .site-header .desktop-nav a,
    html body.tt-v24 .inner-header .desktop-nav a{
        font-size:17px!important;
        font-weight:400!important;
        letter-spacing:0!important;
        white-space:nowrap!important;
    }
    html body.tt-v24 .site-header .desktop-nav a:hover,
    html body.tt-v24 .site-header .desktop-nav a.active,
    html body.tt-v24 .inner-header .desktop-nav a:hover,
    html body.tt-v24 .inner-header .desktop-nav a.active{
        font-weight:400!important;
    }
}


/* V93: single authoritative desktop menu layout and animated separators.
   Do not add !important to opacity/filter/transform on ::before:
   doing so overrides the keyframe values and freezes the sparkle. */
@media(min-width:1051px){
 html body.tt-v24 :is(.site-header,.inner-header) .header-shell{
   display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;
   column-gap:12px!important;
 }
 html body.tt-v24 :is(.site-header,.inner-header) .desktop-nav{
   display:flex!important;align-items:stretch!important;justify-content:space-between!important;
   width:100%!important;min-width:0!important;max-width:none!important;
   gap:0!important;padding:0!important;overflow:visible!important;
 }
 html body.tt-v24 :is(.site-header,.inner-header) .desktop-nav>a{
   position:relative!important;display:flex!important;align-items:center!important;
   justify-content:center!important;flex:1 1 auto!important;min-width:0!important;
   margin:0!important;padding:13px clamp(9px,.85vw,16px)!important;
   box-sizing:border-box!important;text-align:center!important;
   font-size:17px!important;font-weight:400!important;line-height:1.25!important;
   color:#fff5db!important;transform:none!important;
   white-space:normal!important;overflow-wrap:anywhere;
 }
 html body.tt-v24 :is(.site-header,.inner-header) .desktop-nav>a:hover,
 html body.tt-v24 :is(.site-header,.inner-header) .desktop-nav>a.active{
   color:#fff!important;text-shadow:0 0 12px rgba(255,218,135,.4);
 }
 html body.tt-v24 :is(.site-header,.inner-header) .desktop-nav>a::before{content:none!important}
 html body.tt-v24 :is(.site-header,.inner-header) .desktop-nav>a:not(:first-child)::before{
   content:""!important;position:absolute!important;
   left:0!important;right:auto!important;top:50%!important;bottom:auto!important;
   width:5px!important;height:5px!important;margin:0!important;
   border:1px solid #fff8d6!important;border-radius:1px!important;
   box-sizing:border-box!important;
   background:linear-gradient(135deg,#fffef1 0%,#fff1a4 48%,#ffc64c 100%)!important;
   pointer-events:none!important;z-index:2!important;
   transform:translate(-50%,-50%) rotate(45deg);
   opacity:.7;filter:brightness(1);
   box-shadow:0 0 4px #ffe59c,0 0 9px rgba(255,206,91,.75);
   animation:tulipMenuSparkV93 3.4s ease-in-out infinite!important;
 }
 html body.tt-v24 :is(.site-header,.inner-header) .desktop-nav>a:nth-child(2n)::before{animation-delay:-.9s!important}
 html body.tt-v24 :is(.site-header,.inner-header) .desktop-nav>a:nth-child(3n)::before{animation-delay:-1.8s!important}
 html body.tt-v24 :is(.site-header,.inner-header) .desktop-nav>a:nth-child(5n)::before{animation-delay:-2.7s!important}
 html body.tt-v24 :is(.site-header,.inner-header):has(.desktop-nav>a:nth-child(9)) .brand-text{display:none!important}
}
@media(min-width:1051px) and (max-width:1230px){
 html body.tt-v24 :is(.site-header,.inner-header) .header-shell{column-gap:8px!important}
 html body.tt-v24 :is(.site-header,.inner-header) .desktop-nav>a{padding-inline:8px!important}
}
@keyframes tulipMenuSparkV93{
 0%,35%,100%{opacity:.55;filter:brightness(1);transform:translate(-50%,-50%) rotate(45deg) scale(.85);box-shadow:0 0 3px #ffe59c,0 0 6px rgba(255,206,91,.4)}
 48%,55%{opacity:1;filter:brightness(1.65);transform:translate(-50%,-50%) rotate(45deg) scale(1.12);box-shadow:0 0 5px #fff9de,0 0 12px rgba(255,206,91,.9)}
 70%{opacity:.65;filter:brightness(1.05);transform:translate(-50%,-50%) rotate(45deg) scale(.9);box-shadow:0 0 3px #ffe59c}
}
@media(max-width:1050px){
 html body.tt-v24 :is(.site-header,.inner-header) .desktop-nav{display:none!important}
}
@media(prefers-reduced-motion:reduce){
 html body.tt-v24 :is(.site-header,.inner-header) .desktop-nav>a:not(:first-child)::before{
   animation:none!important;opacity:.85;filter:none;
 }
}

