/* Focused grief funnel. Kept separate so the storefront can evolve independently. */
:root{--f-bg:#120f12;--f-panel:#1b1617;--f-ink:#f4eadb;--f-muted:#b9aa9c;--f-line:rgba(244,234,219,.16);--f-gold:#d7ae74}
.funnel-page{background:radial-gradient(1100px 600px at 72% -10%,rgba(113,67,52,.34),transparent 68%),var(--f-bg);color:var(--f-ink);min-height:100vh;padding-bottom:100px}
.funnel-wrap{width:min(1120px,calc(100% - 40px));margin:auto}
.funnel-header{display:flex;align-items:center;justify-content:space-between;padding:24px 0;border-bottom:1px solid var(--f-line)}
.funnel-header .wordmark{color:var(--f-ink);letter-spacing:.16em;text-decoration:none;font-size:12px}
.funnel-header .micro-cta{color:var(--f-ink);border:1px solid var(--f-line);padding:11px 16px;border-radius:999px;font-size:11px;letter-spacing:.12em;text-decoration:none;transition:background .3s ease,border-color .3s ease}
.funnel-header .micro-cta:hover{background:rgba(244,234,219,.1);border-color:rgba(244,234,219,.35)}
.funnel-hero{display:grid;grid-template-columns:1.03fr .97fr;gap:8%;align-items:center;padding:78px 0 72px}
.funnel-kicker{color:var(--f-gold);font-size:11px;letter-spacing:.18em;font-weight:600}
.funnel-hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(42px,5.5vw,74px);line-height:1.02;letter-spacing:-.045em;margin:18px 0 24px;max-width:11ch}
.funnel-hero h1 em,.funnel-section h2 em{color:#cbb69e;font-style:italic}
.funnel-hero .lede{color:var(--f-muted);font-size:17px;line-height:1.65;max-width:47ch;margin:0 0 28px}
.funnel-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.funnel-button{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 24px;border-radius:999px;background:var(--f-ink);color:#1b1617;text-decoration:none;font-weight:600;font-size:14px;transition:transform .25s ease,box-shadow .25s ease}
.funnel-button:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(0,0,0,.25)}
.funnel-price{font-size:13px;color:var(--f-muted)}
.funnel-art{margin:0;position:relative}.funnel-art img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:2px;box-shadow:0 22px 70px rgba(0,0,0,.38)}
.funnel-art figcaption{color:var(--f-muted);font-size:10px;letter-spacing:.13em;margin-top:12px;text-transform:uppercase}
.funnel-section{border-top:1px solid var(--f-line);padding:76px 0}.funnel-section h2{font-family:var(--serif);font-size:clamp(34px,4vw,58px);font-weight:400;line-height:1.08;letter-spacing:-.04em;margin:0 0 16px}.funnel-section-intro{color:var(--f-muted);line-height:1.7;max-width:52ch}
.deliverables{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.deliverable{border:1px solid var(--f-line);padding:22px;border-radius:2px;background:rgba(255,255,255,.025)}.deliverable b{font-family:var(--serif);font-size:22px;font-weight:400}.deliverable p{color:var(--f-muted);line-height:1.6;font-size:14px;margin:12px 0 0}
.funnel-research{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:start}.funnel-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.funnel-stat{border:1px solid var(--f-line);padding:18px;background:rgba(255,255,255,.025)}.funnel-stat img{width:100%;aspect-ratio:1/.72;object-fit:cover;display:block;border-radius:1px;margin-bottom:14px;opacity:.92}.funnel-stat strong{font-family:var(--serif);font-size:22px;font-weight:400;color:var(--f-gold)}.funnel-stat p{font-size:13px;line-height:1.55;color:var(--f-muted);margin:8px 0 0}
.funnel-video-section{display:block}.funnel-video-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:9%;align-items:start;margin-bottom:30px}.funnel-video-intro h2{margin:0}.funnel-video-intro .video-note{color:var(--f-muted);line-height:1.7;max-width:48ch}.funnel-video-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.funnel-video-grid figure{margin:0;border:1px solid var(--f-line);background:rgba(255,255,255,.025)}.funnel-video-grid video{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#0c0a0b}.funnel-video-grid figcaption{display:grid;gap:7px;padding:15px 16px 17px}.funnel-video-grid figcaption b{font-family:var(--serif);font-size:18px;font-weight:400;line-height:1.25}.funnel-video-grid figcaption span{color:var(--f-muted);font-size:10px;letter-spacing:.13em;text-transform:uppercase}
.funnel-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:30px}.funnel-review{border-top:1px solid var(--f-line);padding-top:18px}.funnel-review .stars{color:var(--f-gold);letter-spacing:.12em}.funnel-review blockquote{font-family:var(--serif);font-size:20px;line-height:1.3;margin:14px 0}.funnel-review cite{font-size:12px;color:var(--f-muted);font-style:normal}
.funnel-faq{max-width:760px}.funnel-faq details{border-top:1px solid var(--f-line);padding:20px 0}.funnel-faq summary{cursor:pointer;font-family:var(--serif);font-size:21px}.funnel-faq p{color:var(--f-muted);line-height:1.65;max-width:60ch}
.funnel-sticky{position:fixed;z-index:20;left:50%;right:auto;bottom:18px;transform:translateX(-50%);width:min(720px,calc(100% - 40px));background:rgba(12,10,12,.96);backdrop-filter:blur(16px);border:1px solid rgba(215,174,116,.38);border-radius:18px;box-shadow:0 18px 50px rgba(0,0,0,.48);padding:10px 12px 10px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.funnel-sticky small{color:var(--f-muted);font-size:12px}.funnel-sticky .funnel-button{min-height:44px;padding:0 20px;font-size:13px}
.upsell-page{min-height:100vh;background:radial-gradient(900px 500px at 50% -12%,rgba(127,79,54,.4),transparent 68%),var(--f-bg);color:var(--f-ink);padding:0 20px}.upsell-shell{width:min(760px,100%);margin:auto;padding:46px 0 80px}.upsell-card{margin-top:38px;border:1px solid var(--f-line);background:rgba(255,255,255,.035);padding:clamp(24px,6vw,56px);text-align:center}.upsell-card h1{font-family:var(--serif);font-weight:400;font-size:clamp(40px,7vw,70px);line-height:1.02;margin:12px auto 16px;letter-spacing:-.04em}.upsell-card .eyebrow{color:var(--f-gold);letter-spacing:.16em;font-size:11px}.upsell-card .old-price{font-size:26px;color:#bd8c84;text-decoration:line-through;text-decoration-thickness:3px;text-decoration-color:#aa3d36;margin:24px 0 0}.upsell-card .new-price{font-family:var(--serif);font-size:62px;margin:0}.upsell-card .term{color:var(--f-muted);font-size:13px}.upsell-list{list-style:none;padding:0;margin:30px 0;text-align:left;border-top:1px solid var(--f-line)}.upsell-list li{padding:14px 0;border-bottom:1px solid var(--f-line);color:var(--f-muted)}.upsell-list li::before{content:'—';color:var(--f-gold);margin-right:10px}.upsell-note{font-size:12px;color:var(--f-muted);line-height:1.6;margin-top:20px}
@media(max-width:800px){.funnel-wrap{width:min(100% - 32px,620px)}.funnel-hero{grid-template-columns:1fr;gap:36px;padding:48px 0 58px}.funnel-hero h1{font-size:clamp(40px,12vw,62px);max-width:14ch}.funnel-hero .lede{font-size:16px}.funnel-art{order:2;max-width:420px}.deliverables,.funnel-reviews{grid-template-columns:1fr}.funnel-research{grid-template-columns:1fr;gap:30px}.funnel-video-intro{grid-template-columns:1fr;gap:18px}.funnel-video-grid{grid-template-columns:1fr}.funnel-stats{grid-template-columns:1fr}.funnel-stat img{aspect-ratio:1/.58}.funnel-section{padding:56px 0}.funnel-sticky{bottom:12px;width:calc(100% - 24px);padding:9px 10px 9px 15px;border-radius:15px}.funnel-sticky small{max-width:45%;line-height:1.35}.funnel-sticky .funnel-button{flex:1}.upsell-shell{padding-top:26px}}
@media(prefers-reduced-motion:reduce){.funnel-button,.funnel-header .micro-cta{transition:none}}

/* Focused funnel refinements: full social-video framing, review wall, and gift capture. */
.funnel-header{justify-content:flex-start}
.funnel-video-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.funnel-video-grid video{aspect-ratio:9/16;object-fit:cover}
.funnel-video-grid figcaption b{font-size:16px}
.funnel-review-wall{padding-bottom:82px}
.funnel-review-wall .review-wall-head{display:flex;align-items:end;justify-content:space-between;gap:28px;margin-bottom:28px}
.funnel-review-wall .review-summary{display:grid;gap:2px;text-align:right}
.funnel-review-wall .review-summary strong{font-family:var(--serif);font-size:42px;font-weight:400;line-height:1}
.funnel-review-wall .review-summary span{color:var(--f-gold);letter-spacing:.12em}
.funnel-review-wall .review-summary small{color:var(--f-muted);font-size:11px}
.funnel-review-wall .review-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.funnel-review-wall .review-card{min-height:170px;padding:20px;border:1px solid var(--f-line);border-radius:12px;background:rgba(255,255,255,.025);animation:review-enter .42s cubic-bezier(.22,.8,.28,1) both;transition:transform .24s ease,border-color .24s ease,background-color .24s ease}
.funnel-review-wall .review-card:hover{transform:translateY(-3px);border-color:rgba(215,174,116,.42);background:rgba(255,255,255,.05)}
.funnel-review-wall .review-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}
.funnel-review-wall .review-stars{color:var(--f-gold);font-size:14px;letter-spacing:.08em}
.funnel-review-wall .review-name{color:var(--f-muted);font-size:11px}
.funnel-review-wall blockquote{font-family:var(--serif);font-size:18px;line-height:1.38;margin:0}
.funnel-review-wall .review-more{display:block;margin:24px auto 0;padding:13px 19px;border:1px solid var(--f-line);border-radius:999px;background:transparent;color:var(--f-ink);transition:transform .24s ease,border-color .24s ease}
.funnel-review-wall .review-more:hover{transform:translateY(-2px);border-color:rgba(215,174,116,.65)}
@keyframes review-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

/* Motion only activates after JavaScript confirms it can observe the page. */
.has-motion .reveal-target{opacity:0;transform:translateY(20px);transition:opacity .68s ease,transform .68s cubic-bezier(.22,.8,.28,1)}
.has-motion .reveal-target.is-visible{opacity:1;transform:none}
.funnel-art img{animation:funnel-art-drift 9s ease-in-out infinite}
@keyframes funnel-art-drift{0%,100%{transform:scale(1) translateY(0)}50%{transform:scale(1.018) translateY(-7px)}}

.funnel-gift{width:min(560px,calc(100% - 32px));max-width:none;border:1px solid rgba(215,174,116,.35);border-radius:18px;background:radial-gradient(100% 100% at 50% 0,rgba(103,64,48,.36),rgba(12,10,12,.98) 74%);color:var(--f-ink);padding:clamp(28px,5vw,46px);box-shadow:0 30px 90px rgba(0,0,0,.62)}
.funnel-gift::backdrop{background:rgba(4,4,7,.74);backdrop-filter:blur(7px)}
.funnel-gift[open]{animation:gift-in .38s cubic-bezier(.22,.8,.28,1) both}
@keyframes gift-in{from{opacity:0;transform:translateY(14px) scale(.98)}to{opacity:1;transform:none}}
.funnel-gift-close{position:absolute;right:14px;top:12px;width:38px;height:38px;border:1px solid var(--f-line);border-radius:50%;font-size:24px;line-height:1;background:rgba(12,10,12,.6)}
.funnel-gift h2{font-family:var(--serif);font-size:clamp(36px,6vw,54px);font-weight:400;line-height:1.04;letter-spacing:-.04em;margin:13px 0 18px}
.funnel-gift h2 em{color:#cbb69e}.funnel-gift-inner>img{display:block;width:min(100%,260px);aspect-ratio:16/10;object-fit:cover;border-radius:10px;margin:0 auto 20px;box-shadow:0 16px 34px rgba(0,0,0,.36)}
.funnel-gift-inner>p,.funnel-gift-success>p{color:var(--f-muted);line-height:1.65}.funnel-gift form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:22px}
.funnel-gift input{min-width:0;border:1px solid var(--f-line);border-radius:999px;background:rgba(0,0,0,.24);color:var(--f-ink);padding:0 16px;font:inherit}.funnel-gift input:focus{outline:2px solid var(--f-gold);outline-offset:2px}
.funnel-gift-status{min-height:1.35em;font-size:13px;margin:13px 0 0}.funnel-gift-success audio{display:block;width:100%;margin:24px 0 16px}.funnel-gift-download{color:var(--f-ink);border-bottom:1px solid var(--f-gold);padding-bottom:4px}

@media(max-width:800px){.funnel-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.funnel-review-wall .review-grid{grid-template-columns:1fr}.funnel-review-wall .review-wall-head{display:grid;gap:20px}.funnel-review-wall .review-summary{text-align:left}.funnel-gift form{grid-template-columns:1fr}.funnel-gift input{min-height:52px}.funnel-gift .funnel-button{width:100%}}
@media(prefers-reduced-motion:reduce){.has-motion .reveal-target{opacity:1;transform:none;transition:none}.funnel-art img,.funnel-gift[open],.funnel-review-wall .review-card{animation:none}.funnel-review-wall .review-card,.funnel-review-wall .review-more{transition:none}}

