/* Homepage hero: existing identity, shared radii, usable fields at every width. */
.home-hero-home .home-hero-copy{min-width:0}
.home-hero-home .home-hero-copy>*,
.home-hero-home .home-search>*{min-width:0;max-width:100%}
.home-hero-home .home-hero-photo>img{object-position:50% 48%}
.home-hero-home .home-hero-copy h1{overflow-wrap:break-word}
.home-hero-home .home-hero-copy>.lead{line-height:1.65}
.home-hero-home .home-search{
 --ui-radius-search:999px;
 display:grid;grid-template-columns:minmax(0,1.7fr) minmax(252px,1fr) auto;
 width:100%;max-width:100%;gap:0;padding:6px;border-radius:var(--ui-radius-search);
}
.home-hero-home .home-search .search-query-field{position:relative;min-width:0}
:root .home-hero-home .home-search .search-query-field>label{min-width:0;padding-left:42px}
.home-hero-home .home-search input{min-width:0;text-overflow:ellipsis}
.home-hero-home .home-search-icon{position:absolute;left:15px;top:50%;width:18px;height:18px;transform:translateY(-50%);color:var(--navy);pointer-events:none;flex:none}
.home-hero-home .home-search .search-at{display:none}
.home-hero-home .home-search .search-location-field{min-width:0;gap:0}
.home-hero-home .home-search .search-location-icon{display:block;flex:0 0 18px;width:18px;height:18px;margin-right:9px;color:var(--navy);pointer-events:none}
.home-hero-home .home-search>.btn{grid-column:auto;margin:0;border-radius:var(--ui-radius-button);min-height:var(--ui-control-min);font-size:13px}
.home-hero-home .home-search :is(.search-options,.location-panel){border-radius:var(--radius-lg)}
.home-hero-home .home-search :is(.search-options button,.location-choice,.location-department){border-radius:var(--radius-sm)}
.home-hero-home .home-search :is(.search-options button,.location-choice,.location-department):hover,
.home-hero-home .home-search .search-options button[aria-selected=true]{background:var(--pale);color:var(--navy)}
.home-hero-home .home-search :is(.search-clear,.location-clear,.location-toggle){
 display:flex;align-items:center;justify-content:center;flex:0 0 44px;
 width:44px;min-width:44px;height:44px;min-height:44px;padding:0;border-radius:50%;
 color:var(--sub);background:transparent;
}
.home-hero-home .home-search .search-clear>span{background:transparent}
.home-hero-home .home-search :is(.search-clear,.location-clear,.location-toggle):hover{background:var(--pale);color:var(--navy)}
.home-hero-home .home-search .search-clear:hover>span{background:transparent;color:inherit}
/* Follow each rounded field when navigating by keyboard. The shared input
   reset otherwise leaves a square outline inside the capsule. */
:root:not([data-field-focus="pointer"]) .home-hero-home .home-search input:focus-visible{outline:none!important}
:root:not([data-field-focus="pointer"]) .home-hero-home .home-search :is(.search-query-field,.search-location-field):has(input:focus-visible){outline:2px solid var(--cyan)!important;outline-offset:-3px}
.home-hero-home .home-search :is(.search-options button,.location-panel button):focus-visible{outline:2px solid var(--cyan);outline-offset:-3px}
.home-hero-home .mobile-band.home-mobile-band{
 display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;
 /* Override the legacy 550px !important tablet limit on hero-mobile-band. */
 width:100%;max-width:590px!important;gap:12px;padding:12px;margin-top:24px;
 border:0;border-radius:var(--radius-lg);background:#e7f4ff;box-shadow:none;
}
.home-hero-home .home-mobile-band>div{min-width:0}
.home-hero-home .home-hero-copy .home-mobile-band strong{font-size:13px;font-weight:500;line-height:1.5;overflow-wrap:break-word}
.home-hero-home .home-mobile-band .mobile-app-icon{width:36px;height:36px;border-radius:var(--radius-sm)}
.home-hero-home .home-mobile-band .home-mobile-download{
 display:inline-flex;align-items:center;justify-content:center;gap:8px;
 min-width:0;max-width:100%;margin:0;padding:10px 14px;min-height:var(--ui-control-min);
 border:1px solid #d4dce4;border-radius:var(--ui-radius-button);
 background:#fff;color:var(--navy);font-size:13px;line-height:1.3;white-space:nowrap;box-shadow:0 1px 3px #1f1f540d;
}
.home-hero-home .home-mobile-band .home-mobile-download:hover{background:#f8fbff;text-decoration:none;border-color:#9fbad1}
.home-hero-home .home-mobile-download>svg{display:block;flex:none}
#modal.qr-dialog{width:min(440px,calc(100% - 32px));max-width:440px;max-height:calc(100dvh - 32px);overflow-y:auto;overscroll-behavior:contain;padding:64px 28px 28px;border:0;border-radius:var(--radius-lg);background:#fff;text-align:center}
#modal.qr-dialog .modal-heading{padding:0;font-size:21px;line-height:1.4;font-weight:500;margin:0 0 14px;overflow-wrap:break-word}
#modal.qr-dialog .modal-close{top:8px;right:8px;display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border-radius:50%;color:#777;font-size:25px;line-height:1;background:transparent}
#modal.qr-dialog .modal-close:hover{background:var(--pale);color:var(--navy)}
#modal.qr-dialog .modal-close:focus-visible{outline:2px solid var(--cyan);outline-offset:2px}
#modal.qr-dialog .qr-panel-simple p{font-size:14px;line-height:1.7;margin:0;color:var(--sub)}
#modal.qr-dialog .qr-panel-simple>img{display:block;width:232px;max-width:100%;height:auto;margin:22px auto 0;border:0;border-radius:0;box-shadow:none;background:#fff}

@media(max-width:1100px){
 .home-hero-home{display:flex;flex-direction:column;min-height:0}
 .home-hero-home>.container{order:0;width:100%}
 .home-hero-home .home-hero-copy{width:100%;max-width:none;padding:30px 0 26px}
 .home-hero-home .home-hero-copy h1{font-size:clamp(28px,3.6vw,36px);max-width:24ch}
 .home-hero-home .home-hero-copy>.lead{font-size:15px;max-width:none}
 .home-hero-home .home-search{margin-top:24px}
 .home-hero-home .home-search input{font-size:16px}
 .home-hero-home .home-hero-photo{position:relative;inset:auto;order:1;width:100%;height:clamp(260px,36vw,390px);border-radius:0}
 .home-hero-home .home-hero-photo::before{top:-49px;left:-8%;width:116%;height:68px;border-radius:0 0 50% 50%}
 .home-hero-home .mobile-band.home-mobile-band{max-width:720px!important;margin-top:20px}
 .home-hero-home .home-hero-copy .home-mobile-band strong{font-size:14px}
}
@media(max-width:700px){
 .home-hero-home .home-search{--ui-radius-search:var(--radius-lg);grid-template-columns:minmax(0,1fr);padding:6px;gap:0}
 .home-hero-home .home-search .search-query-field{min-height:54px}
 :root .home-hero-home .home-search .search-query-field>label{min-height:54px;padding-top:10px;padding-bottom:10px}
 .home-hero-home .home-search .search-location-slot{border-left:0;border-top:1px solid var(--line)}
 .home-hero-home .home-search .search-location-field{min-height:54px;padding:0 8px 0 16px}
 .home-hero-home .home-search>.btn{grid-column:auto;width:100%;min-width:0;min-height:48px;margin-top:6px;font-size:14px}
 .home-hero-home .home-hero-copy{padding:26px 0 24px}
 .home-hero-home .home-hero-copy h1{max-width:none}
 .home-hero-home .home-hero-copy h1 br{display:none}
 .home-hero-home .home-hero-photo{height:clamp(250px,55vw,340px)}
 #modal.qr-dialog{padding:64px 20px 24px}
 #modal.qr-dialog .modal-heading{font-size:20px}
}
@media(forced-colors:active){
 :root:not([data-field-focus="pointer"]) .home-hero-home .home-search :is(.search-query-field,.search-location-field):has(input:focus-visible){outline-color:Highlight!important}
 .home-hero-home .home-search :is(.search-options button,.location-panel button):focus-visible,
 #modal.qr-dialog .modal-close:focus-visible{outline-color:Highlight}
}
@media(max-width:480px){
 .home-hero-home .mobile-band.home-mobile-band{grid-template-columns:32px minmax(0,1fr);align-items:start;gap:12px;padding:14px;margin-top:18px}
 .home-hero-home .home-mobile-band .mobile-app-icon{width:32px;height:32px}
 .home-hero-home .home-mobile-band .home-mobile-download{grid-column:1/-1;justify-self:stretch;width:100%;font-size:14px}
}
