/* Register page · The Wealthy Tax Playbook */

/* ---------- hero ---------- */
.hero{position:relative;text-align:center;padding:112px 0 72px}
.hero__inner{display:flex;flex-direction:column;align-items:center}
.hero__title{max-width:1000px;font-size:clamp(36px, 4.1vw, 60px);line-height:1.08}
.hero__title em{display:block;font-size:.6em;line-height:1.25;color:var(--accent);margin-top:12px;letter-spacing:0}
.hero__sub{max-width:52ch;margin-top:26px}

/* countdown · ring tiles, re-skinned */
.cd{margin-top:52px;width:100%}
.cd__when{display:inline-flex;align-items:center;gap:12px;margin:0 0 26px;
  font:500 15px/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--ink)}
.cd__dot{width:7px;height:7px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(140,90,50,.14);flex:none;
  animation:cdPulse 2.4s var(--ease) infinite}
@keyframes cdPulse{0%,100%{box-shadow:0 0 0 4px rgba(140,90,50,.16)}50%{box-shadow:0 0 0 8px rgba(140,90,50,.04)}}
.cd-rings{display:flex;gap:26px;justify-content:center}
.cd-rings .u{position:relative;width:132px;aspect-ratio:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  background:var(--paper);border-radius:50%;box-shadow:0 1px 2px rgba(27,21,17,.04),0 20px 40px -26px rgba(27,21,17,.35)}
.cd-rings svg{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg)}
.cd-rings .trk{fill:none;stroke:rgba(201,165,107,.22);stroke-width:2}
.cd-rings .prg{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;transition:stroke-dashoffset .9s linear}
.cd-rings .n{position:relative;font:500 48px/1 var(--display);font-variant-numeric:tabular-nums lining-nums;color:var(--ink)}
.cd-rings .lbl{position:relative;font:500 13px/1 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin-top:8px}
.hero__cta{margin-top:52px}

/* ---------- pillars ---------- */
.pillars{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.pillar{position:relative;text-align:center;padding:52px 34px 44px;overflow:hidden;
  transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.pillar::before{content:"";position:absolute;top:0;left:50%;width:56px;height:2px;margin-left:-28px;background:var(--gold);transition:width .4s var(--ease),margin .4s var(--ease)}
.pillar:hover{transform:translateY(-4px);box-shadow:0 1px 2px rgba(27,21,17,.05),0 28px 56px -24px rgba(27,21,17,.28)}
.pillar:hover::before{width:120px;margin-left:-60px}
.pillar__num{display:block;font:italic 500 24px/1 var(--display);font-variant-numeric:lining-nums;color:var(--gold);letter-spacing:.08em;margin-bottom:22px}
.pillar__icon{width:64px;height:64px;margin:0 auto 26px;border-radius:50%;display:grid;place-items:center;
  color:var(--accent);background:var(--ivory);box-shadow:inset 0 0 0 1px rgba(201,165,107,.45)}
.pillar__icon svg{width:28px;height:28px}
.pillar__title{font:500 clamp(27px, 2.3vw, 32px)/1.15 var(--display);margin:0 0 14px;text-wrap:balance}
.pillar__desc{font:400 18px/1.6 var(--sans);color:var(--muted);margin:0 auto;max-width:30ch}

/* ---------- host (split card) ---------- */
.host{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);gap:56px;align-items:center;padding:28px;max-width:1080px;margin:0 auto}
.host__photo{margin:0;border-radius:14px;overflow:hidden;aspect-ratio:4/5;background:var(--ivory-2)}
.host__photo img{width:100%;height:100%;object-fit:cover;object-position:50% 18%}
.host__body{padding:12px 20px 12px 0;text-align:left}
.host__name{font:500 clamp(34px, 3vw, 44px)/1.1 var(--display);margin:0}
.host__name em{font-style:italic;color:var(--accent)}
.host__role{font:500 15px/1.3 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--faint);margin:12px 0 22px}
.host__bio{font:400 18px/1.7 var(--sans);color:var(--muted);margin:0 0 14px}
.host__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}
.stat{text-align:center;padding:20px 12px 18px;border-radius:14px;background:var(--ivory);box-shadow:inset 0 0 0 1px var(--hair-soft)}
.stat b{display:block;font:500 42px/1 var(--display);color:var(--ink);font-variant-numeric:lining-nums}
.stat span{display:block;font:400 15px/1.4 var(--sans);color:var(--faint);margin-top:8px}

/* ---------- gift (split, tilted cover) ---------- */
.gift{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,380px);gap:72px;align-items:center;max-width:980px;margin:0 auto}
.gift__copy h2{margin:0}
.gift__line{font:400 clamp(19px, 1.6vw, 21px)/1.6 var(--sans);color:var(--muted);margin:20px 0 0;max-width:40ch}
.gift__tag{display:inline-flex;align-items:center;gap:10px;margin-top:28px;padding:12px 20px;border-radius:999px;
  background:var(--paper);box-shadow:inset 0 0 0 1px var(--hair);font:500 16px/1.3 var(--sans);color:var(--ink)}
.gift__tag svg{width:20px;height:20px;flex:none}
.gift__art{display:flex;justify-content:center}
.gift__cover{width:100%;max-width:320px;border-radius:10px;transform:rotate(-4deg);
  box-shadow:0 2px 4px rgba(27,21,17,.08),0 34px 60px -26px rgba(27,21,17,.55);
  transition:transform .4s var(--ease),box-shadow .4s var(--ease)}
.gift__cover:hover{transform:rotate(0) translateY(-4px)}

/* ---------- bottom CTA ---------- */
.end{padding-bottom:120px}
.end__inner{display:flex;justify-content:center}

/* ---------- modal ---------- */
.modal{position:fixed;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:20px;
  background:rgba(20,16,13,.46);-webkit-backdrop-filter:blur(10px) saturate(110%);backdrop-filter:blur(10px) saturate(110%);
  opacity:0;visibility:hidden;transition:opacity .3s var(--ease),visibility .3s}
.modal.is-open{opacity:1;visibility:visible}
.modal__card{position:relative;width:100%;max-width:460px;background:var(--paper);border-radius:22px;padding:48px 40px 34px;text-align:center;
  box-shadow:0 40px 100px -30px rgba(20,16,13,.55),inset 0 0 0 1px rgba(201,165,107,.35);
  transform:translateY(12px) scale(.97);transition:transform .4s var(--ease)}
.modal.is-open .modal__card{transform:none}
.modal__x{position:absolute;top:12px;right:12px;width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;
  display:grid;place-items:center;background:var(--ivory);color:var(--ink);box-shadow:inset 0 0 0 1px var(--hair);transition:transform .25s var(--ease),background .25s}
.modal__x:hover{transform:rotate(90deg);background:var(--ivory-2)}
.modal__x svg{width:18px;height:18px}
.modal__title{font:500 38px/1.1 var(--display);margin:0}
.modal__when{font:500 14px/1.4 var(--sans);letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin:12px 0 28px}
.modal__when .when-sep{display:none}
.modal__when .when-d,.modal__when .when-t{display:block}
.field{display:block;text-align:left;margin-bottom:14px}
.field span{display:block;font:500 14px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--faint);margin-bottom:9px}
.field input{width:100%;min-height:54px;padding:14px 18px;border-radius:12px;border:1px solid var(--hair);background:var(--ivory);
  font:400 19px/1.2 var(--sans);color:var(--ink);outline:none;transition:border-color .2s,box-shadow .2s,background .2s}
.field input::placeholder{color:#a3968a}
.field input:focus{border-color:var(--accent);background:#fff;box-shadow:0 0 0 4px rgba(140,90,50,.12)}
.field input.err{border-color:#a8452f;box-shadow:0 0 0 4px rgba(168,69,47,.12)}
.modal__err{min-height:20px;margin:2px 0 8px;font:400 16px/1.4 var(--sans);color:#a8452f}
.modal__btn{width:100%}
.modal__fine{margin:16px 0 0;font:400 15px/1.5 var(--sans);color:var(--faint)}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .pillars{grid-template-columns:1fr;max-width:560px;margin:0 auto}
  .host{grid-template-columns:1fr;gap:32px;max-width:620px;padding:20px}
  .host__photo{aspect-ratio:4/4.4}
  .host__body{padding:0 8px 12px;text-align:center}
  .gift{grid-template-columns:1fr;gap:56px;text-align:center}
  .gift__line{margin-inline:auto}
}
@media (max-width:700px){
  .hero{padding:72px 0 48px}
  .hero__title{font-size:clamp(32px, 8vw, 40px)}
  .hero__title em{font-size:.6em;margin-top:12px}
  .hero__sub{margin-top:20px}
  .cd{margin-top:40px}
  .cd__when{font-size:13px;letter-spacing:.14em;gap:10px;flex-direction:column;line-height:1.7}
  .cd__when .when-sep,.cd__dot{display:none}
  .cd__when .when-d,.cd__when .when-t{display:block}
  .cd-rings{gap:10px}
  .cd-rings .u{width:calc((100vw - 40px - 30px)/4);max-width:84px}
  .cd-rings .n{font-size:30px}
  .cd-rings .lbl{font-size:11px;letter-spacing:.12em;margin-top:5px}
  .hero__cta{margin-top:40px;width:100%}
  .pillar{padding:44px 26px 36px}
  .host__name{font-size:32px}
  .host__role{letter-spacing:.12em;font-size:14px}
  .fb-eyebrow{letter-spacing:.16em}
  .host__stats{grid-template-columns:1fr;gap:10px}
  .stat{display:flex;align-items:center;gap:16px;text-align:left;padding:16px 18px}
  .stat b{font-size:36px;min-width:84px;text-align:center}
  .stat span{margin-top:0}
  .gift__cover{max-width:250px}
  .gift__tag{font-size:15px;padding:12px 16px}
  .modal__card{padding:44px 22px 26px}
  .end{padding-bottom:84px;padding-top:0}
}
@media (prefers-reduced-motion:reduce){
  .cd__dot{animation:none}
  .cd-rings .prg{transition:none}
}
