/* Stephen R. Crider — shared site styles
   Inline styles carry the design; this file holds resets, link colors
   and the small-screen overrides. */

*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto}
a{color:#8a6a3f;text-decoration:none}
a:hover{opacity:.8}
h1,h2,h3{text-wrap:pretty}
:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* ---- tablet and below ---- */
@media (max-width:900px){
  [style*="grid-template-columns:340px"],
  [style*="grid-template-columns:380px"],
  [style*="grid-template-columns:300px"],
  [style*="grid-template-columns:200px 1fr auto"],
  [style*="grid-template-columns:minmax(260px,1fr)"]{
    grid-template-columns:minmax(0,1fr)!important;
    gap:36px!important;
  }
  [style*="grid-template-columns:200px 1fr auto"]{justify-items:start!important}
  [style*="min-height:640px"]{min-height:0!important}
  [style*="height:780px"]{height:auto!important;min-height:78vh!important}
  [style*="width:340px"],[style*="width:380px"]{width:100%!important;max-width:420px!important;height:auto!important;aspect-ratio:5/6}
  [style*="width:300px"][alt]{width:100%!important;max-width:360px!important}
}

/* ---- phones ---- */
@media (max-width:640px){
  [style*="minmax(min(440px,100%),1fr)"],[style*="minmax(min(400px,100%),1fr)"]{grid-template-columns:minmax(0,1fr)!important}
  [style*="grid-template-columns:150px minmax(0,1fr)"]{
    grid-template-columns:110px minmax(0,1fr)!important;
    gap:20px!important;
  }
  [style*="justify-content:space-between"][style*="border-bottom"]{gap:14px!important}
  [style*="gap:44px"][style*="border-top"]{gap:24px!important;flex-wrap:wrap!important}
  [style*="gap:36px"][style*="text-transform:uppercase"]{gap:20px!important}
  [style*="position:sticky"]{position:static!important}
  [style*="text-align:right"]{text-align:left!important}
  [style*="align-items:flex-end"][style*="justify-content:flex-end"]{align-items:flex-start!important}
  [style*="justify-content:flex-end"][style*="flex-wrap:wrap"]{justify-content:flex-start!important}
  [style*="margin-left:auto"]{margin-left:0!important}
  [style*="letter-spacing:.09em"]{letter-spacing:.05em!important}
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto!important}
}

@media print{
  [style*="position:sticky"],[style*="position:absolute"]{position:static!important}
}
