/* The Galanthus Notes — shared stylesheet
   Palette: warm cream paper, warm charcoal ink, snowdrop-leaf green, brass.
   Type: Marcellus (display) · Source Serif 4 (body) · IBM Plex Mono (labels) */

:root{
  --paper:#F7F1E6;
  --paper-deep:#EEE5D4;
  --ink:#2B2A26;
  --ink-soft:#5A554D;
  --ink-mute:#8C8578;
  --leaf:#6E7F5C;
  --brass:#B08D57;
  --hairline:rgba(43,42,38,.16);
  --measure:38rem;
  --wide:62rem;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  background:var(--paper);
  color:var(--ink);
  font-family:'Source Serif 4',Georgia,'Times New Roman',serif;
  font-size:18px;line-height:1.7;
  -webkit-font-smoothing:antialiased;
  min-height:100vh;display:flex;flex-direction:column;
}
a{color:inherit;text-decoration:none}
a:focus-visible{outline:2px solid var(--brass);outline-offset:3px}
::selection{background:var(--leaf);color:var(--paper)}
.wrap{width:100%;max-width:var(--wide);margin:0 auto;padding:0 24px}
.eyebrow{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase}

/* ---------- header ---------- */
.site-head{padding:30px 0 0}
.site-head .wrap{display:flex;align-items:center;justify-content:space-between;gap:24px}
.wordmark{display:inline-flex;align-items:center;gap:12px}
.wordmark svg{width:22px;height:33px;flex:none;color:var(--ink)}
.wordmark span{
  font-family:'Marcellus',Georgia,serif;font-size:1.2rem;letter-spacing:.02em;line-height:1;
  white-space:nowrap;color:var(--ink);font-synthesis:weight;
}
.wordmark .gala{font-weight:700}   /* her name, in bold */
.site-nav{display:flex;gap:26px}
.site-nav a{
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--ink-soft);padding-bottom:3px;border-bottom:1px solid transparent;
}
.site-nav a:hover,.site-nav a[aria-current="page"]{border-bottom-color:var(--brass);color:var(--ink)}
@media (max-width:640px){
  .site-head{padding-top:24px}
  .site-head .wrap{flex-direction:column;align-items:flex-start;gap:16px}
  .wordmark{gap:9px}
  .wordmark svg{width:18px;height:27px}
  .wordmark span{font-size:1.05rem}
  .site-nav{gap:20px}
  .site-nav a{font-size:.68rem;letter-spacing:.12em}
}

/* ---------- botanical plate (home hero) ---------- */
.plate-hero{padding:56px 0 24px}
.plate-hero .wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);gap:48px;align-items:center}
.plate img{
  display:block;width:100%;max-width:420px;margin:0 auto;height:auto;
  border:1px solid var(--hairline);   /* the plate keeps its own aged paper, mounted on ours */
}
.plate figcaption{
  margin-top:14px;text-align:center;
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);
}
.plate-hero .eyebrow{color:var(--brass);margin-bottom:22px}
.plate-hero h1{
  font-family:'Marcellus',Georgia,serif;font-weight:400;
  font-size:clamp(2.2rem,5.4vw,3.4rem);line-height:1.1;letter-spacing:-.005em;
}
.plate-hero .deck{margin-top:22px;font-size:1.2rem;line-height:1.5;color:var(--ink-soft);font-style:italic;max-width:30ch}
@media (max-width:760px){
  .plate-hero{padding:36px 0 8px}
  .plate-hero .wrap{grid-template-columns:1fr;gap:28px}
  .plate img{max-width:260px}
}

/* ---------- reading column (home note, chapters, entries) ---------- */
.note{width:100%;max-width:var(--measure);margin:0 auto;padding:40px 24px 72px}
.note .eyebrow{color:var(--brass);margin-bottom:22px}
.note h1{
  font-family:'Marcellus',Georgia,serif;font-weight:400;
  font-size:clamp(2.1rem,5.4vw,3.2rem);line-height:1.12;letter-spacing:-.005em;
}
.note .deck{margin-top:20px;font-size:1.15rem;line-height:1.5;color:var(--ink-soft);font-style:italic}
.rule{width:2.75rem;height:1px;background:var(--brass);margin:40px 0 44px}
.note-body{font-size:1.12rem;line-height:1.75}
.note-body p{margin:0 0 1.35em}
.note-body h2{
  font-family:'Marcellus',Georgia,serif;font-weight:400;
  font-size:1.55rem;line-height:1.25;margin:2.4em 0 .8em;
}
.note-body strong{font-weight:700}
.note-body blockquote{margin:1.6em 0;padding-left:1.25rem;border-left:1px solid var(--brass);color:var(--ink-soft)}
.note-body hr{border:0;height:1px;background:var(--hairline);margin:3em 0 2em}
.note-body .sign{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.8rem;letter-spacing:.06em;color:var(--ink-mute)}
.note-foot{
  max-width:var(--measure);margin:0 auto;padding:0 24px 72px;
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-mute);
}
.note-foot a:hover{color:var(--ink)}

/* ---------- section pages (History, Weather) ---------- */
.section-head{width:100%;max-width:var(--wide);margin:0 auto;padding:72px 24px 40px}
.section-head .eyebrow{color:var(--brass);margin-bottom:18px}
.section-head h1{
  font-family:'Marcellus',Georgia,serif;font-weight:400;
  font-size:clamp(2rem,4.8vw,3rem);line-height:1.12;max-width:20ch;
}
.section-head p{margin-top:22px;max-width:56ch;color:var(--ink-soft);font-size:1.08rem}
.section-head p+p{margin-top:.9em}

.chapters{width:100%;max-width:var(--wide);margin:0 auto;padding:8px 24px 88px}
.chapter{display:grid;grid-template-columns:5.5rem 1fr;gap:22px;padding:26px 0;border-top:1px solid var(--hairline)}
.chapter:last-child{border-bottom:1px solid var(--hairline)}
.chapter .num{font-family:'Marcellus',Georgia,serif;font-size:1.9rem;line-height:1;color:var(--brass);padding-top:.15rem}
.chapter h2{font-family:'Marcellus',Georgia,serif;font-weight:400;font-size:1.45rem;line-height:1.25}
.chapter h2 a{border-bottom:1px solid transparent}
.chapter h2 a:hover{border-bottom-color:var(--brass)}
.chapter .q{margin-top:8px;color:var(--ink-soft);font-style:italic}
.chapter .papers{margin-top:8px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.72rem;letter-spacing:.06em;color:var(--ink-mute);line-height:1.8}
.chapter .soon,.chapter .more{
  display:inline-block;margin-top:10px;
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;
}
.chapter .soon{color:var(--ink-mute)}
.chapter .more{color:var(--leaf)}
@media (max-width:640px){.chapter{grid-template-columns:1fr;gap:6px}}

.entries{width:100%;max-width:var(--wide);margin:0 auto;padding:8px 24px 88px}
.entry{display:grid;grid-template-columns:7.5rem 1fr;gap:20px;padding:30px 0;border-top:1px solid var(--hairline)}
.entry:last-child{border-bottom:1px solid var(--hairline)}
.entry .meta{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.72rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);line-height:1.9;padding-top:.45rem}
.entry h2{font-family:'Marcellus',Georgia,serif;font-weight:400;font-size:1.55rem;line-height:1.25}
.entry p{margin-top:10px;color:var(--ink-soft);max-width:56ch}
.entry .more{display:inline-block;margin-top:14px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--leaf)}
.empty{max-width:var(--measure);padding:30px 0 0;color:var(--ink-soft);font-style:italic}
@media (max-width:640px){.entry{grid-template-columns:1fr;gap:8px}}

/* ---------- about ---------- */
.about{width:100%;max-width:var(--measure);margin:0 auto;padding:72px 24px 96px;font-size:1.12rem}
.about h1{font-family:'Marcellus',Georgia,serif;font-weight:400;font-size:clamp(1.9rem,4.6vw,2.6rem);line-height:1.15;margin-bottom:34px}
.about p{margin-bottom:1.3em}
.about .contact{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.85rem;letter-spacing:.04em;color:var(--ink-soft);margin-top:2.2em}

/* ---------- footer ---------- */
.site-foot{margin-top:auto;border-top:1px solid var(--hairline);padding:28px 0 40px}
.site-foot .wrap{
  display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;
  font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-mute);
}
.site-foot a:hover{color:var(--ink)}
.site-foot .disclaimer{width:100%;text-transform:none;letter-spacing:.02em;font-size:.72rem;margin-top:6px}

@media (prefers-reduced-motion:no-preference){
  .plate-hero h1,.note h1,.section-head h1{animation:rise .7s cubic-bezier(.2,.7,.2,1) both}
  .plate img{animation:rise 1s cubic-bezier(.2,.7,.2,1) both}
  @keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
}

/* ---------- letters to Gala ---------- */
.note-body .salutation{font-family:'Marcellus',Georgia,serif;font-size:1.35rem;margin-bottom:1.2em}
.note-body .to-gala{margin-top:2.2em;padding-top:1.4em;border-top:1px solid var(--hairline);font-style:italic;color:var(--ink-soft)}
