/* Shared header dimensions and branding for the Square, plans and dashboard. */
.site-header{box-sizing:border-box;height:94px;min-height:94px;padding:0 3.2%;display:flex;align-items:center;gap:22px;background:#fff;border-bottom:1px solid #dbe4ed;box-shadow:0 3px 16px color-mix(in srgb,var(--theme-navy,#0a2f57) 4%,transparent);line-height:1.4;position:relative;z-index:20;flex-wrap:nowrap}
.site-header .brand-logo,.site-header .brand,.site-header .dashboard-brand{display:flex;align-items:center;flex:0 0 auto;line-height:0;min-width:0}
.site-header .brand-logo img,.site-header .brand img,.site-header .dashboard-brand img{display:block;width:250px;max-width:100%;height:auto;object-fit:contain}
.site-header nav{margin-left:auto;gap:22px}.site-header .nav{font:600 13px/1.4 Arial,sans-serif;color:var(--theme-navy,#0a2f57);white-space:nowrap;text-decoration:none;padding:7px 0}.marketing-header .nav.active{border-bottom:3px solid var(--theme-accent,#53a2d9)}
.site-header .header-actions{display:flex;align-items:center;gap:8px;margin-left:0;flex-shrink:0}
.site-header #account-button,.site-header #saved-nav,.site-header #plans-menu,.site-header #mobile-menu{box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;color:var(--theme-navy,#0a2f57);background:#fff;border:1px solid #d3e3f0;text-decoration:none;height:44px;padding:10px;border-radius:50%;flex-shrink:0}
.site-header #account-button{width:44px}.site-header #saved-nav{min-width:68px;gap:8px;border-radius:24px}.site-header #saved-nav:has(#saved-count){min-width:68px;border-radius:24px}
.site-header .header-actions svg,.site-header #plans-menu svg,.site-header #mobile-menu svg{display:block;width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.site-header .header-claim,.site-header [data-claim]{height:44px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;gap:12px;border-radius:24px;background:var(--theme-accent,#53a2d9);color:white;font:800 12px/1.4 Arial,sans-serif;white-space:nowrap;border:0;text-decoration:none}
.site-header #plans-menu,.site-header #mobile-menu{display:none;border-radius:9px;width:42px}.marketing-header{position:sticky;top:0}.dashboard-header{position:sticky;top:0}.dashboard-header .header-context{font-size:13px}.dashboard-header .website-link{margin-left:auto!important}.dashboard-header #signout{min-width:90px;height:44px;font-size:12px;border-radius:24px;margin-left:0}
@media(max-width:1200px){.site-header{gap:16px}.site-header .brand-logo img,.site-header .brand img,.site-header .dashboard-brand img{width:210px}.site-header nav{gap:14px}.site-header .nav{font-size:12px}.site-header .header-claim,.site-header [data-claim]{display:none}}
@media(max-width:950px){.site-header{height:80px;min-height:80px;gap:12px}.site-header .brand-logo img,.site-header .brand img,.site-header .dashboard-brand img{width:215px}.site-header .header-actions{margin-left:auto}.site-header #plans-menu,.site-header #mobile-menu{display:inline-flex}.site-header #account-button{display:inline-flex!important}.marketing-header nav{display:none;position:absolute;left:0;right:0;top:100%;margin:0;padding:18px 4%;background:white;border-bottom:1px solid #dbe4ed;box-shadow:0 12px 18px color-mix(in srgb,var(--theme-navy,#0a2f57) 8%,transparent);grid-template-columns:1fr 1fr;gap:10px}.marketing-header nav.open{display:grid}.marketing-header nav a{padding:12px;border-radius:7px;background:#f0f7fc}.dashboard-header .header-context{display:none}}
@media(max-width:650px){.site-header{height:72px;min-height:72px;padding:0 12px;gap:8px}.site-header .brand-logo,.site-header .brand,.site-header .dashboard-brand{min-width:0;flex:1}.site-header .brand-logo img,.site-header .brand img,.site-header .dashboard-brand img{width:180px}.site-header #account-button,.site-header #saved-nav{height:40px;width:40px;padding:9px}.site-header #saved-nav{min-width:58px;width:auto}.site-header #mobile-menu,.site-header #plans-menu{width:40px;height:40px}.dashboard-header .website-link{font-size:11px!important;padding:8px 10px;white-space:nowrap}.dashboard-header #signout{min-width:64px;padding:8px 10px;height:40px;font-size:11px}.site-header .header-actions{gap:6px}}
@media(max-width:360px){.site-header .brand-logo img,.site-header .brand img,.site-header .dashboard-brand img{width:150px}.site-header{gap:6px}}
@media(max-width:950px){.marketing-header nav.open a{display:block!important}}
.announcement-bar{height:28px;min-height:28px;position:relative;background:var(--theme-navy,#0a2f57);color:#fff;padding:0;font:600 11px/28px Arial,sans-serif;letter-spacing:.4px;overflow:hidden}.announcement-window{overflow:hidden;margin-right:32px}.announcement-track{display:flex;width:max-content;animation:announcement-scroll var(--announcement-duration,28s) linear infinite}.announcement-message{display:block;flex:0 0 auto;min-width:100vw;padding:0 45px;text-align:center;white-space:nowrap}.announcement-pause{position:absolute;right:4px;top:0;height:28px;width:28px;padding:0;border:0;border-radius:0;background:var(--theme-navy,#0a2f57);color:#cfe5f4;font:700 11px/28px Arial,sans-serif;cursor:pointer}.announcement-pause:focus-visible{outline:2px solid white;outline-offset:-4px}.announcement-bar:hover .announcement-track,.announcement-bar:focus-within .announcement-track,.announcement-paused .announcement-track{animation-play-state:paused}.announcement-static .announcement-track{animation:none;display:block;width:100%}.announcement-static .announcement-message{min-width:0;overflow:hidden;text-overflow:ellipsis}.announcement-static .announcement-message[aria-hidden],.announcement-static .announcement-pause{display:none}.announcement-static .announcement-window{margin-right:0}@keyframes announcement-scroll{to{transform:translateX(-50%)}}@media(max-width:650px){.announcement-bar{font-size:10px;letter-spacing:.1px}}@media(prefers-reduced-motion:reduce){.announcement-track{animation:none}.announcement-message[aria-hidden],.announcement-pause{display:none}.announcement-window{margin-right:0}.announcement-message{min-width:0}.announcement-track{width:auto}}
.announcement-message{margin:0;color:inherit;font-weight:600;letter-spacing:inherit}
/* Keep images in place and suppress supported mobile image-save callouts. */
img,picture{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
a:has(img){-webkit-user-drag:none;-webkit-touch-callout:none}
.tile.photo,.quick-image,.quick-gallery,.gallery-lightbox,.hero-wall-square{-webkit-user-drag:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
/* Reserve identical public navigation geometry before and after account loading. */
.site-header{position:sticky;top:0}.site-header .nav{height:44px;min-height:44px;display:inline-flex;align-items:center;letter-spacing:0;border:0;box-sizing:border-box}.marketing-header .nav.active{border:0;position:relative}.marketing-header .nav.active:after{content:'';position:absolute;height:3px;bottom:5px;left:0;right:0;background:var(--blue)}
.site-header #saved-nav{width:75px;min-width:75px;padding:10px;gap:8px}.site-header #saved-nav b{display:inline-block;background:#e5f2fb;padding:2px 6px;border-radius:5px;font:700 12px/1.4 Arial,sans-serif;color:var(--navy)}
.site-header .header-claim,.site-header [data-claim]{width:185px;min-width:185px}.site-header .header-claim span,.site-header [data-claim] span{font-size:19px;line-height:1}
@media(max-width:950px){.marketing-header nav.open a{display:flex!important}}
@media(max-width:650px){.site-header #saved-nav{width:58px;min-width:58px}}
@media(max-width:650px){.site-header #mobile-menu,.site-header #plans-menu{min-width:40px;max-width:40px;width:40px;padding:9px;gap:0}}
/* Desktop navigation responds without moving its neighbours or header. */
@media(min-width:951px) and (hover:hover) and (pointer:fine){
 .site-header nav .nav{position:relative;isolation:isolate;border-bottom:3px solid transparent!important;transition:color .2s ease,transform .2s ease;text-align:center}
 .site-header nav .nav:before{content:'';position:absolute;z-index:-1;inset:-4px -9px;border-radius:9px;background:color-mix(in srgb,var(--theme-accent,#53a2d9) 12%,transparent);box-shadow:0 4px 15px color-mix(in srgb,var(--theme-accent,#53a2d9) 13%,transparent);opacity:0;transform:scale(.9);transition:opacity .2s ease,transform .2s ease}
 .site-header nav .nav:after{content:'';position:absolute;left:0;right:0;bottom:-3px;height:3px;border-radius:3px;background:var(--theme-accent,#53a2d9);transform:scaleX(0);transform-origin:center;transition:transform .25s cubic-bezier(.2,.8,.2,1),box-shadow .25s ease}
 .site-header nav .nav:hover,.site-header nav .nav:focus-visible{color:#1676ac;transform:translateY(-2px)}
 .site-header nav .nav:hover:before,.site-header nav .nav:focus-visible:before{opacity:1;transform:scale(1)}
 .site-header nav .nav:hover:after,.site-header nav .nav:focus-visible:after,.site-header nav .nav.active:after,.site-header nav .nav[aria-current=page]:after{transform:scaleX(1)}
 .site-header nav .nav.active:after{box-shadow:0 2px 8px color-mix(in srgb,var(--theme-accent,#53a2d9) 35%,transparent)}
 .site-header nav .nav:active{transform:translateY(1px) scale(.96)}
 .site-header nav .nav:active:before{background:color-mix(in srgb,var(--theme-accent,#53a2d9) 23%,transparent)}
}
@media(prefers-reduced-motion:reduce){.site-header nav .nav,.site-header nav .nav:before,.site-header nav .nav:after{transition:none!important}.site-header nav .nav:hover,.site-header nav .nav:active,.site-header nav .nav:focus-visible{transform:none!important}}
