/* ===================================================================
   HAWC-EN · page content styles · Direction A "Crimson Review"
   Loaded site-wide via theme assets/css/tailwind.css slot (baseline auto-enqueue).
   Page HTML uses these classes + inline style="" only — never a <style> block (L85).
   Responsive @media lives here, so the theme layer owns all breakpoints.
   =================================================================== */

/* Self-hosted fonts (L107 · latin-subset woff2 · no Google CDN).
   Inter 400/500/600 come from baseline assets/fonts.css; here we add the rest. */
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400;font-display:swap;src:url("/wp-content/themes/hanlin-portal-base/assets/fonts/newsreader-400-normal.woff2") format("woff2");}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:500;font-display:swap;src:url("/wp-content/themes/hanlin-portal-base/assets/fonts/newsreader-500-normal.woff2") format("woff2");}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:600;font-display:swap;src:url("/wp-content/themes/hanlin-portal-base/assets/fonts/newsreader-600-normal.woff2") format("woff2");}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:700;font-display:swap;src:url("/wp-content/themes/hanlin-portal-base/assets/fonts/newsreader-700-normal.woff2") format("woff2");}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:400;font-display:swap;src:url("/wp-content/themes/hanlin-portal-base/assets/fonts/newsreader-400-italic.woff2") format("woff2");}
@font-face{font-family:'Newsreader';font-style:italic;font-weight:500;font-display:swap;src:url("/wp-content/themes/hanlin-portal-base/assets/fonts/newsreader-500-italic.woff2") format("woff2");}
@font-face{font-family:'Inter';font-style:normal;font-weight:700;font-display:swap;src:url("/wp-content/themes/hanlin-portal-base/assets/fonts/inter-700-normal.woff2") format("woff2");}
@font-face{font-family:'Inter';font-style:normal;font-weight:800;font-display:swap;src:url("/wp-content/themes/hanlin-portal-base/assets/fonts/inter-800-normal.woff2") format("woff2");}

:root{
  --hawc-crimson:#A51C30; --hawc-crimson-deep:#86142A; --hawc-crimson-soft:#F3E2E2;
  --hawc-cream:#FBF8F3; --hawc-white:#FFFFFF; --hawc-surface:#F6F1E8;
  --hawc-ink:#1A1714; --hawc-muted:#6B6359; --hawc-faint:#94897A; --hawc-rule:#E7E0D2;
  --hawc-serif:'Newsreader',Georgia,'Times New Roman',serif;
  --hawc-sans:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}

/* ---- layout primitives ---- */
.hawc-page{ font-family:var(--hawc-sans); color:var(--hawc-ink); background:var(--hawc-cream); }
.hawc-wrap{ max-width:1180px; margin:0 auto; padding-left:28px; padding-right:28px; }
.hawc-narrow{ max-width:840px; margin-left:auto; margin-right:auto; }
.hawc-sec{ padding:66px 0; }
.hawc-sec-sm{ padding:46px 0; }
.bg-cream{ background:var(--hawc-cream); }
.bg-white{ background:var(--hawc-white); }
.bg-surface{ background:var(--hawc-surface); }
.bg-ink{ background:var(--hawc-ink); }
.border-top-rule{ border-top:1px solid var(--hawc-rule); }

/* ---- editorial type ---- */
.hawc-erule{ width:48px; height:3px; background:var(--hawc-crimson); border-radius:2px; margin-bottom:20px; }
.hawc-kicker{ font-family:var(--hawc-sans); font-size:12px; font-weight:700; letter-spacing:.18em; text-transform:uppercase; color:var(--hawc-crimson); margin:0 0 16px; }
.hawc-h1{ font-family:var(--hawc-serif); font-weight:500; font-size:clamp(33px,5vw,56px); line-height:1.05; letter-spacing:-.012em; color:var(--hawc-ink); margin:0; }
.hawc-h2{ font-family:var(--hawc-serif); font-weight:600; font-size:clamp(25px,3.2vw,37px); line-height:1.1; letter-spacing:-.01em; color:var(--hawc-ink); margin:0 0 14px; }
.hawc-h3{ font-family:var(--hawc-serif); font-weight:600; font-size:21px; line-height:1.2; color:var(--hawc-ink); margin:0 0 8px; }
.hawc-crimson{ color:var(--hawc-crimson); }
.hawc-lede{ font-family:var(--hawc-serif); font-style:italic; font-size:clamp(18px,2.1vw,22px); line-height:1.5; color:var(--hawc-muted); margin:20px 0 0; }
.hawc-p{ font-size:16px; line-height:1.75; color:#33302A; margin:0 0 16px; }
.hawc-p:last-child{ margin-bottom:0; }
.hawc-p-muted{ color:var(--hawc-muted); }
.hawc-small{ font-size:13px; color:var(--hawc-faint); }
.hawc-sec-kicker{ font-family:var(--hawc-sans); font-size:12px; font-weight:700; letter-spacing:.15em; text-transform:uppercase; color:var(--hawc-faint); display:flex; align-items:center; gap:14px; margin:0 0 26px; }
.hawc-sec-kicker::after{ content:""; flex:1; height:1px; background:var(--hawc-rule); }

/* ---- hero stat band ---- */
.hawc-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; margin-top:42px; border-top:1px solid var(--hawc-rule); border-bottom:1px solid var(--hawc-rule); }
.hawc-stat{ padding:24px 22px 22px; border-left:1px solid var(--hawc-rule); }
.hawc-stat:first-child{ border-left:0; padding-left:0; }
.hawc-stat-n{ font-family:var(--hawc-serif); font-weight:500; font-size:34px; line-height:1; color:var(--hawc-crimson); letter-spacing:-.01em; }
.hawc-stat-l{ font-family:var(--hawc-sans); font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; color:var(--hawc-muted); margin-top:10px; line-height:1.4; }

/* ---- card grids ---- */
.hawc-grid-2{ display:grid; grid-template-columns:repeat(2,1fr); gap:22px; }
.hawc-grid-3{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.hawc-card{ background:var(--hawc-white); border:1px solid var(--hawc-rule); border-radius:10px; padding:26px 26px; }
.hawc-card-no{ font-family:var(--hawc-sans); font-size:12px; font-weight:700; letter-spacing:.06em; color:var(--hawc-crimson); }
.hawc-card-tag{ display:inline-block; font-family:var(--hawc-sans); font-size:11px; font-weight:700; letter-spacing:.05em; text-transform:uppercase; color:var(--hawc-crimson); background:var(--hawc-crimson-soft); padding:3px 9px; border-radius:999px; margin-top:14px; }

/* ---- numbered steps (how it works) ---- */
.hawc-steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:0; }
.hawc-step{ padding:0 24px; border-left:1px solid var(--hawc-rule); }
.hawc-step:first-child{ border-left:0; padding-left:0; }
.hawc-step-n{ font-family:var(--hawc-serif); font-size:30px; color:var(--hawc-crimson); line-height:1; }
.hawc-step-t{ font-family:var(--hawc-serif); font-weight:600; font-size:18px; margin:12px 0 8px; color:var(--hawc-ink); }
.hawc-step-d{ font-size:14px; line-height:1.6; color:var(--hawc-muted); }

/* ---- two-column figure (rubric / image + text) ---- */
.hawc-split{ display:grid; grid-template-columns:1.1fr 1fr; gap:42px; align-items:center; }
.hawc-figure{ background:var(--hawc-white); border:1px solid var(--hawc-rule); border-radius:10px; padding:20px; }
.hawc-figure img{ width:100%; height:auto; border-radius:4px; display:block; }
.hawc-figure figcaption{ font-size:12px; color:var(--hawc-faint); margin-top:10px; text-align:center; }

/* ---- awards tiers ---- */
.hawc-tiers{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.hawc-tier{ background:var(--hawc-white); border:1px solid var(--hawc-rule); border-top:3px solid var(--hawc-crimson); border-radius:8px; padding:22px 24px; }
.hawc-tier-pct{ font-family:var(--hawc-serif); font-size:30px; color:var(--hawc-ink); line-height:1; }
.hawc-tier-name{ font-family:var(--hawc-sans); font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--hawc-crimson); margin-top:8px; }
.hawc-tier-d{ font-size:13.5px; line-height:1.55; color:var(--hawc-muted); margin-top:10px; }

/* ---- calendar table ---- */
.hawc-table{ width:100%; border-collapse:collapse; background:var(--hawc-white); border:1px solid var(--hawc-rule); border-radius:10px; overflow:hidden; font-size:14.5px; }
.hawc-table th,.hawc-table td{ text-align:left; padding:14px 18px; border-bottom:1px solid var(--hawc-rule); }
.hawc-table thead th{ background:var(--hawc-ink); color:var(--hawc-cream); font-family:var(--hawc-sans); font-size:12px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.hawc-table td.cyc{ font-family:var(--hawc-serif); font-weight:600; color:var(--hawc-ink); }
.hawc-table tbody tr:last-child td{ border-bottom:0; }
/* 2026 calendar table -> stacked cards on mobile (4 cols don't fit 375px; baseline overflow-x:clip would cut the last column off) */
@media (max-width:640px){
  .hawc-table thead{ display:none; }
  .hawc-table, .hawc-table tbody, .hawc-table tr, .hawc-table td{ display:block; width:auto; }
  .hawc-table tr{ border-bottom:1px solid var(--hawc-rule); padding-bottom:8px; }
  .hawc-table tbody tr:last-child{ border-bottom:0; padding-bottom:0; }
  .hawc-table td{ border:0; padding:7px 18px; display:flex; justify-content:space-between; align-items:baseline; gap:18px; font-size:14px; }
  .hawc-table td::before{ content:attr(data-label); font-family:var(--hawc-sans); font-weight:700; font-size:10.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--hawc-faint); flex:0 0 auto; }
  .hawc-table td.cyc{ font-size:19px; color:var(--hawc-crimson); padding:14px 18px 8px; }
  .hawc-table td.cyc::before{ display:none; }
}

/* ---- bullet list ---- */
.hawc-ul{ list-style:none; padding:0; margin:0; }
.hawc-ul li{ position:relative; padding-left:26px; margin-bottom:12px; font-size:15.5px; line-height:1.6; color:#33302A; }
.hawc-ul li::before{ content:""; position:absolute; left:0; top:9px; width:8px; height:8px; border-radius:50%; background:var(--hawc-crimson); }

/* ---- FAQ accordion (CSS-only via <details>) ---- */
.hawc-faq{ border-top:1px solid var(--hawc-rule); }
.hawc-faq details{ border-bottom:1px solid var(--hawc-rule); }
.hawc-faq summary{ list-style:none; cursor:pointer; padding:20px 40px 20px 0; position:relative; font-family:var(--hawc-serif); font-weight:600; font-size:19px; color:var(--hawc-ink); }
.hawc-faq summary::-webkit-details-marker{ display:none; }
.hawc-faq summary::after{ content:"+"; position:absolute; right:6px; top:18px; font-family:var(--hawc-sans); font-size:24px; font-weight:400; color:var(--hawc-crimson); transition:transform .2s; }
.hawc-faq details[open] summary::after{ content:"\2212"; }
.hawc-faq .hawc-faq-a{ padding:0 0 22px; font-size:15.5px; line-height:1.7; color:var(--hawc-muted); max-width:760px; }

/* ---- pull quote ---- */
.hawc-pull{ border-left:3px solid var(--hawc-crimson); padding:4px 0 4px 24px; font-family:var(--hawc-serif); font-style:italic; font-size:clamp(20px,2.5vw,26px); line-height:1.4; color:var(--hawc-ink); margin:0; }

/* ---- disclaimer band ---- */
.hawc-disclaimer{ background:var(--hawc-surface); border:1px solid var(--hawc-rule); border-radius:8px; padding:18px 22px; font-size:13px; line-height:1.65; color:var(--hawc-muted); }
.hawc-disclaimer strong{ color:var(--hawc-ink); font-weight:600; }

/* ---- inline button (section CTA links, not the toolbox contact CTA) ---- */
.hawc-btn{ display:inline-flex; align-items:center; gap:8px; background:var(--hawc-crimson); color:#fff !important; font-family:var(--hawc-sans); font-size:14px; font-weight:700; text-decoration:none; padding:13px 22px; border-radius:5px; transition:background .15s; }
.hawc-btn:hover{ background:var(--hawc-crimson-deep); }
.hawc-btn-ghost{ background:transparent; color:var(--hawc-crimson) !important; border:1.5px solid var(--hawc-crimson); }
.hawc-btn-ghost:hover{ background:var(--hawc-crimson-soft); }
.hawc-link{ color:var(--hawc-crimson); font-weight:600; text-decoration:none; border-bottom:1px solid var(--hawc-crimson); }

/* ---- hero specifics ---- */
.hawc-hero{ padding:60px 0 54px; }
.hawc-hero .hawc-h1{ max-width:17ch; }
.hawc-hero .hawc-lede{ max-width:60ch; }

/* home hero · 2-col with "at a glance" panel (fills the right · type-forward) */
.hawc-hero-grid{ display:grid; grid-template-columns:1.32fr 0.9fr; gap:54px; align-items:center; }
.hawc-hero-main .hawc-h1{ max-width:15ch; }
.hawc-hero-main .hawc-lede{ max-width:52ch; }
.hawc-hero-panel{ background:var(--hawc-white); border:1px solid var(--hawc-rule); border-radius:12px; padding:24px 30px 26px; box-shadow:0 10px 30px rgba(26,23,20,.05); }
.hawc-hero-panel-h{ font-family:var(--hawc-sans); font-size:11px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--hawc-faint); padding-bottom:16px; border-bottom:1px solid var(--hawc-rule); }
.hawc-hero-statgrid{ display:grid; grid-template-columns:1fr 1fr; gap:24px 20px; margin-top:20px; }
.hawc-hs-n{ font-family:var(--hawc-serif); font-weight:500; font-size:29px; line-height:1; color:var(--hawc-crimson); letter-spacing:-.01em; }
.hawc-hs-l{ font-family:var(--hawc-sans); font-size:11px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--hawc-muted); margin-top:9px; line-height:1.35; }
.hawc-hero-panel-link{ display:block; margin-top:20px; padding-top:16px; border-top:1px solid var(--hawc-rule); font-family:var(--hawc-sans); font-size:13px; font-weight:700; color:var(--hawc-crimson); text-decoration:none; }
.hawc-hero-panel-link:hover{ color:var(--hawc-crimson-deep); }
/* hero panel · list variant (deadlines / tiers / facts / mini-TOC) */
.hawc-hero-list{ list-style:none; padding:0; margin:18px 0 0; }
.hawc-hero-list li{ display:flex; justify-content:space-between; align-items:baseline; gap:16px; padding:11px 0; border-bottom:1px solid var(--hawc-rule); }
.hawc-hero-list li:last-child{ border-bottom:0; }
.hawc-hero-list .k{ font-family:var(--hawc-sans); font-size:14px; color:var(--hawc-ink); font-weight:600; }
.hawc-hero-list .v{ font-family:var(--hawc-serif); font-size:17px; color:var(--hawc-crimson); white-space:nowrap; }
.hawc-hero-list.plain li{ display:block; padding:10px 0 10px 16px; position:relative; }
.hawc-hero-list.plain li::before{ content:""; position:absolute; left:0; top:17px; width:6px; height:6px; border-radius:50%; background:var(--hawc-crimson); }
.hawc-hero-panel-cap{ font-family:var(--hawc-sans); font-size:12px; color:var(--hawc-faint); margin-top:16px; padding-top:14px; border-top:1px solid var(--hawc-rule); line-height:1.5; }

/* =================================================================
   Responsive — theme layer owns all breakpoints (L85 / L86 fit-test)
   ================================================================= */
@media (max-width:880px){
  .hawc-sec{ padding:46px 0; }
  .hawc-hero-grid{ grid-template-columns:1fr; gap:30px; }
  .hawc-grid-3,.hawc-grid-2,.hawc-tiers{ grid-template-columns:1fr; }
  .hawc-steps{ grid-template-columns:1fr 1fr; }
  .hawc-step{ border-left:0; padding-left:0; padding-bottom:22px; }
  .hawc-split{ grid-template-columns:1fr; gap:26px; }
  /* stats: short label + short number → keep 2x2 (L86 fit-test passes) */
  .hawc-stats{ grid-template-columns:1fr 1fr; }
  .hawc-stat{ border-left:0; padding-left:0; padding-right:0; border-top:1px solid var(--hawc-rule); }
  .hawc-stat:first-child{ border-top:0; }
  .hawc-stat:nth-child(2){ border-top:0; }
}
@media (max-width:520px){
  .hawc-steps{ grid-template-columns:1fr; }
}

/* ===================================================================
   /news/ archive (index.html) + single-post meta row
   =================================================================== */
.hawc-archive-head{ margin-bottom:38px; padding-bottom:28px; border-bottom:1px solid var(--hawc-rule); }
/* L115 strips padding-top/bottom on direct .wp-site-blocks children (the archive +
   single mains hold content directly, no hero) — restore top breathing room under the
   fixed header with a higher-specificity !important override. */
/* 🔴 block-template mains (archive/single) hold content directly — baseline zeros root
   padding (--wp--style--root--padding-*:0) so they lose BOTH top/bottom (L115) AND
   left/right side padding → mobile edge-touch. Force all four sides here with a
   higher-specificity !important shorthand so the content never touches the viewport edge. */
.wp-site-blocks > main.hawc-archive{ padding:52px clamp(20px,5vw,28px) 60px !important; }
.wp-site-blocks > main.hawc-single{ padding:44px clamp(20px,5vw,28px) 56px !important; }
.hawc-archive .wp-block-post-template{ list-style:none; padding:0; margin:0; }
.hawc-archive .wp-block-post-template > li,
.hawc-archive .wp-block-post-template > .wp-block-post{ padding:28px 0; border-bottom:1px solid var(--hawc-rule); }
.hawc-archive .wp-block-post-title{ font-family:var(--hawc-serif); font-size:25px; font-weight:600; line-height:1.18; margin:0 0 8px; }
.hawc-archive .wp-block-post-title a{ color:var(--hawc-ink); text-decoration:none; }
.hawc-archive .wp-block-post-title a:hover{ color:var(--hawc-crimson); }
.hawc-archive .wp-block-post-date{ font-size:13px; color:var(--hawc-faint); margin:0 0 10px; }
.hawc-archive .wp-block-post-excerpt{ font-size:15.5px; line-height:1.7; color:var(--hawc-muted); margin:0; }
.hawc-archive .wp-block-post-excerpt p{ margin:0; }
.hawc-archive .wp-block-post-excerpt__more-link{ color:var(--hawc-crimson); font-weight:600; text-decoration:none; }
/* pagination — cohesive centered button row: numbers as square pills, current page filled
   crimson, prev/next as arrowed buttons. Overrides the block's space-between layout (which
   strands "Next" on the far right on a 2-page set) so the controls cluster neatly centered.
   Specificity (.hawc-archive .wp-block-query-pagination = 0,2,0) beats the block's injected
   layout class, so no !important is needed. */
.hawc-archive .wp-block-query-pagination{
	margin-top:44px; padding-top:30px; border-top:1px solid var(--hawc-rule);
	display:flex; flex-wrap:wrap; justify-content:center; align-items:center;
	gap:8px; row-gap:10px; font-family:var(--hawc-sans); font-size:14px;
}
.hawc-archive .wp-block-query-pagination-numbers{ display:flex; align-items:center; gap:8px; }
/* WP's space-between layout strands prev/next at the edges via `margin-inline-start/end:auto`
   (a LOGICAL prop, selector specificity 0,4,0). An auto margin overrides justify-content:center,
   and a physical `margin:0` can't cancel a logical `margin-inline` — so reset the logical margins
   with !important (WP's rule outranks ours on specificity and isn't itself important). */
.hawc-archive .wp-block-query-pagination-previous,
.hawc-archive .wp-block-query-pagination-numbers,
.hawc-archive .wp-block-query-pagination-next{ margin:0; margin-inline:0 !important; }
.hawc-archive .wp-block-query-pagination .page-numbers,
.hawc-archive .wp-block-query-pagination-previous,
.hawc-archive .wp-block-query-pagination-next{
	display:inline-flex; align-items:center; justify-content:center; gap:5px;
	min-width:42px; height:42px; padding:0 13px; box-sizing:border-box;
	border:1px solid var(--hawc-rule); border-radius:10px;
	background:var(--hawc-white); color:var(--hawc-ink); font-weight:600;
	line-height:1; text-decoration:none;
	transition:border-color .15s ease, color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.hawc-archive .wp-block-query-pagination a.page-numbers:hover,
.hawc-archive .wp-block-query-pagination-previous:hover,
.hawc-archive .wp-block-query-pagination-next:hover{
	border-color:var(--hawc-crimson); color:var(--hawc-crimson);
	box-shadow:0 4px 12px rgba(165,28,48,.10); transform:translateY(-1px);
}
.hawc-archive .wp-block-query-pagination .page-numbers.current{
	background:var(--hawc-crimson); border-color:var(--hawc-crimson); color:#fff; font-weight:700;
}
.hawc-archive .wp-block-query-pagination .page-numbers.dots{
	border:none; background:none; box-shadow:none; min-width:20px; padding:0;
	color:var(--hawc-faint); transform:none;
}
.hawc-archive .wp-block-query-pagination-previous,
.hawc-archive .wp-block-query-pagination-next{ padding:0 17px; }
.hawc-archive .wp-block-query-pagination-previous::before{ content:"\2039"; font-size:18px; margin-top:-2px; }
.hawc-archive .wp-block-query-pagination-next::after{ content:"\203A"; font-size:18px; margin-top:-2px; }
@media (max-width:600px){
	.hawc-archive .wp-block-query-pagination .page-numbers,
	.hawc-archive .wp-block-query-pagination-previous,
	.hawc-archive .wp-block-query-pagination-next{ min-width:40px; height:40px; padding:0 12px; }
	.hawc-archive .wp-block-query-pagination-previous,
	.hawc-archive .wp-block-query-pagination-next{ padding:0 14px; }
}

.hawc-single-meta{ align-items:center; }
.hawc-single-meta .wp-block-post-terms{ font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; }
.hawc-single-meta .wp-block-post-terms a{ color:#fff; background:var(--hawc-crimson); padding:3px 9px; border-radius:3px; text-decoration:none; }
.hawc-single-meta .wp-block-post-date{ font-size:13px; color:var(--hawc-faint); }

/* related posts (single · [hawc_related]) */
.hawc-related{ margin-top:48px; padding-top:36px; border-top:1px solid var(--hawc-rule); }
.hawc-related-h{ font-family:var(--hawc-sans); font-size:12px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--hawc-faint); margin-bottom:20px; }
.hawc-related-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.hawc-related-card{ display:flex; flex-direction:column; background:var(--hawc-white); border:1px solid var(--hawc-rule); border-radius:10px; padding:20px; text-decoration:none; transition:border-color .15s, box-shadow .15s; }
.hawc-related-card:hover{ border-color:var(--hawc-crimson); box-shadow:0 6px 18px rgba(26,23,20,.06); }
.hawc-related-date{ font-family:var(--hawc-sans); font-size:12px; color:var(--hawc-faint); }
.hawc-related-title{ font-family:var(--hawc-serif); font-weight:600; font-size:18px; line-height:1.25; color:var(--hawc-ink); margin:8px 0 14px; }
.hawc-related-card:hover .hawc-related-title{ color:var(--hawc-crimson); }
.hawc-related-more{ margin-top:auto; font-family:var(--hawc-sans); font-size:13px; font-weight:700; color:var(--hawc-crimson); }

/* prev/next nav — scoped under .hawc-single to beat baseline style.css (loads after tailwind.css) */
.hawc-single .hl-post-nav{ display:flex; gap:16px; flex-wrap:wrap; border-top:1px solid var(--hawc-rule); padding-top:28px; margin-top:48px; }
.hawc-single .hl-post-nav .wp-block-post-navigation-link{ position:relative; flex:0 1 calc(50% - 8px); max-width:none; border:1px solid var(--hawc-rule); border-radius:10px; padding:16px 20px; background:var(--hawc-white); font-size:1rem; transition:border-color .15s, box-shadow .15s; }
.hawc-single .hl-post-nav .wp-block-post-navigation-link:empty{ display:none; }
.hawc-single .hl-post-nav .wp-block-post-navigation-link:hover{ border-color:var(--hawc-crimson); box-shadow:0 6px 18px rgba(26,23,20,.06); }
.hawc-single .hl-post-nav .post-navigation-link-next{ margin-left:auto; text-align:right; }
.hawc-single .hl-post-nav .post-navigation-link__label{ display:block; font-family:var(--hawc-sans); font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--hawc-faint); margin-bottom:6px; }
.hawc-single .hl-post-nav .wp-block-post-navigation-link a{ font-family:var(--hawc-serif); font-weight:600; font-size:17px; color:var(--hawc-ink); text-decoration:none; line-height:1.25; }
.hawc-single .hl-post-nav .wp-block-post-navigation-link:hover a{ color:var(--hawc-crimson); text-decoration:none; }
.hawc-single .hl-post-nav .wp-block-post-navigation-link a::after{ content:""; position:absolute; inset:0; }
@media (max-width:600px){
  .hawc-related-grid{ grid-template-columns:1fr; }
  .hawc-single .hl-post-nav .wp-block-post-navigation-link{ flex:1 1 100%; }
}

/* ── "How to enter" callout · [hawc_enter_help] · WeChat QR primary + WhatsApp secondary ─────── */
.hawc-enter-help{ background:var(--hawc-crimson-soft); border:1px solid #E7C4C8; border-radius:12px; padding:30px 34px; }
.hawc-enter-help-h{ font-family:var(--hawc-serif); font-weight:600; font-size:clamp(21px,2.5vw,27px);
  line-height:1.15; letter-spacing:-.01em; color:var(--hawc-ink); margin:0 0 10px; }
.hawc-enter-help-p{ font-family:var(--hawc-sans); font-size:15px; line-height:1.6; color:var(--hawc-muted); margin:0; }
.hawc-enter-help-p strong{ color:var(--hawc-ink); font-weight:700; }
/* desktop: text top-left, secondary button bottom-left, WeChat QR (primary) on the right */
.hawc-enter-help.has-qr{ display:grid; grid-template-columns:auto auto; grid-template-areas:"text qr" "btn qr";
  column-gap:50px; row-gap:18px; align-items:center; justify-content:center; }
.hawc-enter-help-text{ grid-area:text; max-width:56ch; }
.hawc-enter-help-qr{ grid-area:qr; align-self:center; display:flex; flex-direction:column; align-items:center; gap:9px; margin:0; }
.hawc-enter-help-qrimg{ width:158px; height:158px; object-fit:contain; background:#fff; border-radius:10px; padding:8px;
  box-sizing:border-box; display:block; box-shadow:0 3px 10px rgba(123,20,40,.12); }
.hawc-enter-help-qr figcaption{ font-family:var(--hawc-sans); font-size:12.5px; font-weight:600; letter-spacing:.01em; color:var(--hawc-ink); text-align:center; }
/* secondary WhatsApp button — outline/ghost, clearly less prominent than the QR */
.hawc-enter-help-btn-2nd{ grid-area:btn; justify-self:start; display:inline-block; box-sizing:border-box; background:transparent;
  color:var(--hawc-crimson); border:1.5px solid var(--hawc-crimson); border-radius:6px; padding:10px 20px;
  font-family:var(--hawc-sans); font-weight:700; font-size:14px; text-decoration:none; transition:background .15s ease,color .15s ease; }
.hawc-enter-help-btn-2nd:hover{ background:var(--hawc-crimson); color:#fff; }
.hawc-enter-help:not(.has-qr) .hawc-enter-help-btn-2nd{ margin-top:18px; }
@media (max-width:760px){
  .hawc-enter-help{ padding:26px 22px; }
  /* mobile: centered stack in source order → text, WeChat QR (primary), then secondary button */
  .hawc-enter-help.has-qr{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:18px; }
  .hawc-enter-help-text{ max-width:none; }
}
