/* hook-the-horizon-tokens */
/* Generated from theme-tokens.json. Do not edit directly. */
:root {
  --hth-deep-navy: #071827;
  --hth-pearl: #E3E1D9;
  --hth-lake-blue: #2E6F95;
  --hth-teal: #176F78;
  --hth-charcoal: #424546;
  --hth-forest-green: #355133;
  --hth-burnt-coral: #D55C3E;
  --hth-champagne-gold: #C7A257;
  --hth-font-display: Bebas Neue, Impact, sans-serif;
  --hth-font-body: Montserrat, system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, sans-serif;
  --re-background-canvas: #E3E1D9;
  --re-background-surface: #E3E1D9;
  --re-background-elevated: #E3E1D9;
  --re-background-inverse: #071827;
  --re-surface-atmospheric: color-mix(in srgb, #2E6F95 14%, #E3E1D9);
  --re-surface-field-material: color-mix(in srgb, #C7A257 18%, #E3E1D9);
  --re-text-primary: #424546;
  --re-text-secondary: #071827;
  --re-text-muted: #424546;
  --re-text-inverse: #E3E1D9;
  --re-heading: #071827;
  --re-link: #071827;
  --re-link-hover: #355133;
  --re-accent: #D55C3E;
  --re-secondary: #176F78;
  --re-border-default: #424546;
  --re-border-strong: #071827;
  --re-focus: #C7A257;
  --re-success: #355133;
  --re-warning: #C7A257;
  --re-error: #D55C3E;
  --re-information: #2E6F95;
  --re-active: #176F78;
  --re-unknown: #424546;
  --re-privacy: #071827;
  --re-regulation: #071827;
  --re-stop: #D55C3E;
  --re-source-freshness: #C7A257;

  /* ---- Motion scale -------------------------------------------------
   * One four-step duration scale for the whole site. Anything longer than
   * --duration-slow needs an editorial reason, not a preference.
   *   instant  0-80ms    checkbox tick, toggle thumb, button press
   *   fast     100-150ms hover colour, focus ring, tooltip fade, icon swap
   *   standard 180-250ms accordion, menu, toast, tab indicator
   *   slow     300-400ms dialog, large drawer, page overlay dim
   * Easing: entering uses ease-out, leaving uses ease-in, short in-place
   * movement uses ease-in-out, and linear is only for determinate progress. */
  --duration-instant: 70ms;
  --duration-fast: 130ms;
  --duration-standard: 200ms;
  --duration-slow: 340ms;
  --ease-enter: cubic-bezier(0.16, 0.84, 0.44, 1);
  --ease-exit: cubic-bezier(0.55, 0, 0.85, 0.35);
  --ease-inout: cubic-bezier(0.45, 0, 0.35, 1);

  /* ---- Ink-on-light contract ----------------------------------------
   * Lake Blue, Teal, Burnt Coral and Champagne Gold remain visible as
   * borders, fills, icons and underlines on Pearl. Small text uses Deep Navy
   * so every reading-size label clears WCAG AA without inventing extra hues. */
  --re-lake-ink: #071827;
  --re-teal-ink: #071827;
  --re-gold-ink: #071827;
  --re-coral-ink: #071827;

  /* Focus ring: the gold reads well on navy but fails 3:1 on the pearl
   * surfaces, so focus is drawn as a dark core with a light halo and stays
   * visible on either ground. */
  --re-focus-core: #071827;
  --re-focus-halo: #C7A257;

  color-scheme: light;
}

[data-theme="dark"] {
  --re-background-canvas: #071827;
  --re-background-surface: #071827;
  --re-background-elevated: #424546;
  --re-background-inverse: #E3E1D9;
  --re-surface-atmospheric: color-mix(in srgb, #2E6F95 14%, #E3E1D9);
  --re-surface-field-material: color-mix(in srgb, #C7A257 18%, #E3E1D9);
  --re-text-primary: #E3E1D9;
  --re-text-secondary: #C7A257;
  --re-text-muted: #E3E1D9;
  --re-text-inverse: #071827;
  --re-heading: #E3E1D9;
  --re-link: #C7A257;
  --re-link-hover: #E3E1D9;
  --re-accent: #D55C3E;
  --re-secondary: #176F78;
  --re-border-default: #424546;
  --re-border-strong: #C7A257;
  --re-focus: #C7A257;
  --re-success: #355133;
  --re-warning: #C7A257;
  --re-error: #D55C3E;
  --re-information: #2E6F95;
  --re-active: #176F78;
  --re-unknown: #424546;
  --re-privacy: #C7A257;
  --re-regulation: #C7A257;
  --re-stop: #D55C3E;
  --re-source-freshness: #C7A257;
  color-scheme: dark;
}
/* hook-the-horizon */
/*
Theme Name: Hook the Horizon
Theme URI: https://hookthehorizon.blog
Author: Hunter
Description: Canonical custom Hook the Horizon production theme with Field Sense Navigator and Field Ops Desk.
Version: 0.5.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: hook-the-horizon
*/
/* 2026-09-03: the @import of assets/css/text-display-standard-v1.css was
   removed. An @import is fetched only after style.css itself parses, so it
   serialised a render-blocking request on every page; it also double-loaded the
   file on interiors, where functions.php already enqueues it, while sneaking it
   onto the front page that the enqueue deliberately skipped. functions.php now
   enqueues it unconditionally, right after this file. */
*{box-sizing:border-box}html{scroll-behavior:smooth;background:#071827}body{margin:0;background:var(--re-background-canvas,#071827);color:var(--re-text-primary,#E3E1D9);font-family:var(--wp--preset--font-family--editorial,Montserrat,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif);line-height:1.65}h1,h2,h3{color:var(--re-heading,#E3E1D9);font-family:var(--wp--preset--font-family--display,"Bebas Neue","Arial Narrow",Arial,sans-serif);font-weight:400;line-height:.96;letter-spacing:.015em;text-wrap:balance;text-transform:uppercase}a{color:var(--re-link);text-decoration-thickness:.08em;text-underline-offset:.2em}a:hover{color:var(--re-link-hover)}button,input,select,.wp-element-button,.hth-label{font-family:var(--wp--preset--font-family--ui)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--re-focus-core,#071827);outline-offset:3px;box-shadow:0 0 0 6px var(--re-focus-halo,#C7A257)}@media(forced-colors:active){a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid Highlight;box-shadow:none}}::selection{background:var(--hth-champagne-gold,#C7A257);color:var(--hth-deep-navy,#071827)}
::-moz-selection{background:var(--hth-champagne-gold,#C7A257);color:var(--hth-deep-navy,#071827)}
.wp-site-blocks{min-height:100vh}.hth-shell{width:100%;max-width:none;margin-inline:auto;padding-inline:clamp(1rem,3vw,2.5rem);box-sizing:border-box}body:not(.home) .hth-shell{width:90%;padding-inline:0}@media(max-width:1024px){body:not(.home) .hth-shell{width:94%}}@media(max-width:768px){body:not(.home) .hth-shell{width:calc(100% - 1.5rem)}}.hth-site-header,.hth-site-footer{padding:1rem max(1rem,calc((100vw - 90rem)/2));border-block:1px solid var(--hth-champagne-gold);background:var(--hth-deep-navy);color:var(--hth-pearl)}.hth-site-header{display:flex;align-items:center;justify-content:space-between;gap:2rem}.hth-site-footer{margin-top:4rem;padding-block:clamp(3rem,7vw,5rem)}.hth-footer-brand{display:grid;grid-template-columns:minmax(10rem,.45fr) 1fr;gap:clamp(2rem,6vw,6rem);align-items:center;margin-bottom:2rem}.hth-footer-logo{display:block;width:min(100%,18rem);height:auto}.hth-site-footer .wp-block-navigation{font-family:var(--wp--preset--font-family--ui);font-size:.78rem}.hth-site-title a,.hth-site-header a,.hth-site-footer a{color:var(--hth-pearl)}.hth-site-title a{font-family:var(--wp--preset--font-family--display);font-size:clamp(1.35rem,2vw,2rem);text-decoration:none;letter-spacing:.04em}.hth-brand{display:inline-flex;align-items:center;flex:0 0 auto;max-width:15rem}.hth-brand picture,.hth-brand img{display:block}.hth-brand img{width:auto;height:3.4rem;object-fit:contain}.hth-site-header .wp-block-navigation{font-family:var(--wp--preset--font-family--ui);font-size:.85rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}
.hth-horizon-hero{position:relative;min-height:82vh;display:grid;align-items:end;overflow:hidden;padding:clamp(7rem,15vw,13rem) max(1.25rem,calc((100vw - 90rem)/2)) clamp(3rem,7vw,6rem);background-color:var(--hth-deep-navy);background-image:linear-gradient(90deg,rgba(7,24,39,.94) 0%,rgba(7,24,39,.72) 46%,rgba(7,24,39,.2) 74%,rgba(7,24,39,.38) 100%),url('https://hookthehorizon.blog/wp-content/uploads/2026/07/AdobeStock_1614521301-2048x683.jpeg');background-size:cover;background-position:center;color:var(--hth-pearl)}.hth-horizon-hero::before{content:"";position:absolute;left:-8vw;right:-8vw;bottom:22%;height:1px;background:color-mix(in srgb,var(--hth-pearl) 65%,transparent);box-shadow:0 2.25rem 0 color-mix(in srgb,var(--hth-lake-blue) 44%,transparent),0 5rem 0 color-mix(in srgb,var(--hth-teal) 42%,transparent);transform:rotate(-2deg)}.hth-horizon-hero::after{content:"";position:absolute;width:45vw;height:45vw;max-width:38rem;max-height:38rem;right:-10vw;bottom:-20vw;border:1px solid color-mix(in srgb,var(--hth-burnt-coral) 78%,transparent);border-radius:50%;clip-path:inset(0 0 50% 0);transform:rotate(-12deg);box-shadow:0 -1px 0 var(--hth-champagne-gold)}.hth-horizon-hero>*{position:relative;z-index:1}.hth-horizon-hero h1{max-width:10ch;margin:0;color:inherit;font-size:var(--wp--preset--font-size--display);line-height:.84}.hth-horizon-hero p{max-width:46rem;font-size:var(--wp--preset--font-size--lead)}.hth-kicker{font-family:var(--wp--preset--font-family--ui);font-size:.8rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--hth-champagne-gold)}.hth-hero-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:2rem}.hth-hero-actions .wp-element-button{background:var(--hth-burnt-coral);color:var(--hth-deep-navy);border:2px solid var(--hth-deep-navy)}
.hth-pathways{padding:clamp(4rem,8vw,7rem) 0}.hth-pathways h2{max-width:9ch;margin-block:.25rem 2rem;font-size:clamp(2.75rem,6vw,6rem)}.hth-pathway-grid{display:grid;grid-template-columns:1.18fr .82fr .92fr;gap:1rem;align-items:start}.hth-pathway-card{display:grid;grid-template-rows:auto 1fr;min-height:100%;border:1px solid var(--hth-charcoal);background:var(--hth-pearl);color:var(--hth-charcoal);text-decoration:none;overflow:hidden;transition:transform 180ms ease,box-shadow 180ms ease}.hth-pathway-card:nth-child(2){margin-top:3.25rem}.hth-pathway-card:nth-child(3){margin-top:1.25rem}.hth-pathway-card:hover{color:var(--hth-deep-navy);transform:translateY(-.35rem);box-shadow:.75rem .75rem 0 color-mix(in srgb,var(--hth-teal) 28%,transparent)}.hth-pathway-card img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.hth-pathway-card__body{display:grid;gap:.55rem;padding:1.15rem}.hth-pathway-card__index{color:var(--hth-teal);font-family:var(--wp--preset--font-family--ui);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.hth-pathway-card strong{color:var(--hth-deep-navy);font-family:var(--wp--preset--font-family--display);font-size:clamp(1.6rem,3vw,2.6rem);font-weight:400;line-height:.95;text-transform:uppercase}.hth-pathway-card:nth-child(2){border-top:.4rem solid var(--hth-burnt-coral)}.hth-pathway-card:nth-child(3){border-top:.4rem solid var(--hth-champagne-gold)}.hth-water-read{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(18rem,.9fr);gap:clamp(2rem,6vw,7rem);padding:clamp(4rem,9vw,9rem) 0}.hth-water-read__variables{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid var(--re-border-default)}.hth-water-read__variables>div{min-height:10rem;padding:1.25rem;border:1px solid var(--re-border-default);background:var(--re-background-surface)}.hth-water-read__variables>div:nth-child(1){border-top:.35rem solid var(--hth-lake-blue)}.hth-water-read__variables>div:nth-child(2){border-top:.35rem solid var(--hth-teal)}.hth-water-read__variables>div:nth-child(3){border-top:.35rem solid var(--hth-forest-green)}.hth-water-read__variables>div:nth-child(4){border-top:.35rem solid var(--hth-champagne-gold)}.hth-water-read__variables strong{display:block;margin-bottom:.75rem;font-family:var(--wp--preset--font-family--ui);text-transform:uppercase;letter-spacing:.08em;color:var(--hth-deep-navy)}.hth-water-read__variables span{color:var(--re-text-secondary)}
.hth-compatibility{margin-inline:calc(50% - 50vw);padding:clamp(4rem,9vw,9rem) max(1.25rem,calc((100vw - 90rem)/2));background:linear-gradient(145deg,var(--hth-deep-navy),color-mix(in srgb,var(--hth-teal) 38%,var(--hth-deep-navy)));color:var(--hth-pearl)}.hth-compatibility h2,.hth-compatibility h3,.hth-compatibility a{color:inherit}.hth-system-line{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:2rem;background:color-mix(in srgb,currentColor 25%,transparent)}.hth-system-line>div{min-height:12rem;padding:1.25rem;background:var(--hth-deep-navy);border-top:.35rem solid var(--hth-lake-blue)}.hth-system-line>div:nth-child(2){border-top-color:var(--hth-teal)}.hth-system-line>div:nth-child(3){border-top-color:var(--hth-forest-green)}.hth-system-line>div:nth-child(4){border-top-color:var(--hth-champagne-gold)}.hth-system-line span{display:block;margin-bottom:2rem;color:var(--hth-champagne-gold);font-family:var(--wp--preset--font-family--ui);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.hth-system-line strong{color:var(--hth-pearl);font-size:clamp(1.25rem,2vw,2rem);font-weight:700}
.hth-field-proof{padding:clamp(4rem,9vw,9rem) 0}.hth-field-proof .wp-block-post-template{display:grid;grid-template-columns:repeat(12,1fr);gap:1rem}.hth-field-proof .wp-block-post{grid-column:span 4;padding:1.25rem;border-top:3px solid var(--hth-lake-blue);background:var(--re-background-surface)}.hth-field-proof .wp-block-post:nth-child(1){grid-column:span 7;border-color:var(--hth-teal)}.hth-field-proof .wp-block-post:nth-child(2){grid-column:span 5;margin-top:4rem;border-color:var(--hth-burnt-coral)}.hth-field-proof .wp-block-post:nth-child(3n){border-color:var(--hth-forest-green)}.hth-field-proof .wp-block-post:nth-child(4n){border-color:var(--hth-champagne-gold)}.hth-field-proof .wp-block-post-featured-image:empty{display:none}.hth-method-strip{margin-inline:calc(50% - 50vw);padding:clamp(3rem,7vw,6rem) max(1.25rem,calc((100vw - 90rem)/2));border-block:1px solid var(--hth-champagne-gold);background:color-mix(in srgb,var(--hth-champagne-gold) 18%,var(--hth-pearl));color:var(--hth-deep-navy)}.hth-method-strip h2,.hth-method-strip h3,.hth-method-strip a{color:inherit}.hth-warning{padding:1rem 1.25rem;border-left:4px double var(--re-warning);background:color-mix(in srgb,var(--hth-champagne-gold) 16%,var(--re-background-surface))}.hth-warning::before{content:"Warning: ";font-weight:800}.wp-element-button{min-height:44px;border-radius:2px;transition:transform 160ms ease,box-shadow 160ms ease}.wp-element-button:hover{transform:translateY(-2px);box-shadow:0 .75rem 2rem color-mix(in srgb,var(--re-background-inverse) 20%,transparent)}
.hth-compatibility-frame{margin:clamp(2rem,5vw,4rem) calc(50% - 50vw);padding-inline:max(0px,calc((100vw - 96rem)/2))}.hth-compatibility-frame iframe{display:block;width:100%;min-height:118rem;border:0;background:var(--re-background-surface)}
@media(max-width:480px){.hth-method-strip{margin-inline:0}}
@media(max-width:800px){.hth-site-header{align-items:center;flex-direction:row}.hth-brand img{height:2.9rem}.hth-horizon-hero{min-height:70vh;background-position:58% center}.hth-pathway-grid{grid-template-columns:1fr}.hth-pathway-card:nth-child(2),.hth-pathway-card:nth-child(3){margin-top:0}.hth-footer-brand{grid-template-columns:1fr}.hth-water-read{grid-template-columns:1fr}.hth-water-read__variables{grid-template-columns:1fr}.hth-system-line{grid-template-columns:1fr}.hth-system-line>div{min-height:auto}.hth-field-proof .wp-block-post-template{display:block}.hth-field-proof .wp-block-post,.hth-field-proof .wp-block-post:nth-child(1),.hth-field-proof .wp-block-post:nth-child(2){margin:0 0 1rem}.hth-compatibility-frame iframe{min-height:190rem}}
/* Reduced motion removes travel rather than merely shortening it. Colour and
 * state changes survive so nothing becomes unreadable; ornamental drift,
 * parallax-style scaling and smooth scrolling are switched off outright. */
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{
    animation-duration:1ms!important;animation-iteration-count:1!important;animation-delay:0ms!important;
    transition-duration:1ms!important;transition-delay:0ms!important;scroll-behavior:auto!important
  }
  /* Ornamental motion is removed, not accelerated. */
  .hth-chase-hero__image,.hth-home-hero__image,.hth-rs-hero__visual img,
  .hth-chase-contour--hero path,.hth-chase-status,.hth-home-waterline span{animation:none!important;transform:none!important}
  /* Hover/scroll zooms hold at rest so body copy never shifts under the reader. */
  .hth-rs-ways-card>img,.hth-rs-condition-card>img,.hth-rs-feature__media img,
  .hth-rs-dest-card>img,.hth-rs-cover__media img,
  .hth-chase-path img,.hth-chase-destination img,.hth-chase-feature img{transform:none!important}
  /* Anything whose resting state is invisible must stay visible. */
  .hth-rs-steps li{opacity:1!important;transform:none!important}
}
@media(forced-colors:active){.hth-horizon-hero::before,.hth-horizon-hero::after{display:none}.hth-pathway-card,.hth-water-read__variables,.hth-system-line,.hth-field-proof .wp-block-post{border:1px solid CanvasText}}
@media print{.hth-site-header,.hth-site-footer,.wp-block-navigation,.wp-block-buttons{display:none!important}.hth-horizon-hero,.hth-compatibility,.hth-method-strip{min-height:auto!important;background:#fff!important;color:#000!important}.hth-horizon-hero::before,.hth-horizon-hero::after{display:none!important}a{color:#000!important;text-decoration:underline}.hth-pathway-card img{max-height:12rem}.hth-field-proof .wp-block-post-template{display:block}.hth-field-proof .wp-block-post{break-inside:avoid;margin-bottom:1rem}.hth-compatibility-frame{margin:0;padding:0}.hth-compatibility-frame iframe{min-height:100rem}}

/* Wide reading column: kill thin Gutenberg measure on all non-home pages/posts.
   Target: content column at least 80% of the viewport. */
body:not(.home):not(.front-page){
  --wp--style--global--content-size:min(100%,80vw);
  --wp--style--global--wide-size:min(100%,92vw);
  --hth-reading-width:min(100%,var(--hth-bleed-interior,90vw));
}
/* Outer reading column = 80% viewport */
body:not(.home):not(.front-page) .hth-route-reading,
body:not(.home):not(.front-page) .hth-article-handoff,
body:not(.home):not(.front-page) .hth-field-handoff,
body:not(.home):not(.front-page) .hth-article-notes,
body:not(.home):not(.front-page) .hth-related-reading,
body:not(.home):not(.front-page) .hth-warning{
  width:var(--hth-reading-width)!important;
  max-width:var(--hth-reading-width)!important;
  margin-inline:auto;
  box-sizing:border-box;
}
/* TOC width is controlled by article-template.css (sticky right rail on desktop). */
body:not(.home):not(.front-page) .hth-article-toc{
  width:min(100%,var(--hth-reading-width))!important;
  max-width:min(100%,var(--hth-reading-width))!important;
  margin-inline:auto;
  box-sizing:border-box;
}
@media (min-width:1100px){
  body.hth-article-template .hth-route-reading:has(.hth-article-toc){
    width:min(100%,92vw)!important;
    max-width:min(100%,92vw)!important;
  }
  body.hth-article-template .hth-route-reading:has(.hth-article-toc) > .hth-article-toc{
    width:100%!important;
    max-width:none!important;
    margin-inline:0!important;
  }
}
/* Nested content wrappers fill that column fully */
body:not(.home):not(.front-page) .hth-route-reading>.wp-block-post-content,
body:not(.home):not(.front-page) .hth-editorial-prose,
body:not(.home):not(.front-page) .hth-field-modules,
body:not(.home):not(.front-page) .hth-species-profile{
  width:100%!important;
  max-width:100%!important;
  margin-inline:0!important;
  box-sizing:border-box;
}
/* Children fill the wide column (do not re-apply 80vw or they overflow the parent). */
body:not(.home):not(.front-page) .hth-route-reading .wp-block-post-content>*,
body:not(.home):not(.front-page) .hth-editorial-prose>*,
body:not(.home):not(.front-page) .hth-field-modules>*,
body:not(.home):not(.front-page) .is-layout-constrained>:where(:not(.alignleft):not(.alignright):not(.alignfull)),
body:not(.home):not(.front-page) .entry-content>:where(:not(.alignleft):not(.alignright):not(.alignfull)),
body:not(.home):not(.front-page) .wp-block-post-content>:where(:not(.alignleft):not(.alignright):not(.alignfull)){
  width:100%!important;
  max-width:100%!important;
  margin-inline:0!important;
  box-sizing:border-box;
}
body:not(.home):not(.front-page) .hth-route-reading .wp-block-post-content>.alignfull,
body:not(.home):not(.front-page) .hth-editorial-prose>.alignfull{
  width:100%!important;
  max-width:none!important;
  margin-inline:0!important;
}

/* Mobile auto-conversion (always in style.css so it ships even if other assets cache). */
@media(max-width:1100px){
  body:not(.home):not(.front-page){
    --hth-reading-width:min(100%,88vw);
    --wp--style--global--content-size:min(100%,88vw);
  }
}
@media(max-width:900px){
  body:not(.home):not(.front-page){
    --hth-reading-width:min(100%,calc(100% - 2rem));
    --wp--style--global--content-size:min(100%,calc(100% - 2rem));
  }
  body:not(.home):not(.front-page) .wp-block-columns{flex-wrap:wrap!important}
  body:not(.home):not(.front-page) .wp-block-column{flex-basis:100%!important;width:100%!important}
  body:not(.home):not(.front-page) .hth-related-reading__grid,
  body:not(.home):not(.front-page) .hth-article-notes dl{grid-template-columns:1fr!important}
}
@media(max-width:767px){
  body:not(.home):not(.front-page){
    --hth-reading-width:min(100%,calc(100% - 1.5rem));
    --wp--style--global--content-size:min(100%,calc(100% - 1.5rem));
  }
  body{overflow-x:clip}
  body:not(.home):not(.front-page) .hth-route-hero,
  body:not(.home):not(.front-page) .hth-route-hero--article{
    min-height:clamp(20rem,58vh,32rem)!important;
  }
  body:not(.home):not(.front-page) .hth-route-hero h1,
  body:not(.home):not(.front-page) .hth-route-hero h1.wp-block-post-title{
    max-width:12ch!important;
    font-size:clamp(2.35rem,11.5vw,3.6rem)!important;
    line-height:.96!important;
  }
  body:not(.home):not(.front-page) .hth-route-reading h2,
  body:not(.home):not(.front-page) .hth-editorial-prose>h2{
    max-width:14ch!important;
    font-size:clamp(1.85rem,9.5vw,2.75rem)!important;
  }
  body:not(.home):not(.front-page) .hth-sp-grid,
  body:not(.home):not(.front-page) .hth-sp-season,
  body:not(.home):not(.front-page) .hth-sp-signal,
  body:not(.home):not(.front-page) .hth-sp-three,
  body:not(.home):not(.front-page) .hth-sp-ident,
  body:not(.home):not(.front-page) .hth-sp-band,
  body:not(.home):not(.front-page) .hth-sp-tactics,
  body:not(.home):not(.front-page) .hth-related-reading__grid,
  body:not(.home):not(.front-page) .hth-editorial-prose>ul.hth-editorial-tactics,
  body:not(.home):not(.front-page) .hth-editorial-prose>ol.hth-editorial-tactics{
    grid-template-columns:1fr!important;
  }
  body:not(.home):not(.front-page) .alignleft,
  body:not(.home):not(.front-page) .alignright{
    float:none!important;display:block!important;width:100%!important;max-width:100%!important;margin:1rem 0!important;
  }
  body:not(.home):not(.front-page) .wp-block-table,
  body:not(.home):not(.front-page) table{
    display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;
  }
  html.hth-article-js .hth-article-toc__toggle{display:inline-flex!important;min-height:44px}
  .hth-article-toc ol{columns:1!important}
  .hth-article-meta{display:grid!important;grid-template-columns:1fr!important}
}
@media(max-width:480px){
  body:not(.home):not(.front-page){
    --hth-reading-width:min(100%,calc(100% - 1.25rem));
  }
  body:not(.home):not(.front-page) .hth-route-hero h1.wp-block-post-title{
    max-width:11ch!important;
    font-size:clamp(2.1rem,12vw,3rem)!important;
  }
}
@media(max-width:900px) and (orientation:landscape) and (max-height:480px){
  body:not(.home):not(.front-page) .hth-route-hero{
    min-height:18rem!important;
  }
}

/* ---------------------------------------------------------------------------
 * Hero and featured-image proportions. 2026-08-14.
 * The article hero was reserving a tall fixed band even where it only carries
 * a standfirst and a byline, and the full-bleed featured image ran at 16:7,
 * which is taller than the viewport on a wide monitor. Together they pushed
 * the first line of actual writing below the fold on every article.
 * ------------------------------------------------------------------------- */
body:not(.home):not(.front-page) .hth-route-hero--article{
  min-height:0!important;
  padding-block:clamp(2rem,4vw,3.5rem);
}

/* The title and eyebrow belong in that band. Something outside the theme is
   suppressing them on pages; this restores them without touching the source. */
body:not(.home):not(.front-page) .hth-route-hero--article .hth-route-eyebrow,
body:not(.home):not(.front-page) .hth-route-hero--article h1.wp-block-post-title{
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  height:auto!important;
  clip-path:none!important;
  text-indent:0!important;
  color:var(--hth-fg-light,#E3E1D9);
}

/* Cap the full-bleed featured image. The inline aspect-ratio has to be beaten
   with !important because it is set on the element itself. */
body:not(.home):not(.front-page) .hth-route-featured{
  aspect-ratio:auto!important;
  max-height:clamp(13rem,34vh,24rem);
  overflow:hidden;
}
body:not(.home):not(.front-page) .hth-route-featured img{
  width:100%;
  height:100%;
  object-fit:cover;
}
