:root { color-scheme: light; }
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { overflow-wrap: break-word; -webkit-font-smoothing: antialiased; }
img, video, iframe { max-width: 100%; height: auto; }
:where(a, button, input, textarea, select, [tabindex]):focus-visible { outline: 3px solid #1659bc !important; outline-offset: 4px !important; }
.skip-link { position:absolute; top:-100px; left:1rem; z-index:99999; padding: .8rem 1rem; background:#fff; color:#171717; border:2px solid #171717; }
.skip-link:focus { top:1rem; }
.toe-header { border-bottom:1px solid #d9d9d9; padding-block:1.15rem; }
.toe-wordmark a { text-decoration:none; letter-spacing:-.065em; font-weight:750; font-size:clamp(1.5rem,2.4vw,2.1rem); line-height:1.1; }
.toe-header .wp-block-navigation { font-size:.9rem; font-weight:600; }
.toe-eyebrow { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; font-size:.78rem !important; line-height:1.5; font-weight:700; text-transform:uppercase; letter-spacing:.13em; }
.toe-hero { padding-top:clamp(3.5rem,8vw,8rem); padding-bottom:clamp(2.5rem,6vw,5rem); }
.toe-hero h1 { max-width:1050px; font-size:clamp(2.7rem,6.2vw,6rem) !important; letter-spacing:-.055em; }
.toe-hero p { max-width:800px; }
.toe-section { padding-block:clamp(2.5rem,5vw,5rem); border-top:1px solid #d9d9d9; }
.toe-section-heading { font-size:clamp(2rem,3vw,3rem) !important; }
.toe-post-card .wp-block-post-featured-image img { aspect-ratio: 16/10; object-fit:cover; }
.toe-post-card .wp-block-post-title { font-size:clamp(1.35rem,2.4vw,2rem); line-height:1.25; margin-top:.5rem; }
.toe-post-card .wp-block-post-title a { text-decoration:none; }
.toe-post-card .wp-block-post-title a:hover { text-decoration:underline; text-underline-offset:.16em; }
.toe-post-card .wp-block-post-terms { font-size:.78rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
.toe-post-card .wp-block-post-excerpt { font-size:1rem; line-height:1.6; }
.toe-featured .wp-block-post-featured-image img { aspect-ratio: 16/8; object-fit:cover; }
.toe-featured .wp-block-post-title { font-size:clamp(2rem,4.2vw,4.25rem); line-height:1.13; }
.toe-reading { padding-top:clamp(2rem,6vw,6rem); }
.toe-reading .wp-block-post-title { font-size:clamp(2.8rem,6vw,5.3rem); }
.toe-reading .entry-content { font-size:clamp(1.125rem,1.25vw,1.25rem); line-height:1.85; }
.toe-reading .entry-content p { margin-bottom:1.5em; }
.toe-reading .entry-content h2 { margin-top:2em; }
.toe-reading .entry-content a { text-decoration-thickness:2px; }
.toe-reading .entry-content :where(ul,ol) { padding-left:1.7em; }
.toe-reading .entry-content blockquote { border-left:3px solid #171717; padding-left:1.5rem; margin-inline:0; }
.toe-newsletter { background:#f4f4f3; padding:clamp(2rem,5vw,4rem); }
.toe-footer { border-top:1px solid #d9d9d9; padding-block:3rem; font-size:.95rem; }
.wp-block-query-pagination { margin-top:2rem; }
.wp-block-query-pagination a, .wp-block-query-pagination .page-numbers { min-height:44px; min-width:44px; display:inline-flex; align-items:center; justify-content:center; }
.wp-block-search__input, input, textarea { border:1px solid #777; border-radius:0; min-height:44px; padding:.65rem; }
.wp-block-search__button, button { min-height:44px; cursor:pointer; }
@media (max-width: 781px) { .toe-hero { padding-top:3rem; } .toe-header .wp-block-columns { gap:1rem; } .toe-header .wp-block-navigation { justify-content:flex-start; } .toe-section { padding-block:2.5rem; } }
@media (prefers-reduced-motion: reduce) { *,*::before,*::after { scroll-behavior:auto !important; animation-duration:.01ms !important; transition-duration:.01ms !important; } }
@media (forced-colors: active) { a,button { forced-color-adjust:auto; } }

/* Version 1.1: editorial depth and inclusive readability */
body { font-size: 18px; }
:where(p,li) { line-height: 1.7; }
.toe-manifesto { padding:clamp(2.5rem,6vw,6rem) clamp(1rem,5vw,5rem); background:#171717; color:#fff; margin-block:3rem; }
.toe-manifesto h2 { font-size:clamp(2.2rem,4.5vw,4.8rem); max-width:18ch; }
.toe-manifesto p { max-width:64ch; }
.toe-manifesto a { color:#fff; text-decoration:underline; }
.toe-post-grid { gap:clamp(1.2rem,3vw,2.5rem); }
.toe-post-card { border-bottom:1px solid #d9d9d9; padding-bottom:1.5rem; }
.toe-post-card .wp-block-post-date { color:#555; font-size:.9rem; }
.toe-reading .wp-block-post-excerpt { max-width:700px; font-size:1.25rem; color:#444; line-height:1.6; }
.toe-reading .entry-content { max-width:740px; margin-inline:auto; }
.toe-reading .entry-content h2 { font-size:clamp(1.6rem,2.8vw,2.35rem); line-height:1.25; }
.toe-share { border-top:1px solid #d9d9d9; border-bottom:1px solid #d9d9d9; margin-block:3rem; padding-block:1rem; }
.wp-block-post-featured-image img { background:#e8e8e5; }
:where(.wp-block-post-title,.wp-block-heading) { overflow-wrap:normal; hyphens:auto; }
@media(max-width:640px) { .toe-post-grid { grid-template-columns:1fr !important; } .toe-reading .entry-content { font-size:1.125rem; } }


/* v1.2 — Halo Lab-inspired editorial reading layout (original implementation). */
.toe-article-heading { max-width:920px; margin-inline:auto; padding-bottom:2rem; }
.toe-article-heading .wp-block-post-title { line-height:1.08; letter-spacing:-.045em; }
.toe-article-cover { margin-bottom:clamp(2rem,5vw,4rem); }
.toe-article-cover img { max-height:640px; object-fit:cover; }
.toe-article-grid { display:grid; grid-template-columns:minmax(155px,220px) minmax(0,740px) minmax(155px,220px); gap:clamp(1.2rem,3vw,3.5rem); align-items:start; margin-inline:auto; }
.toe-article-grid > .wp-block-group { min-width:0; }
.toe-article-main .entry-content { margin:0; max-width:none; }
.toe-article-main .entry-content :where(h2,h3) { scroll-margin-top:2rem; }
.toe-article-left .toe-toc,.toe-article-right .toe-article-tools { position:sticky; top:2rem; }
.toe-rail-title { font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; font-size:.9rem !important; font-weight:750; letter-spacing:.04em; margin:0 0 1rem; }
.toe-toc-list { list-style:none; margin:0; padding:0; border-left:2px solid #ddd; }
.toe-toc-list li { margin:0; }
.toe-toc-list a { display:block; padding:.55rem .7rem; font-size:.9rem; line-height:1.4; color:#424242; text-decoration:none; border-left:3px solid transparent; margin-left:-2px; }
.toe-toc-list a:hover,.toe-toc-list a[aria-current] { color:#111; border-left-color:#111; background:#f5f5f5; }
.toe-toc-sub a { padding-left:1.5rem; font-size:.85rem; }
.toe-article-tools { border-top:1px solid #ddd; padding-top:1rem; }
.toe-reading-time { color:#555; font-size:.9rem; }
.toe-copy-link,.toe-share-link { display:block; width:100%; padding:.75rem .6rem; margin-top:.65rem; background:#fff; border:1px solid #222; color:#111; text-align:center; font-size:.88rem; font-weight:650; text-decoration:none; cursor:pointer; }
.toe-copy-link:hover,.toe-share-link:hover { background:#111; color:#fff; }
.toe-copy-status { font-size:.82rem; min-height:1.5em; }
.toe-neighbor-section { border-top:1px solid #d9d9d9; padding-top:2rem; margin-top:clamp(3rem,6vw,6rem); margin-bottom:3rem; }
.toe-neighbor-section h2 { font-size:clamp(1.6rem,3vw,2.3rem); }
.toe-neighbor-nav { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:clamp(1rem,3vw,2rem); }
.toe-neighbor { display:flex; flex-direction:column; border:1px solid #d9d9d9; color:inherit; text-decoration:none; min-width:0; }
.toe-neighbor:hover .toe-neighbor-title { text-decoration:underline; text-underline-offset:.15em; }
.toe-neighbor-image { display:block; background:#eaeae8; aspect-ratio:16/8; overflow:hidden; }
.toe-neighbor-image img { display:block; width:100%; height:100%; object-fit:cover; }
.toe-neighbor-body { display:flex; flex-direction:column; gap:.6rem; padding:1.25rem; }
.toe-neighbor-label { text-transform:uppercase; letter-spacing:.08em; font-size:.75rem; font-weight:750; color:#555; }
.toe-neighbor-title { font-size:clamp(1.2rem,2vw,1.65rem); line-height:1.25; font-weight:700; }
.toe-neighbor-excerpt { color:#555; font-size:.95rem; line-height:1.55; }
.toe-neighbor-next .toe-neighbor-label { text-align:right; }
@media(max-width:1100px) { .toe-article-grid { grid-template-columns:minmax(140px,190px) minmax(0,1fr); } .toe-article-right { grid-column:2; } .toe-article-right .toe-article-tools { position:static; display:flex; flex-wrap:wrap; gap:.8rem; align-items:center; } .toe-article-tools .toe-rail-title { width:100%; } .toe-article-tools .toe-copy-link,.toe-article-tools .toe-share-link { width:auto; } }
@media(max-width:700px) { .toe-article-grid { display:flex; flex-direction:column; } .toe-article-left,.toe-article-main,.toe-article-right { width:100%; } .toe-article-left .toe-toc { position:static; padding:1rem; background:#f6f6f6; } .toe-toc-list { max-height:230px; overflow-y:auto; } .toe-article-right .toe-article-tools { display:block; } .toe-neighbor-nav { grid-template-columns:1fr; } .toe-neighbor-next .toe-neighbor-label { text-align:left; } }
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }

/* v1.3: sticky side rails and accessible reading progress */
.toe-article-grid { align-items:stretch; }
.toe-article-left,.toe-article-right { align-self:stretch; }
.toe-article-left .toe-toc,.toe-article-right .toe-article-tools { position:sticky; top:clamp(1rem,4vh,2.5rem); max-height:calc(100dvh - 3rem); overflow-y:auto; overscroll-behavior:contain; }
.toe-progress-label { display:flex; justify-content:space-between; gap:.5rem; color:#444; font:600 .75rem/1.4 system-ui,sans-serif; margin:0 0 .5rem; }
.toe-reading-progress { display:block; appearance:none; width:100%; height:7px; margin:0 0 1.25rem; border:0; background:#e0e0e0; border-radius:0; }
.toe-reading-progress::-webkit-progress-bar { background:#e0e0e0; }
.toe-reading-progress::-webkit-progress-value { background:#171717; }
.toe-reading-progress::-moz-progress-bar { background:#171717; }
.toe-form { display:grid; gap:.8rem; max-width:600px; }
.toe-form label { display:block; font-weight:650; font-size:.9rem; }
.toe-form input,.toe-form textarea { display:block; width:100%; font:inherit; background:#fff; color:#111; border:1px solid #555; padding:.7rem; }
.toe-form button { background:#171717; color:#fff; padding:.8rem 1.4rem; border:2px solid #171717; font-weight:700; }
.toe-form button:hover { background:#fff; color:#171717; }
.toe-form .toe-hp { position:absolute !important; left:-9999px; height:1px; width:1px; overflow:hidden; }
.toe-form-note { font-size:.85rem; color:#444; }
.toe-form-status { padding:.8rem 1rem; border-left:4px solid #111; background:#f1f1f1; }
.toe-footer-subscribe { margin-top:1.5rem; padding-top:1.5rem; border-top:1px solid #d9d9d9; }
.toe-footer-subscribe .toe-form { display:flex; flex-wrap:wrap; align-items:end; gap:.7rem; max-width:750px; }
.toe-footer-subscribe .toe-form .toe-field { flex:1 1 240px; }
.toe-footer-subscribe .toe-form-note { flex-basis:100%; }
@media(max-width:1100px) { .toe-article-right .toe-article-tools { position:static; max-height:none; overflow:visible; } }
@media(max-width:700px) { .toe-article-left .toe-toc { position:static; max-height:none; overflow:visible; } .toe-article-left .toe-toc-list { max-height:230px; overflow-y:auto; } }


/* v1.4 — Consistent editorial article cards. Override default block margins. */
.toe-post-grid.wp-block-post-template,
.wp-block-query .toe-post-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:clamp(1.25rem,2.5vw,2.25rem);
  align-items:stretch;
}
.toe-post-grid > .wp-block-post,
.wp-block-post-template > .wp-block-post:has(> .toe-post-card) {
  display:flex;
  min-width:0;
  margin-block:0;
}
.toe-post-card {
  display:flex;
  flex-direction:column;
  align-items:stretch;
  width:100%;
  min-width:0;
  height:100%;
  padding:0 0 1.25rem;
  margin:0;
  border-bottom:1px solid #d9d9d9;
  gap:0 !important;
}
.toe-post-card > *,
.toe-post-card > * + * {
  margin-block-start:0 !important;
  margin-block-end:0 !important;
}
.toe-post-card > .wp-block-post-featured-image {
  margin:0 0 1rem !important;
  width:100%;
  overflow:hidden;
  aspect-ratio:16 / 10;
}
.toe-post-card > .wp-block-post-featured-image > a { display:block; height:100%; }
.toe-post-card .wp-block-post-featured-image img {
  display:block;
  width:100%;
  height:100%;
  aspect-ratio:16 / 10;
  object-fit:cover;
}
.toe-post-card > .wp-block-post-terms {
  margin:0 0 .55rem !important;
  line-height:1.4;
}
.toe-post-card > .wp-block-post-title {
  margin:0 0 .65rem !important;
  font-size:clamp(1.35rem,1.8vw,1.85rem);
  line-height:1.22;
  letter-spacing:-.025em;
  text-wrap:pretty;
}
.toe-post-card > .wp-block-post-excerpt {
  margin:0 0 .9rem !important;
  font-size:1rem;
  line-height:1.55;
  color:#414141;
}
.toe-post-card .wp-block-post-excerpt__excerpt { margin:0 !important; }
.toe-post-card .wp-block-post-excerpt__more-text { margin:.6rem 0 0 !important; }
.toe-post-card > .wp-block-post-date {
  margin-top:auto !important;
  padding-top:.75rem;
  font-size:.82rem;
  color:#555;
}
.toe-post-card .wp-block-post-title a { overflow-wrap:anywhere; }
@media(max-width:900px) {
  .toe-post-grid.wp-block-post-template,.wp-block-query .toe-post-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
  .toe-post-grid.wp-block-post-template,.wp-block-query .toe-post-grid { grid-template-columns:minmax(0,1fr) !important; }
}

/* v1.5: Homepage-only 2-column fix. Keep the Articles archive at 3 columns. */
body.home .toe-section:has(.toe-home-grid),
body.home .toe-section:has(.toe-home-grid) > .wp-block-query {width:100%;max-width:1200px;}
body.home .toe-home-grid.wp-block-post-template,
body.home .wp-block-query .toe-home-grid.wp-block-post-template {
 display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;
 gap:clamp(1.5rem,3vw,3rem) !important;width:100%;max-width:none;
}
body.home .toe-home-grid > .wp-block-post {width:auto !important;max-width:none !important;min-width:0;}
body.home .toe-home-grid .toe-post-card {width:100%;max-width:none;}
body.home .toe-home-grid .wp-block-post-featured-image {width:100%;}
body.home .toe-home-grid .wp-block-post-featured-image img {width:100%;height:100%;object-fit:cover;}
body.home .toe-home-grid .wp-block-post-title {overflow-wrap:normal;word-break:normal;hyphens:auto;}
@media(max-width:700px) {body.home .toe-home-grid.wp-block-post-template,body.home .wp-block-query .toe-home-grid.wp-block-post-template {grid-template-columns:minmax(0,1fr) !important;}}

/* v1.6: Newsletter field/button aligned on a shared baseline with equal control heights. */
.toe-subscribe-form.toe-form {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  column-gap:.75rem;
  row-gap:.75rem;
  align-items:end;
  width:100%;
  max-width:720px;
}
.toe-subscribe-form .toe-field {
  min-width:0;
  margin:0;
}
.toe-subscribe-form .toe-field label {
  display:block;
  margin:0 0 .45rem;
  font-size:.875rem;
  line-height:1.35;
}
.toe-subscribe-form .toe-field input,
.toe-subscribe-form > button[type=submit] {
  box-sizing:border-box;
  min-height:52px;
  height:52px;
  margin:0;
  border-radius:0;
  font:inherit;
  line-height:1.3;
}
.toe-subscribe-form .toe-field input {
  width:100%;
  padding:0 1rem;
  border:1px solid #555;
}
.toe-subscribe-form > button[type=submit] {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 1.65rem;
  border:1px solid #171717;
  white-space:nowrap;
  cursor:pointer;
}
.toe-subscribe-form .toe-form-note {
  grid-column:1 / -1;
  margin:0;
  line-height:1.55;
}
.toe-footer-subscribe .toe-subscribe-form.toe-form {
  display:grid;
  grid-template-columns:minmax(0, 1fr) auto;
  align-items:end;
  gap:.75rem;
  max-width:720px;
}
.toe-footer-subscribe .toe-subscribe-form .toe-field { flex:auto; }
.toe-footer-subscribe .toe-subscribe-form .toe-form-note { grid-column:1 / -1; }
@media (max-width:520px) {
  .toe-subscribe-form.toe-form,
  .toe-footer-subscribe .toe-subscribe-form.toe-form { grid-template-columns:minmax(0,1fr); }
  .toe-subscribe-form > button[type=submit] { width:100%; }
  .toe-subscribe-form .toe-form-note { grid-column:1; }
}

/* v1.7: Keep nonce and honeypot inputs out of the layout flow.
   One explicit controls row ensures field and button remain together. */
.toe-subscribe-form.toe-form,
.toe-footer-subscribe .toe-subscribe-form.toe-form {
 display:block !important; max-width:720px; width:100%; margin-inline:0;
}
.toe-subscribe-form .toe-hp {position:absolute !important;left:-10000px !important;width:1px;height:1px;overflow:hidden;}
.toe-subscribe-form .toe-subscribe-controls {
 display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;width:100%;
}
.toe-subscribe-form .toe-subscribe-controls .toe-field {min-width:0;margin:0;}
.toe-subscribe-form .toe-subscribe-controls .toe-field label {display:block;margin:0 0 8px;font-size:14px;font-weight:650;line-height:1.4;}
.toe-subscribe-form .toe-subscribe-controls .toe-field input,
.toe-subscribe-form .toe-subscribe-controls button[type=submit] {
 height:52px !important;min-height:52px !important;box-sizing:border-box !important;
 margin:0 !important;border-radius:0;line-height:1.2;
}
.toe-subscribe-form .toe-subscribe-controls .toe-field input {width:100% !important;min-width:0;padding:0 16px;}
.toe-subscribe-form .toe-subscribe-controls button[type=submit] {
 display:inline-flex !important;align-items:center;justify-content:center;
 width:auto !important;min-width:135px;padding:0 22px;background:#171717;color:#fff;
 border:1px solid #171717;white-space:nowrap;cursor:pointer;
}
.toe-subscribe-form .toe-subscribe-controls button[type=submit]:hover {background:#333;}
.toe-subscribe-form .toe-subscribe-controls button[type=submit]:focus-visible,
.toe-subscribe-form .toe-subscribe-controls input:focus-visible {outline:3px solid #135cb5;outline-offset:3px;}
.toe-subscribe-form .toe-form-note {margin:14px 0 0 !important;font-size:13px;line-height:1.5;}
@media(max-width:520px) {
 .toe-subscribe-form .toe-subscribe-controls {grid-template-columns:minmax(0,1fr);}
 .toe-subscribe-form .toe-subscribe-controls button[type=submit] {width:100% !important;}
}

/* v1.8: Newsletter controls match the Articles search row exactly.
   Label sits above the row, not inside one of its columns. */
.toe-subscribe-form.toe-form,
.toe-footer-subscribe .toe-subscribe-form.toe-form {
 display:block !important; width:100%; max-width:720px;
}
.toe-subscribe-form .toe-subscribe-label {
 display:block; font-size:14px; font-weight:700; line-height:1.4; margin:0 0 8px;
}
.toe-subscribe-form .toe-subscribe-controls {
 display:flex !important; flex-direction:row !important; align-items:stretch !important;
 flex-wrap:nowrap !important; gap:10px !important; width:100%; margin:0 !important;
}
.toe-subscribe-form .toe-subscribe-controls > input[type=email] {
 display:block !important; flex:1 1 0% !important; min-width:0 !important; width:auto !important;
 height:52px !important; min-height:52px !important; max-height:52px !important;
 box-sizing:border-box !important; margin:0 !important; padding:0 16px !important;
 border:1px solid #777; border-radius:0; background:#fff; font-size:16px; line-height:normal;
}
.toe-subscribe-form .toe-subscribe-controls > button[type=submit] {
 display:flex !important; flex:0 0 136px !important; align-items:center !important;
 justify-content:center !important; align-self:stretch !important;
 width:136px !important; height:52px !important; min-height:52px !important; max-height:52px !important;
 box-sizing:border-box !important; padding:0 16px !important; margin:0 !important;
 border:1px solid #171717 !important; border-radius:0 !important;
 background:#171717 !important; color:#fff !important; font-size:14px; font-weight:700; line-height:1; cursor:pointer;
}
.toe-subscribe-form .toe-subscribe-controls > button[type=submit]:hover {background:#333 !important;}
.toe-subscribe-form .toe-subscribe-controls > :is(input,button):focus-visible {outline:3px solid #135cb5;outline-offset:3px;}
@media(max-width:520px) {
 .toe-subscribe-form .toe-subscribe-controls {flex-direction:column !important;}
 .toe-subscribe-form .toe-subscribe-controls > input[type=email],
 .toe-subscribe-form .toe-subscribe-controls > button[type=submit] {
  flex:0 0 52px !important; width:100% !important; max-width:none !important;
 }
}


/* v1.9 — Two-column, full-width article directory; consistent metadata row. */
body.blog .toe-section:has(.toe-articles-grid),
body.blog .toe-section:has(.toe-articles-grid) > .wp-block-query,
body.blog .toe-section:has(.toe-articles-grid) > .wp-block-query > .toe-articles-grid,
body.home .toe-section:has(.toe-home-grid) {width:100%;max-width:1200px;}
.toe-articles-grid.wp-block-post-template,
.wp-block-query .toe-articles-grid.wp-block-post-template {
 display:grid !important;grid-template-columns:repeat(2,minmax(0,1fr)) !important;
 gap:clamp(1.5rem,3vw,3rem) !important;width:100%;max-width:none !important;
}
.toe-articles-grid > .wp-block-post {min-width:0;width:auto !important;max-width:none !important;}
.toe-articles-grid .toe-post-card {width:100%;max-width:none;}
.toe-articles-grid .wp-block-post-featured-image {width:100%;}
.toe-articles-grid .wp-block-post-featured-image img {width:100%;height:100%;object-fit:cover;}
.toe-post-card > .toe-post-meta.wp-block-group {
 display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;
 align-items:baseline !important;justify-content:space-between !important;
 gap:.4rem 1rem !important;width:100%;margin:0 0 .6rem !important;
}
.toe-post-card .toe-post-meta > .wp-block-post-terms,
.toe-post-card .toe-post-meta > .wp-block-post-date {
 margin:0 !important;line-height:1.5 !important;
}
.toe-post-card .toe-post-meta > .wp-block-post-date {
 margin-left:auto !important;text-align:right;font-size:.8rem;color:#555;
 letter-spacing:0;text-transform:none;font-weight:400;
}
.toe-post-card > .wp-block-post-excerpt {margin-bottom:0 !important;}
@media(max-width:700px) {
 .toe-articles-grid.wp-block-post-template,
 .wp-block-query .toe-articles-grid.wp-block-post-template {
  grid-template-columns:minmax(0,1fr) !important;
 }
}

/* v2.0: The imported Articles page is a Gutenberg PAGE, not the blog index. */
body.page .entry-content .wp-block-query:has(.toe-post-grid) {
  width:min(1200px,calc(100vw - 48px)) !important;
  max-width:1200px !important;
  position:relative;
  left:50%;
  transform:translateX(-50%);
  margin-left:0 !important;
  margin-right:0 !important;
}
body.page .entry-content .wp-block-query .toe-post-grid,
body.blog .wp-block-query .toe-post-grid {
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:clamp(1.5rem,3vw,3rem) !important;
  align-items:stretch;
  width:100% !important;
  max-width:none !important;
}
body.page .entry-content .toe-post-grid > .wp-block-post {width:auto !important;min-width:0;max-width:none !important;}
body.page .entry-content .toe-post-grid .toe-post-card {width:100%;max-width:none;}
body.page .entry-content .toe-post-grid .wp-block-post-featured-image {width:100%;}
body.page .entry-content .toe-post-grid .wp-block-post-featured-image img {width:100%;height:100%;object-fit:cover;}
@media(max-width:700px) {
 body.page .entry-content .wp-block-query .toe-post-grid,
 body.blog .wp-block-query .toe-post-grid {grid-template-columns:minmax(0,1fr) !important;}
}

/* v2.1: wide 1200px article directory, three cards; preserve mobile reflow. */
body.page .entry-content .wp-block-query:has(.toe-post-grid) .toe-post-grid,
body.page .entry-content .wp-block-query .toe-articles-grid.wp-block-post-template,
body.blog .wp-block-query .toe-post-grid,
.toe-articles-grid.wp-block-post-template,
.wp-block-query .toe-articles-grid.wp-block-post-template {
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:clamp(1.25rem,2.5vw,2.5rem) !important;
}
/* Category left, published date right, for every article card. */
.toe-post-card > .toe-post-meta.wp-block-group {
  display:flex !important; flex-direction:row !important;
  justify-content:space-between !important; align-items:baseline !important;
  flex-wrap:wrap !important; gap:.3rem .8rem !important;
  width:100%; margin:0 0 .6rem !important;
}
.toe-post-card .toe-post-meta .wp-block-post-date {margin:0 0 0 auto !important;text-align:right;}
/* Footer newsletter shares the site's 740px reading width. */
.toe-footer-subscribe .toe-subscribe-form.toe-form,
.toe-footer-subscribe .toe-form,
.toe-subscribe-form.toe-form {max-width:740px !important;}
@media(max-width:900px) and (min-width:701px) {
 body.page .entry-content .wp-block-query:has(.toe-post-grid) .toe-post-grid,
 body.page .entry-content .wp-block-query .toe-articles-grid.wp-block-post-template,
 body.blog .wp-block-query .toe-post-grid,
 .toe-articles-grid.wp-block-post-template,
 .wp-block-query .toe-articles-grid.wp-block-post-template {grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media(max-width:700px) {
 body.page .entry-content .wp-block-query:has(.toe-post-grid) .toe-post-grid,
 body.page .entry-content .wp-block-query .toe-articles-grid.wp-block-post-template,
 body.blog .wp-block-query .toe-post-grid,
 .toe-articles-grid.wp-block-post-template,
 .wp-block-query .toe-articles-grid.wp-block-post-template {grid-template-columns:minmax(0,1fr) !important;}
}

/* v2.2 — category/date on old cards and full-width editorial page layouts. */
.toe-post-card .toe-auto-meta {display:flex;align-items:baseline;justify-content:space-between;gap:.5rem 1rem;flex-wrap:wrap;margin:0 0 .6rem;}
.toe-post-card .toe-auto-meta .wp-block-post-terms {margin:0 !important;}
.toe-post-card .toe-card-date {font-size:.8rem;color:#555;white-space:nowrap;margin-left:auto;text-align:right;}
.toe-category-page,.toe-contact-page {max-width:1200px !important;padding:clamp(2rem,5vw,5rem) 24px;}
.toe-category-page > h1,.toe-contact-page > h1 {font-size:clamp(2.6rem,5vw,5rem);letter-spacing:-.045em;line-height:1.1;margin:0 0 1.2rem;}
.toe-category-lede,.toe-contact-intro {font-size:clamp(1.05rem,1.7vw,1.35rem);line-height:1.6;color:#424242;max-width:700px;margin-bottom:clamp(2rem,4vw,4rem);}
.toe-category-gallery {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(1.5rem,3vw,2.5rem);}
.toe-category-tile {min-width:0;border-bottom:1px solid #ddd;padding-bottom:1.6rem;}
.toe-category-tile-link {display:block;color:inherit;text-decoration:none;}
.toe-category-cover {aspect-ratio:16/10;background:#e4e5e2;overflow:hidden;}
.toe-category-cover img {display:block;width:100%;height:100%;object-fit:cover;transition:transform .25s ease;}
.toe-category-tile-link:hover img {transform:scale(1.035);}
.toe-category-placeholder {display:block;width:100%;height:100%;background:linear-gradient(135deg,#e4e5e2 20%,#c7cfcd 20% 55%,#374747 55% 67%,#e9e8e3 67%);}
.toe-category-business,.toe-category-lifestyle {background:linear-gradient(145deg,#e8e4df 0 38%,#ada9a2 38% 53%,#343d3e 53% 68%,#d6d9d5 68%);}
.toe-category-design,.toe-category-personal-stories {background:linear-gradient(135deg,#d6d4cf 0 42%,#2b383a 42% 58%,#c5cfcc 58%);}
.toe-category-tile-meta {display:flex;justify-content:space-between;align-items:center;font-size:.78rem;color:#555;letter-spacing:.03em;margin-top:.9rem;}
.toe-category-tile h2 {font-size:clamp(1.5rem,2vw,2.15rem);line-height:1.18;letter-spacing:-.025em;margin:.45rem 0 .55rem;}
.toe-category-tile p {color:#444;font-size:1rem;line-height:1.55;margin:0;}
.toe-category-tile-link:hover h2 {text-decoration:underline;text-underline-offset:.15em;}
.toe-contact-columns {gap:clamp(2rem,5vw,5rem) !important;align-items:start;}
.toe-contact-columns > .wp-block-column {min-width:0;}
.toe-contact-columns .toe-contact-form {width:100%;max-width:none;}
.toe-contact-aside {background:#f4f4f2;padding:clamp(1.25rem,2.5vw,2.5rem);border-top:3px solid #1d1d1d;}
.toe-contact-aside h2 {font-size:clamp(1.4rem,2vw,1.9rem);margin-top:0;}
.toe-contact-aside p {font-size:.98rem;line-height:1.6;margin:.6rem 0;}
.toe-contact-aside .wp-block-separator {margin:1.6rem 0;}
@media(max-width:950px) {.toe-category-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:780px) {.toe-contact-columns{flex-direction:column !important;}.toe-contact-columns > .wp-block-column{width:100%;flex-basis:auto !important;}}
@media(max-width:600px) {.toe-category-gallery{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce) {.toe-category-cover img{transition:none;}}

/* v2.3 — centered page shells and true left/right article metadata */
body .toe-category-page.wp-block-group,
body .toe-contact-page.wp-block-group {
  box-sizing:border-box;
  width:min(100% - 48px,1200px) !important;
  max-width:1200px !important;
  margin-inline:auto !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:clamp(2rem,5vw,5rem) 0 !important;
  position:static !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;
}
.toe-category-page > .wp-block-shortcode,
.toe-category-page .toe-category-gallery,
.toe-contact-page > .toe-contact-columns,
.toe-contact-page .toe-contact-columns {
  box-sizing:border-box;
  width:100% !important;
  max-width:100% !important;
  margin-inline:auto !important;
}
.toe-contact-page .toe-contact-columns {
  display:flex !important;
  flex-wrap:nowrap !important;
  justify-content:space-between !important;
  align-items:flex-start !important;
}
.toe-post-card .toe-post-meta.wp-block-group,
.toe-post-card .toe-auto-meta {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) max-content !important;
  align-items:start !important;
  justify-content:stretch !important;
  column-gap:.75rem !important;
  width:100% !important;
  max-width:none !important;
  margin:0 0 .65rem !important;
  padding:0 !important;
  text-align:left !important;
}
.toe-post-card .toe-post-meta .wp-block-post-terms,
.toe-post-card .toe-auto-meta .wp-block-post-terms {
  grid-column:1 !important;
  min-width:0 !important;
  margin:0 !important;
  text-align:left !important;
  justify-self:start !important;
}
.toe-post-card .toe-post-meta .wp-block-post-date,
.toe-post-card .toe-post-meta .toe-card-date,
.toe-post-card .toe-auto-meta .wp-block-post-date,
.toe-post-card .toe-auto-meta .toe-card-date {
  grid-column:2 !important;
  justify-self:end !important;
  margin:0 !important;
  padding:0 !important;
  text-align:right !important;
  white-space:nowrap;
  font-size:.8rem;
  font-weight:400;
  color:#555;
}
@media(max-width:780px) {
  .toe-contact-page .toe-contact-columns {flex-direction:column !important;}
  .toe-contact-page .toe-contact-columns > .wp-block-column {width:100% !important;}
}
@media(max-width:480px) {
  body .toe-category-page.wp-block-group,
  body .toe-contact-page.wp-block-group {width:calc(100% - 32px) !important;}
  .toe-post-card .toe-post-meta.wp-block-group,
  .toe-post-card .toe-auto-meta {column-gap:.4rem !important;}
  .toe-post-card .toe-post-meta .wp-block-post-date,
  .toe-post-card .toe-auto-meta .toe-card-date {font-size:.73rem;}
}

/* 1.0.0.1 — Centered 740px editorial page introductions; wide sections remain 1200px. */
body .toe-category-page .toe-page-intro,
body .toe-contact-page .toe-page-intro {
  box-sizing:border-box;
  width:min(100%,740px) !important;
  max-width:740px !important;
  margin-inline:auto !important;
  padding:0 !important;
  text-align:left !important;
}
body .toe-category-page .toe-page-intro > *,
body .toe-contact-page .toe-page-intro > * {
  max-width:100% !important;
  margin-inline:0 !important;
  text-align:left !important;
}
body .toe-category-page .toe-page-intro h1,
body .toe-contact-page .toe-page-intro h1 {
  font-size:clamp(2.5rem,5vw,4.25rem) !important;
  line-height:1.1;
  overflow-wrap:normal;
  hyphens:none;
}
body .toe-category-page .toe-page-intro .toe-category-lede,
body .toe-contact-page .toe-page-intro .toe-contact-intro {
  max-width:740px !important;
  margin-top:1rem !important;
  margin-bottom:clamp(2.25rem,4vw,4rem) !important;
}
/* The Articles listing stays 1200px; only its pagination is centered at 740px. */
body.page .wp-block-query:has(> .toe-articles-grid) > .wp-block-query-pagination,
body.blog .wp-block-query:has(> .toe-articles-grid) > .wp-block-query-pagination,
body .wp-block-query:has(> .toe-post-grid.toe-articles-grid) > .wp-block-query-pagination {
  box-sizing:border-box;
  width:min(100%,740px) !important;
  max-width:740px !important;
  margin:clamp(1.75rem,3vw,3rem) auto 0 !important;
  padding:0 !important;
  justify-content:flex-start !important;
  text-align:left !important;
}
@media(max-width:600px) {
  body .toe-category-page .toe-page-intro h1,
  body .toe-contact-page .toe-page-intro h1 {font-size:clamp(2.2rem,9vw,3.3rem) !important;}
}

/* 2.3.0.1 — Articles pagination: centered 740px independently of the 1200px grid.
   The Gutenberg page's query may have an extra layout wrapper; do not require
   the post template to be a direct child. */
body.page .entry-content .wp-block-query:has(.toe-articles-grid) .wp-block-query-pagination,
body.page .wp-block-query:has(.toe-articles-grid) .wp-block-query-pagination,
body.blog .wp-block-query:has(.toe-articles-grid) .wp-block-query-pagination {
  box-sizing:border-box !important;
  position:relative !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:min(740px,calc(100vw - 48px)) !important;
  max-width:740px !important;
  margin:2rem 0 0 !important;
  padding:0 !important;
  justify-content:flex-start !important;
  text-align:left !important;
}

/* 1.0.2.6: Articles page pagination, 740px centered, independent of 1200px cards.
   Remove the old 50% relative shift, which offset the pager inside its wide query.
   Applies to the existing imported Articles page regardless of block class wrappers. */
body.page .wp-block-query:has(.toe-post-grid) .wp-block-query-pagination,
body.page .wp-block-query:has(.toe-articles-grid) .wp-block-query-pagination,
body.page .entry-content .wp-block-query-pagination,
body.page .wp-block-query-pagination,
body.blog .wp-block-query-pagination {
  box-sizing: border-box !important;
  position: static !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  width: min(740px, 100%) !important;
  max-width: 740px !important;
  margin: 2rem auto 0 !important;
  padding: 0 !important;
  justify-content: flex-start !important;
  text-align: left !important;
}
/* The wide query is centered independently; the pager centers within that query. */
body.page .entry-content .wp-block-query:has(.toe-articles-grid) {
  box-sizing: border-box !important;
  width: min(1200px, calc(100vw - 48px)) !important;
  max-width: 1200px !important;
  margin-left: 50% !important;
  transform: translateX(-50%) !important;
}
