/* =====================================================================
   ChallengeEU Stories — article layout for regular WordPress posts
   Scoped under .ceus (light DOM, friendly to a11y widgets like Ally).
   Ported from the approved challengeeu-stories preview: base + article +
   wide-hero + WP-block coverage. No accent duotone, no CTA band.
   ===================================================================== */

/* ---------- scoped reset ---------- */
.ceus, .ceus *, .ceus *::before, .ceus *::after{ box-sizing:border-box; }
.ceus :where(h1,h2,h3,h4,p,ul,ol,li,figure,figcaption,blockquote,dl,dt,dd){
  margin:0; padding:0; border:0; color:inherit; }
.ceus :where(h1,h2,h3,h4){ font-family:inherit; font-size:inherit; font-weight:inherit; line-height:inherit; }
.ceus :where(ul,ol){ list-style:none; }

/* ---------- design tokens ---------- */
.ceus{
  --ink:#2A2C37; --ink-soft:#3A3D4B;
  --orange:#F16E22; --orange-deep:#D95B12;
  --cream:#F2F0EB; --paper:#FFFFFF;
  --serif:"Alegreya",Georgia,"Times New Roman",serif;
  --sans:"Source Sans 3","Source Sans Pro",Arial,sans-serif;
  --pad:clamp(20px,4.5vw,64px);
  font-family:var(--sans); font-size:max(1.0625rem, 15px); line-height:1.6;
  color:var(--ink);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.ceus ::selection{ background:var(--orange); color:#fff; }
.ceus img{ display:block; max-width:100%; height:auto; }
.ceus a{ color:inherit; text-decoration:none; }
.ceus button{ font:inherit; border:0; background:none; cursor:pointer; color:inherit; }
/* no border-radius here: it outranked round buttons and pill chips, turning
   them square the moment they took keyboard focus */
.ceus :focus-visible{ outline:3px solid var(--orange); outline-offset:3px; }
.ceus.ceus-anim-off *, .ceus.ceus-anim-off *::before, .ceus.ceus-anim-off *::after{
  animation:none !important; transition:none !important; }

.ceus-grain{ position:relative; }
.ceus-grain::after{
  content:""; position:absolute; inset:0; pointer-events:none; opacity:.05; mix-blend-mode:multiply;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- shared primitives ---------- */
.ceus-wrap{ max-width:1200px; margin:0 auto; padding-left:var(--pad); padding-right:var(--pad); }
.ceus-overline{ display:flex; align-items:center; gap:14px; font-weight:700; letter-spacing:.28em;
  text-transform:uppercase; font-size:0.8125rem; }
.ceus-overline i{ width:46px; height:6px; border-radius:3px; background:var(--orange); flex:none;
  transform-origin:left center; }
.ceus-display{ font-family:var(--serif); font-weight:800; line-height:1.02; letter-spacing:-.015em; }
.ceus-display em{ font-style:italic; font-weight:700; color:var(--orange); }
.ceus-chip{ display:inline-block; font-size:0.75rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase;
  padding:6px 12px; border-radius:999px; background:var(--ink); color:var(--cream); line-height:1.4; }
.ceus-chip--soft{ background:var(--paper); color:var(--ink); box-shadow:inset 0 0 0 1.5px rgba(42,44,55,.6); }
.ceus-chip--orange{ background:var(--orange); color:var(--ink); }
/* Tag chips link to their tag archive. The end-of-article chips sit inside
   .ceus-art-prose, whose `a` rule (underline, weight 600, hover wash) outranks
   the chip classes, so the chip look is restated at link specificity — enough
   to win in the rail and in the prose alike. */
.ceus a.ceus-chip--link{ font-weight:700; color:var(--ink); background:var(--paper);
  box-shadow:inset 0 0 0 1.5px rgba(42,44,55,.6); transition:background .2s, color .2s, box-shadow .2s; }
.ceus a.ceus-chip--link:hover{ background:var(--ink); color:var(--cream); box-shadow:inset 0 0 0 1.5px var(--ink); }
.ceus-split .w{ display:inline-block; overflow:hidden; vertical-align:top; padding-bottom:.08em; margin-bottom:-.08em; }
.ceus-split .wi{ display:inline-block; will-change:transform; }

/* =====================================================================
   ARTICLE HERO (wide — landscape featured image)
   ===================================================================== */
.ceus-article{ background:var(--paper); }
.ceus-art-hero{ background:var(--cream); overflow:hidden; position:relative; }
.ceus-art-head{ padding:clamp(46px,7vh,88px) 0 clamp(26px,3.5vh,40px); }
.ceus-art-kicker{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; }
.ceus-art-kicker .when{ font-size:0.8125rem; font-weight:700; letter-spacing:.18em; text-transform:uppercase;
  color:var(--ink-soft); margin-left:8px; }
.ceus-art-head h1{ font-size:clamp(2.125rem,4.6vw,4.25rem); margin:22px 0 22px; max-width:20ch;
  font-family:var(--serif); font-weight:800; overflow-wrap:break-word; }
.ceus-art-stand{ font-size:clamp(1.125rem,1.7vw,1.375rem); line-height:1.6; max-width:64ch; color:var(--ink-soft); }
.ceus-art-stand b{ color:var(--ink); }

/* z-index keeps the cover above the outline watermark painted later in the DOM */
.ceus-art-cover{ position:relative; z-index:1; margin:0 0 clamp(30px,5vh,58px); border-radius:22px;
  overflow:hidden; border:1.5px solid rgba(42,44,55,.35); background:var(--cream); aspect-ratio:16/9; }
.ceus-art-cover img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ceus-art-cover figcaption{ position:absolute; left:14px; bottom:14px; right:14px; z-index:2;
  display:flex; flex-wrap:wrap; gap:8px; }
.ceus-art-cover figcaption .ceus-chip--soft{ background:var(--cream); }

.ceus-art-hero .ceus-ghost{ position:absolute; right:-.06em; bottom:-.14em; pointer-events:none; z-index:0;
  font-family:var(--serif); font-weight:800; font-size:clamp(5.625rem,15vw,13.75rem); line-height:1;
  color:transparent; -webkit-text-stroke:1.5px rgba(42,44,55,.12); user-select:none; }

.ceus-art-progress{ position:sticky; top:0; z-index:20; height:5px; background:rgba(42,44,55,.22); }
.ceus-art-progress i{ display:block; height:100%; background:var(--orange); transform:scaleX(0);
  transform-origin:left center; }
.ceus-art-body{ background:var(--paper); padding-bottom:clamp(70px,9vw,120px); border-top:2px solid var(--ink); }
.ceus-art-grid{ display:grid; grid-template-columns:250px minmax(0,1fr); gap:clamp(30px,5vw,84px);
  padding-top:clamp(40px,5vw,72px); }

/* ---------- side rail ---------- */
.ceus-art-rail{ position:sticky; top:34px; align-self:start; display:flex; flex-direction:column; gap:22px;
  transition:opacity .25s ease, visibility 0s linear 0s; }
/* A full-width gallery crossing the rail's column: the rail steps aside
   instead of sliding under the photos (see setupRailYield in the script).
   visibility waits for the fade, and also takes the hidden rail out of the
   tab order; focus already inside the rail keeps it on screen. */
.ceus-art-rail.ceus-rail-yield:not(:focus-within){ opacity:0; visibility:hidden;
  transition:opacity .25s ease, visibility 0s linear .25s; }
.ceus-art-author{ display:flex; align-items:center; gap:13px; }
.ceus-art-author .av{ width:52px; height:52px; border-radius:50%; overflow:hidden; position:relative;
  background:var(--cream); box-shadow:inset 0 0 0 1.5px rgba(42,44,55,.35); flex:none; }
.ceus-art-author .av .mono{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-weight:800; font-size:1.25rem; }
.ceus-art-author .av img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ceus-art-author .av.ok .mono{ opacity:0; }
.ceus-art-author b{ display:block; font-family:var(--serif); font-size:1.0625rem; font-weight:800; line-height:1.15; }
.ceus-art-author span span{ display:block; font-size:0.8125rem; color:var(--ink-soft); margin-top:2px; }
.ceus-art-rail .rl{ border-top:1.5px solid rgba(42,44,55,.35); padding-top:16px; }
.ceus-art-rail .rl h4{ font-size:0.71875rem; font-weight:700; letter-spacing:.24em; text-transform:uppercase;
  color:var(--ink-soft); margin-bottom:12px; }
/* The row can hold anything from one button to every network an editor
   enables, so it wraps; `flex:none` keeps each button a circle instead of
   letting flex shrink it into an oval when the rail runs out of room. */
.ceus-art-share{ display:flex; flex-wrap:wrap; gap:9px; }
.ceus-art-share button, .ceus-art-share a{ width:42px; height:42px; flex:none; border-radius:50%;
  display:flex; align-items:center; justify-content:center; box-shadow:inset 0 0 0 1.5px rgba(42,44,55,.6);
  transition:background .25s, color .25s, transform .25s; color:var(--ink); background:var(--paper); }
.ceus-art-share button:hover, .ceus-art-share a:hover{ background:var(--ink); color:var(--cream); transform:translateY(-2px); }
.ceus-art-tags{ display:flex; flex-wrap:wrap; gap:8px; }
.ceus-art-toc{ list-style:none; display:flex; flex-direction:column; gap:9px; font-size:0.90625rem; font-weight:600; }
.ceus-art-toc a{ color:var(--ink-soft); display:flex; gap:10px; align-items:baseline; transition:color .2s; }
.ceus-art-toc a:hover{ color:var(--orange); }
.ceus-art-toc i{ font-style:normal; font-family:var(--serif); font-weight:800; color:var(--orange); font-size:0.8125rem; }

/* =====================================================================
   PROSE — content from the WordPress editor (Gutenberg blocks)
   ===================================================================== */
.ceus-art-prose{ max-width:70ch; font-size:1.15625rem; line-height:1.78; color:var(--ink-soft); }
.ceus-art-prose > p{ margin-bottom:1.5em; }
.ceus-art-prose p b, .ceus-art-prose p strong{ color:var(--ink); }
.ceus-art-prose > p:first-of-type{ font-size:1.06em; }
.ceus-art-prose > p:first-of-type::first-letter{ font-family:var(--serif); font-weight:800; font-size:3.4em;
  float:left; line-height:.8; padding:.05em .14em 0 0; color:var(--orange); }
.ceus-art-prose h2{ font-family:var(--serif); font-weight:800; font-size:clamp(1.6875rem,2.6vw,2.25rem); line-height:1.12;
  color:var(--ink); margin:2.2em 0 .8em; }
.ceus-art-prose h2::before{ content:""; display:block; width:46px; height:6px; border-radius:3px;
  background:var(--orange); margin-bottom:18px; }
.ceus-art-prose h3{ font-family:var(--serif); font-weight:800; font-size:1.375rem; color:var(--ink); margin:1.8em 0 .6em; }
.ceus-art-prose ul{ list-style:none; margin:0 0 1.6em; }
.ceus-art-prose ul li{ padding-left:26px; position:relative; margin-bottom:.55em; }
.ceus-art-prose ul li::before{ content:""; position:absolute; left:2px; top:.62em; width:10px; height:10px;
  border-radius:50%; background:var(--orange); }
.ceus-art-prose ol{ list-style:none; counter-reset:ceus-ol; margin:0 0 1.6em; }
.ceus-art-prose ol li{ counter-increment:ceus-ol; padding-left:34px; position:relative; margin-bottom:.55em; }
.ceus-art-prose ol li::before{ content:counter(ceus-ol,decimal-leading-zero); position:absolute; left:0; top:.1em;
  font-family:var(--serif); font-style:italic; font-weight:700; color:var(--orange); font-size:.9em; }
.ceus-art-prose a{ color:var(--ink); font-weight:600; box-shadow:inset 0 -2px 0 var(--orange);
  transition:background .2s; }
.ceus-art-prose a:hover{ background:rgba(241,110,34,.18); }

/* editor block quote = pull quote */
.ceus-art-prose blockquote{ margin:2.4em 0; padding:34px 0 30px; border-top:2px solid var(--ink);
  border-bottom:2px solid var(--ink); position:relative; }
.ceus-art-prose blockquote p{ font-family:var(--serif); font-style:italic; font-weight:700;
  font-size:clamp(1.625rem,3vw,2.5rem); line-height:1.2; color:var(--ink); letter-spacing:-.01em; margin:0; }
.ceus-art-prose blockquote p:first-of-type::before{ content:"\201C"; display:block; color:var(--orange); font-size:2em;
  font-weight:800; line-height:.6; margin-bottom:14px; font-style:normal; }
.ceus-art-prose blockquote cite{ display:block; margin-top:16px; font-family:var(--sans); font-style:normal;
  font-size:0.78125rem; font-weight:700; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-soft); }

/* generic + WP images. Landscape fills the column; portrait is height-capped
   and centred so a phone-held photo can't run to 800px in a 70ch measure. */
.ceus-art-prose figure{ margin:2.4em 0; }
.ceus-art-prose .wp-block-image{ margin:2.4em 0; }
.ceus-art-prose figure img,
.ceus-art-prose .wp-block-image img{
  display:block; width:auto; max-width:100%; max-height:620px; margin-inline:auto;
  border-radius:20px; border:1.5px solid rgba(42,44,55,.35); }
.ceus-art-prose figcaption,
.ceus-art-prose .wp-block-image figcaption,
.ceus-art-prose .wp-block-gallery figcaption{
  display:block; margin-top:12px; font-size:0.84375rem; color:var(--ink-soft); line-height:1.5; }
.ceus-art-prose .wp-block-image figcaption::before{
  content:""; display:inline-block; width:18px; height:3px; border-radius:2px;
  background:var(--orange); margin-right:9px; vertical-align:middle; }

/* --- galleries ---------------------------------------------------------
   auto-fit keeps a 3-image gallery on one row instead of leaving an orphan;
   explicit column classes from the editor still win. */
.ceus-art-prose .wp-block-gallery{
  display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr));
  gap:14px; margin:2.8em 0; padding:0; }
.ceus-art-prose .wp-block-gallery.columns-1{ grid-template-columns:1fr; }
.ceus-art-prose .wp-block-gallery.columns-2{ grid-template-columns:repeat(2,1fr); }
.ceus-art-prose .wp-block-gallery.columns-3{ grid-template-columns:repeat(3,1fr); }
.ceus-art-prose .wp-block-gallery.columns-4{ grid-template-columns:repeat(4,1fr); }
.ceus-art-prose .wp-block-gallery figure{ margin:0; }
.ceus-art-prose .wp-block-gallery img{
  width:100%; max-height:none; aspect-ratio:4/3; object-fit:cover; border-radius:16px;
  border:1.5px solid rgba(42,44,55,.35); }

/* WordPress core sizes each nested gallery figure with a PERCENTAGE width,
   protected by an ID-level specificity hack (`:not(#individual-image)`).
   Once we lay the gallery out as a grid that percentage resolves against our
   grid CELL instead of the whole gallery, so every photo collapses to a stamp
   (~50px). Match core's specificity to hand sizing back to the grid. */
.ceus-art-prose .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image){
  width:auto; max-width:none; margin:0; flex:initial; }
.ceus-art-prose .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) img{
  display:block; width:100%; height:auto; max-height:none; aspect-ratio:4/3;
  object-fit:cover; border-radius:16px; border:1.5px solid rgba(42,44,55,.35); }
/* `is-cropped` galleries carry core's `height:100%`, which beats aspect-ratio
   and lets portrait shots stretch the row. One more class outranks it so every
   tile keeps the same 4:3 frame. */
.ceus-art-prose .wp-block-gallery.has-nested-images.is-cropped figure.wp-block-image:not(#individual-image) img{
  height:auto; aspect-ratio:4/3; object-fit:cover; }

/* Gallery tiles: keep the contact sheet clean. WordPress auto-fills captions
   from image metadata, so a 300-photo gallery can repeat one sentence on every
   tile. The caption becomes a scrim overlay revealed on hover/focus — still in
   the DOM for screen readers, out of the way visually. Positioning is set here
   explicitly so the tile keeps its shape even if core's block CSS is absent. */
.ceus-art-prose .wp-block-gallery figure.wp-block-image{ position:relative; overflow:hidden;
  border-radius:16px; }
.ceus-art-prose .wp-block-gallery figure.wp-block-image img{ border-radius:16px; }
.ceus-art-prose .wp-block-gallery figure.wp-block-image figcaption{
  position:absolute; left:0; right:0; bottom:0; z-index:2; margin:0; padding:26px 12px 10px;
  font-size:0.78125rem; line-height:1.35; color:#fff; text-align:left;
  background:linear-gradient(to top, rgba(20,21,27,.92), rgba(20,21,27,0));
  opacity:0; transition:opacity .25s; pointer-events:none;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; }
.ceus-art-prose .wp-block-gallery figure.wp-block-image figcaption::before{ content:none; }
.ceus-art-prose .wp-block-gallery figure.wp-block-image:hover figcaption,
.ceus-art-prose .wp-block-gallery figure.wp-block-image:focus-within figcaption{ opacity:1; }
/* core's lightbox button: pin it so it never takes flow space */
.ceus-art-prose .wp-block-gallery figure.wp-block-image .lightbox-trigger{
  position:absolute; top:8px; right:8px; z-index:3; }

/* Photo essays: the script measures the page and lets a large gallery break
   out of the 70ch reading measure, centred on the viewport. Without JS (or on
   narrow screens) galleries simply stay inside the column. */
.ceus-art-prose .wp-block-gallery[data-ceus-bleed]{
  width:var(--ceus-gal-w); margin-left:calc(-1 * var(--ceus-gal-pull)); }

.ceus-art-prose .wp-block-list{ list-style:none; margin:0 0 1.6em; }
.ceus-art-prose .wp-block-embed,
.ceus-art-prose .wp-block-table{ margin:2.4em 0; }
.ceus-art-prose .wp-block-embed__wrapper{ position:relative; }
.ceus-art-prose .wp-block-table table{ width:100%; border-collapse:collapse; font-size:.94em; }
.ceus-art-prose .wp-block-table th,
.ceus-art-prose .wp-block-table td{
  padding:11px 14px; border-bottom:1.5px solid rgba(42,44,55,.25); text-align:left; }
.ceus-art-prose .wp-block-table th{
  font-size:0.78125rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--ink); }

/* wide/full alignments break the reading column's width but keep its rhythm */
.ceus-art-prose .alignwide{ width:min(112%,100vw - 2*var(--pad)); margin-left:-6%; }
.ceus-art-prose .alignfull{ width:min(126%,100vw - 2*var(--pad)); margin-left:-13%; }
.ceus-art-prose .aligncenter{ margin-left:auto; margin-right:auto; }
.ceus-art-prose .alignleft{ float:left; margin:.4em 1.8em 1.2em 0; max-width:48%; }
.ceus-art-prose .alignright{ float:right; margin:.4em 0 1.2em 1.8em; max-width:48%; }

/* the drop cap belongs to the opening paragraph only — a leading image
   block must not hand it to the paragraph that follows */
.ceus-art-prose > figure:first-child + p::first-letter,
.ceus-art-prose > .wp-block-image:first-child + p::first-letter{
  font-size:inherit; float:none; font-family:inherit; color:inherit; padding:0; line-height:inherit; }

/* ---------- article end matter ---------- */
.ceus-art-end{ margin-top:3em; border-top:2px solid var(--ink); padding-top:26px; }
.ceus-art-end .tags{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:26px; }
.ceus-art-bio{ display:flex; gap:18px; align-items:flex-start; background:var(--cream);
  border:1.5px solid rgba(42,44,55,.35); border-radius:20px; padding:22px; }
.ceus-art-bio .av{ width:72px; height:72px; border-radius:50%; overflow:hidden; position:relative;
  background:var(--cream); box-shadow:inset 0 0 0 1.5px rgba(42,44,55,.35); flex:none; }
.ceus-art-bio .av .mono{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-family:var(--serif); font-weight:800; font-size:1.625rem; }
.ceus-art-bio .av img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.ceus-art-bio .av.ok .mono{ opacity:0; }
.ceus-art-bio h4{ font-family:var(--serif); font-weight:800; font-size:1.25rem; }
.ceus-art-bio p{ font-size:0.9375rem; line-height:1.6; margin:6px 0 0; }

/* =====================================================================
   READ NEXT
   ===================================================================== */
.ceus-next{ background:var(--cream); padding:clamp(64px,8vw,110px) 0; border-top:2px solid var(--ink); }
.ceus-next-head{ display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:18px;
  margin-bottom:clamp(30px,4vw,48px); }
.ceus-next-head h2{ font-size:clamp(2rem,3.8vw,3.5rem); margin-top:22px; }
.ceus-next-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.ceus-next-card{ position:relative; border-radius:20px; padding:24px 22px 26px; min-height:250px;
  display:flex; flex-direction:column; border:1.5px solid rgba(42,44,55,.3); background:var(--paper);
  transition:transform .45s cubic-bezier(.22,1,.36,1), box-shadow .45s; overflow:hidden; }
.ceus-next-card:hover{ transform:translateY(-8px); box-shadow:0 26px 46px -22px rgba(42,44,55,.4); }
.ceus-next-card .thumb{ display:block; position:relative; margin:-24px -22px 18px; aspect-ratio:16/9;
  overflow:hidden; background:var(--cream); border-bottom:1.5px solid rgba(42,44,55,.3); }
.ceus-next-card .thumb img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition:transform .8s cubic-bezier(.22,1,.36,1); }
.ceus-next-card:hover .thumb img{ transform:scale(1.05); }
.ceus-next-card .meta{ display:flex; gap:8px; flex-wrap:wrap; }
.ceus-next-card h3{ font-family:var(--serif); font-weight:800; font-size:1.3125rem; line-height:1.16;
  margin:auto 0 10px; padding-top:14px; }
.ceus-next-card p{ font-size:0.90625rem; color:var(--ink-soft); }
.ceus-next-card .go{ margin-top:16px; font-weight:700; font-size:0.875rem; display:flex; align-items:center; gap:9px; }
.ceus-next-card .go svg{ transition:transform .35s cubic-bezier(.22,1,.36,1); }
.ceus-next-card:hover .go svg{ transform:translateX(5px); }
/* whole card clickable via the stretched "Read article" link */
.ceus-next-card .go::after{ content:""; position:absolute; inset:0; z-index:3; }

/* ---------- toast (copy-link) ---------- */
.ceus-toast{ position:fixed; left:50%; bottom:26px; transform:translate(-50%,16px); z-index:99999;
  background:var(--ink); color:var(--cream); font-weight:700; font-size:0.90625rem; padding:13px 22px;
  border-radius:999px; box-shadow:0 18px 44px -14px rgba(0,0,0,.5); opacity:0; pointer-events:none;
  transition:opacity .3s, transform .3s; display:flex; align-items:center; gap:10px; font-family:var(--sans); }
.ceus-toast svg{ width:16px; height:16px; color:var(--orange); }
.ceus-toast.on{ opacity:1; transform:translate(-50%,0); }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width:1020px){
  .ceus-next-grid{ grid-template-columns:1fr; }
  .ceus-next-card{ min-height:0; }
}
@media (max-width:900px){
  .ceus-art-head h1{ max-width:none; }
  .ceus-art-grid{ grid-template-columns:1fr; gap:34px; }
  .ceus-art-rail{ position:static; flex-direction:row; flex-wrap:wrap; align-items:center; gap:18px 28px;
    border-bottom:1.5px solid rgba(42,44,55,.35); padding-bottom:22px; }
  .ceus-art-rail .rl{ border-top:0; padding-top:0; }
  .ceus-art-rail .rl h4{ margin-bottom:8px; }
  .ceus-art-rail .rl--toc{ display:none; }
}
@media (max-width:620px){
  .ceus-art-prose .wp-block-gallery,
  .ceus-art-prose .wp-block-gallery.columns-3,
  .ceus-art-prose .wp-block-gallery.columns-4{ grid-template-columns:1fr; }
  .ceus-art-prose .alignwide,
  .ceus-art-prose .alignfull{ width:100%; margin-left:0; }
  .ceus-art-prose .alignleft,
  .ceus-art-prose .alignright{ float:none; max-width:100%; margin:2.4em 0; }
  .ceus-art-cover{ aspect-ratio:4/3; }
  .ceus-art-hero .ceus-ghost{ display:none; }
  .ceus-art-bio{ flex-direction:column; }
}

@media (prefers-reduced-motion:reduce){
  .ceus *{ animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
