/* Card-pack pages — shop, pack detail, thank-you. Tokens inherited from site.css. */
.pack-page .wrap,.shop-page .wrap,.ty-page .wrap{max-width:1120px;margin:0 auto;padding:0 28px}
.pack-page section,.shop-page section,.ty-page section{padding:56px 0}
.pack-page h1,.shop-page h1,.ty-page h1{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(30px,4.4vw,44px);line-height:1.08;letter-spacing:-.02em;color:var(--teal);max-width:17ch}
.pack-page h2,.shop-page h2,.ty-page h2{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:clamp(23px,2.7vw,31px);color:var(--teal);letter-spacing:-.02em}
.pack-page .lede,.shop-page .lede,.ty-page .lede{margin-top:15px;font-size:18px;color:var(--ink-soft);max-width:46ch;line-height:1.6}
.eyebrow{display:block;font:800 11.5px/1 'Manrope',sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-text);margin-bottom:14px}
.pack-chips{list-style:none;display:flex;gap:9px;flex-wrap:wrap;margin-top:22px;padding:0}
.pack-chips li{background:#fff;border:1px solid var(--line);border-radius:999px;padding:7px 13px;font:700 11.5px/1 'Manrope',sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--gold-text)}
/* hero */
.pack-hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:50px;align-items:center}
.pack-buy{margin-top:26px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.pack-price{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:40px;color:var(--teal);letter-spacing:-.03em}
.pack-guar{margin-top:14px;font-size:13.5px;color:var(--ink-soft)}
.pack-guar strong{color:var(--teal)}
.soon-note{margin-top:12px;font-size:14px;color:var(--ink-soft);max-width:48ch}
.btn-primary.is-soon{background:var(--teal-mid);box-shadow:none}
.pack-shot{position:relative;min-height:400px}
.pack-stack{position:relative;height:430px}
/* NOTE: build-site.mjs wraps every <img> in a <picture> (data-opt="1"). So an
   `img:nth-child(n)` selector matches the FIRST child of EACH wrapper, not the nth
   card — all three stack on one spot. Always target the direct child element. */
.pack-stack > *{position:absolute;display:block;border-radius:12px;overflow:hidden;box-shadow:0 20px 44px -16px rgba(19,74,91,.5)}
.pack-stack > *:nth-child(1){width:232px;left:46px;top:58px;transform:rotate(-12deg);z-index:1}
.pack-stack > *:nth-child(2){width:232px;left:198px;top:58px;transform:rotate(12deg);z-index:2}
.pack-stack > *:nth-child(3){width:268px;left:104px;top:8px;z-index:3}
.pack-stack img{display:block;width:100%;height:auto}
.pack-soon{display:grid;place-items:center;height:300px;border:2px dashed var(--line);border-radius:14px;color:var(--ink-faint);font:800 12px/1 'Manrope',sans-serif;letter-spacing:.18em;text-transform:uppercase}
/* proof */
.pack-proof{background:var(--teal);color:#fff}
.proof-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
.proof-grid b{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:26px;color:var(--gold);letter-spacing:-.02em}
.proof-grid span{display:block;margin-top:6px;font-size:13.5px;color:#a9c8d2;line-height:1.45}
/* preview rail */
.pack-preview .sub{margin-top:10px;color:var(--ink-soft);font-size:16px;max-width:60ch}
.card-rail{display:flex;gap:18px;overflow-x:auto;padding:22px 4px;scroll-snap-type:x mandatory}
.card-rail > *{flex:0 0 auto;width:304px;scroll-snap-align:start;border-radius:12px;overflow:hidden;display:block;box-shadow:0 12px 26px -12px rgba(19,74,91,.38)}
.card-rail img{display:block;width:100%;height:auto}
.card-rail::-webkit-scrollbar{height:9px}
.card-rail::-webkit-scrollbar-thumb{background:#c6d2d6;border-radius:9px}
.card-rail::-webkit-scrollbar-track{background:var(--cream);border-radius:9px}
/* pain */
.pack-pain{background:var(--cream)}
.pq{font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:21px;line-height:1.45;color:var(--teal);padding:16px 0 16px 24px;border-left:4px solid var(--gold);max-width:70ch;margin-top:16px}
.pain-lede{margin-top:26px;font-size:17px;color:var(--ink-soft);max-width:66ch;line-height:1.6}
.pain-lede b{color:var(--teal)}
/* inside */
.inside-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 44px;margin-top:22px}
.inside-grid div{padding:14px 0;border-bottom:1px solid var(--line);display:flex;gap:12px;font-size:15.5px;color:var(--ink-soft);line-height:1.55}
.inside-grid div::before{content:"→";color:var(--gold-deep);font-weight:800;flex:0 0 auto}
/* free capture */
.free-box{background:var(--teal);color:#fff;border-radius:16px;padding:40px 44px}
.free-box h2{color:#fff}
.free-box p{margin-top:10px;color:#a9c8d2;font-size:16px}
.free-box .invite-form{margin-top:20px;max-width:440px}
/* faq */
.faq-list div{border-bottom:1px solid var(--line);padding:18px 0}
.faq-list b{display:block;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:16.5px;color:var(--teal);margin-bottom:6px}
.faq-list span{font-size:15px;color:var(--ink-soft);line-height:1.6}
/* nest */
.pack-nest,.ty-next{background:var(--ink-teal);color:#cfe0e6}
.pack-nest h2,.ty-next h2{color:#fff}
.pack-nest p{margin-top:12px;max-width:62ch;font-size:16.5px}
.pack-nest strong{color:#fff}
.btn-secondary{display:inline-block;margin-top:22px;border:2px solid var(--gold);color:var(--gold);border-radius:10px;padding:14px 26px;font:800 15px/1 'Plus Jakarta Sans',sans-serif;text-decoration:none}
/* shop */
.shop-hero{padding-bottom:20px}
.shop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.shop-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:26px 24px;display:flex;flex-direction:column;border-top:5px solid var(--gold)}
.shop-card.soon{border-top-color:var(--teal-mid);opacity:.92}
.shop-price{float:right;font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:25px;color:var(--teal)}
.shop-card h3{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:20px;color:var(--teal);letter-spacing:-.015em;max-width:15ch;line-height:1.16}
.shop-moment{margin-top:9px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:700;font-size:14.5px;color:var(--teal-mid)}
.shop-sub{margin-top:12px;font-size:14px;color:var(--ink-soft);flex:1;line-height:1.55}
.shop-meta{margin-top:14px;font:800 10.5px/1 'Manrope',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--gold-text)}
.shop-btn{margin-top:16px;display:inline-block;text-align:center;background:var(--gold);color:var(--ink-teal);border-radius:9px;padding:12px 18px;font:800 14px/1 'Plus Jakarta Sans',sans-serif;text-decoration:none}
.shop-btn.is-soon{background:var(--cream);color:var(--teal);border:1px solid var(--line)}
.set-box{background:var(--teal);color:#fff;border-radius:16px;padding:40px 44px;display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center}
.set-box h2{color:#fff;margin-top:6px}
.set-box p{margin-top:10px;color:#a9c8d2;font-size:16px}
.set-alt{margin-top:14px;font-size:14px;color:#a9c8d2;max-width:40ch}
.set-alt a{color:var(--gold)}
/* thank-you */
.ty-hero{text-align:center;padding-top:60px}
.ty-hero .lede{margin-left:auto;margin-right:auto;max-width:54ch}
.ty-hero h1{margin:0 auto;max-width:20ch}
.ty-hero .eyebrow{text-align:center}
.ty-check{width:56px;height:56px;border-radius:50%;background:var(--gold);color:var(--ink-teal);font:800 26px/56px 'Manrope',sans-serif;margin:0 auto 18px}
.offer-box{background:#fff;border:2px solid var(--gold);border-radius:18px;padding:44px 46px;box-shadow:0 22px 50px -24px rgba(19,74,91,.35);text-align:center}
.offer-flag{display:inline-block;background:var(--gold);color:var(--ink-teal);font:800 11px/1 'Manrope',sans-serif;letter-spacing:.16em;text-transform:uppercase;padding:8px 14px;border-radius:999px}
.offer-box h2{margin-top:18px;max-width:22ch;margin-left:auto;margin-right:auto}
.offer-box h2 em{font-style:normal;color:var(--gold-deep)}
.offer-lede{margin:16px auto 0;max-width:62ch;font-size:16.5px;color:var(--ink-soft);line-height:1.6}
.offer-lede strong{color:var(--teal)}
.offer-math{margin:28px auto 26px;max-width:420px}
.offer-math div{display:flex;justify-content:space-between;align-items:baseline;padding:12px 0;border-bottom:1px solid var(--line)}
.offer-math .ol{font-size:15px;color:var(--ink-soft)}
.offer-math .ov{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:21px;color:var(--teal)}
.offer-math .ov i{font-style:normal;font-size:13px;color:var(--ink-faint)}
.offer-math .hi{border-bottom:0;background:#fffdf2;margin:0 -14px;padding:14px;border-radius:10px}
.offer-math .hi .ov{font-size:30px;color:var(--gold-deep)}
.offer-terms{margin-top:16px;font-size:13px;color:var(--ink-faint);max-width:52ch;margin-left:auto;margin-right:auto}
.offer-decline{display:inline-block;margin-top:18px;font-size:14px;color:var(--ink-faint);text-decoration:underline}
.ty-steps{margin-top:20px;list-style:none;padding:0;counter-reset:t;max-width:64ch}
.ty-steps li{counter-increment:t;position:relative;padding:14px 0 14px 46px;border-bottom:1px solid rgba(255,255,255,.12)}
.ty-steps li::before{content:counter(t);position:absolute;left:0;top:14px;width:29px;height:29px;border-radius:50%;background:var(--gold);color:var(--ink-teal);font:800 13px/29px 'Manrope',sans-serif;text-align:center}
.ty-steps b{color:#fff;font-family:'Plus Jakarta Sans',sans-serif}
.ty-next .sub{margin-top:10px;color:#a9c8d2;font-size:16px}
@media(max-width:900px){
  .pack-hero-grid,.inside-grid,.proof-grid,.shop-grid,.set-box{grid-template-columns:1fr}
  .pack-shot{display:none}
  .offer-box,.free-box,.set-box{padding:30px 24px}
}
/* Closing CTA — a decided buyer must not scroll 4,000px back up (Dante item 6) */
.pack-closer{padding-top:0}
.closer-box{background:var(--cream);border:1px solid var(--line);border-radius:16px;padding:32px 38px;display:grid;grid-template-columns:1fr auto;gap:28px;align-items:center}
.closer-box h2{margin:0}
.closer-box p{margin-top:8px;color:var(--ink-soft);font-size:15px}
.closer-act{display:flex;align-items:center;gap:18px}
@media(max-width:900px){.closer-box{grid-template-columns:1fr}}
/* thank-you: downloads + the code */
.ty-dl{margin-top:26px;display:grid;gap:10px;max-width:560px}
.ty-dl h2{font-size:18px;margin-bottom:2px}
.ty-file{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;background:#fff;border:1px solid var(--line,#e2e6e3);border-radius:12px;color:var(--teal);text-decoration:none;font-weight:600}
.ty-file b{font-family:'Plus Jakarta Sans',sans-serif;font-weight:800;font-size:13px;letter-spacing:.02em;background:var(--gold,#f7ca15);color:#0e3643;padding:8px 12px;border-radius:8px;white-space:nowrap}
.ty-file:hover{border-color:var(--teal)}
.ty-none{margin-top:18px;color:var(--ink-soft)}
.offer-code{margin:18px auto 14px;font-size:16px;color:var(--teal);max-width:52ch}
.offer-code code{font:800 18px/1 'Plus Jakarta Sans',sans-serif;background:#fff;border:2px dashed var(--teal);border-radius:8px;padding:6px 10px;letter-spacing:.08em}
