@import url("/residential/column-image-frame.css");
.home-column { background:#e7eeea; }
.home-column-heading { margin-bottom:2.5rem; }
.home-column-heading .eyebrow,.column-archive-heading .eyebrow { color:var(--accent); font:600 .75rem/1.5 var(--sans); letter-spacing:.2em; }
.home-column-heading h2 { font-size:clamp(2rem,3vw,2.8rem); line-height:1.4; margin-top:.45rem; }
.home-column-grid { display:grid; grid-template-columns:minmax(0,1fr); gap:0; overflow:visible; }
.home-column-card { min-width:0; border-top:1px solid #dce4df; }
.home-column-card:last-child { border-bottom:1px solid #dce4df; }
.home-column-link { display:grid; grid-template-columns:minmax(180px,280px) minmax(0,1fr); gap:32px; align-items:start; padding:30px 0; color:inherit; text-decoration:none; }
.home-column-link:focus-visible { outline:3px solid #23768c; outline-offset:5px; }
.home-column-link:hover h2,.home-column-link:hover h3 { text-decoration:underline; text-underline-offset:.2em; }
.home-column-image { min-width:0; aspect-ratio:3/2; background:#fff; }
.home-column-image img { display:block; width:100%; height:100%; object-fit:contain; }
.home-column-content { min-width:0; }
.home-column-content .home-column-category { margin:0 0 9px; color:#48645b; font:600 13px/1.5 var(--sans); letter-spacing:.05em; }
.home-column-content h2,.home-column-content h3 { margin:0; font:600 clamp(19px,1.7vw,23px)/1.65 var(--sans); letter-spacing:.01em; color:#29332f; text-wrap:balance; word-break:auto-phrase; }
.home-column-content .home-column-description { margin:13px 0 0; color:#5c6660; font:400 15px/1.85 var(--sans); letter-spacing:0; }
.home-column-actions { margin-top:2.4rem; text-align:center; }
.home-column-actions a { display:inline-flex; align-items:center; justify-content:center; min-height:3.4rem; padding:.75rem 1.6rem; border:1px solid var(--navy); color:var(--navy); font:500 .94rem/1.5 var(--sans); }
.home-column-actions a:hover,.home-column-actions a:focus-visible { background:var(--navy); color:#fff; }
.home-column-actions a:focus-visible,.column-archive-header a:focus-visible,.column-archive-back:focus-visible { outline:3px solid #39a1ba; outline-offset:4px; }
.column-archive-header { min-height:96px; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1rem 5%; border-bottom:1px solid var(--line); }
.column-archive-header img { width:220px; height:auto; }
.column-archive-header a:last-child,.column-archive-back { color:var(--navy); font:500 .9rem/1.5 var(--sans); }
.column-archive-main { min-height:70vh; }
.column-archive-main .wrap { max-width:1020px; }
.column-archive-heading { margin-bottom:1.75rem; }
.column-archive-heading h1 { margin-top:.5rem; font-size:clamp(2rem,3.2vw,3rem); }
.column-archive-heading p:last-child { margin-top:.75rem; color:var(--muted); font-size:.95rem; }
.column-hub-link { margin:0 0 2rem; font-size:.95rem; line-height:1.9; color:var(--muted); }
.column-hub-link a { color:#075eb8; text-decoration:underline; text-decoration-thickness:1.5px; text-underline-offset:.2em; }
.column-hub-link a:hover { color:#03457f; }
.column-hub-link a:focus-visible { outline:3px solid #39a1ba; outline-offset:4px; }
.column-archive-back { display:inline-block; margin-top:2.5rem; }
@media(max-width:700px) {
 .home-column-heading { margin-bottom:1.8rem; }
 .home-column-link { grid-template-columns:108px minmax(0,1fr); gap:12px 16px; padding:24px 0; }
 .home-column-content { display:contents; }
 .home-column-image { grid-column:1; grid-row:1/3; align-self:start; }
 .home-column-content .home-column-category { grid-column:2; margin:0; font-size:12px; }
 .home-column-content h2,.home-column-content h3 { grid-column:2; font-size:17px; line-height:1.65; }
 .home-column-content .home-column-description { grid-column:1/-1; margin:0; font-size:14px; line-height:1.85; }
  .column-archive-header { min-height:74px; }
 .column-archive-header img { width:165px; }
 .column-archive-header a:last-child { font-size:12px; }
}
@media(max-width:370px) { .home-column-link { grid-template-columns:96px minmax(0,1fr); gap:10px 12px; } }

/* The home page previews articles in a manual rail; the archive stays vertical. */
.home-column .home-column-grid { display:flex; gap:24px; overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-padding-inline:4px; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#9aafa6 transparent; padding:4px 4px 14px; }
.home-column .home-column-grid:focus-visible { outline:3px solid #23768c; outline-offset:5px; }
.home-column .home-column-card { flex:0 0 calc((100% - 48px)/3); border:1px solid #b9cbc2; border-radius:6px; background:#fff; box-shadow:0 3px 10px #27493b0d; overflow:hidden; scroll-snap-align:start; }
.home-column .home-column-link { display:flex; flex-direction:column; gap:0; padding:0; height:100%; }
.home-column .home-column-image { width:100%; }
.home-column .home-column-content { display:block; width:100%; padding:20px 20px 24px; }
.home-column .home-column-category { margin-bottom:9px; }
.home-column .home-column-content h3 { font-size:20px; min-height:3.3em; text-wrap:balance; }
.home-column .home-column-description { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; margin-top:12px; font-size:14px; line-height:1.85; }
.home-column .home-column-actions { margin-top:1.6rem; }
.home-column-controls button:focus-visible { outline:3px solid #23768c; outline-offset:4px; }
@media(max-width:1000px) and (min-width:701px) {
 .home-column .home-column-card { flex-basis:calc((100% - 24px)/2); }
}
@media(max-width:700px) {
 .home-column .home-column-grid { gap:16px; }
 .home-column .home-column-card { flex-basis:calc(100% - 40px); }
 .home-column .home-column-link { gap:0; }
 .home-column .home-column-content { padding:17px 18px 21px; }
 .home-column .home-column-content h3 { font-size:18px; }
 .home-column .home-column-category { font-size:12px; }
}

/* Archive cards use the cover, a quiet category/date row and the full title. */
.home-column-meta{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:14px 0 9px}
.home-column-content .home-column-category{margin:0;padding:0;border:0;background:none;color:#53675d;font-size:12px;font-weight:400;line-height:1.8;letter-spacing:.025em}
.home-column-content .home-column-date{margin:0;color:#637069;font-size:12px;font-weight:400;line-height:1.8;letter-spacing:.015em;white-space:nowrap;font-variant-numeric:tabular-nums}
.home-column-content h2,.home-column-content h3{text-wrap:wrap;word-break:normal;overflow-wrap:break-word;line-break:strict}
.column-archive-main .wrap{max-width:1160px}
.column-archive-main .home-column-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 28px}
.column-archive-main .home-column-card{border:0}
.column-archive-main .home-column-link{display:block;padding:0}
.column-archive-main .home-column-content{display:block}
.column-archive-main .home-column-content h2{font-size:19px;line-height:1.7}
.home-column .home-column-meta{margin-top:0}
.home-column .home-column-content h3{text-wrap:wrap}
@media(min-width:701px) and (max-width:1000px){.column-archive-main .home-column-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){
 .column-archive-main .home-column-grid{grid-template-columns:minmax(0,1fr);gap:24px}
 .column-archive-main .home-column-link{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:start}
 .column-archive-main .home-column-image{grid-row:auto;grid-column:auto}
 .column-archive-main .home-column-meta{margin:0 0 7px;gap:2px 10px}
 .column-archive-main .home-column-content h2{font-size:17px;line-height:1.65}
 .home-column .home-column-meta{gap:3px 12px}
}
@media(max-width:370px){.column-archive-main .home-column-link{grid-template-columns:100px minmax(0,1fr);gap:14px}}
