/*
Theme Name: painstl.com
Template: twentytwentyfive
Description: painstl.com — direction 1b (Modernist). Light ground, Archivo, one red that appears only on things you can tap, 2px rules, no radius, no shadows, grayscale photography. Interaction and accessibility floor from the patient-facing UI standard.
Version: 2.0.0
*/

/* ==== 1. Tokens =========================================================
   Read everything from these. Values are the owner's 1b brief; two were
   adjusted after measuring contrast against the ground:
   - --color-divider is the brand-kit gray #7d7979 (3.85:1), not ink at 40% (2.41:1),
     because it also draws card-cell and secondary-button borders (floor 3:1).
   - the accent is the brand-kit red #e02c00 (owner: integrate the logo colors), not #ec3013.
   - button labels are 19px/800 rather than 16px, because ground-on-accent
     measures 3.76:1 and only qualifies as large text at >=18.66px bold.
   ---------------------------------------------------------------------- */
:root {
  --color-bg: #f3f2f2;
  --color-surface: #eae9e9;
  --color-text: #201e1d;
  --color-accent: #e02c00;      /* brand kit primary; 4.15:1 under ground text, large text only */
  --color-accent-600: #c72700;  /* hover, 5.05:1 */
  --color-accent-700: #a81f00;  /* pressed / link hover, 6.57:1 */
  --color-brand-gray: #7d7979;  /* kit gray: logotype, rules and dividers only (3.85:1) */
  --color-neutral-200: #dedcdc;
  --color-neutral-700: #605d5d;
  --color-neutral-800: #444141;
  --color-divider: #7d7979;
  --rule: 2px solid var(--color-divider);
  --radius: 0px;
  --font: "Archivo", "Helvetica Neue", Arial, sans-serif;
  --gutter: 56px;
  --content: 1280px;
  --prose: 820px;
  --gap-section: 88px;
  --gap-col: 64px;
  --motion: 150ms;
  --tap: 48px;
}
@media (max-width: 768px) {
  :root { --gutter: 20px; --gap-section: 36px; --gap-col: 24px; }
}

/* ==== 2. Base =========================================================== */
html { background: var(--color-bg); }
body {
  margin: 0;
  background: var(--color-bg);
  color: var(--color-text);
  font-family: var(--font);
  font-size: 19px;
  line-height: 1.65;
  font-weight: 400;
  -webkit-font-smoothing: antialiased;
  padding-bottom: 0;
}
* { border-radius: 0 !important; box-shadow: none !important; }
img { max-width: 100%; height: auto; display: block; }
a { color: var(--color-text); text-decoration: underline; text-underline-offset: 0.12em; text-decoration-thickness: 1.5px; }
a:hover { color: var(--color-accent-700); }
:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
p { margin: 0 0 1.2em; }
h1, h2, h3, h4 { font-family: var(--font); font-weight: 800; color: var(--color-text); margin: 0 0 0.5em; text-align: left; letter-spacing: -0.02em; }
h1 { font-size: 64px; line-height: 1.02; letter-spacing: -0.025em; margin-left: -0.05em; }
h2 { font-size: 42px; line-height: 1.05; margin-top: 1.4em; }
h3 { font-size: 26px; line-height: 1.1; letter-spacing: -0.015em; margin-top: 1.2em; }
h4 { font-size: 22px; line-height: 1.2; }
strong { font-weight: 600; }
em { font-style: italic; }
ul, ol { padding-left: 1.2em; margin: 0 0 1.4em; }
li { margin-bottom: 0.45em; }
hr { border: 0; border-top: var(--rule); margin: var(--gap-section) 0; }
@media (max-width: 768px) {
  body { font-size: 19px; }
  h1 { font-size: 36px; line-height: 1.04; }
  h2 { font-size: 28px; }
  h3 { font-size: 21px; }
}

/* Layout: one content column, prose narrower, flush left. TT5's constrained layout centers children; we do not. */
.entry-content > *, .entry-content .wp-block-group > *, .is-layout-constrained > * { margin-left: 0 !important; margin-right: 0 !important; }
.wp-site-blocks > main, main.wp-block-group { max-width: var(--content); margin: 0 auto; padding: 0 var(--gutter); box-sizing: border-box; }
.entry-content > *:not(.alignfull):not(.prp-hero):not(.pstl-grid):not(.pstl-faq):not(.prp-cta):not(.prp-sources):not(.prp-seals):not(.wp-block-columns):not(.prp-access) { max-width: var(--prose); margin-left: 0; margin-right: 0; }
.entry-content > .alignfull { max-width: none; margin-left: 0; margin-right: 0; }
.wp-block-group.is-layout-constrained > * { margin-left: 0; margin-right: 0; }

/* Photography: always black and white. Seals and the wordmark are graphics, not photos. */
.prp-hero-img img, .wp-block-post-featured-image img, .prp-card-img img, .grayscale img, img.grayscale { filter: grayscale(1) contrast(1.08); }

/* Motion floor */
a, button, .wp-block-button__link, .pstl-card { transition: background-color var(--motion), color var(--motion), border-color var(--motion), transform var(--motion); }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { transition: none !important; animation: none !important; } }

/* ==== 3. Buttons ======================================================== */
.wp-block-button__link, .btn {
  display: inline-flex; align-items: center; justify-content: flex-start;
  min-height: var(--tap); padding: 10px 20px; box-sizing: border-box;
  font-family: var(--font); font-size: 19px; font-weight: 800; line-height: 1.2; letter-spacing: 0;
  text-decoration: none; border: 1px solid var(--color-divider); background: transparent; color: var(--color-text);
}
.wp-block-button__link:hover, .btn:hover { background: var(--color-neutral-200); color: var(--color-text); }
.wp-block-button__link:active, .btn:active { background: var(--color-divider); }
.btn--primary, .prp-btn-call .wp-block-button__link, .hdr-call .wp-block-button__link { background: var(--color-accent); border-color: var(--color-accent); color: var(--color-bg); }
.btn--primary:hover, .prp-btn-call .wp-block-button__link:hover, .hdr-call .wp-block-button__link:hover { background: var(--color-accent-600); border-color: var(--color-accent-600); color: var(--color-bg); }
.btn--primary:active, .prp-btn-call .wp-block-button__link:active, .hdr-call .wp-block-button__link:active { background: var(--color-accent-700); border-color: var(--color-accent-700); }
.wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.wp-block-buttons .wp-block-button { margin: 0; }

/* ==== 4. Masthead ======================================================= */
.pstl-masthead { position: sticky; top: 0; z-index: 40; background: var(--color-bg); border-bottom: var(--rule); }
.pstl-masthead-inner { max-width: var(--content); margin: 0 auto; padding: 0 var(--gutter); min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 16px; box-sizing: border-box; }
.pstl-wordmark { font-weight: 800; font-size: 22px; letter-spacing: 0.02em; text-decoration: none; color: var(--color-text); min-height: var(--tap); display: inline-flex; align-items: center; }
.pstl-wordmark:hover { color: var(--color-text); }
.pstl-actions { display: flex; gap: 10px; align-items: center; }
.pstl-actions .btn { white-space: nowrap; }
.pstl-actions .btn--menu { gap: 10px; }
.pstl-actions .btn--menu svg { width: 22px; height: 22px; }
@media (max-width: 900px) {
  .pstl-masthead-inner { min-height: 64px; }
  .pstl-actions .btn--text, .pstl-actions .btn--book { display: none; }
  .pstl-actions .btn--call .btn-number { display: none; }
}

/* ==== 5. Menu: full-screen index ======================================== */
.pstl-menu { position: fixed; inset: 0; z-index: 60; background: var(--color-bg); overflow-y: auto; display: none; }
.pstl-menu[data-open="true"] { display: block; }
body[data-menu-open="true"] { overflow: hidden; }
.pstl-menu-inner { max-width: var(--content); margin: 0 auto; padding: 0 var(--gutter) 56px; box-sizing: border-box; }
.pstl-menu-bar { min-height: 76px; display: flex; align-items: center; justify-content: space-between; gap: 16px; border-bottom: var(--rule); }
.pstl-menu-urgent { border-bottom: var(--rule); padding: 20px 0; }
.pstl-menu-urgent a { font-weight: 800; font-size: 22px; }
.pstl-menu-cols { display: grid; grid-template-columns: repeat(5, 1fr); gap: 0 32px; padding-top: 28px; }
.pstl-menu-group h2 { font-size: 14px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-neutral-700); margin: 0 0 12px; letter-spacing: 0.08em; }
.pstl-menu-group ul { list-style: none; padding: 0; margin: 0 0 32px; }
.pstl-menu-group li { margin: 0; }
.pstl-menu-group a { display: block; padding: 8px 0; text-decoration: none; font-size: 19px; font-weight: 600; min-height: 44px; box-sizing: border-box; }
.pstl-menu-group a:hover, .pstl-menu-group a:focus-visible { text-decoration: underline; color: var(--color-accent-700); }
.pstl-menu-pages { grid-column: 1 / -1; border-top: var(--rule); padding-top: 20px; display: flex; flex-wrap: wrap; gap: 4px 32px; }
.pstl-menu-pages a { font-size: 22px; font-weight: 800; text-decoration: none; padding: 8px 0; display: inline-block; }
@media (max-width: 900px) { .pstl-menu-cols { grid-template-columns: 1fr 1fr; } .pstl-menu-bar { min-height: 64px; } }
@media (max-width: 560px) { .pstl-menu-cols { grid-template-columns: 1fr; } }

/* ==== 6. Hero ============================================================ */
.prp-hero { border-bottom: var(--rule); padding: 48px 0 56px; margin: 0 0 var(--gap-section); }
.prp-hero .prp-split { display: grid; grid-template-columns: 7fr 5fr; gap: var(--gap-col); align-items: start; }
.prp-hero .wp-block-column { width: auto !important; flex-basis: auto !important; }
.prp-eyebrow { font-size: 14px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-neutral-700); margin: 0 0 20px; }
h3.prp-eyebrow { margin-top: 0; font-size: 14px; letter-spacing: 0.08em; }
.prp-lead { font-size: 22px; line-height: 1.55; font-weight: 600; color: var(--color-text); margin: 24px 0 0; }
.prp-hero-img { margin: 0; }
.prp-hero-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 900px) {
  .prp-hero .prp-split { grid-template-columns: 1fr; }
  .prp-hero { padding: 24px 0 32px; }
  .prp-lead { font-size: 20px; }
}
/* Home: full-bleed photo with the text block overlapping bottom-left. */
.home .prp-hero { border-bottom: 0; padding: 0 0 var(--gap-section); }
.home .prp-hero .prp-split { grid-template-columns: 1fr; gap: 0; }
.home .prp-hero .wp-block-column:last-child { order: -1; margin: 0 calc(-1 * var(--gutter)); }
.home .prp-hero .wp-block-column:last-child .prp-hero-img img { width: 100%; height: 720px; aspect-ratio: auto; object-fit: cover; }
.home .prp-hero .wp-block-column:first-child { position: relative; z-index: 2; background: var(--color-bg); width: 720px; max-width: 100%; box-sizing: border-box; padding: 48px 48px 0 0; margin-top: -220px; border-bottom: var(--rule); padding-bottom: 40px; }
@media (max-width: 900px) {
  .home .prp-hero .wp-block-column:last-child .prp-hero-img img { height: 360px; }
  .home .prp-hero .wp-block-column:first-child { width: 100%; margin-top: 0; padding: 24px 0 28px; }
}

/* ==== 7. Body components ================================================= */
.entry-content h2 { border-top: var(--rule); padding-top: 40px; margin-top: var(--gap-section); max-width: none !important; }
.entry-content h2:not(.pstl-poster h2) { padding-right: 30%; }
.entry-content > .prp-hero + h2, .entry-content h2:first-child { border-top: 0; padding-top: 0; margin-top: 0; }
.entry-content p, .entry-content li { color: var(--color-neutral-800); }
.entry-content .prp-lead, .entry-content .prp-tier p, .entry-content .prp-stat p { color: var(--color-text); }
.wp-block-columns:not(.prp-split) { display: grid; grid-template-columns: 5fr 7fr; gap: var(--gap-col); }
@media (max-width: 900px) { .wp-block-columns:not(.prp-split) { grid-template-columns: 1fr; } }

/* Tier callouts: ruled, no fills. Alert = inversion. */
.prp-tier { border: var(--rule); padding: 24px 28px; margin: 0 0 20px; max-width: var(--prose); box-sizing: border-box; }
.prp-tier p:last-child { margin-bottom: 0; }
.prp-tier-alert { background: var(--color-text); color: var(--color-bg); border-color: var(--color-text); }
.prp-tier-alert p, .prp-tier-alert .prp-eyebrow, .prp-tier-alert li { color: var(--color-bg); font-weight: 600; }
.prp-tier-alert a { color: var(--color-bg); }

/* Steps */
.prp-steps ol { counter-reset: step; list-style: none; padding: 0; border-top: var(--rule); }
.prp-steps li { counter-increment: step; border-bottom: var(--rule); padding: 18px 0 18px 64px; position: relative; margin: 0; }
.prp-steps li::before { content: counter(step, decimal-leading-zero); position: absolute; left: 0; top: 20px; font-size: 14px; font-weight: 800; }

/* Stat */
.prp-stat { border-top: var(--rule); border-bottom: var(--rule); padding: 28px 0; margin: 32px 0; max-width: var(--prose); }
.prp-fig { font-size: 64px; font-weight: 800; line-height: 1; letter-spacing: -0.025em; margin: 0 0 12px; }

/* Quote */
.prp-quote { border-left: var(--rule); padding: 8px 0 8px 28px; margin: 32px 0; max-width: var(--prose); }
.prp-q { font-size: 28px; line-height: 1.25; font-weight: 800; letter-spacing: -0.02em; margin: 0 0 12px; }
.prp-attrib { font-size: 14px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-neutral-700); margin: 0; }

/* Drive-time rows */
.prp-access ul { list-style: none; padding: 0; margin: 0 0 24px; border-top: var(--rule); max-width: var(--prose); }
.prp-access li { margin: 0; border-bottom: var(--rule); }
.prp-access a { display: flex; justify-content: space-between; align-items: center; padding: 14px 0; text-decoration: none; min-height: var(--tap); }
.prp-from { font-weight: 800; }
.prp-min { color: var(--color-neutral-700); font-weight: 600; }

/* Ruled card grids: "Which of these is you?", Related reading, Areas we serve */
.pstl-grid { list-style: none; padding: 0; margin: 0 0 var(--gap-section); counter-reset: cell; display: grid; grid-template-columns: repeat(3, 1fr); border-top: var(--rule); border-left: var(--rule); max-width: none; }
.pstl-grid li { counter-increment: cell; margin: 0; border-right: var(--rule); border-bottom: var(--rule); min-height: 260px; padding: 20px 24px 24px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: space-between; position: relative; color: var(--color-neutral-800); }
.pstl-grid li::before { content: counter(cell, decimal-leading-zero); font-size: 14px; font-weight: 800; color: var(--color-text); margin-bottom: 24px; }
.pstl-grid li a { font-weight: 800; font-size: 24px; line-height: 1.1; letter-spacing: -0.015em; text-decoration: none; color: var(--color-text); display: block; margin-bottom: 8px; }
.pstl-grid li a::after { content: ""; position: absolute; inset: 0; }
.pstl-grid li:hover, .pstl-grid li:focus-within { background: var(--color-neutral-200); }
.pstl-grid li:focus-within a { outline: 2px solid var(--color-accent); outline-offset: 2px; }
@media (max-width: 900px) { .pstl-grid { grid-template-columns: 1fr 1fr; } .pstl-grid li { min-height: 150px; padding: 14px 16px 16px; } .pstl-grid li a { font-size: 19px; } }

/* FAQ: shown open, four columns */
.pstl-faq { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px var(--gap-col); margin: 0 0 var(--gap-section); }
.pstl-faq-item h3 { font-size: 20px; line-height: 1.2; margin: 0 0 12px; }
.pstl-faq-item p { font-size: 18px; line-height: 1.6; color: var(--color-neutral-800); margin: 0; }
@media (max-width: 1100px) { .pstl-faq { grid-template-columns: 1fr 1fr; } }
@media (max-width: 640px) { .pstl-faq { grid-template-columns: 1fr; } }

/* In-page contact box (tail: CTA -> Sources -> byline). Ink on ground, ruled; Call is the one red. */
.prp-cta { border-top: var(--rule); border-bottom: var(--rule); padding: 40px 0; margin: var(--gap-section) 0 40px; display: grid; grid-template-columns: 7fr 5fr; gap: var(--gap-col); }
.prp-cta h2 { border-top: 0; padding-top: 0; margin-top: 0; grid-column: 1; }
.prp-cta > p:first-of-type { grid-column: 1; }
.prp-cta .prp-actions { grid-column: 2; grid-row: 1 / span 3; flex-direction: column; align-items: stretch; gap: 8px; }
.prp-cta .prp-actions .wp-block-button__link { width: 100%; min-height: 52px; }
.prp-cta > p:last-child { grid-column: 1; margin: 0; font-weight: 600; }
.prp-fineprint { display: block; font-weight: 400; color: var(--color-neutral-800); font-size: 18px; }
@media (max-width: 900px) { .prp-cta { grid-template-columns: 1fr; } .prp-cta .prp-actions { grid-column: 1; grid-row: auto; } }

/* Sources + byline */
.prp-sources { max-width: var(--prose); }
.prp-sources h2 { font-size: 20px; border-top: var(--rule); padding-top: 24px; margin-top: 0; }
.prp-sources ul { list-style: none; padding: 0; }
.prp-sources li { font-size: 17px; line-height: 1.55; padding: 10px 0; border-bottom: var(--rule); margin: 0; }
.prp-byline { border-top: var(--rule); padding: 24px 0 var(--gap-section); font-size: 18px; max-width: var(--prose); }
.prp-reviewed { color: var(--color-neutral-700); font-weight: 600; }

/* Seals: graphics keep their color */
.prp-seals { border-top: var(--rule); padding-top: 32px; margin: var(--gap-section) 0; max-width: none; }
.prp-seals-h { font-size: 14px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-neutral-700); margin-bottom: 20px; }
.prp-seals-row { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; }
.prp-seals-row figure { margin: 0; width: 96px; }

/* ==== 8. Red poster close (every page, before the footer) ================ */
.pstl-poster { background: var(--color-accent); color: var(--color-bg); padding: 80px 0; margin-top: var(--gap-section); }
.pstl-poster-inner { max-width: var(--content); margin: 0 auto; padding: 0 var(--gutter); box-sizing: border-box; display: grid; grid-template-columns: 7fr 5fr; gap: var(--gap-col); align-items: center; }
.pstl-poster h2 { color: var(--color-bg); font-size: 56px; line-height: 1.02; letter-spacing: -0.025em; margin: 0; border: 0; padding: 0; }
.pstl-poster-actions { display: flex; flex-direction: column; gap: 10px; }
.pstl-poster .btn { min-height: 56px; font-size: 19px; border: 2px solid var(--color-bg); color: var(--color-bg); background: transparent; }
.pstl-poster .btn:hover { background: color-mix(in srgb, var(--color-bg) 14%, transparent); color: var(--color-bg); }
.pstl-poster .btn--fill { background: var(--color-bg); color: var(--color-accent-700); }
.pstl-poster .btn--fill:hover { background: var(--color-surface); color: var(--color-accent-700); }
.pstl-poster :focus-visible { outline-color: var(--color-bg); }
@media (max-width: 900px) { .pstl-poster { padding: 48px 0; } .pstl-poster-inner { grid-template-columns: 1fr; } .pstl-poster h2 { font-size: 36px; } }

/* ==== 9. Footer ========================================================== */
.pstl-footer { border-top: var(--rule); padding: 56px 0 140px; font-size: 17px; line-height: 1.6; }
.pstl-footer-inner { max-width: var(--content); margin: 0 auto; padding: 0 var(--gutter); box-sizing: border-box; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: var(--gap-col); }
.pstl-footer p { margin: 0 0 12px; }
.pstl-footer .pstl-wordmark { font-size: 22px; margin-bottom: 12px; }
.pstl-footer-phone { font-size: 36px; font-weight: 800; letter-spacing: -0.02em; line-height: 1.1; text-decoration: none; display: inline-block; padding: 4px 0; }
.pstl-footer-phone:hover { color: var(--color-accent-700); }
.pstl-footer-legal { font-size: 15px; color: var(--color-neutral-700); }
.pstl-footer-legal a { color: var(--color-neutral-700); }
.pstl-footer-legal ul { list-style: none; padding: 0; margin: 0 0 16px; display: flex; flex-wrap: wrap; gap: 4px 14px; }
.pstl-footer-legal li { margin: 0; }
.pstl-footer-flag { color: var(--color-text); font-weight: 600; font-size: 17px; }
@media (max-width: 900px) { .pstl-footer-inner { grid-template-columns: 1fr; gap: 32px; } .pstl-footer { padding-bottom: 130px; } }

/* ==== 10. Mobile sticky bar ============================================== */
.pstl-sticky { display: none; }
@media (max-width: 900px) {
  .pstl-sticky { display: grid; grid-template-columns: 1fr 1fr; position: fixed; left: 0; right: 0; bottom: 0; height: 60px; z-index: 50; border-top: var(--rule); background: var(--color-bg); }
  .pstl-sticky a { display: flex; align-items: center; justify-content: flex-start; padding: 0 20px; font-size: 18px; font-weight: 800; text-decoration: none; color: var(--color-text); }
  .pstl-sticky a:first-child { background: var(--color-accent); color: var(--color-bg); }
  .pstl-sticky a:first-child:hover { background: var(--color-accent-600); }
}

/* The Retell chat bubble is fixed at bottom:24px; on phones lift it above the sticky bar. */
/* The bubble is position:fixed inside the widget's shadow root, out of reach of page CSS; a transform on the host makes the host its containing block, so the host's bottom offset carries the bubble with it. */
@media (max-width: 900px) { #retell-widget-root { bottom: 76px !important; transform: translateZ(0); } }

/* ==== 11. Articles index rows =========================================== */
.pstl-rows { border-top: var(--rule); margin: 32px 0 var(--gap-section); }
.pstl-row { border-bottom: var(--rule); padding: 24px 0; display: grid; grid-template-columns: 160px 1fr; gap: 24px; align-items: start; }
.pstl-row .wp-block-post-date { font-size: 14px; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; color: var(--color-neutral-700); padding-top: 6px; }
.pstl-row .wp-block-post-title { font-size: 24px; line-height: 1.15; letter-spacing: -0.015em; margin: 0 0 8px; font-weight: 800; }
.pstl-row .wp-block-post-title a { text-decoration: none; }
.pstl-row .wp-block-post-title a:hover { text-decoration: underline; }
.pstl-row .wp-block-post-excerpt__excerpt { font-size: 18px; color: var(--color-neutral-800); margin: 0; }
.pstl-row .wp-block-post-excerpt__more-text { display: none; }
@media (max-width: 640px) { .pstl-row { grid-template-columns: 1fr; gap: 6px; } }
.wp-block-query-pagination { margin: 24px 0; font-weight: 800; }

/* Hide the theme's own post title on hero pages (the hero carries the H1) */
.wp-block-post-title.pstl-hidden { display: none; }
/* TT5 leftovers we do not want */
.wp-block-post-featured-image { display: none; }
.entry-content .prp-hero .wp-block-post-featured-image { display: block; }

/* ==== 12. Brand lockup ================================================== */
.pstl-lockup { display: inline-flex; align-items: center; text-decoration: none; min-height: var(--tap); }
.pstl-lockup-svg { height: 64px; width: auto; display: block; }
.pstl-mark-mobile { display: none; height: 48px; width: 48px; }
.pstl-footer .pstl-lockup-svg { height: 60px; }
.pstl-menu-bar .pstl-lockup-svg { height: 56px; }
@media (max-width: 900px) {
  .pstl-masthead .pstl-lockup-svg, .pstl-menu-bar .pstl-lockup-svg { display: none; }
  .pstl-masthead .pstl-mark-mobile, .pstl-menu-bar .pstl-mark-mobile { display: block; }
  .pstl-footer .pstl-lockup-svg { height: 56px; }
}
.pstl-poster-mark { height: 56px; width: 56px; display: block; margin-bottom: 24px; }
.pstl-poster-copy { grid-column: 1; }
.pstl-masthead .pstl-lockup-svg { height: 68px; }
/* Footer legal block */
.pstl-footer-legalrow { max-width: var(--content); margin: 40px auto 0; padding: 28px var(--gutter) 0; box-sizing: border-box; border-top: var(--rule); font-size: 15px; line-height: 1.6; color: var(--color-neutral-700); display: grid; grid-template-columns: 1fr 1fr; gap: 12px var(--gap-col); }
.pstl-footer-legalrow p { margin: 0 0 8px; }
.pstl-footer-legalrow a { color: var(--color-neutral-700); }
.pstl-footer-legalrow strong { color: var(--color-text); font-weight: 600; }
@media (max-width: 900px) { .pstl-footer-legalrow { grid-template-columns: 1fr; } }
