/* State Gardening readability pass (13 Nov 2026, Duncan's feedback 12 Nov 7:02pm).
   Loaded last (after the Site Editor garden CSS, sgg-v2.css and sgg-contrast.css).
   Type scale: body 18px desktop / 17px phone, line-height 1.7; small text 15-15.5px (nothing visible under 15px);
   h3 22-24px, h2 32-44px, h1 40-64px. Reading width about 70 characters (61ch). Tighter, even section rhythm. */
html body.sgg{--rd:61ch;--fs:18px;--fs-sm:15.5px;--fs-xs:15px;--lh:1.7;--gap-band:clamp(26px,3vw,44px)}
@media(max-width:700px){html body.sgg{--fs:17px;--fs-sm:15px;--fs-xs:15px;--lh:1.68;--gap-band:24px}}

/* base text */
html body.sgg .sgg-page,html body.sgg .sgg-page p,html body.sgg .sgg-page li,html body.sgg .sgg-page dd,html body.sgg .sgg-page dt{font-size:var(--fs);line-height:var(--lh)}
html body.sgg .sgg-band p,html body.sgg .sgg-band .sgg-intro,html body.sgg .sgg-faq p,html body.sgg .sgg-band ul.sgg-list,html body.sgg .sgg-band ol,html body.sgg .sgg-srclist,html body.sgg .sgg-src,html body.sgg .sgg-today{max-width:var(--rd)}
html body.sgg .sgg-pagecred{max-width:96ch}
html body.sgg .sgg-band .sgg-intro{font-size:calc(var(--fs) + 1px);line-height:1.65;margin-bottom:22px}
html body.sgg .sgg-band ul.sgg-list li{margin-bottom:6px}

/* headings in proportion */
html body.sgg .sgg-gh h1,html body.sgg .sgg-page h1{font-size:clamp(38px,4.6vw,64px);line-height:1.06}
html body.sgg .sgg-band h2,html body.sgg .sgg-page h2{font-size:clamp(30px,3.1vw,44px);line-height:1.12;margin:0 0 14px;max-width:24ch}
html body.sgg .sgg-band h3,html body.sgg .sgg-page h3,html body.sgg .sgg-card h3{font-size:clamp(21px,1.7vw,24px);line-height:1.25}
html body.sgg .sgg-faq h3,html body.sgg .sgg-faq summary{font-size:clamp(19px,1.5vw,21px);line-height:1.35}
html body.sgg .sgg-gh .sgg-sub{font-size:clamp(17.5px,1.4vw,20px);line-height:1.6;max-width:62ch}

/* small text: never under 15px */
html body.sgg .sgg-gh-cr,html body.sgg .sgg-pagecred,html body.sgg .sgg-strip-f figcaption,html body.sgg .sgg-fig figcaption,
html body.sgg .sgg-src,html body.sgg .sgg-src a,html body.sgg .sgg-crumbs,html body.sgg .sgg-crumbs a,html body.sgg .sgg-card .sgg-meta,html body.sgg .sgg-card .sgg-meta a,
html body.sgg .sgg-ftr-base,html body.sgg .sgg-ftr-base a,html body.sgg .sgg-pick-l,html body.sgg .sgg-fact span,html body.sgg .sgg-gearrow,html body.sgg .sgg-gearrow span,html body.sgg .sgg-gearrow a{font-size:var(--fs-sm);line-height:1.55}
html body.sgg .sgg-pagecred{line-height:1.6}
html body.sgg .sgg-tag,html body.sgg .sgg-gh-eb,html body.sgg .sgg-ftr-h,html body.sgg .sgg-brand-st{font-size:var(--fs-xs);letter-spacing:.06em}
html body.sgg .sgg-brand-st{line-height:1.1}
html body.sgg .sgg-nav a,html body.sgg .sgg-states summary,html body.sgg .sgg-states-menu a{font-size:16px}
html body.sgg .sgg-ftr-col a,html body.sgg .sgg-ftr-about{font-size:16.5px;line-height:1.65}

/* gear link row (inline styles in the content) */
html body.sgg .sgg-gearrow span,html body.sgg .sgg-gearrow a{font-size:var(--fs-sm)!important}

/* tables and widgets */
html body.sgg .sgg-page td,html body.sgg .sgg-page td a,html body.sgg .sgg-page td span{font-size:16.5px;line-height:1.6}
html body.sgg .sgg-page th{font-size:var(--fs-xs);line-height:1.4}
html body.sgg .sgg-page td:before{font-size:var(--fs-xs)!important}
html body.sgg .sgg-page select,html body.sgg .sgg-page input,html body.sgg .sgg-page button,html body.sgg .sgg-btn{font-size:16.5px}
html body.sgg .sgg-fact b{line-height:1.15}
html body.sgg .sgg-today,html body.sgg .sgg-today b{font-size:calc(var(--fs) + 1px)}

/* section rhythm: less empty space between bands and around the photo strip */
html body.sgg .sgg-band{padding:var(--gap-band) 0}
html body.sgg .sgg-band.g-deep{margin-top:clamp(8px,1.4vw,18px);margin-bottom:clamp(8px,1.4vw,18px)}
html body.sgg .sgg-strip{padding:clamp(4px,1vw,12px) 0 clamp(10px,1.6vw,22px)}
html body.sgg .sgg-strip-in{grid-template-columns:1.35fr 1fr .9fr;align-items:center}
html body.sgg .sgg-strip-0 img{aspect-ratio:16/10}
html body.sgg .sgg-strip-1 img{aspect-ratio:1/1;margin-top:0}
html body.sgg .sgg-strip-2 img{aspect-ratio:1/1;margin-top:0}
html body.sgg .sgg-tiles-band{padding:var(--gap-band) 0}
html body.sgg .sgg-grid{gap:clamp(14px,1.6vw,22px)}

/* photo cards: each link card carries its own photo behind a dark scrim (text stays AA) */
html body.sgg .sgg-card.has-ph{position:relative;isolation:isolate;overflow:hidden;border-radius:22px;padding:22px 22px 20px;min-height:clamp(170px,15vw,210px);display:flex;flex-direction:column;justify-content:flex-end;background:#22331F;box-shadow:0 14px 30px rgba(43,38,32,.12)}
html body.sgg .sgg-card.has-ph::before{display:none}
html body.sgg .sgg-card.has-ph::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(18,26,16,.42) 0%,rgba(18,26,16,.74) 52%,rgba(18,26,16,.9) 100%);transition:background .25s}
html body.sgg .sgg-card.has-ph .sgg-card-ph{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;transition:transform .4s}
html body.sgg .sgg-card.has-ph h3{margin:0 0 6px;color:#fff}
html body.sgg .sgg-card.has-ph h3 a{color:#fff;background-image:linear-gradient(#C9DBB4,#C9DBB4);text-shadow:0 1px 10px rgba(0,0,0,.45)}
html body.sgg .sgg-card.has-ph h3 a::before{content:"";position:absolute;inset:0;z-index:1}
html body.sgg .sgg-card.has-ph p,html body.sgg .sgg-card.has-ph .sgg-meta{color:#F3EFE4;margin:0;font-size:var(--fs-sm);line-height:1.55;text-shadow:0 1px 8px rgba(0,0,0,.45)}
html body.sgg .sgg-card.has-ph:hover .sgg-card-ph{transform:scale(1.04)}
html body.sgg .sgg-card.has-ph:hover::after{background:linear-gradient(180deg,rgba(18,26,16,.5) 0%,rgba(18,26,16,.8) 52%,rgba(18,26,16,.92) 100%)}
html body.sgg .sgg-card.has-ph:focus-within{outline:3px solid #335C30;outline-offset:3px}
html body.sgg .sgg-card.has-ph h3 a:focus-visible{outline:none}
@media(prefers-reduced-motion:reduce){html body.sgg .sgg-card.has-ph .sgg-card-ph{transition:none}html body.sgg .sgg-card.has-ph:hover .sgg-card-ph{transform:none}}

/* text-only cards become soft panels so blocks do not float in empty space */
html body.sgg .sgg-card.is-soft{background:rgba(255,252,246,.86);border:1px solid #E3D8C2;border-radius:20px;padding:20px 22px 18px;box-shadow:0 8px 22px rgba(43,38,32,.05)}
html body.sgg .sgg-card.is-soft::before{display:none}
html body.sgg .sgg-card.is-soft h3{margin:0 0 6px}
html body.sgg .sgg-card.is-soft p{margin:0;font-size:16.5px;line-height:1.62}
html body.sgg .sgg-band.g-deep .sgg-card.is-soft{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.14)}
html body.sgg .sgg-card p{font-size:16.5px}

@media(max-width:700px){
 html body.sgg .sgg-card.has-ph{min-height:150px;padding:18px 18px 16px}
 html body.sgg .sgg-card.is-soft{padding:18px 18px 16px}
 html body.sgg .sgg-strip-in{grid-template-columns:1fr 1fr}
 html body.sgg .sgg-strip-0{grid-column:1/-1}
 html body.sgg .sgg-facts{grid-template-columns:1fr 1fr;gap:18px 16px}
 html body.sgg .sgg-fact b{font-size:24px}
}
