/* Shared For Seamus visual language. Original full-account reader is retained. */
.ff-page {
  --ff-ink: #183f35;
  --ff-muted: #587066;
  --ff-paper: #f6f7f0;
  --ff-line: #dce3d8;
  --ff-lime: #d8f29b;
  --ff-pink: #f4dce7;
  font-family: Arial, system-ui, sans-serif;
}
.ff-page em { font-family: Georgia, serif; font-weight: 400; }
.ff-page .ff-site-header { border-bottom: 1px solid var(--ff-line); }
.ff-page .ff-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 35px;
  align-items: center;
  width: min(1232px, calc(100% - 80px));
  margin: auto;
  padding: 52px 0 48px;
  min-height: 0;
  background: transparent;
  color: var(--ff-ink);
  overflow: visible;
}
.ff-page .ff-hero::after { display: none; }
.ff-page .ff-hero-copy { padding: 0; margin: 0; width: auto; }
.ff-page .ff-hero .ff-eyebrow { color: var(--ff-ink); }
.ff-page .ff-hero :is(a, button):focus-visible { outline-color: #7b4166; }
.ff-page .ff-hero h1 { font: 550 clamp(3rem, 6vw, 5.5rem)/1.04 Arial, sans-serif; letter-spacing: -.055em; }
.ff-page .ff-hero .ff-deck { color: var(--ff-muted); font-size: 15px; max-width: 540px; }
.ff-page .ff-hero .ff-tags > * { border-color: var(--ff-line); color: var(--ff-muted); border-radius: 8px; }
.ff-page .ff-hero-figure { margin: 0; min-width: 0; }
.ff-page .ff-hero-image {
  position: static;
  width: 100%;
  height: auto !important;
  aspect-ratio: 16 / 10;
  object-position: 35% 35%;
  border-radius: 16px;
}
.ff-page .ff-button {
  background: var(--ff-ink); color: white !important;
  border-color: var(--ff-ink); border-radius: 8px;
  font-weight: 650;
}
.ff-page .ff-button:hover { filter: brightness(.96); }
.ff-page .ff-button-secondary, .ff-page .ff-hero .ff-button-secondary {
  background: white; color: var(--ff-ink) !important; border-color: #b9c9bc;
}
.ff-page .ff-hero .ff-actions > a:not(.ff-button) { font-size: 12px; font-weight: 650; }
.ff-page .ff-hero .ff-small { margin-top: 22px; }
.ff-page .ff-section-heading h2 {
  font: 550 clamp(1.8rem, 3vw, 2.5rem)/1.13 Arial, sans-serif;
  letter-spacing: -.035em;
}
.ff-page .ff-kicker { color: var(--ff-ink); }
.ff-page .ff-section-nav { justify-content: flex-start; max-width: 1232px; margin: auto; gap: 4px 25px; padding-inline: 0; }
.ff-page .ff-section-nav a { font-size: 12px; font-weight: 550; }
.ff-small { color: var(--ff-muted); font-size: 12px; line-height: 1.65; }
.ff-sources { padding: 22px 26px; border: 1px solid var(--ff-line); border-radius: 16px; }
.ff-sources summary { cursor: pointer; font-size: 14px; font-weight: 700; }
.ff-sources p, .ff-sources li { color: var(--ff-muted); font-size: 13px; line-height: 1.75; }
.ff-sources p:first-of-type { margin-top: 20px; }
.ff-sources ul { padding-left: 20px; }
.ff-sources li + li { margin-top: 8px; }
.ff-craft-choices { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-bottom: 20px; }
.ff-craft-choices button { border: 1px solid var(--ff-line); border-radius: 9px; background: white; text-align: left; padding: 17px 14px; font-size: 12px; line-height: 1.5; }
.ff-craft-choices button span { display: block; font-size: 10px; margin-bottom: 8px; opacity: .75; }
.ff-craft-choices button[aria-pressed="true"] { background: var(--ff-ink); color: var(--ff-lime); }
.ff-craft-stage { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 30px; background: #edf1e6; border-radius: 16px; padding: 28px; margin-bottom: 20px; }
.ff-craft-stage figure { margin: 0; align-self: start; min-width: 0; }
.ff-craft-stage figure img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 10px; }
.ff-craft-stage figure .ff-button { margin-top: 16px; width: 100%; }
.ff-craft-context h3 { font-size: 28px; font-weight: 550; letter-spacing: -.035em; line-height: 1.18; }
.ff-craft-context blockquote { margin: 0; padding-left: 18px; border-left: 3px solid #aec79c; }
.ff-craft-context blockquote p { font: 17px/1.7 Georgia, serif; }
.ff-craft-context cite { color: var(--ff-muted); font-size: 11px; font-style: normal; }
.ff-craft-try { padding-top: 22px; margin-top: 22px; border-top: 1px solid #c8d3c1; }
.ff-craft-try h4 { font-size: 17px; line-height: 1.4; margin: 0 0 10px; font-weight: 550; }
.ff-craft-try p:not(.ff-kicker) { color: var(--ff-muted); font-size: 13px; }
.ff-people-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 15px; align-items: start; }
.ff-person { background: white; border: 1px solid var(--ff-line); border-radius: 14px; min-width: 0; scroll-margin-top: 96px; }
.ff-person summary { padding: 22px; cursor: pointer; list-style: none; }
.ff-person summary::-webkit-details-marker { display: none; }
.ff-person-initial { display: grid; place-items: center; width: 42px; height: 42px; border-radius: 50%; background: var(--ff-pink); font-size: 12px; font-weight: 650; margin-bottom: 16px; }
.ff-person:nth-child(even) .ff-person-initial { background: var(--ff-lime); }
.ff-person h3 { font-size: 18px; font-weight: 550; margin-bottom: 12px; line-height: 1.4; }
.ff-person-roles { display: block; color: var(--ff-muted); font-size: 11px; line-height: 1.7; }
.ff-person-open { display: block; margin-top: 18px; font-size: 12px; font-weight: 650; }
.ff-person-detail { padding: 0 22px 22px; font-size: 13px; }
.ff-person-detail h4 { font-size: 16px; margin: 0 0 12px; }
.ff-role-guide { border-top: 1px solid var(--ff-line); padding-top: 18px; }
.ff-role-guide a { font-size: 12px; }
.ff-beginning { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 50px; padding: 40px; background: var(--ff-pink); border-radius: 18px; }
.ff-beginning h2 { font-size: 42px; line-height: 1.13; font-weight: 550; letter-spacing: -.035em; }
.ff-beginning form { min-width: 0; display: grid; gap: 18px; }
.ff-beginning label { display: grid; gap: 9px; font-size: 13px; font-weight: 600; }
.ff-beginning :is(input, textarea, select) { font: 16px/1.5 Arial, sans-serif; width: 100%; min-height: 44px; max-width: 100%; border: 1px solid #bccbbf; border-radius: 7px; background: white; color: var(--ff-ink); padding: 12px; }
.ff-beginning textarea { resize: vertical; }
.ff-page :is(input,textarea,select,summary):focus-visible { outline: 3px solid #7b4166; outline-offset: 3px; }
.ff-page .ff-credit-grid > div { background: white; border: 1px solid var(--ff-line); border-radius: 14px; padding: 22px; }
.ff-page .ff-maker, .ff-page .ff-original-source, .ff-page .ff-story figure img, .ff-page .ff-gallery img { border-radius: 16px; }
@media(max-width:1000px) {
  .ff-page .ff-hero { grid-template-columns: 1fr; }
  .ff-page .ff-hero-figure { max-width: 650px; }
  .ff-craft-choices { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .ff-people-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .ff-page .ff-section-nav { width: calc(100% - 80px); }
  .ff-beginning { gap: 30px; padding: 28px; }
}
@media(max-width:650px) {
  .ff-page .ff-hero { width: calc(100% - 44px); padding: 28px 0 30px; gap: 24px; }
  .ff-page .ff-hero h1 { font-size: 3.6rem; }
  .ff-page .ff-section-nav { position: static; width: calc(100% - 44px); gap: 0 18px; padding-block: 9px; }
  .ff-page :is(section[id], article[id]) { scroll-margin-top: 22px; }
  .ff-person { scroll-margin-top: 22px; }
  .ff-craft-choices { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 8px; }
  .ff-craft-stage { grid-template-columns: 1fr; padding: 18px; gap: 26px; }
  .ff-people-grid { gap: 10px; }
  .ff-person summary { padding: 18px 14px; }
  .ff-person h3 { font-size: 16px; }
  .ff-person-detail { padding: 0 14px 18px; }
  .ff-beginning { grid-template-columns: 1fr; padding: 22px; }
  .ff-beginning h2 { font-size: 34px; }
}
@media(max-width:350px) {
  .ff-page .ff-hero h1 { font-size: 3rem; }
  .ff-people-grid { grid-template-columns: 1fr; }
}
@media print {
  .ff-page .ff-hero { display: block; width: 100%; padding: 20px 0; }
  .ff-hero-figure, .ff-craft-choices, .ff-beginning form { display: none; }
  .ff-craft-stage[hidden] { display: grid !important; }
  .ff-craft-stage, .ff-beginning { background: white; border: 1px solid #ccc; }
}
