/* HOMEFRONT Compass Reference Library, Volume 01.
 * Research-folio identity: no residential hero photography, no fake technical plans.
 * Scoped to .hf-library-*; does not change the remodeling showroom pages.
 */
.hf-library-cover{background:linear-gradient(128deg,#182f40 3%,#203e50 65%,#152b39);color:#f4f0e8;position:relative;isolation:isolate;overflow:hidden}
.hf-library-cover:before{position:absolute;content:"";inset:0;background-image:linear-gradient(#b8c8d219 1px,transparent 1px),linear-gradient(90deg,#b8c8d219 1px,transparent 1px);background-size:32px 32px;pointer-events:none;z-index:-1}
.hf-library-hero-content{padding-block:128px 85px;min-height:655px}
.hf-library-cover .eyebrow{color:#eaca92}
.hf-library-cover .hf-crumb{color:#dbe2df}
.hf-library-cover .hf-crumb a{color:#f4f0e8}
.hf-library-cover-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.83fr);gap:6%;align-items:center}
.hf-library-cover h1{font:500 clamp(62px,6vw,96px)/.99 Editorial,Georgia,serif;letter-spacing:-.043em;margin:20px 0 30px}
.hf-library-dek{font:400 16px/1.75 Manrope,Arial,sans-serif;color:#eceae6;max-width:550px}
.hf-library-go{margin-top:33px;display:inline-flex;gap:22px;min-height:46px;align-items:center;background:#eaca92;color:#192e3e;padding:11px 23px;border-radius:27px;text-decoration:none;font:650 12px/1.3 Manrope,Arial,sans-serif}
.hf-library-go:hover{background:#ffe1ae}
.hf-library-blueprint{border:1px solid #e5d8bd8f;background:linear-gradient(120deg,#193c50c9,#122c40ec);padding:20px 23px 19px;min-height:350px;box-shadow:14px 20px 0 #0e1b283f;position:relative;transform:rotate(1.2deg)}
.hf-library-blueprint-top,.hf-library-blueprint-bottom{display:flex;justify-content:space-between;gap:12px;color:#eaca92;font:650 9px/1.5 Manrope,Arial,sans-serif;letter-spacing:.15em}
.hf-library-blueprint-bottom{border-top:1px solid #aec3c450;padding-top:13px}
.hf-library-plan{position:relative;width:100%;height:273px;overflow:hidden;background-image:linear-gradient(#b3d1df17 1px,transparent 1px),linear-gradient(90deg,#b3d1df17 1px,transparent 1px);background-size:15px 15px;margin:19px 0 15px}
.hf-library-plan-frame{position:absolute;inset:13% 9% 14%;border:3px solid #d3e6eeaa}
.hf-library-plan-frame:before{content:"";position:absolute;inset:8%;border:1px dashed #c9e3eca6}
.hf-library-plan-layer{position:absolute;display:block;inset:30% 17% 30% 16%;border:3px solid #d5e6ecbb}
.hf-library-plan-layer.layer-b{inset:36% 21% 36% 20%;border:2px solid #eaca92}
.hf-library-plan-opening{position:absolute;display:block;top:21%;left:42%;width:19%;height:18%;border-bottom:4px solid #eaca92;background:#193c50}
.hf-library-plan-line{position:absolute;display:block;border-top:1px solid #c4e2edd7}
.hf-library-plan-line.line-a{top:18%;left:7%;right:6%}
.hf-library-plan-line.line-b{bottom:22%;left:7%;right:6%}
.hf-library-plan-pointer{position:absolute;top:4%;left:45%;font:700 10px/1 Manrope,Arial,sans-serif;letter-spacing:.1em;color:#eaca92}
.hf-library-orientation{padding-block:85px 74px;display:grid;grid-template-columns:1fr 1fr;gap:12%;border-bottom:1px solid #d4cbbd}
.hf-library-orientation h2,.hf-library-index h2,.hf-library-glossary h2,.hf-library-next h2{font:500 clamp(43px,4.6vw,64px)/1.09 Editorial,Georgia,serif;letter-spacing:-.026em;margin:16px 0}
.hf-library-orientation>div:last-child{align-self:end}
.hf-library-orientation p:not(.eyebrow){font:400 15px/1.85 Manrope,Arial,sans-serif;color:#52636b;margin-bottom:18px}
.hf-library-orientation .hf-library-research-date{font:650 10px/1.5 Manrope,Arial,sans-serif!important;letter-spacing:.09em;color:#886b45!important;padding-top:13px;border-top:1px solid #d5cbbc}
.hf-library-index{padding-block:75px 100px;scroll-margin-top:15px}
.hf-library-index-heading{max-width:780px;margin-bottom:35px}
.hf-library-index-heading>p:last-child{font:400 15px/1.7 Manrope,Arial,sans-serif;color:#56636a}
.hf-library-controls{border:1px solid #d7cab7;background:#ede6db;padding:28px 30px;margin-bottom:26px}
.hf-library-controls[hidden],.hf-library-empty[hidden],.hf-library-card[hidden]{display:none!important}
.hf-library-controls label{display:block;max-width:680px;font:650 12px/1.4 Manrope,Arial,sans-serif}
.hf-library-controls input{display:block;width:100%;height:49px;padding:12px 15px;background:#fffdf8;border:1px solid #a99c89;border-radius:2px;color:#1e3341;font:400 14px/1.3 Manrope,Arial,sans-serif;margin-top:10px}
.hf-library-filter-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:19px}
.hf-library-filter-row button{min-height:44px;background:#f9f6ef;border:1px solid #b9ab98;border-radius:22px;padding:10px 18px;color:#1e3341;font:600 12px/1.4 Manrope,Arial,sans-serif;cursor:pointer}
.hf-library-filter-row button[aria-pressed="true"]{color:#f4f0e8;background:#1e3341;border-color:#1e3341}
.hf-library-filter-row button:focus-visible,.hf-library-controls input:focus-visible,.hf-library-filter-footer button:focus-visible{outline:3px solid #a97638;outline-offset:3px}
.hf-library-filter-footer{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:15px;margin-top:20px}
.hf-library-filter-footer output{font:600 12px/1.5 Manrope,Arial,sans-serif;color:#4a5962}
.hf-library-filter-footer button{border:0;background:transparent;border-bottom:1px solid #8f6e40;padding:5px 0;color:#1e3341;font:650 11px/1.4 Manrope,Arial,sans-serif;cursor:pointer}
.hf-library-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;align-items:stretch}
.hf-library-card{display:flex;flex-direction:column;min-width:0;border:1px solid #d3c7b6;background:#faf8f3}
.hf-library-card-head{background:linear-gradient(130deg,#20384a,#304f60);color:#f4f0e8;padding:29px 30px 35px;min-height:268px}
.hf-library-card-meta{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid #eaca925e;padding-bottom:14px;margin-bottom:21px;color:#f0d6a9;font:700 10px/1.4 Manrope,Arial,sans-serif;letter-spacing:.1em}
.hf-library-card-head h2{font:500 clamp(30px,2.8vw,42px)/1.13 Editorial,Georgia,serif;letter-spacing:-.018em;margin:0 0 19px}
.hf-library-card-head p{font:400 13px/1.78 Manrope,Arial,sans-serif;color:#edece7}
.hf-library-card-body{padding:27px 30px 32px;display:flex;flex-direction:column;flex:1}
.hf-library-minilabel{font:700 10px/1.4 Manrope,Arial,sans-serif;letter-spacing:.095em;color:#835c32}
.hf-library-card-body ol{margin:17px 0 25px;padding-left:20px}
.hf-library-card-body li{padding:0 0 13px 3px;margin:0;font:500 12px/1.7 Manrope,Arial,sans-serif;color:#334955}
.hf-library-card-links{margin-top:auto;display:grid;grid-template-columns:1fr 1fr;gap:15px;border-top:1px solid #d2c7b7;padding-top:21px}
.hf-library-card-links a{display:flex;flex-direction:column;gap:9px;text-decoration:none;min-width:0;border-bottom:1px solid #b29367;padding-bottom:14px}
.hf-library-card-links a:hover strong{color:#97662f}
.hf-library-card-links span{font:700 9px/1.4 Manrope,Arial,sans-serif;color:#85663d;letter-spacing:.1em}
.hf-library-card-links strong{font:600 12px/1.55 Manrope,Arial,sans-serif;color:#1e3341}
.hf-library-empty{border:1px solid #d2c7b8;background:#f0e8dd;padding:35px;font:500 15px/1.65 Manrope,Arial,sans-serif}
.hf-library-glossary{background:#1e3341;color:#f4f0e8;padding-block:85px}
.hf-library-glossary .eyebrow{color:#eaca92}
.hf-library-glossary>div>p:not(.eyebrow){font:400 15px/1.7 Manrope,Arial,sans-serif;color:#e0e5e4;max-width:740px}
.hf-library-glossary dl{display:grid;grid-template-columns:1fr 1fr;gap:0 38px;margin:33px 0 0}
.hf-library-glossary dl>div{border-top:1px solid #eaca926d;padding:21px 0 25px}
.hf-library-glossary dt{font:500 28px/1.2 Editorial,Georgia,serif;margin-bottom:12px}
.hf-library-glossary dd{font:400 13px/1.75 Manrope,Arial,sans-serif;color:#dfe6e6;margin:0}
.hf-library-next{padding-block:85px 100px}
.hf-library-next p:not(.eyebrow){font:400 15px/1.75 Manrope,Arial,sans-serif;max-width:750px;color:#50626c}
.hf-library-next>div{display:flex;gap:20px 35px;flex-wrap:wrap;margin-top:25px}
.hf-library-next a{display:inline-block;min-height:44px;border-bottom:1px solid #b18b5e;padding:12px 0;font:600 13px/1.5 Manrope,Arial,sans-serif;text-decoration:none}
@media(max-width:1100px){.hf-library-hero-content{min-height:600px}.hf-library-cover h1{font-size:clamp(58px,6vw,79px)}.hf-library-card-head{min-height:280px}.hf-library-card-links{grid-template-columns:1fr}.hf-library-card-head h2{font-size:34px}}
@media(max-width:760px){.hf-library-hero-content{padding-block:114px 65px;min-height:auto}.hf-library-cover-layout,.hf-library-orientation{grid-template-columns:1fr;gap:40px}.hf-library-cover h1{font-size:clamp(52px,9vw,70px)}.hf-library-blueprint{min-height:260px;transform:none;max-width:520px}.hf-library-plan{height:230px}.hf-library-orientation{padding-block:55px;gap:15px}.hf-library-index{padding-block:55px 65px}.hf-library-controls{padding:22px 19px}.hf-library-grid{grid-template-columns:1fr}.hf-library-card-head{min-height:0;padding:27px 25px 29px}.hf-library-card-head h2{font-size:37px}.hf-library-card-body{padding:24px 25px 28px}.hf-library-card-links{grid-template-columns:1fr 1fr}.hf-library-glossary{padding-block:60px}.hf-library-glossary dl{grid-template-columns:1fr}.hf-library-next{padding-block:55px 65px}}
@media(max-width:420px){.hf-library-cover h1{font-size:52px}.hf-library-blueprint-top,.hf-library-blueprint-bottom{font-size:8px}.hf-library-card-head h2{font-size:34px}.hf-library-card-links{grid-template-columns:1fr}.hf-library-filter-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.hf-library-filter-row button{padding:9px 8px;font-size:11px}.hf-library-card-body li{font-size:12px}}
@media(prefers-reduced-motion:reduce){.hf-library-go{transition:none}}
