/* Live-site extras on top of the v9 design system */
.hero h1,
.page-hero h1{max-width:22ch}
@media (min-width:851px){
  .hero h1{font-size:clamp(2.35rem,3.8vw,3.35rem);max-width:18ch}
}
.brand-line{
  font-family:var(--serif);
  font-size:clamp(1.2rem,3.4vw,1.7rem);
  line-height:1.25;
  color:var(--gold);
  margin:0 0 10px;
}
.page-hero .brand-line{color:var(--gold)}
.hero .lede, .hero-lede{color:#dbe6e8;margin:0 0 14px}

.social-share{
  margin:28px auto 8px;
  width:min(100% - 40px, 1120px);
  padding:18px 0 8px;
  border-top:1px solid rgba(16,56,75,.12);
}
.section.navy .social-share{border-color:rgba(251,248,243,.16)}
.social-share-label{
  margin:0 0 10px;
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--gold-ink);
}
.section.navy .social-share-label,.hills-band .social-share-label{color:var(--gold)}
.social-share ul{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0;padding:0}
.social-share a{
  display:inline-flex;align-items:center;min-height:44px;
  padding:8px 14px;border-radius:999px;
  border:1.5px solid var(--navy);color:var(--navy);
  text-decoration:none;font-weight:700;font-size:.95rem;
}
.section.navy .social-share a{border-color:rgba(251,248,243,.4);color:#fbf8f3}

.form-honeypot{position:absolute!important;left:-9999px!important;height:0!important;overflow:hidden!important}
.enquiry-form, form.tool .field{margin:0 0 12px}
.enquiry-form .field label, form.tool .field label{display:block;font-weight:700;margin:0 0 6px;color:#fbf8f3}
.enquiry-form{
  background:var(--navy);color:#fbf8f3;border-radius:24px;padding:22px;
}
.enquiry-form .field input,
.enquiry-form .field select,
.enquiry-form .field textarea,
.enquiry-form input,
.enquiry-form select,
.enquiry-form textarea{
  width:100%;min-height:48px;border:0;border-radius:999px;
  padding:10px 16px;background:#fbf8f3;color:var(--navy);
}
.enquiry-form textarea,.enquiry-form .field textarea{min-height:96px;border-radius:16px;resize:vertical}
.enquiry-form .hint,.enquiry-form .guide,form.tool .guide{color:#dbe6e8;font-size:.95rem}
.form-success,.result{
  background:var(--paper);color:var(--navy);border-radius:24px;padding:22px;margin-top:12px;
}
[data-callback-status],#enquiry-status,#call-request-status{min-height:1.4em;color:#f6d9a0}
.form-grid{display:grid;gap:12px}
@media (min-width:700px){
  .form-grid.two{grid-template-columns:1fr 1fr}
  .form-grid .full{grid-column:1/-1}
}

.service-faq,details.faq,.faq details{
  background:var(--paper);border-radius:16px;padding:4px 16px;margin:0 0 10px;
  border:1px solid rgba(16,56,75,.08);
}
.service-faq summary,details.faq summary,.faq details summary{
  cursor:pointer;font-weight:700;padding:12px 0;color:var(--navy);
}
.service-faq p,details.faq p{margin:0 0 12px}

.service-area-map,.service-area-map iframe{
  width:100%;border:0;border-radius:20px;min-height:280px;background:#dbe6e8;
}
.service-area-map{margin:18px 0;overflow:hidden;position:relative}

.container{width:min(100% - 40px, 1120px);margin:0 auto}
.pagehero{
  background:linear-gradient(160deg,#0a2a38 0%, #10384b 100%);
  color:#fbf8f3;padding:28px 0 36px;
}
.pagehero.tint-everyday{background:linear-gradient(160deg,#5a2a1e 0%, #0a2a38 58%)}
.pagehero.tint-community{background:linear-gradient(160deg,#6a322c 0%, #0a2a38 58%)}
.pagehero.tint-cleaning{background:linear-gradient(160deg,#134a3e 0%, #0a2a38 58%)}
.pagehero.tint-packages{background:linear-gradient(160deg,#0a2a38 0%, #10384b 60%, #1a4a5c 100%)}
.pagehero.tint-areas{background:linear-gradient(160deg,#1a4a5c 0%, #0a2a38 70%)}
.pagehero.tint-about{background:linear-gradient(160deg,#0a2a38 0%, #10384b 100%)}
.pagehero.tint-contact{background:linear-gradient(160deg,#0a2a38 0%, #10384b 100%)}
.pagehero h1{color:#fbf8f3;margin:0 0 12px;max-width:22ch}
.pagehero .kicker{color:var(--gold);margin:0 0 8px}
.pagehero p,.pagehero .lead{color:#dbe6e8;max-width:70ch}
.pagehero .small,.pagehero a{color:#fbf8f3}
.breadcrumbs{margin:0 0 14px;font-size:.9rem}
.breadcrumbs ol{display:flex;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}
.breadcrumbs a{color:var(--gold)}
.pagehero .breadcrumbs,.pagehero .breadcrumbs a{color:#e7c46e}
.section{padding:48px 0}
.section.alt,section.alt{background:var(--cream)}
.grid,.grid2{display:grid;gap:16px}
@media (min-width:700px){
  .grid2,.grid.two,.split{grid-template-columns:1fr 1fr}
}
.card,.area-card,.box,.callout,.note{
  background:var(--paper);border-radius:20px;padding:20px;
  box-shadow:0 8px 24px rgba(16,56,75,.06);
}
.card h2,.area-card h2,.box h2{margin-top:0}
.price,p.price{font-family:var(--serif);font-size:2rem;color:var(--navy);margin:0 0 8px}
.btn.primary,a.btn.primary{background:var(--gold);color:var(--navy);border:0}
.btn.secondary,a.btn.secondary,a.btn.ghost{
  background:transparent;color:var(--navy);border:1.5px solid var(--navy);
}
.pagehero .btn.secondary,.pagehero a.btn.ghost,.pagehero a.btn.secondary{color:#fbf8f3;border-color:#fbf8f3}
.mini-list,.check,.tick,.stacked-list{padding-left:1.2em}
.trust-line,ul.trust-line{
  display:flex;flex-wrap:wrap;gap:10px 18px;list-style:none;padding:0;margin:16px 0 0;
  font-weight:700;font-size:.95rem;
}
.pagehero .trust-line{color:#fbf8f3}
.town-page-chips,.area-chips,.service-town-links{
  display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0;
}
.town-page-chips a,.area-chips a,.service-town-links a,.chips a{
  display:inline-flex;align-items:center;min-height:40px;padding:6px 12px;
  border-radius:999px;border:1px solid rgba(16,56,75,.2);
  text-decoration:none;color:var(--navy);font-weight:700;font-size:.9rem;background:var(--paper);
}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 20px}
.chips span{
  display:inline-flex;align-items:center;min-height:40px;padding:6px 12px;
  border-radius:999px;background:var(--paper);font-weight:700;font-size:.9rem;
}
.pagehero .town-page-chips a,.pagehero .service-town-links a,.pagehero .area-chips a{
  border-color:rgba(251,248,243,.35);color:#fbf8f3;background:transparent;
}
.page-visual-grid,.split{display:grid;gap:20px;align-items:center}
@media (min-width:800px){.page-visual-grid{grid-template-columns:1.1fr .9fr}}
.page-visual-media img,.page-visual img{border-radius:20px;width:100%;height:auto}
.engage-panel{
  background:var(--navy);color:#fbf8f3;border-radius:24px;padding:24px;margin-top:24px;
}
.engage-panel a{color:#e7c46e}
.engage-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.info-strip,.note,.callout{margin:16px 0}
.step{background:var(--paper);border-radius:16px;padding:16px;margin:0 0 12px}
.footer-extra{
  display:grid;gap:18px;
  grid-template-columns:repeat(auto-fit,minmax(168px,1fr));
  margin-top:22px;
}
.footer-links-label{
  font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:var(--gold);
  margin:0 0 8px;
}
.footer-extra a{display:block;color:#fbf8f3;text-decoration:none;padding:4px 0;font-weight:650}
.footer .legal-links{display:flex;flex-wrap:wrap;gap:8px 16px;margin:12px 0 0}
.footer .legal-links a{color:#fbf8f3;text-decoration:none;font-weight:650}
.hours-note{margin:12px 0 0;color:#dbe6e8}
.review-line{margin-top:12px}
.review-line a{font-weight:700}

.section:not(.navy):not(.hills-band) .kicker,
.cream .kicker{color:var(--gold-ink)}
.section.navy .kicker,.pagehero .kicker,.page-hero .kicker,.hero .kicker,.menu-kicker,.hills-band .kicker{color:var(--gold)}

/* Keep gold as large type or buttons on navy; don't use for small text on cream */

/* Contrast fixes: gold only as large type/buttons on navy; kickers on light use gold-ink */
.sds-card .kicker{color:var(--gold-ink)!important}
.engage-panel .kicker,.engage-panel .kicker{color:var(--gold)!important}
.callout .kicker,.box .kicker,.card .kicker,.note .kicker{color:var(--gold-ink)!important}
.section.cream .hours-note,.section:not(.navy) .hours-note{color:var(--navy)}
.page-hero .sds-card .kicker,.page-hero .sds-card h2,.page-hero .sds-card p:not(.kicker){color:var(--navy)}
.page-hero .sds-card p.kicker{color:var(--gold-ink)!important}
.contact-routes a strong{overflow-wrap:break-word;word-break:normal}

/* Accent buttons: navy text on coral so contrast meets 4.5:1 on mobile */
.btn-accent,
.page-everyday .btn-accent,
.page-community .btn-accent,
.page-cleaning .btn-accent{color:#0a2a38}
