@font-face{font-family:"Zilla Slab";src:url(../fonts/zilla-slab-latin-600-normal.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:"Zilla Slab";src:url(../fonts/zilla-slab-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Karla";src:url(../fonts/karla-latin-400-normal.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"Karla";src:url(../fonts/karla-latin-500-normal.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:"Karla";src:url(../fonts/karla-latin-700-normal.woff2) format("woff2");font-weight:700;font-display:swap}
@font-face{font-family:"Karla";src:url(../fonts/karla-latin-800-normal.woff2) format("woff2");font-weight:800;font-display:swap}

/* Home Maintenance Kings: royal navy, crown gold, ivory; slab headings, square corners */
:root{
  --bg:#fbf8f0; --surface:#ffffff; --ivory:#f3ecdb;
  --ink:#1c2148; --ink-soft:#575b77;
  --accent:#1c2148; --accent-deep:#11153a; --accent-soft:#e6e7f2; --on-accent:#fff;
  --gold:#d9a521; --gold-deep:#a87b0c; --gold-soft:#f8ecc9;
  --link:#2b3489; --ok:#2f7a4f; --ok-soft:#dcefe3; --bad:#b0302b; --bad-soft:#f7e0de;
  --line:#e3dccb; --field:#a9a69b;
  --head:"Zilla Slab",Rockwell,Georgia,serif; --head-w:700; --head-track:-.005em;
  --sans:"Karla",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --wrap:1180px; --r-sm:3px; --r-md:6px; --r-btn:3px;
}
.eyebrow{font:800 .78rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin-bottom:.8em}
.tag{display:inline-block;font:800 .76rem var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--ink);background:var(--gold);padding:.35em .85em;margin-bottom:14px}
.mt{margin-top:1.6em}

.masthead{background:var(--ink);border-bottom:4px solid var(--gold)}
.brand{color:#fff}
.brand:hover{color:#fff}
.brand-text{font:700 1.3rem var(--head)}
.brand-text b{color:var(--gold)}
.brand-mark rect:first-child{fill:#2a3166}
.nav a{color:#e8e9f3}
.nav a:hover{color:#fff;background:rgba(255,255,255,.08)}
.nav a[aria-current]{color:var(--gold);box-shadow:inset 0 -3px 0 var(--gold)}
.nav .nav-login{border:2px solid rgba(255,255,255,.6);padding:.36em 1em}
.nav .nav-login:hover{border-color:#fff}
.nav .nav-btn{background:var(--gold);color:var(--ink);padding:.45em 1.05em}
.nav .nav-btn:hover,.nav .nav-btn[aria-current]{background:#f0be3c;color:var(--ink);box-shadow:none}
.menu summary{color:#fff}
.btn-primary{background:var(--ink);border-color:var(--ink)}

.hero{padding:60px 0 72px;background:linear-gradient(180deg,var(--ivory),var(--bg))}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:64px;align-items:center}
.hero h1{font-size:clamp(2.3rem,5vw,3.8rem);max-width:14ch}
.hero .lede{max-width:50ch}
.month-card{background:var(--surface);border:1px solid var(--line);box-shadow:0 24px 46px -26px rgba(28,33,72,.5);position:relative;padding:0 26px 22px}
.month-card::before{content:"";position:absolute;top:-10px;left:30px;right:30px;height:20px;background:repeating-linear-gradient(90deg,var(--ink) 0 8px,transparent 8px 34px)}
.mc-top{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:#fff;margin:0 -26px 18px;padding:18px 26px 14px}
.mc-k{font:800 .78rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.mc-n{font:700 2.2rem/1 var(--head);color:var(--gold)}
.month-card h2{font-size:2.4rem;margin-bottom:.2em}
.mc-sum{color:var(--ink-soft)}
.mc-list{list-style:none;margin:0;padding:0}
.mc-list li{padding:.6em 0 .6em 2em;border-top:1px solid var(--line);position:relative;font-weight:500}
.mc-list li::before{content:"";position:absolute;left:0;top:.75em;width:1.05em;height:1.05em;border:2px solid var(--gold-deep)}
.mc-foot{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin:14px 0 0;padding-top:12px;border-top:2px solid var(--ink);font-weight:700}
.mc-foot span{color:var(--ink-soft);font-weight:500}

.split-h{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.split-h a{font-weight:700}
.month-strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);gap:10px}
.month-strip a{display:flex;flex-direction:column;min-height:112px;padding:14px;background:var(--surface);border:1px solid var(--line);border-top:4px solid var(--ink);text-decoration:none;color:var(--ink)}
.month-strip a:hover{border-top-color:var(--gold);background:var(--gold-soft)}
.month-strip span{font:700 1.5rem var(--head)}
.month-strip small{color:var(--ink-soft);margin-top:auto;font-size:.88rem;line-height:1.35}
.month-strip .is-now a{background:var(--ink);color:#fff;border-top-color:var(--gold)}
.month-strip .is-now small{color:#c9cbe0}
.section-ivory{background:var(--ivory)}
.sys-row{display:grid;grid-template-columns:300px 1fr;gap:48px;align-items:start}
.sys-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.sys-grid a{display:block;height:100%;padding:18px 20px;background:var(--surface);border-left:4px solid var(--gold);text-decoration:none;color:var(--ink)}
.sys-grid a:hover{background:#fffaf0}
.sys-grid b{display:block;font:700 1.15rem var(--head)}
.sys-grid span{color:var(--ink-soft);font-size:.95rem}
.free-row{display:grid;grid-template-columns:300px 1fr;gap:64px;align-items:center}
.royal-band{background:var(--ink);color:#d3d5e8;padding:72px 0;border-top:4px solid var(--gold)}
.royal-band h2{color:#fff}
.royal-band .lede{color:#c6c9e0}
.royal-band .price-line strong{color:var(--gold);font-size:1.4rem}
.product-teaser{display:grid;grid-template-columns:1.25fr 1fr;gap:56px;align-items:center}
.login-card{border-top:5px solid var(--gold)}
.band-signup{background:var(--gold-soft)}

.page-head{background:var(--surface);border-bottom:1px solid var(--line)}
.month-grid{list-style:none;margin:0 0 20px;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.month-grid li{background:var(--surface);border:1px solid var(--line);padding:16px 18px}
.month-grid li.is-now{outline:3px solid var(--gold)}
.month-grid a{display:flex;align-items:baseline;gap:10px;text-decoration:none;color:var(--ink)}
.month-grid a:hover b{color:var(--link);text-decoration:underline}
.mg-n{font:700 1rem var(--head);color:var(--gold-deep)}
.month-grid b{font:700 1.3rem var(--head)}
.month-grid p{margin:.4em 0 0;color:var(--ink-soft);font-size:.94rem}
.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.15rem var(--head)}
.hub-list p{margin:.25em 0 0;color:var(--ink-soft);font-size:.96rem}
.hub-list .meta{font-size:.85rem;font-weight:700;color:var(--gold-deep)}
.month-badge{display:inline-block;font:700 1.1rem var(--head);background:var(--ink);color:var(--gold);padding:.15em .6em;margin-bottom:10px}
.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.4em;font-size:1.5rem;padding-bottom:.25em;border-bottom:2px solid var(--line)}
.intro{font-size:1.15rem;line-height:1.6}
.top3{background:var(--ink);color:#fff;padding:20px 24px;margin:1.5em 0}
.top3-h{font:800 .78rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold);margin:0 0 8px}
.top3 ol{margin:0;padding-left:1.3em;font:600 1.15rem/1.5 var(--head)}
.steps-num{list-style:none;counter-reset:s;margin:0;padding:0}
.steps-num li{counter-increment:s;position:relative;padding:4px 0 14px 48px;border-bottom:1px solid var(--line);margin-bottom:6px}
.steps-num li::before{content:counter(s);position:absolute;left:0;top:0;width:32px;height:32px;background:var(--ink);color:var(--gold);display:grid;place-items:center;font:700 1rem var(--head)}
.crown-box{background:var(--gold-soft);border-left:6px solid var(--gold);padding:20px 24px;margin:2em 0}
.crown-box h2{font-size:1.25rem;margin:0 0 .5em;border:0;padding:0}
.crown-box ul{margin:0;padding-left:1.2em}
.month-nav{display:flex;justify-content:space-between;margin-top:2em;font:700 1.1rem var(--head)}
.guide-side{display:flex;flex-direction:column;gap:20px}
.side-gold{border-top:5px solid var(--gold)}
.year-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.year-cell{padding:18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);background:var(--surface)}
.year-cell.is-now{background:var(--gold-soft)}
.year-cell h2{font-size:1.3rem}
.year-cell h2 a{text-decoration:none;color:var(--ink)}
.year-cell h2 span{color:var(--gold-deep)}
.year-cell ul{margin:0;padding-left:1.1em;font-size:.96rem}
.zone-list{display:flex;flex-direction:column;gap:18px}
.zone{display:grid;grid-template-columns:280px 1fr;gap:32px;background:var(--surface);border:1px solid var(--line);border-left:8px solid var(--ink);padding:24px}
.zone.z1{border-left-color:#2f7a4f}.zone.z2{border-left-color:#c8742a}.zone.z3{border-left-color:#3f6f8f}.zone.z4{border-left-color:var(--bad)}
.zone h2{font-size:1.45rem}

.club-hero{display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center}
.plan-mock{margin:0;background:#fff;border:1px solid var(--line);box-shadow:0 24px 44px -26px rgba(28,33,72,.5)}
.pm-head{background:var(--ink);color:#d3d5e8;padding:16px 20px;display:flex;flex-direction:column;gap:2px}
.pm-head span{font:800 .75rem var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold)}
.pm-head b{font:700 1.2rem var(--head);color:#fff}
.pm-head small{font-size:.85rem}
.pm-month{padding:16px 20px}
.pm-m{font:700 1.5rem var(--head);margin:0 0 6px}
.pm-month ul{margin:0;padding-left:1.1em;font-size:.95rem}
.pm-month li{margin-bottom:.5em}
.plan-mock figcaption{padding:0 20px 14px;font-size:.82rem;color:#666}
.features{display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.features p{margin:0;color:var(--ink-soft)}
.club-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:56px}

.footer{background:var(--ink);color:#c6c9e0;border-top:4px solid var(--gold)}
.footer a{color:#fff}
.footer-brand{font:700 1.35rem var(--head);color:#fff}
.footer-h{color:var(--gold)}
.footer-base{border-top:1px solid rgba(255,255,255,.14);color:#9a9dbc}

@media (max-width:1080px){.menu[open] .nav a[aria-current]{color:var(--ink);box-shadow:inset 3px 0 0 var(--gold)}.menu[open] .nav .nav-login{border-color:var(--ink)}}
@media (max-width:960px){
  .hero-grid,.product-teaser,.club-hero,.guide-grid,.free-row,.sys-row,.club-grid,.zone{grid-template-columns:1fr}
  .month-strip{grid-template-columns:repeat(4,1fr)}
  .month-grid,.year-grid{grid-template-columns:1fr 1fr}
  .features{grid-template-columns:1fr 1fr}
  .zone{gap:6px}
}
@media (max-width:600px){
  .hero{padding:34px 0 48px}
  .month-strip{grid-template-columns:repeat(3,1fr)}
  .month-strip small{display:none}
  .month-strip a{min-height:0}
  .sys-grid,.hub-list,.features,.month-grid,.year-grid{grid-template-columns:1fr}
  .brand-text{font-size:1.08rem}
  .brand-mark{width:34px;height:34px}
}
