/* Guardian premium shared design • 2026-09-07
   Additive, with original content and WordPress controls preserved.
   Interior-page rules exclude WordPress's .home body. The custom
   .gp-premium-home owns its own layout; only tokens/body inherit there. */
:root {
  --gp-evergreen: #102c29;
  --gp-forest: #1b4039;
  --gp-ivory: #f5f2ea;
  --gp-paper: #fcfaf5;
  --gp-brass: #bda16b;
  --gp-brass-ink: #76603a;
  --gp-charcoal: #1d302b;
  --gp-muted: #56645e;
  --gp-rule: #d6d8ca;
  --guardian-navy-950: #0c231f;
  --guardian-navy-900: #102c29;
  --guardian-navy-800: #173b33;
  --guardian-navy-700: #285448;
  --guardian-gold-600: #76603a;
  --guardian-gold-500: #bda16b;
  --guardian-gold-300: #dec894;
  --guardian-cream-100: #f5f2ea;
  --guardian-cream-50: #fcfaf5;
  --guardian-ink: #1d302b;
  --guardian-muted: #56645e;
  --guardian-line: #d6d8ca;
  --guardian-shadow: 0 12px 32px rgb(16 44 41 / 8%);
}
body { background: var(--gp-paper); color: var(--gp-charcoal); }
body .guardian-topbar {
  background: var(--gp-evergreen);
  color: #f5f2ea;
  min-height: 34px;
  padding-block: 6px;
  font-size: .73rem;
  letter-spacing: .035em;
}
body .guardian-topbar a { color: #eadbb9; font-weight: 600; }
body .guardian-header {
  background: #fcfaf5;
  border-bottom: 1px solid var(--gp-rule);
  box-shadow: none;
}
body .guardian-header__inner {
  max-width: 1440px;
  min-height: 92px;
  gap: clamp(1.2rem, 2.5vw, 3rem);
  padding-block: 17px;
}
body .guardian-brand { max-width: 12.5rem; margin: 0; }
body .guardian-brand a {
  display: block;
  max-width: 12.5rem;
  color: var(--gp-evergreen);
  font-size: 1.43rem;
  font-weight: 500;
  line-height: 1.03;
  letter-spacing: -.04em;
}
body .guardian-nav { color: var(--gp-evergreen); font-size: .85rem; font-weight: 600; }
body .guardian-nav .wp-block-navigation__container { gap: clamp(1.15rem, 2vw, 2rem); }
body .guardian-nav .wp-block-navigation-item__content { text-underline-offset: .4em; }
body .guardian-nav .wp-block-navigation__submenu-container {
  min-width: 285px;
  background: var(--gp-paper);
  color: var(--gp-evergreen);
  border: 1px solid var(--gp-rule);
  border-top: 2px solid var(--gp-brass);
  border-radius: 0;
  padding: .5rem;
  box-shadow: 0 16px 32px rgb(16 44 41 / 10%);
}
body .guardian-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  padding: .8rem 1rem;
  font-size: .86rem;
}
body .guardian-nav .wp-block-navigation__submenu-container a:hover { background: #eaece2; border-radius: 0; }
body .guardian-header__cta .wp-block-button__link {
  min-height: 48px;
  background: var(--gp-evergreen);
  color: #fff;
  border: 1px solid var(--gp-evergreen);
  border-radius: 2px;
  padding: .8rem 1.35rem;
  font-size: .81rem;
  font-weight: 700;
  letter-spacing: .025em;
  box-shadow: none;
}
body .guardian-header__cta .wp-block-button__link:hover { background: #244b40; border-color: #244b40; }
body .guardian-footer {
  background: #0c231f;
  color: #c6d0c6;
  border-top: 1px solid #456050;
  padding-block: clamp(64px, 7vw, 96px) 42px;
  font-size: .9rem;
  line-height: 1.7;
}
body .guardian-footer .wp-block-columns { gap: clamp(1.8rem, 4vw, 4rem); }
body .guardian-footer .wp-block-column { min-width: 0; }
body .guardian-footer .wp-block-site-title a {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.85rem;
  line-height: 1.05;
  letter-spacing: -.04em;
  font-weight: 400;
  text-decoration: none;
  color: #fff;
}
body .guardian-footer h3 {
  font-family: Arial, Helvetica, sans-serif;
  font-weight: 700;
  font-size: .71rem;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #dec894;
  margin: .35rem 0 1.4rem;
}
body .guardian-footer a { color: #e5e9df; text-decoration-thickness: 1px; }
body .guardian-footer a:hover { color: #dec894; }
body .guardian-footer a[href^="mailto:"] { overflow-wrap: anywhere; font-size: .84rem; }
body .guardian-footer li { margin-block: .5rem; }
body .guardian-footer .wp-block-separator { border-color: #456050; margin-block: 2.8rem 1.8rem; opacity: 1; }
body .guardian-footer .has-small-font-size { color: #bac7bb; font-size: .76rem; letter-spacing: .03em; }
body .guardian-footer :where(a, button):focus-visible { outline: 3px solid #dec894; outline-offset: 4px; }
body .guardian-mobile-actions { background: var(--gp-evergreen); box-shadow: none; border-top: 1px solid #405a4c; }
body .guardian-mobile-actions a { font-size: .84rem; font-weight: 700; letter-spacing: .02em; }
body .guardian-mobile-actions__call { background: var(--gp-evergreen); color: #fff; }
body .guardian-mobile-actions__estimate { background: #d5c196; color: #102c29; }
/* WordPress's flex layout otherwise overrides the theme's desktop display:none. */
@media (min-width: 821px) {
  body .guardian-mobile-actions { display: none !important; }
}

/* Existing interior pages: editorial typography and measured spacing. */
body:not(.home) main { color: var(--gp-charcoal); }
body:not(.home) main :is(h1, h2, h3, h4) {
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 400;
  letter-spacing: -.035em;
  text-wrap: balance;
}
body:not(.home) main :is(.guardian-section, .guardian-hero, .guardian-article) :is(h1, h2, h3) { color: var(--gp-evergreen); }
body:not(.home) main :is(.guardian-section, .guardian-article) h2 { font-size: clamp(2rem, 3.7vw, 3.6rem); line-height: 1.08; }
body:not(.home) main .guardian-card h3 { font-size: clamp(1.45rem, 2vw, 1.8rem); line-height: 1.17; }
body:not(.home) main .guardian-card h2 { font-size: clamp(1.7rem, 2.5vw, 2.35rem); line-height: 1.14; }
body:not(.home) main :is(.guardian-section, .guardian-hero, .guardian-article) p { line-height: 1.75; }
body:not(.home) main :is(.guardian-section, .guardian-hero, .guardian-article) a:not(.wp-block-button__link) { color: #275546; }
body:not(.home) main :is(.guardian-section, .guardian-hero, .guardian-cta) > .alignwide { max-width: 1280px; margin-inline: auto; }
body:not(.home) main .guardian-section { padding-block: clamp(64px, 7vw, 108px); }
body:not(.home) main .guardian-section--tight { padding-block: clamp(40px, 5vw, 64px); }
body:not(.home) main .guardian-section--cream { background: var(--gp-ivory); }
body:not(.home) main .guardian-hero {
  background: var(--gp-ivory);
  border-bottom: 1px solid var(--gp-rule);
  min-height: 0;
  padding-block: clamp(60px, 7vw, 96px);
}
body:not(.home) main .guardian-hero h1 {
  font-size: clamp(2.7rem, 5.2vw, 5.2rem);
  line-height: 1.02;
  margin-bottom: 1.65rem;
}
body:not(.home) main .guardian-hero .guardian-lead { color: var(--gp-muted); font-size: clamp(1.05rem, 1.35vw, 1.2rem); max-width: 39rem; }
body:not(.home) main .guardian-hero__grid { align-items: center; gap: clamp(2rem, 5vw, 5rem); }
@media (min-width: 901px) {
  body:not(.home) main .guardian-hero__grid { align-items: start; }
}
body:not(.home) main .guardian-hero__proof { border-left: 1px solid #a7956b; padding-left: 1.2rem; gap: .7rem 1.3rem; }
body:not(.home) main .guardian-hero__proof strong { color: #344c40; font-size: .8rem; font-weight: 600; }
body:not(.home) main .guardian-eyebrow,
body:not(.home) main .gp3-eyebrow { color: var(--gp-brass-ink) !important; font-size: .69rem; font-weight: 700; letter-spacing: .16em; }
body:not(.home) main .guardian-card {
  background: var(--gp-paper);
  border: 1px solid var(--gp-rule);
  border-top: 1px solid #b5b69c;
  padding: clamp(24px, 2.7vw, 38px);
  border-radius: 0;
  box-shadow: none;
}
body:not(.home) main .guardian-card__number,
body:not(.home) main .guardian-process .guardian-card::before { color: var(--gp-brass-ink); font-family: Georgia, serif; font-size: 1.4rem; font-weight: 400; }
body:not(.home) main .guardian-section--dark { background: var(--gp-evergreen); color: #e5e9df; }
body:not(.home) main .guardian-section--dark :is(h1, h2, h3, h4) { color: #fff; }
body:not(.home) main .guardian-section--dark .guardian-eyebrow { color: #dec894 !important; }
body:not(.home) main .guardian-section--dark a:not(.wp-block-button__link) { color: #ead6a8; }
body:not(.home) main .guardian-section--dark .guardian-card { background: #183930; border-color: #48604d; color: #e5e9df; }
body:not(.home) main .guardian-section--dark .guardian-card :is(h2, h3, strong) { color: #fff; }
body:not(.home) main .guardian-section--dark .guardian-card::before { color: #dec894; }
body:not(.home) main .guardian-trust-strip { background: #173b33; color: #f2f1e8; padding-block: 14px; }
body:not(.home) main .guardian-trust-item { font-size: .69rem; font-weight: 600; letter-spacing: .07em; }
body:not(.home) main .guardian-faq details { padding-block: 24px; border-color: #c9d0be; }
body:not(.home) main .guardian-faq summary { color: var(--gp-evergreen); font-size: 1.02rem; font-weight: 600; line-height: 1.55; }
body:not(.home) main .guardian-faq summary::after { color: #76603a; font-weight: 400; }
body:not(.home) main .guardian-faq details p { max-width: 52rem; color: #4c5f52; }
body:not(.home) main .guardian-section--dark .guardian-faq summary { color: #fff; }
body:not(.home) main .guardian-section--dark .guardian-faq details p { color: #e3e8dc; }

/* The final invitation uses the same forest palette, with high-contrast controls. */
body:not(.home) main .guardian-cta { background: var(--gp-evergreen); color: #e4e9df; border-top: 1px solid #5c7056; padding-block: clamp(60px, 7vw, 96px); }
body:not(.home) main .guardian-cta h2 { color: #fff; font-size: clamp(2.15rem, 4vw, 3.7rem); line-height: 1.07; }
body:not(.home) main .guardian-cta .guardian-eyebrow { color: #dec894 !important; }
body:not(.home) main .wp-block-button__link {
  min-height: 50px;
  padding: .85rem 1.4rem;
  border: 1px solid var(--gp-evergreen);
  border-radius: 2px;
  background: var(--gp-evergreen);
  color: #fff;
  font-weight: 700;
  font-size: .88rem;
  line-height: 1.4;
  box-shadow: none;
}
body:not(.home) main .wp-block-button__link:hover { background: #285448; border-color: #285448; }
body:not(.home) main .wp-block-button.is-style-outline > .wp-block-button__link { background: transparent !important; color: #102c29 !important; border: 1px solid #6b7b69 !important; }
body:not(.home) main :is(.guardian-cta, .guardian-section--dark) .wp-block-button__link { background: #d5c196; color: #102c29; border-color: #d5c196; }
body:not(.home) main :is(.guardian-cta, .guardian-section--dark) .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff !important; border-color: #b0bba5 !important; }
body:not(.home) main :is(.guardian-cta, .guardian-section--dark) :is(a, button, summary):focus-visible { outline-color: #ead6a8 !important; }

/* Keep original project photographs, aspect ratios and before/after labels. */
body:not(.home) main :is(.guardian-seal-hero, .guardian-repair-hero-photo, .guardian-pool-hero),
body:not(.home) main :is(.guardian-seal-grid, .guardian-repair-proof, .guardian-pool-process) figure {
  border: 1px solid #b9bba6;
  border-radius: 1px;
  box-shadow: none;
  background: #102c29;
}
body:not(.home) main :is(.guardian-seal-hero, .guardian-repair-hero-photo, .guardian-pool-hero) figcaption,
body:not(.home) main :is(.guardian-repair-proof, .guardian-pool-process) figcaption { background: #102c29; color: #e6e9dc; padding: 1rem 1.2rem; font-size: .82rem; }
body:not(.home) main .guardian-seal-grid figcaption { background: var(--gp-paper); color: #354b3d; }
body:not(.home) main :is(.guardian-repair-label, .guardian-pool-label) { background: #102c29; color: #f0dfb7; border: 1px solid #8c9576; border-radius: 1px; box-shadow: none; font-size: .66rem; font-weight: 700; }

/* Gallery: exhibition-like frames and restrained navigation. */
body:not(.home) .guardian-work-gallery {
  --gw-gold: #bda16b; --gw-gold-dark: #76603a; --gw-navy: #102c29;
  --gw-dark: #102c29; --gw-cream: #f5f2ea; --gw-muted: #56645e;
  background: var(--gp-paper); color: var(--gp-charcoal);
}
body:not(.home) .guardian-work-gallery :is(.gw-hero, .gw-final) { background: #102c29; border-width: 1px; border-color: #8c9679; }
body:not(.home) .guardian-work-gallery .gw-hero h1 { font-size: clamp(2.7rem, 5vw, 5.1rem); line-height: 1.04; letter-spacing: -.045em; font-weight: 400; }
body:not(.home) .guardian-work-gallery .gw-hero__lead { font-size: clamp(1.03rem, 1.5vw, 1.2rem); color: #e0e7d9; }
body:not(.home) .guardian-work-gallery .gw-eyebrow { color: #dec894; font-size: .68rem; letter-spacing: .16em; font-weight: 700; }
body:not(.home) .guardian-work-gallery .gw-section--cream .gw-eyebrow { color: #76603a; }
body:not(.home) .guardian-work-gallery :is(.gw-hero__photo, .gw-photo-card, .gw-comparison) { border-radius: 1px; box-shadow: none; border: 1px solid #788469; }
body:not(.home) .guardian-work-gallery :is(.gw-hero__photo, .gw-photo-card) { background: #173b33; }
body:not(.home) .guardian-work-gallery .gw-comparison { background: var(--gp-paper); border-color: #c9cdbb; }
body:not(.home) .guardian-work-gallery :is(.gw-hero__photo, .gw-photo-card, .gw-comparison) figcaption { padding: 1.15rem 1.3rem; font-size: .9rem; }
body:not(.home) .guardian-work-gallery .gw-photo-label { border-radius: 1px; box-shadow: none; border-color: #9ca987; background: #102c29; color: #efe1bd; font-size: .64rem; font-weight: 700; letter-spacing: .12em; }
body:not(.home) .guardian-work-gallery .gw-process-step { color: #dec894; font-size: .67rem; font-weight: 700; }
body:not(.home) .guardian-work-gallery .gw-trust { gap: .6rem 1.25rem; }
body:not(.home) .guardian-work-gallery .gw-trust span { padding: .2rem 0 .2rem .75rem; border: 0; border-left: 1px solid #acb08b; border-radius: 0; font-size: .74rem; font-weight: 500; }
body:not(.home) .guardian-work-gallery .gw-nav { background: var(--gp-paper); border-color: #d6d8ca; padding-block: 1.15rem; }
body:not(.home) .guardian-work-gallery .gw-nav__links { gap: .55rem 1.4rem; }
body:not(.home) .guardian-work-gallery .gw-nav a { border: 0; border-bottom: 1px solid #9ca98e; border-radius: 0; padding: .55rem .1rem; font-size: .8rem; font-weight: 600; }
body:not(.home) .guardian-work-gallery .gw-nav a:hover { border-color: #102c29; background: #eeeee3; }
body:not(.home) .guardian-work-gallery .gw-section__head { margin-bottom: 2.6rem; }
body:not(.home) .guardian-work-gallery .gw-section__head h2 { font-weight: 400; letter-spacing: -.04em; }
body:not(.home) .guardian-work-gallery .gw-inline-cta { background: #173b33; border: 1px solid #677a5e; border-radius: 0; padding: 1.4rem; }
body:not(.home) .guardian-work-gallery .gw-inline-cta p { font-weight: 600; }
body:not(.home) .guardian-work-gallery .gw-integrity { border-left-width: 2px; background: #fcfaf5; }
body:not(.home) .guardian-work-gallery .gw-button { border-radius: 2px; min-height: 50px; padding: .85rem 1.4rem; font-size: .86rem; font-weight: 700; }
body:not(.home) .guardian-work-gallery .gw-button--gold { background: #d5c196; color: #102c29; border: 1px solid #d5c196; }
body:not(.home) .guardian-work-gallery .gw-button--outline { background: transparent; border: 1px solid #b0bba5; color: #fff; }

/* Service-specific and supplementary sections retain their native layouts. */
body:not(.home) :is(.guardian-commercial, .guardian-softwash, .guardian-case, .guardian-ad-landing) { --gold: #bda16b; --cream: #f5f2ea; --navy: #102c29; --ink: #102c29; --muted: #56645e; --gps-gold: #bda16b; --gps-gold-dark: #76603a; --gps-ink: #102c29; --gps-cream: #f5f2ea; --gps-muted: #56645e; background: var(--gp-paper); color: var(--gp-charcoal); }
body:not(.home) main :is(.gc-hero, .gsw-hero, .gcs-hero, .guardian-ad-hero, .guardian-ad-final) { background: #102c29; border-color: #8c9679; border-width: 1px; }
body:not(.home) main :is(.gc-hero, .gsw-hero, .gcs-hero, .guardian-ad-hero) h1 { color: #fff; line-height: 1.04; letter-spacing: -.04em; font-weight: 400; }
body:not(.home) main :is(.gc-hero, .gsw-hero, .gcs-hero, .guardian-ad-hero) h1 span { color: #e4d2a7; }
body:not(.home) main :is(.gc-section--dark, .gsw-section--dark, .gcs-section--dark, .guardian-ad-section--dark) { background: #102c29; color: #e3e8dc; }
body:not(.home) main :is(.gc-section--dark, .gsw-section--dark, .gcs-section--dark, .guardian-ad-section--dark) :is(h2, h3) { color: #fff; }
body:not(.home) main :is(.gc-section--dark, .gsw-section--dark) :is(.gc-card, .gsw-card) { background: #173b33; border-color: #5c7156; }
body:not(.home) main :is(.gc-eyebrow, .gsw-eyebrow, .gcs-eyebrow, .guardian-ad-eyebrow) { color: #76603a; font-size: .69rem; letter-spacing: .14em; font-weight: 700; }
body:not(.home) main :is(.gc-hero, .gsw-hero, .gcs-hero, .guardian-ad-hero, .gc-section--dark, .gsw-section--dark, .gcs-section--dark, .guardian-ad-section--dark) :is(.gc-eyebrow, .gsw-eyebrow, .gcs-eyebrow, .guardian-ad-eyebrow, .guardian-ad-kicker) { color: #dec894; }
body:not(.home) main :is(.gc-btn, .gsw-btn, .gcs-btn, .guardian-ad-actions a) { border-radius: 2px; min-height: 50px; font-size: .86rem; font-weight: 700; }
body:not(.home) main :is(.gc-btn, .gsw-btn, .gcs-btn, .guardian-ad-actions__estimate) { background: #d5c196; color: #102c29; }
body:not(.home) main :is(.gc-btn--outline, .gsw-btn--outline, .gcs-btn--outline, .guardian-ad-actions__call) { background: transparent; color: #fff; border: 1px solid #b0bba5; }
body:not(.home) main :is(.gc-card, .gsw-card, .gcs-story article, .guardian-ad-problem, .guardian-ad-step) { border: 1px solid #d6d8ca; border-radius: 1px; box-shadow: none; background: #fcfaf5; }
body:not(.home) main :is(.gc-checklist, .gsw-note, .gcs-list) { border-left-width: 2px; border-color: #bda16b; border-radius: 0; box-shadow: none; }
body:not(.home) main :is(.gc-card-num, .gsw-num, .gcs-num) { border-radius: 1px; background: #e9dfc6; color: #102c29; font-family: Georgia, serif; font-weight: 400; }
body:not(.home) main :is(.gc-trust, .guardian-ad-trust) span { border: 0; border-left: 1px solid #9ca987; border-radius: 0; padding: .2rem 0 .2rem .75rem; background: transparent; }
body:not(.home) main :is(.gc-proof figure, .gsw-photo-grid figure, .gcs-proof figure, .guardian-ad-proof-card, .guardian-ad-process-card) { border: 1px solid #79876b; border-radius: 1px; background: #173b33; box-shadow: none; }
body:not(.home) main :is(.gcs-label, .guardian-ad-proof-label) { border-radius: 1px; background: #102c29; border-color: #9ca987; color: #e9d7aa; box-shadow: none; }
body:not(.home) main :is(.gc-cta, .gsw-cta, .gcs-cta) { background: #e8e1cd; color: #102c29; border-top: 1px solid #c8c6ad; }
body:not(.home) main :is(.gc-cta, .gsw-cta, .gcs-cta) :is(.gc-btn, .gsw-btn, .gcs-btn) { background: #102c29; color: #fff; }

body:not(.home) main .gp3-section { --gp3-gold: #bda16b; --gp3-dark: #102c29; --gp3-cream: #f5f2ea; --gp3-muted: #56645e; color: #1d302b; }
body:not(.home) main .gp3-section--dark { color: #e4e9de; }
body:not(.home) main .gp3-section--gold { background: #e8e1cd; color: #102c29; }
body:not(.home) main .gp3-section--dark :is(.gp3-eyebrow, .gp3-step) { color: #dec894 !important; }
body:not(.home) main :is(.gp3-problem-grid a, .gp3-compare article, .gp3-card-grid article) { border: 1px solid #d6d8ca; border-radius: 1px; box-shadow: none; background: #fcfaf5; }
body:not(.home) main .gp3-problem-grid a:hover { transform: none; border-color: #6a805c; background: #f5f2ea; box-shadow: none; }
body:not(.home) main .gp3-problem-icon { border-radius: 1px; color: #102c29; background: #e8dfc6; }
body:not(.home) main .gp3-proof-card { border-radius: 1px; background: #173b33; border-color: #7d8a6f; box-shadow: none; }
body:not(.home) main .gp3-proof-card--light { background: #fcfaf5; }
body:not(.home) main .gp3-step { color: #76603a !important; font-weight: 700; }
body:not(.home) main .gp3-button { background: #102c29; border: 1px solid #102c29; border-radius: 2px; font-size: .86rem; font-weight: 700; }
body:not(.home) main .gp3-button--outline { background: transparent; color: #102c29 !important; }
body:not(.home) main .gp3-section--dark .gp3-button { background: #d5c196; border-color: #d5c196; color: #102c29 !important; }
body:not(.home) main .gp3-section--dark .gp3-button--outline { background: transparent; color: #fff !important; border-color: #b0bba5; }
body:not(.home) main .gp3-numbered li::before { border-radius: 1px; background: #e8dfc6; color: #102c29; }
body:not(.home) main :is(.gp3-disclosure, .gp3-benefit-list article, .gp3-local-copy dl div) { border-left-width: 2px; }

/* Forms: preserve labels, required states, honeypots, conditional panels and errors. */
body:not(.home) main :is(.gc-form, .gsw-form, .guardian-ad-form-card, .gp3-form-card) { background: #fcfaf5; color: #1d302b; border: 1px solid #c4c9b6; border-top: 2px solid #bda16b; border-radius: 1px; box-shadow: none; }
body:not(.home) main :is(.gc-hero, .gsw-hero) :is(.gc-form, .gsw-form) :is(.gc-eyebrow, .gsw-eyebrow) { color: #76603a; }
body.page-id-19 main .guardian-hero { padding: clamp(44px, 6vw, 76px) max(18px, 3vw) !important; }
body.page-id-19 main .guardian-estimate-intro { max-width: 54rem; }
body.page-id-19 main .guardian-estimate-intro h1 { max-width: 14ch; font-size: clamp(2.8rem, 5.5vw, 4.8rem); }
body.page-id-19 main .guardian-section--cream > .alignwide { max-width: 1000px; }
body.page-id-19 main .guardian-section--cream { background: var(--gp-paper); }
body:not(.home) main .guardian-estimate-form fieldset,
body:not(.home) main #guardian-commercial-details { background: #f8f6ef; border: 1px solid #bdc6af; border-radius: 1px; padding: clamp(16px, 2vw, 24px); margin-bottom: 1.5rem; }
body:not(.home) main .guardian-estimate-form legend,
body:not(.home) main #guardian-commercial-details legend { color: #102c29; font-family: Georgia, serif; font-size: 1.25rem; font-weight: 400; letter-spacing: -.02em; }
body:not(.home) main .guardian-estimate-form label { color: #263c30; font-size: .86rem; font-weight: 600; line-height: 1.5; }
body:not(.home) main .guardian-estimate-form input:not([type="hidden"]):not([type="checkbox"]),
body:not(.home) main .guardian-estimate-form select,
body:not(.home) main .guardian-estimate-form textarea,
body:not(.home) main #guardian-commercial-details :is(input, select) { border: 1px solid #84957d; border-radius: 1px; background: #fffefb; color: #102c29; padding: .85rem .9rem; min-height: 50px; font-size: 1rem; box-shadow: none; }
body:not(.home) main .guardian-estimate-form :is(input, select, textarea):focus-visible { outline-color: #285448 !important; border-color: #285448; }
body:not(.home) main .guardian-estimate-form input[type="checkbox"] { accent-color: #285448; }
body:not(.home) main .guardian-estimate-form .guardian-submit { background: #102c29; color: #fff; border: 1px solid #102c29; border-radius: 2px; min-height: 54px; font-size: .96rem; font-weight: 700; }
body:not(.home) main .guardian-estimate-form .guardian-submit:hover { background: #285448; }
body:not(.home) main .guardian-estimate-form .guardian-submit:disabled { opacity: .65; cursor: wait; }
body:not(.home) main .guardian-estimate-form .guardian-form-reassurance { background: #eeeddf; border-radius: 0; color: #40533f; }
body:not(.home) main .guardian-form-stage { border-color: #c3c9b3; }
body:not(.home) main .guardian-form-stage span { border-radius: 1px; background: #e8dfc6; color: #102c29; font-family: Georgia, serif; font-weight: 400; }
body:not(.home) main .guardian-photo-assessment { border-radius: 1px; border-color: #b8c1aa; background: #fcfaf5; }
body:not(.home) main .guardian-next-steps li { padding-left: .4rem; }
body:not(.home) main .guardian-next-steps li::marker { font-family: Georgia, serif; color: #76603a; }

@media (max-width: 1100px) {
  body .guardian-header__inner { gap: 1.2rem; }
  body .guardian-brand a { font-size: 1.3rem; }
  body .guardian-nav .wp-block-navigation__container { gap: 1.1rem; }
}
@media (max-width: 900px) {
  body .guardian-header__inner { min-height: 76px; gap: .6rem; padding-block: 11px; }
  body .guardian-brand { max-width: 9.7rem; }
  body .guardian-brand a { font-size: 1.25rem; max-width: 9.7rem; }
  body .guardian-header__cta .wp-block-button__link { min-height: 44px; font-size: .75rem; padding: .75rem .9rem; }
  body .guardian-nav .wp-block-navigation__responsive-container.is-menu-open { background: #fcfaf5 !important; color: #102c29 !important; padding: 1.5rem; }
  body .guardian-nav .wp-block-navigation__responsive-container.is-menu-open :is(.wp-block-navigation-item__content, .wp-block-navigation__responsive-container-close, .wp-block-navigation-submenu__toggle) { color: #102c29 !important; }
  body .guardian-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1rem; min-height: 44px; display: flex; align-items: center; }
  body .guardian-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border-left: 1px solid #c2c9b3; border-radius: 0; }
  body:not(.home) main .guardian-hero__grid { gap: 2.2rem; }
  body .guardian-footer .wp-block-columns { gap: 2.5rem; }
}
@media (max-width: 600px) {
  body .guardian-topbar { font-size: .7rem; }
  body .guardian-header__inner { padding-inline: 16px; }
  body .guardian-brand { max-width: 8rem; }
  body .guardian-brand a { max-width: 8rem; font-size: 1.12rem; }
  body .guardian-header__cta .wp-block-button__link { padding-inline: .72rem; font-size: .72rem; }
  body:not(.home) main .guardian-hero h1 { font-size: clamp(2.5rem, 10.7vw, 3.45rem) !important; line-height: 1.06; }
  body:not(.home) main .guardian-hero { padding-top: 44px !important; padding-bottom: 44px !important; }
  body:not(.home) main :is(.guardian-section, .guardian-cta) { padding-block: 52px; }
  body:not(.home) main .guardian-card { padding: 25px; }
  body:not(.home) main .guardian-hero__proof { gap: .65rem 1rem; }
  body:not(.home) .guardian-work-gallery .gw-hero h1 { font-size: clamp(2.5rem, 10.5vw, 3.3rem); }
  body:not(.home) .guardian-work-gallery .gw-nav__links { gap: .5rem 1.15rem; }
  body:not(.home) .guardian-work-gallery .gw-nav a { font-size: .78rem; }
  body .guardian-footer { padding-bottom: 42px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  body :is(.guardian-header, .guardian-footer, .guardian-nav, .guardian-mobile-actions) *,
  body:not(.home) main * { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* Guardian's architectural homepage. All content remains semantic and readable without scripts. */
.gp-premium-home{--gp-ink:#102c29;--gp-paper:#f5f2ea;--gp-brass:#bda16b;--gp-line:#d8d9cf;--gp-muted:#53625a;color:var(--gp-ink);background:var(--gp-paper);font-family:Arial,Helvetica,sans-serif;line-height:1.7;overflow:clip}
.gp-premium-home *{box-sizing:border-box}.gp-premium-home h1,.gp-premium-home h2,.gp-premium-home h3,.gp-premium-home p,.gp-premium-home figure{margin:0}.gp-premium-home h1,.gp-premium-home h2,.gp-premium-home h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.045em;text-wrap:balance}.gp-premium-home h2{font-size:clamp(2.5rem,4.3vw,4.5rem);line-height:1.07;color:var(--gp-ink)}.gp-premium-home h2 em,.gp-premium-home h1 em{font-weight:400;color:inherit}.gp-premium-home img{display:block;max-width:100%;height:auto}.gp-premium-home a{color:inherit}.gp-premium-home a:focus-visible,.gp-premium-home summary:focus-visible{outline:3px solid #927439;outline-offset:6px}.gp-premium-home .gp-kicker{display:flex;align-items:center;gap:12px;margin-bottom:25px;font-size:.69rem;font-weight:700;line-height:1.6;letter-spacing:.16em;text-transform:uppercase;color:#6c592f}.gp-line{display:block;width:32px;height:1px;background:currentColor;flex:none}.gp-section{padding:100px max(28px,calc((100vw - 1264px)/2))}.gp-section-heading{display:grid;grid-template-columns:1.3fr 1fr;gap:80px;align-items:end;margin-bottom:54px}.gp-section-heading>p,.gp-section-heading>div>p:not(.gp-kicker){color:var(--gp-muted);max-width:450px;font-size:1rem}.gp-section-heading .gp-link{margin-top:22px}.gp-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.gp-premium-home .gp-button{display:inline-flex;align-items:center;justify-content:space-between;gap:28px;min-height:56px;padding:16px 23px;font-size:.8rem;line-height:1.4;font-weight:700;text-decoration:none;letter-spacing:.01em;border:1px solid transparent;border-radius:2px;transition:background .2s,transform .2s}.gp-button span{font-size:1.35rem;font-weight:400}.gp-premium-home .gp-button-brass{background:#ccb27c;color:#102c29}.gp-premium-home .gp-button-green{background:#102c29;color:#fff}.gp-premium-home .gp-button:hover{transform:translateY(-2px)}.gp-premium-home .gp-button-brass:hover{background:#dfc896}.gp-premium-home .gp-button-green:hover{background:#244b42}.gp-premium-home .gp-link{display:inline-flex;gap:18px;align-items:center;min-height:44px;border-bottom:1px solid #89938a;font-size:.82rem;font-weight:700;text-decoration:none}.gp-link span{font-size:1.3rem;font-weight:400}.gp-premium-home .gp-link-light{color:#fff;border-color:#82968c}
.gp-cover{display:grid;grid-template-columns:46% 54%;min-height:650px;background:#102c29;color:#fff}.gp-cover-copy{display:flex;flex-direction:column;justify-content:center;padding:72px 44px 38px max(28px,calc((100vw - 1264px)/2));position:relative;z-index:1}.gp-cover .gp-kicker{color:#d1bb8d;font-size:.64rem}.gp-cover h1{font-size:clamp(2.8rem,4vw,4.35rem);line-height:1.05;color:#fff;letter-spacing:-.045em}.gp-cover h1 em{font-size:.81em;color:#d3bd93;display:block;margin-top:6px}.gp-cover-intro{font-size:1rem;line-height:1.8;color:#dde3dc;max-width:460px;padding:27px 0 30px}.gp-cover .gp-actions{gap:19px}.gp-cover .gp-link{font-size:.78rem}.gp-cover-foot{border-top:1px solid #486159;margin-top:46px;padding-top:22px;display:flex;flex-wrap:wrap;gap:4px 24px;font-size:.65rem;color:#c5d0c7;letter-spacing:.03em}.gp-cover-visual{position:relative;min-width:0;overflow:hidden;background:#b4aa8c;isolation:isolate}.gp-after-crop{height:100%;min-height:650px;overflow:hidden;position:relative}.gp-after-crop img{position:absolute;width:100%;height:200%;max-width:none;object-fit:cover;object-position:50% 100%;bottom:0}.gp-cover-visual:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(180deg,transparent 50%,rgba(9,27,23,.68))}.gp-cover-visual figcaption{position:absolute;left:40px;right:40px;bottom:38px;z-index:2;display:flex;align-items:center;gap:22px;font-size:.72rem;line-height:1.6;color:#fff}.gp-photo-number{font-family:Georgia,serif;font-size:2.6rem;font-style:italic;color:#e3d3ac}.gp-cover-visual strong{font-family:Georgia,serif;font-size:1.5rem;font-weight:400}.gp-cover-visual figcaption a{display:grid;place-items:center;width:48px;height:48px;border:1px solid #e5e3d0;border-radius:50%;text-decoration:none;margin-left:auto;font-size:1.6rem}.gp-photo-note{position:absolute;right:30px;top:28px;z-index:1;font-size:.62rem;letter-spacing:.2em;color:#fff;background:rgba(16,44,41,.78);padding:10px 14px}.gp-assurance{display:grid;grid-template-columns:repeat(4,1fr);border-bottom:1px solid var(--gp-line);padding:28px max(28px,calc((100vw - 1264px)/2));gap:18px;background:#eeebe1;font-size:.74rem;color:#314b40}.gp-assurance span{display:flex;gap:11px;align-items:center}.gp-assurance i{font-style:normal;font-size:1.2rem;color:#806838}
.gp-service-grid{display:grid;grid-template-columns:repeat(3,1fr);border:1px solid #cccec1}.gp-premium-home .gp-service-card{padding:32px 34px 25px;display:flex;flex-direction:column;text-decoration:none;border-right:1px solid #cccec1;transition:background .2s;background:#f9f7f0}.gp-service-card:last-child{border-right:0}.gp-service-card:hover{background:#e8e8db}.gp-service-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:33px;font-size:.7rem;letter-spacing:.12em;color:#6b735f}.gp-service-top svg{width:57px;height:57px;stroke:#7b663b;stroke-width:1.2;fill:none;stroke-linecap:round;stroke-linejoin:round}.gp-service-card h3{font-size:2.4rem;line-height:1.12;color:#102c29;margin-bottom:19px}.gp-service-card p{font-size:.92rem;line-height:1.8;color:#53625a;max-width:280px}.gp-card-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--gp-line);padding-top:25px;margin-top:30px;font-size:.72rem;font-weight:700}.gp-card-link b{font-size:1.5rem;font-weight:400}.gp-service-extra{display:flex;gap:12px 26px;flex-wrap:wrap;padding-top:28px;font-size:.74rem}.gp-service-extra>span{color:#627062;flex-basis:100%}.gp-service-extra a{text-underline-offset:5px}
.gp-material{display:grid;grid-template-columns:55% 45%;background:#ece7dc}.gp-material-art{position:relative;align-self:stretch;display:flex;align-items:center;background:#eee8de;overflow:hidden}.gp-material-art img{width:100%;height:100%;object-fit:cover;mix-blend-mode:multiply}.gp-material-art figcaption{position:absolute;left:32px;bottom:23px;font-size:.6rem;letter-spacing:.15em;color:#596453}.gp-material-copy{padding:82px max(28px,calc((100vw - 1264px)/2)) 72px 55px}.gp-material-copy h2{font-size:clamp(2.4rem,3.6vw,4rem);margin-bottom:30px}.gp-material-copy>p:not(.gp-kicker){font-size:.92rem;color:#53625a;margin-bottom:18px;max-width:430px}.gp-material-copy .gp-link{margin-top:7px}.gp-material-signature{display:flex;align-items:center;gap:20px;margin-top:33px;font-size:.73rem;color:#53625a;line-height:1.7}.gp-material-signature strong{font-weight:400;color:#102c29}.gp-paver-mark{width:40px;height:40px;display:block;transform:rotate(-25deg);border:1px solid #958054;background:linear-gradient(90deg,transparent 48%,#958054 49%,#958054 51%,transparent 52%),linear-gradient(0deg,transparent 48%,#958054 49%,#958054 51%,transparent 52%)}
.gp-work{padding-bottom:110px}.gp-project-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px}.gp-project-image{display:block;overflow:hidden;background:#e3e1d7}.gp-project-image img{width:100%;height:auto;transition:transform .5s}.gp-project-image:hover img{transform:scale(1.015)}.gp-project-offset{padding-top:95px}.gp-project-pool{aspect-ratio:4/3}.gp-project-pool img{height:100%;object-fit:cover}.gp-project-caption{display:flex;justify-content:space-between;gap:15px;padding-top:22px}.gp-project-caption p{font-size:.62rem;letter-spacing:.13em;color:#53625a;margin-bottom:8px}.gp-project-caption h3{font-size:1.65rem;color:#102c29}.gp-project-caption>a{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:50%;border:1px solid #b3b9ab;text-decoration:none;font-size:1.5rem}.gp-project-note{display:flex;gap:22px;padding:38px 0;border-bottom:1px solid var(--gp-line);font-size:.9rem;color:#53625a}.gp-project-note>span{font-size:2rem;color:#96783f}.gp-project-note p{max-width:300px}.gp-process{background:#173832;color:#dce3da}.gp-process h2{color:#fff}.gp-process h2 em{color:#cfbb94}.gp-process .gp-kicker{color:#ccb58b}.gp-process .gp-section-heading>p{color:#c5d0c7}.gp-process-grid{display:grid;grid-template-columns:repeat(4,1fr);list-style:none;padding:0;margin:55px 0 0;counter-reset:none}.gp-process-grid li{border-top:1px solid #6a7965;padding:27px 25px 0 0;position:relative}.gp-process-grid li:before{content:"";position:absolute;width:7px;height:7px;border-radius:50%;background:#c7ac78;top:-4px;left:0}.gp-process-grid li>span{font-family:Georgia,serif;font-size:2.5rem;font-style:italic;color:#bfa77d}.gp-process-grid h3{font-size:1.7rem;color:#fff;margin:23px 0 16px}.gp-process-grid p{font-size:.87rem;color:#c5d0c7;max-width:230px}
.gp-help{display:grid;grid-template-columns:1fr 1.1fr;gap:100px;align-items:center}.gp-help h2{margin-bottom:27px}.gp-help>div>p:not(.gp-kicker){color:#53625a;max-width:390px;font-size:.94rem;margin-bottom:28px}.gp-help-links a{display:flex;justify-content:space-between;align-items:center;gap:20px;min-height:82px;border-top:1px solid #b9c0b2;font-size:1rem;text-decoration:none;padding:16px 2px;transition:padding .2s}.gp-help-links a:last-child{border-bottom:1px solid #b9c0b2}.gp-help-links a:hover{padding-left:10px}.gp-help-links b{font-size:1.5rem;font-weight:400;color:#88713e}.gp-local{position:relative;isolation:isolate;background:#173832;color:#dce3da;padding:88px max(28px,calc((100vw - 1264px)/2));overflow:hidden}.gp-local-content{position:relative;z-index:1;max-width:760px}.gp-local .gp-kicker{color:#ccb58b}.gp-local h2{color:#fff;margin-bottom:28px}.gp-local h2 em{color:#cfbb94}.gp-local-content>p:not(.gp-kicker){max-width:600px;color:#d4ded3;font-size:.95rem}.gp-local-towns{display:flex;flex-wrap:wrap;gap:12px 22px;padding:28px 0;font-size:.76rem;max-width:650px}.gp-local-towns span{padding-bottom:4px;border-bottom:1px solid #6f8171}.gp-local-content p.gp-small{font-size:.76rem;color:#afc1b1;margin-bottom:14px}.gp-local-pattern{position:absolute;right:-50px;top:-35px;width:420px;height:620px;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;transform:rotate(-27deg);opacity:.26}.gp-local-pattern span{display:block;border:1px solid #9ca384;background:rgba(125,143,107,.1)}.gp-local-pattern span:nth-child(3n){transform:translateY(40px)}
.gp-faq-section{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.gp-faq-section>div>p:not(.gp-kicker){margin-top:28px;color:#53625a;font-size:.9rem}.gp-faq details{border-bottom:1px solid #c4cabb;padding:0;background:transparent}.gp-faq details:first-child{border-top:1px solid #c4cabb}.gp-faq summary{list-style:none;padding:24px 36px 24px 0;position:relative;font-size:.97rem;font-weight:400;cursor:pointer;line-height:1.5}.gp-faq summary::-webkit-details-marker{display:none}.gp-faq summary:after{content:"+";position:absolute;right:3px;top:17px;font-size:1.8rem;font-weight:300;color:#806a3e}.gp-faq details[open] summary:after{content:"−"}.gp-faq details>p{font-size:.89rem;color:#53625a;padding:0 25px 23px 0;line-height:1.9}.gp-faq a{text-underline-offset:4px}.gp-closing{text-align:center;padding:80px 25px 95px;background:#e8e7d9;border-top:1px solid #d3d7c5}.gp-closing .gp-kicker{justify-content:center}.gp-closing h2{font-size:clamp(2.6rem,4.8vw,5.2rem)}.gp-closing>p:not(.gp-kicker){font-size:.97rem;color:#53625a;margin:28px 0}.gp-closing .gp-actions{justify-content:center}.gp-closing-note{display:block;margin-top:42px;font-size:.6rem;letter-spacing:.13em;color:#596451}
@media(min-width:1550px){.gp-cover{grid-template-columns:46% 54%}.gp-cover-copy{padding-right:65px}.gp-after-crop{min-height:740px}.gp-cover h1{font-size:4.5rem}}
@media(max-width:1100px){.gp-cover-copy{padding:55px 28px 32px}.gp-cover h1{font-size:3rem}.gp-cover-intro{font-size:.93rem}.gp-cover .gp-actions{gap:14px}.gp-cover .gp-button{font-size:.76rem;padding:15px 16px;gap:18px}.gp-cover-visual figcaption{left:26px;right:26px;bottom:28px}.gp-cover-visual strong{font-size:1.2rem}.gp-after-crop{min-height:630px}.gp-section{padding:75px 28px}.gp-section-heading{gap:40px}.gp-material-copy{padding:58px 28px 58px 35px}.gp-service-card h3{font-size:2rem}.gp-premium-home .gp-service-card{padding:28px 24px}.gp-help,.gp-faq-section{gap:50px}.gp-project-grid{gap:34px}.gp-assurance{font-size:.68rem;padding:23px 28px}}
@media(max-width:760px){.gp-cover{grid-template-columns:1fr;min-height:0}.gp-cover-copy{padding:48px 25px 30px}.gp-cover h1{font-size:clamp(2.7rem,8vw,4rem);line-height:1.04}.gp-cover h1 em{font-size:.8em}.gp-cover-intro{max-width:520px;padding:23px 0 25px}.gp-cover-foot{margin-top:30px;padding-top:18px;font-size:.62rem}.gp-cover-visual{min-height:330px}.gp-after-crop{min-height:0;height:auto;aspect-ratio:1.6}.gp-cover-visual figcaption{bottom:22px;left:25px;right:25px;gap:15px}.gp-photo-number{font-size:2rem}.gp-cover-visual strong{font-size:1.25rem}.gp-photo-note{top:16px;right:20px;font-size:.55rem}.gp-assurance{grid-template-columns:1fr 1fr;gap:16px 12px;padding:22px 25px;font-size:.68rem}.gp-section{padding:58px 25px}.gp-section-heading{grid-template-columns:1fr;gap:24px;margin-bottom:32px}.gp-premium-home h2{font-size:clamp(2.35rem,7.5vw,3.3rem)}.gp-premium-home .gp-kicker{margin-bottom:19px;font-size:.6rem}.gp-service-grid{grid-template-columns:1fr}.gp-premium-home .gp-service-card{border-right:0;border-bottom:1px solid #cccec1;padding:27px}.gp-service-card:last-child{border-bottom:0}.gp-service-top{margin-bottom:20px}.gp-service-card h3 br{display:none}.gp-service-card h3{font-size:2rem;margin-bottom:14px}.gp-service-card p{max-width:none}.gp-card-link{margin-top:25px;padding-top:20px}.gp-service-top svg{width:46px;height:46px}.gp-service-extra{gap:13px 22px;font-size:.72rem}.gp-material{grid-template-columns:1fr}.gp-material-art{min-height:280px;aspect-ratio:1.5}.gp-material-art figcaption{left:25px;bottom:17px;font-size:.5rem}.gp-material-copy{padding:48px 25px 52px}.gp-material-copy h2{margin-bottom:24px}.gp-project-grid{grid-template-columns:1fr;gap:38px}.gp-project-offset{padding-top:0}.gp-project-caption h3{font-size:1.55rem}.gp-project-image{max-height:none}.gp-project-note{padding:25px 0}.gp-process-grid{grid-template-columns:1fr 1fr;gap:35px 18px;margin-top:35px}.gp-process-grid li{padding-right:7px}.gp-process-grid li>span{font-size:2rem}.gp-process-grid h3{margin-top:14px}.gp-process-grid p{font-size:.83rem}.gp-help{grid-template-columns:1fr;gap:35px}.gp-help-links a{font-size:.92rem;min-height:75px}.gp-local{padding:57px 25px}.gp-local-pattern{right:-160px;opacity:.15}.gp-local-content>p:not(.gp-kicker){font-size:.9rem}.gp-faq-section{grid-template-columns:1fr;gap:35px}.gp-faq-section>div>p:not(.gp-kicker){margin-top:22px}.gp-faq summary{font-size:.91rem;padding:22px 33px 22px 0}.gp-closing{padding:58px 25px 64px}.gp-closing h2{font-size:clamp(2.4rem,7.5vw,3.3rem)}.gp-closing .gp-actions{gap:20px}.gp-closing-note{font-size:.51rem;line-height:1.9;margin-top:30px}.gp-premium-home .gp-button{min-height:54px}}
@media(prefers-reduced-motion:reduce){.gp-premium-home *{transition:none!important;animation:none!important;scroll-behavior:auto!important}.gp-premium-home .gp-button:hover,.gp-project-image:hover img{transform:none}}
