/* Replay page · The Wealthy Tax Playbook */

/* ---------- hero ---------- */
.rp-hero{text-align:center;padding:104px 0 24px}
.rp-hero__inner{display:flex;flex-direction:column;align-items:center}
.rp-hero .fb-eyebrow{display:inline-flex;align-items:center;gap:12px}
.rp-dot{width:7px;height:7px;border-radius:50%;background:var(--accent);flex:none;animation:rpPulse 2.4s var(--ease) infinite}
@keyframes rpPulse{0%,100%{box-shadow:0 0 0 4px rgba(140,90,50,.16)}50%{box-shadow:0 0 0 8px rgba(140,90,50,.03)}}
.rp-title{max-width:20ch}
.rp-hero .fb-lead{margin-top:20px;max-width:60ch;text-wrap:balance}

/* replay stage (display only) */
.stage{position:relative;width:100%;max-width:1000px;margin:56px auto 0;aspect-ratio:16/9;border-radius:22px;overflow:hidden;background:var(--espresso);
  box-shadow:0 2px 4px rgba(27,21,17,.06),0 50px 100px -44px rgba(27,21,17,.6);cursor:pointer}
.stage::before{content:"";position:absolute;inset:0;z-index:3;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(201,165,107,.35);pointer-events:none}
.stage__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:50% 40%;transition:transform 1.2s var(--ease)}
.stage:hover .stage__img{transform:scale(1.02)}
.stage__veil{position:absolute;inset:0;background:radial-gradient(70% 70% at 50% 45%,rgba(20,16,13,.08),rgba(20,16,13,.5))}
.stage__play{position:absolute;z-index:2;top:50%;left:50%;width:96px;height:96px;margin:-48px 0 0 -48px;border-radius:50%;display:grid;place-items:center;
  background:rgba(255,253,249,.95);color:var(--ink);box-shadow:0 18px 46px -14px rgba(20,16,13,.6);transition:transform .3s var(--ease)}
.stage__play::before{content:"";position:absolute;inset:-11px;border-radius:50%;border:1px solid rgba(255,253,249,.5)}
.stage__play svg{width:34px;height:34px;margin-left:5px}
.stage:hover .stage__play{transform:scale(1.06)}
.stage__bar{position:absolute;z-index:2;left:0;right:0;bottom:0;display:flex;align-items:center;gap:14px;padding:16px 22px;color:rgba(255,253,249,.92);
  background:linear-gradient(180deg,transparent,rgba(20,16,13,.6))}
.stage__bar svg{width:18px;height:18px;flex:none}
.stage__time{font:500 15px/1 var(--sans);font-variant-numeric:tabular-nums;flex:none}
.stage__track{flex:1;height:3px;border-radius:3px;background:rgba(255,253,249,.3)}
.stage__track i{display:block;width:0;height:100%}

/* ---------- application ---------- */
.apply{padding-top:120px}
.apply .sec-head{margin-bottom:48px}
.apply-lead{text-wrap:balance}

/* =================== TYPEFORM (themed to the brand) =================== */
.tf{--tf:#8c5a32;position:relative;max-width:820px;margin:0 auto;background:#fffdf9;border-radius:18px;overflow:hidden;
  box-shadow:0 0 0 1px var(--hair-soft),0 40px 90px -46px rgba(27,21,17,.5);font-family:var(--sans)}
.tf__stage{position:relative;min-height:470px;display:flex}
.tf-slide{display:none;flex-direction:column;justify-content:center;width:100%;padding:64px 80px 96px}
.tf-slide:focus{outline:none}
.tf-slide.is-active{display:flex;animation:tfIn .5s var(--ease)}
.tf-slide.from-up.is-active{animation-name:tfInDown}
@keyframes tfIn{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes tfInDown{from{opacity:0;transform:translateY(-28px)}to{opacity:1;transform:none}}
.tf-slide.shake .tf-err{animation:tfShake .35s}
@keyframes tfShake{20%,60%{transform:translateX(-4px)}40%,80%{transform:translateX(4px)}}
.tf-qnum{display:inline-flex;align-items:center;gap:6px;margin:0 0 10px;color:var(--tf);font:500 17px/1 var(--sans)}
.tf-qnum svg{width:14px;height:14px}
.tf-q{margin:0;font:500 clamp(26px, 2.6vw, 32px)/1.3 var(--sans);color:#3d2a1c;letter-spacing:-.005em}
.tf-q label{cursor:text}
.req{color:var(--tf);margin-left:2px}
.tf-desc{margin:10px 0 0;font:400 19px/1.5 var(--sans);color:rgba(61,42,28,.62)}
.tf-input{width:100%;margin-top:30px;padding:8px 0 10px;border:0;border-bottom:1px solid rgba(140,90,50,.35);background:transparent;border-radius:0;
  font:400 clamp(24px, 2.4vw, 30px)/1.3 var(--sans);color:var(--tf);outline:none;transition:border-color .2s;min-height:52px}
.tf-input::placeholder{color:rgba(140,90,50,.38)}
.tf-input:focus{border-bottom:2px solid var(--tf);padding-bottom:9px}
.tf-opts{display:flex;flex-direction:column;align-items:flex-start;gap:9px;margin-top:28px;max-width:420px}
.tf-opt{display:flex;align-items:center;gap:14px;width:100%;min-height:50px;padding:8px 12px 8px 9px;border-radius:6px;cursor:pointer;text-align:left;
  border:1px solid rgba(140,90,50,.5);background:rgba(140,90,50,.07);color:var(--tf);font:400 21px/1.2 var(--sans);transition:background .15s}
@media (hover:hover){.tf-opt:hover{background:rgba(140,90,50,.16)}}
.tf-opt.sel{background:rgba(140,90,50,.2);border:2px solid var(--tf);padding:7px 11px 7px 8px}
.tf-opt.blink{animation:tfBlink .5s steps(1)}
@keyframes tfBlink{0%,50%{background:rgba(140,90,50,.2)}25%,75%{background:rgba(140,90,50,.07)}}
.tf-key{flex:none;width:26px;height:26px;border-radius:3px;display:grid;place-items:center;border:1px solid rgba(140,90,50,.6);background:#fffdf9;font:500 15px/1 var(--sans)}
.tf-opt.sel .tf-key{background:var(--tf);color:#fffdf9;border-color:var(--tf)}
.tf-opt .tick{margin-left:auto;width:20px;height:20px;opacity:0}
.tf-opt.sel .tick{opacity:1}
.tf-contact{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.tf-field{display:block}
.tf-field span{display:block;margin-top:22px;font:400 18px/1.3 var(--sans);color:#3d2a1c}
.tf-field .tf-input{margin-top:4px;font-size:clamp(22px, 2.1vw, 26px)}
.tf-actions{display:flex;align-items:center;gap:14px;margin-top:30px}
.tf-ok{display:inline-flex;align-items:center;gap:8px;min-height:48px;padding:10px 22px;border:0;border-radius:6px;cursor:pointer;
  background:var(--tf);color:#fffdf9;font:600 22px/1 var(--sans);box-shadow:0 3px 12px -4px rgba(140,90,50,.5);transition:background .15s}
.tf-ok:hover{background:#6f4524}
.tf-ok svg{width:18px;height:18px}
.tf-hint{font:400 15px/1 var(--sans);color:rgba(61,42,28,.62)}
.tf-hint b{font-weight:600}
.tf-err{display:flex;align-items:center;gap:8px;min-height:30px;margin:14px 0 0;font:400 16px/1.3 var(--sans);color:#a8452f}
.tf-err:empty{visibility:hidden}
.tf-err svg{width:16px;height:16px;flex:none}

.tf-done{display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center;width:100%;padding:64px 40px 96px}
.tf-done.is-active{display:flex;animation:tfIn .5s var(--ease)}
.tf-done__chk{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:rgba(140,90,50,.12);color:var(--tf);margin-bottom:22px}
.tf-done__chk svg{width:32px;height:32px}
.tf-done h3{margin:0;font:500 30px/1.25 var(--sans);color:#3d2a1c}
.tf-done p{margin:10px 0 0;font:400 19px/1.5 var(--sans);color:rgba(61,42,28,.62)}

.tf__foot{position:absolute;left:0;right:0;bottom:0}
.tf__progress{height:4px;background:rgba(140,90,50,.14)}
.tf__progress i{display:block;height:100%;width:0;background:var(--tf);transition:width .45s var(--ease)}
.tf__brandbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px}
.tf__brand{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border-radius:4px;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.08);
  font:400 15px/1 var(--sans);color:#262627}
.tf__brand b{font-weight:600}
.tf__brand svg{width:16px;height:16px}
.tf__nav{display:flex;gap:1px;border-radius:4px;overflow:hidden}
.tf__nav button{width:44px;height:44px;border:0;background:var(--tf);color:#fffdf9;display:grid;place-items:center;cursor:pointer}
.tf__nav button:hover{background:#6f4524}
.tf__nav svg{width:18px;height:18px}

/* =================== CALENDLY (real Calendly look) =================== */
.booking{margin-top:88px}
.booking.reveal{animation:bkIn .7s var(--ease)}
@keyframes bkIn{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}
.booking__head{text-align:center;margin-bottom:36px}
.booking__h{margin:0;font:500 clamp(32px, 3.4vw, 42px)/1.15 var(--display)}

.cy{position:relative;max-width:1060px;margin:0 auto;background:#fff;color:#1a1a1a;border-radius:10px;overflow:hidden;
  font-family:"Proxima Nova",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:17px;
  display:grid;grid-template-columns:330px minmax(0,1fr);box-shadow:0 1px 8px rgba(0,0,0,.08),0 40px 90px -50px rgba(27,21,17,.5)}
.cy-info{padding:28px 28px 32px;border-right:1px solid #e7e7e7}
.cy-logo{width:64px;height:64px;border-radius:50%;margin-bottom:22px}
.cy-host{margin:0 0 6px;font-size:18px;font-weight:600;color:#737373}
.cy-title{margin:0 0 22px;font-size:28px;font-weight:700;line-height:1.2;color:#0a2540}
.cy-meta{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:14px;color:#4d5055;font-weight:600}
.cy-meta li{display:flex;align-items:flex-start;gap:10px;font-size:17px;line-height:1.35}
.cy-meta svg{width:20px;height:20px;flex:none;color:#737373}
.cy-desc{margin:22px 0 0;font-size:17px;line-height:1.55;color:#4d5055}

.cy-pick{display:grid;grid-template-columns:minmax(0,1fr) 0;transition:grid-template-columns .4s var(--ease)}
.cy.has-day .cy-pick{grid-template-columns:minmax(0,1fr) 250px}
.cy-cal{padding:28px 32px 26px}
.cy-h{margin:0 0 22px;font-size:22px;font-weight:700;color:#0a2540}
.cy-month{display:flex;align-items:center;justify-content:center;gap:28px;margin-bottom:22px}
.cy-month b{font-size:18px;font-weight:400;color:#1a1a1a;min-width:130px;text-align:center}
.cy-nav{width:44px;height:44px;border-radius:50%;border:0;display:grid;place-items:center;cursor:pointer;background:#e8f0fe;color:#006BFF;transition:background .15s}
.cy-nav:hover{background:#d4e3fe}
.cy-nav:disabled{background:transparent;color:#c8c8c8;cursor:default}
.cy-nav svg{width:18px;height:18px}
.cy-dow,.cy-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;justify-items:center}
.cy-dow{margin-bottom:10px}
.cy-dow span{font-size:14px;font-weight:400;color:#1a1a1a;letter-spacing:.02em}
.cy-day{width:44px;height:44px;border-radius:50%;border:0;background:transparent;font:inherit;font-size:18px;color:#b0b0b0;display:grid;place-items:center;position:relative;padding:0}
.cy-day.av{background:#e8f0fe;color:#0060e6;font-weight:700;cursor:pointer;transition:background .15s}
.cy-day.av:hover{background:#d4e3fe}
.cy-day.sel{background:#006BFF;color:#fff}
.cy-day.is-today::after{content:"";position:absolute;bottom:6px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor}
.cy-tz{margin-top:26px}
.cy-tz b{display:block;font-size:17px;font-weight:700;margin-bottom:8px;color:#1a1a1a}
.cy-tz span{display:inline-flex;align-items:center;gap:8px;font-size:16px;color:#4d5055}
.cy-tz svg{width:16px;height:16px}
.cy-times{overflow:hidden;padding:76px 24px 24px 0;display:flex;flex-direction:column;min-width:0}
.cy-day-lab{margin:0 0 18px;font-size:17px;color:#1a1a1a;white-space:nowrap}
.cy-slots{display:flex;flex-direction:column;gap:10px;max-height:388px;overflow-y:auto;padding-right:4px}
.cy-slot{display:flex;gap:8px}
.cy-time{flex:1;min-height:52px;border-radius:6px;border:1px solid rgba(0,107,255,.5);background:#fff;color:#006BFF;font:inherit;font-size:18px;font-weight:700;cursor:pointer;
  transition:border-color .15s,flex .25s var(--ease),background .15s,color .15s}
.cy-time:hover{border:2px solid #006BFF}
.cy-go{flex:0;width:0;padding:0;min-height:52px;border:0;border-radius:6px;background:#006BFF;color:#fff;font:inherit;font-size:18px;font-weight:700;cursor:pointer;opacity:0;
  transition:flex .25s var(--ease),opacity .2s}
.cy-slot.open .cy-time{flex:1;background:#666a73;border-color:#666a73;color:#fff}
.cy-slot.open .cy-go{flex:1;opacity:1}

.cy-booked{display:none;grid-column:1/-1;flex-direction:column;align-items:center;text-align:center;padding:52px 28px 40px}
.cy.booked .cy-info,.cy.booked .cy-pick{display:none}
.cy.booked .cy-booked{display:flex;animation:tfIn .5s var(--ease)}
.cy-booked__logo{width:56px;height:56px;border-radius:50%;margin-bottom:22px}
.cy-booked h4{display:flex;align-items:center;gap:10px;margin:0;font-size:24px;font-weight:700;color:#0a2540}
.cy-booked h4 svg{width:26px;height:26px}
.cy-booked__sub{margin:10px 0 26px;font-size:17px;color:#4d5055}
.cy-booked__card{display:flex;flex-direction:column;gap:12px;text-align:left;padding:22px 26px;border:1px solid #e7e7e7;border-radius:8px;min-width:min(380px,100%)}
.cy-booked__card b{font-size:20px;color:#0a2540}
.cy-booked__card span{display:flex;align-items:center;gap:10px;font-size:17px;color:#4d5055;font-weight:600}
.cy-booked__card em{font-style:normal}
.cy-booked__card svg{width:18px;height:18px;flex:none;color:#737373}

.cy-foot{grid-column:1/-1;display:flex;justify-content:flex-end;padding:0}
.cy-brand{position:absolute;top:0;right:0;display:inline-flex;align-items:center;gap:6px;padding:9px 16px 9px 14px;font-size:13px;color:#fff;letter-spacing:.02em;
  background:#4d5055;border-bottom-left-radius:8px;font-weight:600;text-transform:uppercase}
.cy-brand b{font-weight:800}
.cy-brand svg{width:14px;height:14px}

/* note after booking */
.next-note{display:flex;align-items:center;gap:18px;max-width:640px;margin:34px auto 0;padding:20px 26px;border-radius:16px;background:var(--paper);
  box-shadow:inset 0 0 0 1px rgba(201,165,107,.45),0 18px 40px -30px rgba(27,21,17,.4)}
.next-note[hidden]{display:none}
.next-note.reveal{animation:bkIn .7s var(--ease) .15s both}
.next-note__ic{flex:none;width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--ivory);color:var(--accent);box-shadow:inset 0 0 0 1px rgba(201,165,107,.6)}
.next-note__ic svg{width:22px;height:22px}
.next-note p{margin:0;font:400 18px/1.55 var(--sans);color:var(--muted)}
.next-note b{color:var(--ink);font-weight:500}

/* ---------- responsive ---------- */
@media (max-width:980px){
  .cy{grid-template-columns:1fr;max-width:640px}
  .cy-info{border-right:0;border-bottom:1px solid #e7e7e7;text-align:center;padding:60px 24px 26px}
  .cy-logo{margin:0 auto 14px}
  .cy-meta{align-items:center}
  .cy-meta li{justify-content:center;text-align:left}
  .cy-pick,.cy.has-day .cy-pick{grid-template-columns:1fr}
  .cy-times{padding:0 24px 26px}
  .cy-day-lab{text-align:center}
  .cy-slots{max-height:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .cy-slot.open{grid-column:1/-1}
}
@media (max-width:700px){
  .rp-hero{padding:72px 0 8px}
  .rp-title{font-size:clamp(32px, 8.6vw, 42px)}
  .rp-hero .fb-eyebrow{letter-spacing:.18em}
  .stage{margin-top:40px;border-radius:16px}
  .stage__play{width:70px;height:70px;margin:-35px 0 0 -35px}
  .stage__play svg{width:26px;height:26px}
  .stage__bar{gap:10px;padding:10px 14px}
  .stage__bar svg{width:15px;height:15px}
  .stage__time{font-size:13px}
  .apply{padding-top:80px}
  .tf__stage{min-height:500px}
  .tf-slide{padding:40px 22px 100px}
  .tf-done{padding:40px 22px 100px}
  .tf-q{font-size:24px}
  .tf-desc{font-size:18px}
  .tf-input{font-size:24px;margin-top:24px}
  .tf-opt{font-size:19px}
  .tf-hint{display:none}
  .tf__brand{font-size:14px}
  .booking{margin-top:64px}
  .cy-cal{padding:24px 14px 22px}
  .cy-h{text-align:center;font-size:20px}
  .cy-month{gap:16px}
  .cy-dow,.cy-grid{gap:4px}
  .cy-day{width:40px;height:40px;font-size:17px}
  .cy-tz{text-align:center}
  .cy-times{padding:0 14px 24px}
  .cy-title{font-size:25px}
  .cy-booked{padding:64px 18px 32px}
  .cy-booked h4{font-size:22px}
  .next-note{padding:18px 18px;gap:14px;align-items:flex-start}
}
@media (max-width:360px){ .cy-day{width:36px;height:36px} }
@media (prefers-reduced-motion:reduce){
  .rp-dot{animation:none}
  .tf-slide.is-active,.tf-done.is-active,.booking.reveal,.next-note.reveal,.cy.booked .cy-booked{animation:none}
}
