/* Sparkly Maids — STR Turnover Cleaning LP : "Guest-Ready Hospitality" */
:root{
  --blue:#0f8fcf;        /* brand blue — accents only */
  --navy:#051145;        /* headings + dark sections */
  --cta:#c2410c;         /* deep orange CTA — 5.2:1 on white (AA) */
  --cta-hover:#9a330a;
  --accent:#ff6b35;      /* decorative only (icons, bars) — never small text */
  --ink:#1f2937;         /* body text — ~12:1 on white */
  --muted:#475569;       /* secondary text — ~7:1 on white */
  --link:#0c72a4;        /* links — 5.3:1 on white (AA) */
  --bg:#ffffff;
  --bg-alt:#f4f8fb;
  --border:#d8e2ec;
  --maxw:1120px;
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;font-family:'Helvetica Neue',Helvetica,Arial,system-ui,sans-serif;
  color:var(--ink);background:var(--bg);font-size:17px;line-height:1.6;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
h1,h2,h3{color:var(--navy);line-height:1.18;margin:0 0 .5em}
h1{font-size:2.3rem;letter-spacing:-.01em}
h2{font-size:1.7rem}
h3{font-size:1.2rem}
p{margin:0 0 1rem}
a{color:var(--link)}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px}
.section{padding:56px 0}
.bg-alt{background:var(--bg-alt)}
.accent-bar{height:5px;background:linear-gradient(90deg,var(--blue),var(--accent))}

/* focus visibility (a11y) */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{
  outline:3px solid var(--blue);outline-offset:2px;border-radius:4px;
}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--border)}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;max-width:var(--maxw);margin:0 auto}
.logo{height:46px;width:auto}
.cta-phone{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:var(--navy);text-decoration:none;min-height:44px;padding:6px 8px;font-size:1.05rem}
.cta-phone svg{fill:var(--blue);flex:0 0 auto}

/* Buttons */
.cta-primary{
  display:inline-block;background:var(--cta);color:#fff;font-weight:700;font-size:1.12rem;
  text-decoration:none;padding:16px 30px;border-radius:8px;min-height:52px;line-height:1.25;
  box-shadow:0 4px 14px rgba(194,65,12,.28);transition:background .15s ease;text-align:center;
}
.cta-primary:hover{background:var(--cta-hover)}
.cta-note{font-size:.95rem;color:var(--muted);margin-top:10px}

/* Hero */
.hero{padding:48px 0 40px}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center}
.hero h1 span{color:var(--blue)}
.hero .lead{font-size:1.2rem;color:var(--ink);margin-bottom:1.4rem}
.hero-img{border-radius:14px;box-shadow:0 18px 40px rgba(5,17,69,.16);width:100%;aspect-ratio:3/2;object-fit:cover}
.badges{display:flex;flex-wrap:wrap;gap:10px 18px;margin:18px 0 24px;padding:0;list-style:none}
.badges li{display:flex;align-items:center;gap:7px;font-weight:600;font-size:.98rem;color:var(--navy)}
.badges .star{color:var(--accent);font-size:1.05rem}

/* Value props */
.vp-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.vp{background:#fff;border:1px solid var(--border);border-radius:12px;padding:24px 20px;text-align:left}
.vp .ic{width:46px;height:46px;border-radius:10px;background:#eaf5fb;display:flex;align-items:center;justify-content:center;margin-bottom:14px}
.vp .ic svg{fill:var(--blue)}
.vp h3{margin-bottom:.35em}
.vp p{margin:0;color:var(--muted);font-size:1rem}

/* Comparison */
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
table.compare{width:100%;border-collapse:collapse;min-width:480px;background:#fff;border:1px solid var(--border);border-radius:12px;overflow:hidden}
table.compare th,table.compare td{padding:14px 16px;text-align:left;border-bottom:1px solid var(--border);font-size:1rem}
table.compare thead th{background:var(--navy);color:#fff;font-size:1rem}
table.compare thead th.win{background:var(--blue)}
table.compare td.c{text-align:center;font-weight:700}
table.compare .yes{color:#15803d}
table.compare .no{color:#9a330a}
table.compare tbody tr:last-child td{border-bottom:none}
.col-win{background:#f0f9ff}

/* How it works */
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;counter-reset:step}
.step{background:#fff;border:1px solid var(--border);border-radius:12px;padding:26px 22px}
.step .num{counter-increment:step;display:inline-flex;width:40px;height:40px;border-radius:50%;background:var(--navy);color:#fff;font-weight:700;align-items:center;justify-content:center;margin-bottom:14px}
.step .num::before{content:counter(step)}
.step p{margin:0;color:var(--muted)}

/* Social proof */
.proof-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.proof-img{border-radius:14px;box-shadow:0 14px 34px rgba(5,17,69,.14);width:100%;aspect-ratio:3/2;object-fit:cover}
.stat-row{display:flex;flex-wrap:wrap;gap:28px;margin:18px 0}
.stat{min-width:120px}
.stat b{display:block;font-size:1.9rem;color:var(--navy);line-height:1}
.stat span{color:var(--muted);font-size:.98rem}

/* Guarantee */
.guarantee{background:var(--navy);color:#fff;text-align:center}
.guarantee h2{color:#fff}
.guarantee p{font-size:1.18rem;max-width:760px;margin:0 auto 1.6rem;color:#e7ecf6}
.guarantee .cta-note{color:#aeb9d6}

/* Form */
.form-wrap{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:16px;padding:34px 30px;box-shadow:0 14px 40px rgba(5,17,69,.10)}
.form-wrap h2{text-align:center}
.form-intro{text-align:center;color:var(--muted);margin-bottom:1.6rem}
.field{margin-bottom:16px}
.field label{display:block;font-weight:600;color:var(--navy);margin-bottom:6px}
.field input,.field select{
  width:100%;min-height:48px;padding:12px 14px;font-size:1rem;border:1.5px solid var(--border);border-radius:8px;background:#fff;color:var(--ink);
}
.field input::placeholder{color:#94a3b8}
.consent-field{display:flex;gap:12px;align-items:center;font-size:.95rem;color:var(--muted);margin:18px 0}
.consent-field input{width:44px;height:44px;min-height:44px;flex:0 0 auto;accent-color:var(--cta);cursor:pointer}
.consent-field a{color:var(--link)}
.data-use-notice{font-size:.95rem;color:var(--muted);text-align:center;margin:6px 0 16px}
.form-wrap button[type=submit]{
  width:100%;background:var(--cta);color:#fff;font-weight:700;font-size:1.12rem;border:none;
  padding:16px;border-radius:8px;min-height:54px;cursor:pointer;box-shadow:0 4px 14px rgba(194,65,12,.28);
}
.form-wrap button[type=submit]:hover{background:var(--cta-hover)}

/* Footer */
.site-footer{background:var(--navy);color:#dfe5f2;font-size:.98rem;padding:40px 0}
.site-footer a{color:#bcd6ea}
.footer-inner{display:flex;flex-wrap:wrap;gap:14px 28px;justify-content:space-between;align-items:center}
.footer-legal{font-size:.9rem;color:#9fb0d4;margin-top:14px;max-width:780px}

.center{text-align:center}
.mt{margin-top:26px}

/* Responsive */
@media (max-width:900px){
  .hero-grid{grid-template-columns:1fr;gap:26px}
  .hero-img{order:-1}
  .vp-grid{grid-template-columns:1fr 1fr}
  .steps{grid-template-columns:1fr}
  .proof-grid{grid-template-columns:1fr}
}
@media (max-width:560px){
  body{font-size:16px}
  h1{font-size:1.85rem}
  h2{font-size:1.42rem}
  .section{padding:42px 0}
  .vp-grid{grid-template-columns:1fr}
  .header-inner{padding:10px 14px}
  .container{padding:0 16px}
  .cta-phone span{font-size:1rem}
}
