/* Minimal, clean styles — no frameworks */
:root{
  --bg:#fafaf9;
  --text:#0a0a0a;
  --muted:#666;
  --card:#ffffff;
  --border:#e7e5e4;
  --primary:#111111;
  --accent:#fef3c7; /* (used elsewhere; the title frame accent is redefined later) */
}

*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--text);font:16px/1.5 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Inter,Arial}
.container{max-width:1000px;margin:0 auto;padding:0 16px}

/* Nav */
.nav{position:sticky;top:0;backdrop-filter:saturate(160%) blur(6px);background:rgba(255,255,255,.8);border-bottom:1px solid var(--border);z-index:10}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 0}
.brand{font-weight:800;letter-spacing:.2px}
.links a{color:var(--text);text-decoration:none;margin-left:16px}
.links a:hover{text-decoration:underline}

/* Hero */
.hero{padding:56px 0}
.hero-grid{display:grid;grid-template-columns:1fr;gap:24px}
@media(min-width:900px){.hero-grid{grid-template-columns:1.2fr .8fr}}
.hero-copy h1{font-size:40px;line-height:1.1;margin:0 0 12px}
.hero-copy p{margin:0 0 16px;font-size:18px;color:#333}
.cta-row{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 4px}
.btn{display:inline-block;padding:10px 14px;border-radius:16px;border:1px solid var(--border);background:var(--card);color:var(--text);text-decoration:none;box-shadow:0 1px 0 rgba(0,0,0,.05)}
.btn.primary{background:var(--primary);color:white;border-color:var(--primary)}
.btn.ghost{background:white}
.phase-note{margin-top:8px;color:#6b7280;font-size:14px}

/* Card (right column) */
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:inset 0 0 0 9999px rgba(255,255,255,.4)}
.label{font-size:12px;text-transform:uppercase;color:var(--muted);letter-spacing:.08em}
.theme{font-size:20px;margin:6px 0 10px}
.words{list-style:none;padding:0;margin:8px 0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.words li{border:1px solid var(--border);border-radius:12px;padding:8px;text-align:center;font-family:ui-monospace,Menlo,Consolas,monospace}
.mt{margin-top:10px}
.meta{font-size:14px;color:#374151}

/* Sections */
.section{padding:48px 0}
.section.alt{background:white;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
h2{margin:0 0 12px;font-size:24px}
.steps{margin:10px 0 0;padding-left:18px}
.steps li{margin:6px 0}
.note{margin-top:12px;padding:12px;border:1px solid var(--border);border-radius:12px;background:#fff8e1}
.rules{margin:8px 0 0;padding-left:18px}
.rules li{margin:6px 0}

/* Grid (archive) */
.grid{display:grid;grid-template-columns:1fr;gap:16px}
@media(min-width:800px){.grid{grid-template-columns:1fr 1fr}}
.muted{color:var(--muted)}
.small{font-size:14px}
.bold{font-weight:600}
.faded{opacity:.7}

/* Footer */
.footer{border-top:1px solid var(--border);background:#fff}
.foot{display:flex;justify-content:space-between;align-items:center;padding:18px 0}
.foot .links a{margin-left:14px;color:#374151}
.footer .links{margin-left:8px;color:#701921}

/* =========================
   Title block + 3-sided accent
   ========================= */

/* Accent variables for the frame (redefine here without touching the earlier theme accent) */
:root{
  --frame-accent:#B22222;        /* deep red for the frame */
  --accent-thickness:3px;        /* thickness for ALL three lines */
  --title-padding-x:20px;         /* left/right padding INSIDE the frame */
  --title-padding-y:16px;         /* top/bottom padding INSIDE the frame */
  --short-top-ch:3.8ch;          /* length of short top line; tweak ±0.02ch */
}

/* Framed wrapper */
.title-block{
  position:relative;
  display:inline-block; /* frame hugs the text */
  padding:var(--title-padding-y) var(--title-padding-x);
  margin-bottom:.5rem;  /* space before the following paragraph */
}

/* LEFT vertical line */
.title-block::before{
  content:"";
  position:absolute;
  top:0; left:0;
  width:var(--accent-thickness);
  height:100%;
  background:var(--frame-accent);
}

/* BOTTOM horizontal line */
.title-block::after{
  content:"";
  position:absolute;
  left:0; bottom:0;
  width:100%;
  height:var(--accent-thickness);
  background:var(--frame-accent);
}

/* SHORT TOP line aligned with “The” */
.site-title{ position:relative; }
.site-title::before{
  content:"";
  position:absolute;
  /* start at the OUTER corner by offsetting by the padding values */
  top:  calc(0px - var(--title-padding-y));
  left: calc(0px - var(--title-padding-x));
  height:var(--accent-thickness);
  width: var(--short-top-ch);       /* ends at the ‘e’ in “The” */
  background:var(--frame-accent);
}

/* Hero title/subtitle/tagline typography */
.site-title{
  font-size:3rem;
  font-weight:700;
  line-height:1.1;
  margin:0 0 .25rem 0;
  color:#111;
  text-align:left;
}
.site-subtitle{
  font-size:1.5rem;
  font-weight:500;
  margin:0 0 .5rem 0;
  color:#333;
  text-align:left;
}
.site-tagline{
  font-size:1.2rem;
  font-weight:400;
  margin:0 0 .75rem 0;
  color:#666;
  text-align:left;
}

/* Intro paragraph under the frame */
.lead{
  display:block;
  margin:.75rem 0 1.25rem 0;
  color:#222;
  line-height:1.55;
}

/* Mobile tuning */
@media (max-width:600px){
  :root{
    --short-top-ch:2.26ch;   /* tiny trim for phones */
    --title-padding-x:16px;
    --title-padding-y:12px;
  }
  .site-title{font-size:2.4rem}
  .site-subtitle{font-size:1.3rem}
}
