/* The Returning Glory — companion site. Earth stained-glass system. Mobile-first, static, self-sustaining. */
:root{
  --bg:#F2ECDD; --panel:#FBF6EC; --ink:#2A2018; --border:#2A2018;
  --accent:#C32026;        /* ruby — teaching / primary */
  --accent2:#1F52A8;       /* cobalt — the take-home / "this week" track */
  --gold:#C8860C; --gold-ink:#6f4e08;
  --dark:#241b12; --dark-panel:#3a2c1d;
  --rule:rgba(42,32,24,.14);
  --body:rgba(42,32,24,.86); --muted:rgba(42,32,24,.58); --label:rgba(42,32,24,.72); --write:rgba(42,32,24,.34);
  --ivory:#f4ecdd;
  --display:"Archivo","Helvetica Neue",Arial,sans-serif;
  --font:"Archivo","Helvetica Neue",Arial,sans-serif;
  --mono:ui-monospace,"SF Mono",Menlo,Consolas,monospace;
  --tmono:.22em; --teye:.32em;
  --maxw:760px;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font); color:var(--ink); background:var(--bg);
  -webkit-font-smoothing:antialiased; line-height:1.6; font-size:17px;
}
/* currents live only in the dark zones (hero / signup / send) — light reading areas stay clean sand */
img{max-width:100%;display:block;}
a{color:inherit;}
em{font-style:italic;}
strong{font-weight:700;}

/* ---- layout ---- */
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 20px;}
section{padding:54px 0;}
.lede{font-size:18px;line-height:1.62;color:var(--body);}
.kicker{font-family:var(--mono);text-transform:uppercase;letter-spacing:var(--teye);font-size:11px;color:var(--label);}
.rule{height:3px;width:64px;background:var(--accent);margin:14px 0;border:0;}
.rule.gold{background:var(--gold);} .rule.wide{width:100%;}
h1,h2,h3{font-family:var(--display);font-weight:800;text-transform:uppercase;line-height:.96;letter-spacing:-.01em;}
h1{font-size:clamp(40px,9vw,72px);}
h2{font-size:clamp(28px,6vw,42px);}
h3{font-size:clamp(20px,4.5vw,26px);}
p+p{margin-top:14px;}

/* ---- nav ---- */
.nav{position:sticky;top:0;z-index:50;background:rgba(242,236,221,.92);backdrop-filter:blur(8px);border-bottom:2px solid var(--border);}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;padding-top:12px;padding-bottom:12px;gap:14px;flex-wrap:wrap;}
.nav .brand{font-family:var(--mono);text-transform:uppercase;letter-spacing:var(--tmono);font-size:11px;font-weight:700;}
.nav .brand b{color:var(--accent);}
.nav .links{display:flex;gap:18px;flex-wrap:wrap;}
.nav .links a{font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:10.5px;color:var(--label);text-decoration:none;padding:6px 0;}
.nav .links a:hover{color:var(--accent);}
@media (max-width:560px){.nav .links{gap:18px;}.nav .links a.nav-secondary{display:none;}}

/* ---- cards / panels (text always sits on solid ground) ---- */
.card{background:var(--panel);border:2px solid var(--border);padding:22px 24px;}
.card+.card{margin-top:18px;}
.card .label{font-family:var(--mono);text-transform:uppercase;letter-spacing:var(--tmono);font-size:11px;color:var(--accent);margin-bottom:8px;}
.card.cobalt{border-left:5px solid var(--accent2);} .card.cobalt .label{color:var(--accent2);}
.card.ruby{border-left:5px solid var(--accent);}
.card.gold{border-left:5px solid var(--gold);} .card.gold .label{color:var(--gold-ink);}
.note{font-style:italic;color:var(--muted);font-size:15px;}

/* ---- buttons ---- */
.btns{display:flex;gap:14px;flex-wrap:wrap;margin-top:22px;}
.btn{display:inline-block;font-family:var(--mono);text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:700;
  text-decoration:none;padding:14px 22px;border:2px solid var(--border);background:var(--accent);color:#fff;}
.btn:hover{filter:brightness(1.06);}
.btn.alt{background:transparent;color:var(--ink);}
.btn.cobalt{background:var(--accent2);color:#fff;}
.btn.small{padding:11px 16px;font-size:11px;}

/* ---- dark hero (stained-glass) ---- */
.hero{background:var(--dark);color:var(--ivory);border-bottom:2px solid var(--border);position:relative;overflow:hidden;}
.hero::before{content:"";position:absolute;inset:0;background:url("assets/currents-glow.svg") center/cover;opacity:1;z-index:0;}
.hero .wrap{position:relative;z-index:1;padding-top:70px;padding-bottom:70px;}
.hero .plate{background:var(--dark-panel);border:2px solid rgba(244,236,221,.4);padding:30px 28px;}
.hero .kicker{color:rgba(244,236,221,.72);}
.hero h1{color:var(--ivory);margin-top:4px;}
.hero .lede{color:rgba(244,236,221,.92);}
.hero .rule{background:var(--gold);}
.hero .btn.alt{color:var(--ivory);border-color:rgba(244,236,221,.5);}

/* ---- the arc table ---- */
.arc{border:2px solid var(--border);background:var(--panel);}
.arc a{display:flex;gap:14px;align-items:baseline;padding:13px 18px;text-decoration:none;color:inherit;}
.arc a+a{border-top:1px solid var(--rule);}
.arc a:hover{background:rgba(195,32,38,.05);}
.arc .wk{font-family:var(--mono);color:var(--accent);font-size:11px;letter-spacing:var(--tmono);width:78px;flex:none;}
.arc .t{font-weight:700;font-size:15px;}
.arc .d{color:var(--muted);font-size:14px;margin-left:auto;text-align:right;}

/* ---- week page bits ---- */
.prog{display:flex;gap:6px;margin:8px 0 0;}
.prog .pd{width:26px;height:6px;border:1.5px solid var(--border);}
.prog .pd.on{background:var(--accent);border-color:var(--accent);}
.prog.tw .pd.on{background:var(--accent2);border-color:var(--accent2);}
.scripture{border:2px solid var(--border);background:var(--panel);padding:20px 22px;}
.scripture .v{font-style:italic;font-size:18px;line-height:1.55;}
.scripture .c{font-family:var(--mono);text-transform:uppercase;letter-spacing:var(--tmono);font-size:11px;color:var(--accent);margin-top:10px;}
.qs{list-style:none;} .qs li{font-weight:700;font-size:16px;line-height:1.5;padding:12px 0;border-top:1px solid var(--rule);}
.qs li:first-child{border-top:0;}
.steps{list-style:none;} .steps li{position:relative;padding-left:22px;margin-top:10px;font-size:15.5px;line-height:1.55;color:var(--body);}
.steps li:first-child{margin-top:0;} .steps li::before{content:"\2192";position:absolute;left:0;color:var(--accent2);font-weight:700;}
.silence{border:3px solid var(--border);background:var(--panel);padding:26px 24px;text-align:center;}
.silence .label{color:var(--label);}
.silence .cue{font-style:italic;color:var(--body);margin-top:14px;font-size:16px;}
.pager{display:flex;justify-content:space-between;gap:14px;margin-top:8px;}
.pager a{font-family:var(--mono);text-transform:uppercase;letter-spacing:.1em;font-size:11px;text-decoration:none;color:var(--accent);}
.pager a.disabled{color:var(--muted);pointer-events:none;}

/* ---- email signup ---- */
.signup{background:var(--panel);color:var(--ink);border:2px solid var(--border);padding:30px 26px;}
.signup .kicker{color:var(--accent2);}
.signup h2{color:var(--ink);}
.signup p{color:var(--body);}
.signup form{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.signup input[type=email]{flex:1;min-width:220px;font-family:var(--font);font-size:15px;padding:13px 15px;border:2px solid var(--border);background:#fff;color:var(--ink);}
.signup input::placeholder{color:var(--muted);}
.signup .btn{background:var(--accent2);}
.signup .fineprint{font-size:12px;color:var(--muted);margin-top:12px;}

/* ---- footer / the send ---- */
.send{background:var(--dark);color:var(--ivory);border-top:2px solid var(--border);position:relative;overflow:hidden;text-align:center;}
.send::before{content:"";position:absolute;inset:0;background:url("assets/currents-glow.svg") center/cover;opacity:.7;}
.send .wrap{position:relative;z-index:1;}
.send .plate{background:var(--dark-panel);border:2px solid rgba(244,236,221,.4);padding:30px 26px;display:inline-block;text-align:center;max-width:600px;}
.send h2{color:var(--ivory);}
.send .v{font-style:italic;color:rgba(244,236,221,.92);font-size:16px;line-height:1.55;margin-top:14px;}
.send .leave{font-family:var(--mono);text-transform:uppercase;letter-spacing:var(--tmono);font-size:11px;color:var(--gold);margin-top:18px;}
.foot{background:var(--dark);color:rgba(244,236,221,.5);font-family:var(--mono);text-transform:uppercase;letter-spacing:var(--tmono);font-size:10px;}
.foot .wrap{display:flex;flex-direction:column;gap:14px;padding:22px 20px;position:relative;z-index:1;}
.foot .fnav{display:flex;flex-wrap:wrap;gap:14px 20px;}
.foot .fnav a{color:rgba(244,236,221,.78);text-decoration:none;padding:2px 0;}
.foot .fnav a:hover{color:var(--gold);}
.foot .fbrand{display:flex;flex-wrap:wrap;gap:12px;color:rgba(244,236,221,.45);}

.center{text-align:center;} .mt0{margin-top:0;} .stack>*+*{margin-top:18px;}
.duo{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.card .big{font-size:16px;font-weight:700;line-height:1.4;}
.pagehead{padding-bottom:0;}
@media (max-width:560px){.duo{grid-template-columns:1fr;}}
/* works cited / resources */
.cite .grp{font-family:var(--mono);text-transform:uppercase;letter-spacing:.16em;font-size:10px;color:var(--accent);margin:16px 0 6px;}
.cite .grp:first-child{margin-top:0;}
.cite .refs{font-size:13px;line-height:1.7;color:var(--body);}
.cite a{color:var(--accent2);text-decoration:none;border-bottom:1px solid rgba(31,82,168,.3);}
.cite a:hover{border-bottom-color:var(--accent2);}
.cite ul{list-style:none;margin-top:2px;}
.cite li{font-size:12.5px;line-height:1.45;padding:4px 0;color:var(--body);}

/* ---- start a room: charter, scheduler, invite, commissioning ---- */
.charter .ln{border-bottom:1.5px solid var(--write);height:34px;margin-top:12px;}
.charter .row2{display:grid;grid-template-columns:1fr 1fr;gap:18px;}
.charter .fl{font-family:var(--mono);text-transform:uppercase;letter-spacing:var(--tmono);font-size:10px;color:var(--label);}
@media(max-width:560px){.charter .row2{grid-template-columns:1fr;}}
.sched label{font-family:var(--mono);text-transform:uppercase;letter-spacing:var(--tmono);font-size:10px;color:var(--label);display:block;margin-bottom:6px;}
.sched .ctl{display:flex;gap:12px;flex-wrap:wrap;align-items:flex-end;}
.sched input{font-family:var(--font);font-size:15px;padding:11px 13px;border:2px solid var(--border);background:var(--panel);color:var(--ink);}
.sched .dates{list-style:none;margin-top:16px;}
.sched .dates li{display:flex;gap:12px;align-items:baseline;padding:9px 0;border-top:1px solid var(--rule);font-size:14.5px;}
.sched .dates li:first-child{border-top:0;}
.sched .dates .wk{font-family:var(--mono);color:var(--accent2);font-size:11px;letter-spacing:var(--tmono);width:62px;flex:none;}
.sched .dates .nm{font-weight:700;}
.sched .dates .dt{color:var(--muted);margin-left:auto;}
.invite-box{border:2px solid var(--border);background:var(--panel);padding:16px 18px;margin-top:12px;font-size:14px;line-height:1.62;white-space:pre-wrap;color:var(--body);}
.copied{font-family:var(--mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--accent2);margin-left:12px;opacity:0;transition:opacity .2s;}
.copied.show{opacity:1;}
.resume{display:block;font-family:var(--mono);text-transform:uppercase;letter-spacing:.12em;font-size:11px;color:var(--accent2);text-decoration:none;border:2px solid var(--accent2);padding:10px 14px;margin-top:18px;}
.resume:hover{background:rgba(31,82,168,.06);}
.seen-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent2);margin-left:8px;vertical-align:middle;}
@media print{
  body{background:#fff;-webkit-print-color-adjust:exact;}
  nav,.foot,.send,.nav,.noprint{display:none !important;}
  body *{visibility:hidden;}
  #charter,#charter *{visibility:visible;}
  #charter{position:absolute;left:0;top:0;width:100%;border-width:2px;background:#fff;}
  #charter .ln{border-bottom:1.5px solid #000;}
  @page{size:Letter portrait;margin:0.6in;}
}

/* ---- craft: focus-visible, reading measure, a quiet home entrance ---- */
a:focus-visible,button:focus-visible,input:focus-visible{outline:2px solid var(--accent2);outline-offset:3px;}
.hero a:focus-visible,.signup a:focus-visible,.signup input:focus-visible,.send a:focus-visible{outline-color:var(--gold);}
.lede{max-width:64ch;}
.hero .lede{max-width:52ch;}
@media (prefers-reduced-motion:no-preference){
  .hero .plate>*{opacity:0;transform:translateY(14px);animation:trg-rise .85s cubic-bezier(.2,.7,.15,1) both;}
  .hero .plate>*:nth-child(1){animation-delay:.04s;}
  .hero .plate>*:nth-child(2){animation-delay:.13s;}
  .hero .plate>*:nth-child(3){animation-delay:.22s;}
  .hero .plate>*:nth-child(4){animation-delay:.32s;}
  .hero .plate>*:nth-child(5){animation-delay:.44s;}
  .hero::before{opacity:0;animation:trg-glow 1.8s ease-out .1s forwards;}
}
@keyframes trg-rise{to{opacity:1;transform:none;}}
@keyframes trg-glow{to{opacity:1;}}
@media (max-width:560px){
  body{font-size:16px;}
  section{padding:40px 0;}
  .card{padding:18px 18px;}
  .arc .d{display:none;}
  .btn{display:block;text-align:center;}
}
