:root{
  --paper:#f3eee3;
  --paper-deep:#ebe3d5;
  --ink:#111f2b;
  --ink-soft:#4f5558;
  --slate:#dce4e8;
  --paper-line:rgba(28,42,52,.18);
  --navy:#07131e;
  --antique:#a87922;
}
body:not(.reading-page):not(.fw-page){background:var(--paper);color:var(--ink)}
body:not(.reading-page):not(.fw-page):before{opacity:.55;background-image:radial-gradient(rgba(17,31,43,.035) .7px,transparent .8px),linear-gradient(rgba(17,31,43,.018) 1px,transparent 1px);background-size:7px 7px,46px 24px}
header{color:var(--white);background:rgba(5,15,24,.97);border-bottom-color:rgba(224,173,62,.2)}
.nav{max-width:1280px}
.navlinks a{color:#f6f3ed}
.navlinks a.active{color:#ff6b79;border-bottom:2px solid #ff6b79}
.navlinks a:hover{color:#f2c978}
body:not(.reading-page):not(.fw-page) .hero,
body:not(.reading-page):not(.fw-page) .latest,
body:not(.reading-page):not(.fw-page) .section,
body:not(.reading-page):not(.fw-page) .roots,
body:not(.reading-page):not(.fw-page) .join,
body:not(.reading-page):not(.fw-page) .gr-manifesto,
body:not(.reading-page):not(.fw-page) .gr-tool,
body:not(.reading-page):not(.fw-page) .gr-action,
body:not(.reading-page):not(.fw-page) .lr-origin,
body:not(.reading-page):not(.fw-page) .lr-timeline,
body:not(.reading-page):not(.fw-page) .lr-close{color:var(--ink)}
body:not(.reading-page):not(.fw-page) .hero p,
body:not(.reading-page):not(.fw-page) .section-head>p,
body:not(.reading-page):not(.fw-page) .feature-copy p,
body:not(.reading-page):not(.fw-page) .episodes p,
body:not(.reading-page):not(.fw-page) .roots-copy p,
body:not(.reading-page):not(.fw-page) .join p,
body:not(.reading-page):not(.fw-page) .gr-columns,
body:not(.reading-page):not(.fw-page) .gr-tool p,
body:not(.reading-page):not(.fw-page) .gr-action>p,
body:not(.reading-page):not(.fw-page) .lr-origin p,
body:not(.reading-page):not(.fw-page) .lr-section-head>p,
body:not(.reading-page):not(.fw-page) .lr-track p,
body:not(.reading-page):not(.fw-page) .lr-close p{color:var(--ink-soft)}
body:not(.reading-page):not(.fw-page) .section-head,
body:not(.reading-page):not(.fw-page) .archive-head{border-bottom-color:var(--paper-line)}
.hero{position:relative}
.hero:before{content:"";position:absolute;inset:0 calc(50% - 50vw);z-index:-1;background:linear-gradient(180deg,rgba(255,255,255,.25),transparent 48%)}
.hero h1{color:var(--ink)}
.hero p{color:var(--ink-soft)}
.banner img{max-height:226px}
.hero{padding-top:62px;padding-bottom:68px}
.latest{padding:82px 0 18px;color:var(--ink)}
.latest-head{margin-bottom:28px}
.latest-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.latest-card{display:grid;grid-template-columns:220px 1fr;min-height:260px;overflow:hidden;border:1px solid var(--paper-line);background:rgba(255,255,255,.38);box-shadow:0 18px 48px rgba(29,39,46,.07)}
.latest-card.latest-lead{grid-column:1/-1;grid-template-columns:minmax(0,1.28fr) minmax(360px,.72fr);min-height:430px}
.latest-image{position:relative;display:block;min-height:100%;overflow:hidden;background:#07131e}
.latest-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.latest-card:hover .latest-image img{transform:scale(1.018)}
.latest-video:before{content:"THE BEST ONE YET";position:absolute;inset:0;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 50% 42%,#c51f324f,transparent 34%),linear-gradient(145deg,#162432,#07131e);color:#e0ad3e;font:800 1.05rem "Barlow Condensed";letter-spacing:.16em;text-align:center}
.latest-video img{position:relative;z-index:1}
.latest-video span{position:absolute;z-index:2;left:50%;top:50%;width:58px;height:42px;display:grid;place-items:center;transform:translate(-50%,-50%);border-radius:12px;background:#f03;color:#fff;font-size:1.05rem;box-shadow:0 8px 25px #0007}
.latest-copy{padding:30px;display:flex;flex-direction:column;justify-content:center}
.latest-copy small{color:#745112}
.latest-copy h3{margin:15px 0 13px;font-size:clamp(2rem,3vw,3.35rem);line-height:.9}
.latest-copy h3 a{text-decoration:none;color:var(--ink)}
.latest-copy p{margin:0 0 22px;color:var(--ink-soft)}
.latest-link{margin-top:auto;color:#745112;font-weight:800;text-decoration:none}
.latest-link:hover,.latest-copy h3 a:hover{color:#8b1725;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.signal{padding:38px 38px 38px 42px;border-left:2px solid var(--antique);background:linear-gradient(135deg,#e6ecee,#d7e0e4)}
.signal blockquote{color:var(--ink)}
.signal p{color:#515b60}
.button.red{color:#fff;box-shadow:0 8px 22px rgba(133,18,34,.16)}
.hero .button.line,.roots .button.line,.lr-origin .button.line,.lr-close .button.line,.gr-action .button.line{border-color:#785515;color:#65470f}
.hero .button.yt-link,.join .button.yt-link{color:var(--ink);border-color:rgba(17,31,43,.32)}
.hero .button.yt-link:hover,.join .button.yt-link:hover{color:#8b1725;border-color:#8b1725}
.feature,.published-feature,.archive-card{background:rgba(255,255,255,.32);border-color:var(--paper-line);box-shadow:0 22px 54px rgba(29,39,46,.07)}
.feature-copy,.published-copy,.archive-card>div{color:var(--ink)}
.feature-copy p,.published-copy p,.archive-card p{color:var(--ink-soft)}
.published-copy .published-deck{color:var(--ink)}
.feature-copy a,.published-meta>span,.archive-link{color:#745112}
.episodes{border-left-color:var(--paper-line)}
.episodes article{border-right-color:var(--paper-line);border-bottom-color:var(--paper-line);background:rgba(255,255,255,.16)}
.episodes h3{color:var(--ink)}
.episodes a{color:#745112}
.feature-copy a:hover,.episodes .yt-link:hover,.published-copy h3 a:hover,.archive-card h3 a:hover,.archive-link:hover{color:#8b1725;text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:4px}
.beats,.gr-framework,.lr-desk{background:#e8e2d7;color:var(--ink)}
.beat-grid,.gr-grid,.lr-beats{border-color:var(--paper-line)}
.beat-grid article,.gr-grid article,.lr-beats article{border-color:var(--paper-line);background:rgba(255,255,255,.18)}
.beat-grid p,.gr-grid p,.lr-beats p{color:var(--ink-soft)}
.gr-grid span,.lr-beats small{color:#82601d}
.gr-tool-word{color:#e0d7c8;-webkit-text-stroke-color:#b8aa96}
.lr-desk-note{background:#f2ebdf;border-left-color:var(--red)}
.lr-desk-note p{color:var(--ink-soft)}
.lr-desk-note a{color:#805d1e}
.lr-track b{color:var(--ink)}
.lr-track i{background:var(--paper)}
.roots-year,.lr-year{color:var(--white)}
.roots-year small,.lr-year small{color:#b8b4ad}
.lr-origin .lr-lead{color:var(--ink)}
.hero .kicker,.roots .kicker,.gr-label,.section-head>strong,.lr-number{color:#745112}
.section small,.hero small,.roots small,.join small,.gr-manifesto small,.gr-tool small,.gr-action small,.lr-origin small,.lr-timeline small,.lr-close small{color:#745112}
.published-art>span,.ticker{color:#fff}
.article-mast,.gr-hero,.lr-hero,.story-hero,.banner,.feature-visual,.mission,.gr-covenant,.lr-standard,.newsletter,footer{color:var(--white)}
.article-mast p,.gr-hero-bottom p,.lr-hero-foot p{color:#c7c5bf}
footer{background:#061019;border-top-color:rgba(224,173,62,.2)}
.footer-inner{color:#aaa69f}
.reading-page{background:var(--paper)}
.reading-page .story-body{color:#302c27}
.reading-page .story-layout{--line:var(--paper-line)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #d3a344;outline-offset:4px}
@media(max-width:900px){.latest-card,.latest-card.latest-lead{grid-template-columns:1fr}.latest-card.latest-lead{grid-column:auto}.latest-grid{grid-template-columns:1fr 1fr}.latest-image{min-height:250px}.latest-lead .latest-image{min-height:330px}}
@media(max-width:800px){.signal{padding:28px}.feature,.published-feature,.archive-card,.latest-card{box-shadow:none}.banner img{max-height:170px}.latest{padding-top:62px}.latest-grid{grid-template-columns:1fr}.latest-card.latest-lead{grid-column:auto}}
@media(max-width:560px){.hero{padding-top:48px}.hero h1{font-size:clamp(3.55rem,16.4vw,5.5rem)}.signal{padding:24px}}

/* Keep visual article openings dramatic without making readers cross an empty screen. */
.health-composite-cover{width:min(92%,1320px)}
.health-composite-hero:after{height:42px}
@media(max-width:800px){.health-composite-cover{width:100%}.health-composite-hero:after{height:30px}}

/* Stafford downtown editorial mast — approved homepage direction. */
.home-mast{
  position:relative;
  min-height:clamp(560px,58vw,720px);
  display:flex;
  align-items:flex-end;
  overflow:hidden;
  isolation:isolate;
  border-bottom:4px solid var(--red);
  background:#07131e;
  color:var(--white);
  box-shadow:0 18px 46px rgba(5,15,24,.2);
}
.home-mast-image{
  position:absolute;
  inset:0;
  z-index:-3;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center 52%;
}
.home-mast-shade{
  position:absolute;
  inset:0;
  z-index:-2;
  background:
    linear-gradient(90deg,rgba(4,13,22,.92) 0%,rgba(4,13,22,.76) 29%,rgba(4,13,22,.30) 57%,rgba(4,13,22,.08) 78%),
    linear-gradient(0deg,rgba(4,13,22,.68) 0%,transparent 43%),
    linear-gradient(180deg,rgba(4,13,22,.2),transparent 25%);
}
.home-mast-content{
  padding:72px 0 62px;
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(290px,.5fr);
  align-items:end;
  gap:64px;
}
.home-mast-copy{max-width:790px}
.home-mast .kicker{color:#f2c978;text-shadow:0 2px 15px #000}
.home-mast h1{
  margin:22px 0 22px;
  color:#fffaf0;
  font-size:clamp(4.8rem,8.4vw,8.3rem);
  font-weight:900;
  line-height:.78;
  letter-spacing:-.045em;
  text-shadow:0 4px 28px rgba(0,0,0,.5);
}
.home-mast h1 em{color:#f2c15a;font-style:normal}
.home-mast-copy>p{
  max-width:650px;
  margin:0;
  color:#f3efe7;
  font-size:1.12rem;
  text-shadow:0 2px 12px #000;
}
.home-mast .button.line{
  border-color:#f2c978;
  color:#fff7df;
  background:rgba(5,15,24,.32);
  backdrop-filter:blur(5px);
}
.home-mast .signal{
  padding:28px 30px;
  border:1px solid rgba(242,201,120,.46);
  border-left:3px solid #f2c978;
  background:rgba(5,15,24,.74);
  backdrop-filter:blur(10px);
  box-shadow:0 16px 42px rgba(0,0,0,.25);
}
.home-mast .signal>span{color:#f2c978}
.home-mast .signal blockquote{margin:14px 0;font-size:2rem;color:#fffaf0}
.home-mast .signal p{color:#d7d9d9;font-size:.95rem}

/* A quiet civic watermark: cardinal feather becoming discussion ripples. */
body:not(.reading-page):not(.fw-page) main{position:relative;isolation:isolate}
body:not(.reading-page):not(.fw-page) main:before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  opacity:.055;
  background-image:url("/feather-ripple-watermark.svg"),url("/feather-ripple-watermark.svg");
  background-repeat:no-repeat;
  background-size:min(48vw,720px) auto,min(34vw,520px) auto;
  background-position:right -80px top 900px,left -130px top 2750px;
}

@media(max-width:900px){
  .home-mast{min-height:650px}
  .home-mast-content{grid-template-columns:1fr;gap:28px;padding:64px 0 44px}
  .home-mast .signal{max-width:480px}
  .home-mast-shade{background:linear-gradient(90deg,rgba(4,13,22,.92),rgba(4,13,22,.45) 72%,rgba(4,13,22,.18)),linear-gradient(0deg,rgba(4,13,22,.72),transparent 55%)}
}
@media(max-width:600px){
  .home-mast{min-height:610px;align-items:flex-end}
  .home-mast-image{object-position:62% center}
  .home-mast-content{padding:48px 0 34px}
  .home-mast h1{font-size:clamp(3.5rem,17vw,5.15rem);line-height:.81}
  .home-mast-copy>p{font-size:1rem;max-width:92%}
  .home-mast .actions{margin-top:24px}
  .home-mast .signal{display:none}
  body:not(.reading-page):not(.fw-page) main:before{
    opacity:.03;
    background-size:520px auto;
    background-position:right -250px top 720px;
  }
}
