:root{
  --black:#050403;
  --red:#A31616;
  --wine:#6f1010;
  --gold:#B08A42;
  --ivory:#E8DFC9;
  --soft:rgba(232,223,201,.84);
  --line:rgba(176,138,66,.48);
  --line-soft:rgba(176,138,66,.24);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:#000;min-width:1200px}
body{margin:0;background:#000;color:var(--ivory);font-family:"IM Fell English",Georgia,serif;min-width:1200px}
a{color:inherit;text-decoration:none}

.page-shell{
  width:1200px;
  max-width:1200px;
  margin:0 auto;
  background:#050403 url('assets/black-texture.png') top center/1200px auto repeat-y;
  box-shadow:0 0 80px rgba(0,0,0,.8);
  overflow:hidden;
}

/* 1. TOP NOTICE — 1200 x 42 */
.top-notice{
  height:42px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.92);
  border-bottom:1px solid var(--line);
  color:var(--gold);
  text-transform:uppercase;
  letter-spacing:.13em;
  font-size:12px;
  line-height:1.1;
  text-align:center;
  position:relative;
  z-index:30;
}
.top-notice span+span{
  font-size:10px;
  color:var(--ivory);
  letter-spacing:.08em;
  margin-top:3px;
  opacity:.78;
}

/* 2. HEADER MÍNIMO — hard locked desktop */
.site-header{
  width:1200px;
  height:100px;
  position:relative;
  z-index:25;
  display:block;
  padding:0;
  border-bottom:1px solid var(--line-soft);
  background:#050403 url('assets/black-texture.png') top center/1200px auto no-repeat;
  overflow:hidden;
}
.brand-seal{
  position:absolute;
  left:38px;
  top:21px;
  width:58px;
  height:58px;
  display:block;
  overflow:hidden;
}
.brand-seal img{
  width:58px;
  height:58px;
  object-fit:contain;
  display:block;
}
.brand-logo{
  position:absolute;
  left:50%;
  top:9px;
  transform:translateX(-50%);
  width:260px;
  height:82px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.brand-logo img{
  width:auto;
  height:78px;
  max-width:260px;
  object-fit:contain;
  display:block;
}
.main-nav{
  position:absolute;
  right:38px;
  top:43px;
  height:18px;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:30px;
  color:var(--gold);
  font-family:"IM Fell English SC","IM Fell English",serif;
  text-transform:uppercase;
  letter-spacing:.11em;
  font-size:13px;
  line-height:1;
  white-space:nowrap;
}
.main-nav a{
  display:block;
  padding:2px 0 6px;
  border-bottom:1px solid transparent;
}
.main-nav a:hover{
  color:var(--ivory);
  border-color:var(--red);
}

/* 3. HERO PRINCIPAL — hard locked desktop */
.hero-section{
  width:1200px;
  height:750px;
  position:relative;
  overflow:hidden;
  background:#050403 url('assets/black-texture.png') center/cover no-repeat;
  border-bottom:1px solid var(--line-soft);
  contain:layout paint;
}
.hero-photo{
  position:absolute;
  left:0;
  top:0;
  width:1200px;
  height:750px;
  object-fit:cover;
  object-position:center top;
  z-index:1;
  display:block;
}
.hero-frame{
  position:absolute;
  left:0;
  top:0;
  width:1200px;
  height:750px;
  object-fit:fill;
  z-index:3;
  pointer-events:none;
  display:block;
}
.hero-section:after{display:none}
.hero-copy{
  position:absolute!important;
  z-index:4;
  left:600px!important;
  top:76px!important;
  width:500px!important;
  height:auto;
  max-height:650px;
  text-align:center;
}
.hero-copy h1{
  margin:0;
  color:var(--gold);
  font-family:"IM Fell English SC","IM Fell English",serif;
  text-transform:uppercase;
  font-weight:400;
  font-size:54px;
  line-height:.92;
  letter-spacing:.045em;
  text-shadow:0 2px 0 #000,0 0 24px rgba(176,138,66,.10);
}
.ornament-line{
  width:430px;
  max-width:100%;
  height:18px;
  margin:12px auto 12px;
  position:relative;
}
.ornament-line:before,
.ornament-line:after{
  content:"";
  position:absolute;
  top:50%;
  width:44%;
  height:1px;
  background:linear-gradient(90deg,transparent,var(--gold));
}
.ornament-line:before{left:0}
.ornament-line:after{right:0;transform:scaleX(-1)}
.ornament-line.small{
  width:210px;
  margin:10px auto 8px;
}
.hero-copy p{
  margin:0 0 10px;
  color:var(--soft);
  font-size:18px;
  line-height:1.24;
  text-align:left;
}
.hero-copy .hero-subhead{
  font-size:25px!important;
  line-height:1.12!important;
  color:var(--ivory)!important;
  text-align:center!important;
  margin-bottom:12px!important;
}
.primary-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:58px;
  min-width:360px;
  padding:0 26px;
  margin-top:0;
  background:linear-gradient(180deg,var(--wine),#4d0909);
  border:1px solid var(--gold);
  box-shadow:inset 0 0 0 2px rgba(176,138,66,.18),0 14px 32px rgba(0,0,0,.45);
  color:var(--ivory);
  font-family:"IM Fell English SC","IM Fell English",serif;
  text-transform:uppercase;
  letter-spacing:.15em;
  font-size:18px;
  line-height:1;
}
.primary-cta:hover{filter:brightness(1.12)}
.microcopy{
  font-size:13px!important;
  line-height:1.12!important;
  color:rgba(232,223,201,.72)!important;
  text-align:center!important;
  margin-bottom:0!important;
}

/* Mobile disabled during desktop lock phase. It will be rebuilt after the 1200px desktop master is stable. */


/* 4. WORK IN PROGRESS / COMING SOON — 1200 x 450 */
.wip-section{
  width:1200px;
  height:450px;
  position:relative;
  overflow:hidden;
  background:#050403 url('assets/section-wip-frame-1200x450.png') center top/1200px 450px no-repeat;
  border-bottom:1px solid var(--line-soft);
}
.wip-copy{
  position:absolute;
  left:140px;
  top:34px;
  width:920px;
  text-align:center;
  z-index:2;
}
.wip-copy h2{
  margin:0;
  color:var(--gold);
  font-family:"IM Fell English SC","IM Fell English",serif;
  text-transform:uppercase;
  font-weight:400;
  font-size:40px;
  line-height:.94;
  letter-spacing:.055em;
  text-shadow:0 2px 0 #000,0 0 24px rgba(176,138,66,.10);
}
.section-divider{
  display:block;
  width:210px;
  height:auto;
  margin:8px auto 8px;
  opacity:.92;
}
.wip-copy p{
  margin:0 auto 7px;
  color:var(--soft);
  font-size:17px;
  line-height:1.14;
  text-align:center;
  max-width:880px;
}
.wip-copy .wip-lead{
  color:var(--ivory);
  font-size:19px;
  line-height:1.10;
  margin-bottom:6px;
}
.section-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:391px;
  height:86px;
  margin:0 auto 0;
  background:url('assets/button-red-gold.png') center/391px 86px no-repeat;
  color:var(--ivory);
  font-family:"IM Fell English SC","IM Fell English",serif;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:24px;
  line-height:1;
  text-shadow:0 2px 0 rgba(0,0,0,.55);
}
.section-cta:hover{
  filter:brightness(1.08);
}
.wip-microcopy{
  margin-top:0!important;
  color:rgba(232,223,201,.72)!important;
  font-size:14px!important;
  line-height:1.08!important;
  font-style:italic;
}


/* 5. WHAT OPENS IN PHASE 1 — 1200 x 450 */
.phase1-section{
  width:1200px;
  height:450px;
  position:relative;
  overflow:hidden;
  background:#050403 url('assets/section-phase1-frame-1200x450.png') center top/1200px 450px no-repeat;
  border-bottom:1px solid var(--line-soft);
}
.phase1-copy{
  position:absolute;
  left:90px;
  top:48px;
  width:1020px;
  text-align:center;
  z-index:2;
}
.phase1-copy h2{
  margin:0;
  color:var(--gold);
  font-family:"IM Fell English SC","IM Fell English",serif;
  text-transform:uppercase;
  font-weight:400;
  font-size:48px;
  line-height:.94;
  letter-spacing:.055em;
  text-shadow:0 2px 0 #000,0 0 24px rgba(176,138,66,.10);
}
.phase1-intro{
  margin:12px auto 16px;
  color:var(--soft);
  font-size:19px;
  line-height:1.18;
  text-align:center;
  max-width:900px;
}
.phase1-card-grid{
  width:1008px;
  margin:0 auto;
  display:grid;
  grid-template-columns:repeat(3, 320px);
  grid-auto-rows:72px;
  gap:18px 24px;
  justify-content:center;
}
.phase1-card{
  width:320px;
  height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:url('assets/button-red-gold.png') center/320px 70px no-repeat;
  color:var(--ivory);
  font-family:"IM Fell English SC","IM Fell English",serif;
  text-transform:uppercase;
  letter-spacing:.095em;
  font-size:22px;
  line-height:1.06;
  text-align:center;
  text-shadow:0 2px 0 rgba(0,0,0,.55);
}
.phase1-card:hover{
  filter:brightness(1.08);
}
.phase1-bottom{
  margin:16px auto 0;
  color:var(--soft);
  font-size:19px;
  line-height:1.20;
  text-align:center;
  max-width:860px;
}

/* 6. THE DAILYGRAPH IS THE WAITLIST — 1200 x 450 */
.dailygraph-section{
  width:1200px;
  height:450px;
  position:relative;
  overflow:hidden;
  background:#050403 url('assets/section-dailygraph-frame-1200x450.png') center top/1200px 450px no-repeat;
  border-bottom:1px solid var(--line-soft);
}

.dailygraph-left{
  position:absolute;
  left:96px;
  top:52px;
  width:560px;
  height:348px;
  z-index:2;
  text-align:left;
}
.dailygraph-left h2{
  margin:0;
  color:var(--gold);
  font-family:"IM Fell English SC","IM Fell English",serif;
  text-transform:uppercase;
  font-weight:400;
  font-size:43px;
  line-height:.94;
  letter-spacing:.04em;
  text-shadow:0 2px 0 #000,0 0 24px rgba(176,138,66,.10);
}
.dailygraph-divider{
  width:460px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  margin:16px 0 16px;
  color:var(--gold);
  opacity:.95;
}
.dailygraph-divider::before,
.dailygraph-divider::after{
  content:"";
  width:182px;
  height:1px;
  background:linear-gradient(90deg, rgba(176,138,66,0), rgba(176,138,66,.95) 22%, rgba(176,138,66,.95) 78%, rgba(176,138,66,0));
}
.dailygraph-divider span{
  font-size:25px;
  line-height:1;
  transform:translateY(-1px);
}
.dailygraph-left p{
  margin:0 0 12px 0;
  color:var(--ivory);
  font-size:18px;
  line-height:1.20;
  max-width:540px;
  text-align:left;
}
.dailygraph-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:470px;
  height:68px;
  margin:12px 0 10px 0;
  background:url('assets/button-red-gold.png') center/470px 68px no-repeat;
  color:var(--ivory);
  font-family:"IM Fell English SC","IM Fell English",serif;
  text-transform:uppercase;
  letter-spacing:.055em;
  font-size:22px;
  line-height:1;
  text-shadow:0 2px 0 rgba(0,0,0,.55);
  white-space:nowrap;
}
.dailygraph-button:hover{ filter:brightness(1.08); }
.dailygraph-microcopy{
  margin:0!important;
  color:rgba(232,223,201,.92)!important;
  font-size:15px!important;
  line-height:1.14!important;
  text-align:left!important;
  max-width:540px;
}
.dailygraph-right{
  position:absolute;
  right:70px;
  top:43px;
  width:450px;
  height:365px;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}
.dailygraph-paper-frame{
  width:450px;
  height:365px;
  padding:12px;
  border:2px solid rgba(176,138,66,.88);
  border-radius:20px 20px 0 0;
  background:rgba(16,11,8,.50);
  box-shadow:0 16px 28px rgba(0,0,0,.45), inset 0 0 0 1px rgba(241,214,154,.14);
}
.dailygraph-paper-frame img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
  border:1px solid rgba(0,0,0,.28);
}


/* 7. THE 1897 COLLECTOR FACSIMILE — 1200 x 760 */
.facsimile-section{
  width:1200px;
  height:760px;
  position:relative;
  overflow:hidden;
  background:#050403;
  border-bottom:1px solid var(--line-soft);
}
.facsimile-section::after{
  content:"";
  position:absolute;
  inset:0;
  background:url('assets/section-facsimile-frame-1200x760.png') center top/1200px 760px no-repeat;
  pointer-events:none;
  z-index:5;
}
.facsimile-visual{
  position:absolute;
  left:14px;
  top:14px;
  width:612px;
  height:732px;
  z-index:1;
}
.facsimile-visual img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:left center;
  display:block;
  filter:brightness(.92);
}
.facsimile-copy{
  position:absolute;
  left:672px;
  top:50%;
  transform:translateY(-50%);
  width:462px;
  z-index:2;
}
.facsimile-copy h2{
  margin:0;
  color:var(--gold);
  font-family:"IM Fell English","IM Fell English SC",serif;
  font-weight:400;
  font-size:50px;
  line-height:.93;
  letter-spacing:0;
  text-shadow:0 2px 0 #000,0 0 24px rgba(176,138,66,.08);
}
.facsimile-divider{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  margin:10px 0 16px;
  color:#8d2318;
}
.facsimile-divider::before,
.facsimile-divider::after{
  content:"";
  width:172px;
  height:1px;
  background:linear-gradient(90deg, rgba(176,138,66,0), rgba(176,138,66,.95) 20%, rgba(176,138,66,.95) 80%, rgba(176,138,66,0));
}
.facsimile-divider span{ font-size:16px; line-height:1; }
.facsimile-copy p{
  margin:0 0 12px 0;
  color:var(--ivory);
  font-size:15.9px;
  line-height:1.28;
}
.facsimile-highlights{
  margin-top:14px;
  width:100%;
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:10px 12px;
}
.facsimile-chip{
  min-height:42px;
  padding:8px 10px;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:var(--ivory);
  font-family:"IM Fell English",serif;
  font-size:14px;
  line-height:1.08;
  background:linear-gradient(180deg, rgba(120,15,10,.88), rgba(94,12,10,.90));
  border:1px solid rgba(176,138,66,.90);
  box-shadow:inset 0 0 0 1px rgba(241,214,154,.10), 0 0 0 1px rgba(56,8,8,.35);
  border-radius:4px;
}
.facsimile-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:66px;
  margin-top:16px;
  background:url('assets/button-red-gold.png') center/100% 66px no-repeat;
  color:var(--ivory);
  font-family:"IM Fell English SC","IM Fell English",serif;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:19px;
  line-height:1;
  text-shadow:0 2px 0 rgba(0,0,0,.55);
}
.facsimile-button:hover{ filter:brightness(1.08); }

@media (max-width: 980px){
  .facsimile-section{
    width:100%;
    height:auto;
    min-height:1120px;
    padding:32px 0 42px;
  }
  .facsimile-section::after{
    background-size:100% 100%;
  }
  .facsimile-visual,
  .facsimile-copy{
    position:relative;
    left:auto;
    top:auto;
    transform:none;
    width:min(90vw, 560px);
    height:auto;
    margin:0 auto;
  }
  .facsimile-visual{
    height:min(78vw, 620px);
    margin-bottom:26px;
  }
  .facsimile-copy h2{
    font-size:46px;
    text-align:center;
  }
  .facsimile-divider{
    justify-content:center;
  }
  .facsimile-copy p{
    text-align:left;
  }
  .facsimile-highlights{
    grid-template-columns:1fr;
  }
}

/* 8. ROAD TO 2027 — 1200 x 700 */
.roadmap-section{
  width:1200px;
  height:700px;
  position:relative;
  overflow:hidden;
  background:#050403 url('assets/black-texture.png') center/1200px auto no-repeat;
  border-bottom:1px solid var(--line-soft);
}

/* Marco victoriano correcto como overlay 1200 x 700 */
.roadmap-section::after{
  content:"";
  position:absolute;
  inset:0;
  background:url('assets/section-roadmap-frame-1200x700.png') center/1200px 700px no-repeat;
  pointer-events:none;
  z-index:5;
}

.roadmap-copy{
  position:absolute;
  left:54px;
  top:76px;
  width:1092px;
  text-align:center;
  z-index:2;
}

.roadmap-copy h2{
  margin:0;
  color:var(--gold);
  font-family:"IM Fell English SC","IM Fell English",serif;
  text-transform:uppercase;
  font-weight:400;
  font-size:50px;
  line-height:.96;
  letter-spacing:.05em;
  text-shadow:0 2px 0 #000,0 0 24px rgba(176,138,66,.10);
}

.roadmap-divider{
  width:350px;
  height:18px;
  margin:13px auto 15px;
  position:relative;
  color:var(--gold);
}

.roadmap-divider::before,
.roadmap-divider::after{
  content:"";
  position:absolute;
  top:50%;
  width:43%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(176,138,66,.95));
}

.roadmap-divider::before{left:0;}
.roadmap-divider::after{right:0;transform:scaleX(-1);}
.roadmap-divider span{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-54%);
  font-size:18px;
  line-height:1;
}

.roadmap-intro{
  margin:0 auto;
  color:var(--soft);
  font-size:19px;
  line-height:1.30;
  max-width:860px;
}

.roadmap-intro-secondary{
  margin-top:17px;
  max-width:980px;
}

.roadmap-grid{
  width:1092px;
  margin:46px auto 0;
  display:grid;
  grid-template-columns:repeat(4, 252px);
  grid-auto-rows:122px;
  gap:26px 28px;
  justify-content:center;
}

.roadmap-card{
  width:252px;
  height:122px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:14px 18px;
  background:
    linear-gradient(180deg, rgba(92,8,6,.90), rgba(55,4,4,.94)),
    url('assets/button-red-gold.png') center/252px 122px no-repeat;
  border:1px solid rgba(176,138,66,.95);
  box-shadow:
    inset 0 0 0 1px rgba(241,214,154,.13),
    inset 0 0 28px rgba(0,0,0,.38),
    0 0 0 1px rgba(56,8,8,.35);
  color:var(--ivory);
  font-family:"IM Fell English SC","IM Fell English",serif;
  text-transform:uppercase;
  letter-spacing:.035em;
  font-size:23px;
  line-height:1.08;
  text-align:center;
  text-shadow:0 2px 0 rgba(0,0,0,.55);
  position:relative;
}

.roadmap-card::before,
.roadmap-card::after{
  content:"❦";
  position:absolute;
  left:50%;
  transform:translateX(-50%);
  color:var(--gold);
  font-size:15px;
  line-height:1;
  opacity:.82;
}
.roadmap-card::before{top:-9px;}
.roadmap-card::after{bottom:-9px;}

.roadmap-card:nth-child(2){
  font-size:19px;
  line-height:1.05;
  letter-spacing:.025em;
}
.roadmap-card:nth-child(4),
.roadmap-card:nth-child(7),
.roadmap-card:nth-child(8){
  font-size:20px;
  line-height:1.06;
  letter-spacing:.025em;
}

.roadmap-card:hover{
  filter:brightness(1.08);
}

/* Desktop master: mobile queda para fase posterior */
@media (max-width: 980px){
  .roadmap-section{
    width:100%;
    height:auto;
    min-height:960px;
    padding:56px 0 56px;
    background-size:1200px auto;
  }
  .roadmap-section::after{
    background-size:100% 100%;
  }
  .roadmap-copy{
    position:relative;
    left:auto;
    top:auto;
    width:min(90vw, 760px);
    margin:0 auto;
  }
  .roadmap-copy h2{
    font-size:42px;
  }
  .roadmap-intro,
  .roadmap-intro-secondary{
    font-size:18px;
    max-width:100%;
  }
  .roadmap-grid{
    width:min(90vw, 640px);
    grid-template-columns:repeat(2, minmax(0, 1fr));
    grid-auto-rows:122px;
    gap:20px;
  }
  .roadmap-card{
    width:100%;
    height:122px;
    background-size:100% 122px;
    font-size:20px;
  }
}


/* 9. AFTER YOU SUBSCRIBE — 1200 x 520 */
.after-subscribe-section{
  width:1200px;
  height:520px;
  position:relative;
  overflow:hidden;
  border-bottom:1px solid var(--line-soft);
  background:
    url('assets/section-after-subscribe-frame.png') center top / 1200px 520px no-repeat,
    url('assets/black-texture.png') center top / 1200px auto no-repeat,
    #050403;
}

.after-subscribe-copy{
  position:absolute;
  inset:0;
  width:1000px;
  height:100%;
  margin:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  text-align:center;
  padding-top:42px;
  z-index:2;
}

.after-subscribe-copy h2{
  margin:0;
  color:var(--gold);
  font-family:"IM Fell English SC","IM Fell English",serif;
  text-transform:uppercase;
  font-weight:400;
  font-size:70px;
  line-height:.92;
  letter-spacing:.04em;
  text-shadow:0 2px 0 #000,0 0 24px rgba(176,138,66,.10);
}

.after-subscribe-divider{
  width:430px;
  height:22px;
  margin:10px auto 12px;
  position:relative;
  color:var(--gold);
}
.after-subscribe-divider::before,
.after-subscribe-divider::after{
  content:"";
  position:absolute;
  top:50%;
  width:41%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(176,138,66,.95));
}
.after-subscribe-divider::before{left:0;}
.after-subscribe-divider::after{right:0;transform:scaleX(-1);}
.after-subscribe-divider span{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-55%);
  font-size:18px;
  line-height:1;
}

.after-subscribe-intro,
.after-subscribe-body{
  margin:0 auto;
  color:var(--soft);
  font-size:21px;
  line-height:1.34;
  max-width:920px;
}
.after-subscribe-body{
  margin-top:12px;
  max-width:980px;
}

.subscribe-steps{
  width:1050px;
  margin:28px auto 0;
  display:grid;
  grid-template-columns:1fr 74px 1fr 74px 1fr;
  align-items:center;
  justify-content:center;
}

.subscribe-step{
  display:grid;
  grid-template-columns:86px auto;
  align-items:center;
  justify-content:center;
  column-gap:16px;
  min-height:94px;
  color:var(--ivory);
}
.step-number{
  width:80px;
  height:80px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:radial-gradient(circle at 50% 45%, rgba(92,8,6,.96), rgba(38,3,3,.96));
  border:2px solid rgba(176,138,66,.95);
  box-shadow:inset 0 0 0 2px rgba(176,138,66,.18), inset 0 0 28px rgba(0,0,0,.65);
  color:var(--ivory);
  font-family:"IM Fell English SC","IM Fell English",serif;
  font-size:52px;
  line-height:1;
  text-shadow:0 2px 0 rgba(0,0,0,.55);
}
.subscribe-step p{
  margin:0;
  color:var(--ivory);
  font-size:22px;
  line-height:1.18;
  text-align:left;
}
.step-separator{
  width:74px;
  height:94px;
  position:relative;
}
.step-separator::before{
  content:"";
  position:absolute;
  left:50%;
  top:7px;
  bottom:7px;
  width:1px;
  background:linear-gradient(180deg, transparent, rgba(176,138,66,.85), transparent);
}
.step-separator::after{
  content:"❦";
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%) rotate(90deg);
  color:var(--gold);
  font-size:30px;
  line-height:1;
  opacity:.88;
}
.after-subscribe-button{
  display:flex;
  align-items:center;
  justify-content:center;
  width:742px;
  height:124px;
  margin:14px auto 0;
  background:url('assets/section-after-subscribe-reference.png') no-repeat;
  /* fallback hidden image not desired, override immediately */
  background:none;
  color:var(--ivory);
  font-family:"IM Fell English SC","IM Fell English",serif;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:38px;
  line-height:1;
  text-shadow:0 2px 0 rgba(0,0,0,.6);
  text-decoration:none;
  position:relative;
}
.after-subscribe-button::before{
  content:"";
  position:absolute;
  inset:0;
  background:url('assets/button-red-gold.png') center / 100% 100% no-repeat;
  filter:brightness(1.06);
  z-index:-1;
  border-radius:2px;
}
.after-subscribe-button:hover{ filter:brightness(1.08); }

@media (max-width: 980px){
  .after-subscribe-section{
    width:100%;
    height:auto;
    min-height:860px;
    padding:42px 0 52px;
    background-size:100% 100%, 1200px auto, auto;
  }
  .after-subscribe-copy{
    position:relative;
    width:min(90vw, 760px);
    height:auto;
    padding-top:0;
  }
  .after-subscribe-copy h2{font-size:46px;}
  .after-subscribe-divider{width:280px; margin:8px auto 14px;}
  .after-subscribe-intro,.after-subscribe-body{font-size:18px; max-width:100%;}
  .subscribe-steps{
    width:min(90vw, 560px);
    display:flex;
    flex-direction:column;
    gap:18px;
    margin-top:28px;
  }
  .subscribe-step{width:100%; grid-template-columns:72px 1fr; justify-content:start;}
  .step-number{width:68px; height:68px; font-size:42px;}
  .subscribe-step p{font-size:19px;}
  .step-separator{display:none;}
  .after-subscribe-button{width:min(86vw, 520px); height:82px; font-size:25px;}
}


/* 12. BUY THE BOOK / SHOP THE MERCH — usa los assets exactos del usuario */
.buy-shop-section{
  width:1200px;
  height:450px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-bottom:1px solid var(--line-soft);
  background:#050403;
}

.buy-shop-bg,
.buy-shop-frame,
.buy-shop-visual,
.buy-shop-content{
  position:absolute;
}

.buy-shop-bg{
  inset:0;
  z-index:0;
  background:url('assets/buy-shop-bg-450.png') center center / 100% 100% no-repeat;
}

/* Marco detrás del contenido para que no tape nada */
.buy-shop-frame{
  inset:0;
  z-index:1;
  background:url('assets/buy-shop-frame-450.png') center center / 100% 100% no-repeat;
  pointer-events:none;
}

.buy-shop-visual{
  top:0;
  width:450px;
  height:450px;
  z-index:2;
  pointer-events:none;
}

.buy-shop-book{
  left:0;
  background:url('assets/buy-shop-book-asset.png') left center / auto 100% no-repeat;
}

.buy-shop-bag{
  right:0;
  background:url('assets/buy-shop-bag-asset.png') right center / auto 100% no-repeat;
}

.buy-shop-content{
  inset:0;
  z-index:3;
}

.buy-shop-content h2{
  position:absolute;
  top:34px;
  left:50%;
  transform:translateX(-50%);
  width:720px;
  margin:0;
  color:var(--gold);
  font-family:"IM Fell English SC","IM Fell English",serif;
  font-weight:400;
  text-transform:uppercase;
  text-align:center;
  font-size:38px;
  line-height:1.02;
  letter-spacing:.04em;
  text-shadow:0 2px 0 #000,0 0 18px rgba(176,138,66,.12);
}

.buy-shop-actions{
  position:absolute;
  left:50%;
  top:175px;
  transform:translateX(-50%);
  width:280px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:24px;
}

.buy-shop-button{
  width:280px;
  height:62px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:url('assets/buy-shop-button.png') center center / 100% 100% no-repeat;
  text-decoration:none;
  transition:transform .18s ease, filter .18s ease;
}

.buy-shop-button span{
  color:var(--ivory);
  font-family:"IM Fell English SC","IM Fell English",serif;
  font-size:22px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.07em;
  text-shadow:0 2px 0 rgba(0,0,0,.62);
}

.buy-shop-button:hover{
  transform:translateY(-2px);
  filter:brightness(1.08);
}

.buy-shop-note{
  position:absolute;
  left:50%;
  bottom:42px;
  transform:translateX(-50%);
  width:760px;
  margin:0;
  color:var(--soft);
  text-align:center;
  font-size:16px;
  line-height:1.45;
  text-shadow:0 2px 0 #000;
}

@media (max-width: 980px){
  .buy-shop-section{
    width:100%;
    height:auto;
    min-height:980px;
    padding:30px 0 36px;
    background:#050403;
  }

  .buy-shop-bg,
  .buy-shop-frame{
    inset:0;
    width:100%;
    height:100%;
    background-size:cover;
  }

  .buy-shop-book,
  .buy-shop-bag,
  .buy-shop-content{
    position:relative;
  }

  .buy-shop-book,
  .buy-shop-bag{
    left:auto;
    right:auto;
    top:auto;
    width:min(86vw, 450px);
    height:min(86vw, 450px);
    margin:0 auto;
  }

  .buy-shop-book{
    background-size:auto 100%;
    background-position:left center;
    margin-top:8px;
  }

  .buy-shop-bag{
    background-size:auto 100%;
    background-position:right center;
    margin-top:10px;
  }

  .buy-shop-content{
    inset:auto;
    width:100%;
    display:flex;
    flex-direction:column;
    align-items:center;
    z-index:3;
  }

  .buy-shop-content h2{
    position:relative;
    top:auto;
    left:auto;
    transform:none;
    width:min(92vw, 760px);
    margin:0 auto 22px;
    font-size:34px;
    line-height:1.02;
  }

  .buy-shop-actions{
    position:relative;
    left:auto;
    top:auto;
    transform:none;
    width:100%;
    margin:14px auto 18px;
    gap:16px;
  }

  .buy-shop-button{
    width:min(86vw, 320px);
    height:62px;
  }

  .buy-shop-button span{
    font-size:21px;
  }

  .buy-shop-note{
    position:relative;
    left:auto;
    bottom:auto;
    transform:none;
    width:min(88vw, 760px);
    margin:18px auto 24px;
    font-size:16px;
  }
}

/* 13. AVAILABILITY NOTICE — 1200 x 450 */
.availability-section{
  width:1200px;
  height:450px;
  position:relative;
  overflow:hidden;
  isolation:isolate;
  border-bottom:1px solid var(--line-soft);
  background:#050403 url('assets/availability-frame-1200x450.png') center center / 100% 100% no-repeat;
  display:flex;
  align-items:center;
  justify-content:center;
}

.availability-panel{
  width:760px;
  min-height:142px;
  padding:36px 58px;
  border:1px solid rgba(176,138,66,.78);
  background:rgba(4,3,2,.46);
  box-shadow:
    inset 0 0 0 1px rgba(176,138,66,.24),
    0 0 22px rgba(0,0,0,.55);
  text-align:center;
}

.availability-panel p{
  margin:0;
  color:var(--soft);
  font-family:"IM Fell English","Times New Roman",serif;
  font-size:18px;
  line-height:1.48;
  letter-spacing:.02em;
  text-shadow:0 2px 0 #000;
}

.availability-panel .availability-lead{
  margin-bottom:14px;
  color:var(--ivory);
  font-size:20px;
}

@media (max-width:980px){
  .availability-section{
    width:100%;
    height:auto;
    min-height:360px;
    padding:52px 0;
    background-size:cover;
  }

  .availability-panel{
    width:min(82vw, 760px);
    padding:28px 24px;
  }

  .availability-panel p{
    font-size:16px;
  }

  .availability-panel .availability-lead{
    font-size:18px;
  }
}


/* 14. FOOTER LEGAL — 1200 x 450 */
.legal-footer-section{
  width:1200px;
  height:450px;
  position:relative;
  overflow:hidden;
  background:
    url('assets/footer-frame-1200x450.png') center top / 1200px 450px no-repeat,
    url('assets/footer-black-texture-1200x450.png') center top / 1200px 450px no-repeat,
    #050403;
}

.legal-footer-inner{
  position:absolute;
  left:120px;
  top:44px;
  width:960px;
  height:360px;
  display:block;
  text-align:center;
}

.legal-brand-row{
  height:138px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:26px;
  margin:0 0 8px;
}

.legal-brand-seal{
  width:78px;
  height:78px;
  object-fit:contain;
  display:block;
  flex:0 0 auto;
}

.legal-brand-wordmark{
  width:340px;
  height:auto;
  object-fit:contain;
  display:block;
  flex:0 0 auto;
}

.legal-links-block{
  width:860px;
  margin:0 auto 20px;
  padding:0;
}

.legal-copy-block{
  width:900px;
  margin:0 auto;
  padding:0;
}

.legal-links-block p{
  margin:0 0 7px;
  color:var(--ivory);
  font-size:14px;
  line-height:1.35;
  letter-spacing:.01em;
  text-shadow:0 2px 0 rgba(0,0,0,.55);
}

.legal-copy-block p{
  margin:0 0 9px;
  color:var(--soft);
  font-size:13px;
  line-height:1.42;
  letter-spacing:.01em;
  text-shadow:0 2px 0 rgba(0,0,0,.55);
}

.legal-links-block strong{
  color:var(--gold);
  font-weight:400;
}

.legal-links-block a{
  color:var(--ivory);
  text-decoration:none;
  border-bottom:1px solid rgba(191,40,32,.55);
}

.legal-links-block a:hover{
  color:var(--gold);
  border-bottom-color:rgba(201,149,66,.7);
}

.legal-copy-block p:last-child,
.legal-links-block p:last-child{
  margin-bottom:0;
}
