:root{
  --ink:#e7e3d6; --ink-soft:#b8b2a0; --ink-faint:#8a8474;
  --bg:#0a1410; --bg-deep:#060d0a;
  --emerald:#0f2a20; --emerald-2:#14352a; --emerald-lo:#0c211a;
  --gold:#c9a14a; --gold-lo:#9c7a32; --gold-hi:#e8cd86; --gold-faint:#6b5526;
  --line:rgba(201,161,74,0.22); --line-soft:rgba(201,161,74,0.10);
  --maxw:780px;
}

*{box-sizing:border-box;margin:0;padding:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
html{scroll-behavior:smooth;}
body{
  font-family:'Cormorant Garamond',Georgia,serif;
  color:var(--ink); background:var(--bg-deep);
  font-size:21px; line-height:1.6; font-weight:400;
  overflow-x:hidden;
  font-feature-settings:"liga" 1,"kern" 1,"onum" 1;
}

/* ===== Skip Link (Accessibility) ===== */
.skip-link{position:absolute;top:-40px;left:0;z-index:100;background:var(--gold);color:var(--bg);padding:8px 16px;font-family:'Cinzel',serif;font-size:13px;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;transition:top .25s ease;}
.skip-link:focus{top:0;}

.gold{color:var(--gold);}
.goldhi{color:var(--gold-hi);}
em{font-style:italic;}
strong{font-weight:600;color:var(--gold-hi);}
h1,h2,h3,.cinzel{font-family:'Cinzel',serif;}

/* ===== atmospheric background ===== */
.bg-atmos{
  position:fixed; inset:0; z-index:-2;
  background:
    radial-gradient(70% 50% at 50% 8%, rgba(20,53,42,0.65) 0%, rgba(8,15,12,0) 60%),
    radial-gradient(90% 60% at 50% 100%, rgba(13,38,29,0.5), rgba(6,13,10,0) 55%),
    linear-gradient(180deg,#08110d 0%,#050a08 100%);
}
.bg-grain{
  position:fixed; inset:0; z-index:-1; pointer-events:none; opacity:.4;
  background-image:repeating-linear-gradient(0deg,rgba(231,227,214,.012) 0,rgba(231,227,214,.012) 1px,transparent 1px,transparent 3px);
  mix-blend-mode:overlay;
}

section{position:relative; padding:0 28px;}
.wrap{max-width:var(--maxw); margin:0 auto;}

.eyebrow{
  font-family:'Cinzel',serif; font-weight:600; font-size:12px;
  letter-spacing:.18em; text-transform:uppercase; color:var(--gold);
}
.rule{display:flex;align-items:center;justify-content:center;gap:1em;color:var(--gold);margin:0 auto;}
.rule::before,.rule::after{content:"";height:1px;flex:1;max-width:120px;background:linear-gradient(90deg,transparent,var(--line),transparent);}
.rule .dot{font-size:13px;letter-spacing:.18em;}

/* ===== HERO ===== */
.hero{min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:60px 22px;}
.hero .frame{position:absolute;inset:24px;border:1px solid var(--line-soft);pointer-events:none;}
.sigil{width:96px;height:96px;margin:0 auto 34px;animation:fade 1.4s ease both;}
.hero .mark{font-family:'Cinzel',serif;font-size:13px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;margin-bottom:30px;animation:fade 1.2s ease .1s both;}
.hero h1{
  font-weight:600; font-size:clamp(38px,9vw,86px); line-height:1.02;
  letter-spacing:.03em; color:var(--ink);
  text-shadow:0 0 40px rgba(201,161,74,.16);
  animation:rise 1.3s cubic-bezier(.2,.7,.2,1) .15s both;
}
.hero h1 .sub2{display:block;font-size:clamp(15px,3.4vw,26px);letter-spacing:.18em;color:var(--gold);margin-top:18px;animation:rise 1.3s cubic-bezier(.2,.7,.2,1) .3s both;}
.hero .promise{
  font-style:italic; font-size:clamp(18px,2.6vw,25px); color:var(--ink-soft);
  max-width:560px; margin:36px auto 0; animation:fade 1.4s ease .5s both;
}
.scrollcue{margin-top:54px;font-family:'Cinzel',serif;font-size:11px;letter-spacing:.18em;color:var(--gold-lo);text-transform:uppercase;animation:fade 1.6s ease .8s both;}
.scrollcue a{display:block;text-decoration:none;color:var(--gold-lo);transition:color .25s ease;}
.scrollcue a:hover{color:var(--gold);}
.scrollcue .arrow{display:block;margin-top:10px;color:var(--gold);font-size:16px;animation:bob 2.2s ease-in-out infinite;}

@keyframes fade{from{opacity:0}to{opacity:1}}
@keyframes rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(7px)}}

/* ===== Reduced Motion ===== */
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto;}
  .sigil,.hero .mark,.hero h1,.hero h1 .sub2,.hero .promise,.scrollcue{animation:none;opacity:1;transform:none;}
  .scrollcue .arrow{animation:none;}
  .reveal{opacity:1;transform:none;transition:none;}
}

/* ===== reveal on scroll ===== */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1);}
.reveal.in{opacity:1;transform:none;}

/* ===== blocks ===== */
.block{padding:108px 28px;}
.block h2{font-weight:600;font-size:clamp(26px,5vw,44px);line-height:1.12;letter-spacing:.03em;color:var(--ink);}
.lead{font-size:clamp(20px,2.8vw,27px);line-height:1.5;color:var(--ink);}
.muted{color:var(--ink-soft);}
p+p{margin-top:1em;}

.pull{
  font-style:italic; font-size:clamp(22px,4vw,38px); line-height:1.34;
  color:var(--gold-hi); text-align:center; max-width:680px; margin:0 auto;
}
.pull::before{content:"“";display:block;font-family:'Cinzel',serif;font-style:normal;font-size:54px;color:var(--gold-lo);line-height:.5;margin-bottom:.1em;}

/* the six */
.six{display:grid;grid-template-columns:1fr;gap:0;max-width:640px;margin:48px auto 0;}
.six .row{display:flex;align-items:baseline;gap:22px;padding:22px 0;border-bottom:1px solid var(--line-soft);}
.six .n{font-family:'Cinzel',serif;color:var(--gold);font-size:20px;width:44px;text-align:right;flex:0 0 auto;}
.six .t{flex:1;}
.six .t .title{display:block;font-family:'Cinzel',serif;font-size:18px;letter-spacing:.04em;color:var(--ink);}
.six .t .desc{display:block;font-style:italic;color:var(--ink-faint);font-size:17px;margin-top:5px;}

/* pain list */
.pain{max-width:600px;margin:36px auto 0;}
.pain li{list-style:none;padding:14px 0 14px 34px;position:relative;color:var(--ink-soft);font-size:20px;border-bottom:1px solid var(--line-soft);}
.pain li::before{content:"✦";position:absolute;left:0;top:14px;color:var(--gold-lo);font-size:14px;}

/* author */
.author{border:1px solid var(--line);background:linear-gradient(180deg,rgba(20,53,42,.32),rgba(12,33,26,.12));padding:48px 40px;max-width:680px;margin:0 auto;text-align:center;}

/* ===== OFFER / CTA ===== */
.offer{text-align:center;padding:120px 28px 130px;}
.card{
  border:1px solid var(--line);
  background:linear-gradient(180deg,rgba(20,53,42,.4),rgba(8,15,12,.2));
  max-width:560px;margin:0 auto;padding:54px 44px 48px;position:relative;
}
.card .corner{position:absolute;width:18px;height:18px;border:1px solid var(--gold);opacity:.7;}
.card .tl{top:-1px;left:-1px;border-right:0;border-bottom:0;}
.card .tr{top:-1px;right:-1px;border-left:0;border-bottom:0;}
.card .bl{bottom:-1px;left:-1px;border-right:0;border-top:0;}
.card .br{bottom:-1px;right:-1px;border-left:0;border-top:0;}
.card .edition{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.18em;color:var(--gold);text-transform:uppercase;}
.card h3{font-weight:600;font-size:34px;letter-spacing:.04em;margin:14px 0 6px;color:var(--ink);}
.card .tag{font-style:italic;color:var(--ink-soft);font-size:19px;margin-bottom:26px;}
.incl{text-align:left;max-width:380px;margin:0 auto 30px;}
.incl li{list-style:none;padding:9px 0 9px 28px;position:relative;color:var(--ink-soft);font-size:18px;}
.incl li::before{content:"✦";position:absolute;left:0;color:var(--gold);font-size:12px;top:12px;}
.price{display:flex;align-items:baseline;justify-content:center;gap:6px;margin:8px 0 4px;}
.price .amt{font-family:'Cinzel',serif;font-size:52px;color:var(--gold-hi);line-height:1;}
.price .cur{font-family:'Cinzel',serif;font-size:24px;color:var(--gold);}
.price-note{font-style:italic;color:var(--ink-faint);font-size:17px;margin-bottom:30px;}

.btn{
  display:inline-block;font-family:'Cinzel',serif;font-weight:600;
  font-size:15px;letter-spacing:.18em;text-transform:uppercase;text-decoration:none;
  color:var(--gold);background:transparent;
  padding:20px 46px;border:1px solid var(--gold);
  box-shadow:0 0 0 rgba(201,161,74,0);transition:transform .25s ease,box-shadow .35s ease,background .25s ease,color .25s ease;
  position:relative; cursor:pointer;
}
.btn:hover{transform:translateY(-2px);background:rgba(201,161,74,.22);color:var(--gold-hi);box-shadow:0 10px 28px rgba(201,161,74,.14);}
.btn:focus-visible{outline:2px solid var(--gold-hi);outline-offset:4px;}
.btn.disabled,.btn[disabled]{opacity:.4;cursor:not-allowed;}
.btn.disabled:hover,.btn[disabled]:hover{background:transparent;color:var(--gold);transform:none;box-shadow:none;}
.scarcity{margin-top:24px;font-family:'Cinzel',serif;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lo);}
.scarcity .live{color:var(--gold);}

.guarantee{max-width:520px;margin:40px auto 0;font-style:italic;color:var(--ink-faint);font-size:17px;}

/* ===== footer ===== */
footer{text-align:center;padding:54px 28px 70px;border-top:1px solid var(--line-soft);}
footer .fmark{font-family:'Cinzel',serif;font-size:11px;letter-spacing:.18em;color:var(--gold-lo);text-transform:uppercase;}
footer .legal{margin-top:18px;font-size:14px;color:var(--ink-faint);}
footer .legal a{color:var(--gold-lo);text-decoration:none; transition:color .25s ease; display:inline-block; padding:6px 2px; min-width:44px; min-height:44px; line-height:32px;}
footer .legal a:hover{color:var(--gold);}

::selection{background:rgba(201,161,74,.3);color:var(--gold-hi);}

/* ===== mobile adjustments ===== */
@media (max-width:640px){
  .block{padding:80px 22px;}
  .offer{padding:90px 22px 100px;}
  .card{padding:44px 28px 40px;}
  .author{padding:36px 28px;}
  .pain li{font-size:18px;}
  .six .row{gap:16px; padding:18px 0;}
  .six .n{font-size:18px; width:36px;}
  .six .t .title{font-size:17px;}
  .six .t .desc{font-size:17px;}
  .hero .frame{inset:16px;}
}

@media (max-width:380px){
  body{font-size:19px;}
  .hero h1{font-size:clamp(32px,11vw,44px);}
}

/* ===== LEGAL / SUB PAGES ===== */
.legal-page{padding:120px 28px 80px;}
.legal-page h1{font-weight:600;font-size:clamp(28px,5vw,40px);line-height:1.12;letter-spacing:.03em;color:var(--ink);margin-bottom:12px;}
.legal-page h2{font-family:'Cinzel',serif;font-weight:600;font-size:22px;letter-spacing:.04em;color:var(--gold);margin-top:42px;margin-bottom:12px;}
.legal-page p,.legal-page li{color:var(--ink-soft);font-size:19px;margin-bottom:12px;}
.legal-page ul{padding-left:22px;margin-bottom:16px;}
.legal-page li{margin-bottom:8px;}
.legal-page a{color:var(--gold);text-decoration:underline;text-underline-offset:3px;}
.legal-page a:hover{color:var(--gold-hi);}
.legal-page a:focus-visible{outline:2px solid var(--gold-hi);outline-offset:3px;}
.legal-page .back{margin-top:60px;display:inline-block;font-family:'Cinzel',serif;font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-lo);text-decoration:none;transition:color .25s ease; padding:8px 0;}
.legal-page .back:hover{color:var(--gold);}

@media (max-width:640px){
  .legal-page{padding:100px 22px 60px;}
  .legal-page h2{font-size:20px;}
  .legal-page p,.legal-page li{font-size:18px;}
}
