/* 2gather Cleaning Services: mobile-first, no web fonts, no JS.
   Palette: eucalyptus #1f4d43 (text/brand), sage #5e8c7b, mint #eef5f0, cream #fbf7ef, apricot #eda06c (buttons, dark text 6:1+)
   Logo J2b (2026-10-15): white header, blush hero tint #fbf3f0, rose-taupe eyebrows #7d5f57 (5.3:1 on blush) */
:root{--green:#1f4d43;--green-d:#163a32;--sage:#5e8c7b;--sage-l:#cfe3d8;--mint:#eef5f0;--cream:#fbf7ef;--warm:#eda06c;--warm-d:#e08b52;--ink:#1d2b28;--muted:#4b5d58;--line:#d8e6de;--blush:#fbf3f0;--taupe:#7d5f57;--blush-line:#efe1db;--r:14px;
 --sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--round:ui-rounded,"SF Pro Rounded","Segoe UI",system-ui,sans-serif}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;font:17px/1.6 var(--sans);color:var(--ink);background:var(--cream);padding-bottom:76px}
a{color:var(--green);text-decoration-thickness:1px;text-underline-offset:2px}
a:hover{color:var(--sage)}
h1,h2,h3,.h4{font-family:var(--round);color:var(--green);line-height:1.2;margin:1.2em 0 .5em}
h1{font-size:clamp(1.85rem,6vw,2.9rem);margin-top:.3em;letter-spacing:-.01em}
h2{font-size:clamp(1.35rem,4vw,1.8rem)}
h3{font-size:1.15rem}
.h4{font-size:1.05rem;margin:.2em 0 .3em;display:flex;gap:.4em;align-items:center}
img{max-width:100%;height:auto}
.wrap{max-width:1140px;margin:0 auto;padding:0 20px}
.section{padding:28px 20px 40px}
.skip{position:absolute;left:-999px}.skip:focus{left:10px;top:10px;background:#fff;padding:8px;z-index:99}
.preview-banner{background:#fff3c4;color:#5b4500;text-align:center;font-size:.85rem;padding:6px 10px}
/* header */
.site-header{background:rgba(255,255,255,.97);border-bottom:1px solid var(--blush-line);position:sticky;top:0;z-index:20;backdrop-filter:saturate(1.2) blur(6px)}
.hdr{display:flex;align-items:center;gap:14px;min-height:68px}
.brand{display:flex;align-items:center;flex:none}
.logo{height:56px;width:auto;display:block}
.main-nav{display:none}
.hdr-ctas{margin-left:auto;display:none;gap:8px}
/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font:600 1rem/1.2 var(--sans);text-decoration:none;border-radius:999px;padding:.75em 1.3em;border:2px solid transparent;cursor:pointer;transition:background .15s,transform .15s,box-shadow .15s}
.btn:hover{transform:translateY(-1px)}
.btn-lg{font-size:1.06rem;padding:.9em 1.5em}
.btn-block{display:flex;width:100%;margin:.5em 0}
.btn-warm{background:var(--warm);color:var(--green-d);box-shadow:0 3px 10px rgba(224,139,82,.3)}
.btn-warm:hover{background:var(--warm-d);color:var(--green-d)}
.btn-green{background:var(--green);color:#fff;box-shadow:0 3px 10px rgba(31,77,67,.25)}
.btn-green:hover{background:var(--green-d);color:#fff}
.btn-cream{background:var(--cream);color:var(--green)}
.btn-cream:hover{background:#fff;color:var(--green)}
.btn-line{background:#fff;color:var(--green);border-color:var(--sage-l)}
.btn-line:hover{border-color:var(--sage);color:var(--green)}
.btn-review{background:#fff;color:var(--taupe);border-color:#e6cfc6}
.btn-review:hover{background:var(--blush);border-color:#c9a99c;color:#5a4741}
.btn-review svg{color:#c99a5b}
.btn-review-dark{background:#f6e9e4;border-color:#f6e9e4;color:#3a2f2b}.btn-review-dark:hover{background:#fff;color:#3a2f2b}
.site-footer a.btn-review-dark{color:#3a2f2b}
.review-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 8px}
.center-cta{justify-content:center}
/* hero */
.hero{background:radial-gradient(ellipse at 85% 30%,#fff 0,rgba(255,255,255,0) 55%),linear-gradient(160deg,var(--blush) 0%,#fff 75%);padding:22px 0 30px;border-bottom:1px solid var(--blush-line)}
.hero-grid{display:flex;flex-direction:column-reverse;gap:6px}
.hero-art{text-align:center;display:none}
.hero-logo{width:230px}
.eyebrow{color:var(--taupe);font-weight:700;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;margin:0}
.lead{font-size:1.1rem;color:var(--muted);max-width:44em}
.hero-note{margin:.6em 0 0}
.rating-link{text-decoration:none;font-weight:600}
.stars{color:#d98a45;letter-spacing:1px}
.page-hero{background:linear-gradient(160deg,var(--blush),#fff 80%);padding:14px 0 26px;border-bottom:1px solid var(--blush-line)}
.crumbs{font-size:.85rem;color:var(--muted);margin:6px 0}
.crumbs a{color:var(--muted)}
.small{font-size:.9rem;color:var(--muted)}
.facts{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.facts li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.3em .9em;font-size:.9rem}
/* trust + cards */
.trust{background:#fff;border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:1fr;gap:4px 24px;padding:18px 20px}
.trust-grid p{margin:0 0 .6em;color:var(--muted);font-size:.95rem}
.trust svg{color:var(--sage)}
.sub{color:var(--muted);max-width:48em}
.cards{display:grid;grid-template-columns:1fr;gap:14px;margin:18px 0}
.card{display:block;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px;text-decoration:none;color:var(--ink);transition:box-shadow .15s,border-color .15s}
.card:hover{border-color:var(--sage);box-shadow:0 6px 20px rgba(31,77,67,.1);color:var(--ink)}
.card h3{margin:0 0 .3em}
.card p{margin:0 0 .5em;color:var(--muted)}
.more{color:var(--green);font-weight:600;font-size:.95rem}
.band{padding:34px 0}
.band-mint{background:var(--mint)}
.band-green{background:var(--green);color:#eaf3ee}
.band-green h2{color:#fff;margin-top:0}
.center{text-align:center}
.two{display:grid;grid-template-columns:1fr;gap:10px 40px}
.steps{padding-left:1.2em}.steps li{margin:.3em 0}
.towns{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.towns a{display:inline-block;background:#fff;border:1px solid var(--line);border-radius:999px;padding:.25em .85em;text-decoration:none;font-size:.95rem}
.towns a:hover{border-color:var(--sage)}
.quote{margin:1em 0;padding:16px 20px;background:var(--mint);border-left:4px solid var(--sage);border-radius:0 var(--r) var(--r) 0;font-size:1.08rem;color:var(--green)}
.quote p{margin:0}
/* content pages */
.content-grid{display:grid;grid-template-columns:1fr;gap:20px;padding-top:10px;padding-bottom:40px}
.prose{max-width:46em}
.svc-list li{margin:.35em 0}
.side-box{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin-bottom:14px}
.side-h,.find-h{font-family:var(--round);font-weight:700;color:var(--green);margin:0 0 .4em;font-size:1.1rem}
.side ul{padding-left:1.1em;margin:.3em 0}
.cols2{columns:2;padding-left:1.1em}
.plain{font-size:.95rem}
.faq details{background:#fff;border:1px solid var(--line);border-radius:var(--r);margin:8px 0;padding:0 16px}
.faq summary{cursor:pointer;font-weight:600;padding:12px 0;color:var(--green)}
.faq details p{margin:0 0 14px}
.profiles{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px 20px;margin:10px 0 20px}
.side .profiles{border:0;padding:0;margin:0}
.call-line{font-weight:600}
.table-wrap{overflow-x:auto}
table{border-collapse:collapse;width:100%;background:#fff;border-radius:var(--r);overflow:hidden;font-size:.95rem}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
thead th{background:var(--mint);color:var(--green)}
.hours th{font-weight:600;width:40%}
.big{font-size:1.3rem;font-weight:700;margin:.2em 0 .6em;word-break:break-word}
/* booking form */
.book-form{max-width:640px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px 20px 24px}
.book-form fieldset{border:0;padding:0;margin:0 0 12px}
.book-form legend{font-family:var(--round);font-weight:700;color:var(--green);font-size:1.15rem;padding:0;margin:8px 0 6px}
.book-form label{display:block;font-weight:600;margin:10px 0;font-size:.97rem}
.book-form input:not([type=radio]),.book-form select,.book-form textarea{display:block;width:100%;margin-top:4px;font:inherit;font-weight:400;padding:.65em .8em;border:1.5px solid #bcd3c7;border-radius:10px;background:#fbfdfc;color:var(--ink)}
.book-form input:focus,.book-form select:focus,.book-form textarea:focus{outline:3px solid rgba(94,140,123,.35);border-color:var(--sage)}
.opt{font-weight:400;color:var(--muted);font-size:.88rem}
.radio-group{margin:12px 0}.lbl{font-weight:600;display:block}
.book-form .radio{font-weight:400;display:flex;gap:.5em;align-items:center;margin:6px 0}
.row2{display:grid;grid-template-columns:1fr;gap:0 14px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.notice{background:#fff3c4;border-radius:10px;padding:10px 14px;color:#5b4500}
/* footer + sticky bar */
.site-footer{background:var(--green-d);color:#d8e9e0;padding:30px 0 10px;font-size:.95rem}
.site-footer a{color:#fff}
.foot{display:grid;grid-template-columns:1fr;gap:10px 30px}
.foot-logo{width:220px;height:auto}
.foot-h{font-weight:700;color:#fff;margin:1em 0 .3em}
.site-footer ul{padding-left:1.1em;margin:.2em 0}
.copy{font-size:.85rem;color:#a9c7b9;border-top:1px solid rgba(255,255,255,.12);padding-top:12px;margin-top:20px}
.callbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;gap:8px;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(251,247,239,.97);border-top:1px solid var(--line);box-shadow:0 -4px 16px rgba(0,0,0,.08)}
.callbar-btn{flex:1;padding:.85em .6em}
@media (min-width:640px){
 .cards{grid-template-columns:1fr 1fr}.trust-grid{grid-template-columns:1fr 1fr}.row2{grid-template-columns:1fr 1fr}
 .hero-art{display:block}.hero-logo{width:300px}
}
@media (min-width:900px){
 body{padding-bottom:0}.callbar{display:none}
 .logo{height:64px}.hdr{min-height:92px}
 .main-nav{display:flex;gap:22px;margin-left:auto}.main-nav a{text-decoration:none;font-weight:600;color:var(--green)}
 .main-nav a[aria-current]{color:var(--sage);text-decoration:underline;text-underline-offset:6px}
 .hdr-ctas{display:flex;margin-left:12px}
 .hero{padding:40px 0 50px}.hero-grid{flex-direction:row;align-items:center;gap:40px}.hero-copy{flex:1.3}.hero-art{flex:1}.hero-logo{width:380px}
 .cards{grid-template-columns:repeat(3,1fr)}.trust-grid{grid-template-columns:repeat(4,1fr);padding:22px 20px}
 .two{grid-template-columns:1fr 1fr}.content-grid{grid-template-columns:1fr 320px;gap:40px}.foot{grid-template-columns:1.2fr 1fr 1.2fr}
}
/* checklists (commercial pages) */
ul.check{list-style:none;padding-left:0}
ul.check li{position:relative;padding-left:1.6em;margin:.35em 0}
ul.check li::before{content:"✓";position:absolute;left:0;top:0;color:var(--sage, #5e8c7b);font-weight:700}
.foot-ins{margin-top:-.25em}
#commercial .btn{margin:4px 6px 4px 0}
.profile-btns{display:flex;flex-wrap:wrap;gap:8px}
