/* Shared palette and components. Layout stays with each page stylesheet. */
:root {
  --pt-bg: hsl(0 0% 98%);
  --pt-heading: hsl(283 30% 15%);
  --pt-action: hsl(283 20% 45%);
  --pt-action-hover: hsl(283 25% 35%);
  --pt-lilac: hsl(300 15% 81%);
  --pt-section: hsl(300 15% 95%);
  --pt-text: hsl(283 30% 15%);
  --pt-muted: hsl(283 10% 40%);
  --pt-border: hsl(300 12% 88%);
  --pt-whatsapp: #1b9a58;
  --color-bg: hsl(0 0% 98%);
  --color-bg-alt: hsl(300 15% 95%);
  --color-surface: #fff;
  --color-text: hsl(283 30% 15%);
  --color-text-muted: hsl(283 10% 40%);
  --color-brand: hsl(283 30% 15%);
  --color-brand-light: hsl(300 15% 81%);
  --color-primary: hsl(283 20% 45%);
  --color-primary-dark: hsl(283 25% 35%);
  --color-border: hsl(300 12% 88%);
  --font-base: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --radius: 12px;
}
html { scroll-padding-top: 86px; }
body { background: var(--pt-bg); color: var(--pt-text); font-family: var(--font-base); }
main p a:not(.btn), .article-body a:not(.btn) { color: var(--pt-action); text-decoration: underline; text-underline-offset: .18em; }
.site-header { background: rgba(250,250,250,.97); border-color: var(--pt-border); }
.site-header .main-nav a, .site-header .ap-header-phone { color: var(--pt-text); }
.site-header .main-nav a:hover, .site-header .ap-header-phone:hover { color: var(--pt-action); }
.site-header .main-nav.is-open { background: #fff; border-color: var(--pt-border); }
.site-header .main-nav.is-open a { color: var(--pt-text); }
.site-header .nav-toggle { color: var(--pt-heading); }
.site-header .nav-toggle span { background: var(--pt-heading); }
.btn-primary, .lead-form button[type="submit"] { background: var(--pt-action); color: #fff; border-color: var(--pt-action); }
.btn-primary:hover, .lead-form button[type="submit"]:hover { background: var(--pt-action-hover); color: #fff; }
.btn-whatsapp { background: var(--pt-whatsapp); color: #fff; }
.btn-whatsapp:hover { background: #167e48; color: #fff; }
.lead-form input:not([type="checkbox"]), .lead-form textarea, .lead-form select {
  min-height: 48px; border: 1px solid var(--pt-border); border-radius: 8px;
  background: #fff; color: var(--pt-text); font: inherit;
}
.lead-form textarea { min-height: 112px; }
.lead-form input:focus-visible, .lead-form textarea:focus-visible, .lead-form select:focus-visible,
body :focus-visible { outline: 3px solid #9d6cb4; outline-offset: 2px; }
.lead-form button[type="submit"]:disabled { opacity: .65; cursor: wait; }
.lead-form .form-row:not(.honeypot) > label {
  position: static; display: block; width: auto; height: auto;
  overflow: visible; clip: auto; margin-bottom: 7px;
}
.form-status[data-state="error"] { color: #a12626; }
.form-status[data-state="success"] { color: #176a3d; }
.site-footer { background: var(--pt-section); border-color: var(--pt-border); }
.site-footer .footer-copy, .site-footer .footer-nav a, .site-footer .footer-disclosure { color: var(--pt-muted); }
.site-footer .footer-nav a:hover { color: var(--pt-action); }
.sitemap-directory { max-width: 1140px; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-bottom: 44px; }
.sitemap-directory li { min-width: 0; background: #fff; }
.sitemap-directory a { overflow-wrap: anywhere; }
.cta-band { background: var(--pt-section); }
.cta-band h2 { color: var(--pt-heading); }
.cta-band p { color: var(--pt-text); }
.contact-info { background: #fff; border: 1px solid var(--pt-border); }
.contact-info p { color: var(--pt-text); }
.blog-hero { background: var(--pt-section); }
.blog-hero h1, .blog-hero p { color: var(--pt-heading); }

/* Service pages: retain their image and card arrangements. */
.ap-page .ap-hero {
  min-height: 0; display: block; overflow: visible;
  background: var(--pt-bg);
}
.ap-page .ap-hero::after { display: block; background: linear-gradient(90deg,rgba(250,250,250,.97),rgba(250,250,250,.88) 55%,rgba(250,250,250,.72)); }
.ap-page .ap-hero-content { max-width: 1140px; padding-block: 64px 80px; }
.ap-page .ap-hero-content > * { max-width: none; }
.ap-page .ap-hero-heading { max-width: 820px; margin: 0 auto 42px; text-align: center; }
.ap-page .ap-hero-heading h1 { color: var(--pt-heading); font-size: clamp(2rem,3.7vw,3rem); line-height: 1.16; letter-spacing: -.03em; margin: 10px 0 16px; }
.ap-page .ap-hero-heading p { color: var(--pt-text); font-size: 1.1rem; }
.ap-page .ap-hero-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(32px,5vw,68px); align-items: start; }
.ap-page .ap-hero-benefits { padding-top: 18px; }
.ap-page .ap-hero-benefits h2 { text-align: left; color: var(--pt-heading); font-size: clamp(1.75rem,2.6vw,2.3rem); }
.ap-page .ap-hero-benefits p { color: var(--pt-text); }
.ap-page .ap-eyebrow { color: var(--pt-heading); }
.ap-page .ap-checks { list-style: none; padding: 0; margin: 24px 0; }
.ap-page .ap-checks li { position: relative; padding: 0 0 12px 29px; color: var(--pt-text); }
.ap-page .ap-checks li::before { content: "\2713"; position: absolute; left: 0; color: var(--pt-action); font-weight: 800; }
.ap-page .ap-form-wrap { padding: 0; background: transparent; border: 0; }
.ap-page .ap-form-wrap .lead-form { padding: clamp(22px,3vw,38px); background: #fff; border: 1px solid var(--pt-border); border-radius: 12px; box-shadow: 0 12px 40px rgba(45,25,60,.13); }
.ap-page .ap-hero-grid .lead-form { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); column-gap:16px; }
.ap-page .ap-hero-grid .lead-form > h2, .ap-page .ap-hero-grid .lead-form > p,
.ap-page .ap-hero-grid .lead-form > button, .ap-page .ap-hero-grid .lead-form > .form-row:has(textarea),
.ap-page .ap-hero-grid .lead-form > .form-row:has(select) { grid-column:1 / -1; }
.ap-page .ap-form-wrap .form-row label { color: var(--pt-text); }
.ap-page .ap-form-wrap .form-row input, .ap-page .ap-form-wrap .form-row textarea, .ap-page .ap-form-wrap .form-row select { background: #fff; color: var(--pt-text); border-color: var(--pt-border); }
.ap-page .ap-form-wrap .form-row input::placeholder, .ap-page .ap-form-wrap .form-row textarea::placeholder { color: var(--pt-muted); }
.ap-page .ap-form-wrap .ap-privacy { color: var(--pt-muted); }
.ap-page .ap-privacy a, .ap-page .ap-breadcrumb a { color: var(--pt-action); }
.ap-page .ap-hero-form-title { color: var(--pt-heading); font-size: 1.5rem; text-align: left; }
.ap-page .ap-breadcrumb { color: var(--pt-muted); }
.ap-page .ap-intro-grid > div:last-child, .ap-page .ap-reasons p, .ap-page .ap-steps p,
.ap-page .ap-about-grid > div p:not(.ap-eyebrow), .ap-page .ap-faq-list p,
.ap-page .ap-contact-copy > p:not(.ap-eyebrow), .ap-page .ap-section-lead, .ap-page .ap-list { color: var(--pt-text); }
.ap-page .ap-text-links a, .ap-page .ap-intro-grid a, .ap-page .ap-reasons a,
.ap-page .ap-steps a, .ap-page .ap-about-grid a:not(.btn), .ap-page .ap-faq-list a { color: var(--pt-action); }
.ap-page .ap-service-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.ap-page .ap-service-card { background: #fff; border: 1px solid var(--pt-border); border-radius: 12px; }
.ap-page .ap-service-card > img { background: var(--pt-section); }
.ap-page .ap-service-card span, .ap-page .ap-service-card a { color: var(--pt-heading); }
.ap-page .ap-service-card p { color: var(--pt-text); }
.ap-page .ap-facts > div, .ap-page .ap-faq-list details { background: #fff; border: 1px solid var(--pt-border); }
.ap-page .ap-facts dt, .ap-page .ap-steps span { color: var(--pt-heading); }
.ap-page .ap-facts dd, .ap-page .ap-facts dd small, .ap-page .ap-faq-list summary { color: var(--pt-text); }
.ap-page .ap-faq { background: var(--pt-section); }
.ap-page .ap-about figure { background: #fff; box-shadow: 0 12px 30px rgba(45,25,60,.11); }
.ap-page .ap-about figcaption { color: var(--pt-muted); }
.ap-page .ap-contact-grid { display: block; max-width: 760px; margin-inline: auto; text-align: center; }
.ap-page .ap-contact h2 { text-align: center; }
.ap-page .ap-contact-actions { justify-content: center; }
.ap-page .main-nav.is-open { background: #fff; }

/* The homepage keeps its established sections and image based components. */
body.home2-page { --night:var(--pt-bg); --plum:var(--pt-section); --ink:var(--pt-text); --line:var(--pt-border); background:var(--pt-bg); font-family:var(--font-base); }
.home2-page main h2, .home2-page main h3 { color: var(--pt-heading); }
.home2-page .home2-header, .home2-page .home2-header.is-scrolled, .home2-page .home2-header:focus-within { background: rgba(255,255,255,.98); border-color: var(--pt-border); color: var(--pt-text); }
.home2-page .home2-header .brand-mark small, .home2-page .home2-nav a, .home2-page .header-phone { color: var(--pt-text); }
.home2-page .home2-nav a:hover, .home2-page .home2-nav a:focus-visible { color: var(--pt-action); }
.home2-page .home2-nav.is-open { background: #fff; border-color: var(--pt-border); }
.home2-page .header-phone, .home2-page .nav-toggle { background: #fff; color: var(--pt-heading); border-color: var(--pt-border); }
.home2-page .hero { min-height: 0; padding: calc(var(--header-height) + 64px) 0 80px; background: linear-gradient(90deg,rgba(250,250,250,.97),rgba(250,250,250,.88) 55%,rgba(250,250,250,.72)),url('/images/home2-slider-after.webp') center/cover; color: var(--pt-text); }
.home2-page .hero-shell { min-height: 0; display: block; }
.home2-page .home-hero-heading { max-width: 820px; margin: 0 auto 42px; text-align: center; }
.home2-page .home-hero-heading h1 { max-width: none; color: var(--pt-heading); font-size: clamp(2rem,3.7vw,3rem); line-height: 1.16; margin-bottom: 16px; }
.home2-page .hero-lead { color: var(--pt-text); max-width: none; font-size: 1.1rem; }
.home2-page .home-hero-grid { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: clamp(32px,5vw,68px); align-items: start; }
.home2-page .hero-copy { padding-top: 18px; }
.home2-page .hero-copy h2 { color: var(--pt-heading); font-size: clamp(1.75rem,2.6vw,2.3rem); line-height: 1.2; }
.home2-page .hero-copy p { color: var(--pt-text); }
.home2-page .home-checks { list-style: none; margin: 24px 0; padding: 0; }
.home2-page .home-checks li { position: relative; padding: 0 0 12px 29px; color: var(--pt-text); }
.home2-page .home-checks li::before { content: "\2713"; position: absolute; left: 0; color: var(--pt-action); font-weight: 800; }
.home2-page .home-hero-form h2 { color: var(--pt-heading); font-size: 1.5rem; text-align: left; }
.home2-page .home-hero-form .lead-form { padding: clamp(22px,3vw,38px); background:#fff; border:1px solid var(--pt-border); border-radius:12px; box-shadow:0 12px 40px rgba(45,25,60,.13); }
.home2-page .hero-media, .home2-page .hero-overlay, .home2-page .hero::after, .home2-page .hero-facts { display: none; }
.home2-page .intro-section, .home2-page .compare-section, .home2-page .process-section, .home2-page .contact-section { background:#fff; color:var(--pt-text); }
.home2-page .location-section, .home2-page .references-section, .home2-page .home-faq { background:var(--pt-section); color:var(--pt-text); }
.home2-page .compare-copy p:not(.kicker), .home2-page .location-copy p:not(.kicker),
.home2-page .phone-testimonial-copy p:not(.kicker), .home2-page .steps p, .home2-page .check-list li { color:var(--pt-text); }
.home2-page .location-chips span, .home2-page .pin { color:var(--pt-heading); background:#fff; border-color:var(--pt-border); }
.home2-page .location-map, .home2-page .steps article { background:#fff; border-color:var(--pt-border); }
.home2-page .phone-testimonial-copy h2, .home2-page .process-section h2 { color:var(--pt-heading); }
.home2-page .phone-proof-list span, .home2-page .phone-control { color:var(--pt-heading); background:#fff; border-color:var(--pt-border); }
.home2-page .phone-testimonial-dot { background:var(--pt-lilac); }
.home2-page .phone-testimonial-dot.is-active { background:var(--pt-action); }
.home2-page .kicker, .home2-page .steps span { color:var(--pt-heading); }
.home2-page .home-about-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center; }
.home2-page .home-about img { width:100%; border-radius:12px; }
.home2-page .home-faq-inner { max-width:800px; }
.home2-page .home-faq details { padding:18px 22px; margin-top:12px; background:#fff; border:1px solid var(--pt-border); border-radius:10px; }
.home2-page .home-faq summary { color:var(--pt-heading); cursor:pointer; }
.home2-page .home-faq details p { margin:12px 0 0; color:var(--pt-text); }
.home2-page .contact-shell { display:block; max-width:760px; }
.home2-page .contact-section .lead-form { display:none; }
.home2-page .home2-footer { background:var(--pt-section); color:var(--pt-muted); }
.home2-page .home2-footer a { color:var(--pt-text); }
.home2-page .home2-footer .brand-mark small, .home2-page .home2-footer .footer-disclosure { color:var(--pt-muted); }

/* Keep the older specialized hero imagery and contrast on non-template pages. */
.adblue-hero h1, .wash-hero h1, .graffiti-hero h1, .motor-hero h1, .lk-hero h1 { color:#fff; }

/* Standalone service layouts use the same light surfaces without changing their grids. */
.motor-benefits, .motor-compare, .motor-steps, .motor-result, .motor-faq, .motor-story,
.wash-section, .wash-booking, .wash-process, .wash-included, .wash-gallery,
.lk-page .ap-section { background:var(--pt-bg); color:var(--pt-text); }
.motor-steps, .motor-faq, .wash-process, .wash-gallery, .lk-page .section-alt { background:var(--pt-section); }
.motor-card, .motor-faq-list details, .motor-compare-points > div,
.wash-process-list li, .wash-form, .wash-booking-info,
.lk-cards article, .lk-faq details { background:#fff; color:var(--pt-text); border-color:var(--pt-border); border-radius:12px; }
.motor-card p, .motor-compare-copy > p:not(.motor-eyebrow), .motor-result-grid > div > p:not(.motor-eyebrow),
.motor-compare-photo figcaption, .motor-compare-points span, .motor-step p, .motor-faq-list p,
.wash-intro, .lk-split p:not(.ap-eyebrow), .lk-process li, .lk-cards p, .lk-faq details p { color:var(--pt-text); }
.motor-compare-points strong, .motor-faq-list summary, .lk-process strong, .lk-faq summary { color:var(--pt-heading); }
.motor-eyebrow, .motor-card-number, .motor-step span { color:var(--pt-action); }
.motor-compare-points > div { border-left-color:var(--pt-action); }
.lk-strip { background:var(--pt-section); border-color:var(--pt-border); }
.lk-strip span, .lk-split figcaption { color:var(--pt-muted); }
.lk-cards span, .lk-page .ap-eyebrow { color:var(--pt-action); }

.wash-process-list p, .wash-feature-photo figcaption, .wash-gallery figcaption,
.wash-calendar-note, .wash-privacy, .wash-booking-info p { color:var(--pt-text); }
.wash-process-number, .wash-step-label, .wash-kicker, .wash-progress li.is-active { color:var(--pt-action); }
.wash-benefits li, .wash-calendar, .wash-selection { background:var(--pt-section); color:var(--pt-text); border-color:var(--pt-border); }
.wash-calendar-head strong, .wash-field label, .wash-field legend { color:var(--pt-heading); }
.wash-calendar-head button, .wash-calendar-days button, .wash-field input, .wash-slots span {
  background:#fff; color:var(--pt-text); border-color:var(--pt-border); color-scheme:light;
}
.wash-calendar-days button[aria-pressed='true'], .wash-slots input:checked + span { background:var(--pt-action); border-color:var(--pt-action); color:#fff; }
.wash-calendar-days button:hover:not(:disabled), .wash-calendar-head button:hover:not(:disabled) { background:var(--pt-section); border-color:var(--pt-action); color:var(--pt-heading); }
.wash-progress li.is-done { color:var(--pt-heading); border-color:var(--pt-action); }
.wash-booking-info a { color:var(--pt-action); }

.graffiti-page { --ice:var(--pt-lilac); --bright:var(--pt-action); --muted:var(--pt-muted); --line:var(--pt-border); background:var(--pt-bg); color:var(--pt-text); font-family:var(--font-base); }
.graffiti-page .graffiti-section, .graffiti-page .intro-section, .graffiti-page .equipment-section,
.graffiti-page .benefit-section, .graffiti-page .faq-section, .graffiti-page .contact-section { background:var(--pt-bg); color:var(--pt-text); }
.graffiti-page .process-section, .graffiti-page .area-section { background:var(--pt-section); color:var(--pt-text); }
.graffiti-page .process-card, .graffiti-page .faq-list details, .graffiti-page .graffiti-form { background:#fff; color:var(--pt-text); border-color:var(--pt-border); border-radius:12px; }
.graffiti-page .section-copy p, .graffiti-page .process-card p, .graffiti-page .faq-list p,
.graffiti-page .contact-copy > p:not(.eyebrow), .graffiti-page .area-inner p:not(.eyebrow) { color:var(--pt-text); }
.graffiti-page .graffiti-form h3, .graffiti-page .faq-list summary { color:var(--pt-heading); }
.graffiti-page .ice-btn, .graffiti-page .graffiti-form .ice-btn { background:var(--pt-action); border-color:var(--pt-action); color:#fff !important; border-radius:10px; }
.graffiti-page .ice-btn:hover, .graffiti-page .graffiti-form .ice-btn:hover { background:var(--pt-action-hover); }
.graffiti-page .hero-content h1 span { background:linear-gradient(110deg,#fff,var(--pt-lilac),var(--pt-action)); -webkit-background-clip:text; background-clip:text; }
.graffiti-page .graffiti-footer { background:var(--pt-section); border-color:var(--pt-border); }
.graffiti-page .footer-row p, .graffiti-page .disclosure { color:var(--pt-muted); }
@media (max-width:980px) {
  .ap-page .ap-hero-grid, .home2-page .home-hero-grid { grid-template-columns:1fr; gap:32px; }
  .ap-page .ap-hero-benefits, .home2-page .hero-copy { padding-top:0; }
}
@media (max-width:700px) {
  .sitemap-directory { grid-template-columns:1fr; }
  .ap-page .ap-hero-content { padding-block:44px 56px; }
  .home2-page .hero { padding-block:calc(var(--header-height) + 40px) 56px; }
  .ap-page .ap-hero-grid, .home2-page .home-hero-grid, .home2-page .home-about-grid { grid-template-columns:1fr; }
  .ap-page .ap-hero-heading, .home2-page .home-hero-heading { margin-bottom:26px; }
  .ap-page .ap-hero-benefits, .home2-page .hero-copy { padding-top:0; }
  .ap-page .ap-service-grid { grid-template-columns:1fr; }
  .ap-page .ap-hero-grid .lead-form { grid-template-columns:1fr; }
  .home2-page .home-about-grid { gap:26px; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; }
}
