/* sealedhome.com: warm but trustworthy (items 28-29). A white page with a warm sand masthead and a light sand footer
   band, ink #22303A, deep blue #234A6B for headings and links, terracotta #B5543A for the seal and small accents.
   Flat, ruled sheets (thin borders, square-ish corners, no drop shadows), a numbered checklist and real house photos.
   System fonts. Nothing moves. */
html { font-size: 106.25%; }
.sh-doc { margin: 0; background: #FFFFFF; color: #22303A; font: 1rem/1.65 "Avenir Next", Avenir, "Segoe UI", "Helvetica Neue", Arial, system-ui, sans-serif; }
.sh-inner { max-width: 64rem; margin: 0 auto; padding: 0 1.2rem; }
.sh-bypass { position: absolute; top: -3rem; left: .5rem; background: #234A6B; color: #fff; padding: .5rem .8rem; z-index: 3; }
.sh-bypass:focus { top: .5rem; }
.sh-masthead { background: #F1E6D2; border-bottom: 3px solid #234A6B; padding: .9rem 0 .8rem; }
.sh-masthead .sh-inner { display: grid; gap: .2rem 2rem; align-items: center; }
@media (min-width: 52rem) { .sh-masthead .sh-inner { grid-template-columns: auto 1fr; } .sh-sections { justify-content: flex-end; } .sh-strap { grid-column: 1 / -1; grid-row: 2; } }
.sh-title { display: inline-block; text-decoration: none; }
.sh-logo { display: block; width: min(300px, 80vw); height: auto; }
.sh-logo-word { font: 700 30px "Avenir Next", Avenir, "Segoe UI", Arial, sans-serif; fill: #234A6B; letter-spacing: -.3px; }
.sh-strap { margin: .1rem 0 0; font-size: .95rem; color: #4F5A60; }
.sh-sections { display: flex; flex-wrap: wrap; gap: .3rem; }
.sh-sections a { color: #22303A; padding: .35rem .85rem; border-radius: 999px; text-decoration: none; font-weight: 600; }
.sh-sections a:hover { background: #FFFFFF; }
.sh-sections a[aria-current="page"] { background: #234A6B; color: #fff; }
a { color: #234A6B; text-underline-offset: .15em; }
:focus-visible { outline: 3px solid #B5543A; outline-offset: 2px; }
.sh-draftnote { background: #FFF6DB; border: 1px solid #A07B12; border-radius: 8px; padding: .4rem .8rem; font-size: .9rem; margin: 1rem 0; }
main.sh-inner { padding-top: .6rem; padding-bottom: 2.4rem; }
main.sh-inner > p, main.sh-inner > ul, .sh-lead-text p, .sh-sheet > p { max-width: 66ch; }
h1 { font-size: clamp(1.8rem, 3.4vw, 2.5rem); line-height: 1.2; margin: .4rem 0 .8rem; color: #1D3550; letter-spacing: -.01em; }
h2 { font-size: 1.4rem; color: #234A6B; margin-top: 2.2rem; }

/* the home lead: words left, a house photo in a warm card right */
.sh-lead, .sh-pagehead { display: grid; gap: 1.6rem; align-items: center; margin: .6rem 0 1rem; }
@media (min-width: 52rem) { .sh-lead { grid-template-columns: 1.1fr .9fr; } .sh-pagehead { grid-template-columns: 1fr 20rem; } }
.sh-lead-text p { font-size: 1.12rem; }
.sh-photo { background: #fff; border-radius: 4px; padding: 0 0 .6rem; border: 1px solid #D5C8B2; border-top: 4px solid #B5543A; }
.sh-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 0; }
.sh-photo-what { margin: .55rem .3rem 0; font-weight: 600; font-size: .92rem; line-height: 1.4; }
.sh-photo-who { margin: .15rem .3rem 0; font-size: .78rem; color: #4F5A60; }
.sh-photo-pair { display: grid; gap: 1.2rem; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); margin-bottom: .6rem; }

.sh-signup, .sh-sheet, .sh-toolcall { background: #fff; border: 1px solid #D5C8B2; border-radius: 4px; padding: 1.1rem 1.4rem; margin: 1.4rem 0; }
.sh-signup { background: #F7F1E6; border-color: #D5C8B2; border-left: 6px solid #234A6B; }
.sh-signup h2, .sh-toolcall h2, .sh-sheet h2 { margin-top: .2rem; }
.sh-bullets { padding-left: 0; list-style: none; }
.sh-bullets li { position: relative; padding: .3rem 0 .3rem 1.9rem; }
.sh-bullets li::before { content: ""; position: absolute; left: 0; top: .6rem; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: #234A6B; box-shadow: inset 0 0 0 3px #F3E6D3, 0 0 0 2px #234A6B; }
.sh-checks { counter-reset: shk; list-style: none; padding: 0; }
.sh-check { counter-increment: shk; position: relative; background: #fff; border: 0; border-bottom: 1px solid #D5C8B2; border-radius: 0; padding: .8rem 1rem .8rem 3.6rem; margin: .9rem 0; }
.sh-check::before { content: counter(shk); position: absolute; left: 1rem; top: .85rem; width: 1.8rem; height: 1.8rem; border-radius: 50%; background: #B5543A; color: #fff; font-weight: 700; display: grid; place-items: center; font-size: .9rem; }
.sh-check p { margin: .2rem 0; }
.sh-source, .sh-muted { font-size: .9rem; color: #4F5A60; }
.sh-selfcheck { border: 1px solid #234A6B; border-radius: 4px; padding: .9rem 1.1rem; margin: 1.4rem 0; background: #fff; }
.sh-selfcheck legend { font-weight: 700; padding: 0 .3rem; }
.sh-reveal { cursor: pointer; color: #234A6B; font-weight: 600; background: #fff; border: 1px solid #234A6B; border-radius: 999px; padding: .35rem .9rem; }
.sh-answer { max-width: 32rem; border: 2px solid #234A6B; border-radius: 14px; padding: 0 1rem; }
.sh-answer::backdrop { background: rgb(0 0 0 / .25); }
.sh-qtable { border-collapse: collapse; width: 100%; }
.sh-qtable th, .sh-qtable td { text-align: left; padding: .5rem; border-bottom: 1px solid #EFE4D2; vertical-align: middle; }
.sh-qtable input { font: inherit; width: 100%; max-width: 9rem; padding: .4rem .5rem; border: 1px solid #8C96A0; border-radius: 8px; }
.sh-whose-text { max-width: 70ch; line-height: 1.65; font-size: .95rem; }
.sh-addr { font-size: .85rem; color: #4F5A60; overflow-wrap: anywhere; }
#sh-calc { font: inherit; font-weight: 600; background: #234A6B; color: #fff; border: 0; padding: .6rem 1.3rem; border-radius: 999px; cursor: pointer; }
.sh-outcome { font-weight: 600; min-height: 1.6em; }
.sh-base { background: #F1E6D2; color: #22303A; padding: 1.3rem 0 2.2rem; font-size: .9rem; border-top: 3px solid #234A6B; margin-top: 2rem; }
.sh-base a { color: #1D3E5A; }
.sh-legalnav { display: flex; flex-wrap: wrap; gap: 1rem; }
.config-error, .config-error-inline { display: inline-block; background: #FDECEC; border: 2px solid #9A1B1B; color: #5B0E0E; padding: .4rem .6rem; }
