/* Photographic layer only: the existing masthead, copy, gradient and wave stay intact. */
.homepage-page .home-masthead-image.rsz-banner,.home-masthead-image.rsz-banner{filter:none;background:#edf7ff;overflow:hidden}
.rsz-banner-fallback{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.rsz-banner-slide{position:absolute;inset:0;opacity:0;transition:opacity var(--banner-fade,600ms) ease;background:#edf7ff;pointer-events:none}
.rsz-banner-slide.is-current{opacity:1}
.rsz-banner-slide img{position:absolute;right:0;top:0;width:62%;height:100%;max-width:none;object-fit:contain;object-position:50% 50%}
.rsz-banner-slide[data-fit=cover] img{object-fit:cover}
.rsz-banner-controls{position:absolute;right:0;bottom:60px;z-index:3;display:flex;align-items:center;gap:5px;padding:4px;border-radius:24px;background:#0b2450d9;color:white;font-size:12px}
.rsz-banner-controls[hidden]{display:none}
.rsz-banner-controls button{min-width:36px;min-height:36px;border:1px solid #ffffff70;border-radius:22px;background:transparent;color:#fff;padding:5px 10px;font:inherit;cursor:pointer}
.rsz-banner-controls button:focus-visible{outline:3px solid #ffd21a;outline-offset:2px}
.rsz-banner-controls [data-banner-counter]{padding:0 7px}
.banner-admin .banner-list{display:grid;gap:14px}.banner-admin .banner-row{display:flex;gap:18px;align-items:center;flex-wrap:wrap;padding:14px;border:1px solid #d5dfed;border-radius:10px}
.banner-admin .banner-row img{width:150px;height:95px;object-fit:contain;background:#edf7ff}.banner-admin .banner-row form{margin:0}.banner-admin .banner-row .actions{margin:0}
.banner-admin .banner-position-grid{display:grid;grid-template-columns:2fr 1fr;gap:18px}.banner-position-image{display:block;width:100%;height:250px;object-fit:contain;background:#edf7ff;cursor:grab;touch-action:none}.banner-mobile-position .banner-position-image{height:235px}.banner-position-image:focus-visible{outline:3px solid #d3a800}
.banner-admin iframe{width:100%;height:680px;border:1px solid #ced9ec}.banner-admin input[type=range]{width:100%}.banner-admin .banner-status{font-size:14px}
@media(max-width:700px){.rsz-banner-slide img{width:100%}.rsz-banner-controls{bottom:34px;right:2px}.banner-admin .banner-position-grid{grid-template-columns:1fr}.banner-admin .banner-row img{width:100px;height:75px}.banner-admin iframe{height:650px}}
@media(prefers-reduced-motion:reduce){.rsz-banner-slide{transition:none}}
/* Keep the whole photograph clear of the unchanged text column. */
@media(min-width:701px){.rsz-banner-slide img{width:44%}}
@media(min-width:701px) and (max-width:900px){.rsz-banner-slide img{width:35%}}
@media(min-width:901px) and (max-width:1250px){.rsz-banner-slide img{width:40%}}
.rsz-banner-controls .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
/* Approved photographic treatment: full-height image blending into the text area. */
@media(min-width:701px){
 .rsz-banner-slide img{width:64%;object-fit:cover}
 .home-masthead-inner:has(.rsz-banner) .home-masthead-copy{width:48%}
 .home-masthead-inner:has(.rsz-banner) h1{max-width:650px}
}
@media(min-width:701px) and (max-width:900px){
 .rsz-banner-slide img{width:62%}
 .home-masthead-inner:has(.rsz-banner) .home-masthead-copy{width:50%}
}
@media(min-width:701px){
 .home-masthead-inner:has(.rsz-banner) .home-masthead-copy>p:not(.eyebrow){max-width:560px}
}
.rsz-banner-slide[data-fit=contain] img{object-fit:contain}
.banner-desktop-position .banner-position-image{height:auto;aspect-ratio:1.56}
/* Clear, untinted photographs; feather only their left edge into the copy. */
.rsz-banner-slide:after{content:none}
.rsz-banner-slide img{filter:contrast(1.025) saturate(1.025)}
@media(min-width:701px){
 .rsz-banner-slide img{-webkit-mask-image:linear-gradient(90deg,transparent 0%,transparent 3%,#00000014 7%,#00000042 11%,#0000008c 15%,#000000d1 19%,#000000f7 23%,#000 27%);mask-image:linear-gradient(90deg,transparent 0%,transparent 3%,#00000014 7%,#00000042 11%,#0000008c 15%,#000000d1 19%,#000000f7 23%,#000 27%)}
 .homepage-page .home-masthead-inner:has(.rsz-banner):before{background:linear-gradient(100deg,#fff 0%,#fff 29%,#fbfdfff5 33%,#f3faffb8 37%,#edf7ff52 41%,#edf7ff00 46%)}
}
/* Homepage navigation sits on the solid top bar, clear of the photography. */
.rsz-banner-slide.rsz-banner-original-ct img{width:100%;filter:url('hero-clarity.svg#ct-clarity');-webkit-mask-image:none;mask-image:none}
@media(min-width:701px){.rsz-banner-original-ct:after{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#fff 0%,#fffffff0 28%,#ffffff9c 44%,#ffffff00 64%)}}
.home-navigation-bar{position:relative;z-index:40}
.home-navigation-bar .topinner>.home-login{display:inline-flex;align-items:center;justify-content:center}
.home-navigation-bar #main-nav>.search-link svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;flex-shrink:0}
.home-navigation-bar #main-nav>.search-link .search-label{display:none}
.home-navigation-bar .topinner{position:relative;gap:16px;justify-content:flex-end}
.home-navigation-bar .home-login{flex:0 0 auto;border:1px solid #ffffff90;border-radius:7px;padding:8px 16px;color:#fff;white-space:nowrap}
@media(min-width:1151px){
 .home-navigation-bar #main-nav{display:flex;align-items:center;justify-content:flex-end;gap:4px;min-width:0}
 .home-navigation-bar #main-nav>.nav-group{border:0}
 .home-navigation-bar #main-nav>.nav-group>summary,.home-navigation-bar #main-nav>.nav-direct{color:#fff;font-size:13px;padding:12px 8px;min-height:48px;display:flex;align-items:center;white-space:nowrap}
 .home-navigation-bar #main-nav>.nav-highlight>summary{background:#ffcf16;color:#092575;border-radius:8px}
 .home-navigation-bar #main-nav>.nav-group[open]>summary{background:#edf3fb;color:#092575}
 .home-navigation-bar #main-nav>.search-link{position:static;display:flex;align-items:center;justify-content:center;flex:0 0 42px;width:42px;height:42px;background:#fff;color:#092575;border-radius:8px;font-size:16px}
 .home-navigation-bar .nav-panel{color:#40537b;top:100%;z-index:50}
 .home-navigation-bar .nav-panel a{color:#092575;white-space:normal;display:block;padding:14px 8px;border-bottom:1px solid #d9e2ef;font-size:15px}
 .home-navigation-bar .nav-panel a:hover{background:#f1f6fa;text-decoration:none}
 .homepage-page>.header{pointer-events:none}
 .homepage-page>.header .brand{pointer-events:auto}
}
@media(min-width:1151px) and (max-width:1250px){.home-navigation-bar .topinner{width:calc(100% - 32px);gap:8px}.home-navigation-bar #main-nav>.nav-group>summary,.home-navigation-bar #main-nav>.nav-direct{font-size:12px;padding-inline:5px}.home-navigation-bar .home-login{padding-inline:10px}}
@media(max-width:1150px){.home-navigation-bar #main-nav{display:none}.home-navigation-bar .topinner{min-height:48px}.home-navigation-bar .home-login{padding:5px 14px}}

/* Optional per-photo fade: legacy slides retain their approved appearance. */
.rsz-banner-slide[data-custom-fade]{--photo-fade:var(--photo-fade-desktop,27%)}
.rsz-banner-slide[data-custom-fade] img{mask-image:linear-gradient(90deg,transparent 0%,#00000014 calc(var(--photo-fade)*.26),#0000008c calc(var(--photo-fade)*.56),#000000f7 calc(var(--photo-fade)*.85),#000 var(--photo-fade));-webkit-mask-image:linear-gradient(90deg,transparent 0%,#00000014 calc(var(--photo-fade)*.26),#0000008c calc(var(--photo-fade)*.56),#000000f7 calc(var(--photo-fade)*.85),#000 var(--photo-fade))}
.rsz-banner-slide[data-custom-fade]:after{content:none}
/* Phone photos sit below the copy, so show every image without a left-edge fade. */
@media(max-width:700px){
 .rsz-banner-slide img,.rsz-banner-slide[data-custom-fade] img,.rsz-banner-slide.rsz-banner-original-ct img{-webkit-mask-image:none;mask-image:none}
}
[data-fade-output]{font-variant-numeric:tabular-nums;margin-left:8px}
[data-banner-editor] input[type="checkbox"]{width:18px;height:18px;min-height:0;display:inline-block;vertical-align:middle;margin:0 8px 0 0}
/* On stacked phone layouts, the photograph meets the bottom of the action row. */
@media(max-width:700px){.homepage .home-masthead-copy{padding-bottom:0}.homepage .home-masthead-copy>.actions{margin-bottom:0}}

/* One compact forward control; native button remains keyboard accessible. */
.rsz-banner-controls{padding:0;border-radius:50%}
.rsz-banner-controls [data-banner-next]{width:44px;height:44px;border-radius:50%;font-size:24px;padding:0}
/* Align the next-photo control with the full-width banner edge, not the copy container. */
.homepage .rsz-banner-controls{right:calc((100% - 100vw)/2 + 12px)}
/* Enlarge the existing gold/navy artwork progressively on stacked phone heroes.
   Give the photo extra depth beneath the curve while retaining its saved focal position. */
@media(max-width:700px){
 .homepage .home-masthead{--mobile-wave-height:clamp(32px,calc(76px - 6.25vw),56px);padding-bottom:0}
 .homepage .home-masthead-image{height:calc(235px + var(--mobile-wave-height) - 28px)}
 .homepage .home-masthead:after{height:var(--mobile-wave-height)}
 .homepage .rsz-banner-controls{bottom:calc(var(--mobile-wave-height) + 6px)}
}

.rsz-banner-controls [data-banner-next]{display:grid;place-items:center;line-height:1}
.rsz-banner-controls [data-banner-next] svg{display:block;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* A taller SVG canvas keeps the entire mobile curve inside its viewport, avoiding a clipped trough. */
@media(max-width:700px){
 .homepage .home-masthead{--mobile-wave-lift:clamp(10px,3.5vw,16px)}
 .homepage .home-masthead:after{height:calc(var(--mobile-wave-height) + var(--mobile-wave-lift));background:url('home-wave-mobile.svg?v=1') center bottom/100% 100% no-repeat}
 .homepage .rsz-banner-controls{bottom:calc(var(--mobile-wave-height) + var(--mobile-wave-lift) + 6px)}
}

.home-navigation-bar .home-mobile-join{display:none}
@media(max-width:1150px){.home-navigation-bar .topinner>.home-mobile-join{display:inline-flex;min-height:34px;padding:6px 14px;line-height:1.4;color:var(--ink);white-space:nowrap}.home-navigation-bar .topinner{gap:10px}}
/* Compact mobile control at the photograph's upper-right corner. */
@media(max-width:700px){
 .homepage .rsz-banner-controls{bottom:calc(235px + var(--mobile-wave-height) - 28px - 44px - 4px);background:transparent}
 .homepage .rsz-banner-controls [data-banner-next]{position:relative;width:44px;height:44px;border:0;background:transparent;isolation:isolate}
 .homepage .rsz-banner-controls [data-banner-next]:before{content:'';position:absolute;inset:6px;border:1px solid #ffffff70;border-radius:50%;background:#0b2450d9;z-index:-1}
 .homepage .rsz-banner-controls [data-banner-next] svg{width:16px;height:16px}
}

/* Homepage account actions remain visible for signed-in visitors. */
.home-navigation-bar .home-logout{display:inline-flex;flex:0 0 auto;margin:0;padding:0}.home-navigation-bar .home-logout button{font:inherit;background:transparent;cursor:pointer;min-height:36px;line-height:1.4}.home-navigation-bar .home-logout button:hover{background:#ffffff18}.home-navigation-bar .home-logout button:focus-visible{outline:3px solid #ffcf16;outline-offset:2px}

/* Desktop utility row below Support RSZ; mobile account/navigation layout is unchanged. */
.home-navigation-bar .home-account-actions{display:contents}
.home-navigation-bar .home-desktop-search{display:none}
@media(min-width:1151px){
 .home-navigation-bar #main-nav>.search-link{display:none}
 .home-navigation-bar .home-account-actions{display:flex;align-items:center;gap:8px}
 .home-navigation-bar .home-account-actions .home-login{display:inline-flex;align-items:center;justify-content:center;min-height:40px;color:#fff;border-color:#ffffff90;background:transparent}
 .home-navigation-bar .home-desktop-search{position:absolute;top:calc(100% + 12px);right:0;display:grid;place-items:center;width:44px;height:44px;color:#092575;background:white;border:1px solid #cbd9ed;border-radius:7px;box-shadow:0 2px 8px #06265f12}
 .home-desktop-search svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
 .home-account-actions a:focus-visible{outline:3px solid #ffcf16;outline-offset:2px}
}
@media(max-width:1150px){.home-navigation-bar .home-account-actions>.home-login{display:inline-flex}}
