.hhm-planner { --planner-orange: #f05a13; --planner-yellow: #ffd21f; --planner-ink: #111315; --planner-paper: #fff; --planner-line: #d8d3ca; max-width: 78rem; margin: 0 auto; overflow-wrap: anywhere; }
.hhm-planner__header { max-width: 54rem; margin-bottom: 2rem; }
.hhm-planner__form, .hhm-planner__result, .hhm-planner__method { margin: 2rem 0; padding: clamp(1.2rem, 4vw, 2rem); border: 1px solid var(--planner-line); background: var(--planner-paper); }
.hhm-planner__form { margin-right: 7px; border-top: 8px solid var(--planner-orange); box-shadow: 7px 7px 0 var(--planner-ink); }
.hhm-planner__start { margin: 0 0 1.25rem; padding: .9rem 1rem; border-left: 6px solid var(--planner-yellow); background: #fffaf0; }
.hhm-planner__why, .hhm-planner__support { margin: 1.25rem 0; padding: .9rem 1rem; border: 1px solid var(--planner-line); background: #fff; }
.hhm-planner__why summary, .hhm-planner__support summary { cursor: pointer; color: var(--planner-ink); font-weight: 900; }
.hhm-planner__support { background: #fffdf8; }
.hhm-planner__grid { display: grid; gap: 1.25rem; }
.hhm-planner__grid > div { min-width: 0; }
.hhm-planner label { display: block; margin-bottom: .4rem; color: var(--planner-ink); font-weight: 800; }
.hhm-planner input, .hhm-planner select, .hhm-planner textarea { width: 100%; min-height: 3rem; padding: .7rem .8rem; border: 2px solid #74797c; border-radius: 0; color: var(--planner-ink); background: #fff; font: inherit; }
.hhm-planner :focus-visible { outline: 3px solid var(--planner-ink); outline-offset: 3px; box-shadow: 0 0 0 6px var(--planner-yellow); }
.hhm-planner [aria-invalid="true"] { border-color: #9f1f1f; box-shadow: 0 0 0 2px #9f1f1f; }
.hhm-planner small { display: block; margin-top: .35rem; color: #555d61; }
.hhm-planner__money { position: relative; display: block; }
.hhm-planner__money > span { position: absolute; top: .75rem; left: .8rem; font-weight: 800; }
.hhm-planner__money input { padding-left: 1.8rem; }
.hhm-planner__error { padding: .8rem; border-left: 5px solid #9f1f1f; background: #fff2f2; }
.hhm-planner__field-note, .hhm-planner__hold { padding: 1rem; border-left: 6px solid var(--planner-orange); background: #fff4e9; }
.hhm-planner__status { min-height: 1.5em; }
.hhm-planner__result { scroll-margin-top: 2rem; border: 3px solid var(--planner-ink); background: #f4f0e7; }
.hhm-planner__result[hidden], .hhm-planner__error[hidden] { display: none; }
.hhm-planner__range { margin: .5rem 0 1rem; color: var(--planner-ink); font-size: clamp(2rem, 7vw, 4.5rem); font-weight: 950; letter-spacing: -.045em; line-height: 1; }
.hhm-planner__signals { display: grid; gap: 1rem; margin: 1.5rem 0; }
.hhm-planner__signal { min-width: 0; padding: 1.2rem; border: 2px solid var(--planner-ink); background: #fff; }
.hhm-planner__signal--worksheet { border-top: 7px solid var(--planner-orange); }
.hhm-planner__signal h4 { margin-top: 0; }
.hhm-planner__signal dl { margin: 1rem 0; }
.hhm-planner__signal dt { margin-top: .8rem; font-weight: 900; }
.hhm-planner__signal dd { margin-left: 0; }
.hhm-planner__signal [hidden], .hhm-planner__field-note[hidden] { display: none; }
.hhm-planner__warning { padding: 1rem; border-left: 6px solid var(--planner-yellow); background: #fff; }
.hhm-planner__actions { display: flex; flex-wrap: wrap; gap: .8rem; margin-top: 1rem; }
.hhm-planner__copy-status { min-height: 1.5em; }
.hhm-planner__print-summary { display: none; white-space: pre-wrap; }
.hhm-planner__method { border-left: 7px solid var(--planner-orange); }
.hhm-planner__method h3 { margin-top: 0; }
.hhm-planner__method li + li { margin-top: .5rem; }
.hhm-planner__lead { margin-top: 3rem; }
.hhm-planner__related { margin: 2rem 0; padding: 1.2rem; background: #f4f0e7; }
.hhm-planner .button { display: inline-flex; min-height: 2.8rem; align-items: center; justify-content: center; padding: .7rem 1rem; border: 2px solid var(--planner-ink); color: var(--planner-ink); background: var(--planner-yellow); font: inherit; font-weight: 900; text-decoration: none; cursor: pointer; }
.hhm-planner .button--primary { color: var(--planner-ink); background: var(--planner-orange); }
.hhm-planner .button--dark { color: #fff; background: var(--planner-ink); }
.hhm-planner__ghl-container { margin-top: 1.5rem; }
.hhm-planner__ghl-container[hidden] { display: none; }
.ghl-project-form__frame { display: block; width: 100%; min-height: 78rem; border: 0; background: #fff; }
@media (min-width: 48rem) { .hhm-planner__grid, .hhm-planner__signals { grid-template-columns: repeat(2, minmax(0, 1fr)); } .hhm-planner__signal--worksheet { grid-column: 1 / -1; } }
@media (max-width: 30rem) { .hhm-planner__actions { display: grid; } .hhm-planner__actions .button { width: 100%; } .ghl-project-form__frame { min-height: 92rem; } }
@media print { .site-header, .site-footer, .hhm-planner__form, .hhm-planner__lead, .hhm-planner__actions, .hhm-planner__related, .hhm-planner__status, .hhm-planner__copy-status, .hhm-planner__result > * { display: none !important; } .hhm-planner__result, .hhm-planner__method { display: block !important; border: 1px solid #000; box-shadow: none; break-inside: avoid; } .hhm-planner__result > .hhm-planner__print-summary { display: block !important; } a { color: #000; text-decoration: underline; } }
@media (prefers-reduced-motion: reduce) { .hhm-planner *, .hhm-planner *::before, .hhm-planner *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; } }
@media (forced-colors: active) { .hhm-planner :focus-visible { outline: 3px solid Highlight; box-shadow: none; } .hhm-planner__form, .hhm-planner__result, .hhm-planner__method, .hhm-planner__warning { border-color: CanvasText; } }
.hhm-planner__dimensions {
	margin: 1rem 0 0;
	padding: 1.25rem;
	border: 2px solid #f5a000;
	background: #fffaf0;
}
.hhm-planner__dimensions-disclosure { margin: 1.5rem 0; border: 2px solid #f5a000; background: #fffaf0; }
.hhm-planner__dimensions-disclosure > summary { padding: 1rem 1.25rem; cursor: pointer; color: var(--planner-ink); font-weight: 900; }
.hhm-planner__dimensions-disclosure[open] > summary { border-bottom: 1px solid #d8a34a; }
.hhm-planner__dimensions-disclosure .hhm-planner__dimensions { border: 0; }
.hhm-planner__dimensions legend { padding: 0 .5rem; font-weight: 900; }
.hhm-planner__takeoff {
	margin-bottom: 1.5rem;
	padding: 1.25rem;
	background: #101010;
	color: #fff;
}
.hhm-planner__takeoff table { width: 100%; border-collapse: collapse; color: inherit; }
.hhm-planner__takeoff th,
.hhm-planner__takeoff td { padding: .65rem; border-bottom: 1px solid rgba(255,255,255,.2); text-align: left; }
.hhm-planner__takeoff td { color: #ffd050; font-weight: 800; }
.hhm-planner__value-status{display:inline-block;margin:.45rem 0 0;padding:.25rem .55rem;border-radius:999px;font-size:.78rem;font-weight:800;line-height:1.2}.hhm-planner__value-status--provided{background:#eef7ee;color:#205c2b;border:1px solid #a9d6b0}.hhm-planner__value-status--estimated{background:#fff1df;color:#793b00;border:2px solid #f58220}.hhm-planner [data-hhm-value-status="estimated"]{border-color:#f58220!important;box-shadow:0 0 0 2px rgba(245,130,32,.16)}.hhm-planner__handoff-context{margin:0 0 1.25rem;padding:1rem 1.1rem;border:2px solid #f2b705;border-radius:14px;background:#fffaf0}.hhm-planner__handoff-context h3{margin-top:0}.hhm-planner__handoff-context dl{display:grid;grid-template-columns:minmax(8rem,12rem) 1fr;gap:.4rem 1rem;margin:.75rem 0}.hhm-planner__handoff-context dt{font-weight:800}.hhm-planner__handoff-context dd{margin:0}@media(max-width:600px){.hhm-planner__handoff-context dl{grid-template-columns:1fr}.hhm-planner__handoff-context dd{margin-bottom:.45rem}}
