/* Use the established website blue for the public surround and reading panels. */
:root{--g2g-page-blue:#244b65;--g2g-reading-text:#f4f1e9;--g2g-reading-link:#f2d596}
body:has(.g2g-header){background:var(--g2g-page-blue)!important}
body:has(.g2g-header) main{background:var(--g2g-page-blue);color:var(--g2g-reading-text)}
body:has(.g2g-header) main>h1,body:has(.g2g-header) main>h2,body:has(.g2g-header) main>p,.blog-intro,.blog-intro h1,.blog-intro p,.blog-shell>p,.story-text,.story-meta{color:#f4f1e9}
body:has(.g2g-header) .eyebrow{color:#e4c68c}
body:has(.g2g-header) main>.wrap:not(.dark){background:#f4f1e9;color:#183043;border-radius:14px}
body:has(.g2g-header) main>.wrap:not(.dark) .eyebrow{color:#79581d}
body:has(.g2g-header) .planner-overview.wrap{background:#244b65;color:#f4f1e9;border-radius:0}

/* About-service panels must pair their pale text with an explicit blue surface. */
body:has(.g2g-header) .info-panel{background:var(--g2g-page-blue);color:var(--g2g-reading-text);border-color:#dab87988}
body:has(.g2g-header) .info-panel :is(h2,h3,p,li){color:var(--g2g-reading-text)}
body:has(.g2g-header) .info-panel a:not(.btn){color:var(--g2g-reading-link);text-underline-offset:3px}
body:has(.g2g-header) .read-more-note a{color:var(--g2g-reading-link)}
body:has(.g2g-header) .personal-story :is(h1,h2,h3,p,figcaption){color:var(--g2g-reading-text)}
body:has(.g2g-header) .personal-story a:not(.btn){color:var(--g2g-reading-link)}
body:has(.g2g-header) .personal-story .story-signature{color:var(--g2g-reading-link)!important}

/* News cards, music polls and their replies share the same readable palette. */
body:has(.g2g-header) .blog-shell :is(.story-card,.music-poll,.real-comments,.poll-history,.heroes-news-link,.card){background:var(--g2g-page-blue);color:var(--g2g-reading-text)}
body:has(.g2g-header) .blog-shell :is(.story-card,.music-poll,.real-comments,.poll-history,.heroes-news-link,.card) :is(h2,h3,p,li,legend,label){color:var(--g2g-reading-text)}
body:has(.g2g-header) .blog-shell :is(.story-meta,.poll-byline,.poll-bottom small,.reader-comment small,.blog-intro-note){color:var(--g2g-reading-text)}
body:has(.g2g-header) .blog-shell :is(.story-card,.music-poll,.real-comments,.poll-history,.heroes-news-link,.card) a:not(.btn),body:has(.g2g-header) .blog-shell .poll-bottom button{color:var(--g2g-reading-link)}
body:has(.g2g-header) .blog-shell .story-read{color:var(--g2g-reading-link)!important}
body:has(.g2g-header) .blog-shell :is(.eyebrow,.poll-dj-brand strong){color:var(--g2g-reading-link)}
body:has(.g2g-header) .blog-shell .poll-choice{background:#0b2032;color:var(--g2g-reading-text);border-color:#a6bbc9}
body:has(.g2g-header) .blog-shell .poll-choice.selected{background:#326381;border-color:var(--g2g-reading-link)}
body:has(.g2g-header) .blog-shell .poll-choice input{accent-color:var(--g2g-reading-link)}
body:has(.g2g-header) .blog-shell .secondary{color:var(--g2g-reading-text);border-color:var(--g2g-reading-link)}
body:has(.g2g-header) .blog-shell .story-photos figcaption{background:var(--g2g-page-blue);color:var(--g2g-reading-text)}
body:has(.g2g-header) :is(.info-panel,.blog-shell) :is(a,button,summary,input,textarea):focus-visible{outline-color:var(--g2g-reading-link)}

/* Existing light form and utility surfaces keep their own dark foreground. */
body:has(.g2g-header) main:not(.blog-shell):not(.rumpels-page) :is(.card,.form,.quote,.form-activation,.community-links,.community-video,.additional-service-choice,.gutter-large-card){color:#183043}
body:has(.g2g-header) main:not(.blog-shell):not(.rumpels-page) :is(.card,.form,.quote,.community-links,.community-video) .eyebrow{color:#79581d}
body:has(.g2g-header) main>.note{color:var(--g2g-reading-text)}
body:has(.g2g-header) main>.small{color:var(--g2g-reading-text)}
body:has(.g2g-header) main>a:not(.btn):not(.button){color:var(--g2g-reading-link)}

/* Community features and gallery notes use the website's established blue. */
body:has(.g2g-header) :is(.heroes-person,.heroes-quote,.heroes-services li,.heroes-tile,.smith-honour,.album-empty,.ellie-gallery-note,.personal-story .history-source,.rumpels-page .prize){background:var(--g2g-page-blue);color:var(--g2g-reading-text)}
body:has(.g2g-header) .heroes-page :is(.heroes-kicker,.heroes-tile em){color:var(--g2g-reading-link)}
body:has(.g2g-header) .smith-page :is(.smith-breadcrumb,.smith-person-position,.smith-sunset figcaption,p.smith-source,.smith-signature span){color:var(--g2g-reading-text)}
body:has(.g2g-header) .smith-page a:not(.smith-button){color:var(--g2g-reading-link)}
body:has(.g2g-header) .album-wrap .inspiration-grid figcaption{background:var(--g2g-page-blue);color:var(--g2g-reading-text)}
body:has(.g2g-header) .album-wrap .inspiration-grid :is(h3,small){color:var(--g2g-reading-text)}
body:has(.g2g-header) .ellies-secret a,body:has(.g2g-header) .rumpels-page .prize .eyebrow{color:var(--g2g-reading-link)}
body:has(.g2g-header) .coverage .leaflet-container{color:#183043}
body:has(.g2g-header) .coverage .leaflet-control-attribution a{color:#143e60}
body:has(.g2g-header) .coverage .leaflet-control-zoom a{color:#183043}

/* Reusable surfaces for future pages: always set background and text together. */
body:has(.g2g-header) main [data-reading-surface="blue"]{--reading-background:var(--g2g-page-blue);--reading-foreground:var(--g2g-reading-text);--reading-accent:var(--g2g-reading-link)}
body:has(.g2g-header) main [data-reading-surface="paper"]{--reading-background:#fffdf7;--reading-foreground:#183043;--reading-accent:#79581d}
body:has(.g2g-header) main [data-reading-surface]{background:var(--reading-background);color:var(--reading-foreground)}
body:has(.g2g-header) main [data-reading-surface] :is(h1,h2,h3,h4,p,li,small,figcaption,label,legend){color:var(--reading-foreground)}
body:has(.g2g-header) main [data-reading-surface] :is(.eyebrow,a:not(.btn):not(.button)){color:var(--reading-accent)}
body:has(.g2g-header) main [data-reading-surface] :is(a,button,input,textarea,summary):focus-visible{outline-color:var(--reading-accent)}

/* Softer photographic presentation across public stories and galleries. */
main figure:not(.friend-portrait):not(.family-memory) img:not([src*="logo"]):not([src*="icon"]):not([src$=".svg"]),main .story-photos img,main .gallery-grid img{border-radius:28px 12px 28px 12px;box-shadow:0 10px 28px #071a2d26}
main figure{border-radius:30px 14px 30px 14px}
@media(max-width:600px){main figure img,main .story-photos img,main .gallery-grid img{border-radius:20px 10px 20px 10px}}

/* Preserve full photographic content and explicit brand colours. */
.g2g-vacuum-photo{max-width:800px;margin:24px auto;border:2px solid #dab879;overflow:hidden;border-radius:8px}.g2g-vacuum-photo figcaption{padding:18px;text-align:center;background:#244b65;color:#f4f1e9}.g2g-vacuum-photo figcaption strong{font:700 clamp(24px,4vw,38px) Georgia,serif;color:#f2d596}.soft-wash-examples{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}.soft-wash-examples figure{margin:0}.soft-wash-examples img{display:block;width:100%;height:auto;object-fit:contain}.soft-wash-examples figcaption{padding:16px;background:#244b65;color:#f4f1e9}@media(max-width:650px){.soft-wash-examples{grid-template-columns:1fr}}

/* Match anniversary card to the adjacent wordmark, without a taller box. */
.g2g-header .g2g-brand,.g2g-header .g2g-anniversary{box-sizing:border-box;height:88px;min-height:88px!important;align-self:center}.g2g-header .g2g-anniversary{padding:6px 12px!important;gap:1px 8px!important;grid-template-rows:38px 14px 14px;align-content:center}.g2g-header .g2g-anniversary>b{font-size:36px!important}.g2g-header .g2g-anniversary>span{font-size:11px!important;line-height:1.15!important}.g2g-header .g2g-anniversary small{font-size:9px!important}.g2g-header .g2g-anniversary>i{margin:0!important;font-size:11px!important;line-height:1!important;letter-spacing:3px!important}.g2g-header .g2g-anniversary>.g2g-assurance{font-size:10px;line-height:1.2}@media(max-width:700px){.g2g-header .g2g-brand,.g2g-header .g2g-anniversary{height:76px;min-height:76px!important}.g2g-header .g2g-anniversary{grid-template-rows:31px 11px 13px;padding:5px 6px!important;gap:1px 4px!important}.g2g-header .g2g-anniversary>b{font-size:30px!important}.g2g-header .g2g-anniversary>span{font-size:9px!important}.g2g-header .g2g-anniversary small{font-size:8px!important}.g2g-header .g2g-anniversary>i{font-size:10px!important}.g2g-header .g2g-anniversary>.g2g-assurance{font-size:9px;letter-spacing:0}}

.business-directory-footer{display:flex!important;flex-wrap:wrap;justify-content:center;align-items:center;gap:12px;padding:22px 18px;background:#0b2032!important;color:#fff6e5!important;border-top:1px solid #d6b577;font:600 16px/1.5 system-ui,sans-serif;text-align:center}.business-directory-footer a{color:#ffe2a3!important;min-height:44px;display:inline-flex;align-items:center;text-underline-offset:5px}.business-directory-footer a:focus-visible{outline:3px solid #ffe2a3;outline-offset:4px}

/* Keep directory destinations obvious and visible beneath every footer. */
.business-directory-footer>a{display:inline-flex!important;visibility:visible!important;justify-content:center;padding:11px 20px;border:1px solid #d6b577;border-radius:7px;background:#244b65!important;color:#fff6e5!important;font-weight:700;text-decoration:none!important}
.business-directory-footer>a:hover,.business-directory-footer>a:focus-visible{background:#365f7a!important;outline:3px solid #ffe2a3;outline-offset:3px}
.business-directory-footer>span{display:none!important}
@media(max-width:600px){.business-directory-footer{flex-direction:column;gap:10px}.business-directory-footer>a{width:100%;max-width:420px;font-size:17px}}
