/* Homepage refinement. Existing brand variables and all inner pages stay intact. */
.home-editorial #main{padding-top:22px;padding-bottom:32px}
.home-editorial .home-focus-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:20px;align-items:stretch}
.home-editorial .news-carousel{margin:0;min-width:0}
.home-editorial .news-picture-card,.home-editorial .news-picture-card>a{border-radius:5px}
.home-editorial .home-focus-grid .news-picture-card>a{height:390px;min-height:0}
.home-editorial .news-main-feature>.news-picture-card{height:100%}
.home-editorial .news-main-feature img{position:static}
.home-editorial .news-picture-card img{object-fit:cover;object-position:center}
.home-editorial .news-picture-copy{padding:24px;justify-content:flex-end;background:linear-gradient(180deg,transparent 25%,rgba(15,29,24,.2) 45%,rgba(15,29,24,.94) 100%)}
.home-editorial .news-carousel .news-picture-copy{padding:24px 32px 46px}
.home-editorial .news-picture-copy>*{max-width:100%}
.home-editorial .news-picture-copy h3{font-size:clamp(24px,2.4vw,32px);line-height:1.4;font-weight:700;margin:0 0 12px;letter-spacing:0}
.home-editorial .news-main-feature .news-picture-copy h3{font-size:23px}
.home-editorial .news-picture-copy time{font-size:13px;line-height:1.5;color:#e5ebe7}
.home-editorial .news-carousel-controls{height:390px}
.home-editorial .news-carousel-controls [data-news-step]{top:auto;bottom:12px;transform:none;width:30px;height:30px;background:#152c2380}
.home-editorial .news-carousel-controls [data-news-step="-1"]{left:20px}
.home-editorial .news-carousel-controls [data-news-step="1"]{right:20px}
.home-editorial .news-carousel-dots{bottom:12px;max-width:calc(100% - 120px)}
.home-editorial .news-carousel-dots button{width:23px;height:28px;flex-shrink:0}
.home-editorial .news-feature-rail{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:20px;padding:0 0 18px;border-bottom:1px solid var(--line)}
.home-editorial .news-feature-rail .news-headline{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:5px 12px;align-content:start;padding:0;border:0;min-width:0}
.home-editorial .news-feature-rail .news-headline h3{font-size:16px;line-height:1.55;margin:0;font-weight:650}
.home-editorial .news-feature-rail .news-headline>time{font-size:12px;color:var(--muted);margin:0;align-self:end}
.home-editorial .news-feature-rail .news-headline-photo{width:84px;grid-column:2;grid-row:1/span 2;align-self:start}
.home-editorial .news-feature-rail .news-headline-photo img{width:84px;height:68px;object-fit:cover;border-radius:3px}
.home-editorial .news-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin-top:22px;padding:0 0 24px;border-bottom:1px solid var(--line)}
.home-editorial .news-grid-card{border:0;padding:0;min-width:0}
.home-editorial .news-grid-card>a{display:block;color:var(--ink);text-decoration:none}
.home-editorial .news-grid-card img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;border-radius:4px;margin:0 0 11px}
.home-editorial .news-grid-card h3{font-size:17px;line-height:1.5;margin:0 0 8px;font-weight:650}
.home-editorial .news-grid-card time{font-size:12px;color:var(--muted)}
.home-editorial .home-flow-sections{gap:26px;margin-top:28px}
.home-editorial .home-section-column{gap:26px}
.home-editorial .home-section{border-top:0;padding:0;background:none}
.home-editorial .home-section-heading{border-bottom:2px solid var(--line);padding-bottom:9px;margin-bottom:6px;position:relative}
.home-editorial .home-section-heading:after{content:'';position:absolute;bottom:-2px;left:0;width:40px;height:2px;background:var(--green)}
.home-editorial .home-section-heading h2{font-size:21px;font-weight:700}
.home-editorial .home-section-action,.home-editorial .home-publish{font-size:18px;min-height:36px}
.home-editorial .home-section .home-thumbnail-row{padding:12px 0;gap:4px 12px}
.home-editorial .home-section .home-thumbnail-row:has(.home-item-photo){grid-template-columns:92px minmax(0,1fr)}
.home-editorial .home-item-photo img{width:92px;height:76px;object-fit:cover;border-radius:3px}
.home-editorial .home-item-original .home-item-photo img{object-fit:contain;background:#f4f6f3}
.home-editorial .home-section h3{font-size:16px;line-height:1.55;font-weight:650}
.home-editorial .home-item-meta,.home-editorial .home-library-list p{font-size:13px;line-height:1.5;margin-top:1px}
.home-editorial .home-item-meta strong{font-size:15px}
.home-editorial .home-classified-pay{margin:0;color:var(--green);font-size:17px;font-weight:600;line-height:1.5}
.home-editorial .home-jobs .home-thumbnail-row:not(:has(.home-item-photo))>*{grid-column:1}
.home-editorial .home-list-date{font-size:12px;line-height:1.5;margin:0;color:var(--muted)}
.home-editorial .home-dining .restaurant-rating{font-size:12px;line-height:1.5}
.home-editorial .news-home a:focus-visible{outline:3px solid var(--green);outline-offset:3px}
@media(max-width:980px){
 .home-editorial .home-focus-grid{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:16px}
 .home-editorial .home-focus-grid .news-picture-card>a,.home-editorial .news-carousel-controls{height:350px}
 .home-editorial .news-picture-copy h3{font-size:25px}
 .home-editorial .news-main-feature .news-picture-copy h3{font-size:21px}
 .home-editorial .news-feature-rail{gap:16px}
 .home-editorial .news-feature-rail .news-headline{grid-template-columns:minmax(0,1fr)}
 .home-editorial .news-feature-rail .news-headline-photo{grid-column:1;grid-row:1;width:100%}
 .home-editorial .news-feature-rail .news-headline-photo img{width:100%;height:auto;aspect-ratio:16/9}
 .home-editorial .news-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
 .home-editorial .home-flow-sections{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
}
@media(max-width:600px){
 .home-editorial #main{padding-top:14px;padding-bottom:24px}
 .home-editorial .home-focus-grid{grid-template-columns:minmax(0,1fr);gap:14px}
 .home-editorial .home-focus-grid .news-picture-card>a,.home-editorial .news-carousel-controls{height:280px}
 .home-editorial .news-carousel .news-picture-copy{padding:18px 20px 46px}
 .home-editorial .news-picture-copy h3{font-size:23px;line-height:1.45}
 .home-editorial .news-main-feature .news-picture-card>a{height:210px}
 .home-editorial .news-main-feature .news-picture-copy{padding:18px}
 .home-editorial .news-main-feature .news-picture-copy h3{font-size:20px;line-height:1.45;margin-bottom:6px}
 .home-editorial .news-feature-rail{grid-template-columns:minmax(0,1fr);gap:0;margin-top:14px;padding-bottom:0;border:0}
 .home-editorial .news-feature-rail .news-headline{grid-template-columns:minmax(0,1fr) 88px;padding:12px 0;border-bottom:1px solid var(--line);gap:5px 12px}
 .home-editorial .news-feature-rail .news-headline-photo{grid-column:2;grid-row:1/span 2;width:88px}
 .home-editorial .news-feature-rail .news-headline-photo img{width:88px;height:70px;aspect-ratio:auto}
 .home-editorial .news-card-grid{gap:18px 14px;margin-top:20px;padding-bottom:20px}
 .home-editorial .news-grid-card h3{font-size:15px;line-height:1.55;margin-bottom:6px}
 .home-editorial .news-grid-card img{margin-bottom:8px}
 .home-editorial .home-flow-sections{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:24px}
 .home-editorial .home-section-heading h2{font-size:20px}
 .home-editorial .home-section .home-thumbnail-row:has(.home-item-photo){grid-template-columns:88px minmax(0,1fr)}
 .home-editorial .home-item-photo img{width:88px;height:72px}
}
.home-editorial .news-carousel-dots{max-width:calc(100% - 88px)}
.home-editorial .news-carousel-dots button{flex-shrink:1;min-width:16px}
.home-editorial .news-picture-copy h3{text-wrap:balance}
@media(min-width:601px) and (max-width:980px){
 .home-editorial .home-flow-sections>.home-section-column>.home-section{grid-column:auto}
 .home-editorial .home-dining-list{display:block}
}
@media(min-width:601px) and (max-width:980px){
 .home-editorial .news-main-feature img{object-position:var(--home-tablet-position,center)!important}
}
@media(max-width:600px){
 .home-editorial .news-main-feature .news-picture-card{background:#fff}
 .home-editorial .news-main-feature .news-picture-card>a{height:auto;display:flex;flex-direction:column;color:var(--ink);overflow:visible}
 .home-editorial .news-main-feature img{height:auto;aspect-ratio:16/9;object-fit:contain;object-position:center!important;border-radius:4px}
 .home-editorial .news-main-feature .news-picture-copy{position:static;padding:12px 0 0;background:none}
 .home-editorial .news-main-feature .news-picture-copy h3{font-size:18px;color:var(--ink);text-wrap:pretty;margin-bottom:6px}
 .home-editorial .news-main-feature .news-picture-copy time{color:var(--muted);font-size:12px}
}
/* Retire the old mobile overlay crop only inside the refined homepage. */
.home-editorial .news-carousel .news-picture-card img{object-fit:cover;object-position:var(--home-photo-position,center)!important}
/* Editorial variations use the existing brand palette and real site content. */
.home-news-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px;gap:16px}
.home-news-toolbar h2{font-size:20px;font-weight:700}

.home-editorial-columns{display:grid;grid-template-columns:minmax(0,2fr) minmax(260px,1fr);gap:30px;margin-top:28px;padding-bottom:28px;border-bottom:1px solid var(--line);align-items:start}
.home-featured-story .news-grid-card>a{display:grid;grid-template-columns:1fr 1.15fr;column-gap:22px;align-content:center}
.home-featured-story img{grid-column:2;grid-row:1/3;margin:0;aspect-ratio:4/3}
.home-featured-story h3{grid-column:1;align-self:end;font-size:24px}
.home-featured-story time{grid-column:1;align-self:start}
.home-three-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:24px}
.home-three-stories h3{font-size:16px}
.home-editorial-sidebar{display:grid;gap:20px;min-width:0}
.home-sidebar-stories .news-headline{display:grid;grid-template-columns:minmax(0,1fr) 84px;gap:5px 14px;padding:14px 0;border-bottom:1px solid var(--line)}
.home-sidebar-stories h3{font-size:16px;line-height:1.5;margin:0}
.home-sidebar-stories time{font-size:12px;color:var(--muted);margin:0}
.home-sidebar-stories .news-headline-photo{grid-column:2;grid-row:1/3;width:84px}
.home-sidebar-stories img{display:block;width:84px;height:68px;object-fit:cover;border-radius:3px}
.home-weather{border:1px solid var(--line);border-radius:6px;padding:20px;background:#f4f7f4}
.home-weather header{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}
.home-weather h2{font-size:18px;font-weight:700}
.home-weather select{font:inherit;font-size:13px;color:var(--ink);background:transparent;border:0;border-bottom:1px solid var(--line);max-width:100%;min-height:40px;padding:4px 0}
.home-weather-city{font-size:18px;font-weight:650;margin:16px 0 0}
.home-weather-reading{display:flex;align-items:flex-start;gap:3px;line-height:1;margin:16px 0 12px}
.home-weather-reading strong{font-size:64px;letter-spacing:-3px;font-weight:700}
.home-weather-reading>span{font-size:20px;padding-top:5px}
.home-weather-description{font-size:16px;margin-bottom:10px}
.home-weather-observed,.home-weather-humidity,.home-weather-updated,.home-weather-status{font-size:12px;line-height:1.6;color:var(--muted)}
.home-weather-status{margin-top:16px}
.home-weather-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;margin:18px 0 12px;padding-top:14px;border-top:1px solid var(--line)}
.home-weather-day{display:flex;flex-direction:column;gap:3px;align-items:center;font-size:12px}
.home-weather-day strong{font-size:17px;font-weight:650}
.home-weather-low{color:var(--muted)}
.home-weather-source{display:inline-block;font-size:12px;color:var(--green);text-decoration:underline;text-underline-offset:3px;margin-top:8px}
.home-weather-retry{font:inherit;font-size:13px;color:var(--green);border:1px solid var(--line);background:transparent;border-radius:3px;padding:4px 12px;margin-top:10px}
.home-department-sections{display:grid;gap:30px;margin-top:28px}
.home-housing-jobs{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:32px;align-items:start}
.home-editorial .home-housing .home-thumbnail-row:has(.home-item-photo){grid-template-columns:128px minmax(0,1fr);padding:12px 0;gap:3px 16px}
.home-editorial .home-housing .home-item-photo img{width:128px;height:90px}
.home-editorial .home-housing h3{font-size:20px}
.home-editorial .home-housing .home-item-meta{font-size:14px}
.home-editorial .home-housing .home-classified-pay{font-size:19px}
.home-editorial .home-library-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.home-editorial .home-libraries .home-thumbnail-row:has(.home-item-photo){grid-template-columns:150px minmax(0,1fr);padding:16px 0;gap:5px 18px}
.home-editorial .home-libraries .home-item-photo img{width:150px;height:100px}
.home-editorial .home-libraries h3{font-size:18px}
.home-outings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px}
.home-editorial .home-outings .home-thumbnail-row:has(.home-item-photo){grid-template-columns:128px minmax(0,1fr);gap:5px 18px;padding:16px 0}
.home-editorial .home-outings .home-item-photo img{width:128px;height:90px}
.home-market-feature{background:#24312e;color:#fff;border-radius:6px;padding:24px}
.home-editorial .home-market-feature .home-section{color:inherit}
.home-market-feature .home-section-heading{border-color:#52605a}
.home-market-feature a:hover{color:#d0e8db}
.home-market-feature .home-section-heading:after{background:#a6cdb9}
.home-market-feature .home-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
.home-editorial .home-market-feature .home-thumbnail-row:has(.home-item-photo){display:grid;grid-template-columns:72px minmax(0,1fr);gap:4px 12px;grid-column:auto;padding:0;border:0;min-width:0}
.home-editorial .home-market-feature .home-item-photo{display:block;margin-bottom:10px}
.home-editorial .home-market-feature .home-item-photo img{display:block;width:72px;height:54px;background:#f4f6f3;object-fit:cover}
.home-editorial .home-market-feature .home-item-meta,.home-editorial .home-market-feature .home-list-date{color:#c0cec7}
.home-editorial .home-market-feature .home-item-meta strong{color:#cee9da}
@media(max-width:980px){
 .home-editorial-columns{grid-template-columns:minmax(0,1.7fr) minmax(240px,1fr);gap:22px}
 .home-featured-story .news-grid-card>a{display:block}
 .home-featured-story img{aspect-ratio:16/9;margin-bottom:12px}
 .home-featured-story h3{font-size:21px}
 .home-three-stories{gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-three-stories .news-grid-card:last-child{grid-column:1/-1}
 .home-three-stories .news-grid-card:last-child>a{display:grid;grid-template-columns:1fr 1.2fr;gap:4px 14px}
 .home-three-stories .news-grid-card:last-child img{grid-column:2;grid-row:1/3;margin:0}
 .home-housing-jobs,.home-outings{gap:24px;grid-template-columns:repeat(2,minmax(0,1fr))}
 .home-editorial .home-housing .home-thumbnail-row:has(.home-item-photo){grid-template-columns:104px minmax(0,1fr);gap:4px 12px}
 .home-editorial .home-housing .home-item-photo img{width:104px;height:82px}
 .home-editorial .home-housing h3{font-size:16px}
 .home-editorial .home-libraries .home-thumbnail-row:has(.home-item-photo){grid-template-columns:104px minmax(0,1fr);gap:4px 12px}
 .home-editorial .home-libraries .home-item-photo img{width:104px;height:82px}
 .home-editorial .home-outings .home-thumbnail-row:has(.home-item-photo){grid-template-columns:96px minmax(0,1fr);gap:4px 12px}
 .home-editorial .home-outings .home-item-photo img{width:96px;height:76px}
}
@media(max-width:600px){
 .home-news-toolbar h2{font-size:18px}
 .home-editorial-columns,.home-housing-jobs,.home-outings{grid-template-columns:minmax(0,1fr);gap:22px;margin-top:22px}
 .home-three-stories{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 14px}
 .home-three-stories .news-grid-card:last-child{grid-column:auto}
 .home-three-stories .news-grid-card:last-child>a{display:block}
 .home-three-stories .news-grid-card:last-child img{margin-bottom:8px}
 .home-editorial-sidebar{grid-template-columns:minmax(0,1fr)}
 .home-editorial .home-library-list{grid-template-columns:minmax(0,1fr);gap:0}
 .home-editorial .home-libraries h3{font-size:16px}
 .home-market-feature{padding:18px}
 .home-market-feature .home-list{gap:18px 14px}
 .home-department-sections{gap:24px}
}
.home-editorial .home-market-feature :is(h2,h3) a,.home-editorial .home-market-feature .home-section-action{color:#fff}
.home-editorial .home-market-feature .home-thumbnail-row{color:#fff}
@media(min-width:601px) and (max-width:980px){
 .home-editorial-columns{grid-template-columns:minmax(0,1fr)}
 .home-featured-story .news-grid-card>a{display:grid}
 .home-three-stories{grid-template-columns:repeat(3,minmax(0,1fr))}
 .home-three-stories .news-grid-card:last-child{grid-column:auto}
 .home-three-stories .news-grid-card:last-child>a{display:block}
 .home-three-stories .news-grid-card:last-child img{margin-bottom:10px}
 .home-weather-content{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
 .home-weather-content[hidden]{display:none}
 .home-weather-current{grid-column:1}
 .home-weather-days{grid-column:2;grid-row:1;align-self:center;margin:0;border:0;padding:0}
 .home-weather-updated{grid-column:2}
}
html[data-home-theme=dark] .home-editorial .service-category-nav{background:#19281f;border-color:var(--line)}
html[data-home-theme=dark] .home-editorial .service-category-links a{color:var(--ink)}
@media(min-width:601px){.home-editorial .home-outings>.home-section{grid-column:auto}}
@media(min-width:981px){
 .home-editorial .home-jobs .home-thumbnail-row:has(.home-item-photo){grid-template-columns:128px minmax(0,1fr)}
 .home-editorial .home-jobs .home-item-photo img{width:128px;height:100px}
}
@media(max-width:600px){
 .home-three-stories .news-grid-card:last-child{grid-column:1/-1}
 .home-three-stories .news-grid-card:last-child>a{display:grid;grid-template-columns:1fr 1fr;gap:4px 14px}
 .home-three-stories .news-grid-card:last-child img{grid-column:1;grid-row:1/3;margin:0}
 .home-three-stories .news-grid-card:last-child h3,.home-three-stories .news-grid-card:last-child time{grid-column:2}
}



/* Descriptions use the actual card width, so narrow columns stay compact. */
.home-editorial .home-section{container-type:inline-size}
.home-editorial .home-section .home-list-intro{display:none;grid-column:2;margin:3px 0 0;color:var(--muted);font-size:13px;line-height:1.65;font-weight:400;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}
@container(min-width:460px){.home-editorial .home-section .home-list-intro{display:-webkit-box}}
@media(max-width:980px){.home-editorial .home-section .home-list-intro{display:none}}
.home-editorial .home-market-feature .home-list-intro{color:#b5c5bd}
.home-featured-story img{grid-row:1/4}
.home-featured-intro,.home-editorial .news-lead-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;grid-column:1;margin:14px 0 0;color:var(--muted);font-size:15px;line-height:1.85}
.home-editorial .home-item-original .home-item-photo img{object-fit:cover}
.home-editorial .home-market-feature .home-thumbnail-row .home-item-photo{margin:0}
.home-editorial .home-market-feature .home-thumbnail-row h3{font-size:18px}
@media(max-width:600px){
 .home-market-feature .home-list{grid-template-columns:minmax(0,1fr)}
 .home-editorial .home-market-feature .home-thumbnail-row:has(.home-item-photo){grid-template-columns:60px minmax(0,1fr)}
 .home-editorial .home-market-feature .home-item-photo img{width:60px;height:45px}
 .home-editorial .home-market-feature .home-thumbnail-row h3{font-size:15px}
 .home-featured-intro{-webkit-line-clamp:2;font-size:14px;line-height:1.75;margin-top:10px}
}

.home-library-facilities{grid-column:2;display:flex;gap:5px;list-style:none;padding:0;margin:5px 0 0;align-items:center}
.home-facility{position:relative;display:inline-flex;align-items:center;color:var(--green);outline-offset:3px}
.home-facility svg{display:block;width:18px;height:18px;flex:none}
.home-facility.is-absent{color:var(--red)}
.home-facility-tooltip{display:none;position:absolute;bottom:calc(100% + 7px);left:-6px;width:200px;max-width:65vw;padding:8px 10px;font-size:12px;line-height:1.6;background:var(--ink);color:var(--paper);border-radius:4px;z-index:3}
.home-facility:hover .home-facility-tooltip,.home-facility:focus .home-facility-tooltip{display:block}
@media(max-width:600px){.home-library-facilities{gap:5px}}
.home-library-facilities .home-facility:nth-child(n+3) .home-facility-tooltip{left:auto;right:0}

.home-editorial .home-market-feature :is(.home-empty,.home-publish){color:#cee9da}

/* Text-only news cards do not reserve a missing image column. */
.home-editorial .home-featured-story .news-grid-card:not(:has(img))>a,
.home-editorial .home-three-stories .news-grid-card:not(:has(img))>a{display:block}
.home-editorial .news-feature-rail .news-headline{grid-template-columns:minmax(0,1fr)}
.home-editorial .news-feature-rail .news-headline:has(.news-headline-photo){grid-template-columns:minmax(0,1fr) 84px}
.home-editorial .news-feature-rail .news-headline>h3{grid-column:1;grid-row:1}
.home-editorial .news-feature-rail .news-headline>time{grid-column:1;grid-row:2;align-self:start;white-space:nowrap}
.home-editorial .news-feature-rail .news-headline>.event-notice{grid-column:1/-1;grid-row:3}
.home-editorial .news-feature-rail .news-headline-photo{grid-column:2;grid-row:1/span 2;width:84px}
.home-editorial .news-feature-rail .news-headline-photo img{width:84px;height:68px;aspect-ratio:auto;object-fit:cover}
@media(max-width:600px){
 .home-editorial .news-feature-rail .news-headline:has(.news-headline-photo){grid-template-columns:minmax(0,1fr) 88px}
 .home-editorial .news-feature-rail .news-headline-photo{width:88px}
 .home-editorial .news-feature-rail .news-headline-photo img{width:88px;height:70px}
}

.home-weather select{font-size:16px;font-weight:700}
.home-weather-description{font-size:22px;font-weight:700;line-height:1.4;overflow-wrap:anywhere}
.home-weather-observed,.home-weather-humidity,.home-weather-day{font-size:14px}
.home-weather-day strong{font-size:20px}

.home-weather select option{font-weight:700}
.home-weather-day-icon{width:30px;height:30px;margin:4px 0;flex-shrink:0}
.home-weather-current{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:12px;align-items:center;margin-top:14px}
.home-weather-current-icon{width:112px;height:112px;justify-self:center;align-self:center}
.home-weather-current .home-weather-reading{margin:0 0 8px}
.home-weather-current .home-weather-description{margin:0 0 6px}

.home-editorial .home-market-feature .home-thumbnail-row:has(.home-item-photo){grid-template-columns:112px minmax(0,1fr)}
.home-editorial .home-market-feature .home-item-photo img{width:112px;height:90px}
.home-editorial .home-market-feature .home-thumbnail-row h3{min-width:0}
.home-editorial .home-market-feature h3 a{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-editorial .home-market-feature .home-item-meta{display:flex;flex-direction:column;align-items:flex-start;gap:4px}
@media(min-width:601px) and (max-width:1100px){.home-market-feature .home-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
 .home-editorial .home-market-feature .home-thumbnail-row:has(.home-item-photo){grid-template-columns:88px minmax(0,1fr)}
 .home-editorial .home-market-feature .home-item-photo img{width:88px;height:82px}
}

.home-editorial .home-jobs .home-item-meta{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.home-editorial .home-jobs .home-item-meta>span+span::before{content:none}

.home-editorial .home-hiking :is(h3,.home-hiking-feature){min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-editorial .home-hiking :is(.home-hiking-address,.home-hiking-feature){grid-column:2;margin:0;font-size:13px;line-height:1.6;color:var(--muted)}
.home-editorial .home-hiking .home-item-photo{grid-row:1/4}

.home-editorial .home-dining :is(.home-dining-address,.home-dining-feature){grid-column:2;margin:0;font-size:13px;line-height:1.6;color:var(--muted)}
.home-editorial .home-dining h3{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-editorial .home-dining .home-item-photo{grid-row:1/4}

.home-weather .weather-sun{transform-origin:16px 15px;animation:home-weather-sun 32s linear infinite}
.home-weather .weather-cloud{animation:home-weather-cloud 5s ease-in-out infinite}
.home-weather .weather-moon{transform-origin:20px 20px;animation:home-weather-moon 7s ease-in-out infinite}
.home-weather .weather-rain,.home-weather .weather-snow{animation:home-weather-rain 2.6s ease-in-out infinite}
@keyframes home-weather-sun{to{transform:rotate(360deg)}}
@keyframes home-weather-cloud{50%{transform:translate(1px,-.4px)}}
@keyframes home-weather-moon{50%{transform:rotate(5deg)}}
@keyframes home-weather-rain{0%,100%{transform:translateY(-.5px);opacity:.75}50%{transform:translateY(1px);opacity:1}}
@media(prefers-reduced-motion:reduce){.home-weather :is(.weather-sun,.weather-cloud,.weather-moon,.weather-rain,.weather-snow){animation:none}}

/* Three distinct headlines beside their lead photo; compact cards below. */
.home-featured-story{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px;align-items:center}
.home-short-news{min-width:0}.home-short-news article{padding:14px 0;border-bottom:1px solid var(--line)}.home-short-news article:first-child{padding-top:0}.home-short-news article:last-child{border-bottom:0;padding-bottom:0}
.home-featured-story .home-short-news h3{font-size:18px;line-height:1.5;margin:0 0 8px}.home-short-news a{color:var(--ink);text-decoration:none}.home-short-news time{font-size:12px;color:var(--muted)}
.home-featured-story .home-support-photo img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px;margin:0}
.home-three-stories .news-grid-card>a{height:100%;display:flex;flex-direction:column}.home-three-stories h3{line-height:1.5;min-height:3em;margin:0 0 8px}.home-three-stories time{margin-top:auto}
.home-editorial :is(.home-hiking,.home-dining) .home-item-photo{grid-row:1/4}
@media(max-width:600px){.home-featured-story{grid-template-columns:minmax(0,1fr);gap:16px}.home-support-photo{grid-row:1}.home-featured-story .home-support-photo img{aspect-ratio:16/9}.home-featured-story .home-short-news h3{font-size:17px}.home-editorial .home-housing .home-item-photo img{height:76px}.home-editorial .home-housing h3{font-size:16px}}

/* Each homepage news item has its own image; the right column holds two stories. */
.home-editorial .news-main-feature{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:16px;min-height:0}
.home-editorial .home-focus-grid .news-main-feature .news-picture-card>a{height:187px}
.home-editorial .news-main-feature .news-picture-copy{padding:16px}
.home-editorial .news-main-feature .news-picture-copy h3{font-size:20px;line-height:1.4;margin:0}
.home-editorial .news-carousel .news-picture-copy h3{margin-bottom:0}
.home-six-stories{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px}
.home-editorial .home-six-stories .news-grid-card img{aspect-ratio:4/3}
.home-editorial .home-six-stories .news-grid-card h3{font-size:17px;margin-bottom:0}
@media(min-width:601px) and (max-width:980px){
 .home-editorial .home-focus-grid .news-main-feature .news-picture-card>a{height:167px}
 .home-editorial .news-main-feature .news-picture-copy h3{font-size:17px}
}
@media(max-width:600px){
 .home-editorial .news-main-feature{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto;gap:14px}
 .home-editorial .home-focus-grid .news-main-feature .news-picture-card>a{height:auto}
 .home-editorial .news-main-feature .news-picture-copy{padding:10px 0 0}
 .home-editorial .news-main-feature .news-picture-copy h3{font-size:16px}
 .home-six-stories{gap:18px 12px}
 .home-editorial .home-six-stories .news-grid-card h3{font-size:14px;line-height:1.5}
}

.home-editorial .news-feature-rail{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(min-width:601px) and (max-width:980px){.home-editorial .news-feature-rail{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:600px){.home-editorial .news-feature-rail{grid-template-columns:minmax(0,1fr)}}

/* Match every department item title to the library item title. */
.home-editorial .home-section :is(.home-thumbnail-row,.home-list-item) h3{font-size:18px}
@media(max-width:600px){.home-editorial .home-section :is(.home-thumbnail-row,.home-list-item) h3{font-size:16px}}

/* A soft night blue distinguishes moonlight from the yellow sun. */
.home-weather .weather-moon{fill:#7e96b8}

/* Hiking names retain the complete article title at every viewport. */
.home-editorial .home-section.home-hiking h3,.home-editorial .home-section.home-hiking h3 a{white-space:normal;overflow:visible;text-overflow:clip;-webkit-line-clamp:unset}

/* Tighten the visible title-to-location spacing in homepage department cards. */
.home-editorial .home-section :is(.home-thumbnail-row,.home-list-item) h3{line-height:1.3}
.home-editorial .home-section :is(.home-thumbnail-row,.home-list-item)>h3+:is(.home-item-meta,p){margin-top:-2px}
.home-editorial .home-section :is(.home-item-meta,.home-library-list p,.home-hiking-address,.home-dining-address){line-height:1.35}

/* Add consistent breathing room above homepage rating rows. */
.home-editorial .home-section .home-thumbnail-row>.resource-rating{margin-top:4px}

/* Stack the four compact news cards with their photo above their headline. */
.home-editorial .news-feature-rail .news-headline,.home-editorial .news-feature-rail .news-headline:has(.news-headline-photo){display:flex;flex-direction:column;gap:8px}
.home-editorial .news-feature-rail .news-headline-photo{order:-1;width:100%;align-self:stretch}
.home-editorial .news-feature-rail .news-headline-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}

/* Keep current conditions beside the temperature and reduce the current icon. */
.home-weather-current{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:14px;align-items:center}
.home-weather-current-copy{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.home-weather-current-details{min-width:0;padding-left:16px}
.home-weather-current-icon{width:44px;height:44px;align-self:flex-start;justify-self:start}
.home-weather-current-details .home-weather-description{font-size:18px;margin:0 0 5px}
.home-weather-current-details :is(.home-weather-observed,.home-weather-humidity){font-size:12px;line-height:1.5}

/* Place the small current-weather icon next to the condition name. */
.home-weather-condition{display:flex;align-items:center;gap:8px;margin-bottom:5px}
.home-weather-condition .home-weather-description{margin:0;min-width:0}
.home-weather-condition .home-weather-current-icon{width:36px;height:36px;flex:none;align-self:center}

/* Compact weather card with a separate month calendar below it. */
.home-weather{padding:6px 16px 10px}
.home-weather h2{display:flex;align-items:center;gap:12px;font-size:16px}
.home-weather select{font-size:18px;min-height:28px}
.home-weather-current{margin-top:6px;gap:10px}
.home-weather-reading strong{font-size:46px;letter-spacing:-2px}
.home-weather-reading>span{font-size:16px;padding-top:4px}
.home-weather-current-details .home-weather-description{font-size:20px}
.home-weather [data-home-weather-icon]{display:flex;align-items:center}
.home-weather [data-home-weather-icon] .home-weather-current-icon{width:36px;height:36px;align-self:center;transform:translate(5px,4px)}
.home-weather-condition{gap:10px;margin-bottom:3px;justify-content:flex-start}
.home-weather-condition .home-weather-humidity{margin:0;white-space:nowrap}
.home-weather-current-details .home-weather-observed{font-size:12px}
.home-weather-current-details .home-weather-humidity{font-size:15px}
.home-weather-days{gap:4px;margin:8px 0 0;padding-top:8px}
.home-weather-day{font-size:12px;gap:2px}
.home-weather-day strong{font-size:17px}
.home-weather-day-icon{width:24px;height:24px;margin:2px 0}
.home-calendar{padding:8px 16px 14px;border:1px solid var(--line);border-radius:6px;background:var(--paper)}
.home-calendar header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.home-calendar h2{font-size:20px;font-weight:700;letter-spacing:1px;line-height:1.2;margin:0}
.home-calendar button{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--ink);font-size:22px;line-height:1}
.home-calendar button{border-radius:50%;background:var(--line)}
.home-calendar button:hover{background:var(--green);color:var(--paper)}
.home-calendar table{width:100%;table-layout:fixed;border-collapse:collapse;text-align:center;font-size:15px;line-height:1.25}
.home-calendar th{font-size:14px;font-weight:500;color:var(--muted);padding:3px 0}
.home-calendar td{height:40px;padding:0;box-shadow:inset -1px -1px var(--line)}
.home-calendar tbody{box-shadow:inset 1px 1px var(--line)}
.home-calendar .home-calendar-date{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;width:100%;max-width:100%;height:39px;margin:0;border-radius:0;line-height:16px}
.home-calendar .home-calendar-date>span{font-size:17px;line-height:18px}
.home-calendar .home-calendar-date small{font-size:9px;line-height:11px;color:var(--muted);font-weight:400}
.home-calendar :is(th,td):is(:first-child,:last-child){color:var(--green)}
.home-calendar td:is(:first-child,:last-child) .home-calendar-date>span{color:#d73535}
.home-calendar .is-today .home-calendar-date{background:#dcefe3;color:inherit;font-weight:700}
.home-calendar .is-today small{color:#426454}
.home-calendar td.is-today .home-calendar-date>span{font-weight:700}
.home-calendar td.is-adjacent-month .home-calendar-date>span,.home-calendar td.is-adjacent-month .home-calendar-date small{color:color-mix(in srgb,var(--muted,#68766e) 30%,var(--paper,#fff));font-weight:400}

/* Remove a source banner heading from the homepage thumbnail only. */
.home-editorial .news-grid-card .home-news-photo-crop{display:block;position:relative;width:100%;aspect-ratio:4/3;overflow:hidden;border-radius:4px;margin-bottom:11px}
.home-editorial .home-six-stories .news-grid-card .home-news-photo-crop img{position:absolute;top:calc(-1 * var(--crop-top));left:0;width:100%;height:var(--crop-height);aspect-ratio:auto;margin:0;object-fit:cover}

.home-weather-current .home-weather-reading{align-items:center;gap:6px}
.home-weather-units{display:inline-flex;gap:3px;flex:none;align-items:center;align-self:flex-start;margin-top:6px}
.home-weather-units button{display:flex;align-items:center;justify-content:center;width:26px;height:28px;min-height:0;padding:0;border:0;border-radius:3px;background:transparent;color:var(--muted);font-size:16px;font-weight:600;line-height:1}
.home-weather-units button[aria-pressed=true]{background:var(--green);color:var(--paper)}

/* One thumbnail size for all homepage category cards. */
.home-editorial .home-section .home-thumbnail-row:has(.home-item-photo){grid-template-columns:144px minmax(0,1fr)}
.home-editorial .home-section .home-item-photo img{width:144px;height:96px;object-fit:cover}
@media(max-width:980px){
 .home-editorial .home-section .home-thumbnail-row:has(.home-item-photo){grid-template-columns:96px minmax(0,1fr)}
 .home-editorial .home-section .home-item-photo img{width:96px;height:64px}
}

html[data-home-theme=dark] .home-calendar .is-today .home-calendar-date{background:#254335}
html[data-home-theme=dark] .home-calendar .is-today small{color:var(--muted)}
html[data-home-theme=dark] .home-calendar td:is(:first-child,:last-child):not(.is-adjacent-month) .home-calendar-date>span{color:#b44949}
