/* Flag-only navigation at every viewport width; keep names for screen readers. */
.global-language-bar__item{min-width:54px;flex:0 0 54px;justify-content:center;padding:5px 9px}
.global-language-bar__item .language-name{display:block;position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);clip-path:inset(50%);white-space:nowrap;border:0}
/* One outer container and gutter for every main section. */
:root{--rid-content-gutter:clamp(20px,3.4vw,54px)}
.login-view,.resident-news,.digital-reception,.smart-routine,.voice-robot-shell,.public-mode .page-shell{width:100%;max-width:1420px;margin-inline:auto;padding-inline:var(--rid-content-gutter)}
.login-view>.login-brand,.login-view>.login-panel{padding-inline:28px}
@media(max-width:900px){:root{--rid-content-gutter:22px}}
@media(max-width:820px){.login-view>.login-brand,.login-view>.login-panel{padding-inline:0}}
@media(max-width:760px){:root{--rid-content-gutter:15px}}
/* Reserve the actual width of the phone CTA, including its icon and padding. */
@media(min-width:1101px){
 .voice-robot{grid-template-columns:minmax(0,1.2fr) minmax(0,1.35fr) max-content}
}
.robot-phone{max-width:100%;min-width:0}
/* Stop the headline growing with the monitor once its content container is capped. */
@media(min-width:821px){.login-copy h1{font-size:clamp(2.8rem,5vw,4.5rem)}}
/* Fill the complete news image column without changing the article content. */
.resident-news__visual{position:relative}
.resident-news__visual>#newsImage{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(min-width:821px){.resident-news__visual{align-self:stretch;aspect-ratio:auto;max-height:none}}
@media(min-width:821px){.resident-news__visual{grid-column:1;grid-row:1 / span 2}}
/* Keep the Apple-specific cover label in view when the card crops its image. */
.resident-news__visual>#newsImage[src*="apple-wallpaper-reminder"]{object-position:center}
