/* ============================================================
   Best Parlay Today — Memphis Design System
   JetBrains Mono / IBM Plex Sans
   Primary #87ff71 · Secondary #ffce5c · Ink #192617
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500;600;700&display=swap');

/* ── Custom Properties ─────────────────────────────────────── */
:root {
  --green: #87ff71;
  --yellow: #ffce5c;
  --ink: #192617;
  --ink80: rgba(25,38,23,.8);
  --ink50: rgba(25,38,23,.5);
  --white: #f8fdf7;
  --card-bg: #1e2e1c;
  --card-border: #2e4a2b;
  --font-body: 'IBM Plex Sans', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', 'Courier New', monospace;
  --radius: 4px;
  --header-h: 64px;
  --max-prose: 72ch;
  --max-wide: 1200px;
  --transition: 180ms cubic-bezier(.25,.46,.45,.94);
}

/* ── Reset ─────────────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;font-size:16px}
body{
  font-family:var(--font-body);
  background:var(--ink);
  color:var(--white);
  line-height:1.65;
  min-height:100vh;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--green);text-decoration:underline}
a:hover{color:var(--yellow)}
ul{list-style:none}
button{cursor:pointer;border:none;background:none;font-family:inherit}

/* ── Typography ────────────────────────────────────────────── */
h1,h2,h3,h4{font-family:var(--font-mono);line-height:1.2;font-weight:700;letter-spacing:-.02em}
h1{font-size:clamp(1.75rem,5vw,3.5rem);color:var(--green)}
h2{font-size:clamp(1.25rem,3vw,2rem);color:var(--yellow)}
h3{font-size:clamp(1.05rem,2.5vw,1.4rem);color:var(--white)}
h2>span,h3>span{display:inline}
p{font-size:1rem;line-height:1.7;margin-bottom:1rem}
small{font-size:.8125rem}
time{font-family:var(--font-mono);font-size:.8125rem;color:var(--ink50);color:#7bab77}
code,pre{font-family:var(--font-mono)}

/* ── Memphis Background Decorations ───────────────────────── */
.memphis-bg{
  position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden;
}
.shape{position:absolute;display:block}

/* triangles */
.shape--tri::before{
  content:'';display:block;
  border-left:36px solid transparent;
  border-right:36px solid transparent;
  border-bottom:62px solid var(--green);
  opacity:.18;
}
.shape--1{top:8%;left:3%;transform:rotate(15deg)}
.shape--a{top:15%;right:5%;transform:rotate(-20deg)}
.shape--ab1{top:20%;left:8%;transform:rotate(30deg)}
.shape--tg1{top:5%;left:50%;transform:rotate(10deg)}
.shape--art1{top:30%;right:2%;transform:rotate(-35deg)}
.shape--pv1{bottom:20%;left:10%}

/* circles */
.shape--circle{
  width:80px;height:80px;
  border-radius:50%;
  border:6px solid var(--yellow);
  opacity:.15;
}
.shape--2{bottom:15%;right:8%}
.shape--art2{bottom:40%;left:2%}
.shape--ab2::before{content:'';display:block;width:60px;height:12px;
  background:repeating-linear-gradient(90deg,var(--green) 0,var(--green) 6px,transparent 6px,transparent 12px);
  opacity:.3}

/* squiggles via border */
.shape--squiggle{
  width:90px;height:18px;
  border-top:5px dashed var(--yellow);
  border-radius:50%;
  opacity:.25;
  transform:rotate(-8deg);
}
.shape--3{top:55%;left:1%}
.shape--b{bottom:25%;right:4%;transform:rotate(12deg)}

/* rect dot pattern */
.shape--rect{
  width:60px;height:60px;
  background:repeating-linear-gradient(
    45deg,
    var(--green) 0,var(--green) 3px,
    transparent 3px,transparent 10px
  );
  opacity:.12;
}
.shape--4{bottom:10%;left:20%}
.shape--tg2{bottom:30%;right:10%}

/* ── Header ────────────────────────────────────────────────── */
.site-header{
  position:sticky;top:0;z-index:100;
  background:var(--ink);
  border-bottom:2px solid var(--green);
  height:var(--header-h);
}
.header-inner{
  max-width:var(--max-wide);
  margin:0 auto;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 1.25rem;
  gap:.75rem;
}
.brand{flex:0 0 auto}
.brand__wordmark{
  font-family:var(--font-mono);
  font-weight:700;
  font-size:1.05rem;
  color:var(--green);
  text-decoration:none;
  letter-spacing:-.03em;
}
.brand__logo{width:140px;height:auto}

/* Nav */
.site-nav{display:flex;align-items:center}
.site-nav p{
  display:flex;
  align-items:center;
  flex-wrap:nowrap;
  gap:.25rem;
}
.site-nav p a{
  font-family:var(--font-mono);
  font-size:.75rem;
  font-weight:600;
  color:var(--white);
  text-decoration:none;
  padding:.5rem .55rem;
  min-height:44px;
  display:inline-flex;
  align-items:center;
  transition:color var(--transition);
  white-space:nowrap;
}
.site-nav p a:hover{color:var(--green)}

/* CTAs in header */
.cta{
  display:inline-flex;align-items:center;justify-content:center;
  font-family:var(--font-mono);font-weight:700;font-size:.75rem;
  text-decoration:none;white-space:nowrap;
  min-height:44px;padding:.5rem .85rem;
  border-radius:var(--radius);
  transition:all var(--transition);
}
.cta-signup{
  background:var(--green);color:var(--ink);
  border:2px solid var(--green);
}
.cta-signup:hover{background:var(--yellow);border-color:var(--yellow);color:var(--ink)}
.cta-login{
  background:transparent;color:var(--green);
  border:2px solid var(--green);
}
.cta-login:hover{background:var(--green);color:var(--ink)}

/* Hamburger */
.hamburger{
  width:44px;height:44px;
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:5px;
  z-index:101;
}
.hamburger span{
  display:block;width:22px;height:2px;
  background:var(--green);
  transition:transform var(--transition), opacity var(--transition);
}
.hamburger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hamburger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── Fullscreen Menu ───────────────────────────────────────── */
.fullscreen-menu{
  position:fixed;inset:0;z-index:99;
  background:var(--ink);
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  opacity:0;pointer-events:none;
  transition:opacity .25s ease;
}
.fullscreen-menu.is-open{opacity:1;pointer-events:all}
.fullscreen-menu nav p{
  display:flex;flex-direction:column;
  align-items:center;gap:.5rem;
}
.fullscreen-menu nav p a{
  font-family:var(--font-mono);
  font-size:1.15rem;
  font-weight:700;
  color:var(--white);
  text-decoration:none;
  padding:.75rem 1.5rem;
  min-height:44px;
  display:flex;align-items:center;
  transition:color var(--transition);
}
.fullscreen-menu nav p a:hover{color:var(--green)}
.fullscreen-menu nav p .cta{margin-top:.5rem}
.fullscreen-menu__close{
  position:absolute;top:1rem;right:1.25rem;
  font-size:2rem;color:var(--green);
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
}

/* ── Breadcrumb ────────────────────────────────────────────── */
.breadcrumb{
  background:var(--card-bg);
  border-bottom:1px dashed var(--card-border);
  position:relative;z-index:1;
}
.breadcrumb p{
  max-width:var(--max-wide);
  margin:0 auto;
  padding:.5rem 1.25rem;
  font-family:var(--font-mono);
  font-size:.75rem;
  color:#7bab77;
  margin-bottom:0;
}
.breadcrumb a{color:var(--green);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}

/* ── Buttons ───────────────────────────────────────────────── */
.btn{
  display:inline-flex;align-items:center;
  font-family:var(--font-mono);font-weight:700;font-size:.875rem;
  text-decoration:none;
  padding:.65rem 1.4rem;
  min-height:44px;
  border-radius:var(--radius);
  transition:all var(--transition);
}
.btn--primary{
  background:var(--green);color:var(--ink);
  border:2px solid var(--green);
}
.btn--primary:hover{background:var(--yellow);border-color:var(--yellow)}

/* ── Hero (Home) ───────────────────────────────────────────── */
.hero{
  position:relative;z-index:1;
  min-height:70vh;
  display:flex;align-items:center;
  border-bottom:3px solid var(--green);
  overflow:hidden;
}
.hero__inner{
  max-width:var(--max-wide);
  margin:0 auto;
  padding:3rem 1.25rem;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:2rem;
  align-items:center;
  width:100%;
}
.hero__eyebrow{
  font-family:var(--font-mono);
  font-size:.8rem;
  font-weight:600;
  letter-spacing:.12em;
  color:var(--yellow);
  text-transform:uppercase;
  margin-bottom:.75rem;
}
.hero__copy h1{margin-bottom:1rem}
.hero__desc{font-size:1.1rem;color:#b8d4b5;margin-bottom:1.5rem}
.hero__media{
  position:relative;
  display:flex;align-items:center;justify-content:center;
  min-height:300px;
}
.hero__bg-text{
  position:absolute;
  font-family:var(--font-mono);
  font-weight:700;
  font-size:clamp(4rem,12vw,9rem);
  color:var(--green);
  opacity:.07;
  user-select:none;
  letter-spacing:-.05em;
  top:50%;left:50%;
  transform:translate(-50%,-50%) rotate(-8deg);
  white-space:nowrap;
}
.hero__placeholder{
  display:flex;align-items:center;justify-content:center;
  width:100%;min-height:280px;
}
.big-num{font-size:6rem;filter:drop-shadow(0 0 12px var(--green))}
.hero-img{
  width:100%;max-height:380px;
  object-fit:cover;
  border-radius:var(--radius);
  clip-path:polygon(4% 0%,100% 0%,96% 100%,0% 100%);
}

/* ── Channels Section (Home) ───────────────────────────────── */
.channels-section{
  position:relative;z-index:1;
  max-width:var(--max-wide);
  margin:3rem auto;
  padding:0 1.25rem;
  display:grid;
  grid-template-columns:220px 1fr;
  gap:2rem;
  align-items:start;
}
.channels-aside h2,.tag-aside h2,.inner-hero__aside h2,.channel-hero__aside h2{
  font-size:1rem;
  color:var(--yellow);
  margin-bottom:.75rem;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.aside-links{display:flex;flex-direction:column;gap:.25rem}
.aside-links li a{
  font-family:var(--font-mono);
  font-size:.8125rem;
  color:#b8d4b5;
  text-decoration:none;
  padding:.35rem .5rem;
  display:block;
  min-height:44px;
  display:flex;align-items:center;
  border-left:2px solid transparent;
  transition:all var(--transition);
}
.aside-links li a:hover{color:var(--green);border-left-color:var(--green)}

.channels-main h2{margin-bottom:1.25rem}
.channel-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:1.25rem;
}
.channel-card{
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:var(--radius);
  padding:1.25rem;
  box-shadow:0 4px 12px rgba(0,0,0,.35);
  transition:transform var(--transition),box-shadow var(--transition);
  position:relative;
  overflow:hidden;
}
.channel-card:hover{transform:translateY(-3px);box-shadow:0 8px 24px rgba(0,0,0,.45)}
.channel-card::before{
  content:'';position:absolute;
  top:-10px;right:-10px;
  width:40px;height:40px;
  background:var(--green);
  clip-path:polygon(50% 0%,100% 100%,0% 100%);
  opacity:.2;
  transform:rotate(15deg);
}
.channel-card--0::before{background:var(--green)}
.channel-card--1::before{background:var(--yellow)}
.channel-card--2::before{background:var(--green);transform:rotate(-20deg)}
.channel-card--3::before{background:var(--yellow);transform:rotate(35deg)}
.channel-card h3{margin-bottom:.5rem}
.channel-card h3 a{color:var(--white);text-decoration:none}
.channel-card h3 a:hover{color:var(--green)}
.channel-card p{font-size:.875rem;color:#7bab77;margin-bottom:.75rem}
.read-more{
  font-family:var(--font-mono);
  font-size:.75rem;
  font-weight:600;
  color:var(--yellow);
  text-decoration:none;
}
.read-more:hover{color:var(--green)}

/* ── Content Section (generic) ─────────────────────────────── */
.content-section,.about-content,.privacy-content{
  position:relative;z-index:1;
  max-width:var(--max-wide);
  margin:2rem auto;
  padding:0 1.25rem;
  display:grid;
  grid-template-columns:auto 1fr;
  gap:1.5rem;
  align-items:start;
}
.content-deco,.channel-deco,.tag-deco,.privacy-deco,.inner-hero__deco,.author-section__deco{
  width:56px;flex-shrink:0;
}

/* Deco shapes (inline) */
.deco-tri{
  display:block;
  width:0;height:0;
  border-left:20px solid transparent;
  border-right:20px solid transparent;
  border-bottom:36px solid var(--yellow);
  opacity:.45;
  margin:0 auto;
}
.deco-circle{
  display:block;
  width:42px;height:42px;
  border-radius:50%;
  background:var(--green);
  opacity:.25;
}
.deco-squiggle{
  display:block;
  width:42px;height:10px;
  border-top:4px dashed var(--green);
  border-radius:50%;
  opacity:.5;
}
.deco-rect{
  display:block;
  width:36px;height:36px;
  background:repeating-linear-gradient(
    45deg,var(--yellow) 0,var(--yellow) 3px,
    transparent 3px,transparent 8px
  );
  opacity:.4;
}

.content-body,.channel-body,.tag-body,.about-body,.privacy-body,.about-content,.privacy-content{
  max-width:var(--max-prose);
}

/* Body copy styles */
.content-body h2,.channel-body h2,.tag-body h2,.about-body h2,.privacy-body h2,
.article-body h2{
  margin-top:2rem;margin-bottom:.75rem;
  padding-left:.75rem;
  border-left:3px solid var(--green);
}
.content-body h3,.article-body h3{margin-top:1.5rem;margin-bottom:.5rem}
.content-body ul,.article-body ul,.about-body ul,.privacy-body ul{
  padding-left:1.5rem;list-style:disc;
  margin-bottom:1rem;
}
.content-body li,.article-body li{margin-bottom:.35rem}
.content-body a,.article-body a,.about-body a,.privacy-body a{
  color:var(--green);text-decoration:underline;
}
.content-body a:hover,.article-body a:hover{color:var(--yellow)}
.content-body table,.article-body table{
  width:100%;border-collapse:collapse;
  margin-bottom:1.5rem;font-size:.875rem;
}
.content-body th,.article-body th{
  background:var(--card-bg);
  color:var(--yellow);
  font-family:var(--font-mono);
  padding:.5rem .75rem;
  border-bottom:2px solid var(--green);
  text-align:left;
}
.content-body td,.article-body td{
  padding:.45rem .75rem;
  border-bottom:1px solid var(--card-border);
}
.content-body blockquote,.article-body blockquote{
  border-left:4px solid var(--yellow);
  padding:.75rem 1rem;
  background:var(--card-bg);
  border-radius:0 var(--radius) var(--radius) 0;
  margin:1.5rem 0;
  font-style:italic;
}

/* ── Recent Articles Grid (Home) ───────────────────────────── */
.recent-articles-section{
  position:relative;z-index:1;
  max-width:var(--max-wide);
  margin:3rem auto;
  padding:0 1.25rem 3rem;
}
.recent-articles-section>h2{margin-bottom:1.25rem}
.article-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:1.25rem;
}
.article-card{
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:var(--radius);
  padding:1.25rem;
  box-shadow:0 4px 12px rgba(0,0,0,.3);
  transition:transform var(--transition),box-shadow var(--transition);
}
.article-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.4)}
.article-card__eyebrow{
  font-family:var(--font-mono);
  font-size:.7rem;
  font-weight:600;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--yellow);
  display:block;margin-bottom:.4rem;
}
.article-card h3{margin-bottom:.4rem}
.article-card h3 a{color:var(--white);text-decoration:none}
.article-card h3 a:hover{color:var(--green)}
.article-card p{font-size:.8125rem;color:#7bab77;margin-bottom:.5rem}
.article-card__date{display:block;font-size:.75rem}

/* ── Channel Layout ────────────────────────────────────────── */
.channel-hero{
  position:relative;z-index:1;
  max-width:var(--max-wide);
  margin:2rem auto 0;
  padding:1.5rem 1.25rem;
  display:grid;
  grid-template-columns:220px 1fr;
  gap:2rem;
  align-items:start;
  border-bottom:1px dashed var(--card-border);
}
.channel-hero__copy .channel-eyebrow{
  font-family:var(--font-mono);
  font-size:.75rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--yellow);margin-bottom:.5rem;
}
.channel-hero__copy h1{margin-bottom:.75rem}
.channel-desc{color:#b8d4b5;font-size:1.05rem}
.channel-badge{
  width:48px;height:48px;
  display:flex;align-items:center;justify-content:center;
  font-size:1.5rem;color:var(--green);
  border:2px solid var(--green);
  border-radius:var(--radius);
  margin-bottom:.75rem;
  clip-path:polygon(10% 0%,90% 0%,100% 10%,100% 90%,90% 100%,10% 100%,0% 90%,0% 10%);
}

.channel-content{
  position:relative;z-index:1;
  max-width:var(--max-wide);
  margin:2rem auto;
  padding:0 1.25rem;
  display:grid;
  grid-template-columns:56px 1fr;
  gap:1.5rem;
}

.channel-children{
  position:relative;z-index:1;
  max-width:var(--max-wide);
  margin:2rem auto 3rem;
  padding:0 1.25rem;
}
.channel-children>h2{margin-bottom:1.25rem}
.child-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:1.25rem;
}
.child-card{
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:var(--radius);
  padding:1.25rem;
  box-shadow:0 4px 12px rgba(0,0,0,.3);
  transition:transform var(--transition),box-shadow var(--transition);
  opacity:0;
  animation:fadeUp .4s forwards;
  animation-delay:calc(var(--stagger,0)*.07s + .1s);
}
.child-card:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.4)}
.child-card h3{margin-bottom:.4rem}
.child-card h3 a{color:var(--white);text-decoration:none}
.child-card h3 a:hover{color:var(--green)}
.child-card p{font-size:.8125rem;color:#7bab77;margin-bottom:.5rem}
.child-card__date{display:block;margin-bottom:.5rem}

/* ── Article Layout ────────────────────────────────────────── */
.article-main{position:relative;z-index:1}
.article-section{
  max-width:var(--max-wide);
  margin:0 auto;
  padding:1.5rem 1.25rem 3rem;
}
.article-lead{
  display:grid;
  grid-template-columns:1fr 2fr;
  gap:1.5rem;
  align-items:start;
  margin-bottom:2rem;
  border-bottom:1px dashed var(--card-border);
  padding-bottom:1.5rem;
}
.article-figure{
  border-radius:var(--radius);
  overflow:hidden;
  position:relative;
}
.article-figure--empty{
  display:flex;align-items:center;justify-content:center;
  min-height:160px;
  background:var(--card-bg);
  border:1px dashed var(--card-border);
}
.article-hero-img{
  width:100%;
  clip-path:polygon(0 0,100% 0,100% 92%,94% 100%,0 100%);
}
.article-header{padding-top:.5rem}
.stage-label{
  display:inline-block;
  font-family:var(--font-mono);
  font-size:.65rem;font-weight:700;
  letter-spacing:.12em;text-transform:uppercase;
  padding:.2rem .6rem;
  border-radius:var(--radius);
  margin-bottom:.5rem;
  background:var(--card-bg);
  border:1px solid var(--yellow);
  color:var(--yellow);
}
.stage-label--awareness{border-color:var(--green);color:var(--green)}
.stage-label--decision{border-color:#ff6b6b;color:#ff6b6b}
.byline{
  font-family:var(--font-mono);
  font-size:.8125rem;
  color:#7bab77;
  margin-top:.6rem;
  margin-bottom:.25rem;
}
.byline strong{color:var(--white)}
.byline time{color:#7bab77}

.article-layout{
  display:grid;
  grid-template-columns:1fr 280px;
  gap:2.5rem;
  align-items:start;
}
.article-sidebar{
  position:sticky;
  top:calc(var(--header-h) + 1rem);
  display:flex;flex-direction:column;gap:1rem;
}
.sidebar-block{
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:var(--radius);
  padding:1.1rem;
}
.sidebar-block h2,.sidebar-block h3{
  font-size:1rem;
  margin-bottom:.65rem;
}
.sidebar-links{display:flex;flex-direction:column;gap:.25rem}
.sidebar-links li a{
  font-size:.8125rem;color:#b8d4b5;
  text-decoration:none;
  padding:.3rem 0;display:block;
  border-bottom:1px dashed var(--card-border);
  min-height:44px;display:flex;align-items:center;
}
.sidebar-links li a:hover{color:var(--green)}
.sidebar-block--cta{border-color:var(--green)}
.sidebar-block--cta h2{color:var(--green)}
.sidebar-block--cta p{font-size:.8125rem;margin-bottom:.75rem}
.sidebar-block--author h3{color:var(--yellow)}
.sidebar-block--author p{font-size:.8125rem}
.sidebar-block--author a{font-size:.8rem}

/* ── Tag Layout ────────────────────────────────────────────── */
.tag-hero{
  position:relative;z-index:1;
  max-width:var(--max-wide);
  margin:2rem auto 0;
  padding:1.5rem 1.25rem;
  display:grid;
  grid-template-columns:220px 1fr;
  gap:2rem;
  border-bottom:1px dashed var(--card-border);
}
.tag-eyebrow{
  font-family:var(--font-mono);
  font-size:.75rem;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;
  color:var(--yellow);margin-bottom:.5rem;
}
.tag-content{
  position:relative;z-index:1;
  max-width:var(--max-wide);
  margin:2rem auto;
  padding:0 1.25rem;
  display:grid;
  grid-template-columns:56px 1fr;
  gap:1.5rem;
}
.tag-articles{
  position:relative;z-index:1;
  max-width:var(--max-wide);
  margin:2rem auto 3rem;
  padding:0 1.25rem;
}
.tag-articles>h2{margin-bottom:1.25rem}
.tag-article-list{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
  gap:1.25rem;
}
.tag-article-card{
  background:var(--card-bg);
  border:1px solid var(--card-border);
  border-radius:var(--radius);
  padding:1.1rem;
  box-shadow:0 4px 12px rgba(0,0,0,.3);
  transition:transform var(--transition),box-shadow var(--transition);
  opacity:0;
  animation:fadeUp .4s forwards;
  animation-delay:calc(var(--stagger,0)*.06s + .1s);
}
.tag-article-card:hover{transform:translateY(-3px)}
.tag-article-card h3{margin-bottom:.4rem}
.tag-article-card h3 a{color:var(--white);text-decoration:none}
.tag-article-card h3 a:hover{color:var(--green)}
.tag-article-card p{font-size:.8125rem;color:#7bab77;margin-bottom:.4rem}

/* ── About Layout ──────────────────────────────────────────── */
.inner-hero{
  position:relative;z-index:1;
  max-width:var(--max-wide);
  margin:2rem auto 0;
  padding:1.5rem 1.25rem 2rem;
  display:grid;
  grid-template-columns:56px 220px 1fr;
  gap:1.5rem;
  border-bottom:2px dashed var(--card-border);
  align-items:start;
}
.inner-hero__copy h1{margin-bottom:.75rem}
.inner-hero__copy p{color:#b8d4b5}

.about-content,.privacy-content{
  position:relative;z-index:1;
  max-width:var(--max-wide);
  margin:2rem auto;
  padding:0 1.25rem;
  display:block;
}
.about-body,.privacy-body{
  max-width:var(--max-prose);
}

.author-section{
  position:relative;z-index:1;
  max-width:var(--max-wide);
  margin:2rem auto 3rem;
  padding:0 1.25rem;
  display:grid;
  grid-template-columns:56px 1fr;
  gap:1.5rem;
}
.author-section__aside{
  max-width:680px;
}
.author-card{
  background:var(--card-bg);
  border:2px solid var(--green);
  border-radius:var(--radius);
  padding:1.5rem;
  position:relative;
  overflow:hidden;
}
.author-card::after{
  content:'';
  position:absolute;bottom:-10px;right:-10px;
  width:50px;height:50px;
  background:var(--yellow);
  clip-path:polygon(50% 0%,100% 100%,0% 100%);
  opacity:.25;
  transform:rotate(-15deg);
}
.author-card__name{
  font-family:var(--font-mono);
  font-size:1.25rem;font-weight:700;
  color:var(--green);margin-bottom:.25rem;
}
.author-card__credentials{
  font-family:var(--font-mono);
  font-size:.8rem;
  color:var(--yellow);
  margin-bottom:.75rem;
  letter-spacing:.04em;
}
.author-card__bio{font-size:.9375rem;color:#b8d4b5;margin-bottom:0}

/* ── Footer ────────────────────────────────────────────────── */
.site-footer{
  position:relative;z-index:1;
  background:var(--card-bg);
  border-top:3px solid var(--green);
  padding:2rem 1.25rem;
  max-width:100%;
  display:grid;
  grid-template-columns:1fr 1fr 1fr;
  gap:1rem;
  align-items:start;
}
.site-footer p{margin-bottom:0;font-size:.875rem}
.site-footer a{color:var(--green);text-decoration:none}
.site-footer a:hover{text-decoration:underline}
.footer-brand{font-family:var(--font-mono);font-weight:600}
.footer-trust{color:#7bab77;display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}
.footer-rg{
  font-size:.8125rem;
  color:#7bab77;
  border-top:1px dashed var(--card-border);
  padding-top:.75rem;
  grid-column:1/-1;
}
.footer-copy{
  display:block;
  font-family:var(--font-mono);
  font-size:.75rem;
  color:var(--ink50);
  color:#4a6647;
  grid-column:1/-1;
  border-top:1px dashed var(--card-border);
  padding-top:.75rem;
}

/* ── Stage label ───────────────────────────────────────────── */
.stage-label{display:inline-block}

/* ── Animations ────────────────────────────────────────────── */
@keyframes fadeUp{
  from{opacity:0;transform:translateY(12px)}
  to{opacity:1;transform:translateY(0)}
}

/* ── Responsive ────────────────────────────────────────────── */
@media(max-width:900px){
  .hero__inner{grid-template-columns:1fr}
  .hero__media{display:none}
  .channels-section{grid-template-columns:1fr}
  .channels-aside{display:none}
  .article-layout{grid-template-columns:1fr}
  .article-sidebar{position:static}
  .article-lead{grid-template-columns:1fr}
  .article-figure{display:none}
  .channel-hero{grid-template-columns:1fr}
  .channel-hero__aside{order:2}
  .tag-hero{grid-template-columns:1fr}
  .tag-aside{order:2}
  .inner-hero{grid-template-columns:1fr}
  .inner-hero__deco{display:none}
  .inner-hero__aside{order:2}
  .author-section{grid-template-columns:1fr}
  .author-section__deco{display:none}
  .channel-content,.tag-content,.content-section{grid-template-columns:1fr}
  .content-deco,.channel-deco,.tag-deco,.privacy-deco{display:none}
  .site-footer{grid-template-columns:1fr 1fr}
  .footer-brand{grid-column:1/-1}
}

@media(max-width:600px){
  :root{--header-h:56px}
  .site-nav p a:not(.cta){display:none}
  .site-nav p .cta{font-size:.7rem;padding:.4rem .6rem}
  .hero__copy h1{font-size:1.75rem}
  .site-footer{grid-template-columns:1fr}
  .footer-trust{flex-direction:column;align-items:flex-start}
  .channel-list,.child-list,.article-grid,.tag-article-list{grid-template-columns:1fr}
  .article-section{padding:1rem .75rem 2rem}
}

/* ── Reduced Motion ────────────────────────────────────────── */
@media(prefers-reduced-motion:reduce){
  *{animation-duration:.01ms !important;animation-iteration-count:1 !important;transition-duration:.01ms !important}
  html{scroll-behavior:auto}
}

a[data-cta],button[aria-controls]{min-height:44px;min-width:44px;box-sizing:border-box}main p a{text-decoration:underline}