/* Edge151 page styles. Scoped to .e151 so nothing leaks into the theme. */

.e151.e151{
  --e-forest:#215732;--e-forest-deep:#143a20;--e-mist:#e9eeeb;
  --e-mauve:#a277a6;--e-mauve-text:#7a5480;--e-mauve-light:#c9a6cd;--e-paper:#ffffff;
  --e-ink:#1b211d;--e-ink-soft:#4a5450;--e-measure:34rem;
  --e-display:"Audiowide",Verdana,sans-serif;
  --e-body:"Poppins",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  color:var(--e-ink);
  font-family:var(--e-body);
  font-weight:300;
  font-size:1.0625rem;
  line-height:1.65;
  letter-spacing:0.005em;
}
.e151.e151 *{box-sizing:border-box}

/* Full-bleed bands inside a constrained theme container. Degrades safely. */
.e151.e151 .e-band{
  padding:3.5rem 0;
  border-bottom:1px solid var(--e-mist);
}
.e151.e151 .e-band.e-tint,
.e151.e151 .e-band.e-dark,
.e151.e151 .e-band.e-forest{
  border-bottom:0;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
  padding-left:calc(50vw - 50%);
  padding-right:calc(50vw - 50%);
}
.e151.e151 .e-band.e-tint{background:var(--e-mist)}
.e151.e151 .e-band.e-dark{background:var(--e-forest-deep);color:var(--e-mist)}
.e151.e151 .e-band.e-forest{background:var(--e-forest);color:var(--e-mist)}
.e151.e151 .e-band:last-child{border-bottom:0}

.e151.e151 .e-inner{width:100%;max-width:60rem;margin:0 auto}

.e151.e151 .e-band h2{
  font-family:var(--e-body);font-weight:500;
  font-size:clamp(1.35rem,3vw,1.9rem);
  line-height:1.22;letter-spacing:-0.015em;
  margin:0 0 1.25rem;max-width:24ch;color:var(--e-forest-deep);
  text-transform:none;
}
.e151.e151 .e-band.e-dark h2,
.e151.e151 .e-band.e-forest h2{color:var(--e-mist)}
.e151.e151 .e-band p{max-width:var(--e-measure);margin:0 0 1.125rem;color:inherit}
.e151.e151 .e-band p:last-child{margin-bottom:0}
.e151.e151 .e-band.e-dark p,
.e151.e151 .e-band.e-forest p{color:rgba(233,238,235,0.86)}

.e151.e151 a{color:var(--e-forest);text-decoration:none;border-bottom:1px solid rgba(33,87,50,0.3);box-shadow:none}
.e151.e151 a:hover{color:var(--e-forest-deep);border-bottom-color:var(--e-forest)}
.e151.e151 .e-dark a,.e151.e151 .e-forest a{color:var(--e-mist);border-bottom-color:rgba(233,238,235,0.4)}
.e151.e151 a:focus-visible{outline:3px solid var(--e-mauve-text);outline-offset:3px}

/* Hero */
.e151.e151 .e-hero{padding:3.25rem 0 2.75rem}
.e151.e151 .e-hero.e-dark{padding:3.5rem 0 4.5rem}
.e151.e151 .e-hero h1{
  font-family:var(--e-body);font-weight:500;
  font-size:clamp(1.95rem,5.4vw,3.35rem);
  line-height:1.12;letter-spacing:-0.022em;
  margin:0 0 1.5rem;max-width:18ch;color:var(--e-forest-deep);
  text-transform:none;
}
.e151.e151 .e-hero.e-dark h1{color:var(--e-mist)}
.e151.e151 .e-hero .e-lede{max-width:var(--e-measure);font-size:1.125rem;margin:0 0 2rem;color:var(--e-ink-soft)}
.e151.e151 .e-hero.e-dark .e-lede{color:rgba(233,238,235,0.85)}
.e151.e151 .e-kicker{font-size:0.9375rem;color:var(--e-mauve-text);margin:0 0 0.75rem}

/* Buttons */
.e151.e151 .e-actions{display:flex;flex-wrap:wrap;gap:0.875rem;align-items:center;margin-top:1.5rem}
.e151.e151 .e-btn{
  display:inline-block;background:var(--e-forest);color:var(--e-paper);
  padding:0.8125rem 1.6rem;border:1px solid var(--e-forest);border-radius:2px;
  font-size:0.9375rem;font-weight:400;
}
.e151.e151 .e-btn:hover{background:var(--e-forest-deep);border-color:var(--e-forest-deep);color:var(--e-paper)}
.e151.e151 .e-btn.e-quiet{background:transparent;color:var(--e-forest);border-color:rgba(33,87,50,0.35)}
.e151.e151 .e-btn.e-quiet:hover{background:var(--e-mist);color:var(--e-forest-deep)}
.e151.e151 .e-dark .e-btn,.e151.e151 .e-forest .e-btn{background:var(--e-mist);color:var(--e-forest-deep);border-color:var(--e-mist)}
.e151.e151 .e-dark .e-btn:hover,.e151.e151 .e-forest .e-btn:hover{background:var(--e-paper);border-color:var(--e-paper)}
.e151.e151 .e-dark .e-btn.e-quiet,.e151.e151 .e-forest .e-btn.e-quiet{background:transparent;color:var(--e-mist);border-color:rgba(233,238,235,0.45)}

/* Fact strip */
.e151.e151 .e-facts{display:grid;gap:1.25rem;margin:0;padding:1.5rem 0;
  border-top:1px solid rgba(33,87,50,0.18);border-bottom:1px solid rgba(33,87,50,0.18)}
@media(min-width:44rem){.e151.e151 .e-facts{grid-template-columns:repeat(3,1fr);gap:2.5rem}}
.e151.e151 .e-facts dt{font-family:var(--e-display);font-size:0.75rem;letter-spacing:0.03em;color:var(--e-forest);margin:0 0 0.35rem}
.e151.e151 .e-facts dd{margin:0;font-size:0.9688rem;color:var(--e-ink-soft)}

/* Numbered steps */
.e151.e151 .e-steps{margin:2rem 0 0;padding:0;list-style:none;counter-reset:estep}
.e151.e151 .e-steps>li{position:relative;padding:1.6rem 0 1.6rem 3.25rem;
  border-top:1px solid rgba(33,87,50,0.18);margin:0}
.e151.e151 .e-steps>li:last-child{border-bottom:1px solid rgba(33,87,50,0.18)}
.e151.e151 .e-steps>li::before{counter-increment:estep;content:counter(estep,decimal-leading-zero);
  position:absolute;left:0;top:1.75rem;font-family:var(--e-display);font-size:0.75rem;color:var(--e-mauve-text)}
.e151.e151 .e-steps h3{font-family:var(--e-body);font-weight:500;font-size:1.0625rem;
  margin:0 0 0.4rem;color:var(--e-forest);text-transform:none}
.e151.e151 .e-steps p{margin:0 0 0.75rem;color:var(--e-ink-soft);max-width:52ch;font-size:0.9688rem}
.e151.e151 .e-steps ul{margin:0.5rem 0 0;padding-left:1.1rem;color:var(--e-ink-soft);font-size:0.9375rem;max-width:50ch;list-style:disc}
.e151.e151 .e-steps ul li{margin-bottom:0.35rem;padding:0;border:0}
.e151.e151 .e-steps ul li::before{content:none}

/* Element spine */
.e151.e151 .e-spine{margin:2rem 0 0;padding:0 0 0 2.75rem;list-style:none;border-left:1px solid rgba(233,238,235,0.28)}
.e151.e151 .e-spine li{position:relative;padding:0 0 1.5rem;margin:0}
.e151.e151 .e-spine li:last-child{padding-bottom:0}
.e151.e151 .e-spine .e-n{position:absolute;left:-2.75rem;top:0.1rem;width:1.6rem;text-align:right;
  font-family:var(--e-display);font-size:0.75rem;color:var(--e-mauve-light);line-height:1.5}
.e151.e151 .e-spine h3{font-family:var(--e-body);font-weight:500;font-size:1rem;margin:0 0 0.2rem;color:var(--e-mist);text-transform:none}
.e151.e151 .e-spine p{margin:0;font-size:0.9688rem;color:rgba(233,238,235,0.75);max-width:48ch}

/* Two and three column blocks */
.e151.e151 .e-cols{display:grid;gap:1.75rem;margin:2rem 0 0;padding:0;list-style:none}
@media(min-width:48rem){.e151.e151 .e-cols{grid-template-columns:repeat(3,1fr);gap:2.5rem}}
.e151.e151 .e-cols.e-two{grid-template-columns:1fr}
@media(min-width:48rem){.e151.e151 .e-cols.e-two{grid-template-columns:1fr 1fr;gap:3.5rem}}
.e151.e151 .e-cols>li{margin:0;padding:1rem 0 0;border-top:2px solid rgba(33,87,50,0.25)}
.e151.e151 .e-cols>li.e-alt{border-top-color:var(--e-mauve)}
.e151.e151 .e-cols h3{font-family:var(--e-body);font-weight:500;font-size:1.0625rem;
  margin:0 0 0.5rem;color:var(--e-forest-deep);text-transform:none}
.e151.e151 .e-cols h3.e-label{font-family:var(--e-display);font-size:0.8125rem;letter-spacing:0.03em;color:var(--e-forest);font-weight:400}
.e151.e151 .e-cols p{margin:0 0 0.9rem;font-size:0.9688rem;color:var(--e-ink-soft);max-width:44ch}
.e151.e151 .e-cols ul{margin:0;padding-left:1.1rem;color:var(--e-ink-soft);font-size:0.9375rem;list-style:disc}
.e151.e151 .e-cols ul li{margin-bottom:0.35rem;border:0;padding:0}

/* Tables */
.e151.e151 table.e-grid{width:100%;border-collapse:collapse;margin:1.75rem 0 0;font-size:0.9375rem;border:0}
.e151.e151 table.e-grid caption{text-align:left;color:var(--e-ink-soft);font-size:0.9375rem;margin-bottom:0.75rem;caption-side:top}
.e151.e151 table.e-grid th,.e151.e151 table.e-grid td{
  text-align:left;padding:0.7rem 0.9rem 0.7rem 0;border:0;
  border-bottom:1px solid rgba(33,87,50,0.18);vertical-align:top;background:transparent}
.e151.e151 table.e-grid th{font-weight:500;color:var(--e-forest);font-size:0.875rem}
.e151.e151 table.e-grid td:first-child{color:var(--e-forest-deep);padding-right:1.5rem}

/* Pull quotes and traps */
.e151.e151 .e-traps{margin:1.75rem 0 0;padding:0;list-style:none;max-width:var(--e-measure)}
.e151.e151 .e-traps li{padding:1rem 0 1rem 1.25rem;border-left:2px solid var(--e-mauve);
  margin:0 0 1rem;color:var(--e-ink-soft);font-size:0.9688rem}
.e151.e151 .e-aside{border-left:2px solid var(--e-mauve);padding-left:1.5rem}
.e151.e151 .e-aside h3{font-family:var(--e-body);font-weight:500;font-size:1.0625rem;margin:0 0 0.6rem;color:var(--e-forest-deep);text-transform:none}
.e151.e151 .e-aside p{font-size:0.9688rem;color:var(--e-ink-soft);max-width:42ch}

.e151.e151 .e-note{margin-top:2.25rem;padding-top:1.5rem;border-top:1px solid rgba(33,87,50,0.18);
  font-size:0.9063rem;color:var(--e-ink-soft);max-width:var(--e-measure)}
.e151.e151 .e-dark .e-note{border-top-color:rgba(233,238,235,0.28);color:rgba(233,238,235,0.75)}
.e151.e151 .e-pilot{display:inline-block;font-size:0.8125rem;color:var(--e-mauve-text);
  border:1px solid rgba(162,119,166,0.5);padding:0.2rem 0.6rem;border-radius:2px;margin-bottom:1.25rem}

@media print{
  .e151.e151 .e-dark,.e151.e151 .e-forest{display:none}
  .e151.e151 .e-band{border:0;padding:1.1rem 0;break-inside:avoid}
  .e151.e151 .e-band.e-tint{background:transparent;margin:0;padding-left:0;padding-right:0}
}
@media(prefers-reduced-motion:reduce){.e151.e151 *{transition:none!important;animation:none!important}}

/* ===================================================================
   FIGURES PAGE
   Was previously appended inline on that page only. Harmless globally,
   since .e-figs appears nowhere else.
   =================================================================== */
.e151.e151 .e-figs{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:0}
.e151.e151 .e-figs>li{margin:0;padding:1.5rem 0;border-top:1px solid rgba(33,87,50,0.18)}
.e151.e151 .e-figs>li:last-child{border-bottom:1px solid rgba(33,87,50,0.18)}
.e151.e151 .e-fignum{font-family:var(--e-display);font-size:0.7rem;letter-spacing:0.04em;
  color:var(--e-mauve-text);margin:0 0 0.3rem}
.e151.e151 .e-figs h3{font-family:var(--e-body);font-weight:500;font-size:1.0625rem;
  margin:0 0 0.35rem;color:var(--e-forest-deep);text-transform:none}
.e151.e151 .e-figs p{margin:0 0 0.5rem;font-size:0.9688rem;color:var(--e-ink-soft);max-width:56ch}
.e151.e151 .e-figlinks{font-size:0.9063rem;margin:0}
@media(min-width:52rem){
  .e151.e151 .e-figs>li{display:grid;grid-template-columns:16rem 1fr;gap:2rem;align-items:baseline}
  .e151.e151 .e-fignum{grid-column:1;margin:0}
  .e151.e151 .e-figs h3{grid-column:1;grid-row:1;margin:1.1rem 0 0}
  .e151.e151 .e-figs>li>p:not(.e-fignum),.e151.e151 .e-figlinks{grid-column:2}
}

/* ===================================================================
   HOMEPAGE HEADER CLEARANCE
   Was inline on the homepage. Now scoped to the WordPress .home body
   class so it does not affect dark heroes on any other page.
   =================================================================== */
.home .e151.e151 .e-hero.e-dark{padding-top:8rem}
@media(max-width:48rem){.home .e151.e151 .e-hero.e-dark{padding-top:6rem}}

/* ===================================================================
   ARTICLE BODY
   For blog posts written as native Gutenberg blocks inside a Group
   block with the classes:  e151 e-article
   Styles bare h2/h3/p/ul so posts need no band markup.
   =================================================================== */
.e151.e151 .e-article{max-width:44rem}
.e151.e151 .e-article>*{max-width:var(--e-measure)}
.e151.e151 .e-article h2{
  font-family:var(--e-body);font-weight:500;
  font-size:clamp(1.3rem,2.6vw,1.7rem);line-height:1.25;letter-spacing:-0.015em;
  margin:2.75rem 0 0.9rem;max-width:26ch;color:var(--e-forest-deep);text-transform:none;
}
.e151.e151 .e-article h2:first-child{margin-top:0}
.e151.e151 .e-article h3{
  font-family:var(--e-body);font-weight:500;font-size:1.0625rem;
  margin:2rem 0 0.5rem;color:var(--e-forest);text-transform:none;
}
.e151.e151 .e-article p{margin:0 0 1.125rem;color:var(--e-ink)}
.e151.e151 .e-article ul,.e151.e151 .e-article ol{
  margin:0 0 1.25rem;padding-left:1.2rem;color:var(--e-ink-soft);
  font-size:0.9688rem;list-style:disc;max-width:48ch;
}
.e151.e151 .e-article ol{list-style:decimal}
.e151.e151 .e-article li{margin-bottom:0.4rem}
.e151.e151 .e-article .e-lede{
  font-size:1.125rem;color:var(--e-ink-soft);margin:0 0 2rem;
  padding-bottom:1.5rem;border-bottom:1px solid rgba(33,87,50,0.18);
}
.e151.e151 .e-article .e-pull{
  font-family:var(--e-body);font-weight:500;
  font-size:clamp(1.15rem,2.2vw,1.45rem);line-height:1.3;letter-spacing:-0.018em;
  color:var(--e-forest-deep);max-width:26ch;
  margin:2.5rem 0;padding-left:1.4rem;border-left:2px solid var(--e-mauve);
}
.e151.e151 .e-article .e-source{font-size:0.875rem;color:var(--e-ink-soft)}

/* ===================================================================
   SITE OVERRIDES
   Previously held separately in Appearance > Customize > Additional CSS.
   Merged here so there is one source of truth. These must stay AFTER
   the core block above, because several of them deliberately override it.
   =================================================================== */

/* Gutter inside the theme container, removed once there is room for it */
.e151.e151 .e-inner{padding-left:1.5rem;padding-right:1.5rem}
@media(min-width:62rem){.e151.e151 .e-inner{padding-left:0;padding-right:0}}

/* Body copy in bands sits at ink-soft rather than inheriting full ink.
   Core sets .e-band p to inherit; this overrides it and extends the
   same treatment to list items and definition descriptions. */
.e151.e151 .e-band p,
.e151.e151 .e-band li,
.e151.e151 .e-band dd{color:var(--e-ink-soft)}
.e151.e151 .e-band.e-dark p,
.e151.e151 .e-band.e-dark li,
.e151.e151 .e-band.e-forest p,
.e151.e151 .e-band.e-forest li{color:rgba(233,238,235,0.86)}

/* Plain bulleted list inside a band. Used on the privacy page; core only
   styles lists inside .e-cols and .e-steps, so a bare list had no rules. */
.e151.e151 .e-band ul.plain{
  margin:0 0 1.125rem;padding-left:1.2rem;list-style:disc;
  color:var(--e-ink-soft);font-size:0.9688rem;max-width:var(--e-measure);
}
.e151.e151 .e-band ul.plain li{margin-bottom:0.4rem}