/* Main page: hero, six tellers, steps, paid-report showcase, price, trust, FAQ. Large type for readers of all ages. */
.landing{position:relative;min-height:100svh;background:linear-gradient(180deg,#150b10 0%,#1d0f14 40%,#160c09 100%);color:#fff3dc;overflow:hidden}
.landing[hidden]{display:none!important}
.landing a:focus-visible,.landing button:focus-visible,.landing summary:focus-visible{outline:3px solid #ffe2a3;outline-offset:4px}

/* Hero */
.landing-hero{position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:min(94svh,880px);padding:24px max(24px,5vw) 64px}
.landing-hero-media{position:absolute;inset:0;z-index:-3;width:100%;height:100%;object-fit:cover;object-position:30% 40%}
.landing-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(90deg,#120709f5 0%,#120709d6 34%,#12070966 60%,#12070900 82%),linear-gradient(180deg,#12070980 0%,transparent 28%,transparent 72%,#150b10 100%)}
.landing-stars{position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:radial-gradient(1.6px 1.6px at 6% 14%,#fff3d0 50%,transparent 52%),radial-gradient(1.2px 1.2px at 16% 40%,#fff3d0 50%,transparent 52%),radial-gradient(2px 2px at 29% 10%,#ffe7b0 50%,transparent 52%),radial-gradient(1.3px 1.3px at 37% 30%,#fff3d0 50%,transparent 52%),radial-gradient(1.8px 1.8px at 45% 7%,#fff3d0 50%,transparent 52%),radial-gradient(1.2px 1.2px at 22% 58%,#ffe7b0 50%,transparent 52%),radial-gradient(1.5px 1.5px at 9% 76%,#fff3d0 50%,transparent 52%);animation:landing-twinkle 7s ease-in-out infinite alternate}
@keyframes landing-twinkle{from{opacity:.35}to{opacity:.95}}
.landing-top{display:flex;justify-content:space-between;align-items:center;gap:16px;width:100%;max-width:1160px;margin:0 auto}
.landing-top .brand{font:700 36px/1.2 var(--serif);letter-spacing:.13em;color:#f5d29a;text-shadow:0 2px 12px #211107}
.landing-top-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.landing-link{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border:1px solid #e5bd796b;border-radius:30px;background:#281a15aa;color:#ffe3b0;font:600 16px/1.5 var(--sans);text-decoration:none}
.landing-hero-copy{width:100%;max-width:1160px;margin:auto auto 0;padding-top:80px}
.landing-kicker{display:inline-block;margin:0 0 18px;padding:6px 16px;border:1px solid #e9c27c88;border-radius:999px;background:#1a0d0d99;font:700 18px/1.5 var(--sans);letter-spacing:.12em;color:#e9c27c}
.landing h1{max-width:700px;margin:0 0 22px;font:800 clamp(38px,4.6vw,62px)/1.35 var(--serif);letter-spacing:-.03em;color:#fff6e2;text-shadow:0 4px 24px #000c;word-break:keep-all}
.landing h1 em{font-style:normal;background:linear-gradient(180deg,#fff0c8,#e2b563);-webkit-background-clip:text;background-clip:text;color:transparent}
.landing-lead{max-width:600px;margin:0 0 32px;font:500 22px/1.8 var(--sans);color:#f3e3c7;text-shadow:0 2px 12px #000c;word-break:keep-all}
.landing-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px}
.landing-start{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:68px;padding:14px 32px;border:0;border-radius:999px;background:linear-gradient(135deg,#f8e2a8,#d4a256 60%,#b8843a);color:#2a120c;font:800 22px/1.4 var(--sans);box-shadow:0 10px 28px #b8843a55,inset 0 1px 0 #ffffff66;cursor:pointer}
.landing-start:hover{filter:brightness(1.06)}
.landing-ghost{display:inline-flex;align-items:center;justify-content:center;min-height:68px;padding:14px 26px;border:2px solid #e9c27c99;border-radius:999px;background:#1a0d0d99;color:#ffe9bf;font:700 20px/1.4 var(--sans);text-decoration:none}
.landing-badges{display:flex;flex-wrap:wrap;gap:10px;margin:28px 0 0;padding:0;list-style:none}
.landing-badges li{padding:7px 14px;border:1px solid #fff3dc33;border-radius:6px;background:#1a0d0dbb;font:600 18px/1.5 var(--sans);color:#fff0d2}

/* Sections */
.landing-section{max-width:1100px;margin:0 auto;padding:88px max(20px,4vw) 0}
.landing-eyebrow{margin:0 0 10px;text-align:center;font:700 18px/1.5 var(--sans);letter-spacing:.18em;color:#e9c27c}
.landing-section h2{margin:0 0 14px;text-align:center;font:800 clamp(30px,3.4vw,44px)/1.4 var(--serif);color:#fff3dc;word-break:keep-all}
.landing-sub{max-width:740px;margin:0 auto 34px;text-align:center;font:500 20px/1.8 var(--sans);color:#e9d6b6;word-break:keep-all}
.landing .my-readings{margin:48px auto 0}

.landing-teller-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}
.landing-teller{display:flex;align-items:center;gap:16px;padding:18px;border:1px solid color-mix(in srgb,var(--accent,#d9b56f) 55%,#d9b67566);border-radius:16px;background:linear-gradient(135deg,color-mix(in srgb,var(--accent,#7a3a2a) 26%,#2c1712),#1c0f0c);color:#fff0d2;text-align:left;cursor:pointer;transition:border-color .2s,box-shadow .2s}
.landing-teller:hover,.landing-teller:focus-visible{border-color:#f0cf8c;box-shadow:0 0 28px color-mix(in srgb,var(--accent,#d9a24a) 45%,transparent)}
.landing-teller-face{flex:none;width:96px;aspect-ratio:1;border-radius:50%;background-image:url('../characters.webp');background-size:482.667% 362%;background-position:var(--portrait-position);background-repeat:no-repeat;border:3px solid #d9b56f;box-shadow:0 0 0 4px #1c0f0c,0 0 0 6px color-mix(in srgb,var(--accent,#d9b56f) 70%,#d9b56f)}
.landing-teller-text{display:flex;flex-direction:column;gap:2px;min-width:0}
.landing-teller strong{font:800 24px/1.4 var(--serif)}
.landing-teller-tag{font:600 18px/1.5 var(--sans);color:#f0c985}
.landing-teller-go{margin-top:4px;font:700 18px/1.5 var(--sans);color:#ffe3b0}

.landing-steps ol{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:34px 0 0;padding:0;list-style:none;counter-reset:step}
.landing-steps li{padding:30px 24px 26px;border:1px solid #d9b67555;border-radius:16px;background:#24130fcc;counter-increment:step}
.landing-steps li::before{content:counter(step);display:grid;place-items:center;width:54px;height:54px;margin-bottom:16px;border-radius:50%;background:linear-gradient(135deg,#f8e2a8,#c99a4d);color:#2a120c;font:800 24px/1 var(--sans)}
.landing-steps h3{margin:0 0 8px;font:800 24px/1.45 var(--sans);color:#fff3dc}
.landing-steps p{margin:0;font:500 19px/1.75 var(--sans);color:#e9d6b6;word-break:keep-all}

/* Paid report showcase */
.landing-report-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:26px;align-items:start}
.landing-cover{padding:12px;border-radius:16px;background:radial-gradient(ellipse at 50% 0%,#7a2340,#3a0d1c 62%,#240711);box-shadow:0 20px 50px #0009}
.landing-cover-frame{padding:30px 20px 26px;border:3px double #d9b56f;border-radius:10px;text-align:center}
.landing-cover-kicker{margin:0 0 16px;font:700 18px/1.5 var(--sans);letter-spacing:.14em;color:#e9c27c}
.landing-cover-face{display:block;width:124px;aspect-ratio:1;margin:0 auto 16px;border-radius:50%;background-image:url('../characters.webp');background-size:482.667% 362%;background-position:50% 15.522%;border:4px solid #d9b56f;box-shadow:0 0 0 6px #3a0d1c,0 0 0 8px #d9b56f88}
.landing-cover-title{margin:0 0 12px;font:800 26px/1.4 var(--sans);color:#fff8e6}
.landing-cover-verdict{margin:0 0 20px;padding:12px 6px;border-top:2px solid #d9b56f66;border-bottom:2px solid #d9b56f66;font:700 20px/1.7 var(--sans);color:#ffe6b3;word-break:keep-all}
.landing-cover-pillars{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.landing-cover-pillars span{display:grid;justify-items:center;gap:5px;padding:8px 2px;border:1px solid #d9b56f55;border-radius:8px;background:#fff8e914;font:700 18px/1.4 var(--sans);color:#f3d9a0}
.landing-cover-pillars b{display:grid;place-items:center;width:46px;height:46px;border-radius:7px;font:800 29px/1 var(--serif)}
.lc-el-0{color:#2f6b33;background:#e5f0df}.lc-el-1{color:#a63a2b;background:#f9e3dd}.lc-el-2{color:#7d5a17;background:#f6ebcf}.lc-el-3{color:#4f5561;background:#eceef1}.lc-el-4{color:#24557a;background:#e0ebf3}
.landing-features{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.landing-features li{display:grid;grid-template-columns:54px minmax(0,1fr);gap:2px 16px;align-items:start;padding:18px 20px;border:1px solid #d9b67555;border-radius:14px;background:#24130fcc}
.landing-feature-icon{grid-row:span 2;display:grid;place-items:center;width:54px;height:54px;border:2px solid #d9b56f;border-radius:12px;background:#54152b;color:#f3d9a0;font:800 24px/1 var(--sans)}
.landing-features strong{font:800 22px/1.5 var(--sans);color:#fff3dc}
.landing-features li>span:last-child{font:500 19px/1.7 var(--sans);color:#e9d6b6;word-break:keep-all}
.landing-months{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:26px}
.landing-month{display:flex;flex-direction:column;gap:6px;padding:18px;border:2px solid #d6c29b;border-radius:12px;background:#fff8e9;color:#26211e}
.landing-month-head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.landing-month-head b{font:800 21px/1.4 var(--sans)}
.landing-month-head span{font:700 19px/1.4 var(--sans);color:#443a31}
.landing-month em{align-self:flex-start;padding:3px 10px;border-radius:4px;background:#24557a;color:#fff;font:700 18px/1.5 var(--sans);font-style:normal}
.landing-month em.lm-3{background:#24557a}.landing-month em.lm-4{background:#2f6b33}
.landing-month strong{font:800 25px/1.4 var(--sans);color:#54152b}
.landing-month p{margin:0;font:500 19px/1.7 var(--sans);color:#26211e;word-break:keep-all}
.landing-note{margin:16px 0 0;text-align:center;font:500 18px/1.6 var(--sans);color:#c9b08f}

/* Price */
.landing-plans{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:40px 0 34px}
.landing-plan{position:relative;padding:30px 28px;border:1px solid #d9b67566;border-radius:18px;background:#24130fcc}
.landing-plan.is-premium{border:2px solid #e9c27c;background:linear-gradient(160deg,#5a1a2e,#2a0d17);box-shadow:0 18px 44px #54152b55}
.landing-plan-badge{position:absolute;top:-17px;right:24px;padding:6px 14px;border-radius:999px;background:linear-gradient(135deg,#f8e2a8,#c99a4d);color:#2a120c;font:800 18px/1.4 var(--sans)}
.landing-plan h3{margin:0 0 6px;font:800 26px/1.4 var(--sans);color:#fff3dc}
.landing-plan-price{margin:0 0 18px;font:800 42px/1.2 var(--sans);color:#f3d9a0}
.landing-plan-price small{margin-left:8px;font:600 18px/1.4 var(--sans);color:#e9d6b6}
.landing-plan ul{display:grid;gap:8px;margin:0;padding-left:22px}
.landing-plan li{font:500 19px/1.7 var(--sans);color:#f3e3c7}
.landing-price .landing-start{display:flex;margin:0 auto}

/* Trust and FAQ */
.landing-trust-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:30px}
.landing-trust-item{padding:22px 24px;border-left:4px solid #e9c27c;border-radius:0 14px 14px 0;background:#24130fcc}
.landing-trust-item h3{margin:0 0 6px;font:800 22px/1.5 var(--sans);color:#fff3dc}
.landing-trust-item p{margin:0;font:500 19px/1.75 var(--sans);color:#e9d6b6;word-break:keep-all}
.landing-faq-list{display:grid;gap:12px;margin-top:30px}
.landing-faq details{padding:0 22px;border:1px solid #d9b67566;border-radius:14px;background:#24130fcc}
.landing-faq summary{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:68px;cursor:pointer;list-style:none;font:700 21px/1.5 var(--sans);color:#fff3dc}
.landing-faq summary::-webkit-details-marker{display:none}
.landing-faq summary::after{content:"+";flex:none;font-size:30px;color:#e9c27c}
.landing-faq details[open] summary::after{content:"−"}
.landing-faq details p{margin:0 0 20px;font:500 19px/1.8 var(--sans);color:#e9d6b6;word-break:keep-all}
.landing-faq details a{color:#f3d9a0}
.landing-final{padding:88px 20px 20px;text-align:center}
.landing-final p{margin:0 0 22px;font:700 clamp(26px,3vw,36px)/1.5 var(--serif);color:#fff3dc;word-break:keep-all}
.landing .site-info{margin:56px auto 0;padding:24px 20px 44px}

@media(max-width:900px){
  .landing-teller-strip{grid-template-columns:repeat(2,minmax(0,1fr))}
  .landing-report-grid{grid-template-columns:minmax(0,1fr)}
  .landing-months{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:720px){
  .landing-hero{min-height:auto;padding:18px 18px 44px}
  .landing-hero-media{object-position:70% 28%;height:520px}
  .landing-hero::before{background:linear-gradient(180deg,#12070955 0%,#12070988 32%,#150b10 62%)}
  .landing-top .brand{font-size:30px}
  .landing-hero-copy{padding-top:230px}
  .landing h1{font-size:34px}
  .landing-lead{font-size:20px}
  .landing-start,.landing-ghost{width:100%}
  .landing-section{padding-top:64px}
  .landing-teller-strip,.landing-steps ol,.landing-plans,.landing-trust-grid{grid-template-columns:minmax(0,1fr)}
  .landing-teller-face{width:84px}
  .landing-features li{grid-template-columns:46px minmax(0,1fr);padding:16px}
  .landing-feature-icon{width:46px;height:46px;font-size:21px}
  .landing-plan{padding:26px 20px}
  .landing-plan-price{font-size:38px}
  .landing-faq details{padding:0 16px}.landing-faq summary{font-size:20px}
}
@media(prefers-reduced-motion:reduce){.landing-stars{animation:none}.landing-teller{transition:none}}

/* Ambient video loops (main-page hero, consultation room): fade in over the still image once playing. */
.ambient-video{opacity:0;transition:opacity .9s ease}
.ambient-video.is-playing{opacity:1}
