/* Ronda's Top2Bottom Cleaning Service — one design system, every page. */
:root{
  --blue:#1f5fd0; --blue-dark:#164aa6; --sky:#2f8bff; --pale:#eaf2ff; --ice:#f6f9ff;
  --yellow:#ffcf3a; --yellow-dark:#e6b51a;
  --ink:#141821; --body:#3d4552; --muted:#6b7482; --line:#dfe6f2; --white:#fff;
  --max:1160px; --r:18px;
}
*{box-sizing:border-box;margin:0}
html{scroll-behavior:smooth}
body{background:var(--white);color:var(--body);font-family:Nunito,system-ui,-apple-system,"Segoe UI",sans-serif;font-size:1.05rem;line-height:1.65}
img{max-width:100%;display:block}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--blue-dark)}
.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
h1,h2,h3,.display{font-family:"Lilita One",Impact,"Arial Black",sans-serif;font-weight:400;color:var(--ink);letter-spacing:.01em;line-height:1.05}
h1{font-size:clamp(2.6rem,6vw,4.4rem)}
h2{font-size:clamp(1.9rem,3.6vw,2.7rem)}
h3{font-size:1.35rem;line-height:1.2}
.kick{display:inline-block;margin-bottom:12px;padding:6px 14px;border-radius:999px;background:var(--yellow);color:var(--ink);font-weight:900;font-size:.78rem;letter-spacing:.14em;text-transform:uppercase}
.lead{font-size:1.2rem;color:var(--body)}
.sect{padding:84px 0}
.band{background:var(--ice)}
.blue{background:var(--blue);color:#dbe7ff}
.blue h2,.blue h3{color:#fff}
.sect-head{max-width:760px;margin-bottom:40px}
.sect-head h2{margin-bottom:12px}
.center{text-align:center}.center .sect-head{margin-left:auto;margin-right:auto}

/* Buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:56px;padding:0 30px;border-radius:999px;background:var(--yellow);color:var(--ink);font-weight:900;font-size:1.05rem;box-shadow:0 6px 0 var(--yellow-dark);transition:transform .08s}
.btn:hover{color:var(--ink);transform:translateY(2px);box-shadow:0 4px 0 var(--yellow-dark)}
.btn.blue-btn{background:var(--blue);color:#fff;box-shadow:0 6px 0 var(--blue-dark)}
.btn.blue-btn:hover{color:#fff;box-shadow:0 4px 0 var(--blue-dark)}
.btn.ghost{background:transparent;color:var(--blue);box-shadow:inset 0 0 0 3px var(--blue)}
.btn.ghost:hover{background:var(--blue);color:#fff;transform:none}
.blue .btn.ghost{color:#fff;box-shadow:inset 0 0 0 3px #fff}
.blue .btn.ghost:hover{background:#fff;color:var(--blue)}
.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.phone{font-family:"Lilita One",Impact,sans-serif;font-size:1.15em;letter-spacing:.02em}

/* Top bar + nav */
.topbar{background:var(--ink);color:#cdd6e6;font-size:.9rem;font-weight:700}
.topbar .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px;flex-wrap:wrap}
.topbar a{color:var(--yellow)}
.nav{position:sticky;top:0;z-index:50;background:#fff;box-shadow:0 2px 0 var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:84px}
.brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-family:"Lilita One",Impact,sans-serif;font-size:1.25rem;line-height:1}
.brand img{height:64px;width:auto}
.brand small{display:block;font-family:Nunito,sans-serif;font-weight:800;font-size:.72rem;letter-spacing:.12em;color:var(--blue);text-transform:uppercase;margin-top:3px}
.links{display:flex;align-items:center;gap:24px}
.links a{color:var(--ink);font-weight:800;font-size:.9rem}
.links a:hover{color:var(--blue)}
.links .btn{min-height:46px;padding:0 20px;font-size:.92rem}
.menu{display:none;position:relative}
.menu summary{list-style:none;cursor:pointer;padding:10px 16px;border:3px solid var(--blue);border-radius:999px;color:var(--blue);font-weight:900;font-size:.85rem}
.menu summary::-webkit-details-marker{display:none}
.menu-panel{position:absolute;right:0;top:54px;width:min(300px,calc(100vw - 30px));padding:10px;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 18px 50px rgba(20,24,33,.18)}
.menu-panel a{display:flex;align-items:center;min-height:46px;padding:0 14px;border-radius:8px;color:var(--ink);font-weight:700}
.menu-panel a:hover{background:var(--pale)}

/* Hero */
.hero{padding:72px 0 64px;background:radial-gradient(1200px 600px at 80% 0%,var(--pale),#fff 60%)}
.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:48px;align-items:center}
.hero h1{margin:14px 0 18px}
.hero h1 em{font-style:normal;color:var(--blue)}
.hero .lead{max-width:560px}
.hero-logo{width:min(440px,100%);margin:auto;filter:drop-shadow(0 18px 30px rgba(31,95,208,.22))}
.facts{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px}
.fact{display:flex;gap:10px;align-items:center;font-weight:800;color:var(--ink);font-size:.95rem}
.fact i{width:34px;height:34px;border-radius:50%;background:var(--yellow);display:grid;place-items:center;font-style:normal;font-weight:900;color:var(--ink)}

/* Service cards */
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{display:flex;flex-direction:column;gap:10px;padding:30px;border-radius:var(--r);background:#fff;border:2px solid var(--line);color:var(--body);transition:transform .15s,border-color .15s,box-shadow .15s}
.card:hover{transform:translateY(-4px);border-color:var(--blue);box-shadow:0 20px 40px rgba(31,95,208,.12);color:var(--body)}
.card .ico{width:56px;height:56px;border-radius:14px;background:var(--pale);display:grid;place-items:center;font-size:1.6rem;margin-bottom:6px}
.card h3{color:var(--ink)}
.card .go{margin-top:auto;padding-top:10px;color:var(--blue);font-weight:900}
.card.featured{background:var(--blue);border-color:var(--blue);color:#dbe7ff}
.card.featured h3,.card.featured .go{color:#fff}
.card.featured .ico{background:rgba(255,255,255,.15)}

/* Steps / points */
.points{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.point .n{font-family:"Lilita One",Impact,sans-serif;font-size:2.6rem;color:var(--blue);line-height:1}
.point h3{margin:8px 0 6px}
.checks{list-style:none;padding:0;display:grid;gap:12px;margin-top:8px}
.checks li{position:relative;padding-left:34px;color:var(--ink);font-weight:700}
.checks li::before{content:"✓";position:absolute;left:0;top:-1px;width:24px;height:24px;border-radius:50%;background:var(--yellow);color:var(--ink);font-weight:900;display:grid;place-items:center;font-size:.85rem}

/* Two column */
.split{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}
.split p+p{margin-top:14px}
.callout{padding:28px 32px;border-radius:var(--r);background:var(--pale);border-left:6px solid var(--yellow)}
.callout b{color:var(--ink)}

/* Areas */
.towns{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}
a.town{display:block;padding:16px 18px;border-radius:14px;background:#fff;border:2px solid var(--line);color:var(--ink);font-weight:900}
a.town small{display:block;color:var(--muted);font-weight:700;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}
a.town:hover{border-color:var(--blue);color:var(--blue)}

/* FAQ */
.faq details{border-bottom:2px solid var(--line);padding:18px 0}
.faq summary{cursor:pointer;list-style:none;font-weight:900;color:var(--ink);font-size:1.1rem;display:flex;justify-content:space-between;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--blue);font-family:"Lilita One",Impact,sans-serif;font-size:1.4rem}
.faq details[open] summary::after{content:"–"}
.faq p{margin-top:10px}

/* Call band */
.callband{background:var(--blue);color:#dbe7ff;padding:84px 0;text-align:center}
.callband h2{color:#fff;font-size:clamp(2.2rem,4.5vw,3.4rem);margin-bottom:12px}
.callband .lead{color:#dbe7ff;max-width:620px;margin:0 auto 30px}
.callband .actions{justify-content:center;margin-top:0}
.bigphone{display:inline-block;font-family:"Lilita One",Impact,sans-serif;font-size:clamp(2rem,5vw,3.4rem);color:#fff;margin:6px 0 18px}
.bigphone:hover{color:var(--yellow)}

/* Article pages */
.page-hero{padding:64px 0 48px;background:var(--ice)}
.page-hero h1{margin:14px 0 14px;max-width:820px}
.page-hero .lead{max-width:700px}
.crumbs{font-size:.85rem;font-weight:800;color:var(--muted);margin-bottom:6px}
.crumbs a{color:var(--muted)}
.crumbs a:hover{color:var(--blue)}
.prose{max-width:760px}
.prose h2{margin:40px 0 14px;font-size:1.9rem}
.prose h3{margin:26px 0 8px}
.prose p+p{margin-top:14px}
.prose ul{margin:12px 0 12px 22px}
.prose li+li{margin-top:6px}

/* Footer */
.foot{padding:48px 0 34px;background:var(--ink);color:#aab4c5;font-size:.95rem}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:36px;margin-bottom:34px}
.foot h4{color:#fff;font-family:"Lilita One",Impact,sans-serif;font-weight:400;font-size:1.1rem;margin-bottom:12px}
.foot a{color:#cdd6e6;display:block;padding:3px 0}
.foot a:hover{color:var(--yellow)}
.foot .phone{color:var(--yellow);font-size:1.5rem}
.foot-bottom{border-top:1px solid #2a3140;padding-top:22px;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:.85rem}
.vet{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:#243049;color:#fff;font-weight:900;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase}

/* Sticky mobile call bar */
.callbar{display:none}

@media(max-width:980px){
  .links{display:none}.menu{display:block}
  .hero-grid,.split{grid-template-columns:1fr}
  .hero-logo{width:min(320px,80%)}
  .cards,.points{grid-template-columns:1fr 1fr}
  .towns{grid-template-columns:repeat(3,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
  .wrap{width:min(var(--max),calc(100% - 28px))}
  .sect{padding:60px 0}
  .hero{padding:44px 0 40px}
  .cards,.points{grid-template-columns:1fr}
  .towns{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr}
  .btn{width:100%}
  .nav .btn,.menu summary{width:auto}
  body{padding-bottom:74px}
  .callbar{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:var(--yellow);color:var(--ink);justify-content:center;align-items:center;gap:10px;min-height:64px;font-weight:900;font-size:1.15rem;box-shadow:0 -6px 20px rgba(0,0,0,.15)}
  .callbar:hover{color:var(--ink)}
}

/* Photo blocks (About page) */
.photo-portrait{border-radius:var(--r);overflow:hidden;box-shadow:0 20px 50px rgba(31,95,208,.18);background:var(--pale);display:block}
.photo-portrait img{display:block;width:100%;height:auto}
.photo-caption{margin-top:14px;font-size:.92rem;color:var(--muted);text-align:center}
.photo-band{background:var(--pale);padding:40px 0}
.photo-band .wrap{max-width:1000px}
.photo-band img{border-radius:var(--r);width:100%;height:auto;box-shadow:0 24px 60px rgba(20,24,33,.16)}
.split.pic-first{grid-template-columns:.9fr 1.1fr}
@media(max-width:980px){.split.pic-first{grid-template-columns:1fr}}
