/* HOMEFRONT Compass Pro — contained within the approved navy / cream / brass research system. */
.cp-hero,.cp-labor-hero,.cp-closing,.cp-labor-close{color:var(--hf-cream,#F4F0E8);background:radial-gradient(110% 95% at 80% 20%,#2a4a5e,#18303f 49%,var(--hf-deep,#0f1f29));position:relative;overflow:hidden}
.cp-hero:before,.cp-labor-hero:before,.cp-closing:before,.cp-labor-close:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(#EACA9214 1px,transparent 1px),linear-gradient(90deg,#EACA9214 1px,transparent 1px);background-size:45px 45px;mask-image:linear-gradient(90deg,transparent,black)}
.cp-hero .hf-wrap,.cp-labor-hero .hf-wrap,.cp-closing .hf-wrap,.cp-labor-close .hf-wrap{position:relative;z-index:1}
.cp-hero{padding:clamp(150px,17vw,205px) 0 clamp(60px,8vw,120px)}
.cp-hero-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:clamp(32px,5vw,100px);align-items:center}
.cp-hero .hf-crumb,.cp-labor-hero .hf-crumb{margin-bottom:35px;color:#dfe3e0}
.cp-hero .hf-crumb a,.cp-labor-hero .hf-crumb a{color:#F4F0E8}
.cp-hero .eyebrow,.cp-labor-hero .eyebrow,.cp-closing .eyebrow,.cp-labor-close .eyebrow{color:var(--hf-gold-light,#FFE1AE)}
.cp-hero h1,.cp-labor-hero h1,.cp-closing h2,.cp-labor-close h2{font:500 clamp(56px,7vw,106px)/.98 Editorial,Georgia,serif;letter-spacing:-.04em;margin:18px 0 30px;text-wrap:balance}
.cp-hero p.cp-lede,.cp-labor-hero p{color:#dfe3e0;max-width:650px;line-height:1.75;font-size:clamp(16px,1.55vw,19px)}
.cp-actions,.cp-form-actions,.cp-result-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.cp-actions{margin:32px 0}
.cp-button{display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:50px;padding:12px 23px;border-radius:999px;text-decoration:none;font:700 12px/1.35 Manrope,sans-serif;letter-spacing:.02em;transition:transform .25s ease,background .25s ease;cursor:pointer}
.cp-button:hover,.cp-result-actions button:hover{transform:translateY(-2px)}
.cp-button:focus-visible,.cp-text-link:focus-visible,.cp-result-actions button:focus-visible,.cp-form input:focus-visible{outline:3px solid var(--hf-brass,#BB9259);outline-offset:3px}
.cp-button-gold{border:1px solid #d6b075;background:linear-gradient(135deg,#FFE1AE,#EACA92 60%,#d6b075);color:var(--hf-navy,#1E3341)}
.cp-button-outline{border:1px solid #FFE1AE80;color:var(--hf-cream,#F4F0E8);background:#ffffff09}
.cp-button-muted{border:1px solid var(--hf-hair,#d7cfc2);color:var(--hf-navy,#1E3341);background:transparent}
.cp-hero-folio{font:700 10px Manrope,sans-serif!important;color:var(--hf-gold-light,#FFE1AE)!important;letter-spacing:.18em}
.cp-blueprint{min-width:0;min-height:510px;padding:30px 36px;display:flex;flex-direction:column;justify-content:space-between;border:1px solid #EACA9260;background:linear-gradient(155deg,#0f1f29cc,#1E3341ad);position:relative;isolation:isolate;box-shadow:0 28px 60px #09182144}
.cp-blueprint:before{content:"";position:absolute;inset:12px;border:1px solid #EACA9230;z-index:-1}
.cp-blueprint-top,.cp-blueprint>div>span,.cp-blueprint small{font:700 10px Manrope,sans-serif;letter-spacing:.16em;color:var(--hf-gold-light,#FFE1AE)}
.cp-blueprint>div{position:relative;padding:8px 0}
.cp-blueprint strong{display:block;font:500 clamp(23px,2.2vw,34px)/1.2 Editorial,Georgia,serif;letter-spacing:-.02em;margin-top:9px}
.cp-blueprint-rule{height:1px;width:90%;background:linear-gradient(90deg,#EACA92,transparent);display:block}
.cp-blueprint-arc{position:absolute;width:180px;height:180px;border-radius:50%;border:1px solid #EACA9259;right:-50px;top:70px;pointer-events:none}
.cp-intro,.cp-method,.cp-explain,.cp-partners{padding-top:clamp(70px,9vw,124px);padding-bottom:clamp(70px,9vw,124px);display:grid;grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(28px,8vw,110px)}
.cp-intro h2,.cp-section-head h2,.cp-method h2,.cp-workspace h2,.cp-explain h2,.cp-partners h2{font:500 clamp(39px,5vw,70px)/1.04 Editorial,Georgia,serif;letter-spacing:-.04em;margin:14px 0 25px;text-wrap:balance;color:var(--hf-navy,#1E3341)}
.cp-intro p,.cp-method p,.cp-explain p,.cp-partners p{font:400 16px/1.8 Manrope,sans-serif;color:var(--hf-muted,#53616a);margin:0 0 20px}
.cp-intro .eyebrow,.cp-library .eyebrow,.cp-partners .eyebrow,.cp-method .eyebrow,.cp-explain .eyebrow{color:#8a6638}
.cp-library{padding:clamp(70px,9vw,120px) 0;background:var(--hf-sand,#ece6dc)}
.cp-section-head{display:flex;justify-content:space-between;align-items:end;gap:38px;border-bottom:1px solid var(--hf-hair,#d7cfc2);padding-bottom:40px}
.cp-section-head p{max-width:390px;font-size:15px;line-height:1.75;color:var(--hf-muted,#53616a)}
.cp-tool-entry{display:grid;grid-template-columns:100px minmax(0,1fr);gap:clamp(18px,4vw,72px);padding:60px 0;border-bottom:1px solid var(--hf-hair,#d7cfc2)}
.cp-tool-number{font:500 clamp(50px,7vw,98px)/1 Editorial,Georgia,serif;color:var(--hf-brass,#BB9259)}
.cp-tool-entry h3,.cp-next h3{font:500 clamp(32px,4vw,52px)/1.1 Editorial,Georgia,serif;letter-spacing:-.03em;color:var(--hf-navy,#1E3341);margin:14px 0 16px}
.cp-tool-entry p,.cp-tool-entry li,.cp-next p{color:var(--hf-muted,#53616a);font-size:15px;line-height:1.75;max-width:710px}
.cp-tool-entry ul{padding-left:21px;margin:22px 0}
.cp-tool-entry li{margin-bottom:5px}
.cp-text-link{display:inline-flex;align-items:center;gap:8px;font:700 13px Manrope,sans-serif;color:var(--hf-navy,#1E3341);border-bottom:1px solid var(--hf-brass,#BB9259);padding:5px 0;text-decoration:none}
.cp-next{padding-top:50px;max-width:780px}
.cp-next h3{font-size:clamp(30px,3vw,44px)}
.cp-partners{scroll-margin-top:90px;border-bottom:1px solid var(--hf-hair,#d7cfc2)}
.cp-partners .cp-button{margin-top:15px}
.cp-partners .cp-fine,.cp-disclosure{font-size:12px!important;line-height:1.7!important}
.cp-disclosure a{color:inherit}
.cp-closing,.cp-labor-close{padding:95px 0}
.cp-closing h2,.cp-labor-close h2{font-size:clamp(45px,6vw,80px)}
.cp-closing nav{display:flex;flex-wrap:wrap;gap:16px 26px}
.cp-closing nav a,.cp-labor-close .cp-text-link{color:var(--hf-cream,#F4F0E8);border-color:var(--hf-brass,#BB9259);text-decoration:none}
.cp-labor-hero{padding:clamp(150px,18vw,230px) 0 90px}
.cp-labor-hero h1{max-width:1050px}
.cp-labor-hero a.cp-text-link{color:var(--hf-cream,#F4F0E8);margin-top:18px}
.cp-method,.cp-explain{border-bottom:1px solid var(--hf-hair,#d7cfc2)}
.cp-workspace{background:var(--hf-sand,#ece6dc);padding:80px 0}
.cp-work-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(290px,.8fr);gap:clamp(25px,4vw,60px);align-items:start}
.cp-workspace h2{margin:14px 0 12px}
.cp-workspace p{line-height:1.7;color:var(--hf-muted,#53616a)}
.cp-form{margin-top:32px}
.cp-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:23px}
.cp-form label{display:flex;flex-direction:column;font:700 13px/1.5 Manrope,sans-serif;color:var(--hf-navy,#1E3341);gap:4px}
.cp-form label span{font-weight:400;font-size:11px;color:var(--hf-muted,#53616a)}
.cp-form input{width:100%;min-width:0;box-sizing:border-box;min-height:49px;padding:12px 14px;background:#fbf8f2;border:1px solid var(--hf-hair,#d7cfc2);border-radius:6px;font:500 16px Manrope,sans-serif;color:var(--hf-navy,#1E3341)}
.cp-form-actions{margin:28px 0}
.cp-fine{font-size:12px!important;line-height:1.7!important;color:var(--hf-muted,#53616a)!important}
.cp-results-wrap{padding:35px;border:1px solid var(--hf-hair,#d7cfc2);background:#fbf8f2;position:sticky;top:100px;box-shadow:0 15px 50px #13232e12}
.cp-results-wrap h2{font-size:clamp(35px,3vw,49px)}
.cp-result-list{margin:18px 0 25px}
.cp-result-list>div{padding:17px 0;border-bottom:1px solid var(--hf-hair,#d7cfc2)}
.cp-result-list dt{font:600 12px/1.5 Manrope,sans-serif;color:var(--hf-muted,#53616a)}
.cp-result-list dd{margin:8px 0 0;font:500 clamp(23px,2.5vw,39px)/1.2 Editorial,Georgia,serif;color:var(--hf-navy,#1E3341);overflow-wrap:anywhere}
.cp-result-emphasis{background:var(--hf-navy,#1E3341);padding:16px 20px!important;margin:10px -10px}
.cp-result-emphasis dt,.cp-result-emphasis dd{color:var(--hf-cream,#F4F0E8)}
.cp-result-actions button{border:1px solid var(--hf-brass,#BB9259);border-radius:999px;background:transparent;color:var(--hf-navy,#1E3341);font:700 12px Manrope,sans-serif;min-height:40px;padding:8px 15px;cursor:pointer}
.cp-error{color:#833f35!important;font-weight:700}
.cp-sources{display:flex;flex-direction:column;gap:10px;margin:20px 0}
.cp-sources a{color:var(--hf-navy,#1E3341);text-decoration:underline;text-underline-offset:3px;line-height:1.6;overflow-wrap:anywhere}
.cp-explain strong{color:var(--hf-navy,#1E3341)}
.cp-explain small{color:var(--hf-muted,#53616a)}
@media(max-width:1100px){.cp-hero-grid,.cp-work-grid{grid-template-columns:1fr}.cp-blueprint{max-width:640px;min-height:410px}.cp-results-wrap{position:static}.cp-hero{padding-top:155px}}
@media(max-width:760px){.cp-hero{padding:126px 0 70px}.cp-labor-hero{padding:130px 0 70px}.cp-blueprint{min-height:380px;padding:25px}.cp-intro,.cp-method,.cp-explain,.cp-partners{display:block}.cp-section-head{display:block}.cp-tool-entry{grid-template-columns:50px 1fr;gap:18px;padding:38px 0}.cp-tool-entry h3{font-size:33px}.cp-fields{grid-template-columns:1fr}.cp-results-wrap{padding:23px}.cp-workspace{padding:55px 0}.cp-button{width:100%;box-sizing:border-box}.cp-form-actions{align-items:stretch}.cp-closing,.cp-labor-close{padding:60px 0}}
@media(prefers-reduced-motion:reduce){.cp-button,.cp-result-actions button{transition:none}.cp-button:hover,.cp-result-actions button:hover{transform:none}}
@media print{.hf-header,.hf-footer,.mobile-action,.cp-form-actions,.cp-result-actions,.cp-labor-close{display:none!important}.cp-labor-hero,.cp-workspace{background:white!important;color:black!important;padding:20px 0}.cp-labor-hero *{color:black!important}.cp-work-grid{display:block}.cp-results-wrap{box-shadow:none;position:static}.cp-result-list>div{break-inside:avoid}#cp-labor-results[hidden]{display:none}}
