/* SGG Core 1.0.6 (12 Nov 2026): contrast pass. Loaded last (after global-styles and sgg-v2.css).
   Targets WCAG 4.5:1 for body text and 3:1 for large text, measured against the real pixels behind the text. */
html body.sgg{--muted:#524A3F;--leaf:#335C30;--clay:#8E3E1C}

/* header: brand state label and a near-solid bar so scrolled photos do not show through */
html body.sgg .sgg-hdr{background:rgba(247,243,234,.97)}
html body.sgg .sgg-brand-st{color:#8E3E1C}

/* photo hero: stronger shade behind every line of text */
html body.sgg .sgg-gh-shade{background:linear-gradient(180deg,rgba(18,26,15,.62) 0%,rgba(18,26,15,.56) 30%,rgba(18,26,15,.70) 60%,rgba(18,26,15,.86) 85%,rgba(18,26,15,.90) 100%),linear-gradient(90deg,rgba(18,26,15,.50),rgba(18,26,15,.08) 75%)}
html body.sgg .sgg-gh .sgg-crumbs,html body.sgg .sgg-gh .sgg-crumbs a,html body.sgg .sgg-gh-cr,html body.sgg .sgg-gh-cr a{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.75)}
html body.sgg .sgg-gh .sgg-crumbs a{border-bottom-color:rgba(255,255,255,.7)}
html body.sgg .sgg-gh-eb{background:rgba(18,24,14,.74);color:#F6E7C4}
html body.sgg .sgg-gh .sgg-sub{background:rgba(18,24,14,.66);color:#fff}
html body.sgg .sgg-gh h1{text-shadow:0 2px 18px rgba(0,0,0,.55)}
/* fading photo: the fade now finishes before the next band's text starts, so that text sits on the plain page */
html body.sgg .sgg-gh{background:linear-gradient(180deg,#22331F 0,#22331F calc(100% - 200px),rgba(34,51,31,0) calc(100% - 64px))}
html body.sgg .sgg-gh-img,html body.sgg .sgg-gh-shade{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 200px),transparent calc(100% - 64px));mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 200px),transparent calc(100% - 64px))}
html body.sgg .sgg-gh-in{padding-bottom:calc(clamp(28px,4vw,52px) + 200px)}
@media(max-width:700px){
 html body.sgg .sgg-gh{background:linear-gradient(180deg,#22331F 0,#22331F calc(100% - 130px),rgba(34,51,31,0) calc(100% - 44px))}
 html body.sgg .sgg-gh-img,html body.sgg .sgg-gh-shade{-webkit-mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 130px),transparent calc(100% - 44px));mask-image:linear-gradient(180deg,#000 0,#000 calc(100% - 130px),transparent calc(100% - 44px))}
 html body.sgg .sgg-gh-in{padding-bottom:calc(28px + 130px)}
}

/* old slim title band (pages built before the photo hero): light text on the dark band */
html body.sgg .sgg-slim,html body.sgg .sgg-slim h1,html body.sgg .sgg-slim .sgg-sub,html body.sgg .sgg-slim .sgg-crumbs,html body.sgg .sgg-slim .sgg-crumbs a{color:#fff}
html body.sgg .sgg-slim .sgg-crumbs,html body.sgg .sgg-slim .sgg-sub{color:#EFE9DA}
/* home hero (sgg-hero with a background photo) */
html body.sgg .sgg-hero h1,html body.sgg .sgg-hero .sgg-sub,html body.sgg .sgg-hero .sgg-eyebrow{color:#fff;text-shadow:0 1px 4px rgba(0,0,0,.6)}
html body.sgg .sgg-hero .sgg-credit,html body.sgg .sgg-hero .sgg-credit a{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8)}

/* gear link row, captions, credits, small print */
html body.sgg .sgg-gearrow a{color:#2F4A2A!important}
html body.sgg .sgg-fig figcaption,html body.sgg .sgg-strip-f figcaption,html body.sgg .sgg-pagecred,html body.sgg .sgg-src,html body.sgg .sgg-card .sgg-meta,html body.sgg .sgg-band .sgg-intro,html body.sgg .sgg-crumbs{color:var(--muted)}
html body.sgg .sgg-pagecred a,html body.sgg .sgg-src a{color:#3E372D}
html body.sgg .sgg-cols li .sgg-soon{color:var(--soil2);font-weight:600}
html body.sgg .sgg-plantlist li span{color:var(--muted)}

/* photo tiles: darker scrim under the label */
html body.sgg .sgg-page .sgg-ct::after{background:linear-gradient(180deg,rgba(18,24,14,.10) 0%,rgba(18,24,14,.45) 38%,rgba(18,24,14,.82) 68%,rgba(18,24,14,.94) 100%)}
html body.sgg .sgg-ct-t b,html body.sgg .sgg-ct-t small,html body.sgg .sgg-ct-t a,html body.sgg .sgg-ct-t .sgg-soon{color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.7)}

/* dark bands: lighter secondary text */
html body.sgg .sgg-band.g-deep .sgg-fact span,html body.sgg .sgg-band.g-deep .sgg-cols li span,html body.sgg .sgg-band.g-deep .sgg-src{color:#DDD5C0}
html body.sgg .sgg-band.g-deep .sgg-intro{color:#E6DFCC}

/* hover and focus keep their contrast and are visible */
html body.sgg .sgg-cols li a.n:hover{color:#8E3E1C}
html body.sgg .sgg-btn:hover{background:#7A3418}
html body.sgg a:focus-visible,html body.sgg button:focus-visible,html body.sgg summary:focus-visible,html body.sgg select:focus-visible,html body.sgg input:focus-visible{outline:3px solid #2F4A2A;outline-offset:2px;border-radius:4px}
html body.sgg .sgg-gh a:focus-visible,html body.sgg .sgg-ftr a:focus-visible,html body.sgg .g-deep a:focus-visible,html body.sgg .sgg-ct a:focus-visible,html body.sgg .sgg-slim a:focus-visible{outline-color:#F3D9A4}

/* 1.0.7 (12 Nov 2026): the open phone menu sat 16px past the right edge (nav left/right -16px), which let the page scroll sideways while it was open */
@media(max-width:1060px){html body.sgg .sgg-nav{left:0;right:0}}
