:root{
  --noir:#0c0708;
  --noir-2:#140b0c;
  --wine:#380c0f;
  --wine-2:#280a0c;
  --blood:#6b0d0d;
  --crimson:#9a1519;
  --cream:#f2e9d8;
  --ash:rgba(242,233,216,.60);
  --ash-2:rgba(242,233,216,.42);
  --gilt:#bd975c;
  --gilt-soft:rgba(189,151,92,.55);
  --gilt-line:rgba(189,151,92,.28);
  --hair:rgba(242,233,216,.12);
  --maxw:1180px;
  --host-vh:900px;
  --host-92vh:828px;
  --img-curtain:url("images/curtain.jpg");
  --img-bonus:url("images/bonus.jpg");
  --img-final:url("images/final.jpg");
  --img-moda:url("images/moda.jpg");
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;}
body{
  margin:0;background:var(--noir);color:var(--cream);
  font-family:'Lora',Georgia,serif;line-height:1.6;
  overflow-x:hidden;-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block;}
a{color:inherit;}
::selection{background:var(--crimson);color:var(--cream);}

/* ---------- shared type ---------- */
.kicker{
  font-family:'Oswald',sans-serif;font-weight:500;
  text-transform:uppercase;letter-spacing:.42em;
  font-size:clamp(10px,1.5vw,12px);color:var(--gilt);
  display:inline-flex;align-items:center;gap:.9em;margin:0 0 1.4rem;
}
.kicker::before{content:"";width:clamp(22px,4vw,44px);height:1px;background:var(--gilt-soft);display:inline-block;}
.kicker.center{justify-content:center;}
.kicker.center::after{content:"";width:clamp(22px,4vw,44px);height:1px;background:var(--gilt-soft);display:inline-block;}

.display{
  font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;
  line-height:.96;letter-spacing:.005em;margin:0;
  font-size:clamp(2.3rem,7.2vw,5.4rem);
}
.serif-lead{
  font-family:'Lora',Georgia,serif;font-weight:400;
  line-height:1.3;margin:0;color:var(--cream);
  font-size:clamp(1.3rem,3.2vw,2.15rem);
}
.body{font-size:clamp(1.02rem,1.5vw,1.18rem);color:var(--ash);margin:0 0 1.15em;}
.body.bright{color:var(--cream);}
.body:last-child{margin-bottom:0;}

/* ---------- layout ---------- */
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 clamp(22px,6vw,72px);}
.section{position:relative;padding:clamp(78px,11vw,148px) 0;}
.section.tight{padding:clamp(60px,8vw,104px) 0;}
.bg-wine{background:linear-gradient(180deg,var(--wine-2),var(--wine) 60%,var(--wine-2));}
.bg-noir2{background:var(--noir-2);}
.rule{height:1px;background:var(--hair);border:0;margin:0;}

/* spotlight glow used on several sections */
.spot::before{
  content:"";position:absolute;top:-4%;left:50%;transform:translateX(-50%);
  width:min(120vw,1100px);height:min(70vw,620px);pointer-events:none;
  background:radial-gradient(ellipse at 50% 0%,rgba(189,151,92,.16),rgba(189,151,92,.05) 42%,transparent 68%);
  z-index:0;
}
.section>*{position:relative;z-index:1;}

/* ---------- top bar ---------- */
.topbar{
  position:fixed;top:0;left:0;right:0;z-index:50;
  display:flex;align-items:center;justify-content:space-between;
  padding:16px clamp(22px,6vw,72px);
  transition:background .4s ease,border-color .4s ease,padding .4s ease;
  border-bottom:1px solid transparent;
}
.topbar.scrolled{background:rgba(10,6,7,.82);backdrop-filter:blur(9px);border-bottom-color:var(--gilt-line);padding-top:12px;padding-bottom:12px;}
.brand{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.34em;font-size:clamp(12px,1.7vw,15px);color:var(--cream);}
.brand span{color:var(--gilt);}
.topbar .tag{font-family:'Oswald',sans-serif;font-weight:400;text-transform:uppercase;letter-spacing:.3em;font-size:11px;color:var(--ash);}
@media(max-width:620px){.topbar .tag{display:none;}}

/* ---------- button ---------- */
.btn{
  --bx:0;
  display:inline-flex;align-items:center;justify-content:center;gap:.7em;
  font-family:'Oswald',sans-serif;font-weight:500;text-transform:uppercase;
  letter-spacing:.2em;font-size:clamp(13px,1.7vw,15px);
  color:var(--cream);text-decoration:none;white-space:nowrap;
  min-height:56px;padding:17px 42px;border-radius:999px;
  background:linear-gradient(180deg,#a5171b 0%,var(--blood) 58%,#520707 100%);
  border:1px solid var(--gilt-line);
  box-shadow:0 16px 40px rgba(90,8,8,.42),0 2px 8px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.08);
  cursor:pointer;transition:transform .22s cubic-bezier(.2,.7,.3,1),box-shadow .22s ease,background .22s ease;
  -webkit-tap-highlight-color:transparent;
}
.btn .arrow{transition:transform .22s ease;font-size:1.1em;line-height:0;opacity:.9;}
.btn:hover,.btn:focus-visible{
  background:linear-gradient(180deg,#bb1a1f 0%,#7c0f0f 58%,#620a0a 100%);
  transform:translateY(-3px);
  box-shadow:0 22px 52px rgba(120,12,12,.5),0 4px 12px rgba(0,0,0,.45),0 0 0 1px var(--gilt-soft),inset 0 1px 0 rgba(255,255,255,.12);
  outline:none;
}
.btn:hover .arrow,.btn:focus-visible .arrow{transform:translateX(4px);}
.btn:active{transform:translateY(-1px);}
.btn:focus-visible{box-shadow:0 0 0 3px rgba(242,233,216,.5),0 16px 40px rgba(90,8,8,.42);}
.btn-row{margin-top:clamp(30px,4vw,46px);}
.btn-row.center{display:flex;justify-content:center;}

/* ---------- hero ---------- */
.hero{
  position:relative;min-height:var(--host-vh);display:flex;flex-direction:column;
  align-items:center;justify-content:center;text-align:center;
  padding:120px clamp(22px,6vw,72px) 60px;overflow:hidden;
}
.hero::before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(ellipse at 50% 14%,rgba(189,151,92,.20),transparent 46%),
    radial-gradient(ellipse at 50% 120%,rgba(107,13,13,.42),transparent 60%);
}
.hero-inner{position:relative;z-index:2;max-width:960px;width:100%;}
.hero .display{margin:0 auto;}
.hero .display em{font-style:normal;color:var(--gilt);}
.hero-sub{margin:1.5rem auto 0;max-width:30ch;}
.hero-figure{position:relative;margin:clamp(30px,5vw,54px) auto clamp(26px,4vw,40px);width:clamp(200px,42vw,340px);}
.hero-figure::after{content:"";position:absolute;left:50%;bottom:-6%;transform:translateX(-50%);width:78%;height:34px;background:radial-gradient(ellipse at center,rgba(0,0,0,.6),transparent 72%);filter:blur(4px);z-index:-1;}
.hero-figure img{width:100%;filter:drop-shadow(0 26px 40px rgba(0,0,0,.6));}
.hero-meta{display:flex;flex-direction:column;align-items:center;gap:1rem;}
.hero-author{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.34em;font-size:clamp(12px,1.7vw,14px);color:var(--cream);font-weight:500;}
.hero-author b{color:var(--gilt);font-weight:600;}
.bonus-tag{
  font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.28em;
  font-size:11px;color:var(--gilt);border:1px solid var(--gilt-line);
  padding:8px 18px;border-radius:999px;background:rgba(189,151,92,.05);
}
.scrollcue{position:absolute;left:50%;bottom:26px;transform:translateX(-50%);z-index:2;display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--ash-2);}
.scrollcue .line{width:1px;height:38px;background:linear-gradient(var(--gilt-soft),transparent);animation:cue 2.4s ease-in-out infinite;}
@keyframes cue{0%,100%{opacity:.3;transform:scaleY(.6);transform-origin:top;}50%{opacity:1;transform:scaleY(1);}}

/* ---------- about ---------- */
.about-grid{display:grid;grid-template-columns:1fr;gap:clamp(30px,5vw,60px);align-items:center;}
@media(min-width:880px){.about-grid{grid-template-columns:.9fr 1.1fr;}}
.about-head .display{font-size:clamp(2rem,5.6vw,3.6rem);}
.stats{list-style:none;margin:0;padding:0;border-top:1px solid var(--gilt-line);}
.stats li{display:flex;align-items:baseline;gap:clamp(16px,3vw,32px);padding:clamp(16px,2.4vw,24px) 0;border-bottom:1px solid var(--gilt-line);}
.stats .n{font-family:'Oswald',sans-serif;font-weight:600;color:var(--gilt);font-size:clamp(1.6rem,4vw,2.6rem);line-height:1;min-width:2.4em;letter-spacing:.01em;}
.stats .t{font-size:clamp(1rem,1.6vw,1.18rem);color:var(--cream);}

/* ---------- intro ---------- */
.intro-inner{max-width:760px;margin:0 auto;text-align:center;}
.intro-inner .serif-lead{margin:0 auto 2rem;max-width:20ch;}
.intro-body{text-align:left;max-width:640px;margin:0 auto;}
.intro-body .body:first-letter{}

/* ---------- sins ---------- */
.sins-head{text-align:center;margin-bottom:clamp(10px,4vw,40px);}
.sin{position:relative;padding:clamp(66px,9vw,120px) 0;overflow:hidden;border-top:1px solid var(--hair);}
.sin-ghost{
  position:absolute;font-family:'Oswald',sans-serif;font-weight:700;
  color:transparent;-webkit-text-stroke:1px rgba(189,151,92,.30);
  font-size:clamp(9rem,34vw,26rem);line-height:.7;top:50%;transform:translateY(-50%);
  z-index:0;pointer-events:none;user-select:none;opacity:.9;
}
.sin.left .sin-ghost{right:-.06em;}
.sin.right .sin-ghost{left:-.06em;}
.sin-content{position:relative;z-index:1;max-width:640px;}
.sin.right .sin-content{margin-left:auto;text-align:right;}
.sin.right .kicker{flex-direction:row-reverse;}
.sin.right .kicker::before{}
.sin-title{font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;line-height:1.02;letter-spacing:.01em;font-size:clamp(1.8rem,4.4vw,3.1rem);margin:0 0 1.2rem;}
.sin-pain{font-size:clamp(1.04rem,1.6vw,1.22rem);color:var(--cream);margin:0 0 clamp(24px,3vw,34px);}
.solve{
  border-left:2px solid var(--gilt);padding:clamp(18px,2.4vw,26px) clamp(20px,2.6vw,30px);
  background:linear-gradient(120deg,rgba(107,13,13,.20),rgba(56,12,15,.10));
  border-radius:0 10px 10px 0;
}
.sin.right .solve{border-left:0;border-right:2px solid var(--gilt);border-radius:10px 0 0 10px;}
.solve .lbl{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.3em;font-size:11px;color:var(--gilt);display:block;margin-bottom:.7rem;}
.solve p{margin:0;color:var(--ash);font-size:clamp(1rem,1.5vw,1.12rem);}
.solve p b{color:var(--cream);font-weight:500;}

/* photo sins / photo sections */
.photo-sec{position:relative;min-height:clamp(560px,var(--host-92vh),860px);display:flex;align-items:center;overflow:hidden;}
.photo-sec .bgimg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;}
.photo-sec .scrim{position:absolute;inset:0;z-index:1;}
.photo-sec .wrap{position:relative;z-index:2;width:100%;}
.scrim.left-dark{background:linear-gradient(90deg,rgba(8,4,5,.92) 0%,rgba(8,4,5,.72) 40%,rgba(8,4,5,.28) 72%,rgba(8,4,5,.55) 100%),linear-gradient(180deg,rgba(8,4,5,.5),rgba(8,4,5,.35));}
.scrim.center-dark{background:radial-gradient(ellipse at center,rgba(8,4,5,.55),rgba(8,4,5,.86));}
.scrim.bottom-dark{background:linear-gradient(180deg,rgba(8,4,5,.55) 0%,rgba(8,4,5,.3) 40%,rgba(8,4,5,.9) 100%);}

/* ---------- program ---------- */
.program .wrap{position:relative;}
.program-grid{display:grid;grid-template-columns:1fr;gap:clamp(32px,5vw,64px);align-items:center;}
@media(min-width:900px){.program-grid{grid-template-columns:1.05fr .95fr;}}
.program-copy .display{font-size:clamp(2.2rem,6vw,4.4rem);}
.program-copy .display em{font-style:normal;display:block;color:var(--gilt);font-size:.62em;letter-spacing:.02em;}
.program-copy .lead{font-family:'Lora',Georgia,serif;font-size:clamp(1.2rem,2.2vw,1.55rem);color:var(--cream);margin:1.6rem 0 0;line-height:1.5;}
.program-media{position:relative;border-radius:6px;overflow:hidden;}
.program-media::after{content:"";position:absolute;inset:0;background:linear-gradient(200deg,transparent 55%,rgba(56,12,15,.5));}
.program-media img{width:100%;height:100%;object-fit:cover;}

/* ---------- modules ---------- */
.modules-head{text-align:center;margin-bottom:clamp(20px,5vw,56px);}
.mod{position:relative;padding:clamp(48px,6vw,78px) 0;border-top:1px solid var(--hair);}
.mod-inner{display:grid;grid-template-columns:1fr;gap:clamp(14px,3vw,40px);align-items:start;}
@media(min-width:820px){.mod-inner{grid-template-columns:minmax(160px,.5fr) 1fr;}}
.mod-num{font-family:'Oswald',sans-serif;font-weight:700;line-height:.8;color:transparent;-webkit-text-stroke:1.4px var(--gilt-soft);font-size:clamp(3.4rem,10vw,7rem);letter-spacing:.02em;}
.mod-num small{display:block;-webkit-text-stroke:0;color:var(--cream);font-family:'Oswald',sans-serif;font-weight:500;font-size:clamp(1.3rem,2.6vw,1.9rem);letter-spacing:.14em;text-transform:uppercase;margin-top:.4rem;}
.mod-list{list-style:none;margin:0;padding:0;}
.mod-list li{position:relative;padding:.7rem 0 .7rem 1.8rem;border-bottom:1px solid var(--hair);color:var(--cream);font-size:clamp(1rem,1.5vw,1.15rem);}
.mod-list li:last-child{border-bottom:0;}
.mod-list li::before{content:"";position:absolute;left:0;top:1.15em;width:9px;height:9px;border:1px solid var(--gilt);transform:rotate(45deg);}

/* ---------- effect ---------- */
.effect{text-align:center;}
.effect-triad{list-style:none;margin:clamp(24px,4vw,44px) 0 0;padding:0;}
.effect-triad li{
  font-family:'Oswald',sans-serif;font-weight:600;text-transform:uppercase;letter-spacing:.02em;
  font-size:clamp(1.9rem,6vw,3.9rem);line-height:1.12;color:var(--cream);
  padding:clamp(20px,3vw,34px) 0;border-top:1px solid var(--gilt-line);
}
.effect-triad li:last-child{border-bottom:1px solid var(--gilt-line);}
.effect-triad li em{font-style:normal;color:var(--gilt);}

/* ---------- what you get ---------- */
.get-head{margin-bottom:clamp(28px,4vw,48px);}
.get-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr;gap:0;}
.get-list li{display:grid;grid-template-columns:auto 1fr;gap:clamp(18px,3vw,34px);align-items:start;padding:clamp(22px,3vw,30px) 0;border-top:1px solid var(--gilt-line);}
.get-list li:last-child{border-bottom:1px solid var(--gilt-line);}
.get-list .gi{font-family:'Oswald',sans-serif;font-weight:600;color:var(--gilt);font-size:clamp(1.1rem,2vw,1.4rem);line-height:1;letter-spacing:.06em;padding-top:.15em;}
.get-list .gt{font-size:clamp(1.04rem,1.6vw,1.24rem);color:var(--cream);line-height:1.5;}

/* ---------- bonus ---------- */
.bonus-box{max-width:620px;}
.bonus-box .kicker{color:var(--gilt);}
.bonus-box .display{font-size:clamp(2.6rem,8vw,5rem);}
.bonus-box .lead{font-family:'Lora',Georgia,serif;font-size:clamp(1.25rem,2.6vw,1.85rem);color:var(--cream);margin:1.4rem 0 0;line-height:1.45;}

/* ---------- investment ---------- */
.invest-grid{display:grid;grid-template-columns:1fr;gap:clamp(30px,5vw,60px);align-items:center;}
@media(min-width:900px){.invest-grid{grid-template-columns:.92fr 1.08fr;}}
.invest-media{border-radius:6px;overflow:hidden;position:relative;}
.invest-media::after{content:"";position:absolute;inset:0;background:linear-gradient(160deg,transparent 50%,rgba(56,12,15,.55));}
.invest-media img{width:100%;object-fit:cover;}
.invest-copy .display{font-size:clamp(1.9rem,5vw,3.4rem);margin-bottom:1.6rem;}
.invest-copy .pull{font-family:'Lora',Georgia,serif;font-size:clamp(1.15rem,2vw,1.45rem);color:var(--cream);border-left:2px solid var(--gilt);padding-left:1.2rem;margin:1.8rem 0 0;line-height:1.5;}

/* ---------- final push ---------- */
.push{text-align:center;}
.push .display{font-size:clamp(2.2rem,7.5vw,5rem);margin-bottom:clamp(26px,4vw,42px);}
.push-lines{max-width:640px;margin:0 auto;list-style:none;padding:0;}
.push-lines li{font-family:'Lora',Georgia,serif;font-size:clamp(1.15rem,2.4vw,1.55rem);color:var(--cream);line-height:1.5;padding:.6rem 0;}
.push-lines li b{color:var(--cream);font-style:normal;font-weight:500;}

/* ---------- final cta ---------- */
.finalcta{position:relative;min-height:var(--host-vh);display:flex;align-items:center;overflow:hidden;}
.finalcta .bgimg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;}
.finalcta .scrim{position:absolute;inset:0;z-index:1;background:linear-gradient(90deg,rgba(6,3,4,.94),rgba(6,3,4,.72) 46%,rgba(6,3,4,.4) 78%),linear-gradient(180deg,rgba(6,3,4,.4),rgba(6,3,4,.75));}
.finalcta .wrap{position:relative;z-index:2;width:100%;}
.final-box{max-width:660px;}
.final-box .display{font-size:clamp(2.3rem,6.4vw,4.6rem);margin-bottom:clamp(26px,3.5vw,40px);}
.final-list{list-style:none;margin:0 0 clamp(34px,4.5vw,52px);padding:0;}
.final-list li{position:relative;padding:.8rem 0 .8rem 2rem;font-size:clamp(1.08rem,1.9vw,1.35rem);color:var(--cream);border-bottom:1px solid var(--hair);}
.final-list li:first-child{border-top:1px solid var(--hair);}
.final-list li::before{content:"";position:absolute;left:0;top:1.25em;width:10px;height:2px;background:var(--gilt);}

/* ---------- footer ---------- */
.foot{padding:clamp(44px,6vw,72px) 0;border-top:1px solid var(--gilt-line);text-align:center;background:var(--noir);}
.foot .brand{display:block;margin-bottom:.8rem;}
.foot .fline{font-family:'Oswald',sans-serif;text-transform:uppercase;letter-spacing:.3em;font-size:11px;color:var(--ash-2);}

@media(max-width:640px){
  .sin.right .sin-content{text-align:left;margin-left:0;}
  .sin.right .kicker{flex-direction:row;}
  .sin.right .solve{border-right:0;border-left:2px solid var(--gilt);border-radius:0 10px 10px 0;}
  .sin-ghost{font-size:31vw;opacity:.5;}
  .scrim.left-dark{background:linear-gradient(180deg,rgba(8,4,5,.62),rgba(8,4,5,.82)),linear-gradient(90deg,rgba(8,4,5,.8),rgba(8,4,5,.35) 90%);}
}


/* v5: content visibility is unconditional; no entrance-animation hiding. */
html,body,main,section,header,footer{visibility:visible!important;opacity:1!important;}
main,main *{visibility:visible!important;}
[data-build="v4-static-visible"] .reveal{opacity:1!important;transform:none!important;transition:none!important;}


/* v6: section heights follow the host browser viewport supplied by Tilda, not the iframe's expanded viewport. */
