
    @import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@400;500;600;700&family=Inter:wght@400;500;600;700;800;900&display=swap');

    :root {
      --bg: #020202;
      --ink: #f4f1e8;
      --muted: #b8b2a7;
      --dim: #7f796f;
      --line: rgba(255,255,255,.12);
      --line-soft: rgba(255,255,255,.075);
      --gold: #c8a24a;
      --gold2: #e0bd68;
      --panel: rgba(255,255,255,.045);
      --panel2: rgba(255,255,255,.068);
      --shadow: 0 34px 120px rgba(0,0,0,.60);
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      color: var(--ink);
      background:
        radial-gradient(circle at 72% 6%, rgba(201,162,74,.12), transparent 25%),
        radial-gradient(circle at 7% 84%, rgba(255,255,255,.06), transparent 22%),
        linear-gradient(135deg, #050505 0%, #000 68%, #040404 100%);
      font-family: "Cormorant Garamond", Georgia, serif;
      overflow-x: hidden;
    }

    body::before {
      content: "";
      position: fixed;
      inset: 0;
      pointer-events: none;
      opacity: .14;
      background-image:
        linear-gradient(to right, rgba(255,255,255,.03) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(255,255,255,.022) 1px, transparent 1px);
      background-size: 112px 112px;
      mask-image: radial-gradient(circle at center, #000, transparent 75%);
    }

    a { color: inherit; text-decoration: none; }
    button { font: inherit; }
    .page { position: relative; z-index: 1; }
    .shell { width: min(1180px, calc(100% - 44px)); margin: 0 auto; }

    header {
      position: sticky;
      top: 0;
      z-index: 90;
      background: rgba(3,3,3,.82);
      backdrop-filter: blur(18px);
      border-bottom: 1px solid var(--line-soft);
    }
    .nav {
      min-height: 68px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 22px;
      padding: 10px 0;
    }
    .brand {
      font-size: 21px;
      letter-spacing: .12em;
      white-space: nowrap;
    }
    nav {
      display: flex;
      gap: 23px;
      align-items: center;
      font-family: Inter, Arial, sans-serif;
      font-size: 11px;
      letter-spacing: .16em;
      text-transform: uppercase;
      color: rgba(255,255,255,.68);
    }
    nav a {
      padding: 14px 0;
      border-bottom: 1px solid transparent;
      transition: .2s ease;
    }
    nav a:hover {
      color: #fff;
      border-color: var(--gold);
    }
    .tools { display: flex; align-items: center; gap: 10px; }

    .lang-switcher { position: relative; font-family: Inter, Arial, sans-serif; }
    .lang-toggle, .small-buy {
      height: 40px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      gap: 8px;
      padding: 0 14px;
      border-radius: 999px;
      border: 1px solid rgba(201,162,74,.28);
      background: rgba(255,255,255,.04);
      color: rgba(255,255,255,.9);
      font-size: 12px;
      font-weight: 900;
      cursor: pointer;
      white-space: nowrap;
    }
    .small-buy {
      color: var(--gold2);
      background: rgba(201,162,74,.10);
    }
    .lang-menu {
      position: absolute;
      right: 0;
      top: calc(100% + 10px);
      width: 218px;
      padding: 10px;
      display: none;
      gap: 8px;
      border: 1px solid rgba(201,162,74,.20);
      border-radius: 18px;
      background: rgba(5,5,5,.97);
      box-shadow: 0 24px 70px rgba(0,0,0,.60);
    }
    .lang-menu.open { display: grid; }
    .lang-menu button {
      border: 0;
      background: transparent;
      color: rgba(255,255,255,.82);
      border-radius: 12px;
      padding: 12px;
      display: flex;
      align-items: center;
      gap: 12px;
      cursor: pointer;
      font-family: Inter, Arial, sans-serif;
      font-weight: 900;
      text-align: left;
    }
    .lang-menu button:hover, .lang-menu button.active {
      background: rgba(201,162,74,.12);
      color: var(--gold2);
    }
    .flag { font-size: 22px; }

    .hero {
      min-height: calc(100vh - 68px);
      display: grid;
      grid-template-columns: 1.08fr .92fr;
      gap: 54px;
      align-items: center;
      padding: 64px 0 54px;
      position: relative;
    }
    .hero::before {
      content: "";
      position: absolute;
      inset: 0;
      background-image: url("assets/cover.png");
      background-size: cover;
      background-position: 64% 22%;
      opacity: .16;
      filter: grayscale(1) contrast(1.16);
      mask-image: linear-gradient(to right, transparent 0%, #000 48%, #000 100%);
    }
    .hero-copy, .hero-art { position: relative; z-index: 1; }
    .kicker {
      margin: 0 0 18px;
      color: var(--gold);
      font-family: Inter, Arial, sans-serif;
      font-size: 11px;
      letter-spacing: .30em;
      text-transform: uppercase;
      font-weight: 900;
    }
    h1 {
      margin: 0;
      font-family: Inter, Arial, sans-serif;
      font-size: clamp(28px, 4vw, 56px);
      line-height: .83;
      letter-spacing: .015em;
      text-transform: uppercase;
      color: rgba(255,255,255,.84);
      text-shadow: 0 0 36px rgba(255,255,255,.08);
    }
    .hero-sub {
      max-width: 790px;
      margin: 26px 0 0;
      font-size: clamp(28px, 3vw, 47px);
      line-height: 1.04;
      font-style: italic;
      color: rgba(255,255,255,.88);
    }
    .hero-quote {
      max-width: 720px;
      margin: 24px 0 0;
      font-size: clamp(21px, 2vw, 32px);
      line-height: 1.18;
      color: rgba(255,255,255,.62);
      font-style: italic;
    }
    .hero-actions {
      margin-top: 34px;
      display: flex;
      flex-wrap: wrap;
      gap: 12px;
      font-family: Inter, Arial, sans-serif;
    }
    .btn {
      min-height: 50px;
      display: inline-flex;
      align-items: center;
      justify-content: center;
      border-radius: 999px;
      border: 1px solid var(--line);
      padding: 0 22px;
      font-weight: 900;
      font-size: 14px;
      text-align: center;
      transition: .22s ease;
    }
    .btn.primary {
      background: var(--ink);
      color: #050505;
      border-color: var(--ink);
    }
    .btn.gold {
      color: var(--gold2);
      border-color: rgba(201,162,74,.45);
      background: rgba(201,162,74,.08);
    }
    .btn:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(255,255,255,.10); }

    .credibility {
      display: flex;
      flex-wrap: wrap;
      gap: 10px;
      margin-top: 28px;
      font-family: Inter, Arial, sans-serif;
    }
    .credibility span {
      padding: 9px 12px;
      border: 1px solid rgba(255,255,255,.10);
      border-radius: 999px;
      background: rgba(255,255,255,.035);
      color: rgba(255,255,255,.70);
      font-size: 12px;
      font-weight: 800;
    }
    .book-cover {
      width: min(350px, 86%);
      aspect-ratio: 2/3;
      margin: 0 auto;
      position: relative;
      overflow: hidden;
      border-radius: 8px 22px 22px 8px;
      border: 1px solid rgba(255,255,255,.18);
      background: #050505;
      box-shadow: 30px 46px 92px rgba(0,0,0,.72), 11px 0 0 rgba(255,255,255,.05);
      transform: perspective(1100px) rotateY(-8deg);
    }
    .book-cover img { width: 100%; height: 100%; object-fit: contain; display: block; }
    .book-cover::after, .visual-tile::after {
      content: "© Iván Salinas Sinning";
      position: absolute;
      right: 12px;
      bottom: 12px;
      padding: 7px 10px;
      border: 1px solid rgba(255,255,255,.15);
      border-radius: 999px;
      background: rgba(0,0,0,.55);
      color: rgba(255,255,255,.85);
      font-family: Inter, Arial, sans-serif;
      font-size: 10px;
      letter-spacing: .08em;
      z-index: 2;
      pointer-events: none;
    }

    section {
      padding: 78px 0;
      border-top: 1px solid var(--line-soft);
    }
    .section-head {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 42px;
      align-items: end;
      margin-bottom: 30px;
    }
    .section-head h2 {
      margin: 0;
      font-size: clamp(42px, 5vw, 74px);
      line-height: .88;
      letter-spacing: -.045em;
      font-weight: 600;
    }
    .section-head p, .copy {
      margin: 0;
      color: var(--muted);
      font-family: Inter, Arial, sans-serif;
      font-size: 16px;
      line-height: 1.78;
    }
    .gold-text { color: var(--gold2) !important; font-weight: 800; }

    .manifest {
      border: 1px solid rgba(201,162,74,.30);
      border-radius: 30px;
      padding: clamp(28px, 4vw, 44px);
      background:
        radial-gradient(circle at 8% 0%, rgba(201,162,74,.10), transparent 30%),
        linear-gradient(145deg, rgba(255,255,255,.052), rgba(255,255,255,.018));
      box-shadow: var(--shadow);
      position: relative;
      overflow: hidden;
    }
    .manifest::before {
      content: "OBRA";
      position: absolute;
      right: 12px;
      top: 10px;
      color: rgba(201,162,74,.040);
      font-family: Inter, Arial, sans-serif;
      font-size: clamp(52px, 10vw, 145px);
      font-weight: 900;
      letter-spacing: -.07em;
      pointer-events: none;
    }
    .pillars {
      position: relative;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
      margin-top: 26px;
    }
    .pillar {
      border: 1px solid rgba(255,255,255,.10);
      border-radius: 20px;
      background: rgba(0,0,0,.20);
      padding: 22px;
      min-height: 158px;
    }
    .pillar span {
      display: block;
      color: var(--gold);
      font-family: Inter, Arial, sans-serif;
      font-size: 10px;
      letter-spacing: .22em;
      text-transform: uppercase;
      font-weight: 900;
      margin-bottom: 14px;
    }
    .pillar h3 {
      margin: 0 0 12px;
      font-size: clamp(29px, 3vw, 39px);
      line-height: .92;
      font-weight: 600;
    }
    .pillar p {
      margin: 0;
      color: var(--muted);
      font-family: Inter, Arial, sans-serif;
      font-size: 14px;
      line-height: 1.66;
    }
    .manifest-quote {
      position: relative;
      margin-top: 22px;
      border-left: 3px solid var(--gold);
      border-radius: 18px;
      background: rgba(0,0,0,.25);
      padding: 22px 24px;
      color: var(--gold2);
      font-size: clamp(24px, 2.6vw, 41px);
      line-height: 1.06;
      font-style: italic;
    }

    .poem-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 16px;
    }
    .poem-card {
      min-height: 306px;
      border: 1px solid var(--line);
      border-radius: 24px;
      background:
        radial-gradient(circle at 18% 0%, rgba(201,162,74,.10), transparent 32%),
        linear-gradient(145deg, rgba(255,255,255,.052), rgba(255,255,255,.018));
      padding: 26px;
      display: flex;
      flex-direction: column;
      justify-content: space-between;
      box-shadow: 0 18px 70px rgba(0,0,0,.28);
    }
    .mini-label {
      color: var(--gold);
      font-family: Inter, Arial, sans-serif;
      font-size: 10px;
      letter-spacing: .22em;
      text-transform: uppercase;
      font-weight: 900;
      margin-bottom: 18px;
    }
    .poem-card h3 {
      margin: 0 0 14px;
      font-size: clamp(34px, 3.2vw, 50px);
      line-height: .9;
      font-weight: 600;
    }
    .poem-card p {
      margin: 0;
      color: var(--muted);
      font-family: Inter, Arial, sans-serif;
      font-size: 15px;
      line-height: 1.68;
    }
    .read-btn {
      margin-top: 28px;
      min-height: 44px;
      border-radius: 999px;
      border: 1px solid rgba(201,162,74,.42);
      background: rgba(201,162,74,.08);
      color: var(--gold2);
      font-family: Inter, Arial, sans-serif;
      font-weight: 900;
      cursor: pointer;
      transition: .2s ease;
      padding: 0 16px;
    }
    .read-btn:hover { transform: translateY(-2px); background: rgba(201,162,74,.14); }

    .edition {
      display: grid;
      grid-template-columns: .82fr 1.18fr;
      gap: 24px;
      align-items: stretch;
      border: 1px solid rgba(201,162,74,.30);
      border-radius: 30px;
      padding: 24px;
      background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(255,255,255,.018));
      box-shadow: var(--shadow);
    }
    .edition-cover {
      min-height: 540px;
      border-radius: 20px;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.13);
      background: #000;
    }
    .edition-cover img { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; }
    .edition-copy {
      padding: 16px 10px;
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .edition-copy h2 {
      margin: 0 0 10px;
      font-size: clamp(54px, 7vw, 98px);
      line-height: .82;
      letter-spacing: -.055em;
      font-weight: 700;
    }
    .edition-subtitle {
      margin: 0 0 24px;
      color: var(--gold2);
      font-family: Inter, Arial, sans-serif;
      font-size: 14px;
      line-height: 1.6;
      font-weight: 800;
    }
    .edition-cols {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
      margin: 22px 0;
    }
    .info-box {
      border: 1px solid rgba(255,255,255,.10);
      border-radius: 18px;
      background: rgba(0,0,0,.20);
      padding: 18px;
      font-family: Inter, Arial, sans-serif;
    }
    .info-box h3 {
      margin: 0 0 12px;
      color: var(--gold2);
      font-size: 14px;
      letter-spacing: .10em;
      text-transform: uppercase;
    }
    .info-box ul {
      margin: 0;
      padding-left: 18px;
      color: var(--muted);
      line-height: 1.65;
      font-size: 13px;
    }
    .info-box p {
      margin: 0;
      color: var(--muted);
      line-height: 1.65;
      font-size: 13px;
    }
    .edition-actions {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 6px;
      font-family: Inter, Arial, sans-serif;
    }
    .edition-actions a {
      min-height: 58px;
      border-radius: 15px;
      display: grid;
      place-items: center;
      padding: 0 14px;
      text-align: center;
      font-size: 13px;
      font-weight: 900;
      border: 1px solid rgba(201,162,74,.36);
      color: var(--gold2);
      background: rgba(201,162,74,.08);
      transition: .2s ease;
    }
    .edition-actions a.primary { background: var(--ink); color: #050505; border-color: var(--ink); }
    .edition-actions a:hover { transform: translateY(-2px); box-shadow: 0 14px 34px rgba(255,255,255,.10); }

    .language-grid {
      margin-top: 18px;
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
      font-family: Inter, Arial, sans-serif;
    }
    .language-card {
      border: 1px solid rgba(255,255,255,.10);
      border-radius: 16px;
      background: rgba(255,255,255,.035);
      padding: 14px;
    }
    .language-card strong {
      display: block;
      color: var(--gold2);
      font-size: 14px;
      margin-bottom: 6px;
    }
    .language-card span {
      color: rgba(255,255,255,.62);
      font-size: 12px;
    }


    .author-panel {
      display: grid;
      grid-template-columns: .82fr 1.18fr;
      gap: 18px;
      align-items: stretch;
      border: 1px solid rgba(201,162,74,.25);
      border-radius: 28px;
      padding: 18px;
      background:
        radial-gradient(circle at 6% 0%, rgba(201,162,74,.08), transparent 28%),
        linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.016));
      box-shadow: var(--shadow);
    }

    .author-photo {
      min-height: 315px;
      position: relative;
      border-radius: 20px;
      overflow: hidden;
      border: 1px solid rgba(255,255,255,.12);
      background: #050505;
    }

    .author-photo img {
      width: 100%;
      height: 100%;
      min-height: 315px;
      object-fit: cover;
      display: block;
      filter: saturate(.78) contrast(1.05) brightness(.78);
    }

    .author-photo::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(0,0,0,.16), transparent 44%),
        radial-gradient(circle at 50% 100%, rgba(201,162,74,.10), transparent 55%);
      pointer-events: none;
    }

    .author-photo span {
      position: absolute;
      left: 18px;
      bottom: 18px;
      z-index: 2;
      padding: 9px 12px;
      border-radius: 999px;
      background: rgba(0,0,0,.58);
      border: 1px solid rgba(255,255,255,.14);
      color: rgba(255,255,255,.88);
      font-family: Inter, Arial, sans-serif;
      font-size: 12px;
      letter-spacing: .08em;
      text-transform: uppercase;
      font-weight: 800;
    }

    .author-copy {
      border-radius: 20px;
      background: rgba(0,0,0,.22);
      border: 1px solid rgba(255,255,255,.09);
      padding: clamp(24px, 4vw, 42px);
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .author-copy h2 {
      margin: 0 0 16px;
      font-size: clamp(42px, 5vw, 72px);
      line-height: .88;
      letter-spacing: -.045em;
      font-weight: 600;
    }

    .author-copy p {
      margin: 0;
      color: var(--muted);
      font-family: Inter, Arial, sans-serif;
      font-size: 16px;
      line-height: 1.78;
    }

    .author-copy small {
      margin-top: 20px;
      color: rgba(255,255,255,.42);
      font-family: Inter, Arial, sans-serif;
      font-size: 11px;
      line-height: 1.5;
    }

    .visual-layout {
      display: grid;
      grid-template-columns: .78fr 1.22fr;
      gap: 18px;
      align-items: stretch;
    }
    .visual-copy {
      border: 1px solid var(--line);
      border-radius: 24px;
      padding: 26px;
      background: rgba(255,255,255,.035);
      display: flex;
      flex-direction: column;
      justify-content: center;
    }
    .visual-copy h2 {
      margin: 0 0 16px;
      font-size: clamp(38px, 5vw, 68px);
      line-height: .88;
    }
    .visual-copy p {
      margin: 0;
      color: var(--muted);
      font-family: Inter, Arial, sans-serif;
      line-height: 1.72;
    }
    .visual-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 10px;
    }
    .visual-tile {
      position: relative;
      min-height: 260px;
      border: 1px solid rgba(201,162,74,.30);
      border-radius: 20px;
      overflow: hidden;
      background: #050505;
      padding: 0;
      cursor: zoom-in;
    }
    .visual-tile.wide { grid-column: span 2; }
    .visual-tile img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      display: block;
      transition: .25s ease;
    }
    .visual-tile:nth-child(2) img { object-fit: contain; background: #050505; }
    .visual-tile:hover img { transform: scale(1.025); filter: brightness(1.04); }
    .visual-tile span {
      position: absolute;
      left: 12px;
      top: 12px;
      padding: 7px 10px;
      border-radius: 999px;
      background: rgba(0,0,0,.55);
      border: 1px solid rgba(255,255,255,.12);
      font-family: Inter, Arial, sans-serif;
      font-size: 10px;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: #fff;
      z-index: 2;
    }

    .contact-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 14px;
    }
    .contact-card {
      border: 1px solid var(--line);
      border-radius: 22px;
      background: rgba(255,255,255,.035);
      padding: 24px;
      font-family: Inter, Arial, sans-serif;
    }
    .contact-card span {
      display: block;
      color: var(--gold);
      font-size: 10px;
      letter-spacing: .22em;
      text-transform: uppercase;
      font-weight: 900;
      margin-bottom: 10px;
    }
    .contact-card p { margin: 0; color: var(--muted); line-height: 1.6; }

    footer {
      border-top: 1px solid var(--line-soft);
      padding: 28px 0;
      color: var(--dim);
      font-family: Inter, Arial, sans-serif;
      font-size: 13px;
      text-align: center;
    }
    .floating-whatsapp {
      position: fixed;
      right: 20px;
      bottom: 20px;
      z-index: 70;
      width: 58px;
      height: 58px;
      border-radius: 50%;
      background: #25D366;
      color: #06170c;
      display: grid;
      place-items: center;
      font-family: Inter, Arial, sans-serif;
      font-weight: 900;
      box-shadow: 0 16px 50px rgba(0,0,0,.45);
      border: 2px solid rgba(255,255,255,.18);
    }

    .lightbox, .poem-modal {
      position: fixed;
      inset: 0;
      z-index: 9999;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 34px;
      background: rgba(0,0,0,.92);
    }
    .lightbox.open, .poem-modal.open { display: flex; }
    .lightbox-inner {
      position: relative;
      width: min(94vw, 1500px);
      height: min(90vh, 950px);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .lightbox img {
      max-width: 100%;
      max-height: 100%;
      object-fit: contain;
      border-radius: 12px;
      border: 1px solid rgba(255,255,255,.14);
      box-shadow: 0 30px 90px rgba(0,0,0,.70);
    }
    .lightbox-inner::after {
      content: "© Iván Salinas Sinning";
      position: absolute;
      right: 18px;
      bottom: 18px;
      padding: 10px 14px;
      border-radius: 999px;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(0,0,0,.58);
      color: rgba(255,255,255,.9);
      font-family: Inter, Arial, sans-serif;
      font-size: 12px;
      letter-spacing: .1em;
      pointer-events: none;
    }
    .lightbox-caption {
      position: absolute;
      left: 0;
      right: 0;
      bottom: -32px;
      text-align: center;
      color: rgba(255,255,255,.78);
      font-family: Inter, Arial, sans-serif;
      font-size: 13px;
    }
    .close-btn, .modal-close {
      position: absolute;
      top: 18px;
      right: 18px;
      width: 44px;
      height: 44px;
      border-radius: 50%;
      border: 1px solid rgba(255,255,255,.18);
      background: rgba(0,0,0,.72);
      color: #fff;
      font-size: 27px;
      line-height: 1;
      display: grid;
      place-items: center;
      cursor: pointer;
    }
    .poem-modal-inner {
      position: relative;
      width: min(900px, 94vw);
      max-height: 88vh;
      overflow: auto;
      border: 1px solid rgba(201,162,74,.34);
      border-radius: 24px;
      background: radial-gradient(circle at 22% 0%, rgba(255,255,255,.08), transparent 28%), #070707;
      padding: clamp(30px, 5vw, 62px);
      box-shadow: 0 34px 130px rgba(0,0,0,.78);
    }
    .modal-kicker {
      font-family: Inter, Arial, sans-serif;
      color: var(--gold);
      font-size: 10px;
      letter-spacing: .28em;
      text-transform: uppercase;
      margin-bottom: 20px;
    }
    .poem-modal h2 {
      margin: 0 0 34px;
      font-size: clamp(48px, 6vw, 82px);
      line-height: .86;
      font-weight: 600;
      letter-spacing: -.04em;
    }
    .modal-body p {
      margin: 0 0 20px;
      color: rgba(255,255,255,.86);
      font-size: clamp(23px, 2.1vw, 32px);
      line-height: 1.25;
    }


    .visual-gate {
      display: grid;
      grid-template-columns: .92fr 1.08fr;
      gap: 18px;
      align-items: stretch;
    }

    .visual-gate-copy {
      border: 1px solid rgba(201,162,74,.25);
      border-radius: 26px;
      padding: clamp(28px, 4vw, 48px);
      background:
        radial-gradient(circle at 12% 0%, rgba(201,162,74,.09), transparent 28%),
        linear-gradient(145deg, rgba(255,255,255,.045), rgba(255,255,255,.016));
      box-shadow: var(--shadow);
      display: flex;
      flex-direction: column;
      justify-content: center;
    }

    .visual-gate-copy h2 {
      margin: 0 0 18px;
      font-size: clamp(46px, 6vw, 84px);
      line-height: .86;
      letter-spacing: -.048em;
      font-weight: 600;
    }

    .visual-gate-copy p:not(.kicker) {
      margin: 0 0 28px;
      color: var(--muted);
      font-family: Inter, Arial, sans-serif;
      font-size: 16px;
      line-height: 1.76;
      max-width: 620px;
    }

    .gallery-open-btn {
      width: fit-content;
      border-radius: 999px;
      cursor: pointer;
      background: rgba(201,162,74,.10);
    }

    .visual-preview-card {
      position: relative;
      min-height: 420px;
      border: 1px solid rgba(201,162,74,.30);
      border-radius: 26px;
      overflow: hidden;
      background: #050505;
      cursor: pointer;
      box-shadow: var(--shadow);
      padding: 0;
    }

    .visual-preview-card img {
      width: 100%;
      height: 100%;
      min-height: 420px;
      object-fit: cover;
      display: block;
      filter: saturate(.92) contrast(1.07) brightness(.82);
      transition: .28s ease;
    }

    .visual-preview-card::after {
      content: "";
      position: absolute;
      inset: 0;
      background:
        linear-gradient(90deg, rgba(0,0,0,.56), rgba(0,0,0,.12) 48%, rgba(0,0,0,.48)),
        radial-gradient(circle at 80% 15%, rgba(201,162,74,.16), transparent 32%);
      pointer-events: none;
    }

    .visual-preview-card:hover img {
      transform: scale(1.035);
      filter: saturate(.98) contrast(1.10) brightness(.88);
    }

    .visual-preview-card span {
      position: absolute;
      left: 24px;
      bottom: 24px;
      z-index: 2;
      color: var(--ink);
      font-size: clamp(38px, 5vw, 72px);
      line-height: .88;
      font-family: "Cormorant Garamond", Georgia, serif;
      text-align: left;
      max-width: 560px;
      text-shadow: 0 18px 45px rgba(0,0,0,.72);
    }

    .gallery-modal {
      position: fixed;
      inset: 0;
      z-index: 9998;
      display: none;
      align-items: center;
      justify-content: center;
      padding: 30px;
      background: rgba(0,0,0,.93);
    }

    .gallery-modal.open {
      display: flex;
    }

    .gallery-modal-inner {
      position: relative;
      width: min(1320px, 96vw);
      max-height: 90vh;
      overflow: auto;
      border: 1px solid rgba(201,162,74,.34);
      border-radius: 28px;
      background:
        radial-gradient(circle at 16% 0%, rgba(201,162,74,.10), transparent 30%),
        #070707;
      padding: clamp(24px, 4vw, 44px);
      box-shadow: 0 34px 130px rgba(0,0,0,.80);
    }

    .gallery-head {
      display: grid;
      grid-template-columns: .9fr 1.1fr;
      gap: 30px;
      align-items: end;
      margin-bottom: 24px;
    }

    .gallery-head h2 {
      margin: 0;
      font-size: clamp(46px, 6vw, 86px);
      line-height: .86;
      letter-spacing: -.045em;
      font-weight: 600;
    }

    .gallery-head p:not(.kicker) {
      margin: 0;
      color: var(--muted);
      font-family: Inter, Arial, sans-serif;
      font-size: 15px;
      line-height: 1.7;
    }

    .gallery-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
    }

    .gallery-item {
      position: relative;
      min-height: 270px;
      border: 1px solid rgba(255,255,255,.11);
      border-radius: 18px;
      overflow: hidden;
      background: #050505;
      cursor: zoom-in;
      padding: 0;
    }

    .gallery-item.wide {
      grid-column: span 2;
    }

    .gallery-item img {
      width: 100%;
      height: 100%;
      min-height: 270px;
      object-fit: cover;
      display: block;
      transition: .24s ease;
    }

    .gallery-item:nth-child(2) img {
      object-fit: contain;
      background: #050505;
    }

    .gallery-item:hover img {
      transform: scale(1.025);
      filter: brightness(1.05);
    }

    .gallery-item span {
      position: absolute;
      left: 12px;
      top: 12px;
      padding: 7px 10px;
      border-radius: 999px;
      background: rgba(0,0,0,.58);
      border: 1px solid rgba(255,255,255,.13);
      font-family: Inter, Arial, sans-serif;
      font-size: 10px;
      letter-spacing: .08em;
      text-transform: uppercase;
      color: #fff;
      z-index: 2;
    }

    @media (max-width: 1060px) {
      .visual-gate, .gallery-head {
        grid-template-columns: 1fr;
      }
      .gallery-grid {
        grid-template-columns: 1fr;
      }
      .gallery-item.wide {
        grid-column: span 1;
      }
    }

    @media (max-width: 1060px) {
      .nav { flex-wrap: wrap; }
      nav { order: 3; width: 100%; overflow-x: auto; gap: 20px; }
      .hero, .section-head, .edition, .visual-layout, .author-panel { grid-template-columns: 1fr; }
      .hero::before { mask-image: linear-gradient(to bottom, transparent 0%, #000 42%, #000 100%); }
      .hero-art { display: none; }
      .pillars, .poem-grid, .edition-cols, .language-grid, .visual-grid, .contact-grid { grid-template-columns: 1fr; }
      .visual-tile.wide { grid-column: span 1; }
      .edition-actions { grid-template-columns: 1fr; }
      .edition-cover { min-height: 440px; }
    }
    @media (max-width: 640px) {
      .shell { width: min(100% - 26px, 1180px); }
      h1 { font-size: clamp(24px, 7.6vw, 48px); }
      section { padding: 58px 0; }
      .tools { width: 100%; justify-content: space-between; }
      .small-buy { display: none; }
      .floating-whatsapp { width: 54px; height: 54px; right: 15px; bottom: 15px; }
    }
  
    .hero-copy, .hero-art, .edition-copy, .author-copy { min-width: 0; }
    h1 { overflow-wrap: anywhere; }
    section[id] { scroll-margin-top: 105px; }
    .language-kicker { margin-top: 24px; }
    :focus-visible { outline: 2px solid var(--gold2); outline-offset: 5px; }
    .skip-link { position: fixed; top: -80px; left: 16px; z-index: 200; padding: 12px 18px; background: var(--ink); color: #050505; font: 600 14px Inter, sans-serif; }
    .skip-link:focus { top: 12px; }
    @media (max-width: 640px) { section[id] { scroll-margin-top: 175px; } }
    @media (prefers-reduced-motion: reduce) {
      html { scroll-behavior: auto; }
      *, *::before, *::after { transition: none !important; animation: none !important; }
    }
