.humidity-guide { margin:1.75rem 0; }
.humidity-guide>h5,.humidity-guide h6 { font:600 25px/1.3 Outfit,Arial,sans-serif; margin:0 0 1rem; }
.humidity-guide .humidity-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.catalogue-chapter .humidity-guide p { font-size:1rem; line-height:1.65; max-width:100ch; }
.humidity-terms { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem 2rem; margin:1.5rem 0 2rem; }
.humidity-terms>div { border-top:2px solid #9bb8a9; padding-top:1rem; }
.humidity-terms dt { font:600 20px/1.4 Outfit,Arial,sans-serif; }
.humidity-terms dd { margin:.625rem 0 0; font-size:1rem; line-height:1.65; }
.humidity-example { padding:1.75rem; border:1px solid #cbdad3; background:#f3f7f5; }
.catalogue-chapter .humidity-guide .topic-label { font-size:.875rem; margin:0 0 .75rem; }
.humidity-example fieldset { border:0; padding:0; margin:1.75rem 0; min-width:0; }
.humidity-controls { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.humidity-controls>div { display:grid; grid-template-columns:1fr auto; gap:.625rem; align-items:center; }
.humidity-controls label { font-size:1rem; font-weight:600; line-height:1.4; }
.humidity-controls output { font-size:1rem; font-variant-numeric:tabular-nums; color:var(--green); white-space:nowrap; }
.humidity-controls input { grid-column:1/-1; width:100%; min-height:44px; margin:0; accent-color:var(--green); cursor:pointer; }
.humidity-guide :is(input,a):focus-visible { outline:3px solid var(--green); outline-offset:3px; }
.humidity-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; margin:0; }
.humidity-results>div { padding:1.25rem; border:1px solid #b9ccc2; background:#fff; }
.humidity-results dt { font-size:1rem; font-weight:600; line-height:1.4; }
.humidity-results dd { margin:1rem 0 0; font:600 36px/1.2 Outfit,Arial,sans-serif; font-variant-numeric:tabular-nums; }
.humidity-results small { display:block; font:400 .875rem/1.5 Arial,sans-serif; margin-top:.5rem; }
.humidity-results .humidity-margin { background:var(--navy); border-color:var(--navy); color:#fff; }
.humidity-results .humidity-margin--condensation { background:#8a421f; border-color:#8a421f; }
.catalogue-chapter .humidity-guide .humidity-reading { padding:.875rem 0; margin:.5rem 0 0; font-weight:500; }
.humidity-reading--condensation { color:#793e20; }
.catalogue-chapter .humidity-guide .humidity-example-scope { margin:.25rem 0 0; font-size:.875rem; line-height:1.65; }
.humidity-decisions,.humidity-recovery { margin-top:2.5rem; }
.humidity-table { margin:1.25rem 0; border-collapse:collapse; width:100%; table-layout:fixed; text-align:left; font-size:1rem; line-height:1.65; }
.humidity-table :is(th,td) { padding:1.125rem; border:1px solid var(--line); vertical-align:top; }
.humidity-table thead th { color:#fff; background:var(--navy); font-weight:500; }
.humidity-table thead th:first-child { width:26%; }
.humidity-table thead th:last-child { width:42%; }
.humidity-table tbody th { font-weight:600; background:#f3f7f5; }
.humidity-mobile-label { display:none; }
.catalogue-chapter .humidity-guide .humidity-control-scope { font-size:.875rem; }
.humidity-process { list-style:none; padding:0; margin:1.75rem 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1.5rem; }
.humidity-process li { border-top:2px solid var(--green); padding-top:1rem; display:flex; gap:.75rem; }
.humidity-process li>span { font-size:.875rem; color:var(--green); padding-top:.25rem; }
.humidity-process strong { font:600 20px/1.4 Outfit,Arial,sans-serif; }
.catalogue-chapter .humidity-process p { margin:.75rem 0 0; }
.humidity-heat-options { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; }
.humidity-heat-options>div { padding:1.5rem; background:#eef3f5; border-left:3px solid var(--navy); }
.humidity-heat-options h6,.humidity-energy-measurement h6 { font-size:21px; }
.catalogue-chapter .humidity-heat-options p { margin:0; }
.catalogue-chapter .humidity-guide .humidity-energy-balance { margin:1.5rem 0; padding:1.25rem 0; border-block:1px solid var(--line); max-width:none; }
.humidity-energy-balance strong { display:block; font:600 20px/1.5 Outfit,Arial,sans-serif; }
.humidity-energy-balance span { display:block; font-size:.875rem; margin-top:.75rem; }
.humidity-energy-measurement p { margin:.75rem 0; }
.catalogue-chapter .humidity-guide .humidity-citation { font-size:.875rem; margin:1rem 0 1.5rem; }
.humidity-citation a { display:inline-block; padding:.5rem 0; text-decoration:underline; text-underline-offset:3px; }
.humidity-links { display:flex; flex-wrap:wrap; gap:.5rem 2rem; padding-top:1rem; margin-top:1rem; border-top:1px solid var(--line); }
.humidity-links a { display:inline-flex; align-items:center; min-height:44px; font-size:1rem; }
@media(max-width:900px) { .humidity-controls { grid-template-columns:1fr; gap:1rem; } .humidity-terms,.humidity-process { grid-template-columns:1fr; gap:1.25rem; } .humidity-table :is(th,td) { padding:.875rem; } }
@media(max-width:650px) {
 .humidity-example { padding:1.125rem; }
 .humidity-results,.humidity-heat-options { grid-template-columns:1fr; }
 .humidity-results>div { display:grid; grid-template-columns:1fr 1fr; gap:1rem; align-items:center; }
 .humidity-results dd { margin:0; font-size:30px; }
 .humidity-table,.humidity-table tbody { display:block; }
 .humidity-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
 .humidity-table tr { display:block; border:1px solid var(--line); margin-bottom:1rem; }
 .humidity-table tbody :is(th,td) { display:block; border:0; border-bottom:1px solid var(--line); padding:1rem; }
 .humidity-table tbody td:last-child { border-bottom:0; }
 .humidity-mobile-label { display:block; font-weight:600; color:var(--green); margin-bottom:.5rem; }
 .humidity-controls>div { grid-template-columns:1fr; gap:.25rem; }
 .humidity-controls input { grid-column:1; }
 .humidity-guide>h5,.humidity-guide h6 { font-size:23px; }
 .humidity-heat-options { gap:1rem; }
 .humidity-heat-options>div { padding:1.125rem; }
}
