/* practicing-year/assets/py.css — The Practicing Year, 2027.
   The palette is the pastor's own, lifted from his 2027 syllabus: the violet he
   set the title in, the green of Ordinary Time, the gold of the feasts, the blue
   he gave Advent. THE PAPER ITSELF IS NEUTRAL: the violet was in it to begin
   with, which put the whole year on a purple ground, and a season's colour that
   is also the background is no longer a season's colour (29 September 2026). Type is the pair his bulletin ad already uses, with Newsreader
   carrying the headings. The governing image is a trellis: regula means trellis,
   and the resource is the trellis while the practice is the vine. */
:root{
  --paper:#F7F6F2; --sheet:#FDFCFA; --ink:#1A1816; --muted:#454039; --faint:#767068;
  --purple:#553975; --green:#3B6647; --gold:#8C6A24; --advent:#2C4A7C;
  --rule:rgba(26,24,22,.15); --rule-soft:rgba(26,24,22,.08);
  --sh-lent:#F0EBF7; --sh-ordinary:#E9F1EB; --sh-feast:#FAF2E0; --sh-advent:#E9EEF7; --sh-winter:#F1EFE9;
  --lattice:rgba(85,57,117,.13);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#171613; --sheet:#201E1A; --ink:#EFEBE4; --muted:#C2BCB1; --faint:#918B81;
  --purple:#B79BD9; --green:#7CB292; --gold:#D5AE63; --advent:#86A8DC;
  --rule:rgba(239,235,228,.17); --rule-soft:rgba(239,235,228,.09);
  --sh-lent:#262034; --sh-ordinary:#1D2A22; --sh-feast:#2C2517; --sh-advent:#1C2436; --sh-winter:#232019;
  --lattice:rgba(183,155,217,.16);
}}
:root[data-theme="dark"]{
  --paper:#171613; --sheet:#201E1A; --ink:#EFEBE4; --muted:#C2BCB1; --faint:#918B81;
  --purple:#B79BD9; --green:#7CB292; --gold:#D5AE63; --advent:#86A8DC;
  --rule:rgba(239,235,228,.17); --rule-soft:rgba(239,235,228,.09);
  --sh-lent:#262034; --sh-ordinary:#1D2A22; --sh-feast:#2C2517; --sh-advent:#1C2436; --sh-winter:#232019;
  --lattice:rgba(183,155,217,.16);
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Source Serif 4",Georgia,"Times New Roman",serif;font-size:17px;line-height:1.62;
  -webkit-font-smoothing:antialiased}
.wrap{max-width:860px;margin:0 auto;padding:0 22px 80px}
h1,h2,h3,h4{font-family:Newsreader,Georgia,serif;font-weight:500;text-wrap:balance;margin:0}
a{color:var(--purple)}
.lbl{font-family:Archivo,"Helvetica Neue",Arial,sans-serif;font-size:10.5px;font-weight:600;
  letter-spacing:.15em;text-transform:uppercase;color:var(--faint)}
.trellis{background-image:
    repeating-linear-gradient(45deg,var(--lattice) 0 1px,transparent 1px 11px),
    repeating-linear-gradient(-45deg,var(--lattice) 0 1px,transparent 1px 11px);}

/* invitation */
.masthead{display:grid;grid-template-columns:16px 1fr;gap:24px;padding:52px 0 30px;border-bottom:1px solid var(--rule)}
.masthead h1{font-size:clamp(34px,7vw,60px);line-height:1.02;letter-spacing:-.02em;margin:10px 0 0}
.masthead h1 em{font-style:italic;color:var(--purple)}
.masthead .said{margin:16px 0 0;color:var(--muted);max-width:44em}
.facts{display:flex;flex-wrap:wrap;gap:6px 24px;margin-top:22px;padding-top:16px;border-top:1px solid var(--rule-soft)}
.facts div{font-family:Archivo,Arial,sans-serif;font-size:11.5px;letter-spacing:.07em;color:var(--muted)}

.band{display:grid;grid-template-columns:104px 1fr;border-bottom:1px solid var(--rule-soft)}
.band .seas{padding:14px 12px 16px;border-right:1px solid var(--rule-soft);
  font-family:Archivo,Arial,sans-serif;font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.band .seas em{display:block;font-family:"Source Serif 4",serif;font-style:italic;letter-spacing:0;
  font-size:12px;text-transform:none;color:var(--faint);margin-top:5px;line-height:1.3}
.band .list{background:var(--sheet)}
.b-lent{background:var(--sh-lent)} .b-lent .seas{color:var(--purple)}
.b-ordinary{background:var(--sh-ordinary)} .b-ordinary .seas{color:var(--green)}
.b-feast{background:var(--sh-feast)} .b-feast .seas{color:var(--gold)}
.b-advent{background:var(--sh-advent)} .b-advent .seas{color:var(--advent)}
.b-winter{background:var(--sh-winter)} .b-winter .seas{color:var(--faint)}
.sess{display:flex;gap:14px;padding:12px 14px;border-bottom:1px solid var(--rule-soft);align-items:baseline}
.sess:last-child{border-bottom:0}
.sess .d{font-family:Archivo,Arial,sans-serif;font-size:11px;letter-spacing:.06em;color:var(--faint);
  min-width:58px;font-variant-numeric:tabular-nums}
.sess .t{font-family:Newsreader,Georgia,serif;font-size:19px;line-height:1.2}
.sess .t small{display:block;font-family:"Source Serif 4",serif;font-size:13.5px;color:var(--muted);
  font-style:italic;margin-top:3px;line-height:1.35}

/* buttons, forms, blocks */
.btn{font-family:Archivo,Arial,sans-serif;font-size:12px;letter-spacing:.06em;text-transform:uppercase;
  border:1px solid var(--purple);color:var(--purple);background:transparent;padding:11px 18px;cursor:pointer;
  text-decoration:none;display:inline-block}
.btn.solid{background:var(--purple);color:var(--sheet)}
.btn:focus-visible{outline:2px solid var(--purple);outline-offset:3px}
input[type=text],input[type=password]{font-family:inherit;font-size:16px;padding:11px 13px;
  border:1px solid var(--rule);background:var(--sheet);color:var(--ink);min-width:12em}
.note{border-left:3px solid var(--gold);background:var(--sh-feast);padding:15px 19px;margin:22px 0}
.note p{margin:6px 0}
.err{color:#9A3412;font-size:15px}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .err{color:#F3A26A}}
@media(max-width:620px){.band{grid-template-columns:1fr}
  .band .seas{border-right:0;border-bottom:1px solid var(--rule-soft)}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
