
/* Street Medicine Sacramento - restoration stylesheet
   Palette, type and rules recovered from the 2016 Avada/Fusion build. */
:root{
  --canvas:#ffffff; --tint:#f5f5f5; --plate:#eef4f3;
  --ink:#333333; --ink-strong:#3b4251; --meta:#747474;
  --accent:#55a098; --accent-dark:#478d86; --accent-hover:#4e958d; --link:#2f6f68;
  --rule:#e0dede; --rule-tint:#d3dedb;
  --sans:"Open Sans","Segoe UI",Arial,Helvetica,sans-serif;
  --shell:1200px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--canvas);color:var(--ink);font:400 16px/1.7 var(--sans)}
img{max-width:100%;height:auto;display:block}
a{color:var(--link)}
a:hover{color:var(--accent-hover)}
h1,h2,h3,h4{font-family:var(--sans);font-weight:800;color:var(--ink-strong);margin:0 0 .5em}
p{margin:0 0 1.1em}
ul{margin:0 0 1.1em;padding-left:1.15em}
li{margin:0 0 .4em}
.shell{width:min(var(--shell),100% - 48px);margin-inline:auto}

.skip{position:absolute;left:-9999px;top:0;background:#fff;color:var(--link);padding:10px 16px;z-index:20}
.skip:focus{left:0}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* archive disclosure ---------------------------------------------------- */
.archive-note{background:var(--plate);border-bottom:1px solid var(--rule-tint);
  padding:12px 0;font-size:14px;line-height:1.6;color:#2f3b3a}
.archive-note p{margin:0 0 .5em;max-width:96ch}
.archive-note p:last-child{margin-bottom:0}
.archive-note strong{color:var(--ink-strong)}
.archive-note a{color:var(--link);text-decoration:underline}
/* in the page body the colophon reads as a bordered notice on the site tint */
.archive-colophon{background:var(--plate);border:1px solid var(--rule-tint);
  border-left:3px solid var(--accent);padding:18px 20px;margin:0 0 28px;
  font-size:15px;line-height:1.65;color:#3d4746;max-width:82ch}
.archive-colophon p{margin:0 0 .9em}
.archive-colophon p:last-child{margin-bottom:0}
.archive-colophon strong{color:var(--ink-strong)}
.archive-colophon a{color:var(--link)}
/* in the footer it inherits the dark ground */
.site-footer .archive-colophon{background:none;border:0;border-top:1px solid rgba(255,255,255,.18);
  margin:32px 0 0;padding:24px 0 0;font-size:14px;color:#cfd6d5;max-width:96ch}
.site-footer .archive-colophon strong{color:#fff}
.site-footer .archive-colophon a{color:#a9d6cf}

/* utility strip --------------------------------------------------------- */
.util-strip{background:var(--accent-dark);color:#fff;font-size:13px;line-height:1.5}
.util-strip__inner{display:flex;flex-wrap:wrap;gap:6px 28px;align-items:baseline;padding:9px 0}
.util-strip p{margin:0}
.util-strip a{color:#fff;text-decoration:underline}
.util-strip__label{text-transform:uppercase;letter-spacing:.08em;font-size:11px;
  color:rgba(255,255,255,.78);margin-right:6px}
.util-strip__sep{opacity:.5;margin:0 4px}
.util-strip__affil{margin-left:auto;color:rgba(255,255,255,.9)}

/* masthead -------------------------------------------------------------- */
.masthead{background:#fff;border-bottom:1px solid var(--rule)}
.masthead__inner{display:flex;align-items:center;justify-content:space-between;
  gap:24px;min-height:84px;padding:12px 0}
.masthead__brand img{width:280px;height:auto}
.nav ul{list-style:none;display:flex;flex-wrap:wrap;gap:0 4px;margin:0;padding:0}
.nav a{display:block;padding:10px 12px;font-size:14px;font-weight:600;color:var(--ink-strong);
  text-decoration:none;border-bottom:3px solid transparent}
.nav a:hover{color:var(--accent-hover);border-bottom-color:var(--rule-tint)}
.nav .is-active a{color:var(--accent-dark);border-bottom-color:var(--accent)}
.nav__notice a{color:var(--meta);font-weight:400}

/* homepage banner ------------------------------------------------------- */
.banner{position:relative;min-height:420px;display:flex;align-items:flex-end;
  background:#2b3433;overflow:hidden}
.banner__media{position:absolute;inset:0;background-size:cover;background-position:50% 42%}
.banner__media::after{content:"";position:absolute;inset:0;background:rgba(35,46,45,.58)}
.banner__inner{position:relative;padding:56px 0 44px}
.banner h1{color:#fff;font-size:38px;line-height:1.26;max-width:36ch;margin:0;
  text-shadow:0 1px 2px rgba(0,0,0,.35)}
.banner__caption{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;
  align-items:baseline;border:1px solid var(--rule);border-top:3px solid var(--accent);
  background:#fff;padding:12px 18px;margin-top:-1px}
.banner__credit{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--meta)}
.banner__more{margin:0;font-size:14px;font-weight:700}
.banner__more a{text-decoration:none;border-bottom:2px solid var(--accent)}

/* bands ----------------------------------------------------------------- */
.band{padding:56px 0}
.band--tint{background:var(--tint);border-top:1px solid var(--rule);border-bottom:1px solid var(--rule)}
.band__title{font-size:26px;margin:0 0 28px;padding-bottom:10px;border-bottom:2px solid var(--accent)}
.section-title{font-size:24px;margin:44px 0 8px;padding-bottom:8px;border-bottom:2px solid var(--accent)}
.section-note{font-size:15px;color:var(--meta);max-width:76ch}

.overview{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:48px;align-items:start}
.overview__text h2{font-size:28px}
.overview__text p{max-width:70ch}
.plate{background:var(--plate);border:1px solid var(--rule-tint);border-top:3px solid var(--accent);
  padding:20px}
.plate h2{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-dark);
  margin:0 0 12px}
.plate dl,.facts-rail dl{margin:0}
.plate__row,.facts-rail__row{padding:9px 0;border-top:1px solid var(--rule-tint)}
.plate__row:first-child,.facts-rail__row:first-child{border-top:0}
.plate dt,.facts-rail dt{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--meta)}
.plate dd,.facts-rail dd{margin:2px 0 0;font-size:15px;color:var(--ink-strong)}

/* alternating capability rows ------------------------------------------- */
.row{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:36px;align-items:center;
  padding:28px 0;border-top:1px solid var(--rule)}
.row:first-of-type{border-top:0;padding-top:0}
.row--flip{grid-template-columns:420px minmax(0,1fr)}
.row--flip .row__text{order:2}
.row--flip .row__media{order:1}
.row__text h3{font-size:22px;letter-spacing:.02em}
.row__text p{max-width:62ch;margin-bottom:.8em}
.row__link{margin:0;font-size:13px;font-weight:700;letter-spacing:.06em}
.row__link a{text-decoration:none;border-bottom:2px solid var(--accent);padding-bottom:2px}
.row__media img{width:100%;border:1px solid var(--rule)}

/* organiser rows -------------------------------------------------------- */
.org-row{display:grid;grid-template-columns:150px minmax(0,1fr);gap:28px;padding:24px 0;
  border-top:1px solid var(--rule)}
.org-row:first-of-type{border-top:0}
.org-row__photo{width:150px;height:150px;border:1px solid var(--rule)}
.org-row__photo--none{background:var(--plate);border:1px dashed var(--rule-tint)}
.org-row__body h3{font-size:19px;margin-bottom:.2em}
.org-row__role{margin:0 0 .8em;font-size:11px;text-transform:uppercase;letter-spacing:.1em;
  color:var(--accent-dark);font-weight:700}
.org-row__body p{max-width:70ch}
.org-row--full{padding:32px 0}

/* news band ------------------------------------------------------------- */
.news-band{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:48px;align-items:start}
.news-band h2{font-size:26px;padding-bottom:10px;border-bottom:2px solid var(--accent);margin-bottom:20px}
.news-band__contact{background:#fff;border:1px solid var(--rule);padding:20px}
.news-band__contact h2{font-size:15px;text-transform:uppercase;letter-spacing:.08em;
  border-bottom-width:2px;padding-bottom:8px}
.news-band__contact h3{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--meta)}
.news-band__contact ul{font-size:15px}
.news-band__advice{font-size:13px;line-height:1.6;color:#4a5250;border-top:1px solid var(--rule);
  padding-top:12px;margin-bottom:0}

/* ledger rows + date plate (the site motif) ----------------------------- */
.ledger-row{display:grid;grid-template-columns:56px 200px minmax(0,1fr);gap:20px;
  padding:20px 0;border-top:1px solid var(--rule);align-items:start}
.ledger-row:first-of-type{border-top:0}
.ledger-row--record{grid-template-columns:56px minmax(0,1fr)}
.ledger-row--record .ledger-row__body{grid-column:auto}
.date-plate{width:56px;height:56px;background:var(--accent);color:#fff;display:flex;
  flex-direction:column;align-items:center;justify-content:center;line-height:1.05;
  text-align:center;flex:none}
.date-plate__day{font-size:22px;font-weight:800}
.date-plate__my{font-size:9px;letter-spacing:.08em;text-transform:uppercase;opacity:.95}
.date-plate--empty{background:var(--rule-tint);color:var(--meta)}
.ledger-row__thumb img{width:100%;border:1px solid var(--rule)}
.ledger-row__body h3{font-size:20px;margin-bottom:.25em;line-height:1.3}
.ledger-row__body h3 a{text-decoration:none}
.ledger-row__body h3 a:hover{text-decoration:underline}
.ledger-row__meta{margin:0 0 .6em;font-size:12px;text-transform:uppercase;letter-spacing:.06em;
  color:var(--meta)}
.ledger-row__body p{max-width:78ch;margin-bottom:0}
.ledger-row__flag{margin-top:.6em;font-size:13px;color:var(--meta);font-style:italic}

/* inner page bands ------------------------------------------------------ */
.page-band{background:#39504c center/cover no-repeat;position:relative;padding:0}
.page-band::before{content:"";position:absolute;inset:0;background:rgba(35,46,45,.62)}
.page-band__inner{position:relative;padding:42px 0}
.page-band h1{color:#fff;font-size:34px;margin:0;text-shadow:0 1px 2px rgba(0,0,0,.3)}
.page-band__sub{margin:.6em 0 0;color:#e6efed;font-size:16px;max-width:70ch}
.page-band__eyebrow{margin:0 0 .4em;font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:#bcd9d4}

.title-band{border-bottom:1px solid var(--rule);background:#fff;padding:32px 0 24px}
.title-band__inner{display:flex;gap:20px;align-items:flex-start}
.title-band h1{font-size:32px;line-height:1.25;margin:0 0 .3em}
.title-band__kicker{margin:0 0 .5em;font-size:11px;text-transform:uppercase;letter-spacing:.1em;
  color:var(--meta)}
.title-band__kicker a{color:var(--link);text-decoration:none}
.title-band__meta{margin:0;font-size:13px;color:var(--meta)}

.inner{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:48px;align-items:start;
  padding:44px 0 56px}
.inner--wide{grid-template-columns:minmax(0,1fr);}
.inner__body h2{font-size:24px;margin-top:1.6em}
.inner__body > h2:first-child{margin-top:0}
.inner__body p,.inner__body ul{max-width:74ch}
.story-body{max-width:760px}
.story-body p{max-width:70ch}
.story-lead img{width:100%;border:1px solid var(--rule)}
.story-lead{margin:0 0 24px}
.story-caption{font-size:14px;font-style:italic;color:#4d5453;border-left:3px solid var(--accent);
  padding:2px 0 2px 14px;max-width:66ch}
.closing-line{font-weight:700;color:var(--accent-dark);font-size:18px}

.facts-rail{background:var(--plate);border:1px solid var(--rule-tint);border-top:3px solid var(--accent);
  padding:18px}
.facts-rail h2{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-dark);
  margin:0 0 10px}
.facts-rail__h{margin-top:18px !important}
.facts-rail__note{font-size:13px;line-height:1.6;margin:14px 0 0;padding-top:12px;
  border-top:1px solid var(--rule-tint);color:#4a5250}
.facts-rail__rel{list-style:none;margin:0;padding:0;font-size:14px}
.facts-rail__rel li{padding:8px 0;border-top:1px solid var(--rule-tint)}
.facts-rail__rel span{display:block;font-size:11px;color:var(--meta);text-transform:uppercase;
  letter-spacing:.06em}

.archived-form{border:1px solid var(--rule);background:var(--tint);padding:18px;margin:24px 0}
.archived-form h3{font-size:13px;text-transform:uppercase;letter-spacing:.1em;color:var(--accent-dark);
  margin:0 0 8px}
.archived-form__note{font-size:14px;color:#4a5250;margin-bottom:.8em}
.archived-form__fields{margin:0;padding-left:1.15em;font-size:15px;color:var(--ink-strong)}

.prevnext{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;
  margin-top:36px;border-top:1px solid var(--rule);padding-top:20px}
.pn{display:block;text-decoration:none;border:1px solid var(--rule);padding:12px 14px;
  font-size:15px;font-weight:700;color:var(--ink-strong)}
.pn span{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;
  color:var(--meta);font-weight:400;margin-bottom:3px}
.pn:hover{border-color:var(--accent)}

/* footer ---------------------------------------------------------------- */
.site-footer{background:var(--ink-strong);color:#c9d1d0;padding:48px 0 32px;font-size:15px;margin-top:0}
.footer-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:36px}
.site-footer h2{color:#fff;font-size:16px;margin:0 0 14px;padding-bottom:8px;
  border-bottom:1px solid rgba(255,255,255,.18)}
.site-footer a{color:#a9d6cf;text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.site-footer ul{list-style:none;margin:0;padding:0}
.site-footer li{margin:0 0 .5em;font-size:14px}
.footer-affil{font-size:13px;color:#9aa5a4}
.legal-line{margin:20px 0 0;padding-top:16px;border-top:1px solid rgba(255,255,255,.14);
  font-size:12px;color:#8e9998}

/* mobile transformations ------------------------------------------------ */
@media (max-width:1080px){
  .inner{grid-template-columns:minmax(0,1fr) 230px;gap:32px}
  .row{grid-template-columns:minmax(0,1fr) 340px;gap:28px}
  .row--flip{grid-template-columns:340px minmax(0,1fr)}
  .news-band{grid-template-columns:minmax(0,1fr) 280px;gap:32px}
}
@media (max-width:860px){
  .shell{width:min(var(--shell),100% - 32px)}
  .util-strip__inner{display:block;padding:10px 0}
  .util-strip__affil{display:none}
  .util-strip p{margin:0 0 3px}
  .masthead__inner{flex-direction:column;align-items:flex-start;gap:10px;min-height:0}
  .nav ul{gap:2px}
  .nav a{padding:11px 10px;font-size:15px}
  .banner{min-height:250px}
  .banner__inner{padding:32px 0 26px}
  .banner h1{font-size:26px;max-width:26ch}
  .banner__caption{display:block}
  .banner__more{margin-top:6px}
  .band{padding:36px 0}
  .overview,.news-band,.inner{grid-template-columns:minmax(0,1fr);gap:28px}
  .row,.row--flip{grid-template-columns:minmax(0,1fr) !important;gap:16px}
  .row--flip .row__text,.row--flip .row__media{order:initial}
  .page-band__inner{padding:30px 0}
  .page-band h1{font-size:26px}
  .footer-cols{grid-template-columns:minmax(0,1fr);gap:26px}
  .archive-note{font-size:14px}
}
@media (max-width:560px){
  .ledger-row,.ledger-row--record{grid-template-columns:minmax(0,1fr);gap:12px}
  .ledger-row__thumb{order:-1}
  .date-plate{width:auto;height:auto;flex-direction:row;gap:8px;padding:5px 10px;
    align-self:flex-start;justify-content:flex-start}
  .date-plate__day{font-size:15px}
  .date-plate__my{font-size:10px}
  .date-plate__my br{display:none}
  .org-row,.org-row--full{grid-template-columns:minmax(0,1fr);gap:14px}
  .title-band__inner{flex-direction:column;gap:12px}
  .title-band h1{font-size:24px}
  .banner h1{font-size:22px}
}
@media (prefers-reduced-motion:reduce){*{transition:none !important}}
