/* A tactile tropical finish. Depth stays decorative; content keeps its geometry. */
:root {
  --depth-ink: #084c43;
  --depth-shadow: 19, 78, 58;
  --depth-ease: cubic-bezier(.22, .7, .25, 1);
  --depth-surface: linear-gradient(145deg, #fffef9 0%, #fafffc 58%, #e7f5ef 100%);
}

body {
  background-image:
    radial-gradient(ellipse at 0% 17%, #8ee0c42b, transparent 39%),
    radial-gradient(ellipse at 100% 39%, #89d9df20, transparent 38%);
}

.site-header {
  box-shadow: 0 1px 0 #ffffffd9, 0 7px 22px #174b400c;
}

.brand--seal {
  border: 2px solid #92bfa6;
  background: linear-gradient(145deg, #fffef7, #edf6e6);
  box-shadow: inset 0 2px 1px #fff, inset 0 -3px 6px #5975461b,
    0 4px 0 #9bbc9e, 0 8px 14px #174b4020;
  transition: transform .25s var(--depth-ease), box-shadow .25s var(--depth-ease);
}

.hero.section-shell {
  --brand-banner-height: clamp(250px, calc(100svh - 390px), 360px);
  width: 100%;
  padding-top: 0;
}
.hero-art { width: 100%; perspective: 1500px; }

.logo-stage {
  position: relative;
  isolation: isolate;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  justify-items: center;
  place-items: center;
  width: 100%;
  height: var(--brand-banner-height);
  aspect-ratio: auto;
  padding: 12px 20px;
  border: 0;
  border-block: 1px solid #abcdbd;
  border-radius: 0;
  background: radial-gradient(ellipse at 50% 45%, #fffdf1 0%, #f5fcf3 24%, transparent 62%),
    radial-gradient(ellipse at 0% 100%, #83cbb647, transparent 58%),
    radial-gradient(ellipse at 100% 0%, #a8deda50, transparent 57%),
    linear-gradient(115deg, #dcefe6, #f0faf3 48%, #dfefeb);
  box-shadow: inset 0 1px 0 #fffef8, 0 5px 18px -13px #174b4040;
  transform: none;
  transition: transform .6s var(--depth-ease), box-shadow .6s var(--depth-ease);
}
.hero-logo, .hero-logo--antiguo {
  width: min(100%, 900px);
  max-width: none;
  max-height: 100%;
  height: 100%;
  object-fit: contain;
  transform: none;
  filter: saturate(1.12) contrast(1.025);
}
.brand--seal img { filter: saturate(1.12) contrast(1.025); }

/* A sun-shaped header seal; the original logo remains independently editable. */
.brand--seal.brand--sun {
  position: relative;
  width: 144px;
  min-width: 144px;
  height: 116px;
  flex-basis: 144px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  box-shadow: none;
  overflow: visible;
}
.brand--sun .brand-sun { display: block; width: 100%; height: 100%; overflow: visible; }
.brand-sun-depth { filter: drop-shadow(0 3px 2px #793f233d); }
.brand-sun-rays {
  transform-origin: 90px 70px;
  animation: brand-sun-turn 48s linear infinite;
  filter: drop-shadow(0 1.5px .8px #8a4a2340) drop-shadow(0 0 2px #ffd26594);
}
.brand-thought {
  transform-box: fill-box;
  transform-origin: center;
  animation: brand-thought-emerge 12s ease-in-out infinite;
}
.brand-thought--what { --thought-x: 0px; --thought-y: 16px; animation-delay: -1s; }
.brand-thought--when { --thought-x: 13px; --thought-y: -12px; animation-delay: -9s; }
.brand-thought--where { --thought-x: -13px; --thought-y: -12px; animation-delay: -5s; }
.brand-thought-cloud { fill: #fff9e7; stroke: #d8b16f; stroke-width: .85; filter: drop-shadow(0 1.5px 1px #85452726) drop-shadow(0 0 1.7px #ffe3a36b); }
.brand-thought text {
  fill: url(#brand-thought-mahogany);
  font: 700 18.2px/1 Georgia, "Times New Roman", serif;
  letter-spacing: .1px;
  text-anchor: middle;
  paint-order: stroke fill;
  stroke: #ffe7b0;
  stroke-width: .55px;
  filter: drop-shadow(0 1px .3px #4d21144d) drop-shadow(0 0 1.6px #ffda83bf);
}
@keyframes brand-sun-turn { to { transform: rotate(360deg); } }
@keyframes brand-thought-emerge {
  0%, 10%, 100% { opacity: 0; transform: translate(var(--thought-x), var(--thought-y)) scale(.66); }
  24%, 55% { opacity: 1; transform: translate(0, 0) scale(1); }
  70%, 88% { opacity: 0; transform: translate(0, -3px) scale(1.04); }
}
@media (prefers-reduced-motion: reduce) {
  .brand-sun-rays, .brand-thought { animation: none; }
  .brand-thought { opacity: 1; transform: none; }
}
.brand--seal.brand--sun img {
  position: absolute;
  left: 24%;
  top: 29%;
  width: 52%;
  height: 39%;
  object-fit: contain;
  mix-blend-mode: multiply;
  pointer-events: none;
}
.brand--seal.brand--sun:hover { box-shadow: none; }
@media (max-width: 760px) {
  .brand--seal.brand--sun { width: 124px; min-width: 124px; height: 100px; flex-basis: 124px; }
}
@media (max-width: 370px) {
  .brand--seal.brand--sun { width: 112px; min-width: 112px; height: 90px; flex-basis: 112px; }
}
.hero-wide-mark { display: none; }
.logo-stage--wide { padding: 12px 20px; }
.logo-stage--wide > .hero-logo { display: none; }
.logo-stage--wide > .hero-wide-mark {
  display: block;
  width: min(100%, calc((var(--brand-banner-height) - 26px) * 1.67647));
  aspect-ratio: 1140 / 680;
  position: relative;
  isolation: isolate;
  mix-blend-mode: multiply;
  filter: saturate(1.12) contrast(1.025);
}
.hero-wide-name { width: 100%; height: auto; display: block; }
.hero-wide-book { position: absolute; width: 29%; height: auto; top: 0; left: 10%; }

.logo-stage::after {
  content: "";
  position: absolute;
  inset: 6px 0;
  border-block: 1px solid #ffffff80;
  pointer-events: none;
}

.hero-copy { width: min(1080px, calc(100% - 48px)); margin-inline: auto; padding: 26px 0 22px; }
.hero-bottom { width: min(1440px, calc(100% - 64px)); margin-inline: auto; }
.hero-description { max-width: 650px; color: var(--muted); }
.hero .eyebrow { color: #316958; }
.hero h1 { max-width: 1080px; font-size: clamp(32px, 3.2vw, 52px); }

/* Short, crisp shadows create a carved edge without blurring the letterforms. */
h1, .section-heading h2, .closing h2 {
  color: #104f45;
  text-shadow: 0 .5px 0 #f4fff8, 0 1.5px 0 #88b9a8,
    0 2.5px 0 #35685729, 0 6px 8px #0d4c4317;
}

h1 em, .section-heading h2 em, .closing h2 em {
  color: var(--terra);
  text-shadow: 0 .5px 0 #fff4df, 0 1.5px 0 #dfa17c,
    0 2.5px 0 #8b4b332b, 0 5px 8px #883a2517;
}

.gallery-book-title, .pub-panel-title, .pub-entry-title,
.video-info h3, .book-gallery-heading, .product-info h2 {
  color: #0b5d50;
  text-shadow: 0 .5px 0 #ffffff, 0 1.5px 0 #9cc9b780,
    0 3px 4px #1a665818;
}
.pub-reader-title, .reviews-heading, .review-form-title,
.cart-row-info h3, .cart-empty h3 { color: #0c5a50; text-shadow: 0 1px 0 #fff, 0 2px 0 #91bca838; }
.main-nav, .catalog-field-label, .review-field-label { color: #194f44; }
.section-intro, .pub-excerpt, .book-catalog-description, .video-info p,
.book-card-author, .reviews-summary, .review-date, .review-field-help,
.review-session-note, .catalog-result-count, .catalog-price-note,
.purchase-note { color: var(--muted); }
.eyebrow, .pub-kicker { color: #286f60; }
.card-price, .detail-price, .cart-total { color: #086a57; font-weight: 600; }
.review-comment-text, .pub-reader-body { color: var(--ink); }
.site-footer { color: #215d4e; }
.review-input::placeholder, .catalog-search::placeholder { color: #53776c; opacity: 1; }
#panel-libros .book-gallery .gallery-book-title, .pub-entry .pub-entry-title {
  transition: transform .24s var(--depth-ease), text-shadow .24s var(--depth-ease);
}
#panel-libros .book-gallery > .product-card:focus-within .gallery-book-title,
.pub-entry:focus-within .pub-entry-title {
  transform: translateY(-2px);
  text-shadow: 0 1px 0 #fffef8, 0 2px 0 #b3ceb3, 0 5px 7px #174b4020;
}

.origin {
  box-shadow: inset 0 3px 0 #fffef826, inset 0 -4px 0 #003e396b,
    0 12px 30px #174b401c;
}

.origin-word {
  text-shadow: 0 1px 0 #82b390, 0 2px 0 #296b4e, 0 3px 0 #195b43,
    0 4px 0 #104d3e, 0 10px 14px #00372e75;
}

.origin-copy h2 { text-shadow: 0 2px 0 #004b3c, 0 6px 14px #003a3340; }
.footer-brand { text-shadow: 0 1px 0 #fffef8, 0 2px 0 #a5c7ab; }
.review-name, .reviews-heading, .review-form-title {
  text-shadow: 0 1px 0 #fffef8, 0 2px 0 #c4d9c533;
}

/* Raised controls keep a visible edge even before hover or selection. */
.button, .cart-button, .menu-toggle, .dialog-close, .pub-close {
  --control-edge: #b4cdb6;
  --control-face: linear-gradient(160deg, #fffef8, #e6f3e6);
  position: relative;
  background: var(--control-face);
  border-radius: 9px;
  border-color: #a5c6ae;
  box-shadow: inset 0 1px 0 #ffffffbd, 0 4px 0 var(--control-edge),
    0 7px 12px #174b401c;
  transform: translateY(0);
  transition: transform .2s var(--depth-ease), box-shadow .2s var(--depth-ease),
    background .2s, border-color .2s;
}

.button-dark {
  --control-edge: #074f3c;
  --control-face: linear-gradient(150deg, #1b8c65, #137655 62%, #0d654d);
  border-color: #0c654c;
  color: #fffef8;
  box-shadow: inset 0 1px 0 #a4eccf55, 0 5px 0 var(--control-edge),
    0 9px 16px #0d63432b;
  text-shadow: 0 1px 1px #003f3480;
}

.button-light {
  --control-edge: #c4a147;
  --control-face: linear-gradient(150deg, #fff7d5, #ffe6a1);
  border-color: #e6c975;
}

.button-outline {
  --control-edge: #a4c5ae;
  --control-face: linear-gradient(150deg, #fffef8, #e9f6e8);
  border-color: #75a789;
  color: #145a43;
}

.dialog-close { border-radius: 50%; }
.cart-button #cart-count {
  box-shadow: inset 0 1px 1px #ffffff2b, 0 2px 0 #053c2d;
  background: linear-gradient(#256f55, #174b40);
}

.button > span, .text-link > span, .hero-bottom > a > span {
  transition: transform .25s var(--depth-ease);
}

.main-nav > a:not(.nav-cta) {
  transition: color .2s, text-shadow .2s;
}
.main-nav > a[aria-current="page"] { text-shadow: 0 2px 0 #d2e6d1; }

.catalog {
  border-color: #a8cdb5;
  border-top-color: var(--lagoon);
  border-radius: 17px;
  box-shadow: 0 2px 0 #d9e8d2, 0 6px 0 #bfd5bc,
    0 16px 30px -12px #174b4033;
}

.catalog-top {
  background: linear-gradient(#f1fbef, #deefdf);
  box-shadow: inset 0 2px 0 #ffffffa8, 0 2px 7px #174b400a;
}

.catalog-tabs { gap: 12px; padding-block: 12px; }
.catalog-tab {
  padding: 12px 16px;
  border: 1px solid #bed7be;
  border-radius: 8px;
  background: linear-gradient(#fbfff5, #dfeddd);
  color: #456e5b;
  box-shadow: inset 0 1px 0 #fff, 0 3px 0 #bbd1b8;
  transition: transform .2s var(--depth-ease), box-shadow .2s, color .2s,
    background .2s;
}
.catalog-tab[aria-selected="true"] {
  background: linear-gradient(145deg, #1e8468, #14664e);
  border-color: #0f654f;
  color: #fffef8;
  box-shadow: inset 0 2px 3px #08423252, 0 1px 0 #f9fff5;
  transform: translateY(2px);
}
.catalog-tab[aria-selected="true"]::after {
  left: 14px; right: 14px; bottom: -3px;
  height: 3px; border-radius: 4px;
  background: var(--sun);
  box-shadow: 0 1px 0 #bc922b;
}
.catalog-tab[aria-selected="true"] > span { color: #ffe7a2; }

.catalog-search, .catalog-select, .review-input {
  border-color: #adc9b1;
  border-radius: 8px;
  background: linear-gradient(#edf5eb, #fffef8);
  box-shadow: inset 0 2px 4px #174b4012, 0 1px 0 #fff;
  transition: box-shadow .2s, border-color .2s, background .2s;
}
.catalog-search:focus, .catalog-select:focus, .review-input:focus {
  border-color: var(--lagoon);
  background: #fffef8;
  box-shadow: inset 0 1px 2px #174b400c, 0 0 0 4px #07847e12;
}
.catalog-topic {
  border-color: #b4ceb6;
  background: linear-gradient(#fffef8, #e8f2e1);
  box-shadow: inset 0 1px 0 #fff, 0 3px 0 #bfd3b8, 0 5px 9px #174b4009;
  transition: transform .2s var(--depth-ease), box-shadow .2s,
    background .2s, border-color .2s;
}
.catalog-topic[aria-pressed="true"] {
  background: linear-gradient(150deg, #1a7e65, #145641);
  border-color: #0f654f;
  box-shadow: inset 0 2px 4px #063e3273, 0 1px 0 #fff;
  color: #fffef8;
  transform: translateY(2px);
}

/* Cards sit on a shelf; covers turn within the card rather than changing layout. */
#panel-libros .book-gallery > .product-card {
  position: relative;
  background: var(--depth-surface);
  border-color: #bdd2b7;
  border-radius: 15px;
  box-shadow: inset 0 1px 0 #fff, 0 3px 0 #e0e9d7,
    0 5px 0 #bbd0b3, 0 12px 22px -10px #174b403b;
  transition: transform .3s var(--depth-ease), box-shadow .3s var(--depth-ease),
    border-color .3s;
}
#panel-libros .book-gallery .cover-button {
  perspective: 900px;
  overflow: visible;
  border-radius: 8px;
  transform: none;
}
#panel-libros .book-gallery .product-cover, .detail-cover {
  position: relative;
  border-radius: 5px 8px 8px 5px;
  box-shadow: 1px 1px 0 #dfe6d2, 3px 2px 0 #fffced,
    5px 3px 0 #ccd6be, 7px 5px 0 #f7f6df, 9px 7px 0 #bec9af,
    9px 13px 17px -8px #173f3975;
  transform-origin: 15% 50%;
  transition: transform .45s var(--depth-ease), box-shadow .45s var(--depth-ease);
}
#panel-libros .book-gallery .product-cover::after, .detail-cover::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, #0635271c 0, #ffffff47 2%,
    #174b4021 3%, transparent 6%, transparent 94%, #ffffff24 100%);
  box-shadow: inset 0 0 0 1px #174b4012;
  pointer-events: none;
}
.product-card-info { position: relative; }
.book-card-author { color: #426755; }
.card-price { text-shadow: 0 1px 0 #fff; }

.pub-panel, .video-card, .video-empty, .catalog-no-results {
  background: var(--depth-surface);
  border-radius: 15px;
  box-shadow: inset 0 1px 0 #fff, 0 3px 0 #d5e3c9,
    0 6px 0 #bed3b4, 0 17px 26px -15px #174b4052;
  transition: transform .3s var(--depth-ease), box-shadow .3s var(--depth-ease);
}
.pub-panel { border-top-color: var(--palm); }
.pub-panel:nth-child(2) { border-top-color: var(--coral); }
.video-media { box-shadow: inset 0 -1px 0 #174b4017; }
.video-media--upcoming {
  align-content: center;
  gap: 16px;
  padding: 28px;
  color: #356756;
  background: radial-gradient(ellipse at 50% 35%, #fff7d6 0, #ebf7dc 42%, #d7efe4 100%);
}
.video-slot-symbol {
  display: grid;
  place-items: center;
  width: 74px;
  height: 74px;
  margin-inline: auto;
  border: 1px solid #a5c3a9;
  border-radius: 22px;
  font-size: 38px;
  color: #397960;
  background: linear-gradient(145deg, #fffff1, #d9edce);
  box-shadow: inset 0 1px 0 #fff, 0 4px 0 #bed4b4, 0 10px 18px #174b4014;
}
.video-media--upcoming .eyebrow { font-size: 10px; letter-spacing: .17em; }
.play-symbol, .catalog-symbol {
  background: linear-gradient(135deg, #fffce3, #d6ebce);
  box-shadow: inset 0 2px 0 #fff, inset 0 -3px 5px #6c99672b,
    0 4px 0 #aec8a0, 0 9px 13px #174b4021;
}
.review-form {
  border-radius: 11px;
  background: linear-gradient(145deg, #f5fbea, #fafff5);
  box-shadow: inset 0 1px 0 #fff, 0 3px 0 #d6e3c9, 0 8px 14px -8px #174b402e;
}
.review-editor-toggle {
  padding: 10px 12px;
  border: 1px solid #bdd2b7;
  border-radius: 7px;
  background: linear-gradient(#fbfff6, #e9f3df);
  box-shadow: inset 0 1px 0 #fff, 0 3px 0 #cadbbf;
  text-shadow: 0 1px 0 #fff;
  transition: color .2s, text-shadow .2s, box-shadow .2s;
}
.review-editor[open] > .review-editor-toggle {
  background: linear-gradient(#deecd3, #f4faeb);
  box-shadow: inset 0 2px 3px #174b4017, 0 1px 0 #fff;
}
.review-star-choice { border-radius: 7px; }
.review-star-choice:has(input:checked) {
  background: linear-gradient(#fff2c3, #f0d98e);
  box-shadow: inset 0 2px 2px #9e802332, 0 1px 0 #fff;
  text-shadow: 0 1px 0 #fff4ca;
}
.review-stars .is-filled { text-shadow: 0 1px 0 #fff3bd, 0 2px 0 #b5943d45; }

.store-dialog, .pub-dialog {
  border-radius: 18px;
  border-color: #b1c7a4;
  background: var(--depth-surface);
  box-shadow: inset 0 1px 0 #fff, 0 4px 0 #e0e8ce, 0 8px 0 #a9c09d,
    0 30px 100px #001e2266;
}
.store-dialog::backdrop, .pub-dialog::backdrop {
  background: #062e2c94;
  backdrop-filter: blur(7px);
}
.store-dialog[open], .pub-dialog[open] { animation: depth-dialog .32s var(--depth-ease) both; }
.cart-quantity {
  border-radius: 7px;
  background: #e9f2e4;
  box-shadow: inset 0 2px 3px #174b4014, 0 1px 0 #fff;
  overflow: hidden;
}
.cart-quantity button {
  color: var(--ink);
  background: linear-gradient(#fffef8, #dfedda);
  box-shadow: inset 0 1px 0 #fff, 0 2px 2px #174b4012;
  transition: background .2s, box-shadow .2s;
}
.pub-read, .pub-library, .reviews-text-button, .catalog-clear,
.cart-detail-link, .cart-remove, .text-link {
  transition: color .2s, transform .2s var(--depth-ease), text-shadow .2s;
}

/* Keyboard interaction has the same clear tactile response as pointing. */
.button:focus-visible, .cart-button:focus-visible, .menu-toggle:focus-visible,
.dialog-close:focus-visible, .pub-close:focus-visible, .catalog-topic:focus-visible,
.catalog-tab:focus-visible, .cover-button:focus-visible {
  outline: 3px solid var(--terra);
  outline-offset: 5px;
}
#panel-libros .book-gallery > .product-card:focus-within {
  border-color: #5c9e78;
  box-shadow: inset 0 1px 0 #fff, 0 3px 0 #d5e6ce,
    0 6px 0 #8eb69a, 0 17px 28px -11px #174b403d;
}

@media (hover: hover) and (pointer: fine) {
  .brand--seal:hover {
    transform: translateY(-2px) rotate(-3deg);
    box-shadow: inset 0 2px 1px #fff, inset 0 -3px 6px #5975461b,
      0 6px 0 #9bbc9e, 0 11px 18px #174b402b;
  }
  .hero-art:hover .logo-stage { transform: none; }
  .button:hover, .cart-button:hover, .menu-toggle:hover,
  .dialog-close:hover, .pub-close:hover {
    background: var(--control-face);
    transform: translateY(-3px);
    box-shadow: inset 0 1px 0 #ffffffb5, 0 7px 0 var(--control-edge),
      0 13px 18px #174b4028;
  }
  .button:hover > span { transform: translate(3px, -2px); }
  .text-link:hover > span, .hero-bottom > a:hover > span { transform: translateX(4px); }
  .main-nav > a:not(.nav-cta):hover { color: var(--palm); text-shadow: 0 2px 0 #d2e6d1; }
  .catalog-tab[aria-selected="false"]:hover, .catalog-topic[aria-pressed="false"]:hover {
    background: linear-gradient(#fffef4, #e1f2de);
    border-color: #7fab89;
    transform: translateY(-2px);
    box-shadow: inset 0 1px 0 #fff, 0 5px 0 #b1cda9, 0 8px 12px #174b4014;
  }
  #panel-libros .book-gallery > .product-card:hover {
    border-color: #81ae89;
    transform: translateY(-6px);
    box-shadow: inset 0 1px 0 #fff, 0 4px 0 #d7e5cf,
      0 7px 0 #aac7a3, 0 22px 31px -12px #174b4052;
  }
  #panel-libros .book-gallery .cover-button:hover .product-cover {
    transform: rotateY(-8deg) rotateX(2deg) translateY(-2px);
  }
  #panel-libros .book-gallery > .product-card:hover .gallery-book-title,
  .pub-entry:hover .pub-entry-title {
    transform: translateY(-2px);
    text-shadow: 0 1px 0 #fffef8, 0 2px 0 #b3ceb3, 0 5px 7px #174b4020;
  }
  .pub-panel:hover, .video-card:hover {
    transform: translateY(-4px);
    box-shadow: inset 0 1px 0 #fff, 0 5px 0 #d5e3c9,
      0 8px 0 #bad0b0, 0 22px 32px -15px #174b4052;
  }
  .review-editor-toggle:hover { color: #095d48; text-shadow: 0 2px 0 #c7dfbd; }
  .pub-read:hover, .pub-library:hover, .reviews-text-button:hover,
  .catalog-clear:not(:disabled):hover, .cart-detail-link:hover, .cart-remove:hover {
    transform: translateY(-1px);
    text-shadow: 0 2px 0 #c7dfbd;
  }
}

.button:active, .cart-button:active, .menu-toggle:active,
.dialog-close:active, .pub-close:active {
  transform: translateY(3px);
  box-shadow: inset 0 2px 4px #003c3028, 0 1px 0 var(--control-edge),
    0 3px 5px #174b4017;
}
.catalog-topic:active, .catalog-tab:active {
  transform: translateY(2px);
  box-shadow: inset 0 2px 4px #174b4027, 0 1px 0 #bed2b5;
}
.cart-quantity button:active { box-shadow: inset 0 2px 4px #174b4029; }
.pub-read:active, .pub-library:active, .reviews-text-button:active,
.catalog-clear:not(:disabled):active, .cart-detail-link:active, .cart-remove:active,
.text-link:active { transform: translateY(1px); }
.button:disabled, .cart-quantity button:disabled, .catalog-clear:disabled {
  transform: none;
  box-shadow: none;
}

@keyframes depth-dialog {
  from { opacity: 0; transform: perspective(1000px) translateY(15px) rotateX(-3deg) scale(.98); }
  to { opacity: 1; transform: none; }
}
@keyframes depth-arrive {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: none; }
}
.hero-copy { animation: depth-arrive .65s var(--depth-ease) both; }

@media (max-width: 760px) {
  .hero.section-shell { --brand-banner-height: clamp(180px, 55vw, 270px); width: 100%; padding-top: 0; }
  .logo-stage { border-radius: 0; transform: none; padding: 8px 10px; }
  .logo-stage--wide { padding: 8px 10px; }
  .logo-stage--wide > .hero-wide-mark { width: min(100%, calc((var(--brand-banner-height) - 18px) * 1.67647)); }
  .logo-stage::after { inset: 4px 0; border-radius: 0; }
  .hero-copy { width: calc(100% - 36px); padding-top: 24px; }
  .hero h1 { font-size: clamp(32px, 5.2vw, 42px); }
  .hero-description { max-width: 520px; }
  .hero-bottom { width: calc(100% - 32px); }
  .catalog { border-radius: 12px; }
  .catalog-tabs { gap: 9px; padding-block: 12px; }
  .catalog-tab { padding: 10px 12px; }
  .catalog-tab > span { margin-left: 7px; }
  .catalog-top { padding-bottom: 15px; }
  .pub-panel, .video-card, .video-empty { border-radius: 12px; }
  .origin-word { text-shadow: 0 2px 0 #296b4e, 0 3px 0 #104d3e, 0 7px 10px #00372e75; }
}
@media (max-width: 370px) {
  .hero-copy { width: calc(100% - 32px); }
  .hero h1 { font-size: 31px; }
}

@media (hover: none) {
  /* Touch uses press feedback; incidental hover never shifts an element. */
  .brand--seal:hover, .hero-art:hover .logo-stage,
  #panel-libros .book-gallery .cover-button:hover { transform: none; }
}

@media (prefers-reduced-motion: reduce) {
  .hero-copy, .store-dialog[open], .pub-dialog[open] { animation: none; }
  .brand--seal, .logo-stage, .button, .cart-button, .menu-toggle, .dialog-close,
  .pub-close, .catalog-topic, .catalog-tab, .product-card, .product-cover,
  .pub-panel, .video-card, .video-empty, .catalog-no-results,
  #panel-libros .book-gallery .gallery-book-title, .pub-entry .pub-entry-title,
  .button > span, .text-link > span, .hero-bottom > a > span {
    transition: none;
  }
  .brand--seal:hover, .hero-art:hover .logo-stage, .button:hover, .button:active,
  .cart-button:hover, .cart-button:active, .menu-toggle:hover, .menu-toggle:active,
  .dialog-close:hover, .dialog-close:active, .pub-close:hover, .pub-close:active,
  .catalog-topic:hover, .catalog-topic:active, .catalog-tab:hover, .catalog-tab:active,
  #panel-libros .book-gallery > .product-card:hover,
  #panel-libros .book-gallery .cover-button:hover .product-cover,
  .pub-panel:hover, .video-card:hover, .button:hover > span, .text-link:hover > span,
  .hero-bottom > a:hover > span,
  .pub-read:hover, .pub-read:active, .pub-library:hover, .pub-library:active,
  .reviews-text-button:hover, .reviews-text-button:active,
  .catalog-clear:not(:disabled):hover, .catalog-clear:not(:disabled):active,
  .cart-detail-link:hover, .cart-detail-link:active, .cart-remove:hover,
  .cart-remove:active, .text-link:active,
  #panel-libros .book-gallery > .product-card:hover .gallery-book-title,
  #panel-libros .book-gallery > .product-card:focus-within .gallery-book-title,
  .pub-entry:hover .pub-entry-title, .pub-entry:focus-within .pub-entry-title { transform: none; }
}

/* Living foliage frames the banner without changing its height or the artwork. */
.logo-stage {
  --banner-plant-width: min(22vw, calc(var(--brand-banner-height) * .86), 300px);
  --banner-logo-space: calc(100% - var(--banner-plant-width) * 2 - 24px);
}
.logo-stage > .banner-plant {
  position: absolute;
  z-index: 0;
  bottom: 8px;
  width: var(--banner-plant-width);
  max-width: none;
  height: calc(100% - 20px);
  object-fit: contain;
  object-position: center bottom;
  pointer-events: none;
  user-select: none;
}
.logo-stage > .banner-plant--palms { left: clamp(10px, 2vw, 30px); }
.logo-stage > .banner-plant--clover {
  right: clamp(10px, 2vw, 30px);
  height: 76%;
}
.logo-stage > .hero-logo,
.logo-stage > .hero-wide-mark {
  position: relative;
  z-index: 2;
  max-width: var(--banner-logo-space);
}
.logo-stage::after { z-index: 3; }
@media (max-width: 760px) {
  .logo-stage {
    --banner-plant-width: 16vw;
    --banner-logo-space: calc(100% - var(--banner-plant-width) * 2 - 12px);
  }
  .logo-stage > .banner-plant {
    bottom: 6px;
    height: 86%;
    opacity: .9;
  }
  .logo-stage > .banner-plant--palms { left: 3px; }
  .logo-stage > .banner-plant--clover { right: 3px; height: 66%; }
}
