.resource-shell { max-width: 1100px; }
.resource-archive, .resource-single { background: var(--white); }
.breadcrumbs { margin-bottom: 34px; font-size: .78rem; font-weight: 650; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 9px; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li + li::before { margin-right: 9px; color: #777; content: "/"; }
.breadcrumbs a { color: var(--orange); }
.resource-archive__hero, .resource-article__header { padding: clamp(44px, 7vw, 84px) 0 clamp(42px, 6vw, 72px); border-bottom: 1px solid var(--line); background-color: var(--white); background-image: radial-gradient(#d8e6ee 1px, transparent 1px); background-size: 22px 22px; }
.resource-archive__hero h1 { max-width: 760px; }
.resource-archive__dek, .resource-article__dek { max-width: 780px; margin-bottom: 0; color: var(--brown); font-size: clamp(1.05rem, 1.7vw, 1.24rem); }
.resource-list-heading { display: grid; grid-template-columns: 1fr .75fr; align-items: end; gap: 60px; margin-bottom: 44px; }
.resource-list-heading h2 { margin-bottom: 0; }
.resource-list-heading > p { margin-bottom: 0; color: var(--brown); }
.resource-card-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.resource-card { display: flex; min-width: 0; overflow: hidden; flex-direction: column; border: 1px solid #bdbdb9; background: var(--paper); }
.resource-card__image { display: block; overflow: hidden; background: var(--concrete); aspect-ratio: 1200 / 630; }
.resource-card__image img { width: 100%; height: 100%; object-fit: cover; transition: transform .25s ease; }
.resource-card:hover .resource-card__image img { transform: scale(1.02); }
.resource-card__placeholder { display: block; height: 100%; background-color: var(--concrete); background-image: radial-gradient(#bdc8cd 1px, transparent 1px); background-size: 18px 18px; }
.resource-card__body { display: flex; min-height: 300px; flex: 1; flex-direction: column; padding: clamp(24px, 3vw, 34px); }
.resource-card__meta { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 18px; margin-bottom: 24px; color: var(--brown); font-size: .72rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase; }
.resource-card__meta span { color: var(--orange); }
.resource-card h2 { margin-bottom: 16px; font-size: clamp(1.28rem, 2.2vw, 1.72rem); }
.resource-card h2 a { text-decoration: none; }
.resource-card h2 a:hover { color: var(--orange); }
.resource-card__body > p { color: var(--brown); font-size: .92rem; }
.resource-card__link { margin-top: auto; color: var(--orange-hover); font-size: .82rem; font-weight: 700; text-decoration: none; }
.resource-empty { padding: 42px; border: 1px solid var(--line); background: var(--soft); }
.navigation.pagination { margin-top: 48px; }
.nav-links { display: flex; flex-wrap: wrap; gap: 8px; }
.page-numbers { display: grid; min-width: 44px; min-height: 44px; place-items: center; padding: 8px 13px; border: 1px solid #aaa; text-decoration: none; }
.page-numbers.current { border-color: var(--orange); background: var(--orange); color: #fff; }

.resource-article__header h1 { max-width: 980px; }
.resource-article__byline { display: flex; flex-wrap: wrap; gap: 8px 24px; margin-top: 28px; color: #58453e; font-size: .78rem; }
.resource-article__featured { max-width: 1100px; margin-top: clamp(32px, 5vw, 58px); margin-bottom: 0; overflow: hidden; border: 1px solid var(--line); background: var(--concrete); aspect-ratio: 1200 / 630; }
.resource-article__featured img { width: 100%; height: 100%; object-fit: cover; }
.resource-article__content { max-width: 820px; padding-top: clamp(52px, 7vw, 82px); padding-bottom: clamp(64px, 9vw, 108px); }
.resource-article__content > * { max-width: 72ch; }
.resource-article__content > h2 { max-width: 25ch; margin-top: clamp(58px, 8vw, 86px); }
.resource-article__content > h3 { margin-top: 40px; }
.resource-article__content > p, .resource-article__content > ul, .resource-article__content > ol { color: var(--brown); }
.resource-article__content a { color: var(--orange-hover); font-weight: 650; }
.resource-article__content .bluf-box { max-width: none; margin-bottom: 44px; }
.resource-article__content .bluf-box h2 { margin-top: 0; }
.resource-article__content .guide-toc { max-width: none; }
.resource-article__content .callout { max-width: none; }
.resource-article__content .article-stat-grid { display: grid; grid-template-columns: repeat(3, 1fr); max-width: none; margin: 34px 0; border-top: 1px solid #aaa; border-left: 1px solid #aaa; }
.article-stat-grid > div { padding: 24px; border-right: 1px solid #aaa; border-bottom: 1px solid #aaa; background: var(--paper); }
.article-stat-grid strong, .article-stat-grid span { display: block; }
.article-stat-grid strong { margin-bottom: 6px; color: var(--orange); font: 700 1.5rem/1.1 var(--font-head); }
.article-stat-grid span { color: var(--brown); font-size: .82rem; }
.article-comparison { max-width: none; margin: 34px 0; overflow-x: auto; border: 1px solid #b8b8b5; }
.article-comparison table { width: 100%; min-width: 680px; border-collapse: collapse; background: var(--paper); }
.article-comparison th, .article-comparison td { padding: 17px 19px; border-right: 1px solid #d1d1ce; border-bottom: 1px solid #d1d1ce; text-align: left; vertical-align: top; }
.article-comparison thead th { background: var(--graphite); color: #fff; font-family: var(--font-head); font-size: .8rem; }
.article-comparison tbody th { width: 23%; font-family: var(--font-head); font-size: .85rem; }
.article-comparison td { color: var(--brown); font-size: .85rem; }
.resource-article__content .editorial-checklist { max-width: none; }
.article-cta { max-width: none; margin: 52px 0; padding: clamp(28px, 4vw, 42px); border: 1px solid var(--line); border-left: 6px solid var(--orange); background: #fff4f0; }
.article-cta h2 { margin-top: 0; font-size: clamp(1.6rem, 3vw, 2.15rem); }
.article-cta p { color: var(--brown); }
.article-cta .button { color: #fff; }
.article-methodology { max-width: none; padding-top: 34px; border-top: 1px solid #aaa; }
.source-list { max-width: none; }

.dew-point-tool { max-width: none; margin: 48px 0; overflow: hidden; border: 1px solid #9f9f9b; background: var(--paper); }
.dew-point-tool__intro { padding: clamp(28px, 4vw, 42px) clamp(24px, 4vw, 42px) 18px; }
.dew-point-tool__intro h2 { max-width: 18ch; }
.dew-point-tool__intro > p:last-child { color: var(--brown); }
.dew-point-form { padding: 12px clamp(24px, 4vw, 42px) 36px; }
.dew-point-form__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; margin-bottom: 24px; }
.dew-point-form label { color: #4b3730; font-size: .8rem; font-weight: 700; letter-spacing: .02em; }
.dew-point-form input { display: block; width: 100%; min-height: 52px; margin-top: 7px; padding: 11px 13px; border: 1px solid var(--graphite); border-radius: 2px; background: #fff; color: var(--charcoal); }
.dew-point-form input:focus { border-color: var(--orange); outline: 2px solid var(--orange-light); }
.dew-point-form__actions { display: flex; align-items: center; gap: 22px; }
.dew-point-result { padding: 30px clamp(24px, 4vw, 42px); border-top: 1px solid #aeb8bd; border-bottom: 1px solid #aeb8bd; background: #edf3f6; }
.dew-point-result h3 { margin-bottom: 22px; }
.dew-point-result dl { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 0 0 20px; background: #b9c5ca; }
.dew-point-result dl div { padding: 18px; background: #fff; }
.dew-point-result dt { color: #4a5b62; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.dew-point-result dd { margin: 5px 0 0; color: var(--charcoal); font: 700 1.2rem/1.2 var(--font-head); }
.dew-point-result p { margin-bottom: 0; color: #3f4e54; }
.dew-point-tool__note { margin: 0; padding: 20px clamp(24px, 4vw, 42px); color: var(--brown); font-size: .82rem; }

.related-resources { border-top: 1px solid var(--concrete); background: var(--soft); }
.related-resources__fallback { max-width: 720px; padding: 30px; border: 1px solid #bbb; background: var(--paper); }
.related-resources__fallback p { color: var(--brown); }
.related-resources__fallback a { color: var(--orange-hover); font-weight: 700; text-decoration: none; }

@media (max-width: 760px) {
	.resource-list-heading, .resource-card-grid { grid-template-columns: 1fr; }
	.resource-list-heading { gap: 16px; }
	.resource-card__body { min-height: 0; }
	.resource-card__link { margin-top: 16px; }
	.resource-article__byline { display: grid; gap: 5px; }
	.resource-article__content .article-stat-grid { grid-template-columns: 1fr; }
	.dew-point-result dl { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
	.resource-archive__hero, .resource-article__header { padding-top: 34px; }
	.dew-point-form__grid { grid-template-columns: 1fr; }
	.dew-point-form__actions { align-items: stretch; flex-direction: column; gap: 7px; }
	.dew-point-form__actions .button-link { min-height: 44px; }
	.article-comparison { overflow: visible; border: 0; }
	.article-comparison table, .article-comparison thead, .article-comparison tbody, .article-comparison tr, .article-comparison th, .article-comparison td { display: block; min-width: 0; }
	.article-comparison thead { position: absolute; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); }
	.article-comparison tr { margin-bottom: 16px; border: 1px solid #b8b8b5; }
	.article-comparison tbody th { width: auto; background: var(--graphite); color: #fff; }
	.article-comparison th, .article-comparison td { border-right: 0; }
}

@media print {
	.site-header, .site-footer, .final-cta, .related-resources, .dew-point-form, .navigation.pagination { display: none !important; }
	.resource-archive__hero, .resource-article__header, .section { padding-block: 24px; }
	.resource-article__content { max-width: none; padding-block: 28px; }
	a { color: #000; text-decoration: none; }
}
