/* HTX Backyard - single stylesheet, mobile-first, no external fonts */
:root{--teal:#0f5257;--teal-d:#0a3b3f;--sun:#f2a541;--sand:#fbf7f0;--ink:#1d2a2c;--muted:#5b6b6d;--line:#e3ddd2;--white:#fff;--radius:12px}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:17px;line-height:1.6;color:var(--ink);background:var(--white)}
img{max-width:100%;height:auto}
a{color:var(--teal)}
a:hover{color:var(--teal-d)}
h1,h2,h3{line-height:1.25;color:var(--teal-d)}
h1{font-size:1.9rem;margin:.2em 0 .4em}
h2{font-size:1.35rem;margin:1.8em 0 .5em}
h3{font-size:1.1rem;margin:.2em 0 .3em}
.wrap{max-width:1080px;margin:0 auto;padding:0 18px}
.narrow{max-width:720px}
.section{padding:12px 18px}
.small{font-size:.88rem}
.skip{position:absolute;left:-999px}.skip:focus{left:8px;top:8px;background:#fff;padding:8px;z-index:9}
/* header */
.site-header{background:var(--white);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:60px;flex-wrap:wrap}
.logo{font-size:1.15rem;color:var(--teal-d);text-decoration:none;letter-spacing:.2px;margin:0}
.logo-mark{color:var(--sun)}
.site-header nav{display:flex;gap:14px;align-items:center;font-size:.95rem}
.site-header nav a{text-decoration:none}
.site-header nav a:not(.btn){display:none}
/* buttons */
.btn{display:inline-block;background:var(--sun);color:#1b1b1b;font-weight:700;text-decoration:none;padding:12px 20px;border-radius:999px;border:0;cursor:pointer;font-size:1rem;line-height:1.2}
.btn:hover{background:#e8952a;color:#000}
.btn-sm{padding:8px 14px;font-size:.9rem}
.btn-lg{padding:15px 26px;font-size:1.08rem}
.btn-block{display:block;width:100%;text-align:center}
.link{font-weight:600;margin-left:10px}
/* hero */
.hero{background:linear-gradient(160deg,var(--teal) 0%,#13706f 60%,#1b8a7f 100%);color:#fff;padding:44px 0 40px}
.hero h1{color:#fff;font-size:2.05rem}
.hero .lead{color:#e9f4f2}
.hero .link{color:#fff}
.hero-note{color:inherit;opacity:.85}
.eyebrow{font-size:.82rem;text-transform:uppercase;letter-spacing:.08em;opacity:.85;margin:0}
.lead{font-size:1.12rem;color:var(--muted)}
.hero-cta{margin:20px 0 10px}
.page-hero{background:var(--sand);border-bottom:1px solid var(--line);padding:26px 0 24px}
.crumbs{color:var(--muted)}.crumbs a{color:var(--muted)}
/* cards */
.card-grid{display:grid;grid-template-columns:1fr;gap:14px}
.card{display:block;border:1px solid var(--line);border-radius:var(--radius);padding:18px;text-decoration:none;color:var(--ink);background:#fff;transition:box-shadow .15s}
.card:hover{box-shadow:0 4px 18px rgba(15,82,87,.12);color:var(--ink)}
.card p{margin:.2em 0 .4em}
.more{color:var(--teal);font-weight:600;font-size:.92rem}
.step-list{padding-left:1.2em}.step-list li{margin:.6em 0}
.pill-list{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pill-list a{display:inline-block;border:1px solid var(--teal);border-radius:999px;padding:6px 14px;text-decoration:none;font-size:.95rem}
.honest{background:var(--sand);border-radius:var(--radius);margin-top:28px;margin-bottom:28px;padding:6px 22px 20px}
/* prose */
.prose{padding-top:6px;padding-bottom:30px}
.prose li{margin:.35em 0}
.prose sup{font-size:.7em;line-height:0}
.prose sup a{text-decoration:none}
.note{background:var(--sand);border-left:4px solid var(--sun);padding:10px 14px;border-radius:6px}
.tbl-wrap{overflow-x:auto}
.tbl{border-collapse:collapse;width:100%;font-size:.93rem;margin:10px 0}
.tbl th,.tbl td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
.tbl th{background:var(--sand)}
.cta-box{background:var(--teal);color:#fff;border-radius:var(--radius);padding:20px 22px;margin:32px 0}
.cta-box h2{color:#fff;margin-top:0}
.faq details{border:1px solid var(--line);border-radius:8px;padding:10px 14px;margin:8px 0;background:#fff}
.faq summary{cursor:pointer;font-weight:600}
.related ul{padding-left:1.1em}
.sources{border-top:1px solid var(--line);margin-top:28px}
.sources ol{font-size:.9rem;padding-left:1.4em}
.sources li{margin:.3em 0;word-break:break-word}
.disclosure{background:#fff8ec;border:1px solid #f3dcb3;border-radius:8px;padding:10px 14px;color:var(--ink)}
/* form */
.quote-form{margin:18px 0 40px}
.quote-form fieldset{border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px 18px;margin:0 0 18px}
.quote-form fieldset.inner{border:0;padding:0;margin:14px 0 0}
.quote-form legend{font-weight:700;color:var(--teal-d);padding:0 6px}
.quote-form fieldset.inner legend{padding:0;font-weight:600;color:var(--ink)}
.quote-form label{display:block;font-weight:600;margin:14px 0 4px}
.quote-form label.inline{display:inline-flex;align-items:center;gap:6px;font-weight:400;margin:6px 18px 0 0}
.quote-form input[type=text],.quote-form input[type=tel],.quote-form input[type=email],.quote-form input[type=url],.quote-form select,.quote-form textarea{width:100%;font:inherit;padding:11px 12px;border:1px solid #c9c2b5;border-radius:8px;background:#fff;color:var(--ink)}
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus{outline:3px solid rgba(242,165,65,.45);border-color:var(--teal)}
.req{color:#b23b1e}
.hint{font-size:.85rem;color:var(--muted);margin:6px 0 0}
.check{display:flex!important;gap:10px;align-items:flex-start;font-weight:400!important;font-size:.9rem;line-height:1.5}
.check input{margin-top:4px;width:20px;height:20px;flex:0 0 auto}
.consent{background:var(--sand)}
.hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.form-status{font-weight:600;margin-top:12px}
.form-status.err{color:#b23b1e}.form-status.ok{color:var(--teal)}
/* footer */
.site-footer{background:var(--teal-d);color:#d7e6e4;padding:30px 0 20px;margin-top:20px}
.site-footer a{color:#fff}
.site-footer .logo{color:#fff}
.footer-grid{display:grid;grid-template-columns:1fr;gap:16px}
.ft-h{font-weight:700;color:#fff;margin:0 0 6px}
.plain{list-style:none;padding:0;margin:0}.plain li{margin:4px 0}
.copy{border-top:1px solid rgba(255,255,255,.15);padding-top:14px;margin-top:16px;color:#b9cfcc}
@media (min-width:720px){
  h1{font-size:2.3rem}.hero h1{font-size:2.7rem}
  .hero{padding:72px 0 64px}
  .site-header nav a:not(.btn){display:inline}
  .card-grid{grid-template-columns:repeat(3,1fr)}
  .footer-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}
}
.talk{margin:14px 0 0;font-weight:600}
.talk a{white-space:nowrap}
