:root {
  --black: #050403;
  --panel: #0c0a07;
  --red: #8c6b3e;
  --bright: #c8a56e;
  --wine: #24180e;
  --white: #e7d5b6;
  --muted: #a99679;
  --line: #493821;
  --aged: "IM Fell English", Georgia, serif;
}

body {
  background: #050403;
  color: var(--white);
  font-family: var(--aged);
  letter-spacing: .012em;
}

.gate {
  background:
    radial-gradient(circle at 50% 28%, rgba(123, 91, 49, .19), transparent 38%),
    radial-gradient(circle at 50% 100%, rgba(68, 47, 25, .16), transparent 42%),
    #050403;
}

.gate-noise,
.site::before {
  opacity: .38;
  background-image:
    radial-gradient(rgba(221, 190, 141, .12) .55px, transparent .7px),
    linear-gradient(rgba(255, 245, 220, .014) 1px, transparent 1px);
  background-size: 5px 5px, 4px 4px;
}

.sigil {
  width: 142px;
  height: 142px;
  margin: 0 auto .65rem;
  border: 0;
  box-shadow: none;
  transform: none;
}

.sigil img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  filter: sepia(.12) contrast(1.05);
}

.brand-kicker,
.eyebrow,
.step-label {
  color: var(--bright);
  font-family: var(--serif);
  text-shadow: 0 1px #000;
}

.gate h1,
.gate h2,
.hero h2,
.section-heading h2,
.archive h2,
.bundle h2,
.product h3,
.archive-grid h3 {
  color: #e6d2af;
  text-shadow: 0 1px 0 #000, 0 0 14px rgba(200, 165, 110, .09);
}

.gate h1 em,
.hero h2 em,
.archive h2 em,
.bundle h2 em { color: var(--bright); }
.progress { background: #211a10; }
.progress i { background: linear-gradient(90deg, #6c4d26, #d2b27b); box-shadow: 0 0 12px rgba(200, 165, 110, .35); }

.gate-card {
  border-color: #6d522e;
  background: linear-gradient(145deg, rgba(22, 18, 12, .97), rgba(5, 4, 3, .99));
  box-shadow: 0 30px 90px #000, inset 0 0 60px rgba(138, 101, 54, .08);
}

.gate-card::before,
.product::before { border-color: rgba(200, 165, 110, .24); }
.gate-card > p:not(.terminal):not(.step-label) { color: #c8b89e; font-size: 1.04rem; }
.primary, .ghost { font-family: var(--serif); }

.primary {
  border-color: #c5a066;
  background: linear-gradient(180deg, #c8a56e, #795528);
  color: #130e08;
  box-shadow: inset 0 1px rgba(255, 245, 218, .48), inset 0 -2px rgba(54, 35, 15, .6), 0 10px 28px rgba(0, 0, 0, .4);
  text-shadow: 0 1px rgba(255, 235, 196, .25);
}

.primary:hover { background: linear-gradient(180deg, #dec08d, #8d6532); }
.gate-card > small { color: #8d7b60; font-family: var(--aged); font-size: .75rem; }
.answer { border-color: #4d3b24; background: #090806; color: #d2c2a7; font-family: var(--aged); font-size: 1rem; }
.answer:hover { border-color: #b8955f; background: #171209; color: #f2e0c1; }
.answer::before { content: "✦"; color: var(--bright); }
.scan-symbol, .score { border-color: #98713b; color: var(--bright); box-shadow: inset 0 0 45px rgba(142, 103, 51, .15), 0 0 35px rgba(142, 103, 51, .12); }
.scan-lines { font-family: var(--aged); color: #b1a188; }
.scan-lines span::before { content: "✦ "; color: var(--bright); }
.score strong { color: #ead9bc; }
.result ul { border-color: var(--line); }
.result li { border-color: #2d2417; color: #a99a82; }
.result li b { color: var(--bright); }

.site { background: radial-gradient(circle at 70% 8%, rgba(110, 77, 38, .13), transparent 27%), #070604; }
header { border-color: #493821; background: rgba(5, 4, 3, .94); }
.mini-brand { grid-template-columns: 58px auto; }
.mini-sigil { grid-row: 1 / 3; width: 48px; height: 48px; border: 0; transform: none; object-fit: contain; }
.mini-brand b { color: #e2cfad; }
.mini-brand small { color: #8e7a5c; }
nav a { color: #b3a184; }
nav a:hover { color: var(--bright); }
.hero, .bundle { border-color: #3f301d; }
.hero-copy > p:not(.eyebrow), .section-heading > p:last-child, .bundle > div:last-child > p:not(.eyebrow):not(.bundle-price) { color: #a9977c; }
.book { border-color: #9a743c; background: linear-gradient(135deg, #22190d, #050403 55%, #2e2111); box-shadow: 0 35px 70px #000, inset 0 0 55px rgba(171, 126, 63, .12); }
.book::before { border-color: #584326; }
.book i, .mock-cover i { color: var(--bright); }
.book small, .mock-cover span { color: #8f7c5d; }
.product { border-color: #5f4728; background: linear-gradient(145deg, #161109, #070604 70%); }
.mock-cover { border-color: #8f6935; background: radial-gradient(circle, #30210f, #070604 68%); box-shadow: 0 22px 45px #000, inset 0 0 40px rgba(153, 111, 53, .13); }
.price, .product > p:not(.price) { color: #aa9a81; }
.ghost { border-color: #634c2d; background: #090806; color: #c5b393; }
.archive { background: linear-gradient(rgba(5, 4, 3, .78), rgba(5, 4, 3, .92)), radial-gradient(circle at 50% 50%, #3b2913, transparent 55%); }
.archive-grid { background: #584126; border-color: #584126; }
.archive-grid article { background: #090806; }
.archive-grid b, .testimonial-grid footer, .bundle-price strong { color: var(--bright); }
.testimonial-grid blockquote { border-color: #49361f; background: #0d0a06; color: #c2b092; }
.bundle { background: radial-gradient(circle at 25% 50%, #2f2110, transparent 38%), #080604; }
.notice span { color: var(--bright); }
.main-footer { border-color: #493821; }

@keyframes pulse { 50% { box-shadow: 0 0 35px rgba(200, 165, 110, .3); transform: scale(1.05); } }

@media (max-width: 600px) {
  .sigil { width: 92px; height: 92px; }
  .gate h1 { font-size: 1.9rem; }
  .gate-card > p:not(.terminal):not(.step-label) { font-size: .93rem; }
  .mini-brand { grid-template-columns: 48px auto; }
  .mini-sigil { width: 40px; height: 40px; }
}

/* Tema monocromático inspirado no novo fundo ornamental. */
:root {
  --black: #050607;
  --panel: #101214;
  --red: #747a7e;
  --bright: #d7d9d8;
  --wine: #181b1d;
  --white: #e2e3e1;
  --muted: #a9adae;
  --line: #5e6467;
}

html {
  background: #050607 url("assets/fundo-oculto-hd.png") center center / cover fixed;
}

body {
  position: relative;
  background: transparent;
  color: var(--white);
}

body::before {
  content: "";
  position: fixed;
  z-index: -2;
  inset: 0;
  background:
    linear-gradient(rgba(0, 0, 0, .20), rgba(0, 0, 0, .20)),
    url("assets/fundo-oculto-hd.png") center center / cover no-repeat fixed,
    #050607;
  filter: saturate(.5);
  pointer-events: none;
}

.gate {
  background: rgba(4, 5, 6, .16);
  backdrop-filter: none;
}

.gate::before,
.site::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset: 0;
  background: radial-gradient(circle at 50% 28%, rgba(220, 223, 222, .035), transparent 40%);
  pointer-events: none;
}

.gate-noise,
.site::before {
  opacity: .035;
  background-image: radial-gradient(rgba(255, 255, 255, .12) .45px, transparent .65px);
  background-size: 5px 5px;
}

.sigil {
  width: 160px;
  height: 160px;
}

.sigil img {
  filter: grayscale(1) brightness(1.48) contrast(.92);
}

.brand-kicker,
.eyebrow,
.step-label {
  color: #d2d5d4;
  text-shadow: 0 1px #000;
}

.gate h1,
.gate h2,
.hero h2,
.section-heading h2,
.archive h2,
.bundle h2,
.product h3,
.archive-grid h3 {
  color: #e1e2df;
  text-shadow: 0 1px 0 #000, 0 0 12px rgba(235, 238, 236, .08);
}

.gate h1 em,
.hero h2 em,
.archive h2 em,
.bundle h2 em { color: #bfc3c3; }
.progress { background: rgba(16, 18, 19, .72); }
.progress i { background: linear-gradient(90deg, #6f7578, #e2e4e2); box-shadow: 0 0 12px rgba(220, 223, 221, .23); }

.gate-card {
  border-color: #747a7d;
  background: linear-gradient(145deg, rgba(22, 24, 26, .76), rgba(5, 6, 7, .88));
  box-shadow: 0 30px 90px #000, inset 0 0 60px rgba(220, 225, 224, .025);
}

.gate-card::before,
.product::before { border-color: rgba(214, 217, 216, .20); }
.gate-card > p:not(.terminal):not(.step-label) { color: #c8cccb; }

.primary {
  border-color: #d5d8d7;
  background: linear-gradient(180deg, #d8dad8, #7d8385);
  color: #0a0b0c;
  box-shadow: inset 0 1px rgba(255, 255, 255, .64), inset 0 -2px rgba(25, 28, 30, .58), 0 10px 28px rgba(0, 0, 0, .42);
  text-shadow: 0 1px rgba(255, 255, 255, .28);
}

.primary:hover { background: linear-gradient(180deg, #f0f1ef, #94999a); }
.gate-card > small { color: #959a9a; }
.answer { border-color: #53595c; background: rgba(7, 8, 9, .72); color: #d0d3d1; }
.answer:hover { border-color: #cbd0cf; background: rgba(27, 30, 31, .9); color: #fff; }
.answer::before { color: #d6d9d8; }
.scan-symbol, .score { border-color: #92989a; color: #d9dcdb; box-shadow: inset 0 0 45px rgba(212, 216, 215, .06), 0 0 35px rgba(210, 214, 213, .07); }
.scan-lines { color: #afb3b2; }
.scan-lines span::before { color: #d7d9d8; }
.score strong { color: #e7e9e7; }
.result li { border-color: #33383a; color: #adb1b0; }
.result li b { color: #e0e2e1; }

.site { background: rgba(5, 6, 7, .18); }
header { border-color: #505658; background: rgba(5, 6, 7, .86); }
.mini-brand.text-brand { display: grid; grid-template-columns: auto; }
.mini-brand.text-brand b { color: #e1e3e1; }
.mini-brand.text-brand small { color: #999e9e; }
nav a { color: #b8bcbb; }
nav a:hover { color: #fff; }
.hero, .bundle { border-color: #4c5254; }
.hero-copy > p:not(.eyebrow),
.section-heading > p:last-child,
.bundle > div:last-child > p:not(.eyebrow):not(.bundle-price) { color: #afb3b2; }

.book {
  border-color: #8a9092;
  background: linear-gradient(135deg, rgba(32, 35, 36, .94), rgba(5, 6, 7, .98) 55%, rgba(39, 43, 44, .94));
  box-shadow: 0 35px 70px #000, inset 0 0 55px rgba(220, 224, 223, .055);
}

.book::before { border-color: #646a6c; }
.book i, .mock-cover i { color: #d4d7d6; }
.book small, .mock-cover span { color: #929797; }
.product { border-color: #646a6c; background: linear-gradient(145deg, rgba(25, 27, 29, .84), rgba(6, 7, 8, .9) 70%); }
.mock-cover { border-color: #7f8587; background: radial-gradient(circle, #262a2b, #070809 68%); box-shadow: 0 22px 45px #000, inset 0 0 40px rgba(220, 224, 223, .05); }
.price, .product > p:not(.price) { color: #afb3b2; }
.ghost { border-color: #656b6d; background: rgba(9, 10, 11, .78); color: #c7cac9; }
.archive { background: linear-gradient(rgba(5, 6, 7, .70), rgba(5, 6, 7, .86)); }
.archive-grid { background: #656b6d; border-color: #656b6d; }
.archive-grid article { background: rgba(8, 9, 10, .89); }
.archive-grid b, .testimonial-grid footer, .bundle-price strong { color: #d9dcda; }
.testimonial-grid blockquote { border-color: #555b5d; background: rgba(12, 14, 15, .84); color: #c7cac8; }
.bundle { background: rgba(7, 8, 9, .69); }
.notice span { color: #cfd2d1; }
.main-footer { border-color: #505658; background: rgba(5, 6, 7, .62); }

@keyframes pulse { 50% { box-shadow: 0 0 35px rgba(215, 219, 218, .22); transform: scale(1.05); } }

@media (max-width: 600px) {
  html { background: #050607; }
  body {
    background: transparent;
  }
  body::before {
    display: block;
    position: fixed;
    inset: auto;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    height: 100svh;
    background:
      linear-gradient(rgba(0, 0, 0, .20), rgba(0, 0, 0, .20)),
      url("assets/fundo-oculto-hd.png") center center / cover no-repeat;
    filter: saturate(.5);
    transform: translateZ(0);
    pointer-events: none;
  }
  .sigil { width: 108px; height: 108px; }
  .gate-card { background: linear-gradient(145deg, rgba(22, 24, 26, .78), rgba(5, 6, 7, .9)); }
}

/* Molduras e divisores góticos. */
.product-grid {
  gap: 2rem;
}

.product {
  isolation: isolate;
  padding: 3.6rem 2.7rem 3.9rem;
  border-color: rgba(143, 149, 151, .48);
  overflow: visible;
}

.product::before {
  content: "";
  position: absolute;
  z-index: 3;
  inset: -18px;
  border: 0;
  background: url("assets/moldura-dragoes.png") center / 100% 100% no-repeat;
  filter: grayscale(1) brightness(1.04) contrast(1.12) drop-shadow(0 8px 10px rgba(0, 0, 0, .72));
  opacity: .9;
  pointer-events: none;
}

.product::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 15px;
  border: 1px solid rgba(210, 214, 214, .27);
  box-shadow: inset 0 0 24px rgba(0, 0, 0, .8);
  pointer-events: none;
}

.product > * {
  position: relative;
  z-index: 4;
}

.gothic-divider {
  position: relative;
  z-index: 2;
  width: min(1120px, 84vw);
  height: 92px;
  margin: -36px auto;
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  filter: invert(1) grayscale(1) brightness(.82) contrast(1.12) drop-shadow(0 5px 8px rgba(0, 0, 0, .7));
  opacity: .7;
  pointer-events: none;
}

.divider-one { background-image: url("assets/divisor-gotico-1.png"); }
.divider-two { background-image: url("assets/divisor-gotico-2.png"); }

@media (max-width: 900px) {
  .product-grid { gap: 3rem; }
  .product { padding: 3.3rem 2.6rem 3.7rem; }
  .product::before { inset: -16px; }
  .gothic-divider { width: 90vw; height: 72px; margin: -25px auto; }
}

@media (max-width: 600px) {
  .product-grid { gap: 2.5rem; padding-inline: 6px; }
  .product { padding: 2.7rem 1.65rem 3rem; }
  .product::before {
    inset: -9px;
    filter: grayscale(1) brightness(.96) contrast(1.05) drop-shadow(0 5px 7px rgba(0, 0, 0, .72));
    opacity: .78;
  }
  .product::after { inset: 10px; }
  .gothic-divider { width: 94vw; height: 58px; margin: -18px auto; opacity: .62; }
}

/* Página comercial definitiva. */
:root { --offer-bar-height: 68px; }

.offer-bar {
  position: sticky;
  top: 0;
  z-index: 40;
  min-height: var(--offer-bar-height);
  padding: .7rem 5vw;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 2rem;
  border-bottom: 1px solid #858b8d;
  background: linear-gradient(90deg, rgba(5, 6, 7, .98), rgba(31, 34, 36, .98), rgba(5, 6, 7, .98));
  color: #e3e5e4;
  font: 600 .67rem var(--serif);
  letter-spacing: .16em;
  text-align: center;
}

.countdown { display: flex; align-items: baseline; gap: .38rem; white-space: nowrap; }
.countdown strong { min-width: 2ch; color: #fff; font: 600 1.55rem var(--serif); letter-spacing: .03em; }
.countdown small { color: #9fa4a5; font: 600 .48rem var(--sans); letter-spacing: .08em; }
.countdown i { color: #8e9496; font-style: normal; }
header { top: var(--offer-bar-height); }

.hero { min-height: calc(100vh - 156px); padding-top: 5rem; padding-bottom: 6rem; }
.hero-copy { max-width: 720px; }
.hero h2 { font-size: clamp(3rem, 5.6vw, 6.2rem); }
.hero-copy > p:not(.eyebrow) { max-width: 680px; color: #c2c5c4; font-size: 1.14rem; }
.hero-offer { margin: 1.8rem 0 1rem; padding: 1.15rem 1.3rem; border-left: 2px solid #cfd2d1; background: rgba(5, 6, 7, .58); }
.hero-offer > span { color: #c4c8c7; font: 600 .62rem var(--serif); letter-spacing: .16em; }
.hero-offer p { margin: .25rem 0; display: flex; align-items: baseline; gap: 1rem; }
.hero-offer s { color: #8f9495; font-size: 1rem; }
.hero-offer strong { color: #f1f2f0; font: 600 2.7rem var(--serif); }
.hero-offer > b, .saving { color: #d3d6d5; font: 600 .65rem var(--sans); letter-spacing: .13em; }
.secondary-link { display: block; width: max-content; margin-top: 1rem; color: #afb4b4; font-size: .8rem; text-decoration: none; border-bottom: 1px solid #777d7f; }
.secondary-link:hover { color: #fff; }
.purchase-assurance { margin-top: 1.15rem; display: flex; flex-wrap: wrap; gap: .7rem 1.2rem; color: #bfc3c2; font: 600 .64rem var(--sans); letter-spacing: .06em; }

.cover-stack { position: relative; width: min(620px, 46vw); height: 610px; margin: auto; perspective: 1000px; }
.stack-cover { position: absolute; top: 50%; left: 50%; width: min(260px, 42%); aspect-ratio: 2 / 3; object-fit: cover; border: 2px solid #8b9193; box-shadow: 0 35px 65px rgba(0, 0, 0, .9), 0 0 25px rgba(219, 223, 222, .08); }
.stack-left { z-index: 1; transform: translate(-100%, -46%) rotate(-8deg); }
.stack-center { z-index: 3; transform: translate(-50%, -52%); }
.stack-right { z-index: 2; transform: translate(0, -46%) rotate(8deg); }
.trust-strip { padding: 1.35rem 5vw; display: flex; justify-content: center; flex-wrap: wrap; gap: .8rem 2.2rem; border-block: 1px solid #474d4f; background: rgba(5, 6, 7, .74); color: #c2c6c5; font: 600 .65rem var(--sans); letter-spacing: .06em; }

.section-heading { margin-bottom: 5rem; }
.section-heading p { font-size: 1rem; }
.product-grid { max-width: 1380px; align-items: stretch; }
.product { display: flex; flex-direction: column; align-items: center; min-width: 0; }
.product .price { margin: 0 0 .45rem; color: #e1e3e2; font: 600 1.1rem var(--sans); opacity: .9; }
.product h3 { min-height: 3.1em; margin: .2rem 0 .1rem; display: flex; align-items: center; justify-content: center; font-size: clamp(1.35rem, 2.1vw, 1.85rem); line-height: 1.15; }
.product-subtitle { min-height: 2.3em !important; margin: .25rem 0 1rem !important; color: #9fa4a4 !important; font: italic .86rem var(--aged) !important; }
.product-cover-wrap { width: min(255px, 82%); aspect-ratio: 2 / 3; margin: .6rem auto 1.2rem; padding: 7px; border: 3px double #7e8486; background: #050607; box-shadow: 0 20px 40px #000; overflow: hidden; }
.product-cover-wrap img { display: block; width: 100%; height: 100%; object-fit: cover; }
.product > p:not(.price):not(.product-subtitle) { min-height: 7.5em; margin: 0 0 .7rem; color: #b8bcbb; font-size: .88rem; }
.product .ghost, .product .primary { width: 100%; margin-top: .65rem; }
.purchase-button, .bundle-button { text-decoration: none; }
.microproof { min-height: 2.4em; margin-top: .8rem; color: #898f90; font: .58rem var(--sans); letter-spacing: .03em; }

.archive-grid { grid-template-columns: repeat(4, 1fr); }
.archive-grid article { min-height: 265px; }
.archive-grid h3 { min-height: 2.6em; }

.faq { padding: 8rem 7vw; background: rgba(5, 6, 7, .55); }
.faq-list { max-width: 960px; margin: auto; display: grid; gap: .8rem; }
.faq details { border: 1px solid #555b5d; background: rgba(9, 10, 11, .84); }
.faq summary { position: relative; padding: 1.25rem 3.8rem 1.25rem 1.4rem; color: #e0e2e1; font: 600 1rem var(--serif); cursor: pointer; list-style: none; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; position: absolute; right: 1.4rem; top: 50%; transform: translateY(-50%); color: #bfc3c2; font: 400 1.5rem var(--serif); }
.faq details[open] summary::after { content: "−"; }
.faq details p { margin: 0; padding: 0 1.4rem 1.35rem; color: #adb2b1; }

.bundle { min-height: 780px; }
.cover-stack.compact { width: min(600px, 44vw); height: 570px; }
.bundle-copy { max-width: 700px; }
.bundle h2 { font-size: clamp(2.5rem, 4.7vw, 5rem); }
.bundle-list { margin: 1.5rem 0; padding: 0; list-style: none; color: #c2c6c5; }
.bundle-list li { padding: .35rem 0; }
.bundle-list li::before { content: "✦"; margin-right: .75rem; color: #d8dad9; }
.bundle-price { flex-wrap: wrap; }
.bundle-price span { color: #9da2a3; font: 600 .62rem var(--sans); letter-spacing: .1em; }
.saving { margin: -.4rem 0 1.2rem; }
.bundle-button { width: 100%; }

.details-modal[hidden] { display: none; }
.details-modal { position: fixed; z-index: 200; inset: 0; display: grid; place-items: center; padding: 2rem; }
.modal-backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, .86); backdrop-filter: blur(5px); }
.modal-panel { position: relative; width: min(880px, 100%); max-height: min(88vh, 900px); overflow-y: auto; padding: 3.8rem 4rem; border: 1px solid #858b8d; background: linear-gradient(145deg, rgba(24, 26, 28, .98), rgba(5, 6, 7, .99)); color: #c2c6c5; box-shadow: 0 35px 100px #000, inset 0 0 0 8px rgba(210, 214, 213, .035); }
.modal-panel::before { content: ""; position: absolute; inset: 10px; border: 1px solid rgba(213, 216, 215, .24); pointer-events: none; }
.modal-close { position: sticky; z-index: 2; top: 0; float: right; width: 46px; height: 46px; margin: -2.6rem -2.7rem 0 1rem; display: grid; place-items: center; border: 1px solid #999fa0; border-radius: 50%; background: #111315; color: #e8eae8; font: 1.5rem/1 var(--sans); cursor: pointer; }
.modal-body h2 { margin: 0 0 .4rem; color: #eef0ee; font: 600 clamp(2rem, 5vw, 3.5rem)/1 var(--serif); }
.modal-body .modal-kicker { color: #aeb3b2; font: 600 .65rem var(--sans); letter-spacing: .14em; }
.modal-body h3 { margin: 2rem 0 .7rem; color: #d9dcda; font: 600 1.15rem var(--serif); }
.modal-body p { color: #bdc1c0; }
.modal-body ul { padding-left: 1.25rem; }
.modal-body li { margin: .5rem 0; }
.modal-body li::marker { color: #d5d8d7; }
.modal-price { margin: 2rem 0 1rem; color: #eef0ef !important; font: 600 2rem var(--serif); }
.modal-buy { width: 100%; text-decoration: none; }
body.modal-open { overflow: hidden; }

@media (max-width: 1100px) {
  .hero { grid-template-columns: 1.05fr .95fr; }
  .cover-stack { height: 520px; }
  .archive-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 900px) {
  :root { --offer-bar-height: 92px; }
  .offer-bar { flex-direction: column; gap: .25rem; }
  .hero { grid-template-columns: 1fr; text-align: center; }
  .hero-copy { display: grid; justify-items: center; margin: auto; }
  .hero-offer { width: min(560px, 100%); border-left: 0; border-top: 2px solid #cfd2d1; }
  .hero-offer p { justify-content: center; }
  .purchase-assurance { justify-content: center; }
  .cover-stack { width: min(580px, 94vw); height: 520px; }
  .product-grid { max-width: 480px; }
  .product h3, .product-subtitle, .product > p:not(.price):not(.product-subtitle) { min-height: auto !important; }
  .bundle { text-align: center; }
  .bundle-copy { display: grid; justify-items: center; margin: auto; }
  .bundle-art { order: 2; }
  .bundle-list { text-align: left; }
  .bundle-price { justify-content: center; }
  .bundle-button { width: min(560px, 100%); }
}

@media (max-width: 600px) {
  :root { --offer-bar-height: 96px; }
  .offer-bar { padding: .55rem .7rem; font-size: .55rem; letter-spacing: .1em; }
  .countdown strong { font-size: 1.35rem; }
  .hero { padding-top: 4.5rem; }
  .hero h2 { font-size: 2.75rem; }
  .hero-copy > p:not(.eyebrow) { font-size: 1rem; }
  .hero-offer strong { font-size: 2.25rem; }
  .cover-stack { height: 390px; margin-inline: auto; }
  .stack-cover { width: 42%; }
  .trust-strip { display: grid; grid-template-columns: 1fr 1fr; text-align: left; gap: .8rem; }
  .section-heading { margin-bottom: 3.5rem; }
  .product-cover-wrap { width: min(230px, 82%); }
  .archive-grid { grid-template-columns: 1fr; }
  .archive-grid article { min-height: auto; }
  .archive-grid h3 { min-height: auto; }
  .faq { padding: 6rem 5vw; }
  .faq summary { font-size: .88rem; }
  .bundle { min-height: auto; }
  .cover-stack.compact { width: 94vw; height: 390px; margin-inline: -6vw; }
  .bundle-price strong { font-size: 2.5rem; }
  .details-modal { padding: .65rem; }
  .modal-panel { max-height: 94vh; padding: 3.4rem 1.35rem 2rem; }
  .modal-close { margin: -2.55rem -.45rem 0 .8rem; }
  .modal-body h2 { font-size: 2rem; }
}

/* Refinamento de composição: capas primeiro, ornamentos leves e molduras legíveis. */
.hero {
  min-height: auto;
  grid-template-columns: 1fr;
  padding: 5.5rem 7vw 6.5rem;
  text-align: center;
}
.hero-copy {
  width: min(1080px, 100%);
  max-width: none;
  margin: auto;
  display: grid;
  justify-items: center;
}
.hero-copy > p:not(.eyebrow) { margin-inline: auto; }
.hero-covers {
  width: min(760px, 92vw);
  height: 600px;
  margin: 1rem auto .25rem;
}
.hero-offer {
  width: min(620px, 100%);
  margin: 0 auto 1rem;
  padding: 1.4rem;
  border: 0;
  border-block: 1px solid rgba(211, 216, 215, .52);
  background: linear-gradient(90deg, transparent, rgba(5, 6, 7, .78) 18%, rgba(5, 6, 7, .78) 82%, transparent);
}
.hero-offer p { justify-content: center; }
.saving-highlight {
  display: inline-block;
  padding: .25rem .45rem .35rem;
  color: #f0f3f2 !important;
  text-decoration: underline;
  text-decoration-color: #aeb8b7;
  text-decoration-thickness: 2px;
  text-underline-offset: 5px;
  text-shadow: 0 0 14px rgba(223, 230, 228, .22);
}

.trust-strip span,
.bundle-list li {
  display: flex;
  align-items: center;
  gap: .58rem;
}
.trust-strip span::before,
.bundle-list li::before,
.answer::before,
.scan-lines span::before {
  content: "";
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
  margin: 0;
  background: url("assets/ornamento-topicos.png") center / contain no-repeat;
  filter: invert(1) grayscale(1) brightness(1.15);
  opacity: .82;
}
.answer { display: flex; align-items: center; }
.scan-lines span { display: flex; align-items: center; gap: .5rem; }
.answer::before { display: none; }
.answer { display: block; }

.gothic-divider {
  width: min(1040px, 88vw);
  height: 62px;
  margin: 0 auto;
  opacity: .56;
}
.occult-whisper {
  max-width: 760px;
  color: #c8cccb;
  font: italic clamp(1.05rem, 2vw, 1.35rem)/1.55 var(--aged);
  letter-spacing: .035em;
  text-align: center;
  text-shadow: 0 2px 12px #000;
}
.section-whisper { margin: 1.1rem auto 0; padding-inline: 6vw; }
.catalog { padding-bottom: 4rem; }
.archive { padding-top: 4.25rem; }

.product-grid {
  max-width: 1260px;
  gap: 4rem;
}
.product {
  padding: .5rem .35rem 2rem;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.product::before,
.product::after { display: none; }
.product .price {
  margin: 0 0 .45rem;
  font-size: 1.18rem;
}
.product h3 { min-height: 2.5em; }
.product-visual {
  position: relative;
  z-index: 1;
  width: min(310px, 94%);
  aspect-ratio: 1254 / 1879;
  margin: .4rem auto 1.25rem;
  display: grid;
  place-items: center;
}
.product-visual::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  background: url("assets/moldura-dragoes.png") center / 100% 100% no-repeat;
  filter: grayscale(1) brightness(1.08) contrast(1.1) drop-shadow(0 12px 16px rgba(0, 0, 0, .82));
  pointer-events: none;
}
.product-cover-wrap {
  position: relative;
  z-index: 1;
  width: 69%;
  aspect-ratio: 2 / 3;
  margin: 0;
  padding: 4px;
  border: 3px double rgba(171, 178, 179, .68);
  background: transparent;
  box-shadow: 0 18px 35px rgba(0, 0, 0, .9);
}
.product > p:not(.price):not(.product-subtitle) {
  max-width: 340px;
  min-height: 8em;
}

.bundle {
  min-height: auto;
  grid-template-columns: 1fr;
  padding: 7rem 8vw 3.5rem;
  text-align: center;
}
.bundle-copy {
  width: min(940px, 100%);
  max-width: none;
  margin: auto;
  display: grid;
  justify-items: center;
}
.bundle-copy > p:not(.eyebrow):not(.bundle-price):not(.saving) { max-width: 760px; }
.bundle-list { width: min(430px, 100%); text-align: left; }
.bundle-art.cover-stack.compact {
  width: min(790px, 92vw);
  height: 455px;
  margin: -1.15rem auto .35rem;
  order: 0;
}
.bundle-art .stack-cover { width: min(300px, 48%); }
.bundle h2 { margin-bottom: .35rem; }
.bundle-art .stack-cover { top: 0; }
.bundle-art .stack-left { transform: translateX(-100%) rotate(-8deg); }
.bundle-art .stack-center { transform: translateX(-50%); }
.bundle-art .stack-right { transform: translateX(0) rotate(8deg); }
.bundle-whisper { margin: .15rem auto .7rem; }
.bundle-price { justify-content: center; margin-top: 0; }
.saving { margin: -.25rem 0 1.45rem; }
.bundle-button { width: min(620px, 100%); }
.notice { padding-block: 1.35rem; }
.main-footer { min-height: 150px; padding-block: 2.5rem; }

@media (max-width: 900px) {
  .hero-covers { height: 520px; }
  .product-grid { gap: 5rem; }
  .product { padding-inline: 0; }
  .product > p:not(.price):not(.product-subtitle) { min-height: auto; }
  .bundle-art.cover-stack.compact { height: 455px; order: 0; }
}

@media (max-width: 600px) {
  .hero { padding: 4rem 5vw 5rem; }
  .hero-covers { width: 96vw; height: 410px; margin-inline: -3vw; }
  .hero-offer { padding-inline: .6rem; }
  .trust-strip span::before,
  .bundle-list li::before { width: 16px; height: 16px; }
  .gothic-divider { width: 92vw; height: 46px; margin: 0 auto; }
  .section-whisper { margin-top: .6rem; }
  .catalog { padding-bottom: 2.75rem; }
  .archive { padding-top: 2.75rem; }
  .product-grid { gap: 4.5rem; }
  .product-visual { width: min(290px, 92%); }
  .product h3 { min-height: auto; }
  .bundle { padding: 5rem 5vw 2.5rem; }
  .bundle-art.cover-stack.compact { width: 100vw; height: 450px; margin: -.75rem -5vw 0; order: 0; }
  .bundle-art .stack-cover { width: min(300px, 54%); }
  .bundle-whisper { margin-top: .1rem; padding-inline: 5vw; }
  .bundle-price { margin-top: .2rem; }
  .main-footer { min-height: 120px; padding-block: 2rem; }
}
