/* HOMEFRONT Compass — Observation Journal. Premium paper folios, no home photos. */
.hf-obs-hero{background:radial-gradient(110% 100% at 83% 27%,#2a4a5e,#18303f 50%,#0d1b24);color:var(--hf-cream,#f4f0e8);position:relative;isolation:isolate}
.hf-obs-hero:before{content:"";position:absolute;inset:0;pointer-events:none;z-index:-1;opacity:.42;background-image:linear-gradient(#c6dae41c 1px,transparent 1px),linear-gradient(90deg,#c6dae41c 1px,transparent 1px);background-size:28px 28px}
.hf-obs-hero-grid{display:grid;grid-template-columns:minmax(0,1.09fr) minmax(0,.91fr);gap:6%;align-items:center;padding-block:132px 86px}
.hf-obs-hero .hf-crumb,.hf-obs-hero .hf-crumb a{color:var(--hf-cream,#f4f0e8)}
.hf-obs-hero .eyebrow{color:var(--hf-gold,#eaca92);margin-top:45px}
.hf-obs-hero h1{font:500 clamp(61px,6.3vw,94px)/.95 Editorial,Georgia,serif;letter-spacing:-.04em;margin:18px 0 30px}
.hf-obs-hero-grid>div:first-child>p:not(.eyebrow){font:400 16px/1.8 Manrope,Arial,sans-serif;max-width:660px;color:#dfe3e0}
.hf-obs-hero-action{display:inline-flex;align-items:center;gap:29px;background:linear-gradient(110deg,#ffe1ae,#eaca92,#d6b075);color:var(--hf-navy,#1e3341);padding:14px 22px;border-radius:28px;margin-top:32px;font:700 12px/1.4 Manrope,Arial,sans-serif;min-height:46px;text-decoration:none}
.hf-obs-hero-action:hover{filter:brightness(1.08)}
.hf-obs-plate{border:1px solid #eaca92a8;transform:rotate(1deg);padding:21px;background:linear-gradient(135deg,#234557,#132b39);box-shadow:17px 20px 0 #080f174a;min-height:410px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}
.hf-obs-folio{display:flex;justify-content:space-between;gap:18px;font:700 9px/1.5 Manrope,Arial,sans-serif;letter-spacing:.15em;color:var(--hf-gold,#eaca92)}
.hf-obs-folio-bottom{border-top:1px solid #eaca9270;padding-top:15px}
.hf-obs-sketch{position:relative;min-height:300px;margin:15px 0;background-image:linear-gradient(#b5d2e017 1px,transparent 1px),linear-gradient(90deg,#b5d2e017 1px,transparent 1px);background-size:21px 21px}
.hf-obs-room-outline{position:absolute;inset:20% 13% 18% 20%;border:3px solid #dce8e2b5}
.hf-obs-room-outline:before{content:"";position:absolute;inset:25% 30% 0 0;border-top:2px dashed var(--hf-cream,#f4f0e8);border-right:2px dashed var(--hf-cream,#f4f0e8);opacity:.64}
.hf-obs-point{position:absolute;display:grid;place-items:center;border-radius:50%;border:2px solid #ffe1ae;color:#ffe1ae;width:42px;height:42px;box-shadow:0 0 0 8px #eaca9218;font:700 11px/1 Manrope,Arial,sans-serif;background:#1e3341}
.hf-obs-point.one{left:18%;top:14%}.hf-obs-point.two{right:12%;top:40%}.hf-obs-point.three{left:48%;bottom:12%}
.hf-obs-measure{display:flex;gap:19px;position:absolute;bottom:7px;right:9px;color:#eaca92;font:650 9px/1.5 Manrope,Arial,sans-serif;letter-spacing:.15em}
.hf-obs-principle{padding-block:79px;display:grid;grid-template-columns:1fr 1fr;gap:10%;border-bottom:1px solid var(--hf-hair,#d7cfc2)}
.hf-obs-principle h2,.hf-obs-notebook-heading h2,.hf-obs-records-head h2,.hf-obs-sources h2{font:500 clamp(43px,4.8vw,64px)/1.08 Editorial,Georgia,serif;letter-spacing:-.03em;margin:15px 0 22px}
.hf-obs-principle>div:last-child{align-self:end}
.hf-obs-principle p:not(.eyebrow){color:var(--hf-muted,#53616a);font:400 15px/1.83 Manrope,Arial,sans-serif;margin:0 0 16px}
.hf-obs-principle strong{color:var(--hf-navy,#1e3341)}
.hf-obs-notebook{background:var(--hf-sand,#ece6dc);padding-block:83px 95px}
.hf-obs-notebook-heading{max-width:770px;margin-bottom:42px}
.hf-obs-notebook-heading p:last-child{font:400 15px/1.78 Manrope,Arial,sans-serif;color:var(--hf-muted,#53616a)}
.hf-obs-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:24px;align-items:start}
.hf-obs-editor{background:#fbf8f2;border:1px solid #d5c8b6;padding:29px 31px;min-width:0}
.hf-obs-editor-head{border-bottom:1px solid #d8cbb8;display:flex;justify-content:space-between;gap:16px;padding-bottom:15px;margin-bottom:26px;color:#8a6638;font:700 10px/1.4 Manrope,Arial,sans-serif;letter-spacing:.12em}
.hf-obs-editor-head span:last-child{text-align:right}
.hf-obs-editor-grid{display:grid;grid-template-columns:1fr 1fr;gap:19px}
.hf-obs-editor label,.hf-obs-records-controls label{color:var(--hf-navy,#1e3341);font:700 12px/1.6 Manrope,Arial,sans-serif;display:block}
.hf-obs-editor label>span{display:block;color:var(--hf-muted,#53616a);font:400 12px/1.65 Manrope,Arial,sans-serif;margin:5px 0 8px}
.hf-obs-editor :is(input,select,textarea),.hf-obs-records-controls select{display:block;width:100%;max-width:100%;border:1px solid #a99e8c;border-radius:2px;background:#fffdf9;color:#1e3341;min-height:48px;margin-top:8px;padding:12px 13px;font:500 13px/1.5 Manrope,Arial,sans-serif}
.hf-obs-editor textarea{min-height:108px;resize:vertical}
.hf-obs-editor-long{margin-top:25px;display:grid;gap:22px}
.hf-obs-editor :is(button,input,select,textarea):focus-visible,.hf-obs-records button:focus-visible,.hf-obs-related a:focus-visible{outline:3px solid #bb9259;outline-offset:3px}
.hf-obs-form-buttons{display:flex;gap:13px;flex-wrap:wrap;margin-top:26px}
.hf-obs-form-buttons[hidden],.hf-obs-records-controls[hidden]{display:none}
.hf-obs-form-buttons button,.hf-obs-entry-controls button,.hf-obs-export button{border:1px solid var(--hf-navy,#1e3341);min-height:46px;border-radius:3px;padding:12px 18px;background:transparent;color:var(--hf-navy,#1e3341);font:650 12px/1.45 Manrope,Arial,sans-serif;cursor:pointer}
.hf-obs-form-buttons button:first-child{background:var(--hf-navy,#1e3341);color:#f4f0e8}
.hf-obs-form-buttons button:disabled,.hf-obs-export button:disabled{opacity:.55;cursor:not-allowed}
.hf-obs-form-buttons button:hover:not(:disabled),.hf-obs-entry-controls button:hover,.hf-obs-export button:hover:not(:disabled){background:#e7dbca;color:var(--hf-navy,#1e3341)}
.hf-obs-form-buttons button:first-child:hover:not(:disabled){background:#365566;color:#fff}
.hf-obs-message{font:600 12px/1.75 Manrope,Arial,sans-serif;color:var(--hf-muted,#53616a);min-height:23px;margin:13px 0 0}
.hf-obs-nojs{font-size:12px;line-height:1.7}
.hf-obs-sidebar{border:1px solid #d8c7b0;background:#e5d9c8;padding:27px;min-width:0}
.hf-obs-sidebar h3{font:500 clamp(31px,3.1vw,42px)/1.1 Editorial,Georgia,serif;margin:14px 0 20px}
.hf-obs-category-guide>div{border-top:1px solid #c4b39d;padding:17px 0;position:relative}
.hf-obs-category-guide h3{margin:0 0 8px 37px;font:650 12px/1.45 Manrope,Arial,sans-serif}
.hf-obs-category-guide p{color:var(--hf-muted,#53616a);font:400 12px/1.7 Manrope,Arial,sans-serif;margin:0 0 0 37px}
.hf-obs-symbol{position:absolute;left:0;top:17px;color:#8a6638;font:700 10px/1.5 Manrope,Arial,sans-serif}
.hf-obs-sidebar-note{border-top:1px solid #c4b39d;color:var(--hf-muted,#53616a);padding-top:19px;margin-top:12px;font:500 12px/1.7 Manrope,Arial,sans-serif}
.hf-obs-records{margin-top:58px;padding-top:27px;border-top:2px solid var(--hf-navy,#1e3341);scroll-margin-top:20px}
.hf-obs-records-head{display:flex;justify-content:space-between;align-items:end;gap:20px;flex-wrap:wrap}
.hf-obs-records-head h2{font-size:clamp(34px,3.3vw,50px)}
.hf-obs-records-head output{font:650 12px/1.5 Manrope,Arial,sans-serif;color:var(--hf-muted,#53616a);padding-bottom:27px}
.hf-obs-records-controls{display:flex;align-items:end;justify-content:space-between;flex-wrap:wrap;gap:22px;border-block:1px solid #cdbda8;padding-block:20px;margin:14px 0 25px}
.hf-obs-records-controls label{min-width:230px}
.hf-obs-export{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.hf-obs-export button{background:#fbf8f2;border-color:#a69a84;min-height:44px;font-size:11px;padding:10px 12px}
.hf-obs-export button:nth-child(1){background:var(--hf-navy,#1e3341);color:var(--hf-cream,#f4f0e8);border-color:var(--hf-navy,#1e3341)}
.hf-obs-export button:last-child{border-color:#956b3e}
.hf-obs-entry-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.hf-obs-empty{grid-column:1/-1;border:1px dashed #b0a28f;background:#fbf8f2;padding:29px;font:450 14px/1.7 Manrope,Arial,sans-serif;color:var(--hf-muted,#53616a)}
.hf-obs-entry{background:#fbf8f2;border:1px solid #d6c8b5;padding:26px;min-width:0}
.hf-obs-entry-head{border-bottom:1px solid #d6c8b5;padding-bottom:14px;color:#8a6638;font:700 10px/1.55 Manrope,Arial,sans-serif;letter-spacing:.12em}
.hf-obs-entry h3{font:500 31px/1.17 Editorial,Georgia,serif;margin:18px 0 9px;overflow-wrap:anywhere}
.hf-obs-entry-period{color:var(--hf-muted,#53616a);font:500 11px/1.6 Manrope,Arial,sans-serif;margin-bottom:19px}
.hf-obs-entry-line{border-top:1px solid #e0d7c9;padding:15px 0}
.hf-obs-entry-term{color:#8a6638;letter-spacing:.1em;font:700 10px/1.5 Manrope,Arial,sans-serif}
.hf-obs-entry-value{font:450 13px/1.7 Manrope,Arial,sans-serif;overflow-wrap:anywhere;margin:7px 0 0;color:#324856;white-space:pre-wrap}
.hf-obs-entry-controls{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.hf-obs-entry-controls button{font-size:11px;min-height:43px}
.hf-obs-privacy{border-top:1px solid #cdbda8;padding-top:20px;margin-top:30px;color:var(--hf-muted,#53616a);font:600 11px/1.85 Manrope,Arial,sans-serif;max-width:830px}
.hf-obs-sources{background:var(--hf-navy,#1e3341);color:var(--hf-cream,#f4f0e8);padding-block:88px}
.hf-obs-sources .eyebrow{color:var(--hf-gold,#eaca92)}
.hf-obs-sources>div>p:not(.eyebrow){color:#dfe3e0;max-width:760px;font:400 15px/1.75 Manrope,Arial,sans-serif}
.hf-obs-source-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin-top:38px}
.hf-obs-source-grid a{border-top:1px solid #eaca9270;padding-top:22px;display:flex;flex-direction:column;gap:12px;text-decoration:none;color:inherit}
.hf-obs-source-grid strong{font:500 27px/1.17 Editorial,Georgia,serif}
.hf-obs-source-grid a span{color:#dfe3e0;font:400 12px/1.7 Manrope,Arial,sans-serif}
.hf-obs-source-grid a span:last-child{color:#eaca92;align-self:start}
.hf-obs-related{display:flex;flex-wrap:wrap;gap:17px 28px;border-top:1px solid #eaca9260;padding-top:25px;margin-top:36px}
.hf-obs-related a{color:var(--hf-cream,#f4f0e8);text-decoration:none;border-bottom:1px solid #eaca92;font:650 12px/1.5 Manrope,Arial,sans-serif;padding:9px 0}
.hf-obs-sources small{display:block;font:650 10px/1.8 Manrope,Arial,sans-serif;color:#bfcdd1;margin-top:42px;letter-spacing:.08em}
@media(max-width:1050px){.hf-obs-layout{grid-template-columns:1fr}.hf-obs-sidebar{display:grid;grid-template-columns:1fr 2fr;gap:20px}.hf-obs-sidebar .eyebrow{grid-column:1/-1}.hf-obs-sidebar-note{grid-column:1/-1}}
@media(max-width:760px){
 .hf-obs-hero-grid{grid-template-columns:1fr;gap:48px;padding-block:105px 62px}
 .hf-obs-hero h1{font-size:clamp(56px,11vw,78px)}
 .hf-obs-hero .eyebrow{margin-top:32px}
 .hf-obs-plate{min-height:260px;transform:none;max-width:565px}
 .hf-obs-sketch{min-height:190px}
 .hf-obs-principle{grid-template-columns:1fr;padding-block:58px;gap:12px}
 .hf-obs-notebook{padding-block:58px}
 .hf-obs-layout{grid-template-columns:1fr}
 .hf-obs-editor{padding:25px 22px}
 .hf-obs-sidebar{display:block}
 .hf-obs-editor-grid{grid-template-columns:1fr}
 .hf-obs-entry-list{grid-template-columns:1fr}
 .hf-obs-records-head output{padding-bottom:10px}
 .hf-obs-records-controls label{width:100%}
 .hf-obs-sources{padding-block:65px}
 .hf-obs-source-grid{grid-template-columns:1fr}
}
@media(max-width:375px){.hf-obs-hero h1{font-size:53px}.hf-obs-plate{padding:14px}.hf-obs-folio{font-size:8px}.hf-obs-export{display:grid;grid-template-columns:1fr 1fr;width:100%}.hf-obs-export button{padding:10px 9px}.hf-obs-editor-head{font-size:9px}.hf-obs-entry{padding:20px}}
@media(prefers-reduced-motion:reduce){.hf-obs-hero-action,.hf-obs-entry{animation:none!important;transition:none!important}}
@media print{
 @page{margin:15mm}
 body[data-observation-print] :is(.hf-header,.hf-footer,.hf-contact-dock,.hf-obs-hero,.hf-obs-principle,.hf-obs-notebook-heading,.hf-obs-editor,.hf-obs-sidebar,.hf-obs-sources,.hf-obs-records-controls,.hf-obs-entry-controls,.hf-obs-message,.hf-obs-privacy){display:none!important}
 body[data-observation-print] .hf-obs-notebook{background:white!important;padding:0!important}
 body[data-observation-print] .hf-obs-records{margin:0!important;padding:0!important;border:0!important}
 body[data-observation-print] .hf-obs-entry-list{display:block!important}
 body[data-observation-print] .hf-obs-entry{border:1px solid #bbb!important;box-shadow:none!important;break-inside:avoid;margin-bottom:18px;background:#fff!important}
 body[data-observation-print] .hf-page-scroll{height:auto!important;overflow:visible!important}
}

/* Keep contextual navigation usable as a touch target without changing its type or destination. */
@media screen{.hf-obs-related a{display:inline-flex;align-items:center;min-height:44px;max-width:100%;box-sizing:border-box}}
