/* Approved inner-page direction. Scoped so the homepage and shared navigation stay as they are. */
.article-collection-header,
.resource-list,
.resource-pagination,
.resource-empty,
.resource-article,
.resource-next,
.service-detail-page,
.service-detail-page + .line-content-completion {
  --reading-ground:#e5e8e2;
  --reading-ink:#262724;
  --reading-metal:#c5beb0;
  --reading-line:#9ca395;
}

/* One article index, with the same hierarchy for every published article. */
.article-collection-header { background:var(--reading-ground); padding-top:48px; padding-bottom:28px; }
.article-collection-header h1 { font-size:clamp(34px,3.6vw,48px); margin:0; }
.article-collection-header .lead { color:#50584d; }
.article-topics,
.resource-categories { display:flex; flex-wrap:wrap; gap:8px 24px; margin:24px 0 0; padding:12px 0; background:transparent; border:0; border-top:1px solid var(--reading-line); border-bottom:1px solid var(--reading-line); }
.article-topics a,
.resource-categories a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; line-height:1.5; text-decoration:none; }
.article-topics a:hover,
.resource-categories a:hover,
.article-topics a[aria-current],
.resource-categories a[aria-current] { text-decoration:underline; text-underline-offset:6px; }
.resource-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:36px 28px; align-items:start; background:var(--reading-ground); padding-top:0; padding-bottom:48px; }
.resource-list-card { position:relative; display:flex; flex-direction:column; padding:0 0 24px; border-bottom:1px solid var(--reading-line); }
.resource-list .resource-cover img.brand-cover { width:100%; height:auto; aspect-ratio:1200/630; object-fit:cover; }
.resource-list .resource-cover img[src*="/static/editorial-covers/"] { object-fit:contain; background:var(--reading-ink); }
.resource-list-card .resource-feature-copy { padding-top:18px; }
.resource-list-card:not(:has(.resource-cover)) .resource-feature-copy { padding-top:0; }
.resource-list-card .eyebrow { color:#615e57; font-size:12px; letter-spacing:.06em; margin:0 0 10px; }
.resource-list-card h2 { font-size:clamp(23px,2vw,28px); line-height:1.45; margin:0; text-wrap:pretty; }
.resource-list-card .resource-feature-copy > .resource-summary { color:#565750; font-size:15px; line-height:1.75; margin:12px 0 0; }
.resource-list-card:hover h2 a { text-decoration:underline; text-underline-offset:6px; }
/* Share the tallest title in each visual row without truncating article names. */
@supports (grid-template-rows:subgrid) {
 @media(min-width:701px) {
  .resource-list { row-gap:0; align-items:stretch; padding-bottom:12px; }
  .resource-list-card { grid-row:span 4; min-width:0; margin-bottom:36px; }
  .resource-list-card:has(.resource-cover) { display:grid; grid-template-rows:subgrid; }
  .resource-list-card:has(.resource-cover) .resource-feature-copy { display:grid; grid-row:2 / span 3; grid-template-rows:subgrid; }
  .resource-list-card .resource-feature-copy > * { align-self:start; }
 }
}
.resource-pagination,
.resource-empty { background:var(--reading-ground); }

/* Article surfaces use neutral paper; homepage/service brand colours stay intact. */
.article-collection-header, .resource-list, .resource-pagination, .resource-empty,
.resource-article, .resource-next { --reading-ground:#f3f3f1; --reading-line:#b9b9b5; }
.article-collection-header, .resource-list, .resource-pagination, .resource-empty,
.article-tools { max-width:none; padding-inline:max(28px, calc((100% - 1160px) / 2)); }

/* Area collections supplement the index instead of preceding its title. */
.page-resources .journey-collections { max-width:none; padding:32px max(28px,calc((100% - 1160px)/2)) 40px; background:#f3f3f1; }
.page-resources .journey-collection-heading { margin-bottom:20px; }
.page-resources .journey-collection-heading h2 { font-size:26px; margin:0; }
.page-resources .journey-collection-grid { gap:24px; }
.page-resources .journey-collection-grid>.journey-collection-card { grid-template-columns:112px minmax(0,1fr); border:0; border-top:1px solid var(--reading-line,#b9b9b5); background:transparent; padding:20px 0 0; }
.page-resources .journey-collection-card>img { width:112px; height:112px; min-height:0; aspect-ratio:1; }
.page-resources .journey-collection-card>div { padding:0 0 0 20px; }
.page-resources .journey-collection-card h3 { font-size:23px; line-height:1.4; margin:0 0 12px; }
.page-resources .journey-card-kicker { font-size:11px; margin-bottom:8px; }
.page-resources .journey-card-action { background:transparent; color:inherit; min-height:44px; padding:0; margin:0; justify-content:flex-start; gap:16px; }
@media(min-width:701px) and (max-width:1000px) { .resource-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }

/* One title, in a centred bounded column even on an ultrawide display. */
.resource-article { display:block; background:var(--reading-ground); color:var(--reading-ink); }
.resource-article > .resource-header { min-width:0; max-width:none; margin:0; padding:48px max(32px, calc((100% - 880px) / 2)) 52px; text-align:left; background:var(--reading-ink); color:var(--reading-ground); display:flex; flex-direction:column; align-items:flex-start; }
.resource-header .resource-breadcrumb { justify-content:flex-start; color:var(--reading-metal); margin:0 0 24px; }
.resource-header .eyebrow { color:var(--reading-metal); }
.resource-article .resource-header h1 { margin:20px 0; max-width:100%; font-size:clamp(32px,3vw,46px); line-height:1.4; }
.resource-article .resource-header .lead { margin:0 0 18px; max-width:50rem; color:var(--reading-ground); font-size:17px; line-height:1.85; }
.resource-header .article-hero-rule { width:64px; border-top:2px solid var(--reading-metal); margin:4px 0 24px; }
.resource-header .resource-byline { color:var(--reading-ground); line-height:1.8; }
.resource-header .resource-source a,
.resource-article .resource-header .resource-source a { color:var(--reading-ground); }
.resource-header a:focus-visible { outline-color:var(--reading-ground); }
.resource-article > .resource-banner { max-width:880px; margin:40px auto 0; padding:0 28px; }
.resource-article > .resource-banner img { width:100%; height:auto; max-height:500px; object-fit:cover; }
.resource-article > .resource-banner figcaption { margin:8px 0 0; font-size:12px; color:#615e57; }
.resource-article > .resource-body,
.resource-article > .editorial-reading-layout { grid-column:1/-1; }
.resource-article > .resource-body { width:100%; max-width:1020px; gap:56px; grid-template-columns:220px minmax(0,1fr); padding:64px 32px 90px; }
.editorial-reading-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:56px; width:100%; max-width:1020px; margin:auto; padding:64px 32px 90px; }
.editorial-reading-layout:not(:has(> .editorial-toc)) { display:block; max-width:744px; }
.resource-article .editorial-prose, .resource-article .resource-steps { min-width:0; overflow-wrap:anywhere; }
.resource-article .editorial-prose table { display:block; max-width:100%; overflow-x:auto; }
.resource-article .editorial-prose { max-width:680px; margin:0; padding:0; color:var(--reading-ink); font-size:18px; line-height:1.95; }
.resource-article .editorial-prose p { color:var(--reading-ink); }
.resource-article .editorial-prose h2 { margin-top:56px; }
.resource-article .editorial-prose h2:first-child { margin-top:0; }
.resource-article .resource-step p { color:var(--reading-ink); }
.resource-article .resource-step h2 { line-height:1.4; }
.resource-article .editorial-toc,
.resource-article .resource-toc { align-self:start; position:sticky; top:120px; margin:0; padding:0; border:0; font-size:14px; }
.resource-article .editorial-toc strong,
.resource-article .resource-toc .eyebrow { display:block; font-size:12px; font-weight:600; margin:0 0 22px; color:var(--reading-ink); }
.resource-article .editorial-toc ol,
.resource-article .resource-toc ol { list-style:none; padding:0; margin:0; columns:initial; font-size:14px; line-height:1.65; }
.resource-article .editorial-toc li,
.resource-article .resource-toc li { padding:0; margin:0 0 5px; break-inside:avoid; }
.resource-article .editorial-toc a,
.resource-article .resource-toc a { display:flex; gap:12px; align-items:flex-start; min-height:46px; padding:11px 8px; border-left:3px solid transparent; text-decoration:none; color:var(--reading-ink); font-size:14px; line-height:1.65; }
.resource-article .editorial-toc a:hover,
.resource-article .resource-toc a:hover { text-decoration:underline; text-underline-offset:4px; }
.resource-article .toc-number { flex:0 0 22px; font-size:12px; line-height:1.9; }
.resource-article .editorial-prose a,
.resource-article .resource-source a,
.resource-article .resource-toc a,
.resource-article .resource-sources a,
.resource-article .resource-practical-links a,
.resource-article .resource-related a { color:#555146; }
.resource-article .resource-toc a { text-decoration:none; }
.resource-article .article-inline-contact,
.resource-article .resource-note,
.resource-article .editorial-prose blockquote { background:#e7e7e4; border-left:3px solid var(--reading-line); }
.resource-article .article-inline-contact a { background:var(--reading-ink); color:var(--reading-ground); }
.resource-article .editorial-prose blockquote a { color:#555146; }
.resource-article + .resource-next { background:var(--reading-ground); border-top:1px solid var(--reading-line); }
@media(min-width:701px) and (prefers-reduced-motion:no-preference) {
 .resource-article .article-hero-rule { animation:reading-rule-in .6s ease-out both; }
 @keyframes reading-rule-in { from { transform:scaleX(.25); transform-origin:left; } to { transform:scaleX(1); transform-origin:left; } }
}

/* Buyer and seller services share the dark photographic opening and calm content area. */
.service-detail-page { background:var(--reading-ground); }
.service-detail-page .service-detail-hero { display:grid; grid-template-columns:1.08fr 1fr; gap:0; padding:0; background:var(--reading-ink); min-height:600px; color:var(--reading-ground); }
.service-detail-page .service-detail-copy { display:flex; flex-direction:column; justify-content:center; align-items:flex-start; padding:clamp(38px,5vw,82px); }
.service-detail-page .service-breadcrumb { color:var(--reading-metal); }
.service-detail-page .service-detail-copy .eyebrow { color:var(--reading-metal); }
.service-detail-page .service-detail-copy h1 { font-size:clamp(34px,3.4vw,54px); line-height:1.3; }
.service-detail-page .service-detail-copy .lead { color:var(--reading-ground); }
.service-detail-page .service-detail-copy a:not(.button) { color:var(--reading-ground); }
.service-detail-page .service-detail-copy .service-actions-note { color:#d2d2ce; }
.service-detail-page .service-detail-copy .button { background:var(--reading-ground); border-color:var(--reading-ground); color:var(--reading-ink); }
.service-detail-page .service-detail-copy .button:hover { background:#d8ddd4; border-color:#d8ddd4; color:var(--reading-ink); }
.service-detail-page .service-detail-copy a:focus-visible { outline-color:var(--reading-ground); }
.service-detail-page .service-detail-image { min-height:600px; position:relative; overflow:hidden; }
.service-detail-page .service-detail-image img { position:absolute; inset:0; width:100%; height:100%; max-height:none; aspect-ratio:auto; object-fit:cover; }
.service-detail-page .service-detail-layout { border:0; padding-top:72px; padding-bottom:90px; }
.service-detail-page .service-detail-index { border:0; }
.service-detail-page .service-detail-index ol { font-size:15px; line-height:1.7; }
.service-detail-page .service-detail-body { font-size:18px; line-height:1.95; }
.service-detail-page .service-detail-body p { color:var(--reading-ink); }
.service-detail-page .service-faq { background:var(--reading-ground); }

.residential-service-hero { display:grid; grid-template-columns:1.08fr 1fr; min-height:600px; background:#262724; color:#e5e8e2; }
.residential-service-hero .service-hero-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; min-width:0; padding:clamp(38px,5vw,82px); }
.residential-service-hero .back-link,
.residential-service-hero .eyebrow { color:#c5beb0; }
.residential-service-hero h1 { font-size:clamp(34px,3.4vw,54px); line-height:1.3; max-width:15em; }
.residential-service-hero .lead { color:#e5e8e2; font-size:17px; line-height:1.85; }
.residential-service-hero .service-actions-note { color:#d2d2ce; }
.residential-service-hero .service-actions a:not(.button) { color:#e5e8e2; }
.residential-service-hero .button { background:#e5e8e2; border-color:#e5e8e2; color:#262724; }
.residential-service-hero .button:hover { background:#d8ddd4; border-color:#d8ddd4; color:#262724; }
.residential-service-hero a:focus-visible { outline-color:#e5e8e2; }
.residential-service-hero .service-hero-photo { min-height:600px; overflow:hidden; }
.residential-service-hero .service-hero-photo img { height:100%; object-fit:cover; }
.residential-service-hero + .section { background:#e5e8e2; }

@media(max-width:850px) {
 .resource-article > .resource-body,
 .editorial-reading-layout { grid-template-columns:190px minmax(0,1fr); gap:32px; padding:48px 28px 70px; }
 .service-detail-page .service-detail-hero { grid-template-columns:1fr; }
 .service-detail-page .service-detail-image { order:-1; min-height:380px; }
 .residential-service-hero { grid-template-columns:1fr; }
 .residential-service-hero .service-hero-photo { order:-1; min-height:380px; height:45vw; }
}
@media(max-width:700px) {
 .article-collection-header { padding:28px 6% 22px; }
 .article-topics,
 .resource-categories { flex-wrap:nowrap; overflow-x:auto; gap:4px 20px; margin-top:18px; padding:8px 0; scrollbar-width:thin; }
 .article-topics a,
 .resource-categories a { font-size:14px; flex-shrink:0; }
 .resource-list { grid-template-columns:1fr; gap:28px; padding:0 6% 32px; }
 .resource-list-card h2 { font-size:24px; }
 .page-resources .journey-collections { padding:28px 6% 32px; }
 .page-resources .journey-collection-grid { grid-template-columns:1fr; }
 .resource-article { display:block; }
 .resource-article > .resource-header { min-height:0; padding:38px 7% 46px; }
 .resource-article .resource-header h1 { font-size:clamp(31px,8vw,40px); }
 .resource-article .resource-header .lead { font-size:16px; }
 .resource-article > .resource-banner { margin-top:28px; padding:0 7%; }
 .resource-article > .resource-body,
 .editorial-reading-layout { display:block; padding:40px 7% 70px; }
 .resource-article .editorial-toc,
 .resource-article .resource-toc { position:static; margin:0 0 40px; border-bottom:1px solid var(--reading-line); padding-bottom:22px; }
 .resource-article .editorial-toc ol,
 .resource-article .resource-toc ol { font-size:14px; }
 .resource-article .editorial-prose { font-size:17px; line-height:1.9; }
 .resource-article .editorial-prose h2 { font-size:26px; }
 .service-detail-page .service-detail-copy { padding:40px 7% 48px; }
 .service-detail-page .service-detail-image { height:58vw; max-height:360px; min-height:250px; }
 .service-detail-page .service-detail-layout { padding-top:44px; padding-bottom:65px; }
 .service-detail-page .service-detail-body { font-size:17px; }
 .residential-service-hero { display:flex; flex-direction:column; min-height:0; }
 .residential-service-hero .service-hero-photo { height:58vw; max-height:360px; min-height:250px; }
 .residential-service-hero .service-hero-copy { padding:40px 7% 48px; }
 .residential-service-hero h1 { font-size:clamp(34px,8vw,40px); }
 .residential-service-hero .lead { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) {
 .resource-article .article-hero-rule { animation:none; }
}
