:root {
  --ink: #3f4744;
  --muted: #747b78;
  --paper: #fffdf9;
  --soft: #f8f7fb;
  --blue: #93abc3;
  --blue-2: #b5c8dc;
  --red: #dfb8b6;
  --gold: #f0dea9;
  --green: #a6bca4;
  --green-deep: #718479;
  --green-soft: #f2f6ef;
  --line: rgba(98, 120, 105, 0.12);
  --shadow: 0 24px 55px rgba(76, 92, 85, 0.10);
  --radius-xl: 30px;
  --radius-lg: 22px;
  --radius-md: 16px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background:
    radial-gradient(circle at top left, rgba(252, 242, 222, .96), transparent 28%),
    radial-gradient(circle at top right, rgba(230, 241, 250, .90), transparent 30%),
    linear-gradient(180deg, #fffdf8 0%, #f7faf7 44%, #fcfafc 100%);
  font-family: Arial, Helvetica, sans-serif;
  line-height: 1.6;
}
img { display: block; max-width: 100%; }
a { color: inherit; }

.skip-link {
  position: fixed;
  left: 1rem;
  top: -5rem;
  z-index: 1000;
  background: #fff;
  color: #111;
  padding: .75rem 1rem;
  border-radius: .5rem;
  box-shadow: var(--shadow);
}
.skip-link:focus { top: 1rem; }

.site-header {
  width: min(1380px, calc(100% - 32px));
  margin: 0 auto;
  padding-top: 20px;
  position: relative;
}
.site-header::before {
  content: '';
  position: absolute;
  inset: 8px 0 auto;
  height: 180px;
  border-radius: 36px;
  background: linear-gradient(180deg, rgba(239, 244, 231, .95), rgba(239, 244, 231, 0));
  z-index: -1;
}
.brand-wrap { text-align: center; padding: 2px 0 18px; }
.brand {
  text-decoration: none;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.7rem, 3vw, 3rem);
  letter-spacing: .18em;
  font-weight: 500;
  white-space: nowrap;
  color: var(--green-deep);
  text-shadow: 0 2px 0 rgba(255,255,255,.55);
}
.train-frame {
  overflow: hidden;
  border-radius: 24px 24px 14px 14px;
  box-shadow: 0 16px 38px rgba(58, 88, 55, .16);
  border: 1px solid rgba(95, 146, 85, .18);
  background: #ece8c8;
}
.train-frame img {
  width: 100%;
  aspect-ratio: 2560 / 730;
  object-fit: cover;
  transform: scale(1.002);
}

.main-nav {
  position: sticky;
  top: 0;
  z-index: 100;
  margin: 8px auto 0;
  background: rgba(255, 251, 246, .94);
  backdrop-filter: blur(16px);
  border: 1px solid rgba(143, 175, 139, .14);
  border-radius: 0 0 18px 18px;
  box-shadow: 0 10px 26px rgba(112, 130, 122, .08);
}
.nav-list {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0;
  padding: 0;
  margin: 0;
  list-style: none;
}
.nav-list a {
  display: block;
  padding: 15px 15px 13px;
  text-decoration: none;
  font-size: .84rem;
  color: #515268;
  border-bottom: 2px solid transparent;
  transition: .2s ease;
}
.nav-list a:hover,
.nav-list a:focus-visible { color: var(--green-deep); background: rgba(95, 146, 85, .09); }
.nav-list a.active { color: var(--green-deep); border-bottom-color: var(--green); background: rgba(95, 146, 85, .07); }
.menu-toggle { display: none; }

.section-shell { width: min(1180px, calc(100% - 40px)); margin-inline: auto; }
.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
  gap: clamp(30px, 6vw, 90px);
  align-items: center;
  padding-block: clamp(64px, 8vw, 112px);
  padding-inline: clamp(24px, 4vw, 42px);
  margin-top: 18px;
  border-radius: 34px;
  background: linear-gradient(135deg, rgba(255, 251, 245, .98), rgba(241, 247, 239, .98) 55%, rgba(244, 247, 252, .98));
  border: 1px solid rgba(95, 146, 85, .10);
  box-shadow: 0 18px 42px rgba(58, 88, 55, .08);
}
.eyebrow {
  margin: 0 0 12px;
  color: var(--green);
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .18em;
  font-weight: 800;
}
.hero h1, .section-heading h2, .alphabet-copy h2, .cta h2 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -.025em;
}
.hero h1 { font-size: clamp(2.65rem, 6vw, 5.3rem); max-width: 820px; }
.lead {
  margin: 26px 0 0;
  max-width: 730px;
  color: var(--muted);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.05rem, 1.7vw, 1.35rem);
  line-height: 1.75;
}
.hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.button {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  min-height: 50px;
  padding: 0 22px;
  border-radius: 999px;
  text-decoration: none;
  font-weight: 700;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover { transform: translateY(-2px); }
.button-primary { background: linear-gradient(180deg, #6faa61, #5f9255); color: #fff; box-shadow: 0 10px 25px rgba(95, 146, 85, .24); }
.button-primary:hover { background: linear-gradient(180deg, #629b57, #528049); }
.button-secondary { border: 1px solid rgba(95, 146, 85, .24); color: var(--green-deep); background: rgba(255,255,255,.88); }
.age-note { margin: 24px 0 0; color: var(--muted); font-size: .94rem; }

.hero-art {
  position: relative;
  min-height: 520px;
  display: grid;
  place-items: center;
  isolation: isolate;
}
.hero-art::before {
  content: '';
  position: absolute;
  inset: 7% 4% 8%;
  z-index: -2;
  border-radius: 48% 52% 53% 47% / 41% 46% 54% 59%;
  background: linear-gradient(145deg, #f8ecc8, #edf5ea 48%, #eaf2fb);
}
.hero-art::after {
  content: '';
  position: absolute;
  width: 120px;
  height: 120px;
  top: 10%;
  right: 10%;
  background: radial-gradient(circle, rgba(255,255,255,.95) 0 55%, rgba(255,255,255,0) 57%);
  opacity: .55;
  z-index: -1;
}
.hero-art img { width: min(500px, 96%); filter: drop-shadow(0 22px 25px rgba(46, 49, 72, .15)); }
.art-orbit {
  position: absolute;
  border: 1px dashed rgba(95, 146, 85, .30);
  border-radius: 50%;
  z-index: -1;
  animation: orbit 28s linear infinite;
}
.art-orbit-one { width: 90%; aspect-ratio: 1; }
.art-orbit-two { width: 70%; aspect-ratio: 1; animation-direction: reverse; animation-duration: 22s; }
.art-orbit::after {
  content: 'A';
  position: absolute;
  top: -16px;
  left: 50%;
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--gold);
  font-family: Georgia, serif;
  font-weight: 700;
  color: var(--blue);
}
.art-orbit-two::after { content: 'Z'; background: #fff; border: 1px solid rgba(41, 47, 137, .18); }
@keyframes orbit { to { transform: rotate(360deg); } }
.character-label {
  position: absolute;
  left: 5%;
  bottom: 2%;
  background: rgba(255,255,255,.94);
  border: 1px solid rgba(95,146,85,.14);
  box-shadow: 0 16px 30px rgba(58,88,55,.12);
  border-radius: 18px;
  padding: 12px 16px;
  backdrop-filter: blur(10px);
}
.character-label strong, .character-label span { display: block; }
.character-label strong { color: var(--blue); font-family: Georgia, serif; font-size: 1.12rem; }
.character-label span { color: var(--muted); font-size: .78rem; }

.quick-links {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin-bottom: clamp(70px, 9vw, 120px);
}
.quick-card {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 16px;
  align-items: center;
  min-height: 128px;
  padding: 22px;
  background: linear-gradient(180deg, rgba(255,255,255,.96), rgba(246,250,240,.96));
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  text-decoration: none;
  box-shadow: 0 12px 32px rgba(44,45,70,.06);
  transition: .2s ease;
}
.quick-card:hover { transform: translateY(-4px); box-shadow: var(--shadow); border-color: rgba(41,47,137,.2); }
.quick-icon {
  width: 60px;
  height: 60px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background: #f0f7dd;
  color: var(--green-deep);
  font-family: Georgia, serif;
  font-size: 1.18rem;
  font-weight: 700;
}
.quick-card:nth-child(2) .quick-icon { background: #fff2d7; color: #9c6d16; }
.quick-card:nth-child(3) .quick-icon { background: #dff0d7; color: var(--green); }
.quick-card strong, .quick-card small { display: block; }
.quick-card strong { font-family: Georgia, serif; font-size: 1.15rem; }
.quick-card small { margin-top: 5px; color: var(--muted); line-height: 1.45; }

.featured { padding-bottom: clamp(80px, 10vw, 130px); }
.section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 34px; }
.section-heading h2, .alphabet-copy h2, .cta h2 { font-size: clamp(2.1rem, 4vw, 3.5rem); }
.text-link { color: var(--blue); text-decoration: none; font-weight: 700; white-space: nowrap; }
.book-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.book-card {
  min-width: 0;
  overflow: hidden;
  border-radius: var(--radius-xl);
  background: linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,251,243,.97));
  border: 1px solid var(--line);
  box-shadow: 0 14px 38px rgba(41,42,67,.08);
}
.book-cover-wrap {
  display: grid;
  place-items: center;
  min-height: 420px;
  padding: 30px;
  background: linear-gradient(145deg, #fbf7e6, #eef7e8);
}
.book-cover-wrap img {
  max-height: 390px;
  width: auto;
  box-shadow: 0 16px 30px rgba(38,38,58,.18);
  transition: transform .28s ease;
}
.book-card:hover .book-cover-wrap img { transform: translateY(-4px) rotate(-.7deg); }
.book-copy { padding: 24px 26px 28px; }
.book-kicker { margin: 0; color: var(--red); font-size: .72rem; text-transform: uppercase; letter-spacing: .14em; font-weight: 800; }
.book-copy h3 { margin: 5px 0 9px; font-family: Georgia, serif; font-size: 1.7rem; font-weight: 500; }
.book-copy p:not(.book-kicker) { margin: 0; color: var(--muted); }
.book-link { display: inline-block; margin-top: 18px; color: var(--blue); text-decoration: none; font-weight: 700; }

.alphabet-strip { background: linear-gradient(135deg, #5c9053, #477542); color: #fff; overflow: hidden; border-radius: 34px; width: min(1180px, calc(100% - 40px)); margin: 0 auto; box-shadow: 0 18px 42px rgba(58, 88, 55, .12); }
.alphabet-inner { display: grid; grid-template-columns: .85fr 1.15fr; gap: 60px; align-items: center; padding-block: clamp(60px, 7vw, 90px); }
.alphabet-copy .eyebrow { color: #f0cd65; }
.alphabet-copy p:last-child { color: rgba(255,255,255,.76); max-width: 520px; }
.letters { display: flex; flex-wrap: wrap; gap: 9px; justify-content: center; }
.letters span {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(255,255,255,.10);
  border: 1px solid rgba(255,255,255,.16);
  font-family: Georgia, serif;
}
.letters span:nth-child(3n) { transform: translateY(-5px); background: rgba(231,185,47,.18); }
.letters span:nth-child(4n) { transform: translateY(5px); background: rgba(180,33,49,.22); }

.cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 40px;
  margin-block: clamp(70px, 8vw, 110px);
  padding: clamp(34px, 5vw, 60px);
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, #f7f2c8, #e6f2dc 55%, #f1f8ea);
  border: 1px solid rgba(95,146,85,.12);
  box-shadow: 0 18px 42px rgba(58, 88, 55, .09);
}
.cta p:last-child { max-width: 700px; color: var(--muted); }

.site-footer { border-top: 1px solid var(--line); background: linear-gradient(180deg, #edf6e6, #e1efd7); }
.footer-inner {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 20px 50px;
  align-items: center;
  padding-block: 40px;
}
.footer-inner strong { font-family: Georgia, serif; font-size: 1.2rem; }
.footer-inner p { margin: 4px 0 0; color: var(--muted); font-size: .9rem; }
.footer-links { display: flex; flex-wrap: wrap; gap: 18px; }
.footer-links a { text-decoration: none; color: #55576b; font-size: .88rem; }
.copyright { grid-column: 1 / -1; padding-top: 20px; border-top: 1px solid var(--line); }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .art-orbit { animation: none; }
  *, *::before, *::after { transition-duration: .001ms !important; }
}

@media (max-width: 980px) {
  .brand { letter-spacing: .15em; }
  .hero { grid-template-columns: 1fr; text-align: center; }
  .hero-copy { display: grid; justify-items: center; }
  .hero-art { min-height: 470px; max-width: 600px; width: 100%; margin: 0 auto; }
  .quick-links { grid-template-columns: 1fr; }
  .book-grid { grid-template-columns: repeat(2, 1fr); }
  .book-card:last-child { grid-column: 1 / -1; width: calc(50% - 12px); justify-self: center; }
  .alphabet-inner { grid-template-columns: 1fr; text-align: center; }
  .alphabet-copy p:last-child { margin-inline: auto; }
}

@media (max-width: 760px) {
  .site-header { width: 100%; padding-top: 12px; }
  .brand-wrap { padding-inline: 18px; }
  .brand { font-size: clamp(1.35rem, 6vw, 2rem); letter-spacing: .09em; white-space: normal; }
  .train-frame { border-radius: 0; border-inline: 0; }
  .main-nav { padding: 8px 16px; }
  .menu-toggle {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 9px;
    min-height: 44px;
    border: 1px solid var(--line);
    border-radius: 12px;
    background: rgba(255,255,255,.96);
    color: var(--green-deep);
    font-weight: 700;
  }
  .menu-icon, .menu-icon::before, .menu-icon::after {
    width: 20px;
    height: 2px;
    display: block;
    position: relative;
    background: currentColor;
  }
  .menu-icon::before, .menu-icon::after { content: ''; position: absolute; left: 0; }
  .menu-icon::before { top: -6px; }
  .menu-icon::after { top: 6px; }
  .nav-list { display: none; padding: 10px 0 4px; }
  .nav-list.open { display: grid; }
  .nav-list a { text-align: center; border-bottom: 0; border-radius: 8px; padding: 10px; }
  .nav-list a.active { background: rgba(180,33,49,.08); }
  .hero { padding-top: 48px; }
  .hero h1 { font-size: clamp(2.55rem, 13vw, 4.2rem); }
  .hero-art { min-height: 400px; }
  .character-label { left: 50%; transform: translateX(-50%); width: min(90%, 330px); text-align: center; }
  .section-heading { align-items: start; flex-direction: column; }
  .book-grid { grid-template-columns: 1fr; }
  .book-card:last-child { grid-column: auto; width: auto; }
  .book-cover-wrap { min-height: 380px; }
  .cta { flex-direction: column; align-items: start; }
  .footer-inner { grid-template-columns: 1fr; }
  .copyright { grid-column: auto; }
}

@media (max-width: 460px) {
  .section-shell { width: min(100% - 28px, 1180px); }
  .hero-actions { width: 100%; }
  .hero-actions .button { width: 100%; }
  .hero-art { min-height: 335px; }
  .quick-card { grid-template-columns: 52px 1fr; padding: 18px; }
  .quick-icon { width: 50px; height: 50px; }
  .book-cover-wrap { min-height: 330px; padding: 22px; }
  .letters span { width: 36px; height: 36px; }
}


/* ---------- Multi-page additions ---------- */
.train-frame { display:block; text-decoration:none; }
.page-hero { padding: clamp(58px, 8vw, 100px) 28px clamp(36px, 5vw, 62px); text-align:center; margin-top: 18px; border-radius: 34px; background: linear-gradient(135deg, rgba(247, 251, 240, .96), rgba(232, 244, 224, .96) 58%, rgba(245, 250, 237, .96)); border: 1px solid rgba(95, 146, 85, .10); box-shadow: 0 18px 42px rgba(58, 88, 55, .08); }
.page-hero h1, .book-detail h1 { margin:0; font-family:Georgia, 'Times New Roman', serif; font-weight:500; line-height:1.08; letter-spacing:-.025em; font-size:clamp(2.8rem, 6vw, 5rem); }
.page-lead { max-width:850px; margin:20px auto 0; color:var(--muted); font-family:Georgia, 'Times New Roman', serif; font-size:clamp(1.05rem, 1.6vw, 1.28rem); line-height:1.75; }

.catalog-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; padding-bottom:110px; }
.catalog-card { display:grid; grid-template-columns:220px 1fr; gap:28px; align-items:center; padding:24px; border:1px solid var(--line); border-radius:var(--radius-xl); background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,251,243,.97)); box-shadow:0 14px 38px rgba(58,88,55,.07); }
.catalog-cover { display:grid; place-items:center; min-height:300px; padding:20px; border-radius:20px; background:linear-gradient(145deg,#fbf7e6,#eef7e8); }
.catalog-cover img { max-height:285px; width:auto; box-shadow:0 14px 28px rgba(38,38,58,.18); }
.catalog-card h2 { margin:5px 0 10px; font-family:Georgia,serif; font-weight:500; font-size:1.8rem; }
.catalog-card p:not(.book-kicker) { color:var(--muted); }


.retailer-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding-bottom:42px; }
.retailer-card { min-height:170px; padding:28px; display:grid; align-content:center; justify-items:center; text-align:center; border:1px solid var(--line); border-radius:var(--radius-lg); background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,251,243,.97)); box-shadow:0 12px 32px rgba(58,88,55,.06); }
.retailer-card strong { font-family:Georgia,serif; font-size:1.7rem; color:var(--blue); }
.retailer-card span { margin-top:8px; color:var(--muted); font-size:.9rem; }
.note-panel { margin-bottom:110px; padding:34px; border-radius:var(--radius-xl); background:linear-gradient(135deg,#f8f1cc,#e8f3df 55%,#f1f8ea); border:1px solid rgba(95,146,85,.10); box-shadow:0 18px 42px rgba(58,88,55,.08); }
.note-panel h2 { margin:0; font-family:Georgia,serif; font-weight:500; font-size:2rem; }
.note-panel p { margin-bottom:0; color:var(--muted); }

.character-feature { display:grid; grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr); gap:60px; align-items:center; padding-bottom:110px; }
.character-image { min-height:500px; display:grid; place-items:center; border-radius:var(--radius-xl); background:linear-gradient(145deg,#f8efb8,#e3f1d9 47%,#dff0d7); overflow:hidden; }
.character-image img { width:min(500px,95%); }
.character-copy h2 { margin:0; font-family:Georgia,serif; font-weight:500; line-height:1.1; font-size:clamp(2.4rem,4vw,4rem); }
.character-copy p:not(.eyebrow) { color:var(--muted); font-size:1.06rem; }

.info-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding-bottom:110px; }
.info-card { padding:30px; border:1px solid var(--line); border-radius:var(--radius-lg); background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,251,243,.97)); box-shadow:0 12px 32px rgba(58,88,55,.06); }
.info-card h2 { font-family:Georgia,serif; font-weight:500; }
.info-card p { color:var(--muted); }
.info-card .quick-icon { margin-bottom:18px; }

.gallery-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; padding-bottom:110px; }
.gallery-grid figure { margin:0; padding:20px; border:1px solid var(--line); border-radius:var(--radius-xl); background:linear-gradient(180deg, rgba(255,255,255,.97), rgba(247,251,243,.97)); text-align:center; box-shadow:0 12px 32px rgba(58,88,55,.06); }
.gallery-grid img { height:440px; width:auto; max-width:100%; margin:auto; object-fit:contain; box-shadow:0 14px 28px rgba(38,38,58,.16); }
.gallery-grid figcaption { margin-top:16px; font-family:Georgia,serif; font-size:1.25rem; }

.contact-layout { display:grid; grid-template-columns:.8fr 1.2fr; gap:40px; align-items:start; padding-bottom:110px; }
.contact-panel, .contact-form { padding:34px; border:1px solid var(--line); border-radius:var(--radius-xl); background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,243,.98)); box-shadow:0 12px 32px rgba(58,88,55,.06); }
.contact-panel h2 { margin:0; font-family:Georgia,serif; font-size:2.4rem; font-weight:500; line-height:1.12; }
.contact-panel p:not(.eyebrow) { color:var(--muted); }
.small-note { font-size:.86rem; }
.contact-form { display:grid; gap:18px; }
.contact-form label { display:grid; gap:7px; font-weight:700; color:#4a4b5d; }
.contact-form input, .contact-form textarea { width:100%; padding:13px 14px; border:1px solid rgba(37,38,52,.2); border-radius:12px; background:#fffdf9; font:inherit; color:var(--ink); }
.contact-form textarea { resize:vertical; }
.contact-form .button { border:0; cursor:pointer; justify-self:start; }
.form-note { margin:0; color:var(--muted); font-size:.82rem; }

.book-detail { display:grid; grid-template-columns:minmax(300px,.78fr) minmax(0,1.22fr); gap:clamp(40px,7vw,90px); align-items:start; padding-block:clamp(64px,8vw,100px) 110px; }
.book-detail-cover { position:sticky; top:80px; display:grid; justify-items:center; gap:22px; }
.book-detail-cover img { max-height:690px; width:auto; max-width:100%; border-radius:6px; box-shadow:0 26px 55px rgba(38,38,58,.20); }
.book-detail-copy .page-lead { margin:20px 0 0; max-width:none; }
.book-bullets { margin:26px 0; padding-left:1.25rem; color:var(--muted); }
.book-bullets li { margin:.65rem 0; }
.bonus-box, .source-note { margin-top:26px; padding:22px 24px; border-radius:18px; background:#f3f8ef; border:1px solid var(--line); }
.bonus-box strong, .source-note strong { font-family:Georgia,serif; font-size:1.2rem; color:var(--blue); }
.bonus-box p, .source-note p { margin:6px 0 0; color:var(--muted); }
.source-note { background:#fbf5dc; }
.book-meta { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin:28px 0 0; }
.book-meta div { padding:16px; border:1px solid var(--line); border-radius:14px; background:rgba(255,255,255,.96); }
.book-meta dt { font-size:.72rem; text-transform:uppercase; letter-spacing:.12em; color:var(--red); font-weight:800; }
.book-meta dd { margin:4px 0 0; color:var(--ink); }
.back-link { font-size:.92rem; }

@media (max-width:1100px) {
  .catalog-grid { grid-template-columns:1fr; }
  .retailer-grid { grid-template-columns:repeat(2,1fr); }
  .gallery-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:800px) {
  .catalog-card { grid-template-columns:160px 1fr; }
  .catalog-cover { min-height:240px; }
  .catalog-cover img { max-height:230px; }
  .character-feature, .contact-layout, .book-detail { grid-template-columns:1fr; }
  .book-detail-cover { position:static; }
  .info-grid { grid-template-columns:1fr; }
}
@media (max-width:600px) {
  .catalog-card { grid-template-columns:1fr; text-align:center; }
  .catalog-cover { min-height:330px; }
  .catalog-cover img { max-height:320px; }
  .retailer-grid, .gallery-grid { grid-template-columns:1fr; }
  .gallery-grid img { height:390px; }
  .book-meta { grid-template-columns:1fr; }
}
/* Expanded book catalog */
.catalog-section { padding-bottom: 80px; }
.catalog-section + .catalog-section { padding-top: 10px; }
.catalog-grid { align-items: stretch; }
.catalog-card { position: relative; height: 100%; }
.catalog-card > div:last-child { align-self: center; }
.catalog-status { position:absolute; top:12px; left:12px; z-index:2; padding:7px 11px; border-radius:999px; font-size:.68rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; box-shadow:0 7px 18px rgba(33,33,44,.12); }
.catalog-status.published, .cover-badge.published { background:#e3f2da; color:#315e34; }
.catalog-status.coming, .cover-badge.coming { background:#fff2d4; color:#8a5713; }
.catalog-summary { display:flex; gap:14px; flex-wrap:wrap; margin-top:24px; }
.catalog-summary span { display:inline-flex; align-items:baseline; gap:6px; padding:10px 14px; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.96); color:var(--muted); }
.catalog-summary strong { color:var(--blue); font-size:1.08rem; }
.upcoming-section { padding-top:0; }
.section-heading.compact { margin-bottom:22px; }
.book-byline { margin:12px 0 0; color:var(--muted); font-weight:600; }
.book-tagline { margin:34px 0 0; font-family:Georgia,serif; font-weight:500; font-size:clamp(1.55rem,3vw,2.25rem); color:var(--blue); }
.detail-subhead { margin:34px 0 8px; font-family:Georgia,serif; font-weight:500; font-size:1.4rem; }
.book-actions { display:flex; flex-wrap:wrap; gap:12px; margin-top:30px; }
.coming-box { margin-top:30px; padding:20px 22px; border-radius:18px; background:#fff7e8; border:1px solid #efd9b0; }
.coming-box strong { color:#8a5713; }
.coming-box p { margin:6px 0 0; color:var(--muted); }
.book-detail-cover { position:relative; }
.cover-badge { position:absolute; top:-15px; left:50%; transform:translateX(-50%); z-index:3; padding:8px 13px; border-radius:999px; text-transform:uppercase; letter-spacing:.1em; font-weight:800; font-size:.68rem; box-shadow:0 8px 20px rgba(33,33,44,.12); white-space:nowrap; }
@media (max-width: 760px) { .catalog-section { padding-bottom:60px; } .cover-badge { top:-10px; } }


/* Amazon edition links on individual book pages */
.book-availability {
  margin-top: 30px;
  padding: 24px 26px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,243,.98));
  box-shadow: 0 12px 30px rgba(58, 88, 55, .06);
}
.book-availability .availability-kicker {
  margin: 0 0 5px;
  color: var(--red);
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.book-availability h3 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.45rem, 2.7vw, 2rem);
  font-weight: 500;
  color: var(--ink);
}
.book-availability > p:not(.availability-kicker) {
  margin: 8px 0 0;
  color: var(--muted);
}
.amazon-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}
.amazon-edition {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 11px 17px;
  border-radius: 999px;
  background: linear-gradient(180deg, #9ebd96, #89ab84);
  color: #fff;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 8px 20px rgba(41, 47, 137, .18);
  transition: transform .18s ease, background .18s ease, box-shadow .18s ease;
}
a.amazon-edition:hover {
  transform: translateY(-2px);
  background: linear-gradient(180deg, #93b38d, #7f9f79);
  box-shadow: 0 11px 24px rgba(95, 146, 85, .24);
}
.amazon-edition.is-coming {
  background: #f4f1ea;
  color: var(--muted);
  box-shadow: none;
  cursor: default;
}
.amazon-note {
  display: block;
  width: 100%;
  padding: 13px 15px;
  border-radius: 12px;
  background: #fff7e8;
  border: 1px solid #efd9b0;
  color: #79501b;
  font-weight: 700;
}

/* ---------- Full-width storybook refresh ---------- */
.site-header {
  width: 100%;
  max-width: none;
  padding-top: 18px;
  overflow: visible;
}
.site-header::before {
  inset: 0;
  height: 170px;
  border-radius: 0;
}
.brand-wrap {
  width: min(1380px, calc(100% - 32px));
  margin-inline: auto;
  padding-bottom: 16px;
}

/* Full-bleed train artwork */
.train-frame {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  border-radius: 0;
  border-inline: 0;
  box-shadow: 0 16px 34px rgba(58, 88, 55, .16);
}
.train-frame img {
  width: 100%;
  height: clamp(225px, 28.5vw, 420px);
  aspect-ratio: auto;
  object-fit: cover;
  object-position: center;
}

/* Quirky kid-friendly navigation */
.main-nav {
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, #5f9255 0%, #527f49 100%);
  box-shadow: 0 12px 28px rgba(57, 91, 52, .18);
  overflow: visible;
}
.nav-list {
  width: min(1220px, calc(100% - 30px));
  margin-inline: auto;
  padding: 11px 0 13px;
  gap: 8px;
}
.nav-list li:nth-child(1) { transform: rotate(-1deg); }
.nav-list li:nth-child(2) { transform: rotate(.7deg); }
.nav-list li:nth-child(3) { transform: rotate(-.5deg); }
.nav-list li:nth-child(4) { transform: rotate(.8deg); }
.nav-list li:nth-child(5) { transform: rotate(-.7deg); }
.nav-list li:nth-child(6) { transform: rotate(.5deg); }
.nav-list li:nth-child(7) { transform: rotate(-.4deg); }
.nav-list a {
  position: relative;
  padding: 10px 15px;
  border: 2px solid rgba(255,255,255,.72);
  border-radius: 999px;
  color: #355438;
  background: rgba(255,255,255,.94);
  font-weight: 800;
  box-shadow: 0 5px 0 rgba(52, 83, 48, .22);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}
.nav-list li:nth-child(2) a { background: #fff7d8; }
.nav-list li:nth-child(3) a { background: #eaf4ff; }
.nav-list li:nth-child(4) a { background: #fbe8ef; }
.nav-list li:nth-child(5) a { background: #eef5dc; }
.nav-list li:nth-child(6) a { background: #f4ebff; }
.nav-list li:nth-child(7) a { background: #fff0df; }
.nav-list a::after {
  content: '';
  position: absolute;
  width: 7px;
  height: 7px;
  right: 8px;
  top: 7px;
  border-radius: 50%;
  background: rgba(95,146,85,.28);
}
.nav-list a:hover,
.nav-list a:focus-visible {
  color: #29472d;
  background: #ffffff;
  transform: translateY(-3px) scale(1.035);
  box-shadow: 0 8px 0 rgba(52, 83, 48, .18);
  outline: none;
}
.nav-list a.active {
  color: #3d5a24;
  background: #f8e58e;
  border-color: #fff4bd;
  box-shadow: 0 6px 0 #d0b84e;
}

/* Let a few major sections breathe edge-to-edge */
.page-hero {
  width: 100%;
  max-width: none;
  border-radius: 0;
  margin-top: 0;
  padding-inline: max(28px, calc((100vw - 1180px) / 2));
  border-inline: 0;
}
.cta {
  width: 100%;
  max-width: none;
  border-radius: 0;
  padding-inline: max(28px, calc((100vw - 1180px) / 2));
  border-inline: 0;
}

/* Soft playful details without clutter */
.hero,
.book-card,
.catalog-card,
.info-card,
.gallery-grid figure,
.contact-panel,
.contact-form,
.note-panel {
  position: relative;
}
.hero::after,
.page-hero::after {
  content: '';
  position: absolute;
  pointer-events: none;
  width: 72px;
  height: 32px;
  right: clamp(18px, 4vw, 54px);
  bottom: 18px;
  opacity: .28;
  background:
    radial-gradient(circle at 10px 16px, #7fae69 0 5px, transparent 6px),
    radial-gradient(circle at 29px 9px, #e8c45b 0 5px, transparent 6px),
    radial-gradient(circle at 48px 18px, #c85b63 0 5px, transparent 6px),
    radial-gradient(circle at 65px 8px, #6da0cc 0 5px, transparent 6px);
}

@media (max-width: 760px) {
  .site-header { padding-top: 10px; }
  .brand-wrap { width: min(100% - 28px, 1380px); }
  .train-frame img {
    height: clamp(185px, 46vw, 300px);
    object-position: center;
  }
  .main-nav {
    padding: 9px 14px 11px;
    background: linear-gradient(180deg, #5f9255 0%, #527f49 100%);
  }
  .menu-toggle {
    width: min(520px, 100%);
    margin-inline: auto;
    background: #fff7d8;
    color: var(--green-deep);
    border: 2px solid rgba(255,255,255,.82);
    border-radius: 999px;
    box-shadow: 0 5px 0 rgba(52,83,48,.18);
  }
  .nav-list {
    width: min(520px, 100%);
    gap: 8px;
    padding-top: 12px;
  }
  .nav-list.open { display: grid; }
  .nav-list li { transform: none !important; }
  .nav-list a {
    text-align: center;
    padding: 11px 14px;
    border-radius: 16px;
    box-shadow: 0 4px 0 rgba(52,83,48,.14);
  }
  .nav-list a.active { box-shadow: 0 4px 0 #d0b84e; }
  .page-hero { padding-inline: 22px; }
  .cta { padding-inline: 24px; }
}

/* ---------- Larger storybook navigation ---------- */
.main-nav {
  padding: 12px 18px;
}

.nav-list {
  gap: 10px;
}

.nav-list a {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 17px 22px 15px;
  border-radius: 18px;
  font-size: clamp(.98rem, 1.12vw, 1.12rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: .01em;
}

.nav-list a:hover,
.nav-list a:focus-visible {
  transform: translateY(-3px) rotate(-.5deg);
}

.nav-list li:nth-child(even) a:hover,
.nav-list li:nth-child(even) a:focus-visible {
  transform: translateY(-3px) rotate(.5deg);
}

@media (min-width: 1180px) {
  .main-nav {
    padding-block: 14px;
  }

  .nav-list a {
    min-height: 62px;
    padding-inline: 25px;
    font-size: 1.08rem;
  }
}

@media (max-width: 980px) and (min-width: 761px) {
  .nav-list {
    gap: 7px;
  }

  .nav-list a {
    min-height: 54px;
    padding: 15px 16px 13px;
    font-size: .95rem;
  }
}

@media (max-width: 760px) {
  .main-nav {
    padding: 11px 16px;
  }

  .menu-toggle {
    min-height: 54px;
    border-radius: 17px;
    font-size: 1.03rem;
    font-weight: 800;
  }

  .nav-list {
    gap: 8px;
    padding-top: 12px;
  }

  .nav-list a {
    min-height: 52px;
    padding: 14px 18px;
    border-radius: 16px;
    font-size: 1rem;
  }
}

/* ---------- Navigation enlarged another 20 percent ---------- */
.main-nav {
  padding: 15px 22px;
}

.nav-list {
  gap: 12px;
}

.nav-list a {
  min-height: 70px;
  padding: 20px 27px 18px;
  border-radius: 21px;
  font-size: clamp(1.16rem, 1.34vw, 1.34rem);
  font-weight: 800;
  line-height: 1.15;
}

@media (min-width: 1180px) {
  .main-nav {
    padding-block: 17px;
  }

  .nav-list a {
    min-height: 74px;
    padding-inline: 30px;
    font-size: 1.30rem;
  }
}

@media (max-width: 1179px) and (min-width: 981px) {
  .nav-list {
    gap: 9px;
  }

  .nav-list a {
    min-height: 66px;
    padding: 18px 21px 16px;
    font-size: 1.10rem;
  }
}

@media (max-width: 980px) and (min-width: 761px) {
  .nav-list {
    gap: 8px;
  }

  .nav-list a {
    min-height: 65px;
    padding: 18px 19px 16px;
    font-size: 1.08rem;
  }
}

@media (max-width: 760px) {
  .main-nav {
    padding: 13px 18px;
  }

  .menu-toggle {
    min-height: 65px;
    border-radius: 20px;
    font-size: 1.18rem;
  }

  .nav-list {
    gap: 10px;
    padding-top: 14px;
  }

  .nav-list a {
    min-height: 62px;
    padding: 17px 21px;
    border-radius: 19px;
    font-size: 1.12rem;
  }
}

/* ---------- Full-width centered single-line navigation ---------- */
@media (min-width: 761px) {
  .main-nav {
    width: 100%;
    padding: 14px 12px 16px;
  }

  .nav-list {
    width: min(1360px, calc(100% - 20px));
    max-width: none;
    margin-inline: auto;
    padding: 0;
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 8px;
  }

  .nav-list li {
    flex: 0 1 auto;
    min-width: 0;
  }

  .nav-list a {
    min-height: 64px;
    padding: 17px 18px 15px;
    border-radius: 20px;
    font-size: clamp(1rem, 1.22vw, 1.22rem);
    line-height: 1.08;
    white-space: nowrap;
  }
}

@media (min-width: 1180px) {
  .main-nav {
    padding-block: 16px 18px;
  }

  .nav-list {
    width: min(1400px, calc(100% - 22px));
    gap: 9px;
  }

  .nav-list a {
    min-height: 68px;
    padding-inline: 20px;
    font-size: 1.18rem;
  }
}

@media (max-width: 1179px) and (min-width: 981px) {
  .nav-list {
    width: calc(100% - 18px);
    gap: 6px;
  }

  .nav-list a {
    min-height: 60px;
    padding: 15px 13px 13px;
    font-size: .98rem;
  }
}

@media (max-width: 980px) and (min-width: 761px) {
  .main-nav {
    padding-inline: 8px;
  }

  .nav-list {
    width: 100%;
    gap: 5px;
  }

  .nav-list a {
    min-height: 56px;
    padding: 13px 10px 12px;
    border-radius: 17px;
    font-size: .86rem;
  }
}

/* Keep the mobile menu large and easy to tap. */
@media (max-width: 760px) {
  .main-nav {
    padding: 13px 18px;
  }

  .menu-toggle {
    min-height: 65px;
    border-radius: 20px;
    font-size: 1.18rem;
  }

  .nav-list.open {
    display: grid;
  }

  .nav-list a {
    min-height: 62px;
    padding: 17px 21px;
    border-radius: 19px;
    font-size: 1.12rem;
    white-space: normal;
  }
}

/* ---------- Wider home hero + exact two-line headline ---------- */
.hero.section-shell {
  width: min(1460px, calc(100% - 48px));
  max-width: none;
}

.hero {
  grid-template-columns: minmax(0, 1.28fr) minmax(340px, .72fr);
  gap: clamp(42px, 5vw, 78px);
  padding-inline: clamp(36px, 5vw, 72px);
}

.hero h1 {
  max-width: none;
  font-size: clamp(3.15rem, 4.45vw, 4.85rem);
  letter-spacing: -.035em;
}

.hero-title-line {
  display: block;
  white-space: nowrap;
}

.hero-copy {
  min-width: 0;
}

.hero-art {
  min-height: 480px;
}

.hero-art img {
  width: min(455px, 100%);
}

@media (max-width: 1100px) and (min-width: 981px) {
  .hero.section-shell {
    width: min(1340px, calc(100% - 36px));
  }
  .hero {
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
    padding-inline: 34px;
    gap: 32px;
  }
  .hero h1 {
    font-size: clamp(2.85rem, 4.55vw, 3.8rem);
  }
}

@media (max-width: 980px) {
  .hero.section-shell {
    width: min(100% - 32px, 920px);
  }
  .hero {
    grid-template-columns: 1fr;
  }
  .hero h1 {
    font-size: clamp(2.75rem, 7vw, 4.3rem);
  }
  .hero-title-line {
    white-space: nowrap;
  }
}

@media (max-width: 700px) {
  .hero.section-shell {
    width: min(100% - 24px, 920px);
  }
  .hero {
    padding-inline: 22px;
  }
  .hero-title-line {
    white-space: normal;
  }
}


/* ---------- Professional depth upgrade: categories, learning, about, footer ---------- */
.home-categories, .browse-categories { padding-bottom: clamp(72px, 8vw, 110px); }
.browse-categories { padding-top: 12px; }
.category-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.category-card { display:grid; grid-template-columns:58px 1fr; gap:15px; align-items:center; min-height:130px; padding:20px; text-decoration:none; border:1px solid var(--line); border-radius:22px; background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(245,251,240,.97)); box-shadow:0 12px 30px rgba(58,88,55,.06); transition:.2s ease; }
.category-card:hover { transform:translateY(-4px); box-shadow:0 18px 38px rgba(58,88,55,.11); border-color:rgba(95,146,85,.25); }
.category-icon { width:58px; height:58px; display:grid; place-items:center; border-radius:18px; background:#e4f2db; color:var(--green-deep); font-family:Georgia,serif; font-weight:800; font-size:1.08rem; }
.category-card:nth-child(2) .category-icon { background:#fff1c9; color:#93681b; }
.category-card:nth-child(3) .category-icon { background:#dcefd7; }
.category-card:nth-child(4) .category-icon { background:#e7edf4; color:#4c6580; }
.category-card:nth-child(5) .category-icon { background:#f6e4e4; color:#a14b53; }
.category-card:nth-child(6) .category-icon { background:#eee7f6; color:#655184; }
.category-card strong,.category-card small { display:block; }
.category-card strong { font-family:Georgia,serif; font-size:1.12rem; }
.category-card small { margin-top:5px; color:var(--muted); line-height:1.42; }
.category-page-section { padding-bottom:90px; }
.category-page-top { display:flex; justify-content:space-between; gap:20px; align-items:center; margin-bottom:24px; color:var(--muted); }
.category-crosslinks { padding-bottom:110px; }
.category-crosslinks h2 { margin:0 0 26px; font-family:Georgia,serif; font-size:clamp(2rem,4vw,3rem); font-weight:500; }
.compact-book-card { height:100%; }

.story-split { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr); gap:clamp(42px,6vw,85px); align-items:center; padding-block:30px 100px; }
.story-copy h2,.publisher-connection h2,.learning-intro h2,.learning-cta h2 { margin:0; font-family:Georgia,serif; font-weight:500; line-height:1.1; font-size:clamp(2.3rem,4.4vw,4rem); }
.story-copy p:not(.eyebrow),.publisher-connection p:not(.eyebrow),.learning-intro p:not(.eyebrow),.learning-cta p:not(.eyebrow) { color:var(--muted); font-size:1.04rem; }
.story-art { min-height:500px; display:grid; place-items:center; position:relative; border-radius:34px; background:linear-gradient(145deg,#f8efb8,#e3f1d9 47%,#dff0d7); overflow:hidden; }
.story-art img { width:min(490px,92%); }
.story-art-note { position:absolute; left:28px; bottom:25px; padding:13px 17px; border-radius:16px; background:rgba(255,255,255,.94); box-shadow:0 12px 28px rgba(58,88,55,.12); color:var(--green-deep); font-family:Georgia,serif; font-weight:700; }
.story-art-note small { font-family:Arial,sans-serif; font-weight:400; color:var(--muted); }
.full-width-soft-band { width:100%; background:linear-gradient(135deg,#e4f2dc,#f8f4cf 52%,#edf6e7); border-block:1px solid rgba(95,146,85,.10); }
.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:22px; padding-block:70px; }
.values-grid article { padding:26px; border-radius:24px; background:rgba(255,255,255,.72); border:1px solid rgba(95,146,85,.10); }
.values-grid span { color:var(--green); font-weight:900; letter-spacing:.12em; }
.values-grid h2 { margin:8px 0 7px; font-family:Georgia,serif; font-weight:500; }
.values-grid p { margin:0; color:var(--muted); }
.publisher-connection,.learning-intro,.learning-cta { display:flex; align-items:center; justify-content:space-between; gap:48px; padding-block:80px; }
.publisher-connection>div:first-child,.learning-intro>div:first-child,.learning-cta>div:first-child { max-width:780px; }
.publisher-actions,.learning-actions { display:flex; flex-wrap:wrap; gap:12px; min-width:max-content; }

.learning-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; padding-bottom:100px; }
.learning-card { padding:28px; border:1px solid var(--line); border-radius:26px; background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,251,243,.98)); box-shadow:0 12px 30px rgba(58,88,55,.06); }
.learning-number { width:54px; height:54px; display:grid; place-items:center; border-radius:17px; background:#e1f0d7; color:var(--green-deep); font-family:Georgia,serif; font-weight:800; font-size:1.18rem; }
.learning-card:nth-child(2n) .learning-number { background:#fff0ca; color:#93681b; }
.learning-card h2 { margin:18px 0 8px; font-family:Georgia,serif; font-weight:500; }
.learning-card p { margin:0; color:var(--muted); }

.contact-cards { display:grid; grid-template-columns:1.25fr .75fr .75fr; gap:22px; padding-bottom:110px; }
.contact-card-primary,.contact-card { padding:34px; border-radius:28px; border:1px solid var(--line); background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,251,243,.98)); box-shadow:0 12px 32px rgba(58,88,55,.06); }
.contact-card-primary h2,.contact-card h2 { margin:0 0 10px; font-family:Georgia,serif; font-size:clamp(1.7rem,3vw,2.5rem); font-weight:500; }
.contact-card-primary p:not(.eyebrow),.contact-card p { color:var(--muted); }
.contact-symbol { width:52px; height:52px; display:grid; place-items:center; margin-bottom:18px; border-radius:16px; background:#e1f0d7; color:var(--green-deep); font-weight:800; }
.policy-copy { max-width:900px; padding-bottom:110px; }
.policy-copy h2 { margin:36px 0 8px; font-family:Georgia,serif; font-weight:500; font-size:1.7rem; }
.policy-copy p { color:var(--muted); }
.policy-updated { margin-top:42px; font-size:.9rem; }

.book-category-row { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin-top:18px; }
.book-category-row span { color:var(--muted); font-size:.86rem; }
.book-category-row a { display:inline-flex; align-items:center; min-height:34px; padding:6px 11px; border-radius:999px; background:#e6f2df; color:var(--green-deep); text-decoration:none; font-size:.82rem; font-weight:700; }
.related-books { padding-bottom:110px; }
.related-books-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.related-book-card { display:grid; grid-template-columns:100px 1fr; gap:16px; align-items:center; padding:16px; border:1px solid var(--line); border-radius:22px; background:linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,251,243,.98)); text-decoration:none; }
.related-book-card img { width:100px; height:125px; object-fit:contain; border-radius:8px; background:#f4f7ef; }
.related-book-card small,.related-book-card strong { display:block; }
.related-book-card small { color:var(--green); text-transform:uppercase; letter-spacing:.08em; font-weight:800; font-size:.68rem; }
.related-book-card strong { margin-top:5px; font-family:Georgia,serif; font-size:1.12rem; line-height:1.2; }

.expanded-footer { background:linear-gradient(180deg,#eaf5e3,#dcebd3); padding-top:58px; }
.footer-grid { display:grid; grid-template-columns:1.55fr repeat(4,1fr); gap:34px; padding-bottom:42px; }
.footer-brand-block strong { font-family:Georgia,serif; font-size:1.55rem; color:var(--green-deep); }
.footer-brand-block>p:first-of-type { color:var(--green); font-weight:800; letter-spacing:.08em; font-size:.78rem; text-transform:uppercase; }
.footer-description { max-width:360px; color:var(--muted); font-size:.9rem; }
.footer-column { display:flex; flex-direction:column; align-items:flex-start; gap:9px; }
.footer-column h3 { margin:0 0 5px; font-family:Georgia,serif; font-size:1.15rem; font-weight:600; color:var(--ink); }
.footer-column a { color:#4f5d51; text-decoration:none; font-size:.88rem; }
.footer-column a:hover { color:var(--green-deep); text-decoration:underline; }
.footer-bottom { display:flex; justify-content:space-between; gap:30px; padding-block:20px 28px; border-top:1px solid rgba(60,87,56,.13); color:var(--muted); font-size:.8rem; }
.footer-bottom p { margin:0; }

/* Fit the expanded navigation on one line while keeping generous height. */
@media (min-width:1081px) {
  .nav-list { width:min(1500px,calc(100% - 22px)); gap:6px; }
  .nav-list a { min-height:66px; padding:16px 14px 14px; font-size:clamp(.88rem,1.03vw,1.08rem); }
}
@media (max-width:1080px) {
  .menu-toggle { display:flex; }
  .nav-list { display:none; }
  .nav-list.open { display:grid; }
  .main-nav { padding:11px 16px; }
}
@media (max-width:1050px) {
  .category-grid,.values-grid { grid-template-columns:repeat(2,1fr); }
  .learning-grid { grid-template-columns:repeat(2,1fr); }
  .contact-cards { grid-template-columns:1fr 1fr; }
  .contact-card-primary { grid-column:1 / -1; }
  .footer-grid { grid-template-columns:1.4fr repeat(2,1fr); }
  .footer-brand-block { grid-row:span 2; }
}
@media (max-width:800px) {
  .story-split { grid-template-columns:1fr; }
  .publisher-connection,.learning-intro,.learning-cta { flex-direction:column; align-items:flex-start; }
  .publisher-actions,.learning-actions { min-width:0; }
  .related-books-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .footer-brand-block { grid-column:1 / -1; grid-row:auto; }
  .footer-bottom { flex-direction:column; }
}
@media (max-width:600px) {
  .category-grid,.values-grid,.learning-grid,.contact-cards,.footer-grid { grid-template-columns:1fr; }
  .contact-card-primary { grid-column:auto; }
  .category-card { grid-template-columns:52px 1fr; }
  .category-icon { width:52px; height:52px; }
  .story-art { min-height:380px; }
}

/* ---------- Front page layout refinement: full train + matching quick-links width ---------- */

/* Show the full train-banner artwork without cropping it further. */
.train-frame img {
  width: 100%;
  height: auto;
  aspect-ratio: auto;
  object-fit: contain;
  object-position: center bottom;
}

/* Make the three quick-link cards exactly match the wide home hero. */
.quick-links.section-shell {
  width: min(1460px, calc(100% - 48px));
  max-width: none;
}

.quick-card {
  min-height: 142px;
  padding: 25px 27px;
}

.quick-card strong {
  font-size: 1.22rem;
}

.quick-card small {
  font-size: .92rem;
}

@media (max-width: 1100px) and (min-width: 981px) {
  .quick-links.section-shell {
    width: min(1340px, calc(100% - 36px));
  }
}

@media (max-width: 980px) {
  .quick-links.section-shell {
    width: min(100% - 32px, 920px);
  }
}

@media (max-width: 700px) {
  .quick-links.section-shell {
    width: min(100% - 24px, 920px);
  }
}

/* ---------- Homepage width expansion + softer train framing ---------- */
/* Make the train artwork slightly smaller inside the full-width banner so more side framing appears. */
.train-frame {
  padding-inline: clamp(22px, 3vw, 64px);
  padding-block: 8px 0;
  background: linear-gradient(180deg, #cfddab 0%, #d8e5b7 100%);
}
.train-frame img {
  width: 100%;
  max-width: none;
  margin-inline: auto;
}

/* Expand major homepage sections to match the hero/quick-links width. */
.home-categories.section-shell,
.featured.section-shell,
.cta.section-shell {
  width: min(1460px, calc(100% - 48px));
  max-width: none;
}

/* Keep the category cards and feature cards comfortably spaced within the wider sections. */
.home-categories .section-heading,
.featured .section-heading {
  margin-bottom: 30px;
}

/* Expand footer content to the same wide rhythm while keeping full-width background. */
.expanded-footer .footer-grid,
.expanded-footer .footer-bottom {
  width: min(1460px, calc(100% - 48px));
  max-width: none;
}

@media (max-width: 1100px) and (min-width: 981px) {
  .train-frame {
    padding-inline: 28px;
  }
  .home-categories.section-shell,
  .featured.section-shell,
  .cta.section-shell,
  .expanded-footer .footer-grid,
  .expanded-footer .footer-bottom {
    width: min(1340px, calc(100% - 36px));
  }
}

@media (max-width: 980px) {
  .train-frame {
    padding-inline: 14px;
  }
  .home-categories.section-shell,
  .featured.section-shell,
  .cta.section-shell,
  .expanded-footer .footer-grid,
  .expanded-footer .footer-bottom {
    width: min(100% - 32px, 920px);
  }
}

@media (max-width: 700px) {
  .home-categories.section-shell,
  .featured.section-shell,
  .cta.section-shell,
  .expanded-footer .footer-grid,
  .expanded-footer .footer-bottom {
    width: min(100% - 24px, 920px);
  }
}

/* ---------- Wider navigation + slightly larger gaps ---------- */
@media (min-width: 761px) {
  .main-nav {
    padding-inline: 20px;
  }

  .nav-list {
    width: min(1540px, calc(100% - 10px));
    gap: 10px;
  }

  .nav-list a {
    padding-inline: 18px;
  }
}

@media (min-width: 1081px) {
  .nav-list {
    width: min(1580px, calc(100% - 12px));
    gap: 11px;
  }

  .nav-list a {
    padding-inline: 19px;
  }
}

@media (max-width: 1080px) and (min-width: 761px) {
  .main-nav {
    padding-inline: 14px;
  }

  .nav-list {
    width: min(100%, calc(100% - 8px));
    gap: 7px;
  }
}

/* ---------- Visibly wider desktop navigation ---------- */
@media (min-width: 1081px) {
  .main-nav {
    width: 100%;
    padding: 15px 34px 17px;
  }

  .nav-list {
    width: min(1480px, calc(100% - 24px));
    margin-inline: auto;
    display: flex;
    flex-wrap: nowrap;
    justify-content: space-between;
    align-items: stretch;
    gap: 14px;
  }

  .nav-list li {
    flex: 1 1 0;
    min-width: 0;
  }

  .nav-list a {
    width: 100%;
    min-height: 66px;
    padding: 16px 10px 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    white-space: nowrap;
    font-size: clamp(.92rem, .96vw, 1.08rem);
  }

  .nav-list li:nth-child(5) {
    flex: 1.25 1 0;
  }
}

/* Slightly tighter only when the desktop viewport gets narrower. */
@media (max-width: 1280px) and (min-width: 1081px) {
  .main-nav {
    padding-inline: 22px;
  }

  .nav-list {
    width: calc(100% - 10px);
    gap: 10px;
  }

  .nav-list a {
    font-size: .88rem;
    padding-inline: 7px;
  }
}

/* ---------- Fix homepage Learning Corner callout ---------- */
.cta.section-shell {
  width: min(1460px, calc(100% - 48px));
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: center;
  justify-content: stretch;
  gap: clamp(36px, 5vw, 80px);
  margin-block: 62px 92px;
  padding: clamp(42px, 4vw, 64px) clamp(40px, 5vw, 76px);
  border-radius: var(--radius-xl);
  border: 1px solid rgba(95,146,85,.12);
  background: linear-gradient(135deg, #f8f1c9 0%, #e8f3df 50%, #edf7e8 100%);
  box-shadow: 0 18px 42px rgba(58,88,55,.09);
}

.cta.section-shell > div {
  width: 100%;
  max-width: 850px;
  margin: 0;
  justify-self: start;
}

.cta.section-shell h2 {
  max-width: 760px;
  font-size: clamp(2.45rem, 3.8vw, 4rem);
  line-height: 1.04;
}

.cta.section-shell p:last-child {
  max-width: 760px;
  margin-bottom: 0;
  font-size: 1.02rem;
  line-height: 1.65;
}

.cta.section-shell .button {
  flex: none;
  justify-self: end;
  min-width: 230px;
  white-space: nowrap;
  padding-inline: 28px;
}

@media (max-width: 980px) {
  .cta.section-shell {
    width: min(100% - 32px, 920px);
    grid-template-columns: 1fr;
    gap: 28px;
    padding: 40px;
  }

  .cta.section-shell .button {
    justify-self: start;
  }
}

@media (max-width: 700px) {
  .cta.section-shell {
    width: min(100% - 24px, 920px);
    padding: 32px 24px;
    margin-block: 48px 70px;
  }

  .cta.section-shell .button {
    width: 100%;
    min-width: 0;
  }
}

/* ---------- Force Learning Grows Beyond the Page to one line on desktop ---------- */
@media (min-width: 981px) {
  .cta.section-shell {
    grid-template-columns: minmax(0, 1.2fr) max-content;
    gap: clamp(26px, 4vw, 60px);
  }

  .cta.section-shell > div {
    max-width: none;
  }

  .cta.section-shell h2 {
    max-width: none;
    white-space: nowrap;
    font-size: clamp(2.2rem, 3.25vw, 3.45rem);
    letter-spacing: -.03em;
  }

  .cta.section-shell p:last-child {
    max-width: 820px;
  }
}

/* ---------- 2026-08 Books-first navigation and catalog revamp ---------- */
/* With Bookstore, Characters and Trivia temporarily hidden, let the remaining navigation breathe. */
@media (min-width: 1081px) {
  .nav-list {
    width: min(1320px, calc(100% - 40px));
    gap: 18px;
  }
  .nav-list li { flex: 1 1 0; }
  .nav-list a {
    width: 100%;
    min-height: 66px;
    padding-inline: 22px;
    font-size: clamp(1rem, 1.08vw, 1.15rem);
  }
}

.footer-grid-streamlined {
  grid-template-columns: 1.55fr .85fr 1.25fr .9fr;
  gap: clamp(30px, 4vw, 62px);
}

.books-page-hero .page-lead { max-width: 760px; }
.books-catalog-section { padding-bottom: 110px; }
.books-catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
}
.books-catalog-card {
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,243,.98));
  box-shadow: 0 14px 38px rgba(58,88,55,.08);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.books-catalog-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 20px 44px rgba(58,88,55,.13);
  border-color: rgba(95,146,85,.24);
}
.books-catalog-cover {
  min-height: 430px;
  display: grid;
  place-items: center;
  padding: 30px 28px;
  background: linear-gradient(145deg, #fbf7e6, #edf6e7);
  text-decoration: none;
  overflow: hidden;
}
.books-catalog-cover img {
  width: auto;
  max-width: 100%;
  max-height: 385px;
  object-fit: contain;
  box-shadow: 0 16px 32px rgba(38,38,58,.17);
  transition: transform .25s ease;
}
.books-catalog-card:hover .books-catalog-cover img { transform: translateY(-4px) scale(1.015); }
.books-catalog-copy {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 26px 27px 30px;
}
.books-catalog-copy h2 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.55rem, 2vw, 2rem);
  font-weight: 500;
  line-height: 1.18;
}
.books-catalog-copy h2 a { color: var(--ink); text-decoration: none; }
.books-catalog-copy h2 a:hover { color: var(--green-deep); }
.books-catalog-authors {
  margin: 10px 0 14px !important;
  color: var(--green-deep) !important;
  font-size: .88rem;
  font-weight: 700;
}
.books-catalog-copy > p:not(.books-catalog-authors) { margin: 0; color: var(--muted); }
.books-catalog-copy .book-link { margin-top: auto; padding-top: 20px; }

/* No front-facing publication year/status labels in the home featured cards. */
.featured .book-kicker { display: none; }

@media (max-width: 1050px) {
  .footer-grid-streamlined { grid-template-columns: 1.25fr 1fr 1fr; }
  .footer-grid-streamlined .footer-brand-block { grid-column: 1 / -1; grid-row: auto; }
  .books-catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .footer-grid-streamlined, .books-catalog-grid { grid-template-columns: 1fr; }
  .books-catalog-cover { min-height: 360px; }
  .books-catalog-cover img { max-height: 330px; }
}


/* ======================================================================
   PRODUCTION NAVIGATION — 2026-08-29
   One canonical navigation definition for every live page.
   ====================================================================== */
.main-nav {
  position: sticky;
  top: 0;
  z-index: 200;
  width: 100%;
  margin: 0;
  padding: 14px 24px 16px;
  border: 0;
  border-radius: 0;
  background: linear-gradient(180deg, #5f9255 0%, #527f49 100%);
  box-shadow: 0 12px 28px rgba(57, 91, 52, .18);
}

.nav-list {
  width: min(1460px, calc(100% - 12px));
  margin: 0 auto;
  padding: 0;
  list-style: none;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

.nav-list li {
  min-width: 0;
  transform: none !important;
}

.nav-list a {
  width: 100%;
  min-height: 64px;
  padding: 14px 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  white-space: nowrap;
  text-decoration: none;
  border: 2px solid rgba(255,255,255,.75);
  border-radius: 20px;
  background: rgba(255,255,255,.96);
  color: #355438;
  font-size: clamp(.98rem, 1.04vw, 1.12rem);
  font-weight: 800;
  line-height: 1.08;
  box-shadow: 0 5px 0 rgba(52,83,48,.20);
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
}

.nav-list li:nth-child(2) a { background: #fff7d8; }
.nav-list li:nth-child(3) a { background: #eef5dc; }
.nav-list li:nth-child(4) a { background: #f4ebff; }
.nav-list li:nth-child(5) a { background: #eaf4ff; }
.nav-list li:nth-child(6) a { background: #fff0df; }

.nav-list a::after { display: none; }
.nav-list a:hover,
.nav-list a:focus-visible {
  color: #29472d;
  background: #fff;
  transform: translateY(-2px);
  box-shadow: 0 7px 0 rgba(52,83,48,.16);
  outline: none;
}

.nav-list a.active {
  color: #3d5a24;
  background: #f8e58e;
  border-color: #fff4bd;
  box-shadow: 0 5px 0 #d0b84e;
}

.menu-toggle { display: none; }

@media (max-width: 900px) {
  .main-nav { padding: 10px 16px 12px; }
  .menu-toggle {
    width: min(560px, 100%);
    min-height: 56px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 2px solid rgba(255,255,255,.82);
    border-radius: 20px;
    background: #fff7d8;
    color: var(--green-deep);
    box-shadow: 0 5px 0 rgba(52,83,48,.18);
    font-size: 1.05rem;
    font-weight: 800;
  }
  .nav-list {
    width: min(560px, 100%);
    margin: 0 auto;
    padding-top: 12px;
    display: none;
    grid-template-columns: 1fr;
    gap: 9px;
  }
  .nav-list.open { display: grid; }
  .nav-list a {
    min-height: 54px;
    padding: 13px 16px;
    border-radius: 17px;
    font-size: 1rem;
    white-space: normal;
  }
}


/* ---------- Discover the World from A to Z ---------- */
.az-discovery-section {
  width: min(1460px, calc(100% - 48px));
  margin: 0 auto;
  padding: clamp(72px, 8vw, 110px) 0;
}
.az-discovery-head {
  max-width: 900px;
  margin: 0 auto 38px;
  text-align: center;
}
.az-discovery-head h2 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.5rem, 4.7vw, 4.5rem);
  font-weight: 500;
  line-height: 1.05;
  color: var(--green-deep);
}
.az-discovery-head .az-tagline {
  margin: 16px auto 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.18rem, 2vw, 1.55rem);
  color: var(--muted);
}
.az-discovery-head .az-big-idea {
  display: inline-block;
  margin: 22px auto 0;
  padding: 11px 20px;
  border-radius: 999px;
  background: #fff3bd;
  color: #725d1b;
  font-weight: 800;
  letter-spacing: .02em;
}
.az-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}
.az-card {
  border: 1px solid rgba(95,146,85,.15);
  border-radius: 24px;
  background: linear-gradient(180deg, rgba(255,255,255,.98), rgba(247,251,243,.98));
  box-shadow: 0 12px 28px rgba(58,88,55,.06);
  overflow: hidden;
  transition: transform .18s ease, box-shadow .18s ease;
}
.az-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 17px 34px rgba(58,88,55,.11);
}
.az-card summary {
  list-style: none;
  display: grid;
  grid-template-columns: 72px 1fr auto;
  gap: 16px;
  align-items: center;
  padding: 18px 20px;
  cursor: pointer;
}
.az-card summary::-webkit-details-marker { display: none; }
.az-letter {
  width: 66px;
  height: 66px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #74a968, #5e9255);
  color: #fff;
  border: 4px solid #eef7e7;
  box-shadow: 0 6px 0 rgba(69,111,64,.16);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 2rem;
  font-weight: 700;
}
.az-card:nth-child(6n+2) .az-letter { background: linear-gradient(145deg,#e8c45b,#d3a936); }
.az-card:nth-child(6n+3) .az-letter { background: linear-gradient(145deg,#6f96be,#527ea8); }
.az-card:nth-child(6n+4) .az-letter { background: linear-gradient(145deg,#c87780,#b75e68); }
.az-card:nth-child(6n+5) .az-letter { background: linear-gradient(145deg,#8c7ab1,#75659d); }
.az-card:nth-child(6n+6) .az-letter { background: linear-gradient(145deg,#dc9362,#c87946); }
.az-keywords strong {
  display: block;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.08rem;
  line-height: 1.25;
  color: var(--ink);
}
.az-tap {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #edf6e7;
  color: var(--green-deep);
  font-weight: 900;
  transition: transform .18s ease;
}
.az-card[open] .az-tap { transform: rotate(45deg); }
.az-description {
  margin: 0;
  padding: 0 20px 21px 108px;
  color: var(--muted);
  line-height: 1.65;
}
.az-closing {
  margin-top: 40px;
  padding: clamp(30px, 4vw, 48px);
  border-radius: 30px;
  background: linear-gradient(135deg,#edf6e5,#fff3c8 52%,#edf5e9);
  border: 1px solid rgba(95,146,85,.11);
  text-align: center;
}
.az-closing h3 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  font-size: clamp(2rem, 3.6vw, 3.2rem);
  color: var(--green-deep);
}
.az-closing p { margin: 12px auto 0; max-width: 900px; color: var(--muted); }
.az-closing .az-signoff { color: var(--green-deep); font-weight: 800; }
.az-preview-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-top: 28px; }
.az-preview-card { display:flex; align-items:center; gap:12px; padding:15px; border:1px solid var(--line); border-radius:20px; background:rgba(255,255,255,.88); }
.az-preview-card .az-letter { width:50px; height:50px; flex:0 0 50px; font-size:1.45rem; border-width:3px; box-shadow:none; }
.az-preview-card strong { font-family:Georgia,serif; font-size:.98rem; line-height:1.2; }
.az-preview-actions { margin-top: 28px; display:flex; justify-content:center; }
@media (max-width: 1050px) { .az-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } .az-preview-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 700px) {
  .az-discovery-section { width: min(100% - 24px, 920px); }
  .az-grid, .az-preview-grid { grid-template-columns: 1fr; }
  .az-card summary { grid-template-columns: 58px 1fr auto; gap: 12px; padding: 15px; }
  .az-letter { width:54px; height:54px; font-size:1.55rem; }
  .az-description { padding: 0 16px 18px 85px; }
}

/* ---------- Find Our Books moving retailer strip ---------- */
.retailer-ticker {
  width: 100%;
  margin-top: clamp(52px, 6vw, 86px);
  padding: 30px 0 32px;
  overflow: hidden;
  background:
    linear-gradient(90deg, #f7efbd 0%, #eaf5df 34%, #e1f0d9 66%, #f8f1c8 100%);
  border-top: 1px solid rgba(95,146,85,.14);
  border-bottom: 1px solid rgba(95,146,85,.14);
}

.retailer-ticker-head {
  width: min(1460px, calc(100% - 48px));
  margin: 0 auto 20px;
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 24px;
}

.retailer-ticker-head .eyebrow {
  margin-bottom: 5px;
}

.retailer-ticker-head h2 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.9rem, 3.2vw, 3rem);
  font-weight: 500;
  line-height: 1.08;
}

.retailer-ticker-head p:last-child {
  max-width: 590px;
  margin: 0;
  color: var(--muted);
  font-size: .92rem;
  text-align: right;
}

.retailer-marquee {
  position: relative;
  overflow: hidden;
  width: 100%;
  mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
}

.retailer-track {
  display: flex;
  align-items: center;
  width: max-content;
  gap: 18px;
  padding: 8px 9px;
  animation: retailer-scroll 34s linear infinite;
}

.retailer-marquee:hover .retailer-track {
  animation-play-state: paused;
}

.retailer-chip {
  min-width: 240px;
  min-height: 82px;
  padding: 15px 28px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 24px;
  border: 1px solid rgba(69,111,64,.13);
  background: rgba(255,255,255,.88);
  color: var(--green-deep);
  box-shadow: 0 10px 26px rgba(58,88,55,.08);
  text-decoration: none;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.35rem;
  font-weight: 700;
  white-space: nowrap;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}

.retailer-chip:hover,
.retailer-chip:focus-visible {
  transform: translateY(-3px) rotate(-.4deg);
  background: #fff;
  box-shadow: 0 15px 32px rgba(58,88,55,.14);
}

.retailer-chip:nth-child(3n+2) {
  background: rgba(255,249,226,.94);
}

.retailer-chip:nth-child(3n) {
  background: rgba(239,247,234,.94);
}

.retailer-chip small {
  margin-left: 8px;
  font-family: Arial, Helvetica, sans-serif;
  font-size: .72rem;
  font-weight: 700;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .07em;
}

@keyframes retailer-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 9px)); }
}

@media (prefers-reduced-motion: reduce) {
  .retailer-track {
    animation: none;
    width: auto;
    flex-wrap: wrap;
    justify-content: center;
  }
  .retailer-marquee {
    mask-image: none;
    -webkit-mask-image: none;
  }
}

@media (max-width: 800px) {
  .retailer-ticker {
    padding-block: 26px 28px;
  }

  .retailer-ticker-head {
    width: min(100% - 32px, 920px);
    display: block;
    text-align: center;
  }

  .retailer-ticker-head p:last-child {
    margin: 10px auto 0;
    text-align: center;
  }

  .retailer-chip {
    min-width: 205px;
    min-height: 72px;
    padding-inline: 22px;
    font-size: 1.16rem;
  }

  .retailer-track {
    animation-duration: 29s;
  }
}

@media (max-width: 520px) {
  .retailer-ticker-head {
    width: min(100% - 24px, 920px);
  }

  .retailer-chip {
    min-width: 185px;
    min-height: 66px;
    border-radius: 20px;
    font-size: 1.05rem;
  }
}

/* ---------- Homepage educational A–Z story ---------- */
.hero-values {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.hero-values span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(95,146,85,.14);
  color: var(--green-deep);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .03em;
}

.home-az-section {
  width: min(1460px, calc(100% - 48px));
  margin: clamp(62px, 7vw, 100px) auto clamp(80px, 9vw, 130px);
}
.home-az-head {
  max-width: 1040px;
  margin: 0 auto 42px;
  text-align: center;
}
.home-az-head h2 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.7rem, 5vw, 5rem);
  font-weight: 500;
  line-height: 1.02;
  color: var(--ink);
}
.home-az-head > p:not(.eyebrow) {
  max-width: 930px;
  margin: 16px auto 0;
  color: var(--muted);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1rem, 1.45vw, 1.2rem);
  line-height: 1.72;
}
.home-az-head .home-az-welcome {
  color: var(--green-deep);
  font-size: clamp(1.2rem, 1.7vw, 1.45rem);
  font-weight: 600;
}
.home-az-big-idea {
  width: fit-content;
  max-width: 100%;
  margin: 28px auto 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 9px 18px;
  padding: 15px 22px;
  border-radius: 999px;
  background: linear-gradient(90deg, #f7efbd, #e4f2dc, #eef6e8);
  border: 1px solid rgba(95,146,85,.13);
  color: var(--green-deep);
  box-shadow: 0 10px 24px rgba(58,88,55,.06);
}
.home-az-big-idea strong,
.home-az-big-idea span {
  white-space: nowrap;
}
.home-az-big-idea strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.06rem;
}
.home-az-big-idea span {
  color: var(--muted);
  font-weight: 700;
}

.home-az-list {
  position: relative;
  width: min(1180px, 100%);
  margin: 0 auto;
  display: grid;
  gap: 13px;
}
.home-az-list::before {
  content: '';
  position: absolute;
  top: 42px;
  bottom: 42px;
  left: 45px;
  width: 2px;
  background: linear-gradient(180deg, rgba(95,146,85,.08), rgba(95,146,85,.28), rgba(95,146,85,.08));
  z-index: 0;
}
.home-az-row {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 24px;
  align-items: center;
  min-height: 116px;
  padding: 18px 28px 18px 12px;
  border: 1px solid rgba(95,146,85,.11);
  border-radius: 26px;
  background: linear-gradient(180deg, rgba(255,255,255,.91), rgba(247,251,243,.94));
  box-shadow: 0 10px 26px rgba(58,88,55,.045);
}
.home-az-row:nth-child(4n+2) { background: linear-gradient(180deg, rgba(255,251,235,.94), rgba(250,249,233,.94)); }
.home-az-row:nth-child(4n+3) { background: linear-gradient(180deg, rgba(240,248,235,.95), rgba(247,251,243,.95)); }
.home-az-row:nth-child(4n+4) { background: linear-gradient(180deg, rgba(246,244,251,.93), rgba(249,250,246,.94)); }

.home-az-letter {
  width: 72px;
  height: 72px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(145deg, #75a968, #56864e);
  color: #fff;
  border: 4px solid rgba(255,255,255,.9);
  box-shadow: 0 9px 20px rgba(58,88,55,.17);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 2.05rem;
  font-weight: 700;
  transform: rotate(-2deg);
}
.home-az-row:nth-child(5n+2) .home-az-letter { background: linear-gradient(145deg,#e8c45b,#d3a936); color:#4b4320; transform: rotate(2deg); }
.home-az-row:nth-child(5n+3) .home-az-letter { background: linear-gradient(145deg,#6f96be,#527ea8); transform: rotate(-3deg); }
.home-az-row:nth-child(5n+4) .home-az-letter { background: linear-gradient(145deg,#c87780,#b75e68); transform: rotate(3deg); }
.home-az-row:nth-child(5n+5) .home-az-letter { background: linear-gradient(145deg,#8c7ab1,#75659d); transform: rotate(-1deg); }

.home-az-copy h3 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.2rem, 1.75vw, 1.65rem);
  font-weight: 600;
  line-height: 1.25;
  color: var(--ink);
}
.home-az-copy p {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: .96rem;
  line-height: 1.58;
}

/* ---------- Moving retailer strip with original logos ---------- */
.retailer-track {
  display: flex;
  align-items: center;
  width: max-content;
  gap: 0;
  padding: 8px 0;
  animation: retailer-logo-scroll 34s linear infinite;
}
.retailer-logo-group {
  display: flex;
  align-items: center;
  gap: 22px;
  padding-right: 22px;
}
.retailer-logo-card {
  width: 260px;
  height: 96px;
  flex: 0 0 260px;
  display: grid;
  place-items: center;
  padding: 16px 24px;
  border-radius: 24px;
  border: 1px solid rgba(69,111,64,.12);
  background: rgba(255,255,255,.94);
  box-shadow: 0 10px 26px rgba(58,88,55,.08);
  text-decoration: none;
  overflow: hidden;
  transition: transform .2s ease, box-shadow .2s ease;
}
.retailer-logo-card:hover,
.retailer-logo-card:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 15px 32px rgba(58,88,55,.14);
}
.retailer-logo-card img {
  display: block;
  width: auto;
  height: auto;
  max-width: 205px;
  max-height: 58px;
  object-fit: contain;
}
.retailer-logo-card:nth-child(5n+2) img { max-width: 215px; }
.retailer-logo-card:nth-child(5n+3) img { max-height: 55px; }
.retailer-logo-card:nth-child(5n+4) img { max-height: 62px; max-width: 190px; }
.retailer-logo-card:nth-child(5n+5) img { max-height: 68px; max-width: 168px; }

@keyframes retailer-logo-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.retailer-marquee:hover .retailer-track {
  animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
  .retailer-track {
    animation: none;
    width: auto;
    flex-wrap: wrap;
    justify-content: center;
  }
  .retailer-logo-group {
    flex-wrap: wrap;
    justify-content: center;
    padding-right: 0;
  }
  .retailer-logo-group[aria-hidden="true"] {
    display: none;
  }
}

@media (max-width: 980px) {
  .home-az-section {
    width: min(100% - 32px, 920px);
  }
  .home-az-list {
    width: 100%;
  }
}

@media (max-width: 700px) {
  .hero-values {
    justify-content: center;
  }
  .home-az-section {
    width: min(100% - 24px, 920px);
    margin-top: 52px;
  }
  .home-az-head {
    margin-bottom: 30px;
  }
  .home-az-big-idea {
    border-radius: 24px;
    padding: 14px 16px;
  }
  .home-az-big-idea strong,
  .home-az-big-idea span {
    white-space: normal;
  }
  .home-az-list::before {
    left: 33px;
  }
  .home-az-row {
    grid-template-columns: 66px minmax(0,1fr);
    gap: 13px;
    min-height: 104px;
    padding: 15px 16px 15px 7px;
    border-radius: 22px;
  }
  .home-az-letter {
    width: 54px;
    height: 54px;
    font-size: 1.55rem;
    border-width: 3px;
  }
  .home-az-copy h3 {
    font-size: 1.08rem;
  }
  .home-az-copy p {
    font-size: .9rem;
  }
  .retailer-logo-group {
    gap: 14px;
    padding-right: 14px;
  }
  .retailer-logo-card {
    width: 210px;
    height: 82px;
    flex-basis: 210px;
    padding: 14px 18px;
    border-radius: 20px;
  }
  .retailer-logo-card img {
    max-width: 170px;
    max-height: 50px;
  }
  .retailer-track {
    animation-duration: 29s;
  }
}

/* ---------- Homepage A–Z letters unified green ---------- */
.home-az-letter {
  background: linear-gradient(145deg, #6fa35f, #4f7f45);
  color: #ffffff;
  transform: rotate(-2deg);
}
.home-az-row:nth-child(5n+2) .home-az-letter,
.home-az-row:nth-child(5n+3) .home-az-letter,
.home-az-row:nth-child(5n+4) .home-az-letter,
.home-az-row:nth-child(5n+5) .home-az-letter {
  background: linear-gradient(145deg, #6fa35f, #4f7f45);
  color: #ffffff;
}

/* =====================================================================
   Elegant A–Z refinement + single-copy global retailer logo ribbon
   ===================================================================== */

/* One-line A–Z title on desktop. */
@media (min-width: 901px) {
  .home-az-head {
    max-width: 1260px;
  }

  .home-az-head h2 {
    max-width: none;
    white-space: nowrap;
    font-size: clamp(2.7rem, 4.4vw, 4.65rem);
    letter-spacing: -.035em;
  }
}

/* More editorial / educational introduction. */
.home-az-head > p:not(.eyebrow) {
  max-width: 1000px;
  font-size: clamp(1.02rem, 1.42vw, 1.2rem);
  line-height: 1.78;
}

.home-az-big-idea {
  gap: 10px 20px;
  padding: 16px 25px;
}

.home-az-big-idea strong,
.home-az-big-idea span {
  font-size: .98rem;
}

/* Every A–Z circle uses exactly the green family from the navbar stripe. */
.home-az-letter,
.home-az-row:nth-child(5n+2) .home-az-letter,
.home-az-row:nth-child(5n+3) .home-az-letter,
.home-az-row:nth-child(5n+4) .home-az-letter,
.home-az-row:nth-child(5n+5) .home-az-letter {
  background: linear-gradient(180deg, #5f9255 0%, #527f49 100%);
  color: #fff;
}

/* Keep the quirky rotations, but not the color changes. */
.home-az-row:nth-child(5n+1) .home-az-letter { transform: rotate(-2deg); }
.home-az-row:nth-child(5n+2) .home-az-letter { transform: rotate(2deg); }
.home-az-row:nth-child(5n+3) .home-az-letter { transform: rotate(-3deg); }
.home-az-row:nth-child(5n+4) .home-az-letter { transform: rotate(3deg); }
.home-az-row:nth-child(5n+5) .home-az-letter { transform: rotate(-1deg); }

/* Retailer ribbon: one real logo per retailer, no visual duplication. */
.retailer-ticker {
  background:
    linear-gradient(90deg, #f7f2d3 0%, #edf5e7 28%, #e7f2df 72%, #f8f2d2 100%);
}

.retailer-marquee {
  overflow: hidden;
  padding: 4px 0 8px;
  mask-image: linear-gradient(to right, transparent, #000 3%, #000 97%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 3%, #000 97%, transparent);
}

.retailer-track {
  display: flex;
  align-items: center;
  width: max-content;
  gap: 22px;
  padding: 10px 36px;
  animation: retailer-sweep 42s ease-in-out infinite alternate;
}

.retailer-logo-card {
  width: 255px;
  height: 102px;
  flex: 0 0 255px;
  display: grid;
  place-items: center;
  padding: 15px 24px;
  border-radius: 24px;
  border: 1px solid rgba(69,111,64,.13);
  background: #fff;
  box-shadow: 0 10px 26px rgba(58,88,55,.08);
  overflow: hidden;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

.retailer-logo-card:hover,
.retailer-logo-card:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 16px 34px rgba(58,88,55,.15);
}

.retailer-logo-card img {
  width: auto;
  height: auto;
  max-width: 210px;
  max-height: 66px;
  object-fit: contain;
}

.retailer-logo-card.square-logo img {
  max-width: 78px;
  max-height: 78px;
}

.retailer-logo-card.amazon-logo img {
  max-width: 190px;
  max-height: 74px;
}

@keyframes retailer-sweep {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-100% + 100vw - 76px)); }
}

.retailer-marquee:hover .retailer-track {
  animation-play-state: paused;
}

@media (prefers-reduced-motion: reduce) {
  .retailer-track {
    animation: none;
    width: auto;
    flex-wrap: wrap;
    justify-content: center;
  }
  .retailer-marquee {
    mask-image: none;
    -webkit-mask-image: none;
  }
}

@media (max-width: 900px) {
  .home-az-head h2 {
    white-space: normal;
  }

  .retailer-track {
    gap: 14px;
    padding-inline: 20px;
    animation-duration: 36s;
  }

  .retailer-logo-card {
    width: 210px;
    height: 86px;
    flex-basis: 210px;
    padding: 12px 18px;
    border-radius: 20px;
  }

  .retailer-logo-card img {
    max-width: 172px;
    max-height: 54px;
  }

  .retailer-logo-card.square-logo img {
    max-width: 62px;
    max-height: 62px;
  }
}

@media (max-width: 520px) {
  .retailer-logo-card {
    width: 185px;
    height: 80px;
    flex-basis: 185px;
  }

  .retailer-logo-card img {
    max-width: 150px;
    max-height: 48px;
  }

  .retailer-track {
    animation-duration: 32s;
  }
}

/* ---------- Library of Congress + retailer visibility update ---------- */
.catalog-recognition.section-shell {
  width: min(1460px, calc(100% - 48px));
  max-width: none;
  margin-top: clamp(60px, 7vw, 96px);
  margin-bottom: 0;
  padding: clamp(34px, 4vw, 54px);
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(520px, 1.15fr);
  gap: clamp(32px, 5vw, 72px);
  align-items: center;
  border: 1px solid rgba(95,146,85,.13);
  border-radius: 30px;
  background: linear-gradient(135deg, #f7f2ce, #e9f4e2 55%, #f3f8ef);
  box-shadow: 0 16px 38px rgba(58,88,55,.07);
}

.catalog-recognition-copy h2 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2rem, 3.5vw, 3.35rem);
  font-weight: 500;
  line-height: 1.05;
}

.catalog-recognition-copy p:last-child {
  margin: 14px 0 0;
  max-width: 650px;
  color: var(--muted);
  line-height: 1.68;
}

.catalog-recognition-items {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 12px;
}

.catalog-recognition-items a {
  min-height: 105px;
  padding: 18px 20px;
  display: grid;
  align-content: center;
  gap: 6px;
  border-radius: 20px;
  border: 1px solid rgba(95,146,85,.13);
  background: rgba(255,255,255,.88);
  text-decoration: none;
  box-shadow: 0 9px 22px rgba(58,88,55,.05);
  transition: transform .2s ease, box-shadow .2s ease;
}

.catalog-recognition-items a:hover,
.catalog-recognition-items a:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 14px 28px rgba(58,88,55,.11);
}

.catalog-recognition-items strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.1rem;
  color: var(--green-deep);
}

.catalog-recognition-items span {
  color: var(--muted);
  font-size: .84rem;
  line-height: 1.4;
}

/* Give every moving retailer card enough room to be readable. */
.retailer-marquee {
  padding-block: 10px 14px;
}

.retailer-track {
  gap: 24px;
  padding: 12px 42px;
  animation-duration: 58s;
}

.retailer-logo-card {
  width: 292px;
  height: 142px;
  flex: 0 0 292px;
  padding: 16px 22px 14px;
  grid-template-rows: 72px auto auto;
  align-items: center;
  justify-items: center;
  gap: 4px;
  border-radius: 26px;
}

.retailer-logo-media {
  width: 100%;
  height: 72px;
  display: grid;
  place-items: center;
}

.retailer-logo-media img {
  width: auto;
  height: auto;
  max-width: 230px;
  max-height: 70px;
  object-fit: contain;
}

.retailer-wordmark {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
  color: var(--green-deep);
}

.retailer-card-name {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1rem;
  font-weight: 700;
  color: var(--ink);
  line-height: 1.15;
  text-align: center;
}

.retailer-card-country {
  color: var(--muted);
  font-size: .72rem;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.retailer-note {
  width: min(1460px, calc(100% - 48px));
  margin: 22px auto 0;
  padding: 18px 22px;
  display: grid;
  gap: 5px;
  border-radius: 18px;
  border: 1px solid rgba(95,146,85,.12);
  background: rgba(255,255,255,.72);
  color: var(--muted);
  font-size: .86rem;
  line-height: 1.55;
}

.retailer-note strong {
  color: var(--green-deep);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1rem;
}

@media (max-width: 980px) {
  .catalog-recognition.section-shell {
    width: min(100% - 32px, 920px);
    grid-template-columns: 1fr;
  }
}

@media (max-width: 700px) {
  .catalog-recognition.section-shell {
    width: min(100% - 24px, 920px);
    padding: 28px 22px;
  }

  .catalog-recognition-items {
    grid-template-columns: 1fr;
  }

  .retailer-logo-card {
    width: 232px;
    height: 126px;
    flex-basis: 232px;
    grid-template-rows: 60px auto auto;
  }

  .retailer-logo-media {
    height: 60px;
  }

  .retailer-logo-media img {
    max-width: 185px;
    max-height: 58px;
  }

  .retailer-wordmark {
    font-size: 1.5rem;
  }

  .retailer-note {
    width: min(100% - 24px, 920px);
  }
}

/* ---------- About page badge + content refresh ---------- */
.hero-media img {
  filter: drop-shadow(0 20px 34px rgba(58,88,55,.12));
}

.about-hero-enhanced .page-lead {
  max-width: 980px;
}

.about-intro-split {
  align-items: center;
}

.about-badge-art img,
.story-art.about-badge-art img,
.story-art img[src$="awa-kasia-mati-badge.png"] {
  width: min(100%, 520px);
  max-width: 520px;
  aspect-ratio: 1 / 1;
  object-fit: contain;
  background: transparent;
}

.about-intro-copy h2 {
  font-size: clamp(2.25rem, 4.5vw, 4rem);
  line-height: 1.04;
}

.about-story-grid {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 24px;
  margin-top: clamp(56px, 6vw, 84px);
}

.about-story-card {
  grid-column: span 4;
  padding: clamp(24px, 3vw, 34px);
  border-radius: 28px;
  border: 1px solid rgba(95,146,85,.12);
  background: rgba(255,255,255,.8);
  box-shadow: 0 12px 26px rgba(58,88,55,.05);
}
.about-story-card.about-story-wide { grid-column: span 8; }
.about-story-card h2 {
  margin: 0;
  font-size: clamp(1.8rem, 2.7vw, 2.8rem);
  line-height: 1.08;
}
.about-story-card p:last-child { margin-bottom: 0; }

.twin-section {
  margin-top: clamp(60px, 7vw, 94px);
}
.twin-heading { margin-bottom: 24px; }
.twin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
}
.twin-card {
  padding: clamp(28px, 3vw, 36px);
  border-radius: 30px;
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(242,248,238,.94));
  border: 1px solid rgba(95,146,85,.13);
  box-shadow: 0 14px 34px rgba(58,88,55,.06);
}
.twin-icon {
  width: 58px; height: 58px; border-radius: 50%;
  display:grid; place-items:center;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.8rem; font-weight: 700;
  color:#fff; background: linear-gradient(180deg, #5f9255, #527f49);
  margin-bottom: 18px;
}
.twin-card h3 {
  margin: 0 0 14px;
  font-size: 2rem;
}
.twin-card ul {
  margin: 16px 0; padding-left: 1.15rem; color: var(--muted);
}
.twin-card li + li { margin-top: 8px; }
.twin-closing {
  margin-top: 16px; font-weight: 700; color: var(--green-deep);
}

.mission-band {
  margin-top: clamp(60px, 7vw, 96px);
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr);
  gap: clamp(28px, 4vw, 48px);
  padding: clamp(28px, 4vw, 44px);
  border-radius: 30px;
  border: 1px solid rgba(95,146,85,.14);
  background: linear-gradient(135deg, #f7f2ce, #e9f4e2 56%, #f4f8ef);
  box-shadow: 0 16px 38px rgba(58,88,55,.07);
}
.mission-copy h2 {
  margin: 0; font-size: clamp(2rem, 3.3vw, 3.25rem); line-height: 1.08;
}
.mission-list {
  margin: 0; padding-left: 1.1rem; align-self: center;
}
.mission-list li {
  color: var(--muted); line-height: 1.6;
}
.mission-list li + li { margin-top: 10px; }

@media (max-width: 980px) {
  .about-story-card, .about-story-card.about-story-wide { grid-column: span 12; }
  .twin-grid, .mission-band { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .about-story-grid { gap: 18px; }
  .twin-card { padding: 24px; }
  .mission-band { padding: 24px; }
  .about-badge-art img,
  .story-art.about-badge-art img,
  .story-art img[src$="awa-kasia-mati-badge.png"] {
    max-width: 360px;
  }
}

/* ---------- Homepage About + More Than the ABCs ---------- */
.home-about-feature {
  margin-top: clamp(58px, 6vw, 86px);
}

.home-story-grid {
  margin-top: clamp(32px, 4vw, 54px);
  margin-bottom: clamp(10px, 2vw, 22px);
}

.home-about-feature .hero-actions {
  margin-top: 22px;
}

.home-about-feature .button-primary {
  min-width: max-content;
}

.home-story-grid .about-story-card {
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(242,248,238,.92));
}

.home-story-grid .about-story-card h2 {
  max-width: 16ch;
}

@media (max-width: 980px) {
  .home-about-feature {
    margin-top: 42px;
  }
  .home-story-grid {
    margin-top: 20px;
  }
}

/* ---------- Homepage More Than the ABCs: full width + 50/50 pair ---------- */
.home-more-abcs-section {
  width: min(1460px, calc(100% - 48px));
  max-width: none;
  margin: clamp(34px, 4vw, 58px) auto clamp(62px, 7vw, 96px);
}

.home-more-abcs-main {
  width: 100%;
  padding: clamp(34px, 4vw, 54px);
  border-radius: 30px;
  border: 1px solid rgba(95,146,85,.13);
  background:
    linear-gradient(135deg, rgba(248,243,207,.95), rgba(233,244,226,.96) 55%, rgba(246,250,242,.97));
  box-shadow: 0 16px 38px rgba(58,88,55,.07);
}

.home-more-abcs-main h2,
.home-more-abcs-card h2 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-weight: 500;
  line-height: 1.06;
}

.home-more-abcs-main h2 {
  max-width: none;
  font-size: clamp(2.35rem, 4vw, 4rem);
}

.home-more-abcs-main p:not(.eyebrow) {
  max-width: 1120px;
  color: var(--muted);
  font-size: 1.02rem;
  line-height: 1.72;
}

.home-more-abcs-main p:last-child {
  margin-bottom: 0;
}

.home-more-abcs-pair {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 24px;
  margin-top: 24px;
}

.home-more-abcs-card {
  min-height: 100%;
  padding: clamp(30px, 3.5vw, 42px);
  border-radius: 28px;
  border: 1px solid rgba(95,146,85,.12);
  background: linear-gradient(180deg, rgba(255,255,255,.95), rgba(243,249,239,.94));
  box-shadow: 0 12px 28px rgba(58,88,55,.055);
}

.home-more-abcs-card:nth-child(2) {
  background: linear-gradient(180deg, rgba(255,252,238,.96), rgba(246,250,241,.95));
}

.home-more-abcs-card h2 {
  font-size: clamp(1.9rem, 3vw, 3rem);
}

.home-more-abcs-card p:not(.eyebrow) {
  color: var(--muted);
  font-size: .98rem;
  line-height: 1.68;
}

.home-more-abcs-card p:last-child {
  margin-bottom: 0;
}

@media (max-width: 980px) {
  .home-more-abcs-section {
    width: min(100% - 32px, 920px);
  }
}

@media (max-width: 760px) {
  .home-more-abcs-section {
    width: min(100% - 24px, 920px);
  }

  .home-more-abcs-pair {
    grid-template-columns: 1fr;
    gap: 18px;
  }

  .home-more-abcs-main,
  .home-more-abcs-card {
    padding: 26px 22px;
  }
}

/* ---------- Homepage quote + transparent badge update ---------- */
.hero-art img,
.about-badge-art img,
.story-art img[src$="awa-kasia-mati-badge-transparent.png"] {
  background: transparent;
}

.hero-quote {
  margin: 24px 0 0 auto;
  max-width: 36rem;
  padding: 20px 0 0;
  border-top: 1px solid rgba(95,146,85,.18);
  text-align: right;
}

.hero-quote p {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.15rem, 1.5vw, 1.42rem);
  line-height: 1.75;
  font-style: italic;
  color: var(--green-deep);
}

.hero-quote footer {
  margin-top: 10px;
  font-size: .92rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--muted);
}

@media (max-width: 980px) {
  .hero-quote {
    margin-left: 0;
    margin-right: 0;
    max-width: none;
  }
}

/* ---------- Homepage hero quote: single line on desktop ---------- */
@media (min-width: 981px) {
  .hero-quote {
    max-width: none;
    width: 100%;
  }

  .hero-quote p {
    white-space: nowrap;
    font-size: clamp(1rem, 1.18vw, 1.24rem);
    letter-spacing: -.01em;
  }
}

/* On smaller screens the quote may wrap naturally to remain readable. */
@media (max-width: 980px) {
  .hero-quote p {
    white-space: normal;
  }
}

/* ---------- Bookstore logos enlarged for visibility ---------- */
.retailer-track {
  gap: 28px;
  padding: 14px 48px;
  animation-duration: 62s;
}

.retailer-logo-card {
  width: 320px;
  height: 168px;
  flex: 0 0 320px;
  padding: 16px 18px 14px;
  grid-template-rows: 92px auto auto;
  gap: 7px;
}

.retailer-logo-media {
  width: 100%;
  height: 92px;
  display: grid;
  place-items: center;
}

.retailer-logo-media img {
  width: auto;
  height: auto;
  max-width: 262px;
  max-height: 86px;
  object-fit: contain;
}

.retailer-wordmark {
  font-size: 2rem;
}

.retailer-card-name {
  font-size: 1.04rem;
}

/* Boost a few logos that visually read small because of source whitespace. */
.retailer-logo-media img[alt*="Barnes & Noble"],
.retailer-logo-media img[alt*="Powell"],
.retailer-logo-media img[alt*="Books-A-Million"],
.retailer-logo-media img[alt*="IndieBound"],
.retailer-logo-media img[alt*="ThriftBooks"],
.retailer-logo-media img[alt*="AbeBooks"],
.retailer-logo-media img[alt*="IBS.it"],
.retailer-logo-media img[alt*="La Feltrinelli"],
.retailer-logo-media img[alt*="Mighty Ape"] {
  max-width: 284px;
  max-height: 92px;
  transform: scale(1.14);
  transform-origin: center center;
}

.retailer-logo-media img[alt*="Amazon"] {
  max-width: 268px;
  max-height: 94px;
}

@media (max-width: 900px) {
  .retailer-track {
    gap: 18px;
    padding-inline: 24px;
    animation-duration: 48s;
  }

  .retailer-logo-card {
    width: 248px;
    height: 142px;
    flex-basis: 248px;
    grid-template-rows: 74px auto auto;
  }

  .retailer-logo-media {
    height: 74px;
  }

  .retailer-logo-media img {
    max-width: 205px;
    max-height: 68px;
  }

  .retailer-logo-media img[alt*="Barnes & Noble"],
  .retailer-logo-media img[alt*="Powell"],
  .retailer-logo-media img[alt*="Books-A-Million"],
  .retailer-logo-media img[alt*="IndieBound"],
  .retailer-logo-media img[alt*="ThriftBooks"],
  .retailer-logo-media img[alt*="AbeBooks"],
  .retailer-logo-media img[alt*="IBS.it"],
  .retailer-logo-media img[alt*="La Feltrinelli"],
  .retailer-logo-media img[alt*="Mighty Ape"] {
    max-width: 222px;
    max-height: 72px;
  }

  .retailer-wordmark {
    font-size: 1.72rem;
  }
}

@media (max-width: 520px) {
  .retailer-logo-card {
    width: 212px;
    height: 132px;
    flex-basis: 212px;
    grid-template-rows: 66px auto auto;
  }

  .retailer-logo-media {
    height: 66px;
  }

  .retailer-logo-media img {
    max-width: 176px;
    max-height: 60px;
  }

  .retailer-wordmark {
    font-size: 1.5rem;
  }

  .retailer-card-name {
    font-size: .95rem;
  }
}

/* ---------- Newly confirmed international retailer wordmarks ---------- */
.retailer-logo-card.retailer-text-logo .retailer-wordmark {
  font-size: clamp(1.55rem, 1.8vw, 2.15rem);
  text-align: center;
  line-height: 1.05;
  color: var(--green-deep);
}

.retailer-logo-card.retailer-text-logo .retailer-logo-media {
  padding-inline: 8px;
}

@media (max-width: 900px) {
  .retailer-logo-card.retailer-text-logo .retailer-wordmark {
    font-size: 1.55rem;
  }
}

/* ---------- Retailer logo visual balancing ---------- */
/* Keep every card the same size; normalize the apparent logo size individually. */
.retailer-logo-media img {
  transform: none !important;
  max-width: 230px;
  max-height: 78px;
}

/* Logos that contain a lot of empty whitespace need to be larger. */
.retailer-logo-media img[alt="Barnes & Noble logo"] {
  max-width: 278px;
  max-height: 86px;
  transform: scale(1.34) !important;
}

.retailer-logo-media img[alt="ThriftBooks logo"] {
  max-width: 260px;
  max-height: 82px;
  transform: scale(1.42) !important;
}

.retailer-logo-media img[alt="AbeBooks logo"] {
  max-width: 250px;
  max-height: 80px;
  transform: scale(1.30) !important;
}

/* These source logos are naturally bold/tall, so reduce them slightly. */
.retailer-logo-media img[alt="Powell’s Books logo"] {
  max-width: 182px;
  max-height: 66px;
  transform: scale(.90) !important;
}

.retailer-logo-media img[alt="Books-A-Million logo"] {
  max-width: 205px;
  max-height: 66px;
  transform: scale(.88) !important;
}

.retailer-logo-media img[alt="IndieBound logo"] {
  max-width: 150px;
  max-height: 72px;
  transform: scale(.88) !important;
}

/* Medium-sized logos: keep comfortably visible without dominating. */
.retailer-logo-media img[alt="Amazon logo"] {
  max-width: 225px;
  max-height: 78px;
}

.retailer-logo-media img[alt="IBS.it logo"] {
  max-width: 175px;
  max-height: 74px;
}

.retailer-logo-media img[alt="La Feltrinelli logo"] {
  max-width: 205px;
  max-height: 74px;
}

.retailer-logo-media img[alt="Mighty Ape logo"] {
  max-width: 215px;
  max-height: 76px;
}

/* Text-only retailer marks should match the visual weight of the image logos. */
.retailer-logo-card.retailer-text-logo .retailer-wordmark {
  font-size: 1.72rem;
  line-height: 1.05;
  font-weight: 700;
}

@media (max-width: 900px) {
  .retailer-logo-media img {
    max-width: 188px;
    max-height: 64px;
  }

  .retailer-logo-media img[alt="Barnes & Noble logo"] {
    max-width: 218px;
    max-height: 68px;
    transform: scale(1.25) !important;
  }

  .retailer-logo-media img[alt="ThriftBooks logo"] {
    max-width: 205px;
    max-height: 66px;
    transform: scale(1.30) !important;
  }

  .retailer-logo-media img[alt="AbeBooks logo"] {
    max-width: 198px;
    max-height: 64px;
    transform: scale(1.20) !important;
  }

  .retailer-logo-media img[alt="Powell’s Books logo"] {
    max-width: 155px;
    max-height: 55px;
  }

  .retailer-logo-media img[alt="Books-A-Million logo"] {
    max-width: 172px;
    max-height: 55px;
  }

  .retailer-logo-media img[alt="IndieBound logo"] {
    max-width: 126px;
    max-height: 59px;
  }

  .retailer-logo-card.retailer-text-logo .retailer-wordmark {
    font-size: 1.45rem;
  }
}

/* ---------- Local La Feltrinelli logo fix ---------- */
.retailer-logo-media img[alt="La Feltrinelli logo"] {
  width: auto;
  height: auto;
  max-width: 225px;
  max-height: 76px;
  transform: none !important;
  object-fit: contain;
}

@media (max-width: 900px) {
  .retailer-logo-media img[alt="La Feltrinelli logo"] {
    max-width: 185px;
    max-height: 64px;
  }
}

/* ---------- Smaller train banner across the site ---------- */
.train-frame img {
  height: clamp(165px, 21vw, 295px) !important;
  object-fit: cover;
  object-position: center;
}

.train-frame {
  padding-block: 6px 0 !important;
}

@media (max-width: 980px) {
  .train-frame img {
    height: clamp(150px, 32vw, 250px) !important;
  }
}

@media (max-width: 700px) {
  .train-frame img {
    height: clamp(128px, 34vw, 205px) !important;
  }
}

/* ---------- Gardening illustration for "Where learning becomes an adventure." ---------- */
.about-intro-split {
  grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr);
  align-items: center;
}

.about-intro-split .story-art {
  order: -1;
  min-height: 460px;
  background: linear-gradient(145deg, #f7f1c9, #ecf6e5 50%, #e2f0dc);
}

.about-intro-split .story-art img {
  width: min(430px, 88%);
  max-width: 100%;
  height: auto;
}

.about-intro-split .story-art-note {
  left: 24px;
  bottom: 24px;
}

@media (max-width: 980px) {
  .about-intro-split {
    grid-template-columns: 1fr;
  }

  .about-intro-split .story-art {
    order: -1;
    min-height: 360px;
  }

  .about-intro-split .story-art img {
    width: min(340px, 84%);
  }
}

/* ---------- Centered "Where learning becomes an adventure" + gallery-ready reel ---------- */
.home-learning-intro {
  width: min(1180px, calc(100% - 48px));
  max-width: none;
  margin: clamp(58px, 6vw, 88px) auto clamp(36px, 4vw, 56px);
  padding: clamp(34px, 4vw, 54px) clamp(28px, 5vw, 74px);
  border-radius: 32px;
  border: 1px solid rgba(95,146,85,.12);
  background: linear-gradient(135deg, rgba(248,243,207,.82), rgba(234,245,227,.88) 55%, rgba(247,250,244,.92));
  box-shadow: 0 14px 36px rgba(58,88,55,.06);
  text-align: center;
}

.home-learning-copy {
  max-width: 930px;
  margin-inline: auto;
}

.home-learning-copy h2 {
  margin: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.5rem, 4.7vw, 4.6rem);
  font-weight: 500;
  line-height: 1.04;
}

.home-learning-copy p:not(.eyebrow) {
  max-width: 900px;
  margin-left: auto;
  margin-right: auto;
  color: var(--muted);
  font-size: clamp(1rem, 1.3vw, 1.12rem);
  line-height: 1.72;
}

.home-learning-action {
  display: flex;
  justify-content: center;
  margin-top: 24px;
}

/*
  Gallery container is intentionally hidden while empty.
  When images are supplied, adding .is-populated will display the moving reel.
*/
.moving-image-reel {
  display: none;
  position: relative;
  width: min(1460px, calc(100% - 48px));
  margin: 30px auto 0;
  overflow: hidden;
}

.moving-image-reel.is-populated {
  display: block;
}

.moving-image-reel-track {
  display: flex;
  align-items: stretch;
  gap: 20px;
  width: max-content;
  padding: 10px 24px 18px;
  animation: awa-image-reel 42s linear infinite;
}

.moving-image-reel:hover .moving-image-reel-track {
  animation-play-state: paused;
}

.moving-image-reel-item {
  width: 310px;
  flex: 0 0 310px;
  overflow: hidden;
  border-radius: 26px;
  background: #fff;
  border: 1px solid rgba(95,146,85,.12);
  box-shadow: 0 12px 28px rgba(58,88,55,.07);
}

.moving-image-reel-item img {
  display: block;
  width: 100%;
  height: 230px;
  object-fit: cover;
}

@keyframes awa-image-reel {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

@media (prefers-reduced-motion: reduce) {
  .moving-image-reel-track {
    animation: none;
    flex-wrap: wrap;
    width: auto;
    justify-content: center;
  }
}

@media (max-width: 760px) {
  .home-learning-intro {
    width: min(100% - 24px, 920px);
    padding: 28px 22px;
  }

  .moving-image-reel {
    width: min(100% - 24px, 920px);
  }

  .moving-image-reel-item {
    width: 240px;
    flex-basis: 240px;
  }

  .moving-image-reel-item img {
    height: 185px;
  }
}

/* ---------- Populated 12-image moving adventure gallery ---------- */
.moving-image-reel {
  display: none;
  position: relative;
  width: min(1460px, calc(100% - 48px));
  margin: 34px auto 0;
  overflow: hidden;
  mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
  -webkit-mask-image: linear-gradient(to right, transparent, #000 5%, #000 95%, transparent);
}

.moving-image-reel.is-populated {
  display: block;
}

.moving-image-reel-track {
  display: flex;
  align-items: stretch;
  gap: 20px;
  width: max-content;
  padding: 10px 24px 18px;
  animation: awa-image-reel 58s linear infinite;
}

.moving-image-reel:hover .moving-image-reel-track {
  animation-play-state: paused;
}

.moving-image-reel-item {
  width: 310px;
  flex: 0 0 310px;
  overflow: hidden;
  border-radius: 26px;
  background: #fff;
  border: 1px solid rgba(95,146,85,.12);
  box-shadow: 0 12px 28px rgba(58,88,55,.07);
}

.moving-image-reel-item img {
  display: block;
  width: 100%;
  height: 225px;
  object-fit: cover;
}

@keyframes awa-image-reel {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - 10px)); }
}

@media (prefers-reduced-motion: reduce) {
  .moving-image-reel-track {
    animation: none;
    flex-wrap: wrap;
    width: auto;
    justify-content: center;
  }

  .moving-image-reel {
    mask-image: none;
    -webkit-mask-image: none;
  }
}

@media (max-width: 760px) {
  .moving-image-reel {
    width: min(100% - 24px, 920px);
  }

  .moving-image-reel-track {
    gap: 16px;
    padding-inline: 14px;
    animation-duration: 44s;
  }

  .moving-image-reel-item {
    width: 240px;
    flex-basis: 240px;
  }

  .moving-image-reel-item img {
    height: 178px;
  }
}

/* ---------- Moving gallery belongs only inside the homepage learning box ---------- */
.home-learning-intro .moving-image-reel {
  width: 100%;
  margin-top: 32px;
  margin-bottom: -6px;
}

.about-learning-intro .moving-image-reel {
  display: none !important;
}

/* ---------- Match homepage learning box to hero width + one-line heading ---------- */
.home-learning-intro {
  width: min(1460px, calc(100% - 48px));
}

.home-learning-copy h2 {
  white-space: nowrap;
  font-size: clamp(2.2rem, 4.1vw, 4.15rem);
}

@media (max-width: 980px) {
  .home-learning-copy h2 {
    white-space: normal;
  }
}

@media (max-width: 700px) {
  .home-learning-intro {
    width: min(100% - 24px, 920px);
  }
}

/* ---------- Fix centering of the homepage learning box ---------- */
.home-learning-intro.section-shell {
  box-sizing: border-box;
  width: min(1460px, calc(100% - 48px));
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

.home-learning-intro .home-learning-copy {
  box-sizing: border-box;
  width: 100%;
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  padding-left: 0;
  padding-right: 0;
  text-align: center;
}

.home-learning-intro .home-learning-copy > * {
  margin-left: auto;
  margin-right: auto;
}

.home-learning-intro .moving-image-reel {
  width: 100%;
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

@media (max-width: 700px) {
  .home-learning-intro.section-shell {
    width: min(100% - 24px, 920px);
  }

  .home-learning-intro .home-learning-copy {
    max-width: 100%;
  }
}

/* ---------- Original train preserved, wider scene ---------- */
.train-frame img {
  width: 100%;
  object-fit: cover;
  object-position: center center;
}

/* ---------- Adventure Journal navigation ---------- */
.nav-list {
  width: min(1460px, calc(100% - 30px));
}

.nav-list a {
  padding-inline: 13px;
}

@media (max-width: 1120px) and (min-width: 981px) {
  .nav-list a {
    padding-inline: 10px;
    font-size: .92rem;
  }
}

/* ---------- Homepage: Latest from the Adventure Journal ---------- */
.latest-journal-section {
  width: min(1460px, calc(100% - 48px));
  max-width: none;
  margin-top: clamp(54px, 6vw, 86px);
  margin-bottom: clamp(58px, 6vw, 90px);
}

.latest-journal-heading {
  max-width: 900px;
  margin-inline: auto;
  text-align: center;
}

.latest-journal-heading h2 {
  margin-top: 8px;
  margin-bottom: 14px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.2rem, 4vw, 3.9rem);
  line-height: 1.05;
  color: var(--green-deep);
}

.latest-journal-heading > p:not(.eyebrow) {
  max-width: 760px;
  margin-inline: auto;
  color: var(--muted);
  line-height: 1.7;
}

.latest-journal-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 24px;
  margin-top: 34px;
}

.latest-journal-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(95,146,85,.14);
  border-radius: 25px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(58,88,55,.07);
}

.latest-journal-image {
  display: block;
  overflow: hidden;
  background: linear-gradient(145deg,#f8efb8,#e3f1d9);
  aspect-ratio: 16 / 10;
}

.latest-journal-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}

.latest-journal-card:hover .latest-journal-image img {
  transform: scale(1.025);
}

.latest-journal-image-placeholder {
  display: grid;
  place-items: center;
  padding: 25px;
  color: var(--green-deep);
  font-family: Georgia, serif;
  font-size: 1.35rem;
  text-align: center;
}

.latest-journal-card-body {
  padding: 21px 22px 24px;
}

.latest-journal-type {
  margin: 0 0 8px;
  color: #5f9255;
  font-size: .73rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.latest-journal-card h3 {
  margin: 0 0 10px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.35rem, 2vw, 1.75rem);
  line-height: 1.15;
}

.latest-journal-card h3 a,
.latest-journal-read {
  color: var(--green-deep);
  text-decoration: none;
}

.latest-journal-card-body > p:not(.latest-journal-type) {
  margin: 0 0 16px;
  color: var(--muted);
  line-height: 1.65;
}

.latest-journal-read {
  font-weight: 800;
}

.latest-journal-action {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}

.latest-journal-empty,
.latest-journal-loading {
  grid-column: 1 / -1;
  padding: 34px;
  border-radius: 22px;
  background: linear-gradient(135deg,#faf7df,#edf6e8);
  text-align: center;
}

.latest-journal-empty h3 {
  margin: 0 0 8px;
  font-family: Georgia, serif;
  color: var(--green-deep);
}

@media (max-width: 980px) {
  .latest-journal-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 680px) {
  .latest-journal-section {
    width: min(100% - 24px, 920px);
  }

  .latest-journal-grid {
    grid-template-columns: 1fr;
  }
}

/* ---------- Keep desktop navigation on one line ---------- */
@media (min-width: 981px) {
  .main-nav .nav-list {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 6px;
    width: min(1500px, calc(100% - 24px));
  }

  .main-nav .nav-list li {
    flex: 0 0 auto;
  }

  .main-nav .nav-list a {
    white-space: nowrap;
    padding: 9px 11px;
    font-size: clamp(.82rem, .95vw, .98rem);
  }
}

@media (min-width: 981px) and (max-width: 1180px) {
  .main-nav .nav-list {
    gap: 4px;
  }

  .main-nav .nav-list a {
    padding-inline: 8px;
    font-size: .84rem;
  }
}

/* ---------- Adventure Journal image protection / casual-save deterrence ---------- */
.journal-card .journal-image-protected,
.post-feature-wrap,
.post-gallery-item {
  position: relative;
  overflow: hidden;
}

.journal-card .journal-image-protected::after,
.post-feature-wrap::after,
.post-gallery-item::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: transparent;
}

.journal-card img,
.post-feature,
.post-gallery img,
.latest-journal-card img {
  -webkit-user-drag: none;
  user-drag: none;
  -webkit-touch-callout: none;
  user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
}

.post-feature-wrap .post-feature {
  margin: 0;
}

.post-feature-wrap {
  margin: 18px 0 28px;
  border-radius: 26px;
}

.post-gallery-item {
  border-radius: 18px;
}

.post-gallery-item img {
  display: block;
  width: 100%;
  height: 280px;
  object-fit: cover;
}

@media (max-width: 650px) {
  .post-gallery-item img {
    height: auto;
  }
}

/* ---------- Navigation width matched to hero/feature box ---------- */
.main-nav {
  width: min(1460px, calc(100% - 48px));
  max-width: none;
  margin-left: auto;
  margin-right: auto;
}

.main-nav .nav-list {
  width: 100%;
  max-width: none;
}

@media (max-width: 700px) {
  .main-nav {
    width: min(100% - 24px, 920px);
  }
}

/* ---------- Dynamic Adventure Activity Bank ---------- */
.activity-bank-section {
  width: min(1460px, calc(100% - 48px));
  max-width: none;
  margin-top: clamp(52px, 6vw, 88px);
  margin-bottom: clamp(56px, 6vw, 88px);
}

.activity-bank-heading {
  max-width: 900px;
  margin-inline: auto;
  text-align: center;
}

.activity-bank-heading h2 {
  margin: 7px 0 14px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.35rem, 4.3vw, 4rem);
  line-height: 1.05;
  color: var(--green-deep);
}

.activity-bank-heading > p:not(.eyebrow) {
  max-width: 780px;
  margin-inline: auto;
  color: var(--muted);
  line-height: 1.7;
}

.activity-bank-tabs {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  padding: 10px 4px 14px;
  margin-top: 30px;
  scrollbar-width: thin;
}

.activity-bank-tab {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 44px;
  padding: 10px 15px;
  border: 1px solid rgba(95,146,85,.25);
  border-radius: 999px;
  background: #fff;
  color: var(--green-deep);
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

.activity-bank-tab span {
  display: inline-grid;
  place-items: center;
  min-width: 24px;
  height: 24px;
  padding-inline: 6px;
  border-radius: 999px;
  background: #eef6e8;
  font-size: .78rem;
}

.activity-bank-tab.is-active {
  background: #5f9255;
  color: #fff;
  border-color: #5f9255;
}

.activity-bank-tab.is-active span {
  background: rgba(255,255,255,.18);
}

.activity-bank-category {
  display: none;
  margin-top: 18px;
}

.activity-bank-category.is-active {
  display: block;
}

.activity-bank-category-head {
  margin-bottom: 22px;
}

.activity-bank-category-head h3 {
  margin: 4px 0 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2rem, 3.2vw, 3rem);
  color: var(--green-deep);
}

.activity-bank-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 24px;
}

.activity-bank-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(95,146,85,.14);
  border-radius: 25px;
  background: #fff;
  box-shadow: 0 14px 34px rgba(58,88,55,.07);
}

.activity-bank-image {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 10;
  background: linear-gradient(145deg,#f8efb8,#e3f1d9);
}

.activity-bank-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
}

.activity-bank-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}

.activity-bank-placeholder {
  display: grid;
  place-items: center;
  padding: 30px;
  color: var(--green-deep);
  font-family: Georgia, serif;
  font-size: 1.3rem;
  text-align: center;
}

.activity-bank-card-body {
  padding: 20px 21px 24px;
}

.activity-bank-group {
  margin: 0 0 7px;
  color: #5f9255;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.activity-bank-card h4 {
  margin: 0 0 9px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.55rem;
  line-height: 1.15;
}

.activity-bank-card h4 a,
.activity-bank-read {
  color: var(--green-deep);
  text-decoration: none;
}

.activity-bank-type {
  display: inline-block;
  margin-bottom: 8px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #edf6e8;
  color: #416d3e;
  font-size: .8rem;
  font-weight: 750;
}

.activity-bank-source {
  margin-bottom: 10px;
  color: #737b72;
  font-size: .88rem;
  font-style: italic;
}

.activity-bank-card-body > p:not(.activity-bank-group) {
  color: var(--muted);
  line-height: 1.62;
}

.activity-bank-read {
  font-weight: 800;
}

.activity-bank-empty {
  margin-top: 30px;
  padding: 38px;
  border-radius: 24px;
  background: linear-gradient(135deg,#faf7df,#edf6e8);
  text-align: center;
}

.activity-bank-empty h3 {
  margin: 0 0 8px;
  font-family: Georgia, serif;
  color: var(--green-deep);
}

/* ---------- Learning item detail ---------- */
.learning-item-shell {
  width: min(1050px, calc(100% - 40px));
  margin: 55px auto 90px;
}

.learning-item-header {
  max-width: 900px;
  margin-inline: auto;
  text-align: center;
}

.learning-item-header h1 {
  margin: 7px 0 16px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.5rem, 5vw, 4.8rem);
  line-height: 1.04;
  color: var(--green-deep);
}

.learning-item-tags {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 22px;
}

.learning-item-tags span {
  padding: 7px 11px;
  border-radius: 999px;
  background: #eef6e8;
  color: #416d3e;
  font-size: .85rem;
}

.learning-item-lead {
  max-width: 820px;
  margin-inline: auto;
  color: var(--muted);
  font-size: 1.08rem;
  line-height: 1.75;
}

.learning-sample-carousel {
  position: relative;
  overflow: hidden;
  margin-top: 34px;
  border-radius: 28px;
  background: #f5f7f1;
  box-shadow: 0 15px 38px rgba(58,88,55,.09);
}

.learning-sample-track {
  position: relative;
  min-height: 500px;
}

.learning-sample-slide {
  display: none;
  margin: 0;
}

.learning-sample-slide.is-active {
  display: block;
}

.learning-sample-slide img {
  display: block;
  width: 100%;
  height: 680px;
  object-fit: contain;
  background: #f7f8f4;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}

.learning-sample-carousel::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

.learning-sample-nav,
.learning-sample-dots {
  z-index: 4;
}

.learning-sample-nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 48px;
  height: 48px;
  border: 0;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  color: var(--green-deep);
  font-size: 2rem;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(0,0,0,.13);
}

.learning-sample-nav.prev { left: 16px; }
.learning-sample-nav.next { right: 16px; }

.learning-sample-dots {
  position: absolute;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  display: flex;
  gap: 8px;
  padding: 9px 12px;
  border-radius: 999px;
  background: rgba(255,255,255,.85);
}

.learning-sample-dot {
  width: 12px;
  height: 12px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(49,94,52,.28);
  cursor: pointer;
}

.learning-sample-dot.is-active {
  background: #315e34;
}

.learning-item-definition {
  margin: 32px auto 0;
  max-width: 850px;
  padding: 27px 30px;
  border-radius: 23px;
  background: linear-gradient(135deg,#fbf7df,#edf6e8);
}

.learning-item-definition h2 {
  margin: 4px 0 9px;
  font-family: Georgia, serif;
  color: var(--green-deep);
}

.learning-item-definition p:last-child {
  margin-bottom: 0;
  color: var(--muted);
  line-height: 1.7;
}

.learning-item-back {
  margin-top: 34px;
  text-align: center;
}

@media (max-width: 980px) {
  .activity-bank-grid {
    grid-template-columns: repeat(2,minmax(0,1fr));
  }

  .learning-sample-slide img {
    height: 560px;
  }
}

@media (max-width: 680px) {
  .activity-bank-section {
    width: min(100% - 24px, 920px);
  }

  .activity-bank-grid {
    grid-template-columns: 1fr;
  }

  .learning-item-shell {
    width: min(100% - 24px, 920px);
  }

  .learning-sample-track {
    min-height: 300px;
  }

  .learning-sample-slide img {
    height: 390px;
  }

  .learning-sample-nav {
    width: 40px;
    height: 40px;
  }

  .learning-sample-nav.prev { left: 9px; }
  .learning-sample-nav.next { right: 9px; }
}

/* ---------- Full-width green navigation band ---------- */
.main-nav {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background: #5f9255;
  box-shadow: 0 10px 24px rgba(63, 97, 56, .18);
}

.main-nav .nav-list {
  width: min(1460px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0;
  padding-right: 0;
}

/* Keep all desktop items on one line within the hero-width container */
@media (min-width: 981px) {
  .main-nav .nav-list {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
    align-items: center;
    gap: 6px;
  }

  .main-nav .nav-list li {
    flex: 0 0 auto;
  }

  .main-nav .nav-list a {
    white-space: nowrap;
  }
}

/* Mobile: full green band remains, menu content gets comfortable side spacing */
@media (max-width: 980px) {
  .main-nav {
    padding-left: 12px;
    padding-right: 12px;
  }

  .main-nav .nav-list {
    width: 100% !important;
  }
}

/* ---------- FINAL NAV WIDTH FIX: match homepage hero panel ---------- */
/*
   The homepage hero uses:
   .section-shell { width: min(1180px, calc(100% - 40px)); }
   Match the navigation content to that exact width.
*/
.main-nav {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  background: #5f9255 !important;
}

@media (min-width: 981px) {
  .main-nav .nav-list {
    width: min(1500px, calc(100% - 40px)) !important;
    max-width: 1500px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 7px 0 !important;

    display: flex !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 7px !important;
  }

  .main-nav .nav-list li {
    flex: 1 1 0 !important;
    min-width: 0 !important;
    display: flex !important;
  }

  /* Give the two long labels a little extra room. */
  .main-nav .nav-list li:nth-child(3),
  .main-nav .nav-list li:nth-child(5) {
    flex-grow: 1.28 !important;
  }

  .main-nav .nav-list a {
    width: 100% !important;
    min-height: 42px;
    padding: 9px 7px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    white-space: nowrap !important;
    text-align: center !important;
    font-size: clamp(.78rem, .82vw, .9rem) !important;
  }
}

@media (max-width: 980px) {
  .main-nav {
    padding-left: 12px;
    padding-right: 12px;
  }

  .main-nav .nav-list {
    width: 100% !important;
    max-width: none !important;
  }
}

/* ---------- Homepage Learning Corner clickable gallery ---------- */
.home-learning-gallery-section {
  width: min(1180px, calc(100% - 40px));
  max-width: 1500px;
  margin: clamp(58px, 6vw, 92px) auto;
}

.home-learning-gallery-section[hidden] {
  display: none !important;
}

.home-learning-gallery-heading {
  max-width: 850px;
  margin: 0 auto;
  text-align: center;
}

.home-learning-gallery-heading h2 {
  margin: 7px 0 14px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.35rem, 4.3vw, 4rem);
  line-height: 1.05;
  color: var(--green-deep);
}

.home-learning-gallery-heading > p:not(.eyebrow) {
  max-width: 760px;
  margin-inline: auto;
  color: var(--muted);
  line-height: 1.7;
}

.home-learning-category-strip {
  display: flex;
  justify-content: center;
  gap: 9px;
  overflow-x: auto;
  margin-top: 27px;
  padding: 4px 2px 12px;
}

.home-learning-category-button {
  flex: 0 0 auto;
  min-height: 42px;
  padding: 9px 14px;
  border: 1px solid rgba(95,146,85,.25);
  border-radius: 999px;
  background: #fff;
  color: var(--green-deep);
  font: inherit;
  font-size: .86rem;
  font-weight: 750;
  cursor: pointer;
}

.home-learning-category-button.is-active {
  border-color: #5f9255;
  background: #5f9255;
  color: #fff;
}

.home-learning-gallery-shell {
  position: relative;
  margin-top: 24px;
  padding: 0 54px;
}

.home-learning-gallery-viewport {
  overflow: hidden;
}

.home-learning-gallery-track {
  display: flex;
  gap: 22px;
  transition: transform .4s ease;
  will-change: transform;
}

.home-learning-card {
  flex: 0 0 calc((100% - 44px) / 3);
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(95,146,85,.15);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 14px 32px rgba(58,88,55,.07);
  color: inherit;
  text-decoration: none;
}

.home-learning-card-image {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  background: linear-gradient(145deg,#f8efb8,#e3f1d9);
}

.home-learning-card-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
}

.home-learning-card-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .28s ease;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}

.home-learning-placeholder {
  display: grid;
  place-items: center;
  padding: 28px;
  color: var(--green-deep);
  font-family: Georgia, serif;
  font-size: 1.25rem;
  text-align: center;
}

.home-learning-card-body {
  padding: 19px 20px 22px;
}

.home-learning-category {
  margin: 0 0 7px;
  color: #5f9255;
  font-size: .69rem;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.home-learning-card h3 {
  margin: 0 0 10px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.52rem;
  line-height: 1.14;
  color: var(--green-deep);
}

.home-learning-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 11px;
}

.home-learning-meta span {
  padding: 5px 8px;
  border-radius: 999px;
  background: #eef6e8;
  color: #4b7048;
  font-size: .73rem;
}

.home-learning-description {
  display: -webkit-box;
  overflow: hidden;
  margin: 0 0 14px;
  color: var(--muted);
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.home-learning-open {
  color: var(--green-deep);
  font-weight: 800;
}

.home-learning-gallery-nav {
  position: absolute;
  top: 42%;
  z-index: 4;
  width: 44px;
  height: 44px;
  border: 0;
  border-radius: 999px;
  background: #5f9255;
  color: #fff;
  font-size: 1.9rem;
  line-height: 1;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(58,88,55,.18);
}

.home-learning-gallery-nav.prev { left: 0; }
.home-learning-gallery-nav.next { right: 0; }

.home-learning-gallery-nav:disabled {
  opacity: .28;
  cursor: default;
}

.home-learning-gallery-dots {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin-top: 18px;
}

.home-learning-gallery-dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(49,94,52,.23);
  cursor: pointer;
}

.home-learning-gallery-dot.is-active {
  background: #315e34;
}

.home-learning-gallery-action {
  display: flex;
  justify-content: center;
  margin-top: 27px;
}

@media (hover: hover) and (pointer: fine) {
  .home-learning-card:hover .home-learning-card-image img {
    transform: scale(1.035);
  }

  .home-learning-card:hover {
    border-color: rgba(95,146,85,.32);
  }
}

@media (max-width: 980px) {
  .home-learning-card {
    flex-basis: calc((100% - 22px) / 2);
  }
}

@media (max-width: 680px) {
  .home-learning-gallery-section {
    width: min(100% - 24px, 1180px);
  }

  .home-learning-category-strip {
    justify-content: flex-start;
  }

  .home-learning-gallery-shell {
    padding: 0 42px;
  }

  .home-learning-card {
    flex-basis: 100%;
  }

  .home-learning-gallery-nav {
    width: 38px;
    height: 38px;
    font-size: 1.65rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-learning-gallery-track,
  .home-learning-card-image img {
    transition: none;
  }
}

/* ---------- Alphabetical Learning Corner + Book Connections ---------- */
.activity-bank-book-context {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin: 24px 0 8px;
  padding: 14px 18px;
  border: 1px solid rgba(95,146,85,.18);
  border-radius: 16px;
  background: #f6faF2;
  color: var(--green-deep);
}

.activity-bank-book-context[hidden] {
  display: none !important;
}

.activity-bank-book-context a {
  flex: 0 0 auto;
  color: var(--green-deep);
  font-weight: 800;
}

.learning-item-book-link {
  padding: 7px 11px;
  border-radius: 999px;
  background: #eef6e8;
  color: #416d3e;
  font-size: .85rem;
  text-decoration: none;
  font-weight: 750;
}

.books-learning-connection {
  margin: 15px 0 13px;
  padding: 12px 13px;
  border: 1px solid rgba(95,146,85,.19);
  border-radius: 14px;
  background: linear-gradient(135deg,#f7faef,#edf6e8);
}

.books-learning-label {
  margin: 0 0 5px !important;
  color: #5f9255 !important;
  font-size: .7rem !important;
  font-weight: 800;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.books-learning-button {
  color: var(--green-deep);
  font-weight: 800;
  text-decoration: none;
}

.book-learning-detail-slot[hidden] {
  display: none !important;
}

.book-learning-detail-box {
  margin: 38px 0;
  padding: 28px 30px;
  border-radius: 24px;
  background: linear-gradient(135deg,#faf7df,#edf6e8);
  text-align: center;
}

.book-learning-detail-box h2 {
  margin: 5px 0 10px;
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--green-deep);
}

.book-learning-detail-text {
  margin: 0 auto 18px;
  color: var(--muted);
}

@media (max-width: 680px) {
  .activity-bank-book-context {
    align-items: flex-start;
    flex-direction: column;
  }
}

/* ---------- Admin-managed books ---------- */
.managed-books-insert {
  display: contents;
}

.books-managed-placeholder {
  display: grid !important;
  place-items: center;
  min-height: 320px;
  padding: 25px;
  background: linear-gradient(145deg,#f8efb8,#e3f1d9);
  color: var(--green-deep);
  font-family: Georgia, serif;
  font-size: 1.35rem;
  text-align: center;
}

.books-managed-subtitle {
  color: #687168;
  font-style: italic;
}

.managed-book-detail {
  display: grid;
  grid-template-columns: minmax(260px, .75fr) minmax(0, 1.25fr);
  gap: clamp(32px,5vw,70px);
  align-items: center;
  margin-top: 55px;
  margin-bottom: 70px;
}

.managed-book-detail-cover img {
  display: block;
  width: min(100%, 430px);
  margin-inline: auto;
  border-radius: 18px;
  box-shadow: 0 18px 40px rgba(38,59,35,.12);
}

.managed-book-detail-copy h1 {
  margin: 6px 0 13px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2.7rem,5vw,5rem);
  line-height: 1.02;
  color: var(--green-deep);
}

.managed-book-subtitle {
  color: #687168;
  font-size: 1.15rem;
  font-style: italic;
}

.managed-book-status {
  display: inline-block;
  padding: 7px 11px;
  border-radius: 999px;
  background: #f5e9b6;
  color: #765c19;
  font-weight: 800;
}

.managed-book-description {
  color: var(--muted);
  font-size: 1.06rem;
  line-height: 1.75;
}

.managed-book-learning {
  margin-top: 40px;
  margin-bottom: 80px;
  padding: 30px;
  border-radius: 24px;
  background: linear-gradient(135deg,#faf7df,#edf6e8);
  text-align: center;
}

.managed-book-learning h2 {
  margin: 4px 0 10px;
  font-family: Georgia, serif;
  color: var(--green-deep);
}

.managed-book-learning-list {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 9px;
  margin: 20px 0;
}

.managed-book-learning-list a {
  padding: 9px 12px;
  border-radius: 999px;
  background: #fff;
  color: var(--green-deep);
  text-decoration: none;
  font-weight: 750;
}

@media (max-width: 760px) {
  .managed-book-detail {
    grid-template-columns: 1fr;
  }
}

/* ---------- Per-format book purchase options ---------- */
.book-format-options {
  margin: 26px 0 24px;
}

.book-format-options-grid {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 12px;
}

.book-format-option {
  display: flex;
  min-width: 0;
  min-height: 84px;
  padding: 15px 16px;
  border-radius: 16px;
  flex-direction: column;
  justify-content: center;
  text-decoration: none;
}

.book-format-option strong {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.05rem;
}

.book-format-option span {
  margin-top: 5px;
  font-size: .85rem;
  font-weight: 750;
}

.book-format-option.available {
  border: 1px solid rgba(95,146,85,.25);
  background: #eef6e8;
  color: var(--green-deep);
}

.book-format-option.coming-soon {
  border: 1px solid rgba(191,155,57,.22);
  background: #fbf4d7;
  color: #775f1f;
}

.books-format-summary {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 11px 0 12px;
}

.books-format-summary span {
  padding: 5px 8px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 750;
}

.books-format-summary span.available {
  background: #eef6e8;
  color: #456d41;
}

.books-format-summary span.coming-soon {
  background: #fbf4d7;
  color: #775f1f;
}

@media (max-width: 700px) {
  .book-format-options-grid {
    grid-template-columns: 1fr;
  }
}

/* ---------- Book metadata cleanup / editable existing collection ---------- */
.cover-badge,
.managed-book-status {
  display: none !important;
}

.book-meta dt {
  min-height: 1em;
}

.book-availability[hidden] {
  display: none !important;
}

/* ---------- Optional Learning Corner printable PDFs ---------- */
.activity-bank-badges {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}

.activity-bank-badges .activity-bank-type {
  margin-bottom: 0;
}

.activity-bank-download-badge {
  display: inline-block;
  padding: 5px 9px;
  border-radius: 999px;
  background: #fbf1c8;
  color: #745c16;
  font-size: .8rem;
  font-weight: 750;
}

.home-learning-meta span.printable {
  background: #fbf1c8;
  color: #745c16;
}

.learning-printable-box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 28px;
  margin: 32px auto 0;
  max-width: 900px;
  padding: 25px 27px;
  border: 1px solid rgba(189,151,44,.18);
  border-radius: 22px;
  background: linear-gradient(135deg,#fff8dc,#f2f7e9);
}

.learning-printable-box h2 {
  margin: 4px 0 6px;
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--green-deep);
}

.learning-printable-box p:last-child {
  margin-bottom: 0;
  color: var(--muted);
}

.learning-printable-button {
  flex: 0 0 auto;
}

@media (max-width: 680px) {
  .learning-printable-box {
    align-items: stretch;
    flex-direction: column;
  }

  .learning-printable-button {
    text-align: center;
  }
}

/* ---------- Learning Corner search / Quick Access ---------- */
.learning-quick-search {
  max-width: 900px;
  margin: 30px auto 10px;
  padding: 18px;
  border: 1px solid rgba(95,146,85,.16);
  border-radius: 20px;
  background: rgba(255,255,255,.72);
}

.learning-quick-search > label {
  display: block;
  margin-bottom: 8px;
  color: var(--green-deep);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.22rem;
  font-weight: 700;
}

.learning-search-row {
  display: grid;
  grid-template-columns: minmax(0,1fr) auto;
  gap: 9px;
}

.learning-search-row input {
  width: 100%;
  min-height: 48px;
  padding: 11px 14px;
  border: 1px solid rgba(95,146,85,.28);
  border-radius: 13px;
  background: #fff;
  color: var(--green-deep);
  font: inherit;
  font-size: 1rem;
}

.learning-search-row button {
  min-width: 78px;
  padding: 10px 14px;
  border: 0;
  border-radius: 13px;
  background: #5f9255;
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.learning-search-help,
.learning-search-status {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: .88rem;
}

.learning-search-status {
  color: var(--green-deep);
  font-weight: 700;
}

.learning-search-results {
  margin-top: 24px;
}

.learning-search-results[hidden] {
  display: none !important;
}

.learning-search-results-head {
  margin-bottom: 16px;
}

.learning-search-results-head h3 {
  margin: 4px 0 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.8rem,3vw,2.6rem);
  color: var(--green-deep);
}

.learning-search-results-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 15px;
}

.learning-search-result-card {
  display: grid;
  grid-template-columns: 125px minmax(0,1fr);
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(95,146,85,.16);
  border-radius: 18px;
  background: #fff;
  color: inherit;
  text-decoration: none;
}

.learning-search-result-image {
  position: relative;
  min-height: 132px;
  overflow: hidden;
  background: linear-gradient(145deg,#f8efb8,#e3f1d9);
}

.learning-search-result-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
}

.learning-search-result-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  pointer-events: none;
  user-select: none;
  -webkit-user-drag: none;
}

.learning-search-result-copy {
  padding: 14px 15px;
}

.learning-search-result-copy > p {
  margin: 0 0 4px;
  color: #5f9255;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.learning-search-result-copy h4 {
  margin: 0 0 8px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.22rem;
  color: var(--green-deep);
}

.learning-search-result-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-bottom: 7px;
}

.learning-search-result-tags span {
  padding: 4px 7px;
  border-radius: 999px;
  background: #eef6e8;
  color: #456d41;
  font-size: .7rem;
  font-weight: 700;
}

.learning-search-result-tags span.printable {
  background: #fbf1c8;
  color: #745c16;
}

.learning-search-result-copy small {
  color: var(--muted);
}

/* ---------- Journal posts generated from Learning Corner ---------- */
.journal-learning-cta {
  margin: 28px 0;
  padding: 24px 26px;
  border-radius: 21px;
  background: linear-gradient(135deg,#faf7df,#edf6e8);
}

.journal-learning-cta h2 {
  margin: 4px 0 7px;
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--green-deep);
}

.journal-learning-cta p:not(.eyebrow) {
  color: var(--muted);
}

@media (max-width: 720px) {
  .learning-search-results-grid {
    grid-template-columns: 1fr;
  }

  .learning-search-result-card {
    grid-template-columns: 100px minmax(0,1fr);
  }
}

@media (max-width: 480px) {
  .learning-search-row {
    grid-template-columns: 1fr;
  }

  .learning-search-row button {
    width: 100%;
  }
}

/* ---------- Learning Corner video ---------- */
.activity-bank-video-badge {
  display: inline-block;
  padding: 5px 9px;
  border-radius: 999px;
  background: #e9eff8;
  color: #3f5c7a;
  font-size: .8rem;
  font-weight: 750;
}

.home-learning-meta span.video,
.learning-search-result-tags span.video {
  background: #e9eff8;
  color: #3f5c7a;
}

.learning-video-box {
  max-width: 980px;
  margin: 34px auto 0;
}

.learning-video-heading {
  margin-bottom: 14px;
  text-align: center;
}

.learning-video-heading h2 {
  margin: 4px 0 0;
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--green-deep);
}

.learning-video-frame {
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  background: #182018;
  box-shadow: 0 15px 38px rgba(32,48,29,.12);
  aspect-ratio: 16 / 9;
}

.learning-video-frame iframe,
.learning-video-frame video {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
}

.learning-video-hosted video {
  object-fit: contain;
}

.learning-video-hosted {
  -webkit-touch-callout: none;
  user-select: none;
}

/* ---------- Homepage Library of Congress visual ---------- */
.catalog-recognition-visual {
  position: relative;
  overflow: hidden;
  width: 100%;
  border-radius: 24px;
  background: #eef3e8;
  box-shadow: 0 12px 28px rgba(58,88,55,.10);
}

.catalog-recognition-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: transparent;
}

.catalog-recognition-visual img {
  display: block;
  width: 100%;
  height: clamp(300px, 34vw, 500px);
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}

@media (max-width: 980px) {
  .catalog-recognition.section-shell {
    grid-template-columns: 1fr;
  }

  .catalog-recognition-visual img {
    height: auto;
    aspect-ratio: 16 / 10;
  }
}

@media (max-width: 680px) {
  .catalog-recognition.section-shell {
    width: min(100% - 24px, 1460px);
    padding: 24px;
  }

  .catalog-recognition-visual {
    border-radius: 18px;
  }
}

/* ---------- Simplified Learning Corner ---------- */
.activity-bank-section {
  margin-top: clamp(42px, 5vw, 72px);
}

/* ==========================================================
   About page — founders + numbered 01–09 editorial flow
   Inspired by the numbered presentation rhythm used on
   Amber Moon Publishing House Publishing Services.
   ========================================================== */

.about-hero-editorial {
  padding-bottom: clamp(28px, 4vw, 54px);
}

.founders-prelude {
  display: grid;
  grid-template-columns: minmax(170px, .55fr) minmax(0, 1.6fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: start;
  margin-top: clamp(34px, 5vw, 72px);
  margin-bottom: clamp(48px, 6vw, 86px);
  padding: clamp(28px, 4vw, 52px);
  border: 1px solid rgba(80, 112, 74, .16);
  border-radius: 28px;
  background: linear-gradient(135deg, #f4f8ef 0%, #ffffff 68%);
  box-shadow: 0 18px 46px rgba(43, 66, 38, .08);
}

.founders-prelude-label {
  position: sticky;
  top: 26px;
}

.founders-moon-mark {
  display: grid;
  width: 76px;
  height: 76px;
  place-items: center;
  margin-bottom: 18px;
  border: 1px solid rgba(86, 113, 75, .22);
  border-radius: 50%;
  background: rgba(255,255,255,.82);
  color: #607952;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: .08em;
}

.founders-prelude-copy h2 {
  margin-top: 0;
  margin-bottom: 16px;
  font-family: Georgia, 'Times New Roman', serif;
  color: var(--green-deep);
  font-size: clamp(2rem, 4vw, 3.15rem);
}

.founders-prelude-copy p {
  max-width: 840px;
  color: #4a574f;
  font-size: 1.02rem;
  line-height: 1.8;
}

.founders-link {
  display: inline-flex;
  margin-top: 10px;
  font-weight: 750;
}

.about-editorial-flow {
  width: 100%;
}

.about-editorial-section {
  position: relative;
  padding: clamp(60px, 7vw, 105px) 0;
}

.about-editorial-light {
  background: #fff;
}

.about-editorial-soft {
  border-top: 1px solid rgba(78, 109, 72, .08);
  border-bottom: 1px solid rgba(78, 109, 72, .08);
  background:
    radial-gradient(circle at 94% 12%, rgba(217,232,204,.42), transparent 25%),
    #f7f9f3;
}

.about-editorial-inner {
  display: block;
}

.about-editorial-content {
  min-width: 0;
  max-width: 1030px;
}

.about-editorial-content > h2 {
  max-width: 900px;
  margin: 4px 0 22px;
  color: var(--green-deep);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2rem, 4.2vw, 3.7rem);
  line-height: 1.08;
}

.about-editorial-content > p {
  max-width: 900px;
  color: #4a574f;
  line-height: 1.82;
}

.about-example-lines {
  display: grid;
  gap: 8px;
  max-width: 900px;
  margin: 25px 0;
  padding: 22px 26px;
  border-left: 4px solid #7b9a6e;
  border-radius: 0 18px 18px 0;
  background: #f4f7ef;
}

.about-example-lines p {
  margin: 0;
  color: #455245;
  font-weight: 650;
}

.about-substory {
  max-width: 900px;
  margin-top: 34px;
  padding: clamp(24px, 4vw, 38px);
  border: 1px solid rgba(80,112,74,.14);
  border-radius: 22px;
  background: rgba(255,255,255,.78);
}

.about-substory h3 {
  margin: 6px 0 15px;
  color: var(--green-deep);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.45rem, 2.8vw, 2.15rem);
}

.about-substory p {
  color: #4a554a;
  line-height: 1.75;
}

.about-letter-examples {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 900px;
  margin: 26px 0;
}

.about-letter-examples article {
  display: flex;
  align-items: center;
  gap: 13px;
  min-height: 74px;
  padding: 14px 17px;
  border: 1px solid rgba(83,112,76,.13);
  border-radius: 16px;
  background: rgba(255,255,255,.82);
}

.about-letter-examples strong {
  display: grid;
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  place-items: center;
  border-radius: 50%;
  background: #e5eddc;
  color: #4e6d45;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.35rem;
}

.about-letter-examples span {
  color: #4a574f;
  font-weight: 700;
  line-height: 1.4;
}

.about-emphasis {
  margin-top: 24px;
  color: #46643e !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 700;
}

.about-editorial-twins {
  max-width: 980px;
  margin-top: 30px;
}

.about-together-callout {
  max-width: 980px;
  margin-top: 24px;
  padding: clamp(24px, 4vw, 38px);
  border-radius: 24px;
  background: #eef4e8;
}

.about-together-callout h3 {
  margin-top: 0;
  color: var(--green-deep);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.5rem, 3vw, 2.2rem);
}

.about-question-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin: 22px 0;
}

.about-question-grid span {
  padding: 12px 13px;
  border: 1px solid rgba(75,104,70,.13);
  border-radius: 12px;
  background: rgba(255,255,255,.72);
  color: #4a6045;
  font-weight: 700;
  text-align: center;
}

.about-beyond-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 13px;
  max-width: 980px;
  margin: 28px 0;
}

.about-beyond-grid article {
  padding: 19px;
  border: 1px solid rgba(79,108,72,.13);
  border-radius: 18px;
  background: #fff;
}

.about-beyond-grid span {
  display: block;
  margin-bottom: 8px;
  color: #638056;
  font-size: .78rem;
  font-weight: 850;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.about-beyond-grid p {
  margin: 0;
  color: #4b564b;
  line-height: 1.55;
}

.about-curiosity-line {
  margin-top: 18px;
  color: #55734c;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.65;
}

.about-world-tags,
.family-moments {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  max-width: 900px;
  margin-top: 25px;
}

.about-world-tags span,
.family-moments span {
  padding: 8px 12px;
  border: 1px solid rgba(80,109,74,.13);
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: #52684b;
  font-size: .9rem;
  font-weight: 700;
}

.about-two-column-copy {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  max-width: 980px;
  margin-top: 28px;
}

.about-two-column-copy article {
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid rgba(80,108,74,.13);
  border-radius: 22px;
  background: #f8faf5;
}

.about-two-column-copy h3 {
  margin-top: 0;
  color: var(--green-deep);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.45rem;
}

.about-two-column-copy p {
  color: #4b564b;
  line-height: 1.7;
}

.about-mission-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 18px;
  max-width: 930px;
  margin: 24px 0;
  padding: 0;
  list-style: none;
}

.about-mission-list li {
  position: relative;
  padding: 12px 14px 12px 39px;
  border-radius: 13px;
  background: rgba(255,255,255,.78);
  color: #475447;
}

.about-mission-list li::before {
  content: "✓";
  position: absolute;
  left: 14px;
  top: 11px;
  color: #66865a;
  font-weight: 900;
}

.family-shared-block {
  margin-top: 36px;
}

.about-az-wordline {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  max-width: 980px;
  margin: 26px 0;
}

.about-az-wordline span {
  padding: 9px 13px;
  border-radius: 999px;
  background: #eff4e9;
  color: #4d6247;
  font-weight: 700;
}

.about-az-wordline strong {
  margin-right: 4px;
  color: #6c8c60;
  font-family: Georgia, 'Times New Roman', serif;
}

.about-az-head {
  max-width: 940px;
  margin: 54px 0 24px;
  padding: 0;
  text-align: left;
}

.about-az-head h3 {
  max-width: 860px;
  margin: 7px 0 12px;
  color: var(--green-deep);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.65rem, 3.5vw, 2.65rem);
}

.about-editorial-final .az-grid {
  margin-top: 26px;
}

.about-az-closing {
  max-width: 900px;
  margin: 38px 0 0;
}

.about-family-signoff {
  color: #566e4f;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.2rem;
  line-height: 1.7;
}

@media (max-width: 900px) {
  .founders-prelude {
    grid-template-columns: 1fr;
  }

  .founders-prelude-label {
    position: static;
  }

  

  .about-question-grid,
  .about-beyond-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .founders-prelude {
    width: min(100% - 24px, 1180px);
    padding: 24px;
    border-radius: 21px;
  }

  .about-editorial-section {
    padding: 52px 0;
  }

  .about-editorial-inner {
    display: block;
    width: min(100% - 28px, 1180px);
  }

  .about-letter-examples,
  .about-question-grid,
  .about-beyond-grid,
  .about-two-column-copy,
  .about-mission-list {
    grid-template-columns: 1fr;
  }

  .about-substory,
  .about-together-callout {
    padding: 21px;
  }
}

/* ---------- About editorial layout without visible numbering ---------- */
.about-editorial-content {
  max-width: 1030px;
  margin: 0 auto;
}

.about-editorial-section {
  scroll-margin-top: 30px;
}

@media (max-width: 680px) {
  .about-editorial-inner {
    width: min(100% - 28px, 1180px);
  }
}

/* ---------- Meet the Founders — Adventure with Alphabet ---------- */
.founder-profile-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 28px 0 22px;
}

.founder-profile-card {
  padding: clamp(22px, 3vw, 30px);
  border: 1px solid rgba(80,112,74,.14);
  border-radius: 21px;
  background: rgba(255,255,255,.82);
}

.founder-profile-card h3 {
  margin: 5px 0 14px;
  color: var(--green-deep);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.35rem, 2.5vw, 1.85rem);
}

.founder-profile-card p:last-child {
  margin-bottom: 0;
}

.founders-closing {
  margin-top: 22px;
  padding-top: 20px;
  border-top: 1px solid rgba(80,112,74,.13);
  font-family: Georgia, 'Times New Roman', serif;
  color: #51694a !important;
  font-size: 1.08rem !important;
}

@media (max-width: 760px) {
  .founder-profile-grid {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================
   ABOUT A–Z — HOMEPAGE COLOR PALETTE
   Keep the About page's expandable-card layout while using
   the same green / soft yellow / soft green colors as Home.
   ========================================================== */

/* Match the homepage A–Z introductory color treatment. */
.about-az-head .az-big-idea {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  margin: 18px 0 0;
  padding: 15px 22px;
  border: 1px solid rgba(95,146,85,.13);
  border-radius: 999px;
  background: linear-gradient(90deg, #f7efbd, #e4f2dc, #eef6e8);
  box-shadow: 0 10px 24px rgba(58,88,55,.06);
  color: var(--green-deep);
  font-weight: 800;
  letter-spacing: .02em;
}

/* Keep the About cards, but borrow the gentle homepage card colors. */
.about-editorial-final .az-card {
  border-color: rgba(95,146,85,.11);
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(247,251,243,.96));
  box-shadow: 0 10px 26px rgba(58,88,55,.045);
}

.about-editorial-final .az-card:nth-child(4n+2) {
  background: linear-gradient(180deg, rgba(255,251,235,.94), rgba(250,249,233,.94));
}

.about-editorial-final .az-card:nth-child(4n+3) {
  background: linear-gradient(180deg, rgba(240,248,235,.95), rgba(247,251,243,.95));
}

.about-editorial-final .az-card:nth-child(4n+4) {
  background: linear-gradient(180deg, rgba(246,244,251,.93), rgba(249,250,246,.94));
}

/* Exact same green family used by the homepage A–Z letters. */
.about-editorial-final .az-letter,
.about-editorial-final .az-card:nth-child(6n+2) .az-letter,
.about-editorial-final .az-card:nth-child(6n+3) .az-letter,
.about-editorial-final .az-card:nth-child(6n+4) .az-letter,
.about-editorial-final .az-card:nth-child(6n+5) .az-letter,
.about-editorial-final .az-card:nth-child(6n+6) .az-letter {
  background: linear-gradient(180deg, #5f9255 0%, #527f49 100%);
  color: #ffffff;
  border-color: rgba(255,255,255,.9);
  box-shadow: 0 9px 20px rgba(58,88,55,.17);
}

/* Use the same green-family controls as the homepage/navigation palette. */
.about-editorial-final .az-tap {
  background: #edf6e7;
  color: #527f49;
  border: 1px solid rgba(95,146,85,.10);
}

/* Bring the closing panel into the same soft green/yellow family. */
.about-editorial-final .about-az-closing {
  background: linear-gradient(135deg, #edf6e5, #fff3c8 52%, #edf5e9);
  border-color: rgba(95,146,85,.11);
}

/* The introductory word chips keep the About-page shape, but use Home colors. */
.about-editorial-final .about-az-wordline span {
  border: 1px solid rgba(95,146,85,.11);
  background: linear-gradient(90deg, rgba(247,239,189,.55), rgba(228,242,220,.72));
  color: #4f6848;
}

.about-editorial-final .about-az-wordline strong {
  color: #527f49;
}

/* ==========================================================
   ABOUT — SIMPLE MEET THE FOUNDERS
   Image + long-form text, no profile cards / boxes.
   ========================================================== */

.founders-prelude-simple {
  display: grid;
  grid-template-columns: minmax(280px, .8fr) minmax(0, 1.55fr);
  gap: clamp(34px, 5vw, 72px);
  align-items: start;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.founders-simple-image {
  position: sticky;
  top: 28px;
  overflow: hidden;
  border-radius: 22px;
}

.founders-simple-image::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  background: transparent;
}

.founders-simple-image img {
  display: block;
  width: 100%;
  height: auto;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
  -webkit-touch-callout: none;
}

.founders-simple-copy {
  max-width: 820px;
}

.founders-simple-copy h2 {
  margin: 4px 0 22px;
  color: var(--green-deep);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2rem, 4vw, 3.15rem);
}

.founders-simple-copy > p {
  margin: 0 0 18px;
  color: #4a574f;
  font-size: 1rem;
  line-height: 1.82;
}

.founders-quote {
  margin: 30px 0 20px;
  padding: 0 0 0 22px;
  border-left: 4px solid #6f8f62;
  color: #4b6346;
  font-family: Georgia, 'Times New Roman', serif;
}

.founders-quote p {
  margin: 0 0 8px;
  font-size: clamp(1.12rem, 2vw, 1.4rem);
  line-height: 1.55;
}

.founders-quote footer {
  color: #65715f;
  font-size: .92rem;
}

.founders-signature {
  margin-top: 24px !important;
  color: var(--green-deep) !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.08rem !important;
}

@media (max-width: 900px) {
  .founders-prelude-simple {
    grid-template-columns: 1fr;
  }

  .founders-simple-image {
    position: static;
    max-width: 520px;
    margin: 0 auto;
  }

  .founders-simple-copy {
    max-width: none;
  }
}

/* ---------- About page cleaner heading ---------- */
.about-hero-editorial h1 {
  font-size: clamp(2.35rem, 5vw, 4.25rem);
  line-height: 1.05;
  max-width: 820px;
  margin-left: auto;
  margin-right: auto;
}

.founders-simple-copy {
  padding-top: 4px;
}

/* ---------- About opening quote ---------- */
.about-quote-hero {
  padding-top: clamp(44px, 6vw, 82px);
  padding-bottom: clamp(44px, 6vw, 82px);
}

.about-opening-quote {
  max-width: 980px;
  margin: 0 auto;
  padding: 0;
  border: 0;
  text-align: center;
}

.about-opening-quote p {
  margin: 0;
  color: var(--green-deep);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2rem, 4.4vw, 3.7rem);
  line-height: 1.16;
  letter-spacing: -.025em;
}

.about-opening-quote footer {
  margin-top: 20px;
  color: #66815c;
  font-size: clamp(.95rem, 1.5vw, 1.1rem);
  font-weight: 750;
  letter-spacing: .045em;
}

@media (max-width: 680px) {
  .about-opening-quote p {
    font-size: clamp(1.75rem, 8vw, 2.55rem);
  }
}

/* ---------- Founders quote attribution alignment ---------- */
.founders-quote-attribution {
  display: block;
  width: 100%;
  margin-top: 10px;
  text-align: right;
}

.founders-signature {
  width: 100%;
  text-align: right;
}

/* ---------- About opening quote: two-line layout ---------- */
.about-opening-quote {
  max-width: 980px;
}

.about-opening-quote p {
  display: block;
  text-align: center;
}

.about-opening-quote p span {
  display: block;
  white-space: nowrap;
}

.about-opening-quote footer {
  width: 100%;
  max-width: 980px;
  margin: 20px auto 0;
  text-align: right;
}

@media (max-width: 900px) {
  .about-opening-quote p span {
    white-space: normal;
  }
}

/* ---------- About: Learning is everywhere closing ---------- */
.about-learning-closing {
  margin-top: 22px;
  color: #4f6848 !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: 1.08rem;
  line-height: 1.65;
}

/* ---------- Two Twins / Two Perspectives block ---------- */
.about-together-callout > p {
  margin: 0 0 10px;
  line-height: 1.7;
}

.about-together-callout > p + .about-question-grid {
  margin-top: 18px;
}

.about-question-grid strong {
  color: inherit;
}

/* ==========================================================
   ABOUT — DOCUMENT-EXACT BODY COPY
   Keep the source text in its original order and hierarchy.
   No paraphrased summary cards inside the document sections.
   ========================================================== */
.about-source-section {
  padding: clamp(58px, 7vw, 96px) 0;
}

.about-source-light {
  background: #fffdf9;
}


.about-source-soft {
  border-top: 1px solid rgba(111,140,114,.08);
  border-bottom: 1px solid rgba(111,140,114,.08);
  background: #f7f8fc;
}


.about-source-inner {
  max-width: 980px;
}

.about-source-inner > h2 {
  margin: 5px 0 24px;
  color: var(--green-deep);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2rem, 4vw, 3.35rem);
  line-height: 1.1;
}

.about-source-inner > h3,
.about-source-character > h3,
.about-source-together > h3 {
  margin: 42px 0 17px;
  color: var(--green-deep);
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.55rem, 2.8vw, 2.15rem);
  line-height: 1.18;
}

.about-source-inner p,
.about-source-character p,
.about-source-together p {
  color: #4a574f;
  font-size: 1rem;
  line-height: 1.8;
}

.about-source-short-lines {
  margin: 20px 0 25px;
}

.about-source-short-lines p {
  margin: 6px 0;
}

.about-source-emphasis {
  color: #718d76 !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.12rem, 2vw, 1.35rem) !important;
}

.about-source-character,
.about-source-together {
  margin-top: 36px;
  padding-top: 4px;
  border-top: 1px solid rgba(113,141,118,.16);
}

.about-source-questions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap: 8px 22px;
  margin: 20px 0 24px;
}

.about-source-questions p {
  margin: 0;
  font-weight: 700;
  color: #718d76;
}

.about-source-list {
  max-width: 850px;
  margin: 20px 0 28px;
  padding-left: 24px;
}

.about-source-list li {
  margin: 9px 0;
  color: #4a574f;
  line-height: 1.6;
}

.about-source-signoff {
  margin: 34px 0 48px;
  padding: 22px 0 0;
  border-top: 1px solid rgba(113,141,118,.16);
}

.about-source-signoff p {
  margin: 5px 0;
}

.about-source-final .about-az-head {
  margin-top: 56px;
}

@media (max-width: 680px) {
  .about-source-section {
    padding: 48px 0;
  }

  .about-source-inner {
    width: min(100% - 28px, 980px);
  }

  .about-source-questions {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================
   SOFTER ELEGANT PASTEL PALETTE — 2026 SEO REFRESH
   Green remains an accent, while cream, pale blue, blush,
   lavender, and very light sage carry more of the page.
   ========================================================== */

body {
  background:
    radial-gradient(circle at 8% 2%, rgba(250, 238, 217, .72), transparent 25%),
    radial-gradient(circle at 92% 6%, rgba(226, 238, 248, .66), transparent 28%),
    linear-gradient(180deg, #fffdf9 0%, #fafbf9 46%, #fcfafc 100%);
}

.site-header::before {
  background: linear-gradient(180deg, rgba(243, 246, 237, .90), rgba(243, 246, 237, 0));
}

.train-frame {
  border-color: rgba(150, 169, 145, .15);
  background: #f1ead3;
  box-shadow: 0 15px 34px rgba(85, 95, 90, .10);
}

.main-nav {
  background: rgba(255, 252, 248, .95);
  border-color: rgba(145, 164, 150, .13);
  box-shadow: 0 9px 24px rgba(86, 99, 92, .07);
}

.nav-list a:hover,
.nav-list a:focus-visible {
  background: rgba(231, 238, 246, .62);
}

.nav-list a.active {
  background: rgba(239, 242, 232, .72);
  border-bottom-color: #9eb49d;
}

.hero {
  background: linear-gradient(135deg, #fffaf4 0%, #f6f8f2 42%, #f2f7fb 100%);
  border-color: rgba(145, 165, 150, .10);
  box-shadow: 0 18px 40px rgba(85, 98, 91, .07);
}

.hero-art::before {
  background: linear-gradient(145deg, #f8edcf 0%, #f4f0f8 42%, #eaf3f8 72%, #f0f5ed 100%);
}

.button-primary {
  background: linear-gradient(180deg, #a7bda4, #92aa91);
  box-shadow: 0 9px 22px rgba(119, 143, 117, .16);
}

.button-primary:hover {
  background: linear-gradient(180deg, #9eb49b, #89a287);
}

.button-secondary {
  border-color: rgba(139, 159, 145, .20);
  background: rgba(255, 253, 250, .94);
}

.home-learning-intro,
.home-more-abcs-section,
.featured,
.cta,
.page-hero,
.activity-bank-section,
.books-catalog-section,
.gallery-grid,
.contact-cards {
  border-color: rgba(135, 151, 142, .09);
}

/* About: every Word-document heading is now its own visual section.
   Rotate several very light pastel backgrounds instead of green bands. */
.about-document-flow .about-source-section {
  border-top: 1px solid rgba(120, 135, 128, .07);
  border-bottom: 0;
}

.about-document-flow .about-source-section:nth-of-type(5n+1) {
  background: #fffdf8;
}

.about-document-flow .about-source-section:nth-of-type(5n+2) {
  background: #f8f6fb;
}

.about-document-flow .about-source-section:nth-of-type(5n+3) {
  background: #f3f8fb;
}

.about-document-flow .about-source-section:nth-of-type(5n+4) {
  background: #fdf6f4;
}

.about-document-flow .about-source-section:nth-of-type(5n+5) {
  background: #f5f8f3;
}

.about-source-inner > h2,
.about-source-inner > h3 {
  color: #64796f;
}

.about-source-emphasis,
.about-source-questions p {
  color: #738b7b !important;
}

.about-source-character,
.about-source-together,
.about-source-signoff {
  border-color: rgba(126, 145, 132, .12);
}

.founders-prelude-simple {
  background: transparent;
}

.founders-simple-image {
  box-shadow: 0 16px 38px rgba(77, 88, 83, .09);
}

.founders-quote {
  border-left-color: #b4c3ad;
}

.about-opening-quote p {
  color: #60766c;
}

.about-opening-quote footer,
.founders-quote-attribution,
.founders-signature {
  color: #78877f;
}

/* A–Z keeps its familiar character while becoming lighter. */
.about-editorial-final .az-letter,
.about-source-final .az-letter,
.az-letter {
  background: linear-gradient(180deg, #adc2a8 0%, #97ae95 100%);
  box-shadow: 0 8px 17px rgba(105, 128, 103, .13);
}

.az-card {
  border-color: rgba(136, 153, 142, .10);
  box-shadow: 0 9px 22px rgba(87, 99, 92, .04);
}

.about-source-final .az-card:nth-child(4n+1) { background: #fffdf8; }
.about-source-final .az-card:nth-child(4n+2) { background: #f8f6fb; }
.about-source-final .az-card:nth-child(4n+3) { background: #f3f8fb; }
.about-source-final .az-card:nth-child(4n+4) { background: #fdf6f4; }

.about-source-final .az-tap {
  background: #f1f5ee;
  color: #718479;
}

.about-source-final .az-big-idea {
  background: linear-gradient(90deg, #fbf0ce, #edf4ea, #edf5fb);
  border-color: rgba(135, 155, 139, .10);
}

/* Accessible visually-hidden headings for semantic SEO structure. */
.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ==========================================================
   ABOUT A–Z — KEEP FRONT-PAGE COLORS
   The rest of the site uses the softer pastel refresh, but
   this About-page A–Z presentation intentionally matches the
   stronger A–Z colors used on the homepage.
   ========================================================== */
.about-source-final .about-az-head h3 {
  color: var(--ink);
}

.about-source-final .about-az-head .eyebrow {
  color: #5f9255;
}

.about-source-final .az-big-idea {
  display: inline-flex;
  width: fit-content;
  max-width: 100%;
  align-items: center;
  margin: 18px 0 0;
  padding: 15px 22px;
  border: 1px solid rgba(95,146,85,.13);
  border-radius: 999px;
  background: linear-gradient(90deg, #f7efbd, #e4f2dc, #eef6e8);
  box-shadow: 0 10px 24px rgba(58,88,55,.06);
  color: #456f40;
  font-weight: 800;
  letter-spacing: .02em;
}

.about-source-final .az-card {
  border-color: rgba(95,146,85,.11);
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(247,251,243,.96));
  box-shadow: 0 10px 26px rgba(58,88,55,.045);
}
.about-source-final .az-card:nth-child(4n+2) {
  background: linear-gradient(180deg, rgba(255,251,235,.94), rgba(250,249,233,.94));
}
.about-source-final .az-card:nth-child(4n+3) {
  background: linear-gradient(180deg, rgba(240,248,235,.95), rgba(247,251,243,.95));
}
.about-source-final .az-card:nth-child(4n+4) {
  background: linear-gradient(180deg, rgba(246,244,251,.93), rgba(249,250,246,.94));
}

.about-source-final .az-letter,
.about-source-final .az-card:nth-child(6n+2) .az-letter,
.about-source-final .az-card:nth-child(6n+3) .az-letter,
.about-source-final .az-card:nth-child(6n+4) .az-letter,
.about-source-final .az-card:nth-child(6n+5) .az-letter,
.about-source-final .az-card:nth-child(6n+6) .az-letter {
  background: linear-gradient(180deg, #5f9255 0%, #527f49 100%);
  color: #fff;
  border-color: rgba(255,255,255,.9);
  box-shadow: 0 9px 20px rgba(58,88,55,.17);
}

.about-source-final .az-tap {
  background: #edf6e7;
  color: #527f49;
  border: 1px solid rgba(95,146,85,.10);
}

.about-source-final .about-az-closing {
  background: linear-gradient(135deg, #edf6e5, #fff3c8 52%, #edf5e9);
  border-color: rgba(95,146,85,.11);
}

/* ---------- Full A-Z moved into From A to Z section ---------- */
.about-source-final > .about-source-inner > .about-az-head {
  margin-top: 34px;
}

.about-source-final > .about-source-inner > .az-grid {
  margin-bottom: 36px;
}

/* ==========================================================
   ABOUT — A–Z EXACT HOMEPAGE PRESENTATION
   From A to Z — and Beyond now uses the same row/card/letter
   presentation as the homepage A–Z section.
   ========================================================== */
.about-source-final .home-az-list {
  width: 100%;
  margin: 34px auto 34px;
}

.about-source-final .home-az-row {
  width: 100%;
}

/* Keep the same stronger homepage green on every A–Z circle. */
.about-source-final .home-az-letter,
.about-source-final .home-az-row:nth-child(5n+2) .home-az-letter,
.about-source-final .home-az-row:nth-child(5n+3) .home-az-letter,
.about-source-final .home-az-row:nth-child(5n+4) .home-az-letter,
.about-source-final .home-az-row:nth-child(5n+5) .home-az-letter {
  background: linear-gradient(180deg, #5f9255 0%, #527f49 100%);
  color: #fff;
}

/* ==========================================================
   BOOKSTORE — RESTORED MAIN NAV PAGE
   ========================================================== */
.bookstore-page-hero {
  text-align: center;
}

.bookstore-page-hero .page-lead {
  max-width: 780px;
  margin-inline: auto;
}

.bookstore-page-hero .hero-actions {
  justify-content: center;
}

.bookstore-retailer-grid {
  overflow: visible;
}

.bookstore-retailer-track {
  width: min(1180px, calc(100% - 40px));
  margin: 0 auto;
  padding: 10px 0 34px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
  transform: none !important;
  animation: none !important;
}

.bookstore-retailer-track .retailer-logo-card {
  min-width: 0;
  width: 100%;
  height: 100%;
}

@media (max-width: 980px) {
  .bookstore-retailer-track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .bookstore-retailer-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 480px) {
  .bookstore-retailer-track {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================
   BOOKSTORE — COMING SOON
   ========================================================== */
.bookstore-coming-hero {
  text-align: center;
}

.bookstore-coming-hero .page-lead {
  max-width: 760px;
  margin-inline: auto;
}

.bookstore-coming-hero .hero-actions {
  justify-content: center;
}

.bookstore-coming-card {
  margin-top: 0;
  margin-bottom: clamp(70px, 9vw, 120px);
}

.bookstore-coming-inner {
  max-width: 820px;
  margin: 0 auto;
  padding: clamp(38px, 6vw, 64px);
  text-align: center;
  border: 1px solid rgba(128, 145, 136, .10);
  border-radius: 28px;
  background: linear-gradient(135deg, #fffaf4 0%, #f8f6fb 48%, #f2f7fb 100%);
  box-shadow: 0 18px 40px rgba(85, 98, 91, .07);
}

.bookstore-coming-inner h2 {
  margin: 4px 0 18px;
  color: #64796f;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2rem, 4vw, 3rem);
  line-height: 1.12;
  font-weight: 500;
}

.bookstore-coming-inner p:last-child {
  max-width: 650px;
  margin: 0 auto;
  color: var(--muted);
  line-height: 1.75;
}

/* About A–Z closing message */
.about-az-closing {
  text-align: center;
}

.about-az-closing p {
  margin: 6px 0;
}

.about-az-closing p:first-child,
.about-az-closing p:nth-child(2) {
  color: #64796f;
  font-family: Georgia, 'Times New Roman', serif;
}

/* ==========================================================
   ABOUT — SINGLE LARGE A–Z CLOSING BOX
   Keep only the colored closing panel and make it more prominent.
   ========================================================== */
.about-az-closing {
  max-width: 900px;
  margin: clamp(38px, 5vw, 60px) auto 0;
  padding: clamp(42px, 6vw, 68px) clamp(28px, 6vw, 70px);
  text-align: center;
  border-radius: 28px;
  background: linear-gradient(110deg, #edf5dd 0%, #fff2bf 52%, #edf5dd 100%);
  border: 1px solid rgba(135, 155, 100, .20);
  box-shadow: 0 18px 38px rgba(90, 105, 80, .08);
}

.about-az-closing p {
  margin: 10px 0;
  font-size: clamp(1.08rem, 1.6vw, 1.28rem);
  line-height: 1.55;
}

.about-az-closing p:first-child {
  margin-top: 0;
  color: #60786a;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.45rem, 2.5vw, 2rem);
}

.about-az-closing p:nth-child(2) {
  color: #60786a;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.22rem, 2vw, 1.55rem);
}

.about-az-closing .about-family-signoff {
  margin-top: 18px;
  margin-bottom: 0;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.15rem, 1.8vw, 1.38rem);
}

/* ==========================================================
   BOOKSTORE — SIMPLE COMING SOON PAGE
   ========================================================== */
.bookstore-coming-simple {
  min-height: 420px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
}

.bookstore-coming-simple h1 {
  margin-bottom: 18px;
}

.bookstore-coming-simple .page-lead {
  max-width: 620px;
  margin-inline: auto;
}

/* ==========================================================
   HOMEPAGE — 20-IMAGE ADVENTURE GALLERY
   Longer loop keeps the scrolling pace calm with the larger set.
   ========================================================== */
.home-learning-intro .moving-image-reel-track {
  animation-duration: 96s;
}

@media (max-width: 760px) {
  .home-learning-intro .moving-image-reel-track {
    animation-duration: 72s;
  }
}

/* ==========================================================
   LEARNING CORNER — SHOW COMPLETE UPLOADED IMAGES
   ========================================================== */
.home-learning-card-image,
.activity-bank-image,
.learning-search-result-image {
  background: linear-gradient(145deg, #fbf8ec, #f3f6f1 52%, #f0f5fa);
}

.home-learning-card-image img,
.activity-bank-image img,
.learning-search-result-image img {
  object-fit: contain !important;
  object-position: center center !important;
}

.learning-sample-carousel {
  background: linear-gradient(145deg, #fbf8ec, #f4f7f3 52%, #f1f5fa);
}

.learning-sample-track {
  min-height: 0 !important;
}

.learning-sample-slide {
  padding: clamp(10px, 1.7vw, 18px) clamp(10px, 1.7vw, 18px) 58px;
  text-align: center;
}

.learning-sample-slide img {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto;
  border-radius: 18px;
  background: transparent !important;
  object-fit: contain !important;
  object-position: center center !important;
}

@media (max-width: 680px) {
  .learning-sample-slide {
    padding: 8px 8px 50px;
  }
}

/* ==========================================================
   STREAMLINED FOOTER — BRAND + EXPLORE + CONNECT
   ========================================================== */
.footer-grid-streamlined {
  grid-template-columns: 1.6fr 1fr 1fr !important;
  gap: clamp(32px, 5vw, 72px);
}

@media (max-width: 850px) {
  .footer-grid-streamlined {
    grid-template-columns: 1fr 1fr !important;
  }
  .footer-grid-streamlined .footer-brand-block {
    grid-column: 1 / -1;
  }
}

@media (max-width: 620px) {
  .footer-grid-streamlined {
    grid-template-columns: 1fr !important;
  }
  .footer-grid-streamlined .footer-brand-block {
    grid-column: auto;
  }
}

/* ==========================================================
   LEARNING ITEM — WIDER FULL-IMAGE GALLERY
   Let uploaded artwork determine the panel height and give
   landscape/square images more breathing room.
   ========================================================== */
.learning-item-shell {
  width: min(1120px, calc(100% - 40px)) !important;
  max-width: 1120px !important;
}

.learning-item-hero {
  max-width: 940px;
  margin-left: auto;
  margin-right: auto;
}

.learning-sample-carousel {
  width: 100%;
  max-width: 1100px;
  margin: 34px auto 0;
  padding: clamp(12px, 1.8vw, 20px);
  overflow: hidden;
  border-radius: 30px;
  background: linear-gradient(145deg, #fbf8ec, #f4f7f3 52%, #f1f5fa);
}

.learning-sample-track {
  min-height: 0 !important;
  height: auto !important;
}

.learning-sample-slide {
  display: none;
  width: 100%;
  margin: 0;
  padding: 0 0 54px !important;
  text-align: center;
}

.learning-sample-slide.is-active {
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.learning-sample-slide img {
  display: block;
  width: auto !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 auto;
  border-radius: 18px;
  object-fit: contain !important;
  object-position: center center !important;
  background: transparent !important;
}

.learning-sample-nav.prev {
  left: 24px;
}

.learning-sample-nav.next {
  right: 24px;
}

.learning-sample-dots {
  bottom: 18px;
}

@media (max-width: 980px) {
  .learning-item-shell {
    width: min(100% - 28px, 980px) !important;
  }

  .learning-sample-carousel {
    padding: 12px;
  }

  .learning-sample-nav.prev {
    left: 14px;
  }

  .learning-sample-nav.next {
    right: 14px;
  }
}

@media (max-width: 680px) {
  .learning-item-shell {
    width: min(100% - 20px, 680px) !important;
  }

  .learning-sample-carousel {
    padding: 8px;
    border-radius: 22px;
  }

  .learning-sample-slide {
    padding-bottom: 48px !important;
  }

  .learning-sample-slide img {
    border-radius: 14px;
  }

  .learning-sample-nav.prev {
    left: 7px;
  }

  .learning-sample-nav.next {
    right: 7px;
  }
}

/* ==========================================================
   HOMEPAGE — AUGUST 30 WORD DOCUMENT COPY UPDATE
   ========================================================== */
.hero-doc-lead {
  margin-bottom: .72rem;
}

.home-doc-hero-actions {
  margin-top: 20px;
}

.home-doc-section {
  margin-top: clamp(34px, 5vw, 68px);
  margin-bottom: clamp(34px, 5vw, 68px);
}

.home-doc-section-inner {
  max-width: 980px;
  margin: 0 auto;
  padding: clamp(34px, 5vw, 58px);
  border: 1px solid rgba(128, 145, 136, .10);
  border-radius: 30px;
  box-shadow: 0 16px 38px rgba(79, 91, 85, .055);
}

.home-doc-section-inner h2 {
  margin-top: 5px;
  margin-bottom: 22px;
  color: #53635c;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(2rem, 3.8vw, 3.2rem);
  font-weight: 500;
  line-height: 1.12;
}

.home-doc-section-inner > p:not(.eyebrow) {
  max-width: 880px;
  color: #58635e;
  font-size: 1.03rem;
  line-height: 1.8;
}

.home-doc-az .home-doc-section-inner {
  background: linear-gradient(135deg, #fffaf1 0%, #f4f8f1 52%, #eef5fb 100%);
}

.home-doc-kasia-mati .home-doc-section-inner {
  background: linear-gradient(135deg, #f8f6fb 0%, #fffaf5 52%, #f4f8f2 100%);
}

.home-doc-books .home-doc-section-inner {
  background: linear-gradient(135deg, #f2f7fb 0%, #fffdf8 48%, #f8f4f7 100%);
}

.home-doc-learning-beyond .home-doc-section-inner {
  background: linear-gradient(135deg, #f5f8f2 0%, #fffaf4 54%, #f3f6fb 100%);
}

.home-doc-emphasis {
  margin-top: 24px;
  color: #637b6c !important;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.08rem, 1.8vw, 1.28rem) !important;
}

.home-doc-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.home-doc-category-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: 850px;
  margin: 22px 0 28px;
}

.home-doc-category-grid a {
  display: flex;
  align-items: center;
  min-height: 58px;
  padding: 13px 17px;
  border: 1px solid rgba(128, 148, 134, .11);
  border-radius: 16px;
  background: rgba(255,255,255,.72);
  color: #5c7064;
  font-weight: 750;
  line-height: 1.35;
  text-decoration: none;
}

.home-doc-category-grid a:hover,
.home-doc-category-grid a:focus-visible {
  background: #fff;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.home-doc-closing-quote {
  margin-top: clamp(48px, 7vw, 86px);
  margin-bottom: clamp(55px, 7vw, 92px);
  padding: clamp(36px, 5vw, 56px);
  text-align: center;
  border: 1px solid rgba(136, 153, 142, .10);
  border-radius: 28px;
  background: linear-gradient(110deg, #f3f7e9 0%, #fff4cb 50%, #edf5f3 100%);
  box-shadow: 0 14px 32px rgba(80, 92, 85, .05);
}

.home-doc-closing-quote blockquote {
  max-width: 800px;
  margin: 0 auto;
}

.home-doc-closing-quote blockquote p {
  margin: 0;
  color: #5c7165;
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(1.45rem, 3vw, 2.35rem);
  line-height: 1.45;
}

.home-doc-closing-quote blockquote footer {
  margin-top: 15px;
  color: #78867f;
  font-size: .92rem;
}

.home-doc-closing-quote .home-doc-actions {
  justify-content: center;
}

#from-a-to-z,
#meet-kasia-mati {
  scroll-margin-top: 110px;
}

@media (max-width: 720px) {
  .home-doc-section-inner {
    padding: 28px 22px;
    border-radius: 24px;
  }

  .home-doc-category-grid {
    grid-template-columns: 1fr;
  }
}


/* ==========================================================
   LEARNING CORNER — SIMPLE TITLE + IMAGE ITEMS
   ========================================================== */
.learning-item-header-simple {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
}

.learning-item-header-simple h1 {
  margin-bottom: 0;
}

.activity-bank-card-body.is-simple,
.home-learning-card-body.is-simple,
.learning-search-result-copy.is-simple {
  text-align: center;
}

.activity-bank-card-body.is-simple {
  display: grid;
  min-height: 82px;
  place-items: center;
}

.activity-bank-card-body.is-simple h4,
.home-learning-card-body.is-simple h3,
.learning-search-result-copy.is-simple h4 {
  margin-top: 0;
  margin-bottom: 0;
}

.home-learning-card-body.is-simple {
  display: grid;
  min-height: 92px;
  place-items: center;
}

/* ==========================================================
   HOMEPAGE — EDITORIAL SPLIT LAYOUT
   50/50: A-Z + Kasia & Mati
   67/33: Books + Learning Beyond
   ========================================================== */

.home-doc-split {
  display: grid;
  align-items: stretch;
  gap: clamp(20px, 2.5vw, 30px);
  margin-top: clamp(34px, 5vw, 68px);
  margin-bottom: clamp(34px, 5vw, 68px);
}

.home-doc-split-50 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-doc-split-67 {
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
}

.home-doc-split .home-doc-section {
  display: flex;
  margin: 0;
  min-width: 0;
}

.home-doc-split .home-doc-section-inner {
  display: flex;
  flex: 1;
  flex-direction: column;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: clamp(30px, 3.5vw, 46px);
}

.home-doc-split .home-doc-actions {
  margin-top: auto;
  padding-top: 24px;
}

/* Keep the longer A-Z and Kasia/Mati copy readable in equal columns. */
.home-doc-split-50 .home-doc-section-inner > p:not(.eyebrow) {
  font-size: .98rem;
  line-height: 1.72;
}

/* The 67% Books panel has room for the category list. */
.home-doc-split-67 .home-doc-books .home-doc-category-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* The 33% Learning panel is intentionally simpler and calmer. */
.home-doc-split-67 .home-doc-learning-beyond .home-doc-section-inner {
  justify-content: flex-start;
}

.home-doc-split-67 .home-doc-learning-beyond .home-doc-section-inner h2 {
  font-size: clamp(1.8rem, 3vw, 2.55rem);
}

/* ----------------------------------------------------------
   Widen "Where learning becomes an adventure."
   Match the main 1180px homepage content width.
   ---------------------------------------------------------- */
.home-learning-intro {
  width: min(1500px, calc(100% - 40px)) !important;
  max-width: 1500px !important;
}

.home-learning-intro .home-learning-intro-copy {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

.home-learning-intro .moving-image-reel {
  width: 100%;
}

/* Stack gracefully before the cards become cramped. */
@media (max-width: 980px) {
  .home-doc-split-50,
  .home-doc-split-67 {
    grid-template-columns: 1fr;
  }

  .home-doc-split-67 .home-doc-books .home-doc-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .home-doc-split {
    width: min(100% - 24px, 1180px);
    gap: 18px;
  }

  .home-doc-split .home-doc-section-inner {
    padding: 27px 22px;
  }

  .home-doc-split-67 .home-doc-books .home-doc-category-grid {
    grid-template-columns: 1fr;
  }

  .home-learning-intro {
    width: min(100% - 24px, 1180px) !important;
  }
}

/* ==========================================================
   HOMEPAGE — CONSISTENT WIDE CONTENT ALIGNMENT
   Align nav + all primary homepage boxes to one outer width.
   ========================================================== */

:root {
  --awa-home-wide: 1430px;
  --awa-home-gutter: 40px;
}

/* Main navigation band content */
.site-nav .nav-inner,
.site-nav-inner,
.nav-inner,
.primary-nav .section-shell,
.site-header .nav-shell {
  width: min(var(--awa-home-wide), calc(100% - var(--awa-home-gutter))) !important;
  max-width: var(--awa-home-wide) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Hero / "Where every letter..." */
.hero.section-shell {
  width: min(var(--awa-home-wide), calc(100% - var(--awa-home-gutter))) !important;
  max-width: var(--awa-home-wide) !important;
}

/* "Where learning becomes an adventure." */
.home-learning-intro {
  width: min(var(--awa-home-wide), calc(100% - var(--awa-home-gutter))) !important;
  max-width: var(--awa-home-wide) !important;
}

/* Both editorial split rows */
.home-doc-split {
  width: min(var(--awa-home-wide), calc(100% - var(--awa-home-gutter))) !important;
  max-width: var(--awa-home-wide) !important;
}

/* Do not let either card pair artificially shrink inside that width. */
.home-doc-split-50,
.home-doc-split-67 {
  width: min(var(--awa-home-wide), calc(100% - var(--awa-home-gutter))) !important;
  max-width: var(--awa-home-wide) !important;
}

/* Homepage Learning Corner / dynamic learning gallery area.
   Several selectors are included to cover the current homepage structure
   and preserve compatibility if the section class changes slightly. */
.home-learning-section,
.home-learning-gallery,
.home-learning-corner,
.learning-corner-home,
.home-learning,
section[aria-labelledby="home-learning-title"],
section[aria-label*="Learning Corner"] {
  width: min(var(--awa-home-wide), calc(100% - var(--awa-home-gutter))) !important;
  max-width: var(--awa-home-wide) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Any section-shell wrapping the dynamic homepage learning cards should
   follow the same outer alignment. */
.section-shell.home-learning-section,
.section-shell.home-learning-gallery,
.section-shell.home-learning-corner,
.section-shell.learning-corner-home {
  width: min(var(--awa-home-wide), calc(100% - var(--awa-home-gutter))) !important;
  max-width: var(--awa-home-wide) !important;
}

/* Keep inner text comfortable while the outer card becomes wider. */
.home-learning-intro .home-learning-intro-copy {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

/* Preserve 50/50 and 67/33 relationships inside the newly aligned width. */
.home-doc-split-50 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-doc-split-67 {
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
}

/* Tablet/mobile: consistent gutters and stacked content. */
@media (max-width: 980px) {
  :root {
    --awa-home-gutter: 28px;
  }

  .home-doc-split-50,
  .home-doc-split-67 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  :root {
    --awa-home-gutter: 20px;
  }

  .site-nav .nav-inner,
  .site-nav-inner,
  .nav-inner,
  .primary-nav .section-shell,
  .site-header .nav-shell,
  .hero.section-shell,
  .home-learning-intro,
  .home-doc-split,
  .home-doc-split-50,
  .home-doc-split-67,
  .home-learning-section,
  .home-learning-gallery,
  .home-learning-corner,
  .learning-corner-home,
  .home-learning,
  section[aria-labelledby="home-learning-title"],
  section[aria-label*="Learning Corner"] {
    width: min(var(--awa-home-wide), calc(100% - var(--awa-home-gutter))) !important;
  }
}


/* Exact current homepage Learning Corner section selectors */
.section-shell.home-learning-intro,
.home-doc-section.home-doc-learning-beyond,
.section-shell.home-learning-gallery-section {
  width: min(var(--awa-home-wide), calc(100% - var(--awa-home-gutter))) !important;
  max-width: var(--awa-home-wide) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ==========================================================
   HOMEPAGE — EXTRA WIDE ALIGNMENT
   Matches the broader visual scale of the Library /
   "Discoverable beyond the bookstore" section.
   ========================================================== */
:root {
  --awa-home-wide: 1430px;
}

.site-nav .nav-inner,
.site-nav-inner,
.nav-inner,
.primary-nav .section-shell,
.site-header .nav-shell,
.hero.section-shell,
.home-learning-intro,
.home-doc-split,
.home-doc-split-50,
.home-doc-split-67,
.home-learning-section,
.home-learning-gallery,
.home-learning-corner,
.learning-corner-home,
.home-learning,
section[aria-labelledby="home-learning-title"],
section[aria-label*="Learning Corner"] {
  width: min(1500px, calc(100% - 40px)) !important;
  max-width: 1500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Give the split cards more breathing room inside the wider frame. */
.home-doc-split {
  gap: clamp(24px, 2.2vw, 34px);
}

/* Keep the longer copy comfortably readable without shrinking the cards. */
.home-doc-split .home-doc-section-inner {
  max-width: none !important;
  width: 100%;
}

/* Preserve the intended proportions. */
.home-doc-split-50 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.home-doc-split-67 {
  grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr);
}

/* Let the "Where learning..." content use more of its new width. */
.home-learning-intro .home-learning-intro-copy {
  max-width: 1160px !important;
}

/* Homepage Learning Corner should also fill the wider visual rhythm. */
.home-learning-grid,
.home-learning-cards,
.home-learning-track {
  max-width: none !important;
  width: 100% !important;
}

@media (max-width: 1100px) {
  .home-doc-split-50,
  .home-doc-split-67 {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 680px) {
  .site-nav .nav-inner,
  .site-nav-inner,
  .nav-inner,
  .primary-nav .section-shell,
  .site-header .nav-shell,
  .hero.section-shell,
  .home-learning-intro,
  .home-doc-split,
  .home-doc-split-50,
  .home-doc-split-67,
  .home-learning-section,
  .home-learning-gallery,
  .home-learning-corner,
  .learning-corner-home,
  .home-learning,
  section[aria-labelledby="home-learning-title"],
  section[aria-label*="Learning Corner"] {
    width: min(1500px, calc(100% - 20px)) !important;
  }
}

/* ==========================================================
   PUBLIC SITE TYPOGRAPHY — PALATINO
   Classic literary system font stack; no external font files.
   ========================================================== */
:root {
  --awa-serif: "Palatino Linotype", "Book Antiqua", Palatino, "URW Palladio L", Georgia, serif;
}

/* Primary public-site typography */
html,
body,
button,
input,
select,
textarea {
  font-family: var(--awa-serif);
}

/* Headings and editorial display text */
h1,
h2,
h3,
h4,
h5,
h6,
.hero h1,
.hero-title-line,
.home-doc-section-inner h2,
.home-doc-emphasis,
.home-doc-closing-quote blockquote p,
.journal-hero h1,
.journal-card h2,
.post-title,
.learning-item-header h1 {
  font-family: var(--awa-serif) !important;
}

/* Navigation, buttons, metadata, and cards inherit Palatino too */
.site-nav,
.site-nav a,
.button,
.btn,
.eyebrow,
.footer-column,
.footer-brand-block,
.home-learning-card-body,
.activity-bank-card-body,
.learning-search-result-copy,
.journal-card-body {
  font-family: var(--awa-serif);
}

/* Slightly tune spacing for Palatino's wider classical forms. */
body {
  letter-spacing: 0;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  letter-spacing: -0.012em;
}

.eyebrow {
  letter-spacing: .12em;
}

/* ==========================================================
   HOMEPAGE — CLEAN SECTION LABELS
   Repetitive eyebrow labels removed; main headings lead.
   ========================================================== */
.home-doc-section-inner > h2:first-child,
.home-learning-intro h2:first-child,
.library-copy > h2:first-child,
.home-learning-section h2:first-child,
.home-learning-gallery h2:first-child {
  margin-top: 0;
}

/* ==========================================================
   ABOUT PAGE — CLEAN 1500PX CENTERED EDITORIAL LAYOUT
   Simple, wide, calm, and consistent with the homepage.
   ========================================================== */

.about-clean-page {
  padding: 28px 0 70px;
}

/* ----------------------------------------------------------
   ONE CONSISTENT WIDTH FOR EVERY MAJOR ABOUT SECTION
   ---------------------------------------------------------- */
.about-clean-page .page-hero,
.about-clean-page .founders-prelude,
.about-clean-page .about-source-section {
  width: min(1500px, calc(100% - 40px)) !important;
  max-width: 1500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Remove the old full-bleed / stacked-page feel. */
.about-clean-page .about-source-section {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* ----------------------------------------------------------
   OPENING QUOTE / ABOUT HERO
   ---------------------------------------------------------- */
.about-clean-page .page-hero {
  margin-top: 0 !important;
  margin-bottom: 26px !important;
  padding: clamp(42px, 5vw, 72px) !important;
  border: 1px solid rgba(119, 137, 126, .10);
  border-radius: 30px;
  background: linear-gradient(135deg, #f7f9f4 0%, #fffaf0 55%, #f3f7f5 100%) !important;
  box-shadow: 0 14px 34px rgba(77, 91, 83, .045);
}

/* Keep the opening quote elegant and uncluttered. */
.about-clean-page .page-hero h1 {
  margin-top: 0;
}

.about-clean-page .page-hero blockquote,
.about-clean-page .about-hero-quote {
  max-width: 980px;
  margin-left: auto;
  margin-right: auto;
}

/* ----------------------------------------------------------
   FOUNDERS — CLEAN IMAGE + TEXT PANEL
   ---------------------------------------------------------- */
.about-clean-page .founders-prelude {
  margin-top: 0 !important;
  margin-bottom: 26px !important;
  padding: clamp(34px, 4vw, 54px) !important;
  border: 1px solid rgba(119, 137, 126, .10);
  border-radius: 30px;
  background: #fffdf9 !important;
  box-shadow: 0 14px 34px rgba(77, 91, 83, .04);
}

/* Let the existing founders layout breathe without changing its content. */
.about-clean-page .founders-prelude-simple {
  gap: clamp(28px, 4vw, 56px) !important;
}

.about-clean-page .founders-prelude img {
  border-radius: 24px;
}

/* ----------------------------------------------------------
   ALL STORY SECTIONS
   ---------------------------------------------------------- */
.about-clean-page .about-source-section .about-source-inner {
  width: 100% !important;
  max-width: 1500px !important;
  margin: 0 !important;
  padding: clamp(34px, 4vw, 54px) !important;
  border: 1px solid rgba(119, 137, 126, .09);
  border-radius: 28px;
  background: #fffdf9 !important;
  box-shadow: 0 12px 30px rgba(77, 91, 83, .035);
}

/* Very subtle alternation only — no busy color blocking. */
.about-clean-page .about-source-section:nth-of-type(even) .about-source-inner {
  background: #f8faf7 !important;
}

.about-clean-page .about-source-section:nth-of-type(odd) .about-source-inner {
  background: #fffdf9 !important;
}

/* Section typography */
.about-clean-page .about-source-section h2 {
  max-width: 1080px;
  margin: 0 0 20px !important;
  color: #52635a;
  font-family: var(--awa-serif) !important;
  font-size: clamp(2rem, 3vw, 3rem);
  font-weight: 500;
  line-height: 1.12;
  letter-spacing: -0.015em;
}

.about-clean-page .about-source-section p {
  max-width: 1180px;
  color: #59645f;
  font-size: 1.03rem;
  line-height: 1.8;
}

/* Keep short callout-style sections visually centered only where helpful. */
.about-clean-page .about-source-section h2 + p:last-child {
  margin-bottom: 0;
}

/* ----------------------------------------------------------
   KASIA / MATI ANCHORED SECTION
   ---------------------------------------------------------- */
.about-clean-page #meet-kasia-mati,
.about-clean-page #from-a-to-z {
  scroll-margin-top: 120px;
}

/* ----------------------------------------------------------
   FINAL A-Z SECTION
   Keep the richer A-Z content but place it inside the same
   clean 1430px panel instead of a separate visual language.
   ---------------------------------------------------------- */
.about-clean-page #from-a-to-z {
  margin-top: 36px !important;
}

.about-clean-page #from-a-to-z .about-source-inner {
  padding: clamp(36px, 4vw, 58px) !important;
  background: #fbfcf8 !important;
}

.about-clean-page #from-a-to-z .home-az-grid,
.about-clean-page #from-a-to-z .about-az-grid {
  width: 100%;
  max-width: none !important;
}

/* Preserve the existing closing message, but soften the container. */
.about-clean-page .about-final-closing,
.about-clean-page .about-closing-box {
  margin-top: 36px !important;
  border-radius: 24px !important;
  box-shadow: none !important;
}

/* ----------------------------------------------------------
   RETAILER STRIP / FOOTER SPACING
   ---------------------------------------------------------- */
.about-clean-page .retailer-ticker {
  width: min(1500px, calc(100% - 40px)) !important;
  max-width: 1500px !important;
  margin: 34px auto 0 !important;
}

/* ----------------------------------------------------------
   TABLET / MOBILE
   ---------------------------------------------------------- */
@media (max-width: 900px) {
  .about-clean-page .page-hero,
  .about-clean-page .founders-prelude,
  .about-clean-page .about-source-section,
  .about-clean-page .retailer-ticker {
    width: min(1500px, calc(100% - 28px)) !important;
  }
}

@media (max-width: 680px) {
  .about-clean-page {
    padding-top: 16px;
  }

  .about-clean-page .page-hero,
  .about-clean-page .founders-prelude,
  .about-clean-page .about-source-section,
  .about-clean-page .retailer-ticker {
    width: min(1500px, calc(100% - 20px)) !important;
  }

  .about-clean-page .page-hero,
  .about-clean-page .founders-prelude,
  .about-clean-page .about-source-section .about-source-inner {
    padding: 26px 21px !important;
    border-radius: 22px;
  }

  .about-clean-page .about-source-section {
    margin-top: 16px !important;
    margin-bottom: 16px !important;
  }
}

/* ==========================================================
   ABOUT PAGE — 1500PX + CENTERED STORY CONTENT
   Founders remain image/text; everything below is centered.
   ========================================================== */

/* One larger consistent About width. */
.about-clean-page .page-hero,
.about-clean-page .founders-prelude,
.about-clean-page .about-source-section,
.about-clean-page .retailer-ticker {
  width: min(1500px, calc(100% - 40px)) !important;
  max-width: 1500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Keep the founders introduction itself as the visual exception:
   image/text layout remains unchanged and left-aligned for readability. */
.about-clean-page .founders-prelude,
.about-clean-page .founders-prelude * {
  text-align: initial;
}

/* Everything after the founders section becomes centered. */
.about-clean-page .about-source-section .about-source-inner {
  text-align: center !important;
}

/* Center headings and readable text blocks without making lines too long. */
.about-clean-page .about-source-section h2 {
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.about-clean-page .about-source-section p {
  max-width: 1200px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* Center buttons, links, quotes, callouts, and small supporting content. */
.about-clean-page .about-source-section .button-row,
.about-clean-page .about-source-section .about-actions,
.about-clean-page .about-source-section .about-final-closing,
.about-clean-page .about-source-section .about-closing-box,
.about-clean-page .about-source-section blockquote {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* Keep the A–Z grid itself centered within the wider section. */
.about-clean-page #from-a-to-z .about-az-grid,
.about-clean-page #from-a-to-z .home-az-grid {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* A–Z item text can remain centered too for visual consistency. */
.about-clean-page #from-a-to-z .about-az-item,
.about-clean-page #from-a-to-z .home-az-item,
.about-clean-page #from-a-to-z .about-az-card,
.about-clean-page #from-a-to-z .home-az-card {
  text-align: center !important;
}

/* Mobile gutters stay comfortable. */
@media (max-width: 900px) {
  .about-clean-page .page-hero,
  .about-clean-page .founders-prelude,
  .about-clean-page .about-source-section,
  .about-clean-page .retailer-ticker {
    width: min(1500px, calc(100% - 28px)) !important;
  }
}

@media (max-width: 680px) {
  .about-clean-page .page-hero,
  .about-clean-page .founders-prelude,
  .about-clean-page .about-source-section,
  .about-clean-page .retailer-ticker {
    width: min(1500px, calc(100% - 20px)) !important;
  }
}

/* ==========================================================
   ABOUT PAGE — COMPACT OPENING QUOTE
   Keep 1500px width; reduce quote box height and typography.
   ========================================================== */

/* Keep the same overall page width but make the opening quote panel
   roughly half as tall as before. */
.about-clean-page .page-hero {
  width: min(1500px, calc(100% - 40px)) !important;
  max-width: 1500px !important;
  min-height: 0 !important;
  padding: clamp(20px, 2.5vw, 34px) !important;
  margin-bottom: 22px !important;
}

/* Make the opening About heading more restrained. */
.about-clean-page .page-hero h1 {
  margin: 0 0 10px !important;
  font-size: clamp(1.65rem, 2.4vw, 2.35rem) !important;
  line-height: 1.08 !important;
}

/* Opening quote: significantly smaller and more elegant. */
.about-clean-page .page-hero blockquote,
.about-clean-page .about-hero-quote {
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 0 !important;
}

.about-clean-page .page-hero blockquote p,
.about-clean-page .about-hero-quote p,
.about-clean-page .page-hero .quote-text {
  margin: 0 !important;
  font-size: clamp(1rem, 1.55vw, 1.35rem) !important;
  line-height: 1.42 !important;
}

/* Attribution: smaller and lighter. */
.about-clean-page .page-hero blockquote footer,
.about-clean-page .about-hero-quote footer,
.about-clean-page .page-hero .quote-attribution {
  margin-top: 8px !important;
  font-size: clamp(.78rem, 1vw, .9rem) !important;
  line-height: 1.3 !important;
}

/* If the quote is rendered as ordinary paragraphs in the hero,
   keep those compact too. */
.about-clean-page .page-hero p {
  margin-top: 6px;
  margin-bottom: 6px;
}

@media (max-width: 680px) {
  .about-clean-page .page-hero {
    width: min(1500px, calc(100% - 20px)) !important;
    padding: 18px 16px !important;
  }
}

/* ==========================================================
   MOTHER PREVIEW — PASTEL SERVICE-CARD DESIGN
   Inspired by the lifted service cards on Amber Moon Publishing.
   ========================================================== */

:root {
  --awa-wide: 1500px;
  --awa-gutter: 40px;
  --pastel-yellow-bg: #fff8d9;
  --pastel-yellow-shadow: #f1e2a2;
  --pastel-blue-bg: #eaf5ff;
  --pastel-blue-shadow: #c7e1f4;
  --pastel-green-bg: #edf8e9;
  --pastel-green-shadow: #cfe7c7;
  --pastel-pink-bg: #fff0ef;
  --pastel-pink-shadow: #f2cecc;
  --pastel-lavender-bg: #f3effb;
  --pastel-lavender-shadow: #ddd3ef;
  --pastel-cream-bg: #fffaf1;
  --pastel-cream-shadow: #eadfc9;
}

/* Shared wide alignment */
.home-pastel-stack > .section-shell,
.home-pastel-stack > .retailer-ticker,
.about-pastel-stack > .section-shell,
.about-pastel-stack > .about-source-section,
.about-pastel-stack > .page-hero,
.about-pastel-stack > .founders-prelude {
  width: min(var(--awa-wide), calc(100% - var(--awa-gutter))) !important;
  max-width: var(--awa-wide) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.main-nav,
.site-header .main-nav {
  width: min(var(--awa-wide), calc(100% - var(--awa-gutter))) !important;
  max-width: var(--awa-wide) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Main lifted-card treatment */
.awa-service-card {
  position: relative;
  margin-top: 34px !important;
  margin-bottom: 46px !important;
  border: 1px solid rgba(78, 94, 86, .08) !important;
  border-radius: 32px !important;
  overflow: visible;
  background: #fff;
}

.awa-service-card.pastel-yellow {
  background: var(--pastel-yellow-bg) !important;
  box-shadow: 14px 16px 0 var(--pastel-yellow-shadow), 0 22px 48px rgba(75, 88, 81, .08) !important;
}
.awa-service-card.pastel-blue {
  background: var(--pastel-blue-bg) !important;
  box-shadow: 14px 16px 0 var(--pastel-blue-shadow), 0 22px 48px rgba(75, 88, 81, .08) !important;
}
.awa-service-card.pastel-green {
  background: var(--pastel-green-bg) !important;
  box-shadow: 14px 16px 0 var(--pastel-green-shadow), 0 22px 48px rgba(75, 88, 81, .08) !important;
}
.awa-service-card.pastel-pink {
  background: var(--pastel-pink-bg) !important;
  box-shadow: 14px 16px 0 var(--pastel-pink-shadow), 0 22px 48px rgba(75, 88, 81, .08) !important;
}
.awa-service-card.pastel-lavender {
  background: var(--pastel-lavender-bg) !important;
  box-shadow: 14px 16px 0 var(--pastel-lavender-shadow), 0 22px 48px rgba(75, 88, 81, .08) !important;
}
.awa-service-card.pastel-cream {
  background: var(--pastel-cream-bg) !important;
  box-shadow: 14px 16px 0 var(--pastel-cream-shadow), 0 22px 48px rgba(75, 88, 81, .08) !important;
}

/* Homepage: absolutely no split rows. Each card gets the full width. */
.home-doc-split,
.home-doc-split-50,
.home-doc-split-67 {
  display: block !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
}

.home-doc-stack-card {
  padding: clamp(34px, 4vw, 60px) !important;
}

.home-doc-stack-card .home-doc-section-inner {
  width: 100%;
  max-width: 1260px !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center;
}

.home-doc-stack-card h2 {
  margin: 0 auto 24px !important;
  font-size: clamp(2.15rem, 3.2vw, 3.45rem) !important;
  font-weight: 500;
}

.home-doc-stack-card p {
  max-width: 1160px;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.05rem;
  line-height: 1.82;
}

.home-doc-stack-card .home-doc-actions {
  justify-content: center;
}

.home-doc-stack-card .home-doc-category-grid {
  max-width: 1060px;
  margin-left: auto;
  margin-right: auto;
}

/* Hero remains one single card, not a pair of boxes. */
.home-pastel-stack .hero {
  width: min(var(--awa-wide), calc(100% - var(--awa-gutter))) !important;
  max-width: var(--awa-wide) !important;
  padding: clamp(38px, 4.5vw, 68px) !important;
}

.home-pastel-stack .hero-copy {
  max-width: 860px;
}

.home-pastel-stack .hero-art img {
  max-width: 390px;
}

/* Keep "Where learning becomes an adventure." content exactly intact;
   only give the section the new wide lifted-card treatment. */
.home-pastel-stack .home-learning-intro {
  width: min(var(--awa-wide), calc(100% - var(--awa-gutter))) !important;
  max-width: var(--awa-wide) !important;
  padding: clamp(40px, 4vw, 64px) !important;
}

.home-pastel-stack .home-learning-copy {
  max-width: 1180px !important;
  margin-left: auto;
  margin-right: auto;
}

/* Library / Learning gallery */
.home-pastel-stack .catalog-recognition,
.home-pastel-stack .home-learning-gallery-section {
  width: min(var(--awa-wide), calc(100% - var(--awa-gutter))) !important;
  max-width: var(--awa-wide) !important;
  padding: clamp(36px, 4vw, 60px) !important;
}

.home-pastel-stack .retailer-ticker {
  width: min(var(--awa-wide), calc(100% - var(--awa-gutter))) !important;
  max-width: var(--awa-wide) !important;
  margin-top: 36px !important;
}

/* Closing quote */
.home-pastel-stack .home-doc-closing-quote {
  padding: clamp(34px, 4vw, 54px) !important;
}

/* ==========================================================
   ABOUT — same service-card language, one box below another.
   ========================================================== */
.about-pastel-stack {
  padding: 20px 0 64px;
}

.about-pastel-stack .page-hero,
.about-pastel-stack .founders-prelude,
.about-pastel-stack .about-source-section {
  width: min(var(--awa-wide), calc(100% - var(--awa-gutter))) !important;
  max-width: var(--awa-wide) !important;
}

.about-pastel-stack .page-hero {
  min-height: 0 !important;
  padding: 20px 32px !important;
  text-align: center;
}

.about-pastel-stack .page-hero h1 {
  margin: 0 0 6px !important;
  font-size: clamp(1.55rem, 2vw, 2.1rem) !important;
}

.about-pastel-stack .page-hero .about-opening-quote,
.about-pastel-stack .page-hero blockquote,
.about-pastel-stack .about-quote {
  max-width: 860px !important;
  margin: 0 auto !important;
}

.about-pastel-stack .page-hero p {
  font-size: clamp(.98rem, 1.2vw, 1.15rem) !important;
  line-height: 1.42 !important;
}

.about-pastel-stack .about-source-section {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.about-pastel-stack .about-source-section .about-source-inner {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(40px, 4vw, 64px) !important;
  border-radius: 32px !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: center !important;
}

.about-pastel-stack .about-source-section h2 {
  max-width: 1180px;
  margin: 0 auto 22px !important;
  font-size: clamp(2rem, 3vw, 3.1rem);
  font-weight: 500;
}

.about-pastel-stack .about-source-section p {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  font-size: 1.03rem;
  line-height: 1.8;
}

/* Founders / robot image: oval with a soft shadow. */
.about-pastel-stack .founders-prelude {
  padding: clamp(40px, 4vw, 64px) !important;
}

.about-pastel-stack .founders-simple-image {
  overflow: hidden !important;
  border-radius: 50% / 42% !important;
  box-shadow: 0 20px 38px rgba(63, 77, 69, .18);
  background: #fff;
}

.about-pastel-stack .founders-simple-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: inherit !important;
}

/* Character sections */
.about-pastel-stack .about-character-card .about-source-inner {
  text-align: initial !important;
}

.about-character-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr);
  gap: clamp(30px, 5vw, 72px);
  align-items: center;
}

.about-character-copy {
  text-align: center;
}

.about-character-art {
  display: flex;
  align-items: end;
  justify-content: center;
  min-height: 420px;
}

.about-character-art > img {
  width: auto;
  max-width: 100%;
  max-height: 620px;
  object-fit: contain;
  filter: drop-shadow(0 18px 20px rgba(61, 75, 67, .14));
}

.about-character-duo-art {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  align-items: end;
}

.about-character-duo-art > img {
  max-height: 520px;
}

.about-character-mati .about-character-layout {
  grid-template-columns: minmax(260px, .55fr) minmax(0, 1.45fr);
}

.about-character-mati .about-character-copy {
  order: 2;
}

.about-character-mati .about-character-art {
  order: 1;
}

/* A-Z internal cards remain colorful but are softened by the large pastel section. */
.about-pastel-stack #from-a-to-z .about-source-inner {
  text-align: center !important;
}

/* ==========================================================
   RESPONSIVE
   ========================================================== */
@media (max-width: 980px) {
  :root { --awa-gutter: 28px; }

  .about-character-layout,
  .about-character-mati .about-character-layout {
    grid-template-columns: 1fr;
  }

  .about-character-mati .about-character-copy,
  .about-character-mati .about-character-art {
    order: initial;
  }

  .about-character-art {
    min-height: 0;
  }

  .about-character-art > img {
    max-height: 520px;
  }
}

@media (max-width: 680px) {
  :root { --awa-gutter: 20px; }

  .awa-service-card {
    border-radius: 24px !important;
    box-shadow: 8px 10px 0 rgba(180,190,180,.18), 0 16px 34px rgba(75,88,81,.07) !important;
  }

  .home-doc-stack-card,
  .home-pastel-stack .home-learning-intro,
  .home-pastel-stack .catalog-recognition,
  .home-pastel-stack .home-learning-gallery-section,
  .about-pastel-stack .founders-prelude,
  .about-pastel-stack .about-source-section .about-source-inner {
    padding: 28px 20px !important;
  }

  .about-character-duo-art {
    gap: 2px;
  }
}

/* About retailer strip follows the same wide pastel-page alignment. */
.about-pastel-stack > .retailer-ticker {
  width: min(var(--awa-wide), calc(100% - var(--awa-gutter))) !important;
  max-width: var(--awa-wide) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ==========================================================
   BOOKS PAGE — CLEANER INTRO + SMALLER BOOK TITLES
   ========================================================== */

/* Shorter / calmer Books introduction. */
.books-page-hero {
  min-height: 0 !important;
  padding-top: clamp(22px, 2.4vw, 34px) !important;
  padding-bottom: clamp(22px, 2.4vw, 34px) !important;
}

.books-page-hero h1 {
  margin-top: 4px !important;
  margin-bottom: 8px !important;
  font-size: clamp(2.15rem, 3.3vw, 3.25rem) !important;
  line-height: 1.05 !important;
}

.books-page-hero .page-lead {
  max-width: 720px !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* No extra heading block before the collection. */
.books-catalog-section {
  padding-top: clamp(28px, 3vw, 42px) !important;
}

.books-catalog-grid {
  margin-top: 0 !important;
}

/* The book names were visually overpowering the card.
   Keep them comfortably smaller and more consistent. */
.books-catalog-copy h2 {
  margin: 0 !important;
  font-size: clamp(1.18rem, 1.4vw, 1.48rem) !important;
  line-height: 1.18 !important;
  font-weight: 500 !important;
}

/* One concise description only. */
.books-catalog-copy > p:not(.books-learning-label):not(.eyebrow):not(.books-managed-subtitle) {
  margin: 12px 0 0 !important;
  font-size: .94rem;
  line-height: 1.62;
}

/* Static author rows are no longer used on the collection cards. */
.books-catalog-authors {
  display: none !important;
}

.books-catalog-copy .book-link {
  margin-top: auto !important;
  padding-top: 20px !important;
}

@media (max-width: 700px) {
  .books-catalog-copy h2 {
    font-size: 1.32rem !important;
  }

  .books-page-hero {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
  }
}

/* ==========================================================
   BOOKS PAGE — CARD TYPOGRAPHY
   Titles max 15pt; supporting text 12pt.
   ========================================================== */

/* 15pt = 20px */
.books-catalog-copy h2,
.books-managed-title {
  font-size: 15pt !important;
  line-height: 1.18 !important;
  font-weight: 500 !important;
}

/* 12pt = 16px */
.books-catalog-copy > p,
.books-catalog-copy .book-link,
.books-catalog-copy .books-learning-connection,
.books-catalog-copy .books-learning-label,
.books-catalog-copy .books-managed-subtitle,
.books-catalog-copy small,
.books-managed-card p,
.books-managed-card .book-link,
.books-managed-card small {
  font-size: 12pt !important;
  line-height: 1.55 !important;
}

/* Keep the page-level "Books" title larger for hierarchy. */
.books-page-hero h1 {
  font-size: clamp(2.15rem, 3.3vw, 3.25rem) !important;
}

/* ==========================================================
   ABOUT ALIGNMENT FIX + SOFT 10–15% PASTELS
   ========================================================== */

/* Softer pastel fills: about 10–15% tint over white. */
:root {
  --pastel-yellow-bg: rgba(255, 214, 64, .13);
  --pastel-yellow-shadow: rgba(222, 188, 65, .16);

  --pastel-blue-bg: rgba(77, 170, 235, .11);
  --pastel-blue-shadow: rgba(88, 152, 202, .14);

  --pastel-green-bg: rgba(114, 186, 91, .11);
  --pastel-green-shadow: rgba(111, 158, 96, .14);

  --pastel-pink-bg: rgba(230, 104, 118, .10);
  --pastel-pink-shadow: rgba(203, 117, 124, .13);

  --pastel-lavender-bg: rgba(154, 121, 205, .10);
  --pastel-lavender-shadow: rgba(147, 124, 184, .13);

  --pastel-cream-bg: rgba(225, 186, 118, .10);
  --pastel-cream-shadow: rgba(194, 164, 115, .13);
}

/* Keep the lifted-card effect, but make the shadow gentler too. */
.awa-service-card.pastel-yellow {
  background: var(--pastel-yellow-bg) !important;
  box-shadow:
    11px 12px 0 var(--pastel-yellow-shadow),
    0 18px 40px rgba(75, 88, 81, .055) !important;
}

.awa-service-card.pastel-blue {
  background: var(--pastel-blue-bg) !important;
  box-shadow:
    11px 12px 0 var(--pastel-blue-shadow),
    0 18px 40px rgba(75, 88, 81, .055) !important;
}

.awa-service-card.pastel-green {
  background: var(--pastel-green-bg) !important;
  box-shadow:
    11px 12px 0 var(--pastel-green-shadow),
    0 18px 40px rgba(75, 88, 81, .055) !important;
}

.awa-service-card.pastel-pink {
  background: var(--pastel-pink-bg) !important;
  box-shadow:
    11px 12px 0 var(--pastel-pink-shadow),
    0 18px 40px rgba(75, 88, 81, .055) !important;
}

.awa-service-card.pastel-lavender {
  background: var(--pastel-lavender-bg) !important;
  box-shadow:
    11px 12px 0 var(--pastel-lavender-shadow),
    0 18px 40px rgba(75, 88, 81, .055) !important;
}

.awa-service-card.pastel-cream {
  background: var(--pastel-cream-bg) !important;
  box-shadow:
    11px 12px 0 var(--pastel-cream-shadow),
    0 18px 40px rgba(75, 88, 81, .055) !important;
}

/* ----------------------------------------------------------
   ABOUT — FORCE ONE CLEAN CENTERED 1500PX COLUMN
   ---------------------------------------------------------- */
.about-aligned-page {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 18px 0 64px;
}

/* Critical fix: the old document-flow wrapper must not create its own
   width/grid/positioning context. */
.about-aligned-page .about-document-flow {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Every major About box gets exactly the same centered width. */
.about-aligned-page .page-hero,
.about-aligned-page .founders-prelude,
.about-aligned-page .about-source-section,
.about-aligned-page .retailer-ticker {
  display: block;
  box-sizing: border-box;
  width: min(1500px, calc(100% - 40px)) !important;
  max-width: 1500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  clear: both !important;
  transform: none !important;
}

/* Equal vertical rhythm. */
.about-aligned-page .page-hero,
.about-aligned-page .founders-prelude,
.about-aligned-page .about-source-section {
  margin-top: 28px !important;
  margin-bottom: 38px !important;
}

/* Full-width content inside each box. */
.about-aligned-page .about-source-section {
  padding: 0 !important;
}

.about-aligned-page .about-source-section .about-source-inner {
  box-sizing: border-box;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: clamp(34px, 4vw, 58px) !important;
}

/* Center all ordinary About copy. */
.about-aligned-page .about-source-section:not(.about-character-card)
.about-source-inner {
  text-align: center !important;
}

.about-aligned-page .about-source-section:not(.about-character-card) h2,
.about-aligned-page .about-source-section:not(.about-character-card) p,
.about-aligned-page .about-source-section:not(.about-character-card)
.about-source-short-lines {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Keep readable line lengths even though the card is wide. */
.about-aligned-page .about-source-section h2 {
  max-width: 1200px !important;
}

.about-aligned-page .about-source-section p {
  max-width: 1200px !important;
}

/* ----------------------------------------------------------
   FOUNDERS
   ---------------------------------------------------------- */
.about-aligned-page .founders-prelude {
  display: grid !important;
  grid-template-columns: minmax(260px, .42fr) minmax(0, 1.58fr) !important;
  gap: clamp(32px, 4vw, 60px) !important;
  align-items: center !important;
  padding: clamp(34px, 4vw, 56px) !important;
}

.about-aligned-page .founders-simple-image {
  width: min(100%, 420px) !important;
  aspect-ratio: 4 / 5;
  margin: 0 auto !important;
  overflow: hidden !important;
  border-radius: 50% / 42% !important;
  box-shadow: 0 16px 30px rgba(63, 77, 69, .14) !important;
}

.about-aligned-page .founders-simple-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.about-aligned-page .founders-simple-copy {
  min-width: 0;
}

/* ----------------------------------------------------------
   KASIA / MATI CARDS — CORRECT SECTION-LOCAL LAYOUT
   ---------------------------------------------------------- */
.about-aligned-page .about-character-card .about-source-inner {
  text-align: initial !important;
}

.about-aligned-page .about-character-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(260px, .55fr) !important;
  gap: clamp(32px, 5vw, 72px) !important;
  align-items: center !important;
}

.about-aligned-page .about-character-copy {
  text-align: center !important;
  min-width: 0;
}

.about-aligned-page .about-character-copy h2,
.about-aligned-page .about-character-copy p {
  margin-left: auto !important;
  margin-right: auto !important;
}

.about-aligned-page .about-character-art {
  min-width: 0;
  min-height: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: end !important;
}

.about-aligned-page .about-character-art > img {
  width: auto !important;
  max-width: 100% !important;
  max-height: 560px !important;
  object-fit: contain !important;
}

.about-aligned-page .about-character-duo-art {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 4px !important;
  align-items: end !important;
}

.about-aligned-page .about-character-duo-art > img {
  max-height: 500px !important;
}

/* Mati image on left, text on right. */
.about-aligned-page .about-character-mati .about-character-layout {
  grid-template-columns: minmax(260px, .55fr) minmax(0, 1.45fr) !important;
}

.about-aligned-page .about-character-mati .about-character-art {
  order: 1;
}

.about-aligned-page .about-character-mati .about-character-copy {
  order: 2;
}

/* Opening quote stays compact. */
.about-aligned-page .page-hero {
  min-height: 0 !important;
  padding: 18px 28px !important;
}

.about-aligned-page .about-opening-quote {
  max-width: 880px !important;
  margin: 0 auto !important;
}

/* A-Z section stays wide and centered. */
.about-aligned-page #from-a-to-z .about-source-inner {
  width: 100% !important;
  max-width: none !important;
  text-align: center !important;
}

/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */
@media (max-width: 980px) {
  .about-aligned-page .page-hero,
  .about-aligned-page .founders-prelude,
  .about-aligned-page .about-source-section,
  .about-aligned-page .retailer-ticker {
    width: min(1500px, calc(100% - 28px)) !important;
  }

  .about-aligned-page .founders-prelude,
  .about-aligned-page .about-character-layout,
  .about-aligned-page .about-character-mati .about-character-layout {
    grid-template-columns: 1fr !important;
  }

  .about-aligned-page .about-character-mati .about-character-art,
  .about-aligned-page .about-character-mati .about-character-copy {
    order: initial;
  }

  .about-aligned-page .about-character-art > img {
    max-height: 480px !important;
  }
}

@media (max-width: 680px) {
  .about-aligned-page .page-hero,
  .about-aligned-page .founders-prelude,
  .about-aligned-page .about-source-section,
  .about-aligned-page .retailer-ticker {
    width: min(1500px, calc(100% - 20px)) !important;
  }

  .about-aligned-page .about-source-section .about-source-inner,
  .about-aligned-page .founders-prelude {
    padding: 26px 20px !important;
  }
}

/* ==========================================================
   ABOUT — KASIA + MATI TEXT LEFT / OVAL IMAGE RIGHT
   HOMEPAGE — FULL-BLEED "TAKE THE ADVENTURE HOME"
   ========================================================== */

/* ----------------------------------------------------------
   KASIA + MATI INDIVIDUAL SECTIONS
   Both now use the same two-column layout:
   text left, image right.
   ---------------------------------------------------------- */
.about-aligned-page .about-character-kasia .about-character-layout,
.about-aligned-page .about-character-mati .about-character-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr) !important;
  gap: clamp(38px, 5vw, 76px) !important;
  align-items: center !important;
}

/* Explicitly keep text on the left for BOTH Kasia and Mati. */
.about-aligned-page .about-character-kasia .about-character-copy,
.about-aligned-page .about-character-mati .about-character-copy {
  order: 1 !important;
  text-align: left !important;
}

.about-aligned-page .about-character-kasia .about-character-art,
.about-aligned-page .about-character-mati .about-character-art {
  order: 2 !important;
}

/* Keep headings/text comfortably readable on the left. */
.about-aligned-page .about-character-kasia .about-character-copy h2,
.about-aligned-page .about-character-kasia .about-character-copy p,
.about-aligned-page .about-character-mati .about-character-copy h2,
.about-aligned-page .about-character-mati .about-character-copy p {
  max-width: 900px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  text-align: left !important;
}

/* Character artwork now sits in an oval portrait frame. */
.about-aligned-page .about-character-kasia .about-character-art,
.about-aligned-page .about-character-mati .about-character-art {
  width: min(100%, 390px) !important;
  aspect-ratio: 4 / 5;
  min-height: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 18px 10px 6px !important;
  overflow: hidden !important;
  border-radius: 50% / 42% !important;
  background: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(100, 120, 110, .08);
  box-shadow:
    0 20px 38px rgba(63, 77, 69, .15),
    0 5px 12px rgba(63, 77, 69, .06) !important;
}

/* Fit the supplied full-body character art neatly inside the oval. */
.about-aligned-page .about-character-kasia .about-character-art > img,
.about-aligned-page .about-character-mati .about-character-art > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  filter: none !important;
}

/* Meet Kasia & Mati together can stay as the existing paired artwork. */
.about-aligned-page .about-character-duo .about-character-copy {
  text-align: center !important;
}

/* ----------------------------------------------------------
   HOMEPAGE RETAILER / "TAKE THE ADVENTURE HOME"
   True full-bleed width: browser edge to browser edge.
   ---------------------------------------------------------- */
.home-pastel-stack > .retailer-ticker,
.home-pastel-stack .retailer-ticker {
  position: relative !important;
  left: 50% !important;
  right: auto !important;
  width: 100vw !important;
  max-width: none !important;
  margin-left: -50vw !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
}

/* Let the moving retailer track use the entire available strip. */
.home-pastel-stack .retailer-ticker-track,
.home-pastel-stack .retailer-track,
.home-pastel-stack .retailer-ticker-inner,
.home-pastel-stack .retailer-ticker-shell {
  width: 100% !important;
  max-width: none !important;
}

/* Keep the title itself aligned pleasantly while the strip is full bleed. */
.home-pastel-stack .retailer-ticker-header,
.home-pastel-stack .retailer-ticker-title,
.home-pastel-stack .retailer-ticker h2 {
  width: min(1500px, calc(100% - 40px));
  max-width: 1500px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ----------------------------------------------------------
   RESPONSIVE
   ---------------------------------------------------------- */
@media (max-width: 980px) {
  .about-aligned-page .about-character-kasia .about-character-layout,
  .about-aligned-page .about-character-mati .about-character-layout {
    grid-template-columns: 1fr !important;
  }

  .about-aligned-page .about-character-kasia .about-character-copy,
  .about-aligned-page .about-character-mati .about-character-copy {
    order: 1 !important;
    text-align: center !important;
  }

  .about-aligned-page .about-character-kasia .about-character-art,
  .about-aligned-page .about-character-mati .about-character-art {
    order: 2 !important;
    width: min(100%, 340px) !important;
  }

  .about-aligned-page .about-character-kasia .about-character-copy h2,
  .about-aligned-page .about-character-kasia .about-character-copy p,
  .about-aligned-page .about-character-mati .about-character-copy h2,
  .about-aligned-page .about-character-mati .about-character-copy p {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
  }
}

@media (max-width: 680px) {
  .home-pastel-stack .retailer-ticker-header,
  .home-pastel-stack .retailer-ticker-title,
  .home-pastel-stack .retailer-ticker h2 {
    width: calc(100% - 20px);
  }
}

/* ==========================================================
   ABOUT — OUR MISSION TWO-COLUMN CARD GRID
   Inspired by the homepage Explore Our Books category boxes.
   ========================================================== */

.about-aligned-page [data-editor-label="Our Mission"] .about-source-inner {
  text-align: center !important;
}

.about-aligned-page [data-editor-label="Our Mission"] p {
  max-width: 1050px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.about-mission-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  width: min(100%, 1080px);
  margin: 28px auto 30px;
}

.about-mission-item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 14px 18px;
  border: 1px solid rgba(95, 117, 104, .10);
  border-radius: 16px;
  background: rgba(255,255,255,.62);
  box-shadow: 0 5px 14px rgba(72, 87, 79, .035);
  color: #55655d;
  font-size: 12pt;
  line-height: 1.45;
  text-align: center;
}

/* Make the final "wonder." feel intentional, like a closing statement. */
.about-aligned-page [data-editor-label="Our Mission"] p:last-child {
  margin-top: 22px !important;
}

.about-aligned-page [data-editor-label="Our Mission"] p:last-child strong,
.about-aligned-page [data-editor-label="Our Mission"] p:last-child b {
  font-size: 1.28em;
  color: #6d8678;
}

@media (max-width: 760px) {
  .about-mission-grid {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .about-mission-item {
    min-height: 52px;
    padding: 12px 15px;
  }
}

/* ==========================================================
   ABOUT — TYPOGRAPHY TUNING
   Keep emphasis without overpowering section headings.
   ========================================================== */

/* Our Mission closing word: smaller, calmer emphasis. */
.about-aligned-page [data-editor-label="Our Mission"] p:last-child strong,
.about-aligned-page [data-editor-label="Our Mission"] p:last-child b {
  font-size: 13pt !important;
  line-height: 1.2 !important;
  font-weight: 600 !important;
  color: #6d8678;
}

/* "A to Z is not simply the alphabet..." is a supporting subtitle,
   not a competing heading. */
.about-aligned-page #from-a-to-z h3:first-of-type,
.about-aligned-page [data-editor-label="From A to Z — and Beyond"] h3:first-of-type {
  font-size: 14pt !important;
  line-height: 1.35 !important;
  font-weight: 500 !important;
  max-width: 980px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ==========================================================
   ALL PAGES — FULL-WIDTH "TAKE THE ADVENTURE HOME"
   Any existing retailer strip now runs edge to edge.
   ========================================================== */

/* True full browser width on every page where the strip exists. */
.retailer-ticker {
  position: relative !important;
  left: 50% !important;
  right: auto !important;
  width: 100vw !important;
  max-width: none !important;
  margin-left: -50vw !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
  border-radius: 0 !important;
}

/* Remove section-shell/max-width constraints if retailer-ticker carries them. */
.section-shell.retailer-ticker,
main .retailer-ticker,
body .retailer-ticker {
  width: 100vw !important;
  max-width: none !important;
}

/* Let the moving retailer content use the full strip. */
.retailer-ticker-track,
.retailer-track,
.retailer-ticker-inner,
.retailer-ticker-shell {
  width: 100% !important;
  max-width: none !important;
}

/* Keep the heading/readable intro aligned with the site's wide content,
   while the actual strip background and retailer movement are edge-to-edge. */
.retailer-ticker-header,
.retailer-ticker-title,
.retailer-ticker > h2,
.retailer-ticker > p {
  width: min(1500px, calc(100% - 40px));
  max-width: 1500px;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Protect against a parent clipping the full-bleed strip. */
main,
.home-pastel-stack,
.about-pastel-stack,
.about-aligned-page {
  overflow-x: visible;
}

@media (max-width: 680px) {
  .retailer-ticker-header,
  .retailer-ticker-title,
  .retailer-ticker > h2,
  .retailer-ticker > p {
    width: calc(100% - 20px);
  }
}

/* ==========================================================
   RETAILER FULL-BLEED POSITION FIX
   Center the 100vw strip correctly from viewport edge to edge.
   ========================================================== */

/* Override the previous left:50% / -50vw positioning, which could
   shift the strip to the right when nested in a wide centered section. */
.retailer-ticker,
.section-shell.retailer-ticker,
main .retailer-ticker,
body .retailer-ticker {
  position: relative !important;
  left: auto !important;
  right: auto !important;

  width: 100vw !important;
  max-width: none !important;

  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;

  box-sizing: border-box !important;
  border-radius: 0 !important;
  transform: none !important;
}

/* Prevent the page itself from gaining an accidental horizontal scrollbar
   while allowing the full-bleed retailer band. */
html,
body {
  overflow-x: clip;
}

/* Keep retailer heading/content comfortably aligned inside the full-width band. */
.retailer-ticker-header,
.retailer-ticker-title,
.retailer-ticker > h2,
.retailer-ticker > p {
  width: min(1500px, calc(100% - 40px)) !important;
  max-width: 1500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* The moving logo track itself spans the whole band. */
.retailer-ticker-track,
.retailer-track,
.retailer-ticker-inner,
.retailer-ticker-shell {
  width: 100% !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 680px) {
  .retailer-ticker-header,
  .retailer-ticker-title,
  .retailer-ticker > h2,
  .retailer-ticker > p {
    width: calc(100% - 20px) !important;
  }
}

/* ==========================================================
   ABOUT — FROM A TO Z INTRO CENTERING
   ========================================================== */

.about-aligned-page #from-a-to-z .az-discovery-head,
.about-aligned-page #from-a-to-z .about-az-head {
  width: 100%;
  max-width: 1100px;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

.about-aligned-page #from-a-to-z .az-discovery-head .eyebrow,
.about-aligned-page #from-a-to-z .about-az-head .eyebrow,
.about-aligned-page #from-a-to-z .az-discovery-head h3,
.about-aligned-page #from-a-to-z .about-az-head h3,
.about-aligned-page #from-a-to-z .az-discovery-head .az-big-idea,
.about-aligned-page #from-a-to-z .about-az-head .az-big-idea {
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
}

/* Keep the supporting subtitle at the calmer size already requested. */
.about-aligned-page #from-a-to-z .az-discovery-head h3,
.about-aligned-page #from-a-to-z .about-az-head h3 {
  font-size: 14pt !important;
}

/* ==========================================================
   BOOKS — UNIFIED ADVENTURE WITH ALPHABET LIBRARY
   ========================================================== */

/* Compact library title replacing the oversized "Books" heading. */
.books-page-hero {
  min-height: 0 !important;
  padding-top: 22px !important;
  padding-bottom: 22px !important;
}

.books-page-hero h1 {
  margin: 0 0 10px !important;
  font-size: 17pt !important;
  line-height: 1.15 !important;
  font-weight: 500 !important;
}

.books-library-lead {
  display: grid;
  gap: 3px;
  max-width: 760px !important;
  margin: 0 auto !important;
  font-size: 12pt !important;
  line-height: 1.45 !important;
}

/* Upcoming titles use the Adventure with Alphabet logo instead of a cover. */
.books-upcoming-logo-cover {
  background:
    radial-gradient(circle at center, rgba(255,255,255,.96), rgba(246,249,239,.92)) !important;
}

.books-upcoming-logo {
  width: min(78%, 285px) !important;
  height: auto !important;
  max-height: 320px !important;
  object-fit: contain !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Keep the library cards clean and compact. */
.books-catalog-copy h2,
.books-managed-title {
  font-size: 15pt !important;
}

.books-catalog-copy > p,
.books-catalog-copy .book-link,
.books-managed-card p,
.books-managed-card .book-link {
  font-size: 12pt !important;
}

/* Retired category UI should never reappear from cached markup. */
.book-category-row,
.category-crosslinks,
.home-doc-category-grid {
  display: none !important;
}

/* ==========================================================
   BOOKS — DISCOVERABLE SECTION + RETAILER HEADING FLOW
   ========================================================== */

/* Books page uses the same Discoverable beyond the bookstore panel
   as the homepage, with the same wide alignment and visual treatment. */
.books-page .catalog-recognition,
body:has(.books-catalog-grid) .catalog-recognition {
  width: min(1500px, calc(100% - 40px)) !important;
  max-width: 1500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* "Take the adventure home." should read as one clean line. */
.retailer-ticker h2,
.retailer-ticker-title,
.retailer-ticker-header h2 {
  white-space: nowrap !important;
  font-size: clamp(1.7rem, 2.8vw, 2.8rem) !important;
  line-height: 1.08 !important;
}

/* Give Find Our Books + title a cleaner relationship. */
.retailer-ticker-header,
.retailer-ticker-title {
  display: block;
  text-align: center;
}

.retailer-ticker .eyebrow,
.retailer-ticker-header .eyebrow {
  margin-bottom: 6px !important;
}

/* On very small screens, allow the title to shrink enough to remain one line. */
@media (max-width: 620px) {
  .retailer-ticker h2,
  .retailer-ticker-title,
  .retailer-ticker-header h2 {
    font-size: clamp(1.15rem, 5.2vw, 1.65rem) !important;
    white-space: nowrap !important;
  }
}

/* ==========================================================
   ABOUT — FOUNDERS IMAGE RIGHT + QUOTE SIZE + DOT CLEANUP
   ========================================================== */

/* Move the Kasia & Mati tablet image to the RIGHT and make it ~20% larger. */
.about-aligned-page .founders-prelude.founders-image-right,
.about-pastel-stack .founders-prelude.founders-image-right {
  display: grid !important;
  grid-template-columns: minmax(0, 1.55fr) minmax(340px, .65fr) !important;
  gap: clamp(36px, 4.5vw, 72px) !important;
  align-items: center !important;
}

.about-aligned-page .founders-prelude.founders-image-right .founders-simple-copy,
.about-pastel-stack .founders-prelude.founders-image-right .founders-simple-copy {
  order: 1 !important;
}

.about-aligned-page .founders-prelude.founders-image-right .founders-simple-image,
.about-pastel-stack .founders-prelude.founders-image-right .founders-simple-image {
  order: 2 !important;
  width: min(100%, 504px) !important; /* ~20% larger than previous 420px */
  max-width: 504px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Opening quote requested sizes. */
.about-aligned-page .page-hero .about-opening-quote,
.about-pastel-stack .page-hero .about-opening-quote,
.about-aligned-page .page-hero blockquote,
.about-pastel-stack .page-hero blockquote {
  max-width: 980px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.about-aligned-page .page-hero .about-opening-quote p,
.about-pastel-stack .page-hero .about-opening-quote p,
.about-aligned-page .page-hero blockquote p,
.about-pastel-stack .page-hero blockquote p,
.about-aligned-page .page-hero .quote-text,
.about-pastel-stack .page-hero .quote-text {
  font-size: 14pt !important;
  line-height: 1.35 !important;
}

.about-aligned-page .page-hero .about-opening-quote footer,
.about-pastel-stack .page-hero .about-opening-quote footer,
.about-aligned-page .page-hero blockquote footer,
.about-pastel-stack .page-hero blockquote footer,
.about-aligned-page .page-hero .quote-attribution,
.about-pastel-stack .page-hero .quote-attribution {
  font-size: 9pt !important;
  line-height: 1.25 !important;
  margin-top: 6px !important;
}

/* Remove decorative colored dot ornaments everywhere, including any
   old CSS-generated versions that may remain in cached markup. */
.hero-dots,
.color-dots,
.decorative-dots,
.corner-dots,
.about-dots,
.accent-dots,
[class*="hero-dots"],
[class*="color-dots"],
[class*="corner-dots"],
[class*="accent-dots"] {
  display: none !important;
}

.page-hero::before,
.page-hero::after {
  /* Do not interfere with existing structural backgrounds unless they were tiny dot ornaments.
     Existing page backgrounds remain handled by their normal background rules. */
}

/* Responsive: stack naturally on smaller screens. */
@media (max-width: 980px) {
  .about-aligned-page .founders-prelude.founders-image-right,
  .about-pastel-stack .founders-prelude.founders-image-right {
    grid-template-columns: 1fr !important;
  }

  .about-aligned-page .founders-prelude.founders-image-right .founders-simple-copy,
  .about-pastel-stack .founders-prelude.founders-image-right .founders-simple-copy {
    order: 1 !important;
  }

  .about-aligned-page .founders-prelude.founders-image-right .founders-simple-image,
  .about-pastel-stack .founders-prelude.founders-image-right .founders-simple-image {
    order: 2 !important;
    width: min(100%, 440px) !important;
  }
}

/* ==========================================================
   SITE-WIDE DECORATIVE FOUR-DOT REMOVAL
   The colored dots were CSS-generated by hero/page-hero ::after.
   ========================================================== */
.hero::after,
.page-hero::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

/* ==========================================================
   FULL-WIDTH GREEN NAVBAR + PLANE ORBIT HERO
   ========================================================== */

/* Full-width green navbar band */
.main-nav {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  border-radius: 0 !important;
  padding: 12px 0 !important;
  background: linear-gradient(180deg, rgba(159, 188, 144, .96), rgba(143, 173, 129, .96)) !important;
  border-top: 1px solid rgba(118, 148, 109, .28) !important;
  border-bottom: 1px solid rgba(118, 148, 109, .28) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  box-shadow: 0 10px 22px rgba(90, 110, 84, .08) !important;
}

.main-nav .nav-list {
  width: min(1460px, calc(100% - 48px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center !important;
}

.nav-list a {
  background: rgba(255,255,255,.68) !important;
  border-color: rgba(115, 142, 107, .14) !important;
}

.nav-list a:hover,
.nav-list a:focus-visible {
  background: rgba(255,255,255,.86) !important;
}

.nav-list a.active {
  background: rgba(255,255,255,.94) !important;
  border-bottom-color: #78966e !important;
}

@media (max-width: 700px) {
  .main-nav {
    padding: 10px 0 !important;
  }

  .main-nav .nav-list {
    width: min(100% - 24px, 920px) !important;
  }
}

/* Replace rotating A with a small plane orbiting the hero badge */
.art-orbit::after {
  content: "" !important;
  width: 52px !important;
  height: 52px !important;
  top: -24px !important;
  left: calc(50% - 26px) !important;
  border-radius: 0 !important;
  background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 64 64'%3E%3Cg transform='rotate(-18 32 32)'%3E%3Cpath d='M6 34l20-6 17-16c2-2 5-2 7 0 2 2 2 5 0 7L34 36l-6 20-5-1 2-15-11-1z' fill='%235276a8'/%3E%3Cpath d='M34 36l16-17' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' opacity='.7'/%3E%3Ccircle cx='25' cy='29' r='1.8' fill='%23fff7dc'/%3E%3C/g%3E%3C/svg%3E") center / contain no-repeat !important;
  box-shadow: none !important;
}

.art-orbit-one::after {
  filter: drop-shadow(0 7px 12px rgba(55, 83, 118, .18)) !important;
}

.art-orbit-two::after {
  content: none !important;
  display: none !important;
}

/* Refine orbit rings so the plane feels cleaner and lighter */
.art-orbit {
  border: 1px dashed rgba(118, 151, 116, .28) !important;
}

.hero-art {
  overflow: visible !important;
}

/* ==========================================================
   GLOBAL QUOTE TYPOGRAPHY
   Use one consistent literary quote font across the site.
   ========================================================== */

/* Every visible quote uses the same Palatino literary face. */
blockquote,
blockquote p,
.quote,
.quote-text,
.hero-quote,
.hero-quote p,
.about-opening-quote,
.about-opening-quote p,
.about-quote,
.about-quote p,
.home-doc-closing-quote blockquote,
.home-doc-closing-quote blockquote p,
.founders-quote,
.founders-quote p,
.post-quote,
.post-quote p {
  font-family: var(--awa-serif, "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif) !important;
  font-style: italic;
}

/* Quote attributions use the same family but stay easy to read. */
blockquote footer,
.quote-attribution,
.hero-quote footer,
.about-opening-quote footer,
.about-quote footer,
.home-doc-closing-quote footer,
.founders-quote footer,
.post-quote footer {
  font-family: var(--awa-serif, "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif) !important;
  font-style: normal;
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* ==========================================================
   HOME HERO — ROTATING A–Z LETTER RING
   Letters only: no plane and no old A/Z orbit bubbles.
   ========================================================== */

.hero-art .alphabet-orbit-ring {
  --letter-count: 26;
  --orbit-radius: clamp(188px, 18vw, 250px);
  position: absolute;
  left: 50%;
  top: 50%;
  width: calc(var(--orbit-radius) * 2);
  height: calc(var(--orbit-radius) * 2);
  margin-left: calc(var(--orbit-radius) * -1);
  margin-top: calc(var(--orbit-radius) * -1);
  border: 1px dashed rgba(113, 144, 109, .24);
  border-radius: 50%;
  z-index: 0;
  pointer-events: none;
  animation: alphabet-ring-spin 42s linear infinite;
}

.hero-art .alphabet-letter-pos {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 0;
  height: 0;
  transform:
    rotate(calc((360deg / var(--letter-count)) * var(--i)))
    translateY(calc(var(--orbit-radius) * -1));
  transform-origin: center;
}

.hero-art .alphabet-orbit-letter {
  display: grid;
  place-items: center;
  width: 24px;
  height: 24px;
  margin: -12px 0 0 -12px;
  border-radius: 50%;
  background: rgba(255, 253, 248, .90);
  border: 1px solid rgba(115, 145, 111, .16);
  box-shadow: 0 4px 10px rgba(85, 103, 84, .07);
  font-family: var(--awa-serif, "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif);
  font-size: 10pt;
  font-weight: 600;
  line-height: 1;
  color: #6f896c;
  animation: alphabet-letter-counterspin 42s linear infinite;
}

/* Gentle pastel variation without competing with the badge. */
.hero-art .alphabet-letter-pos:nth-child(4n+1) .alphabet-orbit-letter {
  background: rgba(250, 244, 219, .92);
  color: #8c7a43;
}
.hero-art .alphabet-letter-pos:nth-child(4n+2) .alphabet-orbit-letter {
  background: rgba(235, 244, 250, .92);
  color: #65809b;
}
.hero-art .alphabet-letter-pos:nth-child(4n+3) .alphabet-orbit-letter {
  background: rgba(239, 246, 232, .92);
  color: #698466;
}
.hero-art .alphabet-letter-pos:nth-child(4n+4) .alphabet-orbit-letter {
  background: rgba(247, 237, 243, .92);
  color: #8d6f82;
}

@keyframes alphabet-ring-spin {
  to { transform: rotate(360deg); }
}

@keyframes alphabet-letter-counterspin {
  to { transform: rotate(-360deg); }
}

/* The main badge stays above the letter ring. */
.hero-art > img {
  position: relative;
  z-index: 2;
}

/* Old plane/A/Z orbit elements are retired. */
.hero-art .art-orbit,
.hero-art .art-orbit::after,
.hero-art .art-orbit-one,
.hero-art .art-orbit-two {
  display: none !important;
  content: none !important;
}

@media (max-width: 760px) {
  .hero-art .alphabet-orbit-ring {
    --orbit-radius: clamp(150px, 42vw, 190px);
  }

  .hero-art .alphabet-orbit-letter {
    width: 21px;
    height: 21px;
    margin: -10.5px 0 0 -10.5px;
    font-size: 8.5pt;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-art .alphabet-orbit-ring,
  .hero-art .alphabet-orbit-letter {
    animation: none !important;
  }
}

/* ==========================================================
   DISCOVERABLE BEYOND THE BOOKSTORE — EXPANDED COPY
   Same treatment on Home and Books.
   ========================================================== */

.catalog-recognition-copy p {
  max-width: 830px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.68;
}

.catalog-recognition-copy p + p {
  margin-top: 14px;
}

/* Books library intro now has one clean line only. */
.books-library-lead {
  display: block !important;
}

/* ==========================================================
   NAVBAR — TRUE FULL-VIEWPORT GREEN BAND
   The header itself is centered/narrower, so the navbar must bleed
   out of that container to reach both browser edges.
   ========================================================== */
.site-header .main-nav,
.main-nav {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  border-radius: 0 !important;
  box-sizing: border-box !important;
}

/* Keep the menu links aligned and readable inside the full-width band. */
.site-header .main-nav .nav-list,
.main-nav .nav-list {
  width: min(1460px, calc(100% - 48px)) !important;
  max-width: 1460px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 700px) {
  .site-header .main-nav,
  .main-nav {
    width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  .site-header .main-nav .nav-list,
  .main-nav .nav-list {
    width: calc(100% - 24px) !important;
  }
}


/* ==========================================================
   ABOUT PAGE — KASIA IMAGE LEFT OF TEXT + OVAL PORTRAIT
   ========================================================== */
.about-aligned-page .about-character-kasia .about-character-layout {
  grid-template-columns: minmax(300px, .55fr) minmax(0, 1.45fr) !important;
}

.about-aligned-page .about-character-kasia .about-character-art {
  order: 1 !important;
  margin-left: 0 !important;
  margin-right: auto !important;
  justify-self: start !important;
}

.about-aligned-page .about-character-kasia .about-character-copy {
  order: 2 !important;
}

.about-aligned-page .about-character-kasia .about-character-art > img {
  border-radius: 50% / 42% !important;
}

@media (max-width: 980px) {
  .about-aligned-page .about-character-kasia .about-character-layout {
    grid-template-columns: 1fr !important;
  }

  .about-aligned-page .about-character-kasia .about-character-art,
  .about-aligned-page .about-character-kasia .about-character-copy {
    order: initial !important;
  }

  .about-aligned-page .about-character-kasia .about-character-art {
    margin-left: auto !important;
    margin-right: auto !important;
    justify-self: center !important;
  }
}

/* ==========================================================
   ABOUT — MATI RIGHT-SIDE OVAL REFINEMENT
   ========================================================== */

.about-aligned-page .about-character-mati .about-character-layout {
  grid-template-columns: minmax(0, 1.45fr) minmax(300px, .55fr) !important;
  align-items: center !important;
}

.about-aligned-page .about-character-mati .about-character-copy {
  order: 1 !important;
}

.about-aligned-page .about-character-mati .about-character-art {
  order: 2 !important;
  width: min(100%, 390px) !important;
  aspect-ratio: 4 / 5 !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  justify-self: end !important;
  overflow: hidden !important;
  border-radius: 50% / 42% !important;
  background: rgba(255,255,255,.78) !important;
  border: 1px solid rgba(100,120,110,.08) !important;
  box-shadow:
    0 20px 38px rgba(63,77,69,.15),
    0 5px 12px rgba(63,77,69,.06) !important;
}

.about-aligned-page .about-character-mati .about-character-art > img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
  border-radius: 50% / 42% !important;
}

@media (max-width: 980px) {
  .about-aligned-page .about-character-mati .about-character-layout {
    grid-template-columns: 1fr !important;
  }

  .about-aligned-page .about-character-mati .about-character-copy {
    order: 1 !important;
  }

  .about-aligned-page .about-character-mati .about-character-art {
    order: 2 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    justify-self: center !important;
  }
}

/* ==========================================================
   DISCOVERABLE BEYOND THE BOOKSTORE — IMAGE 30% SMALLER
   ========================================================== */
.catalog-recognition-visual {
  width: min(70%, 430px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  justify-self: center !important;
}

.catalog-recognition-visual img {
  width: 100% !important;
  height: auto !important;
  max-height: 360px !important;
  object-fit: contain !important;
}

@media (max-width: 980px) {
  .catalog-recognition-visual {
    width: min(100%, 560px) !important;
  }

  .catalog-recognition-visual img {
    max-height: none !important;
    aspect-ratio: auto !important;
  }
}


/* ==========================================================
   KASIA & MATI DICTIONARY — PUBLIC EXPERIENCE
   ========================================================== */
.dictionary-page{overflow:hidden}.dictionary-hero{margin-bottom:34px}.dictionary-hero .page-lead{max-width:900px}.dictionary-mode-links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}.dictionary-section{width:min(1500px,calc(100% - 40px));max-width:1500px;margin:34px auto;padding:clamp(30px,4vw,54px);border-radius:30px}.dictionary-section-head{text-align:center;max-width:920px;margin:0 auto 28px}.dictionary-section-head h2{margin:6px 0 12px;font-size:clamp(2.1rem,4vw,3.7rem);font-weight:500}.dictionary-section-head>p:last-child{max-width:820px;margin-inline:auto;line-height:1.68;color:var(--muted)}.dictionary-category-tabs{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:12px auto 26px}.dictionary-category-tab{border:1px solid rgba(95,146,85,.18);border-radius:999px;background:rgba(255,255,255,.72);padding:11px 17px;font:inherit;font-weight:700;color:var(--green-deep);cursor:pointer}.dictionary-category-tab span{display:inline-grid;place-items:center;min-width:23px;height:23px;margin-left:7px;padding:0 6px;border-radius:999px;background:rgba(95,146,85,.10);font-size:.76rem}.dictionary-category-tab.is-active{background:#6f9666;color:#fff;border-color:#6f9666}.dictionary-category-tab.is-active span{background:rgba(255,255,255,.18)}.dictionary-first-panel{display:none}.dictionary-first-panel.is-active{display:block}.dictionary-alphabet{display:flex;justify-content:center;gap:7px;flex-wrap:wrap;margin:0 auto 28px}.dictionary-letter{width:38px;height:38px;border-radius:50%;border:1px solid rgba(100,125,109,.16);background:rgba(255,255,255,.78);font:700 .88rem var(--awa-serif,"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif);color:#637a66;cursor:pointer;box-shadow:0 4px 10px rgba(75,90,80,.04)}.dictionary-letter:first-child{width:auto;border-radius:999px;padding:0 14px}.dictionary-letter.is-active{background:#6f9666;color:#fff;border-color:#6f9666}.dictionary-letter:disabled{opacity:.28;cursor:default}.first-dictionary-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}.first-dictionary-card{min-width:0;padding:14px 14px 17px;border-radius:22px;background:rgba(255,255,255,.72);border:1px solid rgba(110,130,112,.10);box-shadow:0 10px 22px rgba(72,86,78,.055);text-align:center}.first-dictionary-image{width:100%;aspect-ratio:1;border-radius:20px;display:grid;place-items:center;overflow:hidden;background:rgba(255,255,255,.88)}.first-dictionary-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;padding:5px}.first-dictionary-card h3{margin:12px 0 0;font-size:15pt;font-weight:600;line-height:1.2}.dictionary-growing-alphabet{position:sticky;top:8px;z-index:5;padding:12px 10px;border-radius:22px;background:rgba(248,251,246,.93);backdrop-filter:blur(8px);box-shadow:0 8px 22px rgba(70,88,75,.08)}.growing-dictionary-list{width:min(1120px,100%);margin:0 auto;display:grid;gap:18px;scroll-margin-top:90px}.growing-dictionary-entry{display:grid;grid-template-columns:250px minmax(0,1fr);gap:30px;align-items:center;padding:24px 28px;border-radius:28px;background:rgba(255,255,255,.76);border:1px solid rgba(107,128,114,.10);box-shadow:0 12px 27px rgba(67,82,73,.055)}.growing-dictionary-image{width:230px;aspect-ratio:1;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:rgba(250,252,248,.98);border:1px solid rgba(111,137,119,.10);box-shadow:0 12px 24px rgba(68,84,74,.08)}.growing-dictionary-image img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;padding:8px}.growing-dictionary-copy{position:relative}.dictionary-entry-letter{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#edf3e8;color:#688066;font:700 1rem var(--awa-serif,"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif);margin-bottom:7px}.growing-dictionary-copy h3{margin:0 0 9px;font-size:clamp(1.7rem,3vw,2.5rem);font-weight:500}.growing-dictionary-copy p{margin:0;color:var(--muted);font-size:12pt;line-height:1.65}.dictionary-empty{grid-column:1/-1;padding:30px;border:1px dashed rgba(104,130,109,.25);border-radius:22px;background:rgba(255,255,255,.48);text-align:center}.dictionary-empty h3{margin:0 0 7px}.dictionary-empty p{margin:0;color:var(--muted)}.dictionary-books-band{width:100%;margin:48px 0 0;padding:44px 0 48px;background:linear-gradient(90deg,rgba(243,239,215,.70),rgba(232,243,226,.72),rgba(235,242,249,.72));overflow:hidden}.dictionary-books-heading{text-align:center}.dictionary-books-heading h2{margin:5px 0 10px;font-size:clamp(2rem,4vw,3.3rem);font-weight:500}.dictionary-books-heading p:last-child{max-width:760px;margin:0 auto;color:var(--muted)}.dictionary-books-marquee{margin-top:28px;overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent)}.dictionary-books-track{display:flex;width:max-content;animation:dictionary-books-scroll 52s linear infinite}.dictionary-books-group{display:flex;gap:18px;padding-right:18px}.dictionary-book-card{display:grid;grid-template-rows:190px auto;gap:9px;width:150px;text-decoration:none;color:var(--ink);text-align:center}.dictionary-book-cover{display:grid;place-items:center;padding:6px;border-radius:18px;background:rgba(255,255,255,.78);border:1px solid rgba(105,125,110,.10);box-shadow:0 10px 20px rgba(75,87,80,.06);overflow:hidden}.dictionary-book-cover img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain}.dictionary-book-title{font-size:.82rem;line-height:1.3;font-weight:600}.dictionary-book-card:hover .dictionary-book-cover{transform:translateY(-3px);box-shadow:0 14px 28px rgba(70,84,76,.10)}@keyframes dictionary-books-scroll{to{transform:translateX(-50%)}}.dictionary-learning-promo{width:min(1460px,calc(100% - 48px));display:grid;grid-template-columns:250px minmax(0,1fr);gap:34px;align-items:center;margin:34px auto 48px;padding:30px 38px;border-radius:28px}.dictionary-learning-promo-art{position:relative;width:220px;height:160px;margin:auto}.dictionary-learning-promo-art span{position:absolute;display:grid;place-items:center;width:66px;height:66px;border-radius:50%;font:700 1.6rem var(--awa-serif,"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif);box-shadow:0 10px 20px rgba(70,80,75,.08)}.dictionary-learning-promo-art span:nth-child(1){left:5px;top:10px;background:#f5e8ad;color:#806f37}.dictionary-learning-promo-art span:nth-child(2){left:78px;top:50px;background:#dcebf5;color:#56738e}.dictionary-learning-promo-art span:nth-child(3){right:0;top:8px;background:#e0efda;color:#5f7e59}.dictionary-learning-promo-art span:nth-child(4){right:30px;bottom:0;background:#efe1ec;color:#80677c}.dictionary-learning-promo-copy h2{margin:4px 0 10px;font-size:clamp(2rem,3.5vw,3.2rem);font-weight:500}.dictionary-learning-promo-copy p:not(.eyebrow){max-width:780px;line-height:1.65;color:var(--muted)}
@media(max-width:1050px){.first-dictionary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.growing-dictionary-entry{grid-template-columns:210px minmax(0,1fr)}.growing-dictionary-image{width:195px}}
@media(max-width:800px){.first-dictionary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.growing-dictionary-entry{grid-template-columns:1fr;text-align:center}.growing-dictionary-image{width:min(260px,80%);margin:auto}.dictionary-entry-letter{margin-inline:auto}.dictionary-learning-promo{grid-template-columns:1fr;text-align:center}.dictionary-learning-promo-copy p{margin-inline:auto}.dictionary-learning-promo-art{width:200px}.dictionary-growing-alphabet{position:static}}
@media(max-width:560px){.dictionary-section{width:calc(100% - 22px);padding:24px 15px}.first-dictionary-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}.first-dictionary-card{padding:9px 9px 13px;border-radius:17px}.first-dictionary-image{border-radius:14px}.dictionary-letter{width:34px;height:34px}.growing-dictionary-entry{padding:20px 16px}.dictionary-books-track{animation-duration:42s}.dictionary-book-card{width:132px;grid-template-rows:168px auto}}
@media(prefers-reduced-motion:reduce){.dictionary-books-track{animation:none}.dictionary-books-marquee{overflow-x:auto;mask-image:none;-webkit-mask-image:none}.dictionary-books-group[aria-hidden="true"]{display:none}}

/* Kasia & Mati Dictionary: My First Dictionary subcategories */
.dictionary-subcategory-tabs{
  display:flex;
  justify-content:center;
  gap:8px;
  flex-wrap:wrap;
  margin:4px auto 18px;
  padding:12px 14px;
  border-radius:20px;
  background:rgba(255,255,255,.48);
  border:1px solid rgba(113,132,116,.09);
}
.dictionary-subcategory-tab{
  border:1px solid rgba(101,127,105,.16);
  border-radius:999px;
  background:rgba(255,255,255,.78);
  padding:9px 14px;
  font:600 .88rem var(--awa-serif,"Palatino Linotype","Book Antiqua",Palatino,Georgia,serif);
  color:#657a67;
  cursor:pointer;
}
.dictionary-subcategory-tab span{
  display:inline-grid;
  place-items:center;
  min-width:21px;
  height:21px;
  margin-left:6px;
  padding:0 6px;
  border-radius:999px;
  background:rgba(105,137,103,.10);
  font-size:.72rem;
}
.dictionary-subcategory-tab.is-active{
  background:#7d9f74;
  color:#fff;
  border-color:#7d9f74;
}
.dictionary-subcategory-tab.is-active span{background:rgba(255,255,255,.20)}
.dictionary-subcategory-tab:disabled{opacity:.32;cursor:default}
.dictionary-filter-empty{
  grid-column:1/-1;
  padding:26px;
  border:1px dashed rgba(104,130,109,.24);
  border-radius:20px;
  background:rgba(255,255,255,.45);
  text-align:center;
}
.dictionary-filter-empty h3{margin:0 0 7px;font-size:1.25rem}
.dictionary-filter-empty p{margin:0;color:var(--muted)}
@media(max-width:560px){
  .dictionary-subcategory-tabs{justify-content:flex-start;overflow-x:auto;flex-wrap:nowrap;padding:10px;margin-bottom:16px}
  .dictionary-subcategory-tab{flex:0 0 auto;white-space:nowrap}
}


/* Dictionary source-book connection — 2026-08-30 */
.dictionary-word-source {
  display: inline-flex;
  align-items: baseline;
  justify-content: center;
  gap: .28rem;
  max-width: 100%;
  margin: .38rem auto 0;
  padding: .36rem .62rem;
  border-radius: 999px;
  background: rgba(255,255,255,.72);
  border: 1px solid rgba(69,105,65,.14);
  color: #41643f;
  font-size: .78rem;
  line-height: 1.28;
  text-align: center;
  text-decoration: none;
}
.dictionary-word-source span { font-style: italic; color: #6e786d; }
.dictionary-word-source:hover,
.dictionary-word-source:focus-visible {
  background: rgba(255,255,255,.95);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.dictionary-word-source-growing {
  justify-content: flex-start;
  margin: .65rem 0 0;
  border-radius: 12px;
  font-size: .84rem;
}
@media (max-width: 720px) {
  .dictionary-word-source { font-size: .74rem; }
  .dictionary-word-source-growing { justify-content: center; text-align: center; }
}


/* ---------- 2026-08-30 book detail typography + compact related books ---------- */
/* Individual static book pages: reduce oversized typography approximately 20–30%. */
.book-detail h1 {
  font-size: clamp(2.15rem, 4.2vw, 3.65rem) !important;
  line-height: 1.06;
}
.book-detail-copy .book-byline { font-size: .88rem; }
.book-detail-copy .book-tagline {
  margin-top: 25px;
  font-size: clamp(1.18rem, 2.2vw, 1.65rem) !important;
  line-height: 1.35;
}
.book-detail-copy .page-lead {
  font-size: clamp(.88rem, 1.18vw, 1rem) !important;
  line-height: 1.62;
}
.book-detail-copy .detail-subhead {
  margin-top: 26px;
  font-size: 1.08rem !important;
}
.book-detail-copy .book-bullets {
  margin-top: 18px;
  font-size: .91rem;
  line-height: 1.5;
}
.book-detail-copy .book-bullets li { margin: .48rem 0; }
.book-detail-copy .book-availability {
  margin-top: 23px;
  padding: 18px 20px;
}
.book-detail-copy .book-availability h3 { font-size: 1.2rem !important; }
.book-detail-copy .book-availability > p:not(.availability-kicker) { font-size: .86rem; }
.book-detail-copy .amazon-edition {
  min-height: 39px;
  padding: 8px 13px;
  font-size: .82rem;
}
.book-detail-copy .button { font-size: .86rem; }

/* Dynamic Books Manager detail page gets the same more restrained scale. */
.managed-book-detail-copy h1 {
  font-size: clamp(2.1rem, 4vw, 3.65rem) !important;
  line-height: 1.05;
}
.managed-book-subtitle { font-size: .92rem !important; }
.managed-book-description { font-size: .9rem !important; line-height: 1.6; }
.managed-book-status { font-size: .76rem; }
.book-format-option strong { font-size: .9rem; }
.book-format-option span { font-size: .76rem; }

/* Compact “You may also enjoy” area. */
.related-books { padding-bottom: 72px; }
.related-books .section-heading.compact { margin-bottom: 14px; align-items:end; }
.related-books .section-heading.compact .eyebrow {
  margin-bottom: 4px;
  font-size: 8.5pt;
}
.related-books .section-heading.compact h2 {
  margin: 0;
  font-size: 15pt !important;
  line-height: 1.15;
  letter-spacing: -.01em;
}
.related-books .section-heading.compact .text-link { font-size: 10pt; }
.related-books-grid { gap: 14px; }
.related-book-card {
  display: grid;
  grid-template-columns: 78px minmax(0,1fr);
  gap: 12px;
  align-items: center;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: linear-gradient(180deg,rgba(255,255,255,.98),rgba(247,251,243,.98));
  text-decoration: none;
}
.related-book-cover-link { display: block; line-height: 0; }
.related-book-card img {
  width: 78px;
  height: 98px;
  object-fit: contain;
  border-radius: 7px;
  background: #f4f7ef;
}
.related-book-info { min-width: 0; }
.related-book-title { color: inherit; text-decoration: none; }
.related-book-title:hover { text-decoration: underline; }
.related-book-title strong {
  display: block;
  margin: 0;
  font-family: Georgia,serif;
  font-size: 12pt !important;
  line-height: 1.18;
}
.related-purchase-links {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}
.related-purchase-link {
  display: inline-flex;
  align-items: center;
  min-height: 27px;
  padding: 4px 8px;
  border-radius: 999px;
  background: #e6f2df;
  color: var(--green-deep);
  text-decoration: none;
  font-size: 8.5pt;
  font-weight: 700;
}
.related-purchase-link:hover { background: #d9ebcf; text-decoration: underline; }
.related-purchase-unavailable {
  color: var(--muted);
  font-size: 8.5pt;
  font-style: italic;
}

@media (max-width: 760px) {
  .book-detail h1, .managed-book-detail-copy h1 { font-size: clamp(1.9rem, 9vw, 2.65rem) !important; }
  .related-books-grid { grid-template-columns: 1fr; }
}


/* ============================================================
   2026-08-30 — About opening quote + Book YouTube
   ============================================================ */
/* Keep the About opening quote on one line on desktop, using the same
   literary quote face as the homepage. Attribution ends at the same right edge. */
.about-aligned-page .about-quote-hero .about-opening-quote,
.about-pastel-stack .about-quote-hero .about-opening-quote {
  width: max-content !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}
.about-aligned-page .about-quote-hero .about-opening-quote p,
.about-pastel-stack .about-quote-hero .about-opening-quote p {
  margin: 0 !important;
  font-family: var(--awa-serif, "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif) !important;
  font-style: italic !important;
  font-size: 14pt !important;
  line-height: 1.35 !important;
  white-space: nowrap;
}
.about-aligned-page .about-quote-hero .about-opening-quote footer,
.about-pastel-stack .about-quote-hero .about-opening-quote footer {
  display: block !important;
  width: 100% !important;
  margin-top: 6px !important;
  text-align: right !important;
  font-size: 9pt !important;
}

/* Optional YouTube block controlled from Books Manager. */
.book-youtube-section {
  padding-top: 8px;
  padding-bottom: 66px;
}
.book-youtube-heading {
  width: min(920px, 100%);
  margin: 0 auto 14px;
  text-align: center;
}
.book-youtube-heading .eyebrow { margin-bottom: 4px; }
.book-youtube-heading h2 {
  margin: 0;
  font-family: Georgia, "Times New Roman", serif;
  font-size: clamp(1.35rem, 2.2vw, 1.8rem);
  font-weight: 500;
}
.book-youtube-frame {
  position: relative;
  width: min(920px, 100%);
  aspect-ratio: 16 / 9;
  margin: 0 auto;
  overflow: hidden;
  border-radius: 22px;
  background: #eef2e9;
  box-shadow: 0 18px 42px rgba(45, 58, 48, .12);
}
.book-youtube-frame iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
.managed-book-youtube { margin-top: -24px; }

@media (max-width: 900px) {
  .about-aligned-page .about-quote-hero .about-opening-quote,
  .about-pastel-stack .about-quote-hero .about-opening-quote { width: 100% !important; }
  .about-aligned-page .about-quote-hero .about-opening-quote p,
  .about-pastel-stack .about-quote-hero .about-opening-quote p {
    white-space: normal;
    text-align: center;
  }
}


/* ============================================================
   2026-08-30 — Bookstore purchase catalog + book detail flow
   ============================================================ */
.bookstore-page-hero { padding-bottom: 36px; }
.bookstore-catalog-section { padding-top: 12px; }
.bookstore-catalog-grid .bookstore-book-card .books-catalog-cover { cursor: default; }
.bookstore-purchase-links {
  margin-top: auto;
  padding-top: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}
.bookstore-amazon-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 9px 14px;
  border-radius: 999px;
  border: 1px solid rgba(79,111,79,.22);
  background: rgba(255,255,255,.88);
  color: var(--green-deep);
  font-size: 11pt;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 5px 13px rgba(63,79,63,.08);
}
.bookstore-amazon-link:hover { transform: translateY(-1px); box-shadow: 0 7px 16px rgba(63,79,63,.13); }
.bookstore-purchase-pending {
  display: inline-flex;
  padding: 8px 12px;
  border-radius: 999px;
  background: rgba(149,170,143,.13);
  color: var(--muted);
  font-size: 10.5pt;
}
.bookstore-loading, .bookstore-noscript {
  grid-column: 1 / -1;
  text-align: center;
  padding: 34px;
  color: var(--muted);
}
.managed-related-books { margin-top: 14px; }
@media (max-width: 640px) {
  .bookstore-amazon-link { width: 100%; }
}


/* 2026-08-30 — Bookstore cover display correction */
.bookstore-catalog-grid .bookstore-book-card .books-catalog-cover,
.bookstore-catalog-grid .bookstore-book-card .books-catalog-cover img {
  cursor: default !important;
}
.bookstore-catalog-grid .bookstore-book-card .books-catalog-cover {
  pointer-events: none;
}
