/* Fiesta palette (September 27, 2026).
   Sylvia asked for more color, inspired by a fuchsia skirt with Mexican
   embroidery: deep magenta, white, turquoise, lime and soft pink, with a
   scalloped hem. Loaded after styles.css and overrides its muted wine palette. */
:root {
  --paper: #fff9f3; --white: #fffdfb; --ink: #2b1a24; --muted: #6a5561;
  --wine: #b0125b; --wine-dark: #7c0c40; --line: #f0d3e0;
  --fuchsia: #b0125b; --magenta: #8e0f4b; --turq: #16799d; --turq-dark: #126a8a;
  --lime: #79b52f; --pink: #f6c2d6; --pink-soft: #fde9f1; --turq-soft: #e2f3f8; --lime-soft: #eef7e2;
  --embroidery: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='72' height='26' viewBox='0 0 72 26'%3E%3Cg fill='%23fff'%3E%3Cellipse cx='14' cy='7.5' rx='2.6' ry='5'/%3E%3Cellipse cx='14' cy='18.5' rx='2.6' ry='5'/%3E%3Cellipse cx='8.5' cy='13' rx='5' ry='2.6'/%3E%3Cellipse cx='19.5' cy='13' rx='5' ry='2.6'/%3E%3C/g%3E%3Ccircle cx='14' cy='13' r='2.6' fill='%23f6c2d6'/%3E%3Cg fill='%2379b52f'%3E%3Cellipse cx='31' cy='10' rx='5' ry='2.2' transform='rotate(-30 31 10)'/%3E%3Cellipse cx='31' cy='16' rx='5' ry='2.2' transform='rotate(30 31 16)'/%3E%3C/g%3E%3Cpath d='M50 6l6 7-6 7-6-7z' fill='%2316799d'/%3E%3Cpath d='M50 10l2.6 3-2.6 3-2.6-3z' fill='%23fff'/%3E%3Cg fill='%2379b52f'%3E%3Cellipse cx='66' cy='10' rx='5' ry='2.2' transform='rotate(30 66 10)'/%3E%3Cellipse cx='66' cy='16' rx='5' ry='2.2' transform='rotate(-30 66 16)'/%3E%3C/g%3E%3C/svg%3E");
}
body { background: var(--paper); }
a:focus-visible, button:focus-visible, summary:focus-visible { outline-color: var(--turq); }

/* Embroidery band: white flowers, lime leaves, turquoise diamonds */
.connection-section::before, .quote-band::before {
  content: ''; position: absolute; left: 0; right: 0; height: 26px;
  background: var(--magenta) var(--embroidery) repeat-x center / 72px 26px;
}
.site-header { border-bottom: 0; }
body::before { content: ''; display: block; height: 26px; background: var(--magenta) var(--embroidery) repeat-x center / 72px 26px; }
.wordmark { color: var(--fuchsia); }
.wordmark span { color: var(--turq-dark); }
.site-header nav a:hover { color: var(--fuchsia); }
.header-cta { border: 2px solid var(--fuchsia); border-radius: 999px; color: var(--fuchsia); font-weight: 600; }
.header-cta:hover { background: var(--fuchsia); color: #fff; }
.menu-button { border-color: var(--pink); border-radius: 8px; }
.menu-button span { background: var(--fuchsia); }

/* Scalloped hem under colored bands */
.event-announcement, .about-section, .album-section, .quote-band { position: relative; }
.event-announcement::after, .about-section::after, .album-section::after, .quote-band::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: -13px; height: 14px; z-index: 2; pointer-events: none;
  background: radial-gradient(circle at 12px 0, var(--hem) 11.5px, transparent 12px) repeat-x 0 0 / 24px 14px;
}

.event-announcement { --hem: var(--turq); background: var(--turq); color: #fff; border-bottom: 0; font-weight: 500; }
.event-announcement > span:first-child { color: #d6f1fa; }
.event-announcement:hover { --hem: var(--turq-dark); background: var(--turq-dark); }

/* Hero */
.short-line { background: var(--turq); height: 3px; border-radius: 3px; }
.hero-copy > .eyebrow { color: var(--turq-dark); }
h1 em { color: var(--fuchsia); }
.button { background: var(--fuchsia); border-color: var(--fuchsia); border-radius: 999px; font-weight: 600; box-shadow: 0 6px 0 var(--magenta); }
.button:hover { background: var(--magenta); transform: translateY(2px); box-shadow: 0 4px 0 #5e0a32; }
.text-link { color: var(--fuchsia); border-bottom: 2px solid var(--turq); font-weight: 600; }
.text-link:hover { color: var(--turq-dark); border-color: var(--lime); }
.hero-note { border-top: 3px dotted var(--lime); }
.cover-stage { background: linear-gradient(145deg, var(--fuchsia), var(--magenta) 60%, #5e0a32); border-radius: 14px; }
.stage-landscape { filter: none; opacity: .28; mix-blend-mode: luminosity; }
.cover-stage::after { background: linear-gradient(0deg, #5e0a32cc, transparent 60%); }
.cover-stage::before { content: ''; position: absolute; inset: 12px; border: 2px dashed #ffffff70; border-radius: 9px; z-index: -1; }
.feature-caption { border-bottom: 3px dotted var(--pink); }
.feature-caption .eyebrow { color: var(--turq-dark); }

/* Quote band: fuchsia with embroidery on top */
.quote-band { --hem: var(--fuchsia); background: var(--fuchsia); color: #fff; border: 0; padding-top: 72px; }
.quote-band::before { top: 0; }
.quote-band > span { color: var(--pink); }
.quote-divider { color: var(--lime); }

/* Books */
.section-heading .eyebrow, .about-copy .eyebrow, .art-copy .eyebrow, .moments .eyebrow { color: var(--turq-dark); }
.about-copy h2 em, .art-side-note em { color: var(--fuchsia); }
.cover-rebecca { background: var(--pink-soft); border-radius: 14px; }
.cover-mama { background: var(--turq-soft); border-radius: 14px; }
.cover-unraveled { background: var(--lime-soft); border-radius: 14px; }
.book-tag { background: var(--fuchsia); color: #fff; border-radius: 999px; font-weight: 600; }
.book-meta { border-bottom: 3px dotted var(--pink); }
.book-meta span { color: var(--fuchsia); }
.anthology-note { border-top: 3px dotted var(--lime); }

/* About: soft pink with a turquoise photo frame */
.about-section { --hem: var(--pink-soft); background: var(--pink-soft); }
.author-photo img { border-radius: 12px; box-shadow: 14px 14px 0 var(--turq); }
.author-photo figcaption { color: var(--fuchsia); margin-top: 26px; }
.author-signoff { color: var(--fuchsia); }

/* Rayón */
.roots-grid img { border-radius: 12px; }
.roots-main img { box-shadow: 12px 12px 0 var(--lime); }
.roots-grid figcaption { color: var(--fuchsia); margin-top: 18px; }

/* Family album: turquoise band */
.album-section { --hem: var(--turq); background: var(--turq); color: #fff; }
.album-section .eyebrow { color: #d6f1fa !important; }
.album-section .section-heading > p { color: #e6f6fb; }
.album-strip img { border-radius: 10px; border: 5px solid #fff; box-shadow: 0 8px 18px #0a3a4d40; }
.album-strip figure:nth-child(3n+2) img { border-color: var(--pink); }
.album-strip figure:nth-child(3n) img { border-color: var(--lime); }
.album-strip figcaption { color: #fff; }
.album-strip { scrollbar-color: #fff var(--turq-dark); }

/* Art */
.art-photo img { border-radius: 12px; box-shadow: 12px 12px 0 var(--pink); }
.art-side-note > span { color: var(--turq-dark); }
.art-gallery img { border-radius: 10px; }
.art-gallery figure:nth-child(5n+1) img { box-shadow: 0 0 0 4px var(--pink); }
.art-gallery figure:nth-child(5n+2) img { box-shadow: 0 0 0 4px var(--turq); }
.art-gallery figure:nth-child(5n+3) img { box-shadow: 0 0 0 4px var(--lime); }
.art-gallery figure:nth-child(5n+4) img { box-shadow: 0 0 0 4px var(--fuchsia); }
.art-gallery figure:nth-child(5n) img { box-shadow: 0 0 0 4px var(--turq); }
.art-gallery figcaption { color: var(--fuchsia); }

/* News */
.journal-section { border-top: 0; }
.journal-row { border-top: 2px dotted var(--pink); }
.journal-row:last-child { border-bottom: 2px dotted var(--pink); }
.journal-date > span { color: var(--turq-dark); font-weight: 600; }
.journal-row:hover h3 { color: var(--fuchsia); }
.event-spotlight { border: 2px solid var(--pink); border-radius: 14px; overflow: hidden; }
.event-story > .eyebrow, .event-honors span { color: var(--turq-dark); }
.event-story h3 em { color: var(--fuchsia); }
.event-honors li { border-top: 2px dotted var(--pink); }
.event-honors li:last-child { border-bottom: 2px dotted var(--pink); }
.event-invitation { background: linear-gradient(160deg, var(--fuchsia), var(--magenta)); }
.moments-grid img { border-radius: 10px; }
.moments-grid figcaption b { color: var(--fuchsia); }

/* Stay in touch: fuchsia with embroidery on top */
.connection-section { position: relative; background: var(--fuchsia); padding-top: 82px; }
.connection-section::before { top: 0; }
.connection-inner .eyebrow { color: var(--pink); }
.button-light { background: #fff; border-color: #fff; color: var(--fuchsia); box-shadow: 0 6px 0 var(--magenta); }
.button-light:hover { background: var(--pink-soft); color: var(--magenta); }
.connection-links > a:last-child { color: #fff; }

.site-footer > .wordmark { color: var(--fuchsia); }
dialog { border: 3px solid var(--fuchsia); border-radius: 14px; }
.dialog-content .eyebrow { color: var(--turq-dark); }
.dialog-close { color: var(--fuchsia); }
.dialog-close:hover { background: var(--pink-soft); }
.skip-link { background: var(--fuchsia); }

@media (max-width: 720px) {
  .author-photo img { box-shadow: 8px 8px 0 var(--turq); }
  .roots-main img { box-shadow: 8px 8px 0 var(--lime); }
  .art-photo img { box-shadow: 8px 8px 0 var(--pink); background: var(--pink-soft); }
  .quote-band { padding-top: 56px; }
  .connection-section { padding-top: 66px; }
  .site-header .mobile-nav { background: var(--paper); border-bottom: 3px solid var(--fuchsia); }
}

/* Mexican folk details: papel picado banners, embroidered flowers, marigold */
:root { --marigold: #f28c28; --sun: #f6b92b; }
.papel-picado { height: 68px; margin-top: 18px; background: url("assets/papel-picado.svg") repeat-x center top / 240px 68px; }
.papel-picado + .site-footer { margin-top: 0; }
.papel-event { margin: 0 0 -6px; }

/* Embroidered flower before section labels */
.section-heading .eyebrow, .about-copy .eyebrow, .art-copy .eyebrow, .moments .eyebrow, .event-story > .eyebrow, .connection-inner .eyebrow {
  display: flex; align-items: center; gap: 8px;
}
.section-heading .eyebrow::before, .about-copy .eyebrow::before, .art-copy .eyebrow::before, .moments .eyebrow::before, .event-story > .eyebrow::before, .connection-inner .eyebrow::before {
  content: ''; flex: none; width: 20px; height: 20px; background: url("assets/motif-nopal.svg") center / contain no-repeat;
}

/* Embroidered bouquets as section corner ornaments */
.about-section, .connection-section, .album-section { overflow: visible; }
.about-grid, .connection-inner { position: relative; z-index: 1; }
.about-section::before, .connection-section .connection-inner::after {
  content: ''; position: absolute; pointer-events: none; background: url("assets/ramo.svg") center / contain no-repeat;
}
.about-section::before { width: 230px; height: 230px; right: max(16px, calc(50% - 700px)); top: -40px; z-index: 3; transform: rotate(12deg); }
.connection-section .connection-inner::after { width: 170px; height: 170px; right: 16px; bottom: -40px; opacity: .35; z-index: -1; transform: rotate(-14deg); }
.album-section .section-heading h2::after { content: ''; display: inline-block; width: 44px; height: 44px; margin-left: 12px; vertical-align: middle; background: url("assets/motif-nopal.svg") center / contain no-repeat; }

/* Marigold and sun accents */
.hero-note { border-top-color: var(--marigold); }
.anthology-note { border-top-color: var(--marigold); }
.book-image::after { content: ''; position: absolute; right: 14px; bottom: 14px; width: 26px; height: 26px; background: url("assets/motif-nopal.svg") center / contain no-repeat; }
.journal-date { color: var(--ink); }
.event-date strong { color: var(--sun); }
.author-signoff span { color: var(--turq-dark); }

@media (max-width: 1100px) { .about-section::before { width: 170px; height: 170px; top: -30px; } }
@media (max-width: 720px) {
  .papel-picado { height: 52px; background-size: 184px 52px; margin-top: 16px; }
  .about-section::before { width: 110px; height: 110px; top: -24px; right: 8px; }
  .connection-section .connection-inner::after { width: 120px; height: 120px; right: 8px; bottom: -30px; }
}

/* Decorations never cause sideways scrolling. */
html { overflow-x: clip; }

/* Featured author interview */
.interview-section { padding-top: 85px; padding-bottom: 85px; }
.interview-list { display: grid; gap: 12px; max-width: 900px; }
.interview-list details { background: var(--white); border: 2px solid var(--pink); border-radius: 12px; padding: 0 24px; }
.interview-list details[open] { border-color: var(--fuchsia); background: var(--pink-soft); }
.interview-list summary { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 12px; padding: 18px 0; font-family: var(--serif); font-size: 24px; line-height: 1.25; color: var(--ink); }
.interview-list summary::-webkit-details-marker { display: none; }
.interview-list summary::before { content: ''; flex: none; width: 22px; height: 22px; background: url("assets/motif-nopal.svg") center / contain no-repeat; transition: transform .2s; }
.interview-list details[open] summary::before { transform: rotate(72deg); }
.interview-list summary::after { content: '+'; margin-left: auto; font-family: var(--sans); font-size: 24px; color: var(--fuchsia); }
.interview-list details[open] summary::after { content: '–'; }
.interview-list details p { color: var(--muted); padding-bottom: 16px; max-width: 760px; }
.interview-list details p:last-child { padding-bottom: 22px; }
.interview-pull { margin: 40px 0 0; max-width: 900px; padding: 28px 32px; border-left: 6px solid var(--turq); background: var(--turq-soft); border-radius: 0 12px 12px 0; font-family: var(--serif); font-size: 30px; line-height: 1.3; color: var(--magenta); }
.interview-pull span { display: block; margin-top: 10px; font-family: var(--sans); font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--turq-dark); }
@media (max-width: 720px) {
  .interview-section { padding-top: 55px; padding-bottom: 55px; }
  .interview-list details { padding: 0 16px; }
  .interview-list summary { font-size: 20px; }
  .interview-pull { font-size: 24px; padding: 22px; }
}

/* Featured author card: who chose her, his note, and the book */
.feature-card { position: relative; display: grid; grid-template-columns: 1fr 250px; gap: 40px; align-items: center; margin-bottom: 36px; padding: 44px 44px 40px 150px; border-radius: 18px; color: #fff; background: linear-gradient(135deg, var(--fuchsia), var(--magenta)); overflow: hidden; }
.feature-card::before { content: ''; position: absolute; inset: 0 0 auto; height: 22px; background: var(--magenta) var(--embroidery) repeat-x center / 60px 22px; }
.feature-card::after { content: ''; position: absolute; width: 220px; height: 220px; left: -60px; bottom: -70px; background: url("assets/motif-dove.svg") center / contain no-repeat; opacity: .35; pointer-events: none; }
.feature-seal { position: absolute; left: 30px; top: 50px; width: 100px; height: 100px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; background: var(--sun); color: var(--magenta); box-shadow: 0 0 0 5px #fff, 0 0 0 9px var(--turq); transform: rotate(-10deg); text-transform: uppercase; line-height: 1.1; }
.feature-seal span { font-size: 10px; letter-spacing: .14em; font-weight: 700; }
.feature-seal strong { font-family: var(--serif); font-weight: 400; font-size: 22px; letter-spacing: .02em; text-transform: none; margin: 2px 0; }
.feature-copy { position: relative; z-index: 1; }
.feature-copy .eyebrow { color: var(--pink) !important; margin-bottom: 12px; }
.feature-copy .eyebrow::before { display: none; }
.feature-copy h2 { color: #fff; }
.feature-lede { margin-top: 16px; font-size: 17px; line-height: 1.7; color: #fde9f1; max-width: 560px; }
.feature-lede strong { color: #fff; }
.feature-note { margin: 22px 0 0; display: inline-block; padding: 12px 20px; background: #fff; color: var(--fuchsia); border-radius: 12px; font-family: var(--serif); font-size: 28px; transform: rotate(-2deg); box-shadow: 6px 6px 0 var(--turq); }
.feature-note span { display: block; margin-top: 2px; font-family: var(--sans); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: var(--turq-dark); }
.feature-book { position: relative; z-index: 1; text-align: center; }
.feature-book img { width: 150px; height: auto; margin: 0 auto 14px; border-radius: 4px; box-shadow: 0 18px 30px #3a061e80; transform: rotate(3deg); }
.feature-book p { font-size: 13px; line-height: 1.55; color: #fde9f1; margin-bottom: 14px; }
.feature-book p strong { display: block; font-family: var(--serif); font-weight: 400; font-size: 18px; line-height: 1.25; color: #fff; margin-bottom: 4px; }
.feature-book .button { background: #fff; border-color: #fff; color: var(--fuchsia); box-shadow: 0 6px 0 #5e0a32; }
.feature-book .button:hover { background: var(--pink-soft); color: var(--magenta); }
@media (max-width: 900px) {
  .feature-card { grid-template-columns: 1fr; padding: 146px 28px 34px; }
  .feature-seal { left: 28px; top: 36px; width: 84px; height: 84px; }
  .feature-seal strong { font-size: 19px; }
}
@media (max-width: 720px) {
  .feature-card { padding: 142px 20px 30px; margin-inline: -8px; }
  .feature-note { font-size: 24px; }
}

/* Ceremony day: live stream times */
.event-live { margin-top: 18px; padding: 16px 18px; border-radius: 12px; background: var(--turq-soft); border-left: 5px solid var(--turq); }
.event-live-title { display: flex; align-items: center; gap: 8px; font-weight: 700; color: var(--turq-dark); margin-bottom: 4px; }
.live-dot { width: 10px; height: 10px; border-radius: 50%; background: #e0245e; box-shadow: 0 0 0 0 #e0245e80; animation: live 1.6s infinite; }
@keyframes live { 70% { box-shadow: 0 0 0 10px #e0245e00; } 100% { box-shadow: 0 0 0 0 #e0245e00; } }
.event-live > p:not(.event-live-title) { font-size: 14px; color: var(--muted); }
.event-live ul { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; font-size: 14px; }
.event-live li b { display: inline-block; min-width: 92px; color: var(--fuchsia); }
@media (prefers-reduced-motion: reduce) { .live-dot { animation: none; } }

/* Celebrating Sylvia: honors band under the hero */
.accolades { padding-top: 40px; padding-bottom: 56px; }
.accolades-head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: 10px 30px; margin-bottom: 24px; }
.accolades-head .eyebrow { color: var(--turq-dark); display: flex; align-items: center; gap: 8px; width: 100%; }
.accolades-head .eyebrow::before { content: ''; width: 20px; height: 20px; background: url("assets/motif-nopal.svg") center / contain no-repeat; }
.accolades-head h2 { font-size: clamp(34px, 4vw, 52px); }
.accolades-head h2 em { color: var(--fuchsia); }
.accolade-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 14px; }
.medal { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px; padding: 22px 14px 18px; background: var(--white); border: 2px solid var(--line); border-radius: 16px; }
.medal-mark { width: 62px; height: 62px; margin-bottom: 6px; border-radius: 50%; display: grid; place-items: center; font-family: var(--serif); font-size: 28px; color: #fff; box-shadow: 0 0 0 4px #fff, 0 0 0 7px var(--c); background: var(--c); }
.medal b { font-family: var(--serif); font-weight: 400; font-size: 21px; line-height: 1.15; color: var(--ink); }
.medal > span:last-child { font-size: 13px; line-height: 1.45; color: var(--muted); }
.medal.gold { --c: var(--sun); } .medal.gold .medal-mark { color: var(--magenta); }
.medal.pink { --c: var(--fuchsia); }
.medal.turq { --c: var(--turq); }
.medal.lime { --c: var(--lime); }
.medal.marigold { --c: var(--marigold); }
.accolade-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 16px; }
.accolade-stats p { display: flex; align-items: center; gap: 14px; padding: 14px 18px; border-radius: 14px; background: var(--pink-soft); }
.accolade-stats b { font-family: var(--serif); font-weight: 400; font-size: 44px; line-height: 1; color: var(--fuchsia); }
.accolade-stats span { font-size: 14px; color: var(--muted); }
@media (max-width: 1100px) { .accolade-list { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 720px) {
  .accolades { padding-top: 24px; padding-bottom: 40px; }
  .accolade-list { grid-template-columns: 1fr 1fr; }
  .accolade-list li:last-child { grid-column: 1 / -1; }
  .accolade-stats { grid-template-columns: 1fr; }
}

/* Ported from the original site: 2025 awards story, full news archive, friends, signup, her story */
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.ilba-2025 { display: grid; grid-template-columns: 1.1fr 1fr; gap: 32px; align-items: start; margin-top: 46px; padding: 34px; border-radius: 18px; background: var(--white); border: 2px solid var(--pink); scroll-margin-top: 24px; }
.ilba-copy .eyebrow { color: var(--turq-dark); }
.ilba-copy h3 { font-size: clamp(28px, 3vw, 38px); margin: 10px 0 16px; }
.ilba-copy h3 em { color: var(--fuchsia); }
.ilba-copy > p:not(.eyebrow):not(.ilba-sign) { color: var(--muted); margin-bottom: 12px; }
.ilba-sign { font-family: var(--serif); font-style: italic; font-size: 28px; color: var(--fuchsia); margin: 4px 0 14px; }
.ilba-photos { display: grid; grid-template-columns: 1.2fr 1fr; gap: 12px; }
.ilba-photos figure { margin: 0; }
.ilba-photos .big { grid-row: span 2; }
.ilba-photos img { width: 100%; height: auto; border-radius: 12px; }
.ilba-photos .big img { box-shadow: 10px 10px 0 var(--sun); }
.ilba-photos figcaption { margin-top: 8px; font-size: 13px; color: var(--muted); }
.news-archive { margin-top: 46px; scroll-margin-top: 24px; }
.news-archive .eyebrow, .friends .eyebrow { color: var(--turq-dark); margin-bottom: 14px; }
.archive-list { list-style: none; margin: 0; padding: 0; border-left: 3px solid var(--pink); }
.archive-list li { position: relative; display: grid; grid-template-columns: 120px 1fr; gap: 20px; padding: 14px 0 14px 26px; }
.archive-list li::before { content: ''; position: absolute; left: -9px; top: 20px; width: 15px; height: 15px; border-radius: 50%; background: var(--fuchsia); box-shadow: 0 0 0 4px var(--paper); }
.archive-list li:nth-child(3n+2)::before { background: var(--turq); }
.archive-list li:nth-child(3n)::before { background: var(--lime); }
.archive-list span { font-size: 12px; font-weight: 700; letter-spacing: .08em; color: var(--fuchsia); padding-top: 3px; }
.archive-list p { color: var(--muted); font-size: 15px; }
.archive-list b { display: block; font-family: var(--serif); font-weight: 400; font-size: 22px; line-height: 1.25; color: var(--ink); margin-bottom: 2px; }
.archive-list a { color: var(--fuchsia); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.friends { margin-top: 46px; }
.friends-intro { color: var(--muted); margin-bottom: 14px; }
.friends-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.friends-list a { display: flex; flex-direction: column; padding: 14px 18px; border-radius: 12px; background: var(--white); border: 2px solid var(--line); transition: border-color .2s; }
.friends-list a:hover { border-color: var(--fuchsia); }
.friends-list b { font-family: var(--serif); font-weight: 400; font-size: 21px; color: var(--ink); }
.friends-list span { font-size: 13px; color: var(--turq-dark); }
.signup { width: 100%; max-width: 520px; }
.signup-title { font-family: var(--serif); font-style: italic; font-size: 24px; color: #fff; margin-bottom: 10px; }
.signup-row { display: flex; flex-wrap: wrap; gap: 8px; }
.signup-row input { flex: 1 1 150px; min-width: 0; padding: 13px 16px; border: 0; border-radius: 999px; font: inherit; color: var(--ink); background: #fff; }
.signup-row input:focus { outline: 3px solid var(--sun); outline-offset: 2px; }
.signup-row .hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.signup-row .button { white-space: nowrap; }
.signup-msg { min-height: 1.6em; margin-top: 8px; font-size: 14px; color: #fff; }
.connection-links { align-items: flex-start; }
.her-story { margin: 18px 0 6px; padding: 0 20px; border-radius: 12px; background: #fff; border: 2px solid var(--pink); }
.her-story summary { cursor: pointer; padding: 14px 0; font-weight: 700; color: var(--fuchsia); list-style: none; }
.her-story summary::-webkit-details-marker { display: none; }
.her-story summary::before { content: '+ '; }
.her-story[open] summary::before { content: '– '; }
.her-story p { color: var(--muted); font-size: 15px; line-height: 1.8; margin-bottom: 14px; }
@media (max-width: 900px) { .ilba-2025 { grid-template-columns: 1fr; padding: 24px 20px; } .friends-list { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .archive-list li { grid-template-columns: 1fr; gap: 4px; } .friends-list { grid-template-columns: 1fr; } }

/* Silver Medal, October 3, 2026 */
.medal.silver { --c: #9aa4ad; }
.medal.silver .medal-mark { background: linear-gradient(145deg, #eef1f4, #a7b0b8 55%, #7d8790); color: #fff; }
.book-tag.silver-tag { background: linear-gradient(135deg, #f4f6f8, #b9c1c8); color: var(--magenta); box-shadow: 0 2px 6px #0003; }
.event-honors li.won span { color: var(--fuchsia); font-weight: 700; }
.event-honors li.won strong { font-weight: 700; }
.event-honors li.won strong::after { content: ' 🥈'; }
.event-quote { margin: 18px 0 0; padding: 16px 18px; border-left: 5px solid var(--turq); background: var(--turq-soft); border-radius: 0 12px 12px 0; font-family: var(--serif); font-size: 20px; line-height: 1.4; color: var(--magenta); }
.event-quote span { display: block; margin-top: 8px; font-family: var(--sans); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--turq-dark); }
.event-photo { margin: 14px 0 18px; }
.event-photo img { width: 100%; height: auto; border-radius: 12px; border: 4px solid #fff; box-shadow: 0 10px 24px #3a061e66; }
.event-photo figcaption { margin-top: 8px; font-size: 13px; color: #fde9f1; }
.stage-seal { position: absolute; right: 22px; top: 54px; z-index: 2; width: 92px; height: 92px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1.05; text-transform: uppercase; background: linear-gradient(145deg, #f7f9fb, #b3bcc4 55%, #8a949d); color: var(--magenta); box-shadow: 0 0 0 4px #fff, 0 10px 20px #3a061e66; transform: rotate(10deg); text-decoration: none; }
.stage-seal span { font-size: 10px; font-weight: 700; letter-spacing: .14em; }
.stage-seal b { font-family: var(--serif); font-weight: 400; font-size: 24px; text-transform: none; }
@media (max-width: 720px) { .stage-seal { width: 76px; height: 76px; right: 14px; top: 44px; } .stage-seal b { font-size: 20px; } }

/* Powered by Phoenix Valley Tech */
.site-footer { flex-wrap: wrap; }
.site-footer > .powered { flex-basis: 100%; margin: -6px 0 0; padding-top: 14px; border-top: 2px dotted var(--pink); text-align: center; font-family: var(--sans); font-style: normal; font-size: 13px; color: var(--muted); }
.site-footer > .powered a { color: var(--fuchsia); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.site-footer > .powered a:hover { color: var(--turq-dark); }
@media (max-width: 720px) { .site-footer > p.powered { display: block; text-align: left; } }

/* Decorations drawn from Sylvia's own paintings (assets/motif-*.svg) */
.about-section::before { background-image: url("assets/motif-dove.svg"); width: 200px; height: 140px; top: -46px; transform: rotate(-6deg); }
.connection-section .connection-inner::after { background-image: url("assets/motif-saguaro.svg"); width: 150px; height: 190px; bottom: -56px; opacity: .45; transform: none; }
.roots-section .section-heading h2::after { content: ''; display: inline-block; width: 120px; height: 88px; margin-left: 14px; vertical-align: -14px; background: url("assets/motif-adobe.svg") center / contain no-repeat; }
.art-side-note::before { content: ''; display: block; width: 120px; height: 154px; margin-bottom: 14px; background: url("assets/motif-saguaro.svg") center / contain no-repeat; }
.art-note { margin-top: 14px !important; font-size: 14px !important; font-style: italic; color: var(--turq-dark) !important; }
.desert-band { height: 70px; margin-top: 10px; background: url("assets/motif-desert-band.svg") repeat-x left bottom / 320px 70px; }
@media (max-width: 1100px) { .about-section::before { width: 150px; height: 105px; top: -34px; } }
@media (max-width: 720px) {
  .about-section::before { width: 104px; height: 74px; top: -22px; }
  .roots-section .section-heading h2::after { width: 84px; height: 62px; vertical-align: -10px; }
  .connection-section .connection-inner::after { width: 100px; height: 128px; bottom: -40px; }
  .desert-band { height: 52px; background-size: 238px 52px; }
}

/* Book pages (dist/<slug>/, built by tools/build_book_pages.py) */
.bp-main { padding-top: 26px; padding-bottom: 70px; }
.bp-back a { font-size: 14px; font-weight: 600; color: var(--fuchsia); }
.bp-grid { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; align-items: start; margin-top: 24px; }
.bp-cover { margin: 0; position: sticky; top: 24px; }
.bp-cover img { width: 100%; height: auto; border-radius: 6px; box-shadow: 16px 16px 0 var(--pink), 0 20px 40px #2b1a2433; }
.bp-copy .eyebrow { color: var(--turq-dark); display: flex; align-items: center; gap: 8px; }
.bp-copy .eyebrow::before { content: ''; width: 20px; height: 20px; background: url("assets/motif-nopal.svg") center / contain no-repeat; }
.bp-copy h1 { font-size: clamp(42px, 5vw, 66px); line-height: 1.02; letter-spacing: -.02em; margin: 14px 0 8px; }
.bp-subtitle { font-family: var(--serif); font-size: 26px; color: var(--fuchsia); margin-bottom: 8px; }
.bp-badges { list-style: none; margin: 16px 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.bp-badges li { padding: 6px 14px; border-radius: 999px; background: var(--pink-soft); color: var(--magenta); font-size: 13px; font-weight: 700; }
.bp-badges li.silver { background: linear-gradient(135deg, #f4f6f8, #b9c1c8); color: var(--magenta); }
.bp-badges li.gold { background: var(--sun); color: var(--magenta); }
.bp-lede { font-family: var(--serif); font-size: 24px; line-height: 1.4; margin: 18px 0; color: var(--ink); }
.bp-copy > p:not(.eyebrow):not(.bp-lede):not(.bp-subtitle) { color: var(--muted); margin-bottom: 14px; line-height: 1.8; }
.bp-quote { margin: 22px 0; padding: 16px 20px; border-left: 5px solid var(--turq); background: var(--turq-soft); border-radius: 0 12px 12px 0; font-family: var(--serif); font-size: 22px; line-height: 1.35; color: var(--magenta); }
.bp-quote span { display: block; margin-top: 8px; font-family: var(--sans); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--turq-dark); }
.bp-buy { display: flex; flex-wrap: wrap; align-items: center; gap: 14px 20px; margin: 24px 0 10px; }
.bp-also { font-size: 14px !important; }
.bp-extra a, .bp-share a { color: var(--fuchsia); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.bp-share { margin-top: 22px !important; padding-top: 16px; border-top: 2px dotted var(--pink); font-size: 14px; }
.bp-copy-link { margin-left: 8px; padding: 4px 12px; border: 2px solid var(--turq); border-radius: 999px; background: #fff; color: var(--turq-dark); font-weight: 700; font-size: 13px; cursor: pointer; }
.bp-more { margin-top: 70px; padding-top: 30px; border-top: 2px dotted var(--pink); }
.bp-more .eyebrow { color: var(--turq-dark); margin-bottom: 16px; }
.bp-more-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 220px)); gap: 24px; }
.bp-more-card { display: flex; flex-direction: column; gap: 10px; font-family: var(--serif); font-size: 19px; line-height: 1.25; color: var(--ink); }
.bp-more-card img { width: 140px; height: auto; border-radius: 4px; box-shadow: 8px 8px 0 var(--turq-soft); }
.bp-more-card:hover span { color: var(--fuchsia); }
/* Dialog links to the book page and reviews */
.dialog-links { display: flex; flex-wrap: wrap; gap: 6px 18px; margin-top: 14px; }
.dialog-links a { font-size: 14px; font-weight: 700; color: var(--fuchsia); text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 820px) {
  .bp-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .bp-badges li { white-space: normal; }
  .bp-share { overflow-wrap: anywhere; }
  .bp-cover { position: static; max-width: 300px; }
  .bp-lede { font-size: 21px; }
}

/* Preview notice: remove when a plan starts */
.preview-notice { background: #2b1a24; color: #fff; text-align: center; font-size: 14px; line-height: 1.5; padding: 10px 16px; }
.preview-notice b { color: var(--sun); }
.preview-notice a { color: #fff; font-weight: 700; text-underline-offset: 3px; }
.preview-notice .count { display: inline-block; margin: 0 4px; padding: 1px 10px; border-radius: 999px; background: var(--fuchsia); font-weight: 700; }
