/* ==========================================================================
   I'M HERE™ Christmas — /christmas and /christmas/thanks
   Loaded after /assets/business/business.css: same type, buttons, nav and
   section rhythm, with a festive layer of pine, berry, gold and snow on top.
   ========================================================================== */
:root{
  --pine:#0f2a1f;
  --pine-2:#143728;
  --pine-line:rgba(126,196,150,0.14);
  --berry:#b3263c;
  --berry-2:#cf3a51;
  --berry-soft:rgba(179,38,60,0.16);
  --gold:#e3b866;
  --snow:#fbf7f0;
}

/* --- Snowfall (pure CSS, decorative) ------------------------------------ */
.snow{position:absolute;inset:0;overflow:hidden;pointer-events:none;z-index:0;}
.snow i{position:absolute;top:-20px;display:block;width:var(--s,6px);height:var(--s,6px);border-radius:50%;background:var(--snow);opacity:var(--o,.55);filter:blur(var(--b,0px));animation:snowfall var(--d,14s) linear var(--dl,0s) infinite;}
@keyframes snowfall{
  0%{transform:translate3d(0,-20px,0);}
  50%{transform:translate3d(var(--x,24px),50vh,0);}
  100%{transform:translate3d(0,110vh,0);}
}
@media (prefers-reduced-motion:reduce){.snow i{animation:none;top:var(--y,30%);}}

/* --- Hero --------------------------------------------------------------- */
.xmas-hero{background:radial-gradient(ellipse 80% 70% at 85% 10%,rgba(179,38,60,0.20),transparent 60%),radial-gradient(ellipse 70% 80% at 0% 100%,rgba(20,55,40,0.55),transparent 65%),var(--bg);}
.xmas-hero::before{background:radial-gradient(circle,rgba(227,184,102,0.14),transparent 62%);}
.xmas-hero .wrap{z-index:1;}
.xmas-label{display:inline-flex;align-items:center;gap:10px;font-size:12px;font-weight:800;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold);border:1.5px solid rgba(227,184,102,0.5);border-radius:999px;padding:8px 16px 7px;margin-bottom:28px;background:rgba(227,184,102,0.06);}
.xmas-label span{color:var(--snow);font-size:14px;letter-spacing:0;}
.xmas-hero h1 .accent{color:var(--gold);}
.xmas-hero .lede{max-width:46ch;}
.hero-mini{display:flex;flex-wrap:wrap;gap:10px 22px;font-size:14px;color:var(--muted);font-weight:600;}
.hero-mini span{display:inline-flex;align-items:center;gap:8px;}
.hero-mini span::before{content:"❄";color:var(--gold);font-size:12px;}

/* Hero video (portrait, replaces the hero phone mockup) */
.hero-video{position:relative;width:min(360px,100%);margin:0 auto;}
.hero-video video{display:block;width:100%;height:auto;aspect-ratio:672/1156;object-fit:cover;border-radius:36px;background:#0f0e0d;box-shadow:0 0 0 1px rgba(245,240,232,0.12),0 40px 90px -20px rgba(0,0,0,0.8),0 0 140px -30px rgba(179,38,60,0.45);}

/* Festive phone: bauble garland and party tags */
.phone-xmas{box-shadow:0 0 0 1px rgba(245,240,232,0.12),0 40px 90px -20px rgba(0,0,0,0.8),0 0 140px -30px rgba(179,38,60,0.45);}
.garland{position:absolute;left:-14px;right:-14px;top:-18px;height:46px;z-index:2;pointer-events:none;}
.ph-party{font-size:10px;font-weight:700;color:var(--gold);letter-spacing:0.02em;}
.ph-tag.t-friends{background:rgba(126,196,150,0.14);color:#8fd0a5;}
.ph-tag.t-conn{background:var(--copper-soft);color:var(--copper);}
.ph-tag.t-more{background:var(--berry-soft);color:#f07b8d;}
.ph-filters .on{background:var(--gold);border-color:var(--gold);}

/* --- Pine sections ------------------------------------------------------ */
.sec-pine{background:radial-gradient(ellipse 70% 60% at 100% 0%,rgba(179,38,60,0.10),transparent 60%),linear-gradient(180deg,var(--pine),#0c2219);border-top:1px solid var(--pine-line);border-bottom:1px solid var(--pine-line);}
.sec-pine .eyebrow{color:var(--gold);}
.sec-pine .eyebrow::before{background:var(--gold);}

/* Problem */
.xmas-problem .wrap{display:grid;grid-template-columns:1.1fr 1fr;gap:72px;align-items:center;}
.xmas-problem h2{font-size:clamp(32px,4vw,52px);line-height:1.08;}
.xmas-problem p{font-size:19px;color:var(--muted);margin-bottom:18px;max-width:46ch;}
.xmas-problem .punch{color:var(--cream);font-weight:800;font-size:22px;}
.xmas-problem .punch .accent{color:var(--gold);}
.tables{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;}
.tbl{aspect-ratio:1;border-radius:50%;border:1.5px dashed rgba(245,240,232,0.18);display:grid;place-items:center;position:relative;}
.tbl b{width:42%;height:42%;border-radius:50%;background:var(--c,var(--copper));opacity:.85;}
.tbl.lit{border-style:solid;border-color:var(--gold);box-shadow:0 0 26px -4px rgba(227,184,102,0.55);}

/* How it works */
.how-grid{display:grid;grid-template-columns:1.25fr 0.75fr;gap:56px;align-items:center;}
.how-grid .steps{grid-template-columns:1fr;gap:16px;}
.how-grid .step{display:grid;grid-template-columns:64px 1fr;gap:4px 20px;padding:26px 28px;}
.how-grid .step-n{grid-row:span 2;margin:0;font-size:30px;color:var(--gold);}
.how-grid .step-n::after{display:none;}
.how-grid .step h3{font-size:24px;margin-bottom:4px;}
.how-note{margin-top:26px;font-size:15px;color:var(--dim);max-width:60ch;padding-left:16px;border-left:2px solid var(--berry);}

/* Match screen */
.ph-match{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:16px;}
.ph-match .pair{display:flex;align-items:center;}
.ph-match .ph-av{width:68px;height:68px;font-size:20px;border:3px solid #0f0e0d;}
.ph-match .ph-av + .ph-av{margin-left:-14px;}
.ph-match h4{font-size:24px;font-weight:800;letter-spacing:-0.02em;line-height:1.1;}
.ph-match h4 span{color:var(--gold);}
.ph-match p{font-size:12.5px;color:var(--muted);line-height:1.45;max-width:24ch;}
.ph-match .meet{font-size:12px;font-weight:700;padding:10px 18px;border-radius:999px;background:var(--copper);color:var(--bg);}
.ph-match .chat{font-size:12px;font-weight:700;padding:9px 16px;border-radius:999px;border:1px solid var(--line-2);color:var(--cream);margin-top:-6px;}
.ph-match .gone{font-size:10.5px;color:var(--dim);}

/* Benefits */
.benefits{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.ben{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:38px 36px;}
.ben-venue{background:linear-gradient(160deg,rgba(179,38,60,0.16),rgba(179,38,60,0.02) 60%),var(--card);border-color:rgba(179,38,60,0.35);}
.ben h3{font-size:24px;margin-bottom:24px;display:flex;align-items:center;gap:12px;}
.ben h3 .feature-ic{margin:0;width:40px;height:40px;}
.ben-venue h3 .feature-ic{background:var(--berry-soft);color:#f07b8d;}
.ben ul{list-style:none;display:grid;gap:0;}
.ben li{display:flex;gap:14px;align-items:flex-start;padding:15px 0;border-top:1px solid var(--line);font-size:16.5px;color:var(--muted);line-height:1.45;}
.ben li::before{content:"❄";flex-shrink:0;color:var(--gold);font-size:14px;margin-top:2px;}
.ben li strong{color:var(--cream);font-weight:700;}

/* What's included */
.kit{display:grid;grid-template-columns:0.9fr 1.1fr;gap:56px;align-items:center;}
.kit-list{list-style:none;display:grid;gap:12px;}
.kit-list li{display:grid;grid-template-columns:44px 1fr;gap:18px;align-items:center;background:rgba(13,13,13,0.35);border:1px solid var(--pine-line);border-radius:16px;padding:18px 20px;}
.kit-list .feature-ic{margin:0;background:rgba(227,184,102,0.12);color:var(--gold);}
.kit-list h3{font-size:18px;margin-bottom:2px;}
.kit-list p{font-size:15px;color:var(--muted);line-height:1.45;}
.kit-art{position:relative;border-radius:24px;overflow:hidden;border:1px solid var(--pine-line);background:var(--bg);}
.kit-art img{width:100%;height:auto;}
.kit-art figcaption{font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--dim);padding:14px 18px;border-top:1px solid var(--line);}
.kit-price{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:800;letter-spacing:0.14em;text-transform:uppercase;color:var(--bg);background:var(--gold);border-radius:999px;padding:6px 12px;margin-bottom:18px;}

/* Pricing */
.xmas-plans .plan h3{font-size:20px;color:var(--cream);margin-bottom:18px;}
.xmas-plans .per{margin-bottom:18px;}
.xmas-plans .plan-hl{background:linear-gradient(170deg,rgba(179,38,60,0.24),rgba(179,38,60,0.04) 70%),var(--card);border-color:var(--berry-2);}
.xmas-plans .plan-hl h3{color:var(--cream);}
.xmas-plans .plan-flag{background:var(--berry);color:var(--snow);}
.xmas-plans .plan-hl .price{color:var(--gold);}
.plan-feats{list-style:none;display:grid;gap:10px;margin-bottom:28px;flex:1;}
.plan-feats li{display:flex;gap:10px;font-size:15.5px;color:var(--muted);line-height:1.45;}
.plan-feats li::before{content:"";flex-shrink:0;width:16px;height:16px;margin-top:4px;border-radius:50%;border:2px solid var(--gold);box-shadow:inset 0 0 0 3px var(--card),inset 0 0 0 8px var(--gold);}
.btn-berry{background:var(--berry);color:var(--snow);}
.btn-berry:hover{background:var(--berry-2);}

/* Timeline */
.timeline{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;position:relative;counter-reset:t;}
.timeline::before{content:"";position:absolute;left:24px;right:24px;top:24px;height:2px;background:repeating-linear-gradient(90deg,var(--berry) 0 14px,transparent 14px 20px,var(--gold) 20px 34px,transparent 34px 40px);opacity:.7;}
.tl{position:relative;counter-increment:t;}
.tl-dot{position:relative;width:50px;height:50px;border-radius:50%;background:var(--pine);border:2px solid var(--gold);display:grid;place-items:center;font-weight:800;font-size:18px;color:var(--gold);margin-bottom:24px;}
.tl h3{font-size:21px;margin-bottom:8px;}
.tl p{font-size:15.5px;color:var(--muted);}
.limited{margin-top:52px;display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;font-weight:700;font-size:17px;color:var(--cream);}
.limited span{display:inline-flex;align-items:center;gap:10px;background:var(--berry-soft);border:1px solid rgba(179,38,60,0.45);border-radius:999px;padding:12px 22px;}
.limited span::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--berry-2);box-shadow:0 0 0 4px rgba(207,58,81,0.2);animation:pulse 2s infinite;}

/* Proof */
.big-proof{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:20px;}
.big-proof div{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:34px;}
.big-proof strong{display:block;font-size:clamp(56px,7vw,92px);font-weight:800;letter-spacing:-0.04em;line-height:0.95;color:var(--gold);}
.big-proof span{display:block;font-size:18px;color:var(--muted);margin-top:10px;}
.proof-cap{font-size:14px;color:var(--dim);margin-bottom:48px;}
.xmas-quotes{grid-template-columns:1fr 1fr;}
.xmas-quotes .quote-feat{grid-row:auto;}
.xmas-quotes .quote-feat{background:linear-gradient(150deg,rgba(179,38,60,0.18),rgba(179,38,60,0.03) 60%),var(--card);border-color:rgba(179,38,60,0.35);}
.xmas-quotes .quote-feat .qm{color:var(--gold);}
.xmas-quotes .quote-feat blockquote{font-size:clamp(22px,2.3vw,30px);}

/* FAQ links */
.faq-list details p a{color:var(--copper);font-weight:700;text-decoration:none;}
.faq-list details p a:hover{text-decoration:underline;}

/* Final CTA */
.xmas-cta{background:radial-gradient(ellipse at 15% 0%,rgba(179,38,60,0.20),transparent 55%),radial-gradient(ellipse at 100% 100%,rgba(20,55,40,0.6),transparent 60%),var(--bg-2);overflow:hidden;}
.xmas-cta .wrap{z-index:1;}
.xmas-cta h2 .accent{color:var(--gold);}
.cta-books{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:28px;}
.cta-q{font-size:16px;color:var(--muted);}
.cta-q a{color:var(--copper);font-weight:700;text-decoration:none;}
.contact-h{font-size:26px;margin-bottom:8px;}
.contact-sub{font-size:16px;color:var(--muted);margin-bottom:26px;}
.form-card .chosen{font-size:13px;color:var(--dim);margin-bottom:22px;}
.form-card .chosen b{color:var(--gold);}

/* Footer sprig */
.foot-xmas{color:var(--gold);}

/* Thanks page */
.xmas-thanks{background:radial-gradient(ellipse 70% 60% at 50% 0%,rgba(179,38,60,0.16),transparent 60%),var(--bg);}
.xmas-thanks .thanks-card{z-index:1;}

/* --- Responsive --------------------------------------------------------- */
@media (max-width:1040px){
  .xmas-problem .wrap,.how-grid,.kit{grid-template-columns:1fr;gap:48px;}
  .how-grid .rv.phone-wrap{order:-1;}
  .timeline{grid-template-columns:1fr 1fr;gap:36px 24px;}
  .timeline::before{display:none;}
}
@media (max-width:860px){
  .benefits,.big-proof,.xmas-quotes{grid-template-columns:1fr;}
}
@media (max-width:640px){
  .xmas-label{font-size:10.5px;letter-spacing:0.14em;padding:7px 12px 6px;}
  .tables{gap:8px;}
  .how-grid .step{grid-template-columns:44px 1fr;padding:22px 20px;}
  .how-grid .step-n{font-size:22px;}
  .ben{padding:28px 22px;}
  .timeline{grid-template-columns:1fr;}
  .cta-books .btn{width:100%;}
  .big-proof div{padding:26px;}
}

/* Welcome page (post-payment setup form) */
.welcome-page{position:relative;overflow:hidden;}
.welcome-page .wrap{position:relative;z-index:1;max-width:860px;}
.welcome-head{margin-bottom:44px;}
.welcome-head h1{font-size:clamp(36px,5vw,62px);margin-bottom:20px;}
.welcome-head .lede{max-width:56ch;}
.welcome-card{padding:44px;}
.wf-group{padding-bottom:36px;margin-bottom:36px;border-bottom:1px solid var(--line);}
.wf-group h2{display:flex;align-items:center;gap:14px;font-size:24px;letter-spacing:-0.01em;margin-bottom:22px;}
.wf-group h2 span{width:34px;height:34px;border-radius:50%;border:2px solid var(--gold);color:var(--gold);font-size:15px;display:grid;place-items:center;flex-shrink:0;}
.wf-intro{font-size:15.5px;color:var(--muted);margin:-10px 0 22px;}
fieldset.field{border:0;min-width:0;}
fieldset.field legend{font-size:14px;font-weight:700;color:var(--cream);margin-bottom:10px;padding:0;}
fieldset.field[hidden]{display:none;}
.choices{display:flex;flex-wrap:wrap;gap:10px;}
.choice{position:relative;cursor:pointer;}
.choice input{position:absolute;opacity:0;width:1px;height:1px;}
.choice span{display:inline-block;font-size:15px;font-weight:600;padding:11px 18px;border:1px solid var(--line-2);border-radius:999px;color:var(--muted);transition:border-color .2s,background .2s,color .2s;}
.choice:hover span{border-color:var(--copper);}
.choice input:checked + span{background:var(--copper);border-color:var(--copper);color:var(--bg);}
.choice input:focus-visible + span{outline:2px solid var(--copper);outline-offset:3px;}
.field .hint{font-size:13px;color:var(--dim);margin-top:-2px;}
.field input.file{padding:12px;cursor:pointer;}
.field input.file::file-selector-button{font-family:inherit;font-weight:700;font-size:14px;margin-right:14px;padding:8px 14px;border-radius:999px;border:1px solid var(--copper);background:none;color:var(--copper);cursor:pointer;}
.welcome-card .form-note a{color:var(--copper);}
@media (max-width:640px){.welcome-card{padding:26px 20px;}}
