.site-visual .topbar,.home-visual .topbar,.detail-compact .topbar{position:fixed;top:0;left:0;right:0;bottom:auto;z-index:1000;background:#263b47f5;border-bottom:1px solid #ffffff25;backdrop-filter:blur(12px)}body.detail-compact{padding-top:84px}html{scroll-padding-top:104px}.detail-compact main [id]{scroll-margin-top:104px}@media(max-width:1000px){body.detail-compact{padding-top:122px}html{scroll-padding-top:142px}.detail-compact main [id]{scroll-margin-top:142px}}

/* Prominent telephone link, across desktop and tablet headers. */
body.site-visual .topbar .top-phone{font-size:26px;font-weight:800;color:#ff6592;border:1px solid #ff6592aa;background:#ec2c6112;padding:10px 16px;letter-spacing:-.03em;white-space:nowrap;line-height:1.25}body.site-visual .topbar .top-phone:hover{color:#fff;background:#d92358;border-color:#d92358}
@media(min-width:1001px) and (max-width:1200px){body.site-visual .topbar .wrap{gap:20px}body.site-visual .topbar .nav{gap:22px}}

body.site-visual .topbar .brand{flex-shrink:0}body.site-visual .topbar .brand-logo{display:block;width:clamp(235px,25vw,350px);height:auto;max-width:100%;object-fit:contain}
@media(min-width:1001px){body.site-visual .topbar .wrap{gap:28px}body.site-visual .topbar .nav{gap:28px}}
@media(max-width:640px){body.site-visual .topbar .brand-logo{width:min(310px,calc(100vw - 40px))}}

/* Owner requested double-size navigation text, including mobile. */
body.site-visual .topbar .nav a{font-size:28px;font-weight:650;white-space:nowrap}body.site-visual .topbar .nav{gap:24px}body.site-visual .topbar .wrap{gap:22px}
@media(min-width:1001px) and (max-width:1350px){body.site-visual .topbar .brand-logo{width:260px}body.site-visual .topbar .nav{gap:16px}body.site-visual .topbar .wrap{gap:16px}}
@media(max-width:1000px){body.site-visual .topbar .nav a{font-size:26px}}
@media(max-width:640px){body.site-visual .topbar .nav a{font-size:24px;padding:0 2px}body.site-visual .topbar .nav{gap:8px;overflow-x:auto;justify-content:space-between;scrollbar-width:thin}body.site-visual .topbar .nav a{flex-shrink:0}}

/* Restore original menu type sizes; keep new logo and phone treatment. */
body.site-visual .topbar .nav a{font-size:14px;font-weight:500}@media(max-width:1000px){body.site-visual .topbar .nav a{font-size:13px}}@media(max-width:640px){body.site-visual .topbar .nav a{font-size:12px}}

/* Compact supplied logo; maintain full aspect ratio. */
body.site-visual .topbar .brand-logo{width:245px;max-width:100%;height:auto}@media(max-width:640px){body.site-visual .topbar .brand-logo{width:220px}}

@media(max-width:640px){body.site-visual .topbar{height:104px}body.site-visual .topbar .wrap{width:calc(100% - 28px);gap:0;align-content:flex-start}body.site-visual .topbar .brand{height:58px;display:flex;align-items:center}body.site-visual .topbar .brand-logo{width:220px}body.site-visual .topbar .nav,body.site-visual .topbar .nav.open{height:42px;margin:0;gap:0;overflow:visible;justify-content:space-between;flex:0 0 100%;padding:0}body.site-visual .topbar .nav a{font-size:12px;height:42px;padding:0 2px;display:flex;align-items:center;flex:0 0 auto}body.detail-compact{padding-top:104px}html{scroll-padding-top:120px}}

@media(max-width:640px){body.site-visual .mobile-cta{justify-content:center;grid-template-columns:minmax(0,320px);gap:0}body.site-visual .mobile-cta a{flex:0 1 320px;width:min(100%,320px);margin:0 auto}body.site-visual .mobile-cta a:only-child{background:#ec2c61;color:#fff}}
