@font-face{font-family:"Lora";src:url(../fonts/lora-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Lora";src:url(../fonts/lora-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Mulish";src:url(../fonts/mulish-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Mulish";src:url(../fonts/mulish-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}

/* Home Pros Nationwide: deep teal with four season colors; calm almanac feel */
:root{
  --bg:#f6f7f4; --surface:#ffffff; --tint:#eaf1f0;
  --ink:#152326; --ink-soft:#526266;
  --accent:#155e75; --accent-deep:#0e4354; --accent-soft:#dcecef; --on-accent:#fff;
  --spring:#65a30d; --spring-soft:#ecf6dc; --summer:#d97706; --summer-soft:#fdf0d9; --fall:#c2410c; --fall-soft:#fbe5da; --winter:#0284c7; --winter-soft:#dff0fa;
  --link:#0f6b84; --ok:#3f7d1a; --ok-soft:#ecf6dc; --bad:#b83227; --bad-soft:#fbe3df;
  --line:#dde5e3; --field:#a2b0b2;
  --head:"Lora",Georgia,serif; --head-w:700; --head-track:-.01em;
  --sans:"Mulish",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1180px; --r-sm:6px; --r-md:12px; --r-btn:6px;
}
.eyebrow{font-weight:700;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--fall);margin-bottom:.8em}
.tag{display:inline-block;font-weight:700;font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-deep);background:#fde68a;padding:.35em .8em;border-radius:4px;margin-bottom:14px}
.section-h{margin-bottom:24px}
.btn{font-weight:700}

.masthead{background:var(--surface);border-bottom:4px solid transparent;border-image:linear-gradient(90deg,var(--spring) 25%,var(--summer) 25% 50%,var(--fall) 50% 75%,var(--winter) 75%) 1}
.brand-text{font:600 1.3rem var(--head);color:var(--accent-deep)}
.brand-text b{font-weight:700;color:var(--accent)}
.nav a{color:var(--ink);border-radius:6px;font-weight:700;font-size:.95rem}
.nav a:hover{background:var(--tint)}
.nav a[aria-current]{background:var(--accent);color:#fff}
.nav .nav-login{border:2px solid var(--accent);color:var(--accent);padding:.38em 1em}
.nav .nav-btn{background:var(--accent);color:#fff;padding:.45em 1.05em;border:2px solid var(--accent)}
.nav .nav-btn:hover,.nav .nav-btn[aria-current]{background:var(--accent-deep);color:#fff;border-color:var(--accent-deep)}
.menu summary{color:var(--ink)}
.menu[open] .nav a[aria-current]{color:#fff}

.hero{padding:62px 0 76px;background:var(--bg)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:56px;align-items:center}
.hero h1{font-size:clamp(2.2rem,4.5vw,3.4rem);line-height:1.08;max-width:17ch;color:var(--accent-deep)}
.hero .lede{max-width:52ch}
.wheel{position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:8px;aspect-ratio:1/1;max-width:420px;margin-left:auto;width:100%}
.q{display:flex;flex-direction:column;gap:4px;padding:22px;color:#fff}
.q b{font:700 1.4rem var(--head)}
.q span{font-size:.84rem;opacity:.95;max-width:13ch;line-height:1.3}
.q-spring{background:var(--spring);border-radius:100% 0 0 0;align-items:flex-end;justify-content:flex-end;text-align:right;order:1;padding-right:34%;padding-bottom:30%}
.q-summer{background:var(--summer);border-radius:0 100% 0 0;justify-content:flex-end;order:2;padding-left:34%;padding-bottom:30%}
.q-winter{background:var(--winter);border-radius:0 0 0 100%;align-items:flex-end;text-align:right;order:3;padding-right:34%;padding-top:30%}
.q-fall{background:var(--fall);border-radius:0 0 100% 0;order:4;padding-left:34%;padding-top:30%}
.hub{position:absolute;left:50%;top:50%;width:28%;height:28%;transform:translate(-50%,-50%);border-radius:50%;background:var(--surface);box-shadow:0 0 0 8px var(--bg);display:flex;align-items:center;justify-content:center;text-align:center;font:700 1rem/1.25 var(--head);color:var(--accent-deep)}

.climate-strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}
.climate-strip a{display:flex;flex-direction:column;gap:6px;height:100%;padding:20px;border-radius:var(--r-md);background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--accent);text-decoration:none;color:var(--ink)}
.climate-strip a:hover{color:var(--ink);border-color:var(--accent)}
.climate-strip strong{font:700 1.14rem var(--head);color:var(--accent-deep)}
.climate-strip span{font-size:.88rem;color:var(--ink-soft)}
.cl-cold a,.region.cl-cold{border-top-color:var(--winter)}.cl-mixed a,.region.cl-mixed{border-top-color:var(--spring)}.cl-humid a,.region.cl-humid{border-top-color:var(--summer)}.cl-dry a,.region.cl-dry{border-top-color:var(--fall)}.cl-marine a,.region.cl-marine{border-top-color:var(--accent)}
.section-tint{background:var(--tint)}
.season-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.season{background:var(--surface);border-radius:var(--r-md);overflow:hidden}
.season h3{margin:0;padding:12px 18px;color:#fff;font-size:1.2rem}
.s-spring h3{background:var(--spring)}.s-summer h3{background:var(--summer)}.s-fall h3{background:var(--fall)}.s-winter h3{background:var(--winter)}
.season ul{list-style:none;margin:0;padding:6px 18px 12px}
.season li{padding:.55em 0;border-bottom:1px solid var(--line)}
.season li:last-child{border-bottom:0}
.season a{color:var(--ink);text-decoration:none;font-weight:700;line-height:1.3}
.season a:hover{color:var(--link);text-decoration:underline}
.free-row{display:grid;grid-template-columns:300px 1fr;gap:64px;align-items:center}
.pdf-page.p1{border-top-color:var(--accent)}
.pdf-page.p2{background:var(--spring-soft)}.pdf-page.p3{background:var(--winter-soft)}
.product-band{background:var(--accent-deep);color:#c6dbe0;padding:76px 0}
.product-band h2{color:#fff}
.product-band .lede{color:#c6dbe0}
.product-band .price-line strong{color:#fde68a;font-size:1.6rem}
.product-teaser{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:center}
.band-signup{background:var(--summer-soft)}

.page-head{background:var(--surface);border-bottom:1px solid var(--line)}
.page-head h1{color:var(--accent-deep)}
.page-head.s-spring{border-bottom:5px solid var(--spring)}.page-head.s-summer{border-bottom:5px solid var(--summer)}.page-head.s-fall{border-bottom:5px solid var(--fall)}.page-head.s-winter{border-bottom:5px solid var(--winter)}
.hub-group{display:grid;grid-template-columns:260px 1fr;gap:40px;padding:34px 0;border-top:1px solid var(--line)}
.hub-group:first-child{border-top:0;padding-top:0}
.hub-label h2{padding-left:14px;border-left:6px solid var(--accent)}
.hub-group.s-spring .hub-label h2{border-left-color:var(--spring)}.hub-group.s-summer .hub-label h2{border-left-color:var(--summer)}.hub-group.s-fall .hub-label h2{border-left-color:var(--fall)}.hub-group.s-winter .hub-label h2{border-left-color:var(--winter)}
.hub-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:6px 32px}
.hub-list li{padding:.8em 0;border-bottom:1px solid var(--line)}
.hub-list a{font:700 1.12rem var(--head)}
.hub-list p{margin:.25em 0 0;color:var(--ink-soft);font-size:.96rem}
.hub-list .meta,.meta-line{font-size:.86rem;color:var(--ink-soft)}
.guide-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;padding-top:44px;padding-bottom:64px}
.guide-body{max-width:70ch}
.guide-body h2{margin-top:1.3em;font-size:1.48rem;color:var(--accent-deep)}
.guide-body li{margin-bottom:.4em}
.intro{font-size:1.18rem;line-height:1.6}
.tip-box{background:var(--accent-soft);border-left:6px solid var(--accent);border-radius:var(--r-sm);padding:20px 24px;margin:2em 0}
.tip-box h2{font-size:1.2rem;margin:0 0 .5em}
.tip-box ul{margin:0;padding-left:1.2em}
.guide-side{display:flex;flex-direction:column;gap:20px}
.side-kit{background:var(--accent-soft);border-color:#c4dde2}

.tool-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px;align-items:start}
.calc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:28px;max-width:none}
.cal-out{background:var(--surface);border:1px solid var(--line);border-top:8px solid var(--accent);border-radius:var(--r-md);padding:28px}
.calc-k{font-weight:700;font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:var(--fall);margin:0 0 4px}
.cal-out h2{margin:0 0 14px;color:var(--accent-deep)}
.job-list{margin:0;padding:0;list-style:none;counter-reset:job}
.job-list li{counter-increment:job;display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid var(--line)}
.job-list li::before{content:counter(job);flex:none;width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent-deep);font-weight:700;font-size:.86rem;display:flex;align-items:center;justify-content:center}
.job-list a{font-weight:700}
.calc-fine{margin:14px 0 0;color:var(--ink-soft)}

.region-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.region{background:var(--surface);border:1px solid var(--line);border-top:6px solid var(--accent);border-radius:var(--r-md);padding:22px}
.region h2{font-size:1.3rem;color:var(--accent-deep);margin:0 0 4px}
.region-where{font-size:.9rem;color:var(--ink-soft);margin:0 0 10px}
.region h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.1em;font-family:var(--sans);color:var(--ink-soft);margin:14px 0 6px}
.region ul{margin:0 0 14px;padding-left:1.1em}

.club-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.club-hero .actions+.small{margin-top:14px}
.wallcal{background:#fff;border:1px solid var(--line);border-radius:var(--r-md);padding:0 0 18px;box-shadow:0 26px 50px -30px rgba(14,67,84,.6)}
.wc-top{height:30px;background:var(--accent);border-radius:var(--r-md) var(--r-md) 0 0;display:flex;justify-content:space-around;align-items:center}
.wc-ring{width:12px;height:12px;border-radius:50%;background:var(--bg)}
.wc-month{font:700 1.4rem var(--head);color:var(--accent-deep);margin:14px 20px 10px;display:flex;flex-direction:column}
.wc-month span{font:700 .8rem var(--sans);letter-spacing:.08em;text-transform:uppercase;color:var(--winter)}
.wc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;margin:0 20px}
.wc-grid i{aspect-ratio:1/1;border:1px solid var(--line);border-radius:3px}
.wc-grid i.job{background:var(--fall-soft);border-color:var(--fall)}
.wc-jobs{margin:12px 20px 0;padding-left:1.1em;font-size:.92rem}
.club-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px}

.footer{background:var(--accent-deep);color:#b4cdd3}
.footer a{color:#fff}
.footer-brand{font:700 1.4rem var(--head);color:#fff}
.footer-h{color:#fde68a}
.footer-base{border-top:1px solid rgba(255,255,255,.14);color:#90b1b9}

@media (max-width:1100px){.climate-strip{grid-template-columns:repeat(3,1fr)}.season-cols{grid-template-columns:1fr 1fr}}
@media (max-width:960px){
  .hero-grid,.product-teaser,.club-hero,.guide-grid,.hub-group,.free-row,.tool-grid,.club-grid{grid-template-columns:1fr}
  .hub-list,.region-grid{grid-template-columns:1fr 1fr}
  .wheel{margin:0 auto}
}
@media (max-width:600px){
  .hero{padding:36px 0 50px}
  .climate-strip,.season-cols,.hub-list,.region-grid{grid-template-columns:1fr}
  .q b{font-size:1rem}
  .q span{display:none}
  .brand-text{font-size:1.08rem}
  .brand-mark{width:34px;height:34px}
}
