/* Moonveil typography: engraved titles, literary italics, humanist interface. */
@font-face {
  font-family:"Cormorant Unicase"; font-style:normal; font-weight:500; font-display:swap;
  src:url("assets/fonts/mms-unicase-medium.woff2") format("woff2");
}
@font-face {
  font-family:"Cormorant Unicase"; font-style:normal; font-weight:600; font-display:swap;
  src:url("assets/fonts/mms-unicase-semibold.woff2") format("woff2");
}
@font-face {
  font-family:"Cormorant Unicase"; font-style:normal; font-weight:700; font-display:swap;
  src:url("assets/fonts/mms-unicase-bold.woff2") format("woff2");
}
@font-face {
  font-family:"Alegreya"; font-style:normal; font-weight:400 900; font-display:swap;
  src:url("assets/fonts/mms-alegreya-roman.woff2") format("woff2");
}
@font-face {
  font-family:"Alegreya"; font-style:italic; font-weight:400 900; font-display:swap;
  src:url("assets/fonts/mms-alegreya-italic.woff2") format("woff2");
}
@font-face {
  font-family:"Alegreya Sans"; font-style:normal; font-weight:400; font-display:swap;
  src:url("assets/fonts/mms-sans-regular.woff2") format("woff2");
}
@font-face {
  font-family:"Alegreya Sans"; font-style:normal; font-weight:500; font-display:swap;
  src:url("assets/fonts/mms-sans-medium.woff2") format("woff2");
}
@font-face {
  font-family:"Alegreya Sans"; font-style:normal; font-weight:700; font-display:swap;
  src:url("assets/fonts/mms-sans-bold.woff2") format("woff2");
}

:root {
  --display:"Cormorant Unicase", Georgia, "Times New Roman", serif;
  --serif:var(--display);
  --body:"Alegreya Sans", "Segoe UI", sans-serif;
  --prose:"Alegreya", Georgia, "Times New Roman", serif;
}
body { font-size:18px; font-synthesis:none; }
button, input, select, textarea { font-family:var(--body); }
h1, h2, h3 { font-kerning:normal; text-wrap:balance; }

.brand-copy strong { font-size:29px; font-weight:700; letter-spacing:.1em; }
.brand-copy small { font-size:9px; font-weight:500; letter-spacing:.16em; }
.site-nav a { font-family:var(--display); font-size:17px; font-weight:600; letter-spacing:.065em; }
.button { font-weight:700; font-size:14px; letter-spacing:.09em; line-height:1.25; }
.eyebrow { font-size:12px; font-weight:700; letter-spacing:.19em; line-height:1.5; }

.hero h1 { font-weight:500; letter-spacing:-.02em; line-height:1.03; }
.hero h1 em { font-family:var(--prose); font-weight:400; letter-spacing:-.04em; line-height:1.06; }
.admins-hero h1 em { width:auto; max-width:100%; font-size:clamp(36px,3.3vw,50px); line-height:1.15; }
.hero-lead { font-family:var(--prose); font-weight:400; font-size:clamp(20px,1.7vw,23px); line-height:1.65; letter-spacing:0; }
.hero-stamp-main strong, .owner-stamp a strong { font-family:var(--display); font-weight:600; letter-spacing:.015em; }
.hero-stamp-main { letter-spacing:.01em; }
.hero-stamp-index, .hero-stamp-foot { font-weight:500; letter-spacing:.13em; }

.section h2, .fandom-panorama h2, .final-cta h2,
.duo-feature-copy h2, .chapter-copy > h2, .passage-copy h2,
.chapter-map h2, .moon-dialog-copy h2 { font-weight:500; letter-spacing:-.01em; line-height:1.08; }
.section h2 em, .fandom-panorama h2 em, .final-cta h2 em,
.duo-feature-copy h2 em { font-family:var(--prose); font-weight:400; }
.chapter-caption h3 { font-weight:600; letter-spacing:.015em; line-height:1.15; }
.chapter-caption p, .passage-copy > p { font-size:15px; line-height:1.7; }
.chapter-caption a, .passage-links b { font-size:14px; font-weight:500; letter-spacing:.02em; }
.chapter-map nav a { font-size:14px; }
.passage-hint, .chapter-scroll-hint, .story-caption, .hero-bottom > p,
.veil-copy em { font-family:var(--prose); font-weight:400; letter-spacing:.005em; }
.veil-copy strong { font-weight:500; letter-spacing:.03em; }
.veil-skip { font-size:12px; }

.story-enabled .bento-card .card-copy h3 { font-weight:500; letter-spacing:-.01em; line-height:1.06; }
.story-enabled .bento-card .card-copy p { font-family:var(--prose); font-size:19px; line-height:1.6; }
.bento-card .text-link, .text-link { font-weight:700; font-size:13px; letter-spacing:.08em; }
.mms-owner-grid .owner-card h3, .admin-card .owner-card-copy h3,
.admin-channel-card h3 { font-weight:500; letter-spacing:.005em; line-height:1.1; }
.owner-fandom, .owner-series, .owner-role { font-weight:500; letter-spacing:.12em; }
.owner-card-copy > p:not(.owner-fandom), .admin-channel-card > p:not(.eyebrow),
.media-link-copy > p:not(.eyebrow), .rules-detail-card > p { font-size:17px; line-height:1.65; }
.owner-contact { font-size:13px; font-weight:700; letter-spacing:.03em; }
.admin-card .owner-contact { font-size:12px; }
.media-link-copy h3, .role-catalog-card h3, .rules-detail-card h3,
.admin-recruit-roles h3 { font-family:var(--display); font-size:30px; font-weight:600; letter-spacing:.005em; line-height:1.15; }
.occupied-role-tags li { font-size:14px; line-height:1.45; }
.roles-search-field input { font-size:17px; }
.join-steps h3 { font-family:var(--display); font-size:29px; font-weight:600; letter-spacing:.015em; line-height:1.15; }
.join-steps p { font-size:17px; line-height:1.65; }
.moon-dialog-copy > p, .moon-dialog-copy li { font-size:16px; }

/* Lettering stays inside the original animated stationery geometry. */
.letter-type { font-family:var(--prose); }
.letter-title { font-family:var(--display); font-weight:600; letter-spacing:.4px; }
.letter-note, .letter-signature, .letter-monogram { font-family:var(--prose); font-style:italic; }
.letter-rule { font-size:20px; }
.letter-address { font-size:11px; letter-spacing:1.7px; }
.archive-card span { font-weight:600; letter-spacing:.015em; }
.archive-caption strong { font-weight:600; }
.archive-caption small { font-size:9px; }
.archive-toggle { font-size:12px; }
.hero-mei-hint, .lead-hint { font-size:14px; }

@media (max-width:1100px) {
  .site-nav a { font-size:20px; letter-spacing:.07em; }
}
@media (max-width:720px) {
  body { font-size:17px; }
  .hero h1 { font-size:clamp(47px,10.8vw,66px); line-height:1.05; }
  .hero h1 em { font-size:.88em; line-height:1.12; }
  .mms-art-page .admins-hero h1 { font-size:clamp(47px,10.8vw,66px); }
  .admins-hero h1 em { font-size:32px; line-height:1.15; }
  .hero-lead { font-size:20px; line-height:1.55; }
  .hero .eyebrow { font-size:12px; letter-spacing:.14em; }
  .hero-actions .button { font-size:13px; letter-spacing:.065em; }
  .chapter-copy > h2 { font-size:33px; line-height:1.05; }
  .chapter-caption h3 { font-size:25px; }
  .chapter-caption p { font-size:13px; line-height:1.55; }
  .chapter-caption a { font-size:12px; }
  .passage-copy h2 { font-size:35px; line-height:1.08; }
  .passage-copy > p { font-size:15px; line-height:1.6; }
  .story-enabled .bento-card .card-copy h3 { font-size:35px; }
  .story-enabled .bento-card .card-copy p { font-size:17px; line-height:1.5; }
  .story-enabled .bento-card .card-copy .text-link { font-size:12px; }
  .story-caption { font-size:16px; }
  .brand-copy strong { font-size:28px; }
  .brand-copy small { font-size:9px; }
  .join-steps h3 { font-size:27px; }
  .join-steps p { font-size:16px; }
  .veil-copy strong { font-size:33px; }
  .veil-copy em { font-size:18px; }
}
