:root{
  --cream:#faf8f2;
  --ink:#050505;
  --muted:#5f5f5f;
  --green:#1d7b60;
  --header-h:86px;
  --page-max:2380px;
  --left-w:1080px;
  --hero-gap:170px;
  --content-top:300px;
  --logo-left:48px;
  --logo-top:39px;
  --h1-size:80px;
  --h1-line:0.99;
  --body-size:31px;
  --body-line:1.45;
  --button-w:1072px;
  --button-h:126px;
  --radius-pill:999px;
  --art-w:690px;
  --art-nudge-y:-5px;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}[hidden]{display:none!important}
html,body{margin:0;min-height:100%;background:var(--cream);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;color:var(--ink);}
button{font:inherit;transition:transform .12s ease}button:active{transform:scale(.97)}a{color:inherit;text-decoration:none}.site-header{position:fixed;z-index:10;top:0;left:0;width:100%;height:64px;display:flex;align-items:center;background:#0F2A43;padding:0 24px;pointer-events:none;box-shadow:0 1px 0 rgba(255,255,255,.06)}.site-header .brand{gap:8px;pointer-events:auto}.site-header .brand-mark{width:32px;height:32px;object-fit:contain}.site-header .brand-word{color:#fff;font-size:18px;letter-spacing:-.5px;font-weight:700}.brand{display:inline-flex;align-items:center;gap:12px;pointer-events:auto}.brand-mark{width:73px;height:auto;object-fit:contain}.brand-word{font-size:40px;font-weight:900;line-height:1;letter-spacing:-1.3px;color:var(--ink)}.brand-word span{color:var(--green)}
.app-stage{min-height:100vh;width:100%;background:var(--cream);overflow:hidden}.screen{min-height:100vh;width:100%;position:relative;background:var(--cream)}
.hero-shell{width:min(var(--page-max),100%);height:100vh;margin:0 auto;display:grid;grid-template-columns:var(--left-w) minmax(0,1fr);column-gap:var(--hero-gap);align-items:start;padding-top:var(--content-top)}
.hero-copy{padding-left:0}.hero-title{margin:0;color:var(--ink);font-size:var(--h1-size);font-weight:900;line-height:var(--h1-line);letter-spacing:-5px;max-width:var(--left-w)}.accent{color:var(--green)}.hero-body{margin:50px 0 0;max-width:1030px;color:var(--muted);font-size:var(--body-size);font-weight:400;line-height:var(--body-line);letter-spacing:-.95px}.next-btn{margin-top:56px;width:var(--button-w);height:var(--button-h);border:0;border-radius:var(--radius-pill);background:#000;color:white;font-size:33px;font-weight:800;letter-spacing:-.55px;display:inline-flex;align-items:center;justify-content:center;gap:22px;cursor:pointer;box-shadow:none}.next-btn:active{transform:scale(.93);opacity:.85}.arrow{font-size:42px;line-height:1;transform:translateY(-1px)}
.hero-art{position:relative;width:var(--art-w);height:690px;display:flex;align-items:center;justify-content:center;transform:translateY(var(--art-nudge-y));}.hero-art img{display:block;max-width:100%;max-height:100%;width:100%;height:100%;object-fit:contain}.art-screen-1{--art-w:690px;--art-nudge-y:-2px}.art-screen-2{--art-w:700px;--art-nudge-y:-22px}.art-screen-3{--art-w:750px;--art-nudge-y:-50px}.art-screen-4{--art-w:760px;--art-nudge-y:-28px}.art-screen-5{--art-w:760px;--art-nudge-y:-38px}.screen-1 .hero-title{max-width:945px}.screen-2 .hero-title{max-width:980px}.screen-3 .hero-title{max-width:1020px}.screen-4 .hero-title{max-width:1010px}.screen-5 .hero-title{max-width:1045px}.screen-3 .hero-body{max-width:1070px}.screen-4 .hero-body{max-width:1050px}.screen-5 .hero-body{max-width:980px}.screen-5 .emoji{font-size:.78em;vertical-align:.08em;margin-left:14px}
/* Reference screenshots are ~2760px wide. This keeps the page visually aligned on common desktop widths. */
@media (max-width: 1600px){
  :root{--page-max:1295px;--left-w:585px;--hero-gap:92px;--content-top:140px;--logo-left:26px;--logo-top:22px;--header-h:74px;--h1-size:43px;--body-size:17px;--button-w:580px;--button-h:68px;--art-w:374px}.brand-mark{width:40px}.brand-word{font-size:22px;letter-spacing:-.7px}.brand{gap:7px}.hero-title{letter-spacing:-2.7px}.hero-body{margin-top:27px;letter-spacing:-.52px}.next-btn{margin-top:31px;font-size:18px;gap:12px}.arrow{font-size:23px}.hero-art{height:374px}.screen-1 .hero-title{max-width:512px}.screen-2 .hero-title{max-width:532px}.screen-3 .hero-title{max-width:552px}.screen-4 .hero-title{max-width:548px}.screen-5 .hero-title{max-width:566px}.art-screen-1{--art-w:374px}.art-screen-2{--art-w:380px}.art-screen-3{--art-w:406px}.art-screen-4{--art-w:412px}.art-screen-5{--art-w:412px}.hero-shell{padding-left:40px}}
@media (max-width: 900px){
  :root{--content-top:116px;--h1-size:44px;--body-size:18px;--button-w:100%;--button-h:66px;--logo-left:22px;--logo-top:22px}.app-stage{overflow:auto}.screen{min-height:auto}.hero-shell{height:auto;min-height:100svh;display:flex;flex-direction:column;padding:100px 22px 42px;gap:34px}.hero-copy{width:100%}.hero-title{letter-spacing:-2.6px;max-width:100%!important}.hero-body{max-width:100%;margin-top:22px}.next-btn{margin-top:28px}.hero-art{order:-1;width:78vw!important;height:auto;align-self:center;margin-top:10px;transform:none}.hero-art img{height:auto}.brand-mark{width:38px}.brand-word{font-size:22px}}
@media (max-width:1050px) and (min-width:901px){
  .hero-shell{display:flex;flex-direction:column;height:auto;min-height:100svh;padding:100px 40px 48px;gap:28px}.hero-art{order:-1;width:min(55vw,360px)!important;height:auto;align-self:center;transform:none}.hero-art img{height:auto}.hero-title{max-width:100%!important}}


/* Additional MoneyPilot-style templates */
.question-screen,
.source-screen{
  min-height:100vh;
  width:100%;
  background:var(--cream);
  overflow-y:auto;
  overflow-x:hidden;
}

.plain-question-wrap{
  width:640px;
  max-width:calc(100vw - 44px);
  margin:0 auto;
  padding-top:315px;
  padding-bottom:70px;
}

.plain-title{
  margin:0;
  font-size:62px;
  line-height:.96;
  font-weight:900;
  letter-spacing:-3.9px;
  color:#050505;
}

.gender-symbols{
  margin-top:18px;
  font-size:58px;
  line-height:1;
  letter-spacing:4px;
  font-weight:600;
}

.plain-body{
  margin:24px 0 50px;
  color:#5f5f5f;
  font-size:21px;
  line-height:1.35;
  letter-spacing:-.45px;
}

.plain-options{
  display:flex;
  flex-direction:column;
  gap:24px;
}

.plain-option,
.source-option{
  border:3px solid #e2e5ec;
  background:#fff;
  color:#050505;
  cursor:pointer;
}

.plain-option{
  width:100%;
  height:76px;
  border-radius:18px;
  font-size:22px;
  font-weight:650;
  text-align:center;
}

.plain-option.is-selected,
.source-option.is-selected{
  border-color:var(--green);
  background:#f5f5ef;
}

.plain-cta,
.source-cta{
  width:100%;
  height:78px;
  border:0;
  border-radius:999px;
  margin-top:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  background:#e7e7e7;
  color:#aaa;
  font-size:24px;
  font-weight:850;
  cursor:not-allowed;
}

.plain-cta.is-active,
.source-cta.is-active{
  background:#000;
  color:#fff;
  cursor:pointer;
}

/* Attribution/source screen */
.source-wrap{
  width:860px;
  max-width:calc(100vw - 44px);
  margin:0 auto;
  padding-top:168px;
  padding-bottom:92px;
}

.source-title{
  margin:0 0 70px;
  font-size:63px;
  line-height:.96;
  font-weight:900;
  letter-spacing:-3.9px;
  color:#050505;
}

.source-title span{color:var(--green)}

.source-options{
  display:flex;
  flex-direction:column;
  gap:28px;
}

.source-option{
  width:100%;
  height:94px;
  border-radius:24px;
  display:flex;
  align-items:center;
  gap:28px;
  padding:0 40px;
  font-size:30px;
  font-weight:760;
  letter-spacing:-.7px;
  text-align:left;
}

.source-option img{
  width:38px;
  height:38px;
  object-fit:contain;
  flex:none;
}

.source-friends,
.source-blank{
  width:38px;
  height:38px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:31px;
  filter:grayscale(1) contrast(1.4);
}

.source-blank{display:none}

.source-cta{
  margin-top:118px;
  height:94px;
  font-size:29px;
}

/* Revisit */
.revisit-shell{
  --content-top:385px;
}
.revisit-screen .hero-title{
  max-width:980px;
}
.revisit-art{
  width:760px;
  height:760px;
  transform:translateY(-55px);
}

/* desktop scaling matching current screenshot/browser sizes */
@media (max-width:1600px){
  .plain-question-wrap{
    width:432px;
    padding-top:171px;
    padding-bottom:38px;
  }
  .plain-title{
    font-size:34px;
    letter-spacing:-2.1px;
  }
  .gender-symbols{
    margin-top:9px;
    font-size:32px;
    letter-spacing:2px;
  }
  .plain-body{
    margin:13px 0 27px;
    font-size:12px;
    letter-spacing:-.25px;
  }
  .plain-options{gap:13px}
  .plain-option{
    height:41px;
    border-radius:10px;
    border-width:1.6px;
    font-size:12px;
  }
  .plain-cta{
    height:42px;
    margin-top:22px;
    font-size:13px;
    gap:8px;
  }

  .source-wrap{
    width:530px;
    padding-top:86px;
    padding-bottom:64px;
  }
  .source-title{
    margin-bottom:38px;
    font-size:35px;
    letter-spacing:-2.2px;
  }
  .source-options{gap:14px}
  .source-option{
    height:54px;
    border-radius:13px;
    border-width:1.5px;
    padding:0 23px;
    gap:17px;
    font-size:17px;
  }
  .source-option img,
  .source-friends{
    width:23px;
    height:23px;
    font-size:19px;
  }
  .source-cta{
    height:55px;
    margin-top:44px;
    font-size:17px;
  }
  .revisit-shell{--content-top:210px}
  .revisit-art{width:410px!important;height:410px;transform:translateY(-28px)}
}

@media (max-width:900px){
  .plain-question-wrap{
    padding-top:120px;
    width:min(100%, 430px);
  }
  .plain-title{
    font-size:44px;
    letter-spacing:-2.7px;
  }
  .gender-symbols{
    font-size:42px;
  }
  .plain-body{
    font-size:16px;
  }
  .plain-option{
    height:62px;
    font-size:18px;
  }
  .plain-cta{
    height:66px;
    font-size:19px;
  }

  .source-wrap{
    width:min(100%, 520px);
    padding:104px 22px 44px;
    max-width:none;
  }
  .source-title{
    font-size:40px;
    letter-spacing:-2.4px;
    margin-bottom:34px;
  }
  .source-option{
    height:66px;
    font-size:20px;
    border-radius:16px;
    padding:0 22px;
  }
  .source-cta{
    height:68px;
    margin-top:36px;
  }
  .revisit-art{
    width:82vw!important;
    height:auto;
  }
}

/* === Fixed separate templates: desktop/mobile + quiz === */

/* Keep intro CTA in normal flow under body - never bottom-fixed */
.hero-copy{display:block;align-self:start}.next-btn{position:relative;bottom:auto;left:auto;right:auto}

/* /7: scroll ONLY the options list */
.source-list-scroll{overflow-y:auto;overflow-x:hidden;padding-right:0;max-height:none}.source-cta{position:relative;flex:none}

/* Quiz template */
.quiz-screen{min-height:100vh;background:var(--brand-dark);overflow:hidden;color:#111827}.quiz-brand{position:fixed;left:38px;top:46px;display:flex;align-items:center;gap:10px;color:#fff;font-weight:900;font-size:32px;letter-spacing:-1px;z-index:4}.quiz-brand img{width:44px;height:auto;filter:brightness(0) invert(1)}.quiz-brand span span{color:#17B0A0}.quiz-counter{position:fixed;top:72px;right:38px;background:#fff;color:#111;border-radius:999px;padding:17px 31px;font-size:22px;font-weight:800;letter-spacing:-.3px;z-index:4}.quiz-card{position:relative;width:1334px;height:calc(100vh - 150px);min-height:760px;max-height:none;margin:150px auto 0;background:#fff;border-radius:58px 58px 0 0;padding:174px 100px 70px;box-shadow:0 24px 65px rgba(0,0,0,.08)}.quiz-title{margin:0;max-width:1080px;color:#121827;font-size:68px;line-height:1.05;font-weight:900;letter-spacing:-3.6px}.quiz-icon,.quiz-icon-stack{position:absolute;left:86px;top:-82px;z-index:3}.quiz-icon{background:#fff;border-radius:32px;box-shadow:0 12px 48px rgba(0,0,0,.18);padding:20px;display:flex;align-items:center;justify-content:center;width:228px;height:228px}.quiz-icon img{width:228px;height:228px;object-fit:contain}.quiz-icon-stack{display:flex;align-items:center;justify-content:center;gap:16px;left:95px;top:-86px}.quiz-icon-stack img{width:120px;height:120px;object-fit:contain;filter:none}.quiz-options{position:absolute;left:100px;right:100px;bottom:72px;display:flex;flex-direction:column;gap:28px}.quiz-option{height:106px;border:4px solid #d3d8e0;background:#fff;border-radius:22px;color:#273142;font-size:28px;font-weight:500;cursor:pointer}.quiz-option.is-selected{border-color:var(--green);background:#f4f5f0}
.loading-screen{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:var(--cream);padding:40px}.loading-card-icon{width:128px;height:128px;border-radius:26px;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 22px 40px rgba(0,0,0,.12);transform:rotate(7deg);margin-bottom:72px}.loading-card-icon img{width:64px;height:64px;object-fit:contain}.loading-screen h1{margin:0;font-size:72px;line-height:1;font-weight:900;letter-spacing:-4px}.loading-screen p{margin:32px 0 0;color:#6b7280;font-size:28px;letter-spacing:-.4px}

@media (max-width:1600px){
  .quiz-counter{top:72px;right:24px;padding:10px 20px;font-size:13px}.quiz-card{width:716px;height:calc(100vh - 112px);min-height:520px;max-height:none;margin-top:112px;border-radius:32px 32px 0 0;padding:99px 54px 38px}.quiz-title{font-size:37px;letter-spacing:-1.95px;max-width:606px}.quiz-icon,.quiz-icon-stack{left:47px;top:-45px}.quiz-icon{width:124px;height:124px}.quiz-icon img{width:124px;height:124px}.quiz-icon-stack{left:51px;top:-47px;gap:8px}.quiz-icon-stack img{width:91px;height:91px}.quiz-options{left:54px;right:54px;bottom:76px;gap:15px}.quiz-option{height:58px;border-width:2px;border-radius:12px;font-size:15px}.loading-card-icon{width:70px;height:70px;border-radius:14px;margin-bottom:39px}.loading-card-icon img{width:35px;height:35px}.loading-screen h1{font-size:39px;letter-spacing:-2.2px}.loading-screen p{font-size:15px;margin-top:17px}
}

@media (min-width:901px){
  .source-list-scroll{max-height:calc(100vh - 330px)}
}

@media (max-width:900px){
  .quiz-screen{min-height:100svh;overflow:hidden}.quiz-counter{right:18px;top:72px;font-size:13px;padding:10px 15px}.quiz-card{width:calc(100vw - 44px);height:calc(100svh - 116px);min-height:620px;margin:116px 22px 0;border-radius:30px 30px 0 0;padding:95px 28px 30px;overflow:visible}.quiz-title{font-size:34px;line-height:1.05;letter-spacing:-1.9px}.quiz-icon{left:28px;top:-48px;width:120px;height:120px}.quiz-icon img{width:120px;height:120px}.quiz-icon-stack{left:30px;top:-48px;gap:5px}.quiz-icon-stack img{width:82px;height:82px}.quiz-options{left:28px;right:28px;bottom:34px;gap:14px}.quiz-option{height:64px;border-width:2px;border-radius:14px;font-size:18px}.loading-screen h1{font-size:40px;letter-spacing:-2px}.loading-screen p{font-size:17px}.loading-card-icon{width:78px;height:78px;margin-bottom:42px}
  .source-wrap{min-height:100svh;display:flex;flex-direction:column}.source-list-scroll{flex:1;min-height:0;max-height:none;overflow-y:auto;padding-bottom:18px}.source-cta{margin-top:18px;flex:0 0 auto}.source-options{padding-bottom:0}
  .hero-art{order:0!important}
}

/* === APPROVED /6 DESKTOP BASELINE — isolated from /7 and quiz rules === */
@media (min-width:901px) and (max-width:1600px){
  .gender-screen .plain-question-wrap.gender-wrap{
    width:480px;
    max-width:480px;
    padding-top:123px;
    padding-bottom:40px;
  }
  .gender-screen .plain-title.gender-title{
    font-size:50px;
    line-height:.96;
    letter-spacing:-3px;
    white-space:nowrap;
  }
  .gender-screen .gender-symbols{
    margin-top:14px;
    font-size:52px;
    line-height:1;
    letter-spacing:3px;
  }
  .gender-screen .plain-body{
    margin:20px 0 34px;
    font-size:16px;
    line-height:1.35;
    letter-spacing:-.35px;
  }
  .gender-screen .plain-options{
    gap:18px;
  }
  .gender-screen .plain-option{
    height:74px;
    border-radius:15px;
    border-width:2px;
    font-size:20px;
    font-weight:650;
  }
  .gender-screen .plain-cta{
    height:68px;
    margin-top:34px;
    border-radius:999px;
    font-size:20px;
    font-weight:850;
    gap:12px;
  }
  .gender-screen .plain-cta .arrow{
    font-size:25px;
  }
}

/* Desktop mid-range: 1601–2380px (1920p monitors — fills the gap between 1600px MQ and the 2760px root defaults) */
@media(min-width:1601px) and (max-width:2380px){
  :root{--page-max:1550px;--left-w:700px;--hero-gap:110px;--content-top:168px;--logo-left:32px;--logo-top:26px;--header-h:88px;--h1-size:52px;--body-size:20px;--button-w:696px;--button-h:82px;--art-w:450px}
  .brand-mark{width:48px}.brand-word{font-size:26px;letter-spacing:-.84px}.brand{gap:8px}
  .hero-title{letter-spacing:-3.2px}.hero-body{margin-top:32px;letter-spacing:-.62px}.next-btn{margin-top:37px;font-size:22px;gap:14px}.arrow{font-size:28px}.hero-art{height:450px}
  .screen-1 .hero-title{max-width:614px}.screen-2 .hero-title{max-width:638px}.screen-3 .hero-title{max-width:662px}.screen-4 .hero-title{max-width:658px}.screen-5 .hero-title{max-width:680px}
  .art-screen-1{--art-w:450px}.art-screen-2{--art-w:456px}.art-screen-3{--art-w:488px}.art-screen-4{--art-w:494px}.art-screen-5{--art-w:494px}
  .hero-shell{padding-left:48px}
  .plain-question-wrap{width:520px;padding-top:205px;padding-bottom:46px}.plain-title{font-size:41px;letter-spacing:-2.5px}.gender-symbols{margin-top:11px;font-size:38px;letter-spacing:2.4px}.plain-body{margin:16px 0 32px;font-size:14px;letter-spacing:-.3px}.plain-options{gap:16px}.plain-option{height:49px;border-radius:12px;border-width:2px;font-size:14px}.plain-cta{height:50px;margin-top:26px;font-size:16px;gap:10px}
  .source-wrap{width:636px;padding-top:103px;padding-bottom:77px}.source-title{margin-bottom:46px;font-size:42px;letter-spacing:-2.6px}.source-options{gap:17px}.source-option{height:65px;border-radius:16px;border-width:2px;padding:0 28px;gap:20px;font-size:20px}.source-option img,.source-friends{width:28px;height:28px;font-size:23px}.source-cta{height:66px;margin-top:53px;font-size:20px}.revisit-shell{--content-top:252px}.revisit-art{width:492px!important;height:492px;transform:translateY(-34px)}
  .gender-screen .plain-question-wrap.gender-wrap{width:576px;max-width:576px;padding-top:148px;padding-bottom:48px}.gender-screen .plain-title.gender-title{font-size:60px;line-height:.96;letter-spacing:-3.6px;white-space:nowrap}.gender-screen .gender-symbols{margin-top:17px;font-size:62px;line-height:1;letter-spacing:3.6px}.gender-screen .plain-body{margin:24px 0 41px;font-size:19px;line-height:1.35;letter-spacing:-.42px}.gender-screen .plain-options{gap:22px}.gender-screen .plain-option{height:89px;border-radius:18px;border-width:2.4px;font-size:24px;font-weight:650}.gender-screen .plain-cta{height:82px;margin-top:41px;border-radius:999px;font-size:24px;font-weight:850;gap:14px}.gender-screen .plain-cta .arrow{font-size:30px}
  .quiz-counter{top:72px;right:28px;padding:12px 24px;font-size:15px}.quiz-card{width:860px;height:calc(100vh - 130px);min-height:580px;margin-top:130px;border-radius:40px 40px 0 0;padding:118px 64px 48px}.quiz-title{font-size:46px;letter-spacing:-2.4px;max-width:730px}.quiz-icon,.quiz-icon-stack{left:58px;top:-56px}.quiz-icon{width:150px;height:150px}.quiz-icon img{width:150px;height:150px}.quiz-icon-stack{left:63px;top:-58px;gap:10px}.quiz-icon-stack img{width:110px;height:110px}.quiz-options{left:64px;right:64px;bottom:80px;gap:18px}.quiz-option{height:72px;border-width:2px;border-radius:15px;font-size:18px}.loading-screen h1{font-size:48px;letter-spacing:-2.8px}.loading-screen p{font-size:18px}
}

/* Result after calculating */

.result-estimate-screen{
  min-height:100vh;
  background:var(--cream);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:0 24px;
  overflow:hidden;
}
.result-estimate-card .estimate-amount-row{
  display:flex;
  align-items:baseline;
  gap:12px;
  flex-wrap:wrap;
}
.result-estimate-card .estimate-amount-prefix{
  margin-top:24px;
  font-size:58px;
  font-weight:900;
  color:#111827;
  transition:color .5s ease;
}
.result-estimate-card .estimate-amount-asterisk{
  margin-top:24px;
  margin-left:-8px;
  align-self:flex-start;
  font-size:26px;
  font-weight:900;
  color:#111827;
  transition:color .5s ease;
}
.result-estimate-card .estimate-amount{
  display:inline-block;
  margin-top:24px;
  padding:4px 14px;
  border-radius:14px;
  color:#111827;
  font-size:58px;
  line-height:.9;
  font-weight:900;
  letter-spacing:-2px;
  transition:color .5s ease;
}
/* Competitor pattern (moneypilot.com, sampled 2026-08-24): the reveal number
   is plain black while it's counting up, and only turns green once the
   count-up lands — .is-final is added by result-estimate.ts's bind() when
   the animation completes. */
.result-estimate-card .estimate-amount-prefix.is-final,
.result-estimate-card .estimate-amount-asterisk.is-final,
.result-estimate-card .estimate-amount.is-final{
  color:var(--green);
}
.result-estimate-card p{
  max-width:430px;
  margin-top:28px;
}
.result-estimate-card .estimate-doodle{
  right:74px;
  bottom:156px;
  width:184px;
}
/* Absolute + a hardcoded bottom offset only ever "fits" the gap between the
   amount and the Next button by luck — that gap's height depends on the
   viewport while the doodle's offset is fixed, so the two collide whenever
   the viewport is shorter than whoever tuned these pixel values had open
   (2026-08-25 screenshot: mascot over the Next button — reproduces at every
   width tested, not just mobile). Taking the doodle out of absolute flow and
   giving IT margin-top:auto (moved off .estimate-actions-v1 below) instead
   of centering it makes the mascot hug the button the way it's meant to:
   the doodle eats all the flex column's leftover space and sits right above
   the button-and-disclaimer stack that follows it, on every viewport, with
   no pixel math to keep in sync with content height. right/bottom above
   (and per-breakpoint below) still size it, just no longer position it.
   margin-left:auto pushes it flush with the button's right edge (2026-08-25:
   "подвинь маскота вправо до края кнопки"); margin-right isn't 0 — the
   button is a full pill (border-radius:9999px), so its right end is one
   continuous curve starting a radius (= half its own height) in from the
   true edge, and 0 landed the doodle hanging off that curve over the
   button's background rather than resting on the black pill itself. Each
   breakpoint below sets its own margin-right matching ITS button height's
   radius, since the button's height (hence radius) changes per breakpoint. */
.result-estimate-card .estimate-doodle{
  position:static;
  display:block;
  margin:0 30px 0 auto;
  margin-top:auto;
  right:auto;
  bottom:auto;
}
@media (max-width:1600px){
  .result-estimate-card .estimate-amount{font-size:70px;letter-spacing:-3.8px;margin-top:20px}
  .result-estimate-card .estimate-amount-prefix,.result-estimate-card .estimate-amount-asterisk{margin-top:20px}
  .result-estimate-card .estimate-amount-prefix{font-size:70px}
  .result-estimate-card .estimate-amount-asterisk{font-size:26px}
  .result-estimate-card p{margin-top:20px;max-width:360px}
  .result-estimate-card .estimate-doodle{width:138px;right:58px;bottom:132px;margin-right:26px}
}
@media (max-width:900px){
  .result-estimate-screen{min-height:100svh;align-items:flex-end;padding:0 18px;overflow:auto}
  .result-estimate-card .estimate-amount{font-size:62px;letter-spacing:-3px;margin-top:18px}
  .result-estimate-card .estimate-amount-prefix,.result-estimate-card .estimate-amount-asterisk{margin-top:18px}
  .result-estimate-card .estimate-amount-prefix{font-size:62px}
  .result-estimate-card .estimate-amount-asterisk{font-size:22px}
  .result-estimate-card .estimate-doodle{width:112px;right:34px;bottom:150px;margin-right:28px}
}
@media (max-width:430px){
  /* "Up to $700 *" was wrapping to two lines on narrow phones at the
     900px-breakpoint font sizes — shrink just enough to fit on one line. */
  .result-estimate-card .estimate-amount-row{gap:8px}
  .result-estimate-card .estimate-amount{font-size:44px;letter-spacing:-2px;margin-top:14px}
  .result-estimate-card .estimate-amount-prefix,.result-estimate-card .estimate-amount-asterisk{margin-top:14px}
  .result-estimate-card .estimate-amount-prefix{font-size:44px}
  .result-estimate-card .estimate-amount-asterisk{font-size:16px}
}

/* estimate.ts (v2 app): plain-flow card has no absolute-pinned action bar
   (see the screen's own header comment — that mechanism caused two overlap
   bugs here already), so the card's min-height left Next+the disclaimer
   stranded with a big gap of empty space below them on tall viewports
   (Anton, 2026-08-10 screenshot). Push them to the bottom via flexbox
   instead of absolute positioning — margin-top:auto only consumes leftover
   space, so unlike position:absolute it can never overlap the headline or
   mascot above it. Scoped with :has() to v2's markup only — .estimate-
   actions doesn't exist in the v1 funnel's result-estimate.ts, which still
   uses the old shared .result-actions absolute wrapper (result-floor.ts
   uses it too — untouched below). */
.result-estimate-card:has(.estimate-actions){display:flex;flex-direction:column}
.estimate-actions{margin-top:auto;padding-top:24px}
@media (max-width:900px){
  /* .result-card's 180px bottom padding (below) reserves room for the OLD
     absolute .result-actions bar; v2's actions flow in-place now, so that
     much reserved space would just reopen the same empty-gap complaint. */
  .result-card:has(.estimate-actions){padding-bottom:40px}
}

/* result-estimate.ts (v1 funnel): share button removed and the disclaimer
   moved after Next in the markup (Anton, 2026-08-25) — same empty-gap risk
   as v2 above once .result-actions goes back to normal flow, so it gets the
   identical margin-top:auto fix, scoped to this screen's own
   .estimate-actions-v1 marker class so result-floor.ts's plain
   .result-actions (still absolute, untouched) isn't affected. */
.result-estimate-card:has(.estimate-actions-v1){display:flex;flex-direction:column}
.result-estimate-card .estimate-actions-v1{position:static;padding-top:24px}
/* Doodle sits flush against the button (2026-08-25: "отступа быть не должно
   вообще") — its own margin is already 0, so the last bit of gap was this
   padding-top, which existed for the FLOW_FAST claim-cards variant (no
   doodle) and doesn't belong once a doodle is directly above. Scoped to
   :has(.estimate-doodle) so FLOW_FAST's own spacing is untouched. */
.result-estimate-card:has(.estimate-doodle) .estimate-actions-v1{padding-top:0}
@media (max-width:900px){
  .result-card:has(.estimate-actions-v1){padding-bottom:40px}
}

.result-floor-screen{
  min-height:100vh;
  background:var(--cream);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  padding:0 24px;
  overflow:hidden;
}
.result-card{
  position:relative;
  width:760px;
  min-height:720px;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:42px 42px 0 0;
  box-shadow:0 -12px 70px rgba(0,0,0,.07), 0 -44px 90px rgba(29,123,96,.05);
  padding:72px 64px 40px;
}
.result-card::before,
.result-card::after{
  content:"";
  position:absolute;
  left:24px;
  right:24px;
  height:28px;
  border:1px solid rgba(0,0,0,.05);
  border-bottom:0;
  border-radius:38px 38px 0 0;
  background:rgba(255,255,255,.65);
  top:-18px;
  z-index:-1;
}
.result-card::after{
  left:42px;
  right:42px;
  top:-34px;
  opacity:.55;
}
.result-card h1{
  margin:0;
  color:#050505;
  font-size:70px;
  line-height:.92;
  letter-spacing:-4.6px;
  font-weight:900;
}
.result-card p{
  margin:32px 0 0;
  color:#5f5f5f;
  font-size:24px;
  line-height:1.38;
  letter-spacing:-.55px;
}
.result-doodle{
  position:absolute;
  right:76px;
  bottom:102px;
  width:178px;
  height:auto;
  object-fit:contain;
}
.result-actions{
  position:absolute;
  left:64px;
  right:64px;
  bottom:40px;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.share-btn,
.result-next-btn{
  width:100%;
  height:62px;
  border:0;
  border-radius:999px;
  font-weight:850;
  font-size:20px;
  letter-spacing:-.35px;
  cursor:pointer;
}
.share-btn{
  background:#e5e7eb;
  color:#4b5563;
}
.share-btn span{margin-right:8px}
.result-next-btn{
  background:#000;
  color:#fff;
}

@media (max-width:1600px){
  .result-card{width:604px;min-height:548px;border-radius:30px 30px 0 0;padding:47px 46px 30px}
  .result-card::before{height:20px;top:-13px;border-radius:26px 26px 0 0}
  .result-card::after{height:20px;top:-24px;border-radius:26px 26px 0 0}
  .result-card h1{font-size:50px;letter-spacing:-3.2px;line-height:.92}
  .result-card p{font-size:19px;line-height:1.35;margin-top:25px;letter-spacing:-.45px}
  .result-doodle{width:130px;right:58px;bottom:78px}
  .result-actions{left:46px;right:46px;bottom:26px;gap:10px}
  .share-btn,.result-next-btn{height:52px;font-size:16px}
}

@media (max-width:900px){
  .result-floor-screen{min-height:100svh;align-items:flex-end;padding:0 18px;overflow:auto}
  .result-card{width:100%;min-height:calc(100svh - 96px);padding:46px 28px 180px;border-radius:28px 28px 0 0}
  .result-card h1{font-size:42px;line-height:.94;letter-spacing:-2.7px}
  .result-card p{font-size:16px;margin-top:22px;max-width:calc(100% - 120px)}
  .result-doodle{width:112px;right:34px;bottom:86px}
  .result-actions{left:28px;right:28px;bottom:28px;gap:12px}
  .share-btn,.result-next-btn{height:58px;font-size:17px}
}

/* === Post-calculation clone screens === */
/* dark-card-theme: site-header always visible */
.email-screen{position:relative;min-height:100vh;background:#063f28;display:flex;align-items:center;justify-content:center;overflow:hidden;color:#050505;background-image:radial-gradient(rgba(255,255,255,.08) 1px, transparent 1px);background-size:14px 14px;padding-top:64px}
.email-topbar{position:absolute;top:0;left:0;right:0;height:64px;display:flex;align-items:center;padding:0 38px;z-index:10}
.email-nav-brand{display:flex;align-items:center;gap:8px;font-weight:900;font-size:22px;letter-spacing:-.5px;color:#fff}
.email-nav-brand img{width:36px;filter:brightness(0) invert(1)}
.email-nav-brand span span{color:#17C88A}
.email-panel{position:relative;width:760px;background:#fff;border-radius:38px;padding:70px 64px 38px;box-shadow:0 22px 70px rgba(0,0,0,.18)}
.email-float-icon{position:absolute;right:34px;top:-58px;width:112px;height:112px;border-radius:20px;background:#fff;display:flex;align-items:center;justify-content:center;transform:rotate(-6deg);box-shadow:0 18px 34px rgba(0,0,0,.18)}
.email-float-icon img{width:54px;height:54px;object-fit:contain}
.email-panel h1{margin:0 0 48px;font-size:53px;line-height:.99;letter-spacing:-3.2px;font-weight:900;color:#050505}
.email-label{display:block;margin-bottom:12px;font-size:22px;font-weight:700;color:#050505}
.email-input{width:100%;height:76px;border:3px solid #e1e5ec;background:#f9fafb;border-radius:20px;padding:0 24px;font-size:23px;outline:none}.email-input.is-valid,.email-input:focus{border-color:#22c55e}
.email-submit{width:100%;height:82px;margin-top:28px;border:0;border-radius:999px;background:#111827;color:#fff;font-size:26px;font-weight:850;cursor:pointer}.email-submit:disabled{opacity:.5;cursor:not-allowed}
.privacy-line{margin:70px 0 0;color:#7b8492;font-size:18px;line-height:1.5}.privacy-line span{margin-right:20px}.privacy-line b{color:#111}
.flow-back{position:fixed;left:360px;top:46px;z-index:20;border:0;background:transparent;font-size:46px;line-height:1;cursor:pointer;color:#050505}.flow-brand{position:fixed;top:44px;left:38px;transform:none;z-index:20;display:flex;align-items:center;gap:8px;font-weight:900;font-size:30px;letter-spacing:-1px}.flow-brand img{width:46px}.flow-brand span span{color:var(--green)}
.claims-screen,.details-screen,.claimform-screen{min-height:100vh;background:var(--cream);color:#050505;overflow:auto;padding-top:112px}.claims-wrap{width:1080px;margin:0 auto 180px}.claims-wrap h1{margin:0;text-align:center;font-size:58px;letter-spacing:-2.7px;line-height:1;font-weight:900}.claims-wrap>p{text-align:center;color:#666;margin:28px 0 54px;font-size:24px}.claims-search{display:grid;grid-template-columns:1fr 74px;gap:14px;margin-bottom:30px}.claims-search input{height:68px;border:1px solid #dfe3eb;border-radius:10px;padding:0 20px 0 52px;font-size:22px;background:#fff}.claims-search span{position:absolute;margin:22px 0 0 22px;color:#94a3b8;font-size:24px}.claims-search button{border:1px solid #dfe3eb;background:#fff;border-radius:10px;font-size:26px;color:#263244}.claim-list{display:flex;flex-direction:column;gap:26px}.claim-card.is-selected{border-color:var(--green);background:#fff}.claim-logo{width:90px;height:90px;object-fit:contain;align-self:center}.claim-copy strong{display:block;font-size:26px;font-weight:850;margin-bottom:16px}.claim-meta{display:flex;flex-wrap:wrap;gap:22px;color:#666;font-size:18px}.claim-meta span:first-child,.claim-amount{color:var(--brand-primary)}.claim-amount{font-size:22px;font-weight:800;margin-top:18px}.claim-card.is-selected .claim-check{border-color:var(--green);background:var(--green)}.claims-bottom,.form-bottom{position:fixed;left:0;right:0;bottom:0;z-index:30;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);box-shadow:0 -12px 28px rgba(0,0,0,.07);min-height:118px;padding:10px 0;display:flex;align-items:center;justify-content:center;gap:26px}.claims-bottom>div{width:980px;font-size:22px}.claims-bottom strong{display:block;margin-bottom:8px;font-weight:600}.claims-bottom b{font-size:32px;font-weight:800;color:#EFB041;transition:color .2s}.claims-bottom b.is-active{color:#25B36B}.claims-cap-sep{color:#9CA3AF;font-weight:800}.claims-cap{color:#1C7359;font-weight:800}.claims-progress-track{width:100%;height:6px;border-radius:9999px;background:#EEEBE3;overflow:hidden;margin:6px 0}.claims-progress-fill{height:100%;border-radius:9999px;background:#25B36B;width:0;transition:width .3s ease}.claims-bottom button,.green,.outline{height:72px;border-radius:9px;font-size:22px;font-weight:800;cursor:pointer}.claims-bottom button,.green{background:var(--green);color:#fff;border:0;padding:0 62px}.claims-bottom button:disabled,.green:disabled{opacity:.45;cursor:not-allowed}.outline{background:#fff;color:#344050;border:2px solid #d6dce5;padding:0 62px}
.details-wrap{width:960px;margin:0 auto 190px}.details-wrap h1{margin:0 0 18px;font-size:48px;line-height:1;font-weight:900;letter-spacing:-2px}.details-wrap>p{font-size:22px;color:#666;margin:0 0 44px}.selected-claims{margin:0 0 42px;display:flex;flex-wrap:wrap;gap:14px}.selected-claims span{display:inline-flex;align-items:center;gap:10px;height:40px;border:1px solid #d8dee8;border-radius:8px;background:#fff;padding:0 14px;font-size:18px;white-space:nowrap;cursor:pointer}.selected-claims img{width:18px;height:18px;object-fit:contain}.selected-claims b{color:#9ca3af;font-weight:500}.details-wrap h2{font-size:29px;margin:0 0 30px}.claimant-form{display:flex;flex-direction:column;gap:24px}.claimant-form label{font-size:22px;font-weight:700}.claimant-form label::first-letter{} .claimant-form input,.claimant-form select{display:block;margin-top:12px;width:100%;height:72px;border:1px solid #dde4ee;background:#fff;border-radius:13px;padding:0 24px;font-size:22px;color:#111;outline:none;-webkit-appearance:none;appearance:none}.claimant-form input:focus,.claimant-form select:focus{border-color:var(--green)}.form-bottom{justify-content:center}.form-bottom .outline,.form-bottom .green{width:470px;max-width:30vw}
.claimform-screen{padding-top:116px;overflow:auto}.claimform-head{width:920px;margin:0 auto 54px}.progress-wrap{height:8px;background:#e2e8f0;border-radius:999px;margin-bottom:22px;overflow:hidden}.progress-line{height:8px;background:var(--green);border-radius:999px;margin-bottom:0;transition:width .25s ease}.claimform-head h1{margin:0 0 14px;font-size:34px;line-height:1;font-weight:900;letter-spacing:-1.2px;color:#142033}.claimform-head p{margin:0;color:#718096;font-size:18px;line-height:1.5}.pdf-stage{width:960px;margin:0 auto 150px;background:#e7e3dc;padding:0 12px 30px}.pdf-page{width:100%;background:#fff;min-height:1040px;box-shadow:0 8px 25px rgba(0,0,0,.08)}.pdf-top{height:40px;background:#9ca3b5;color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;font-size:12px;font-weight:800}.pdf-body{padding:120px 48px 38px;text-align:center;font-family:Times New Roman,serif;color:#000}.pdf-body h3{text-decoration:underline;font-size:20px}.pdf-body h4{font-size:20px}.pdf-body h5{text-decoration:underline;font-size:18px}.pdf-body p{font-size:16px}.pdf-table{width:100%;border-collapse:collapse;text-align:left;margin-top:70px;font-size:16px}.pdf-table th,.pdf-table td{border:2px solid #000;padding:8px}.pdf-table th{text-align:center;background:#ccc;font-size:18px}.pdf-table small{display:block;text-align:center;font-size:11px}.pdf-small{font-size:12px;line-height:1.3}.pdf-center{text-align:center;padding:44px!important;font-size:16px}.pdf-sign-row{height:122px;vertical-align:bottom}.pdf-sign-row>span{display:inline-block;width:48%}.fake-signature{display:inline-block;width:150px;height:42px;border-top:2px solid #111;border-radius:50%;transform:rotate(-8deg);vertical-align:middle;margin-left:35px}.scroll-sign{position:fixed;left:50%;bottom:104px;transform:translateX(-50%);height:48px;border:0;border-radius:999px;background:var(--green);color:#fff;font-size:16px;font-weight:800;padding:0 30px;z-index:31}.claimform-bottom{display:grid;grid-template-columns:180px 1fr 170px 170px;padding:0 35%;gap:14px}.claimform-bottom .outline,.claimform-bottom .green{width:auto;max-width:none;height:58px;font-size:16px;padding:0 20px}.blurred{filter:blur(4px);opacity:.5}.signature-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.55);z-index:40;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:20px 0}.signature-modal{position:relative;width:740px;background:#fff;border-radius:22px;padding:28px 28px 26px;box-shadow:0 28px 80px rgba(0,0,0,.35)}.signature-modal>span{color:#9aa3af;font-size:13px;font-weight:800}.signature-modal h2{margin:6px 0 4px;font-size:28px}.signature-modal p{margin:0 0 22px;color:#6b7280;font-size:15px}.modal-close{position:absolute;right:24px;top:24px;width:42px;height:42px;border-radius:50%;border:1px solid #e5e7eb;background:#fff;font-size:24px;color:#9ca3af}.signature-tabs{height:52px;background:#f1f2f5;border-radius:999px;display:grid;grid-template-columns:1fr 1fr 1fr;margin-bottom:20px}.signature-tabs button{border:0;background:transparent;font-weight:800;color:#475569}.signature-tabs button.is-active{background:#fff;color:var(--green);border-radius:999px;border:1px solid #e5e7eb}.signature-pad{height:250px;border:1px solid #e5e7eb;border-radius:16px;background:#fff;box-shadow:inset 0 0 0 14px #fafafa;touch-action:none}.signature-footer{display:flex;justify-content:space-between;margin-top:24px}.signature-footer .outline,.signature-footer .green{width:auto;max-width:none;height:44px;font-size:14px;padding:0 20px}
@media(max-width:1600px){.email-panel{width:620px;border-radius:30px;padding:48px 46px 30px}.email-panel h1{font-size:40px;letter-spacing:-2.4px;margin-bottom:34px}.email-float-icon{width:82px;height:82px;right:28px;top:-40px}.email-float-icon img{width:40px;height:40px}.email-label{font-size:17px}.email-input{height:58px;border-radius:14px;font-size:17px}.email-submit{height:62px;font-size:20px}.privacy-line{margin-top:54px;font-size:14px}.flow-back{left:300px;top:32px;font-size:38px}.flow-brand{top:33px;font-size:22px}.flow-brand img{width:34px}.claims-screen,.details-screen,.claimform-screen{padding-top:86px}.claims-wrap{width:840px;margin-bottom:140px}.claims-wrap h1{font-size:42px}.claims-wrap>p{font-size:18px;margin:22px 0 40px}.claims-search{grid-template-columns:1fr 56px}.claims-search input{height:52px;font-size:16px}.claims-search span{font-size:18px;margin:16px 0 0 16px}.claim-logo{width:64px;height:64px}.claim-copy strong{font-size:21px;margin-bottom:12px}.claim-meta{font-size:14px;gap:16px}.claim-amount{font-size:17px;margin-top:12px}.claims-bottom,.form-bottom{min-height:96px;padding:10px 0}.claims-bottom>div{width:720px;font-size:17px}.claims-bottom b{font-size:25px}.claims-bottom button,.green,.outline{height:58px;font-size:18px;padding:0 48px}.details-wrap{width:760px;margin-bottom:150px}.details-wrap h1{font-size:38px}.details-wrap>p{font-size:17px;margin-bottom:34px}.details-wrap h2{font-size:25px}.claimant-form{gap:20px}.claimant-form label{font-size:18px}.claimant-form input,.claimant-form select{height:58px;font-size:18px;border-radius:10px}.form-bottom .outline,.form-bottom .green{width:374px}.claimform-head{width:640px;margin-bottom:34px}.progress-line{height:6px}.claimform-head h1{font-size:27px}.claimform-head p{font-size:14px}.pdf-stage{width:760px;margin-bottom:120px}.pdf-page{min-height:820px}.pdf-body{padding:86px 38px 30px}.pdf-body h3,.pdf-body h4{font-size:16px}.pdf-body h5{font-size:15px}.pdf-body p,.pdf-table{font-size:12px}.pdf-table th{font-size:14px}.pdf-small{font-size:10px}.pdf-center{padding:30px!important;font-size:12px}.pdf-sign-row{height:90px}.scroll-sign{bottom:82px;height:42px;font-size:14px}.claimform-bottom{grid-template-columns:120px 1fr 150px 150px;padding:0 25%;}.signature-modal{width:580px;padding:22px}.signature-pad{height:190px}.signature-tabs{height:42px}.signature-modal h2{font-size:22px}.signature-modal p{font-size:12px}}
@media(max-width:900px){.flow-brand{left:18px;transform:none}.email-screen{align-items:flex-end;padding:72px 18px 24px}.email-topbar{padding:0 18px}.email-panel{width:100%;border-radius:28px;padding:48px 26px 28px}.email-panel h1{font-size:34px}.privacy-line{font-size:12px}.flow-back{left:18px;top:24px}.flow-brand{font-size:20px}.flow-brand img{width:30px}.claims-wrap,.details-wrap,.claimform-head,.pdf-stage{width:calc(100vw - 36px)}.claims-wrap h1{font-size:34px}.claims-wrap>p{font-size:16px}.claims-search{grid-template-columns:1fr 52px}.claim-logo{width:50px;height:50px}.claim-meta{display:block;line-height:1.7}.claims-bottom>div{width:auto;flex:1;padding-left:20px}.claims-bottom{padding:0 18px}.claims-bottom button{width:150px}.details-wrap h1{font-size:34px}.form-bottom{padding:0 18px}.form-bottom .outline,.form-bottom .green{width:50%;max-width:none}.pdf-stage{padding:0 6px 20px}.pdf-page{min-height:760px}.pdf-body{padding:70px 22px 22px;overflow:hidden}.claimform-bottom{display:flex}.signature-modal{width:calc(100vw - 36px)}.signature-pad{height:220px}.pdf-sign-row{height:auto}.pdf-sign-row>span{display:block;width:100%}.pdf-sign-row>span+span{margin-top:10px}}

/* Paywall + checkout clones */
body.is-checkout-theme .site-header{display:none}
/* offer/spin-theme: site-header always visible */
.paywall-screen{background:#fff;min-height:100vh;overflow:auto;color:#0b0b0b;padding-top:64px}.paywall-topbar{position:sticky;top:0;z-index:20;height:54px;background:#fff;display:flex;align-items:center;justify-content:center;border-bottom:1px solid #eee}.paywall-logo{position:absolute;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:6px;font-weight:950;font-size:13px}.paywall-logo img{width:22px}.paywall-logo span span{color:var(--green)}.paywall-timer{position:absolute;right:calc(50% - 150px);top:10px;background:#fff7da;border:1px solid #f3d66d;border-radius:999px;padding:5px 11px;font-size:10px;font-weight:800;color:#111}.paywall-timer b{background:#f6c400;border-radius:6px;padding:3px 5px;margin-left:4px}.paywall-wrap{width:310px;margin:0 auto;padding:22px 0 58px;text-align:center}.paywall-wrap h1{margin:0;font-size:26px;line-height:.9;font-weight:900;letter-spacing:-1.6px}.paywall-sub{margin:8px 0 16px;color:#68707b;font-size:12px;line-height:1.35}.paywall-sub.small{font-size:11px;margin-top:7px}.paywall-sub.tiny{font-size:10px;margin-top:2px}.paywall-hero-img{width:206px;height:auto;border-radius:18px;display:block;margin:16px auto 18px}.benefit-list{display:flex;flex-direction:column;gap:8px;margin:0 8px 16px}.benefit-list div{display:grid;grid-template-columns:34px 1fr;gap:9px;align-items:center;background:#f7f7f7;border-radius:8px;padding:10px;text-align:left}.benefit-list span{width:26px;height:26px;border-radius:6px;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px}.benefit-list p{margin:0;font-size:10.5px;line-height:1.25;color:#4b5563}.paywall-primary{width:100%;height:38px;background:var(--green);color:#fff;border:0;border-radius:7px;font-size:11px;font-weight:950;letter-spacing:.4px;box-shadow:0 12px 20px rgba(0,0,0,.12);cursor:pointer}.paywall-wrap h2{font-size:22px;line-height:.9;margin:28px 0 0;font-weight:900;letter-spacing:-1.2px}.paywall-wrap h3{font-size:17px;line-height:1;margin:26px 0 0;font-weight:900;letter-spacing:-.8px}.plans{display:flex;flex-direction:column;gap:12px;margin:14px 0}.plan-card{position:relative;width:100%;min-height:84px;text-align:left;border:1px solid #dedede;background:#fff;border-radius:9px;padding:13px 13px 11px;cursor:pointer}.plan-card.is-selected{border:2px solid var(--brand-accent);box-shadow:0 4px 14px rgba(30,185,129,.12)}.plan-card span{display:block;font-size:9px;color:#111;font-weight:900;margin-bottom:8px}.plan-card strong{font-size:20px;font-weight:900;letter-spacing:-.4px}.plan-card em{font-size:9px;font-style:normal;color:#444}.plan-card small{display:block;margin-top:8px;color:#667085;font-size:9px}.plan-card b{position:absolute;right:12px;bottom:12px;border:1px solid var(--brand-accent);border-radius:999px;color:var(--brand-accent);padding:3px 7px;font-size:8px}.plan-card i{position:absolute;right:10px;top:9px;border-radius:999px;padding:3px 7px;background:#ff9d2d;color:#fff;font-style:normal;font-weight:900;font-size:7px}.plan-card:nth-child(3) i{background:#3b82f6}.payments-strip{display:block;margin:10px auto 6px;width:150px;height:auto}.satisfaction-card{margin:14px 0 26px;background:var(--green);color:#fff;border-radius:8px;padding:26px 18px 20px}.satisfaction-card div{font-size:22px}.satisfaction-card h4{margin:6px 0 12px;font-size:18px;line-height:1.1}.satisfaction-card p{font-size:10px;line-height:1.35;margin:0 auto 12px;max-width:235px}.satisfaction-card span{font-size:9px}.reviews-list{display:flex;flex-direction:column;gap:12px;margin:15px 0 18px}.reviews-list article,.checkout-testimonials article{background:#fff;border:1px solid #eee;border-radius:8px;padding:14px;text-align:left;box-shadow:0 2px 8px rgba(0,0,0,.04)}.reviews-list article>div{display:flex;justify-content:space-between;gap:10px}.reviews-list strong,.checkout-testimonials strong{font-size:12px}.reviews-list span,.checkout-testimonials span{font-size:9px;color:#8a8f98}.reviews-list p,.checkout-testimonials p{font-size:10px;line-height:1.35;color:#505966;margin:7px 0 0}.reviews-list p:first-of-type,.checkout-testimonials p:first-of-type{color:var(--brand-primary);letter-spacing:1px}.faq-block{margin-top:24px}.faq-block h2{margin-bottom:4px}.faq-block button{width:100%;height:38px;border:1px solid #e6e6e6;background:#fff;border-radius:6px;margin-top:8px;text-align:left;padding:0 14px;font-weight:850;font-size:10px;display:flex;justify-content:space-between;align-items:center}.checkout-screen{background:#fff;min-height:100vh;overflow:auto}.checkout-header{height:74px;background:linear-gradient(180deg,var(--brand-dark),var(--brand-darker));color:#fff;padding:14px 24px;position:relative}.checkout-header span{display:block;font-size:13px;color:#d5efe5}.checkout-header h1{margin:4px 0 0;font-size:26px;line-height:1}.checkout-header button{position:absolute;right:22px;top:18px;background:transparent;border:0;color:#fff;font-size:18px}.checkout-wrap{width:420px;margin:22px auto 80px}.order-card{border:1px solid #e1e5ec;border-radius:10px;padding:18px;background:#fff;box-shadow:0 2px 10px rgba(0,0,0,.03)}.order-card h2,.payment-card h2{font-size:16px;margin:0 0 17px}.order-card div{display:flex;justify-content:space-between;margin:11px 0;font-size:13px;color:#364152}.order-card b{color:#111}.order-card .discount b{color:var(--brand-primary-d)}.order-card .monthly{background:var(--brand-accent-bg);padding:9px 10px;border-radius:3px;color:var(--brand-primary-d);font-weight:800}.order-card .monthly b{color:var(--brand-primary-d)}.order-card .total{font-size:18px;font-weight:900}.order-card small{display:block;text-align:right;color:var(--brand-primary-d);font-size:11px}.checkout-badges{display:flex;justify-content:center;gap:30px;color:var(--brand-primary-d);font-size:11px;margin:18px 0 34px}.payment-card label{display:block;font-size:13px;font-weight:750;margin:12px 0 0;color:#344054}.payment-card input,.payment-card select{display:block;width:100%;height:40px;border:1px solid #dfe5ee;border-radius:7px;margin-top:6px;padding:0 10px;font-size:13px;background:#fff}.paypal-btn{width:100%;height:38px;background:#ffc43a;border:0;border-radius:6px;font-weight:950;font-size:14px;color:#074996}.pay-or{display:flex;align-items:center;gap:9px;width:100%;min-height:46px;padding:11px 14px;border:1.5px solid #d1d5db;border-radius:8px;background:#f9fafb;font-size:14px;font-weight:700;color:#374151;cursor:pointer;margin:12px 0;text-align:left;transition:border-color .15s,background .15s}.pay-or:hover{background:#f3f4f6;border-color:#9ca3af}.poc-logos{display:flex;align-items:center;gap:5px;margin-left:auto;margin-right:4px}.poc-logo{height:22px;width:auto;border-radius:3px;border:1px solid #e5e7eb;background:#fff;object-fit:contain;padding:1px 3px}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}.complete-payment{width:100%;height:48px;border:0;border-radius:6px;background:#1F7A5A;color:#fff;font-size:14px;font-weight:900;margin-top:14px}.payment-card p{font-size:11px;line-height:1.25;color:#697386;text-align:center}.billing-hint{font-size:12px;font-weight:600;color:#6b7280;margin:16px 0 2px}.billing-hint span{font-weight:400;color:#9ca3af}.checkout-testimonials{margin-top:110px;display:flex;flex-direction:column;gap:12px}.checkout-testimonials blockquote{font-size:10px;line-height:1.35;color:#4b5563;margin:0;padding:18px;text-align:center}.checkout-testimonials blockquote span{display:block;text-align:right;margin-top:7px}.checkout-start{width:100%;height:44px;border:0;border-radius:7px;background:var(--green);color:#fff;font-weight:950;margin:18px 0 24px}.checkout-faq h2{text-align:center;font-size:23px;line-height:.9}.checkout-faq p{text-align:center;color:#667085;font-size:10px}.checkout-done-screen{min-height:100vh;background:var(--brand-darker);display:flex;align-items:center;justify-content:center}.checkout-done-card{width:460px;background:#fff;border-radius:26px;text-align:center;padding:44px 36px}.checkout-done-card img{width:54px}.checkout-done-card h1{font-size:42px;margin:18px 0 8px;letter-spacing:-1.5px}.checkout-done-card p{color:#667085;font-size:17px;line-height:1.45}.checkout-done-card button{margin-top:24px;width:100%;height:56px;border:0;border-radius:10px;background:var(--green);color:#fff;font-size:18px;font-weight:900}
@media(min-width:901px){.paywall-screen{display:block}.paywall-wrap{transform-origin:top center}.checkout-screen{display:block}.checkout-wrap{transform-origin:top center}}
@media(max-width:900px){.paywall-topbar{height:58px}.paywall-logo{left:18px;transform:none}.paywall-timer{right:12px}.paywall-wrap{width:min(360px,calc(100vw - 36px))}.checkout-wrap{width:min(420px,calc(100vw - 36px))}.checkout-header{height:70px}.checkout-done-card{width:calc(100vw - 36px)}}

/* Patch: claims filter dropdown + stable claim-form bottom/header layout */
.claims-search{position:relative;margin-top:10px;}
.filter-toggle:focus{outline:0;box-shadow:0 0 0 3px rgba(30,128,96,.18);border-color:var(--green)!important;}
.filter-menu{position:absolute;right:0;top:calc(100% + 16px);width:250px;background:#fff;border:1px solid #dfe3eb;border-radius:12px;box-shadow:0 10px 30px rgba(15,23,42,.14);overflow:hidden;z-index:45;}
.filter-menu[hidden]{display:none!important;}
.filter-menu button{width:100%;height:44px;border:0;border-radius:0;background:#fff;color:#142033;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:14px;text-align:left;}
.filter-menu button.is-active{background:#eef8f3;color:var(--green);font-weight:850;}
.filter-menu button b{font-weight:900;color:var(--green);}


.claim-meta span{white-space:normal;}
.claimform-screen .flow-brand,
.details-screen .flow-brand,
.claims-screen .flow-brand{left:38px!important;right:auto!important;transform:none!important;}
.claimform-screen .flow-back,
.details-screen .flow-back,
.claims-screen .flow-back{left:360px;}
.claimform-bottom{display:grid;grid-template-columns:220px 1fr 170px 170px;gap:14px;width:min(960px,calc(100vw - 72px));margin:0 auto;padding:0!important;left:50%;right:auto;transform:translateX(-50%);background:transparent;box-shadow:none;backdrop-filter:none;}
.claimform-bottom::before{content:"";position:fixed;left:-50vw;right:-50vw;bottom:0;height:118px;background:rgba(255,255,255,.92);backdrop-filter:blur(18px);box-shadow:0 -12px 28px rgba(0,0,0,.07);z-index:-1;}
.claimform-bottom .outline,.claimform-bottom .green{height:58px;font-size:16px;width:auto!important;max-width:none!important;padding:0 20px;white-space:nowrap;}
@media(max-width:1600px){
  .filter-menu{width:210px;top:calc(100% + 12px)}
  .filter-menu button{height:40px;font-size:13px;padding:0 14px;}
  .filter-toggle-row{min-height:40px;font-size:13px;padding:0 14px;}
  .claimform-screen .flow-brand,.details-screen .flow-brand,.claims-screen .flow-brand{left:38px!important;}
  .claimform-screen .flow-back,.details-screen .flow-back,.claims-screen .flow-back{left:300px;}
  .claimform-bottom{width:min(760px,calc(100vw - 72px));grid-template-columns:160px 1fr 130px 150px;}
  .claimform-bottom::before{height:96px;}
}
@media(max-width:900px){
  .filter-menu{right:0;width:min(280px,calc(100vw - 36px));}
  .filter-menu button{height:42px;font-size:13px;}
  .filter-toggle-row{min-height:42px;font-size:13px;}
  .claimform-screen .flow-brand,.details-screen .flow-brand,.claims-screen .flow-brand{left:18px!important;}
  .claimform-screen .flow-back,.details-screen .flow-back,.claims-screen .flow-back{left:18px;}
  .claimform-bottom{display:flex;width:calc(100vw - 36px);left:18px;right:18px;transform:none;background:transparent;}
  .claimform-bottom::before{height:96px;}
  .claimform-bottom span:empty{display:none;}
  .claimform-bottom .outline,.claimform-bottom .green{flex:1;font-size:13px;padding:0 12px;min-width:0;white-space:nowrap;}
}

/* Category filter chips */
.claim-cats{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:28px;}
.cat-chip{height:40px;padding:0 18px;border:1px solid #dfe3eb;border-radius:999px;background:#fff;color:#344050;font-size:16px;font-weight:700;cursor:pointer;transition:border-color .15s,background .15s,color .15s;}
.cat-chip:hover{border-color:#aab5c4;}
.cat-chip.is-active{border-color:var(--green);background:var(--green);color:#fff;}
@media(max-width:1600px){.cat-chip{height:34px;font-size:14px;padding:0 14px;}.claim-cats{gap:8px;margin-bottom:22px;}}
@media(max-width:900px){.cat-chip{height:32px;font-size:13px;padding:0 12px;}.claim-cats{gap:6px;margin-bottom:18px;}}
.cat-chip-count{font-size:11px;font-weight:500;opacity:.6;margin-left:3px;}
.filter-sep{border:none;border-top:1px solid #e8ecf1;margin:0;}
/* Match the sort rows above: flush, full-bleed, square — no inset "pill" look,
   no overflow past the panel's rounded edge (panel clips via overflow:hidden). */
.filter-toggle-row{display:flex;align-items:center;gap:10px;width:100%;min-height:44px;padding:0 16px;box-sizing:border-box;cursor:pointer;font-size:14px;color:#142033;border-radius:0;}
.filter-toggle-row:hover{background:#f5f7fa;}
/* Reset the inherited .claims-search input styling (the filter menu lives inside
   .claims-search, so that text-input rule's 52px padding stretched these checkboxes
   into wide pills). [type=checkbox] out-specifies it; restore a native 16px box. */
.filter-toggle-row input[type="checkbox"]{-webkit-appearance:auto;appearance:auto;width:16px;height:16px;min-height:0;flex:none;margin:0;padding:0;border:0;border-radius:0;background:none;accent-color:var(--green);cursor:pointer;}
.filter-toggle-row:has(input:checked){background:#eef8f3;color:var(--green);font-weight:750;}
.filter-toggle.has-active{background:var(--green);color:#fff;border-color:var(--green);}
.meta-days.is-urgent{color:#e53e3e;font-weight:700;}
.claim-summary{font-size:12px;color:#5a677a;margin:2px 0 4px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* Patch v2: claim-form exact header/bottom, PDF sign CTA, offer hero */
.claimform-screen .flow-brand,
.signature-screen .flow-brand{
  left:50%!important;
  transform:translateX(-50%)!important;
  top:36px!important;
  font-size:28px!important;
  color:#050505;
}
.claimform-screen .flow-brand img,
.signature-screen .flow-brand img{width:42px!important;}
.claimform-screen .flow-back,
.signature-screen .flow-back{left:360px!important;top:45px!important;}
.details-screen .flow-brand,
.claims-screen .flow-brand{left:38px!important;right:auto!important;transform:none!important;}
.claimform-head{padding-top:8px;}
.pdf-click-sign{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:280px;
  height:54px;
  border:0;
  border-radius:7px;
  background:#e4252a;
  color:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Helvetica Neue",Arial,sans-serif;
  font-size:15px;
  font-weight:900;
  letter-spacing:.3px;
  box-shadow:0 8px 16px rgba(226,37,42,.24);
  cursor:pointer;
  vertical-align:middle;
  margin-left:24px;
}
.claimform-bottom{
  width:min(1060px,calc(100vw - 72px))!important;
  grid-template-columns:180px 1fr auto auto!important;
  gap:14px!important;
  align-items:center!important;
}
.claimform-bottom .outline,
.claimform-bottom .green{border-radius:9999px!important;font-weight:850!important;}
.claimform-bottom .outline:first-child{justify-self:start;width:170px!important;}
.claimform-bottom .outline:nth-child(3),
.claimform-bottom .green{width:auto!important;min-width:150px;padding:0 26px!important;justify-self:stretch;}
.signature-modal{width:760px;max-width:calc(100vw - 56px);}
.signature-tabs button:focus{outline:0;}
.paywall-logo{font-size:20px;gap:8px;}
.paywall-logo img{width:34px;}
.paywall-timer{right:calc(50% - 330px);top:10px;font-size:15px;padding:8px 16px;}
.paywall-timer b{font-size:17px;padding:4px 9px;}
.paywall-wrap{width:420px;padding-top:78px;}
.paywall-wrap h1{font-size:38px;letter-spacing:-2.3px;}
.paywall-sub{font-size:17px;}
.paywall-hero-img{width:310px!important;border-radius:24px;margin:32px auto 22px;}
.benefit-list{margin:0 0 20px;gap:10px;}
.benefit-list div{grid-template-columns:40px 1fr;padding:13px 14px;}
.benefit-list span{width:30px;height:30px;border-radius:7px;}
.benefit-list p{font-size:13px;}
.paywall-primary{height:50px;font-size:13px;border-radius:9px;}
@media(max-width:1600px){
  .claimform-screen .flow-brand,.signature-screen .flow-brand{top:34px!important;font-size:22px!important;}
  .claimform-screen .flow-brand img,.signature-screen .flow-brand img{width:34px!important;}
  .claimform-screen .flow-back,.signature-screen .flow-back{left:300px!important;top:32px!important;}
  .claimform-bottom{width:min(760px,calc(100vw - 72px))!important;grid-template-columns:120px 1fr auto auto!important;}
  .claimform-bottom .outline:first-child{width:120px!important;}
  .claimform-bottom .outline:nth-child(3){width:auto!important;min-width:120px;padding:0 20px!important;}
  .claimform-bottom .green{width:auto!important;min-width:120px;padding:0 20px!important;}
  .pdf-click-sign{width:220px;height:42px;font-size:12px;margin-left:18px;}
  .paywall-logo{font-size:13px}.paywall-logo img{width:22px}.paywall-timer{right:calc(50% - 150px);font-size:10px;padding:5px 11px}.paywall-timer b{font-size:11px;padding:3px 5px}.paywall-wrap{width:310px;padding-top:22px}.paywall-wrap h1{font-size:26px;letter-spacing:-1.6px}.paywall-sub{font-size:12px}.paywall-hero-img{width:206px!important;margin:16px auto 18px}.benefit-list div{grid-template-columns:34px 1fr;padding:10px}.benefit-list span{width:26px;height:26px}.benefit-list p{font-size:10.5px}.paywall-primary{height:38px;font-size:11px}
}
@media(max-width:900px){
  .claimform-screen .flow-brand,.signature-screen .flow-brand{left:50%!important;transform:translateX(-50%)!important;top:24px!important;}
  .claimform-screen .flow-back,.signature-screen .flow-back{left:18px!important;top:24px!important;}
  .claimform-bottom{display:flex!important;gap:10px!important;width:calc(100vw - 36px)!important;left:18px!important;right:18px!important;transform:none!important;}
  .claimform-bottom span{display:none;}
  .claimform-bottom .outline:first-child,.claimform-bottom .outline:nth-child(3),.claimform-bottom .green{width:auto!important;}
  .paywall-logo{left:18px;transform:none;font-size:16px}.paywall-logo img{width:28px}.paywall-timer{right:12px;font-size:11px}.paywall-wrap{width:min(360px,calc(100vw - 36px));padding-top:28px}.paywall-wrap h1{font-size:30px}.paywall-hero-img{width:260px!important;}
}


/* Patch: claims page scrolls under fixed top menu without cutting the title */
.claims-screen{
  padding-top: 164px !important;
  padding-bottom: 0;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.claims-wrap{
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 190px !important;
}
.claims-wrap h1{
  overflow: visible !important;
  transform: none !important;
}
.claims-wrap .claims-subtitle{
  max-width: 640px;
  margin: 12px auto 0;
  color: #6b6b6b;
  font-size: 15px;
  line-height: 1.5;
}
.claims-wrap .claims-note{
  max-width: 560px;
  margin: 8px auto 0;
  color: #8a8a8a;
  font-size: 13px;
  line-height: 1.45;
}
.claim-list{
  padding-bottom: 24px;
}
.claim-meta span,
.claim-amount{
  display: inline-flex;
  align-items: center;
  gap: 7px;
}
.claim-meta img,
.claim-amount img{
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  object-fit: contain;
}
.claim-meta .meta-proof{
  color:var(--brand-primary);
}
.claim-amount{
  color: var(--green);
}
@media(max-width:1600px){
  .claims-screen{padding-top: 126px !important;}
  .claims-wrap{padding-bottom: 160px !important;}
  .claim-meta img,.claim-amount img{width:14px;height:14px;flex-basis:14px;}
}
@media(max-width:900px){
  .claims-screen{padding-top: 92px !important;}
  .claims-wrap{padding-bottom: 150px !important;}
}

/* Patch v3: uniform navy site-header across all flow-ui screens */
body.is-flow-ui-theme::before{display:none!important;}
body.is-flow-ui-theme .flow-brand{display:none!important;}
body.is-flow-ui-theme .flow-back{
  position:fixed!important;
  z-index:60!important;
  top:76px!important;
}
body.is-flow-ui-theme .claims-screen,
body.is-flow-ui-theme .details-screen,
body.is-flow-ui-theme .claimform-screen{
  padding-top:80px!important;
}
body.is-flow-ui-theme .claims-wrap,
body.is-flow-ui-theme .details-wrap,
body.is-flow-ui-theme .claimform-head{
  position:relative;
  z-index:1;
}
.details-screen .details-wrap{
  margin-top:0!important;
  padding-bottom:180px;
}
.claims-screen .claims-wrap{
  margin-top:0!important;
  padding-bottom:180px;
}
.claimform-screen .claimform-head{
  margin-top:0!important;
}

/* === FULL REBUILD: /offer paywall clone proportions === */
.offer-rebuild{
  --offer-green:var(--brand-primary);
  --offer-ink:#111827;
  --offer-muted:#6b7280;
  --offer-line:#e5e7eb;
  --offer-header-h:70px;
  --offer-width:520px;
  --offer-narrow:420px;
  min-height:100vh!important;
  background:#fff!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  color:var(--offer-ink);
  padding-top:64px;
}
.offer-rebuild .offer-topbar{
  position:fixed;
  z-index:1000;
  top:0;left:0;right:0;
  height:var(--offer-header-h);
  background:#fff;
  border-bottom:1px solid #eeeeee;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:92px;
}
.offer-logo{display:flex;align-items:center;gap:8px;font-size:22px;font-weight:800;letter-spacing:-.5px;line-height:1;color:#fff;}
.offer-logo img{width:32px;height:32px;object-fit:contain;}
.offer-logo .brand-mark{width:32px;height:32px;}
.offer-logo span span{color:#17B0A0;}
@keyframes pmOfferTimerIn{from{opacity:0;transform:translateY(-50%) translateY(-8px) scale(.92)}to{opacity:1;transform:translateY(-50%) scale(1)}}
@keyframes pmOfferTimerPulse{0%,100%{transform:scale(1)}50%{transform:scale(1.14)}}
.offer-timer{position:fixed;top:32px;transform:translateY(-50%);right:20px;z-index:11;display:flex;align-items:center;gap:6px;padding:0 12px;height:44px;border-radius:999px;background:#f7e7a3;color:#111827;font-size:13px;font-weight:850;letter-spacing:-.25px;white-space:nowrap;animation:pmOfferTimerIn .4s ease-out;}
.offer-timer .timer-icon{animation:pmOfferTimerPulse 2s ease-in-out infinite;}
.offer-timer.is-urgent{background:#ffdca0;}
.offer-timer.is-urgent .timer-icon{animation-duration:.9s;}
.offer-timer.is-urgent b{background:#ff9f1c;color:#fff;}
@media(prefers-reduced-motion:reduce){.offer-timer,.offer-timer .timer-icon{animation:none;}}
@media(max-width:640px){.offer-timer{height:38px;font-size:12px;right:14px;padding:0 9px;gap:5px;}.offer-timer .timer-icon{font-size:16px;}.offer-timer b{height:24px;font-size:13px;padding:0 7px;border-radius:7px;}.offer-timer>span:not(.timer-icon){display:none;}}
.offer-timer .timer-icon{font-size:21px;line-height:1;}
.offer-timer b{display:inline-flex;align-items:center;height:26px;padding:0 10px;border-radius:8px;background:#f6c63c;font-size:15px;font-weight:900;letter-spacing:.6px;font-variant-numeric:tabular-nums;font-feature-settings:"tnum";}
.offer-main{width:var(--offer-width);max-width:calc(100vw - 40px);margin:0 auto;padding:32px 0 96px;}
.offer-hero-block{text-align:center;}
.offer-title{margin:0;font-size:44px;line-height:1.0;font-weight:800;letter-spacing:-0.025em;text-align:center;color:#111827;}
.offer-subtitle{margin:14px 0 0;text-align:center;color:var(--offer-muted);font-size:20px;line-height:1.35;letter-spacing:-0.018em;}
.offer-subtitle strong{font-weight:700;color:#5b6471;}
.offer-hero-img{display:block;width:430px!important;max-width:100%;height:auto!important;object-fit:contain;margin:52px auto 32px;border-radius:32px;}
.offer-claims-summary{position:relative;width:var(--offer-narrow);max-width:100%;margin:0 auto 28px;padding:20px 22px;border:1.5px solid var(--offer-green);border-radius:16px;background:#fff;text-align:left;overflow:visible;}
.claims-summary-badge{position:absolute;top:-14px;right:-14px;width:58px;height:58px;transform:rotate(12deg);animation:claims-badge-pulse 2.2s ease-in-out infinite;}
@keyframes claims-badge-pulse{0%,100%{transform:rotate(12deg) scale(1);}50%{transform:rotate(12deg) scale(1.1);}}
@media (prefers-reduced-motion: reduce){.claims-summary-badge{animation:none;}}
.claims-summary-badge svg{width:100%;height:100%;fill:#DC2626;filter:drop-shadow(0 3px 8px rgba(0,0,0,.25));}
.claims-summary-badge span{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:0 7px;line-height:1.05;color:#fff;font-size:6.5px;font-weight:800;letter-spacing:.3px;text-transform:uppercase;}
.claims-summary-title{display:block;margin-top:12px;font-size:18px;font-weight:800;color:#111827;}
.claims-summary-names{margin:2px 0 0;color:var(--offer-muted);font-size:14px;line-height:1.3;}
.claims-summary-logos{display:flex;align-items:center;margin:0;}
.claims-summary-logo{width:34px;height:34px;border-radius:50%;object-fit:contain;background:#fff;border:2px solid #fff;box-shadow:0 0 0 1px #e5e7eb;margin-left:-10px;}
.claims-summary-logo:first-child{margin-left:0;}
.claims-summary-logo-placeholder{display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:12px;letter-spacing:-0.2px;}
.claims-summary-logo-more{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#f3f4f6;border:2px solid #fff;box-shadow:0 0 0 1px #e5e7eb;margin-left:-10px;font-size:11px;font-weight:800;color:#4b5563;}
.claims-summary-total{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px dashed #e5e7eb;font-size:14px;color:#4b5563;}
.claims-summary-total b{font-size:20px;font-weight:800;color:#2563EB;}
.offer-benefits{width:var(--offer-narrow);max-width:100%;margin:0 auto 24px;display:grid;gap:12px;}
.offer-benefit{min-height:58px;border-radius:10px;background:#f5f5f5;display:grid;grid-template-columns:36px 1fr;gap:14px;align-items:center;padding:12px 16px;}
.benefit-icon{width:32px;height:32px;border-radius:7px;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:900;}
.offer-benefit p{margin:0;color:#4b5563;font-size:15px;line-height:1.22;font-weight:650;letter-spacing:-.2px;}
.offer-primary{display:flex;align-items:center;justify-content:center;width:var(--offer-narrow);max-width:100%;height:58px;margin:24px auto 40px;border:0;border-radius:10px;background:var(--offer-green);color:#fff;font-size:15px;font-weight:900;letter-spacing:.3px;text-transform:uppercase;box-shadow:0 18px 36px rgba(29,123,96,.24);cursor:pointer;}
.offer-primary:active{transform:translateY(1px);}
.offer-social-proof{text-align:center;margin:4px auto 34px;}
.offer-social-proof h2,.offer-reviews h2,.offer-faq h2{margin:0;font-size:32px;line-height:1.1;font-weight:700;letter-spacing:-0.018em;text-align:center;color:#111827;}
.offer-social-proof p{max-width:330px;margin:14px auto 0;color:#7a7f87;font-size:14px;line-height:1.3;}
.offer-plans-section{margin-top:34px;text-align:center;scroll-margin-top:80px;}
.offer-plans-section h3{margin:0;font-size:28px;line-height:1.05;font-weight:700;letter-spacing:-0.018em;color:#111827;}
.offer-plan-sub{margin:12px 0 26px;color:#6b7280;font-size:15px;}
.spin-discount-badge{display:inline-block;margin:0 auto 22px;padding:10px 22px;background:linear-gradient(135deg,#20c981 0%,#0ea5e9 100%);color:#fff;font-size:15px;font-weight:600;border-radius:40px;text-align:center;}
.offer-plans{display:grid;gap:18px;width:var(--offer-width);max-width:100%;}
.offer-plan-card{position:relative;width:100%;min-height:160px;padding:28px 32px;text-align:left;background:#fff;border:2px solid var(--offer-line);border-radius:18px;color:#111827;display:flex;flex-direction:column;align-items:flex-start;cursor:pointer;box-shadow:none;}
.offer-plan-card.is-selected{border-color:var(--brand-accent);background:linear-gradient(180deg,var(--brand-accent-bg) 0%,#fff 100%);box-shadow:0 20px 45px rgba(32,201,129,.14);}
.plan-name{font-size:18px;font-weight:600;letter-spacing:-0.01em;margin-bottom:14px;}
.plan-price{display:flex;align-items:flex-end;gap:8px;line-height:1;}
.plan-price strong{font-size:42px;font-weight:800;letter-spacing:-0.03em;color:#111827;}
.offer-plan-card.is-selected .plan-price strong{color:var(--brand-primary);}
.plan-price em{font-size:18px;color:#6b7280;font-style:normal;margin-bottom:6px;}
.plan-price del{font-size:16px;color:#9ca3af;margin-bottom:8px;}
.plan-billed{display:block;margin-top:7px;color:#8a929f;font-size:13px;}
.plan-price-row{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;}
.plan-notes{display:grid;gap:6px;margin-top:20px;color:#6b7280;font-size:14px;}
.plan-notes small{font-size:14px;}
.plan-off{flex-shrink:0;height:28px;padding:0 14px;border:1.5px solid var(--offer-green);border-radius:999px;display:inline-flex;align-items:center;color:var(--offer-green);font-size:12px;font-weight:900;}
.plan-badge{position:absolute;right:28px;top:28px;height:28px;padding:0 14px;border-radius:999px;display:inline-flex;align-items:center;color:#fff;font-size:12px;font-weight:900;}
.plan-badge.orange{background:#ff7a1a;}.plan-badge.blue{background:#3b82f6;}
.offer-get-plan{width:var(--offer-narrow);max-width:100%;height:58px;margin:30px auto 14px;border-radius:10px;font-size:16px;}
.offer-payments{display:block;width:340px;max-width:100%;height:auto;margin:0 auto 18px;}
.offer-trust-row{width:var(--offer-narrow);max-width:100%;margin:0 auto 38px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;text-align:center;color:#111827;}
.offer-trust-row div{display:flex;flex-direction:column;align-items:center;gap:5px;}
.offer-trust-row span{width:26px;height:26px;border-radius:6px;background:#111;color:#fff;display:flex;align-items:center;justify-content:center;font-size:11px;}
.offer-trust-row strong{font-size:13px;font-weight:900;}.offer-trust-row small{font-size:10px;color:#6b7280;line-height:1.2;}
.offer-guarantee{width:var(--offer-narrow);max-width:100%;margin:20px auto 42px;background:var(--offer-green);color:#fff;border-radius:16px;text-align:center;padding:34px 28px 30px;}
.guarantee-icon{width:42px;height:42px;margin:0 auto 16px;border-radius:50%;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font-size:24px;}
.offer-guarantee h4{margin:0;font-size:20px;line-height:1.15;font-weight:900;}.offer-guarantee p{margin:18px 0 14px;font-size:12px;line-height:1.45;color:rgba(255,255,255,.9);}.offer-guarantee span{font-size:11px;color:rgba(255,255,255,.92);}
.offer-reviews{width:var(--offer-narrow);max-width:100%;margin:0 auto 28px;}.offer-reviews h2{margin-bottom:20px;}.offer-reviews article{background:#fff;border:1px solid #edf0f4;border-radius:12px;box-shadow:0 8px 20px rgba(16,24,40,.05);padding:18px 20px;margin-bottom:14px;text-align:left;}.offer-reviews article div{display:flex;align-items:center;justify-content:space-between;gap:12px;}.offer-reviews strong{font-size:14px;}.offer-reviews article span{color:#7a7f87;font-size:11px;}.offer-reviews p{margin:8px 0 0;color:#5f6673;font-size:12px;line-height:1.4;}.offer-reviews .stars{color:var(--brand-accent);font-size:10px;letter-spacing:2px;}
.offer-bottom-cta{margin-top:18px;}
.offer-faq{width:var(--offer-narrow);max-width:100%;margin:0 auto;}.offer-faq h2{font-size:30px;}.offer-faq>p{margin:10px auto 20px;text-align:center;color:#6b7280;font-size:13px;line-height:1.35;max-width:320px;}.offer-faq button{width:100%;height:48px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;font-size:13px;font-weight:750;color:#111827;}
@media(max-width:1600px){
  .offer-rebuild{--offer-header-h:86px;--offer-width:520px;--offer-narrow:420px;}
}
@media(max-width:640px){
  .offer-rebuild{--offer-header-h:64px;--offer-width:100%;--offer-narrow:100%;}
  .offer-rebuild .offer-topbar{height:64px;gap:12px;justify-content:center;padding:0 12px;}
  .offer-logo{font-size:18px;}.offer-logo img{width:28px;height:28px;}
  .offer-timer{height:40px;font-size:13px;right:12px;padding:0 10px;gap:6px;}.offer-timer .timer-icon{font-size:18px;}.offer-timer b{height:26px;font-size:14px;padding:0 8px;border-radius:8px;}.offer-timer>span:not(.timer-icon){display:none;}
    .offer-main{max-width:none;width:100%;padding:42px 20px 72px;}
  .offer-title{font-size:34px;line-height:.9;letter-spacing:-1.8px;}
  .offer-subtitle{font-size:16px;}
  .offer-hero-img{width:310px!important;margin:34px auto 28px;border-radius:24px;}
  .offer-benefit{min-height:58px;grid-template-columns:34px 1fr;padding:11px 13px;}
  .offer-benefit p{font-size:13px;}.benefit-icon{width:30px;height:30px;}
  .offer-primary{height:54px;border-radius:9px;}
  .offer-social-proof h2,.offer-reviews h2,.offer-faq h2{font-size:30px;}
  .offer-plan-card{min-height:142px;padding:22px 20px;border-radius:16px;}
  .plan-price strong{font-size:36px;}.plan-badge{right:20px;top:22px}
  .offer-trust-row{gap:12px;}
}

/* ===== Calculating screen animation (task 4) ===== */
.loading-screen .calc-stack{position:relative;width:128px;height:128px;margin-bottom:60px}
.loading-screen .calc-card{position:absolute;inset:0;border-radius:26px;background:#fff;box-shadow:0 18px 40px rgba(11,33,56,.12);display:flex;align-items:center;justify-content:center}
.loading-screen .calc-card--1{animation:calcPop 2.4s ease-in-out infinite}
.loading-screen .calc-card--2{transform:rotate(-7deg) translateY(6px) scale(.97);opacity:.7;animation:calcShuffle 2.4s ease-in-out infinite}
.loading-screen .calc-card--3{transform:rotate(7deg) translateY(10px) scale(.94);opacity:.45;animation:calcShuffle 2.4s ease-in-out infinite .3s}
.loading-screen .calc-card--1 svg{width:58px;height:58px;color:var(--brand-primary)}
.loading-screen .calc-card--1.is-in svg{animation:calcIconIn .42s ease}
.loading-screen .calc-status{min-height:1.2em;transition:opacity .25s ease;background-image:linear-gradient(90deg,transparent calc(50% - 110px),#000 calc(50% - 14px),#000 calc(50% + 14px),transparent calc(50% + 110px)),linear-gradient(#6b7280,#6b7280);background-size:250% 100%,auto;-webkit-background-clip:text;background-clip:text;color:transparent}
.loading-screen .calc-status.is-in{animation:calcStatusIn .42s ease,calcShimmer 2s linear infinite}
@keyframes calcPop{0%,100%{transform:translateY(0) rotate(0)}50%{transform:translateY(-8px) rotate(2deg)}}
@keyframes calcShuffle{0%,100%{opacity:.5}50%{opacity:.22}}
@keyframes calcIconIn{0%{opacity:0;transform:scale(.6) rotate(-12deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
@keyframes calcStatusIn{0%{opacity:0;transform:translateY(7px)}100%{opacity:1;transform:translateY(0)}}
@keyframes calcShimmer{0%{background-position:200% center,0 0}100%{background-position:-60% center,0 0}}
@media(max-width:640px){.loading-screen .calc-stack{width:92px;height:92px;margin-bottom:40px}.loading-screen .calc-card{border-radius:20px}.loading-screen .calc-card--1 svg{width:44px;height:44px}}

/* ===== Claims screen SVG icons + states (tasks 6, 8) ===== */
.claims-search .search-ic{display:flex;align-items:center;justify-content:center}
.claims-search .search-ic svg{width:22px;height:22px;color:#94a3b8}
.claims-search input{-webkit-appearance:none;appearance:none}
.claims-search button.filter-toggle{display:flex;align-items:center;justify-content:center}
.claims-search button.filter-toggle svg{width:24px;height:24px;color:#263244}
.claim-meta svg{width:16px;height:16px;vertical-align:-3px;margin-right:3px}
.claim-amount svg{width:18px;height:18px;vertical-align:-4px;margin-right:4px}
.claim-meta .meta-proof.is-required{color:#d97316}
.claim-check svg{width:20px;height:20px;color:#fff}
.flow-back{display:flex;align-items:center;justify-content:center}
.flow-back svg{width:26px;height:26px}
.filter-menu b svg{width:15px;height:15px;vertical-align:-2px}
.claims-empty{text-align:center;color:#8a8f98;font-size:20px;padding:46px 0}
@media(max-width:640px){.claims-empty{font-size:16px}}

/* ===== Offer screen: SVG icons, stars, FAQ accordion (tasks 8,11,12,13) ===== */
.offer-rebuild .benefit-icon{display:flex}
.offer-rebuild .benefit-icon svg{width:18px;height:18px;color:#fff}
.offer-rebuild .offer-timer .timer-icon{display:inline-flex;align-items:center}
.offer-rebuild .offer-timer .timer-icon svg{width:20px;height:20px;color:#111827}
.offer-rebuild .offer-trust-row span{display:flex}
.offer-rebuild .offer-trust-row span svg{width:15px;height:15px;color:#fff}
.offer-rebuild .guarantee-icon svg{width:24px;height:24px;color:#fff}
.offer-rebuild .plan-notes small{display:flex;align-items:center;gap:6px}
.offer-rebuild .plan-notes small svg{width:14px;height:14px;color:var(--brand-primary);flex:none}
.offer-rebuild .offer-reviews .stars{display:flex;gap:3px;color:var(--brand-accent);letter-spacing:0}
.offer-rebuild .offer-reviews .stars svg{width:15px;height:15px}
/* FAQ accordion */
.offer-rebuild .offer-faq .faq-item{margin-bottom:10px}
.offer-rebuild .offer-faq .faq-q{width:100%;min-height:48px;border:1px solid #e5e7eb;background:#fff;border-radius:8px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;font-size:13px;font-weight:750;color:#111827;text-align:left;cursor:pointer;line-height:1.3}
.offer-rebuild .offer-faq .faq-ic{display:flex;flex:none;transition:transform .25s ease;color:#6b7280}
.offer-rebuild .offer-faq .faq-ic svg{width:18px;height:18px}
.offer-rebuild .offer-faq .faq-item.is-open .faq-q{border-color:#e5e7eb;border-bottom-left-radius:0;border-bottom-right-radius:0}
.offer-rebuild .offer-faq .faq-item.is-open .faq-ic{transform:rotate(180deg)}
.offer-rebuild .offer-faq .faq-a{border:1px solid #e5e7eb;border-top:0;border-radius:0 0 8px 8px;padding:0 16px 14px;margin-top:-1px}
.offer-rebuild .offer-faq .faq-a p{margin:8px 0 0;font-size:12.5px;line-height:1.5;color:#4b5563;text-align:left}

/* ===== Required-field marking + inline validation (task 5) ===== */
.required-legend{font-size:16px;color:#6b7280;margin:-10px 0 22px}
.req{color:#e0431f;font-style:normal;font-weight:800;margin-left:3px}
.field-label .opt{color:#9ca3af;font-weight:500;font-style:normal;font-size:.82em;margin-left:4px}
.claimant-form .field-label{display:block}
.field-error{display:block;color:#e0431f;font-size:14px;font-weight:600;margin-top:8px}
.field.has-error input{border-color:#e0431f !important}
@media(max-width:1600px){.required-legend{font-size:14px}.field-error{font-size:13px}}

/* ===== Checkout: dynamic, SVG icons, validated fields, FAQ (tasks 5,7,10) ===== */
.checkout-header span svg{width:14px;height:14px;vertical-align:-2px;margin-right:4px}
.checkout-close{display:flex;align-items:center;justify-content:center}
.checkout-close svg{width:18px;height:18px;color:#fff}
.checkout-badges span{display:inline-flex;align-items:center;gap:5px}
.checkout-badges svg{width:13px;height:13px}
.complete-payment svg{width:13px;height:13px;vertical-align:-2px;margin-right:5px}
.complete-payment:disabled{opacity:.5;cursor:not-allowed}
.payment-card .field{display:block;margin-top:12px}
.payment-card .field .field-label{display:block;font-size:13px;font-weight:750;color:#344054}
.payment-card .field input,.payment-card .field select{display:block;width:100%;height:40px;border:1px solid #dfe5ee;border-radius:7px;margin-top:6px;padding:0 10px;font-size:16px;background:#fff;-webkit-appearance:none;appearance:none}
.payment-card .field input:focus,.payment-card .field select:focus{border-color:var(--brand-primary);outline:none}
.payment-card .two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.payment-card .field.has-error input,.payment-card .field.has-error select{border-color:#e0431f}
.payment-card .field .field-error{font-size:10px;margin-top:4px}
.payment-card .field .req{margin-left:2px}
.checkout-faq .faq-item{margin-bottom:8px}
.checkout-faq .faq-q{width:100%;min-height:38px;border:1px solid #e6e6e6;background:#fff;border-radius:6px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 14px;font-weight:850;font-size:10px;color:#111;text-align:left;cursor:pointer;line-height:1.35}
.checkout-faq .faq-ic{display:flex;flex:none;transition:transform .25s;color:#6b7280}
.checkout-faq .faq-ic svg{width:14px;height:14px}
.checkout-faq .faq-item.is-open .faq-ic{transform:rotate(180deg)}
.checkout-faq .faq-a{border:1px solid #e6e6e6;border-top:0;border-radius:0 0 6px 6px;padding:0 14px 10px;margin-top:-1px}
.checkout-faq .faq-a p{margin:6px 0 0;font-size:10px;line-height:1.5;color:#4b5563}

/* ===== misc SVG glyph sizing ===== */
.modal-close{display:flex;align-items:center;justify-content:center}
.modal-close svg{width:18px;height:18px}
.share-btn .share-ic{display:inline-flex;vertical-align:-3px}
.share-btn .share-ic svg{width:16px;height:16px}
.email-panel .privacy-line{word-break:normal;overflow-wrap:anywhere}

/* ===== Source Other Input ===== */
.source-other-input {
  width: 100%;
  max-width: 600px;
  margin: 24px auto 0;
  padding: 20px;
  background: #f5f5f5;
  border-radius: 12px;
  box-sizing: border-box;
}

.source-other-input label {
  display: block;
  font-weight: 600;
  margin-bottom: 10px;
  color: #333;
}

.source-other-input textarea {
  width: 100%;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-family: inherit;
  font-size: 16px;
  resize: vertical;
  min-height: 100px;
  box-sizing: border-box;
}

.source-other-input small {
  display: block;
  margin-top: 8px;
  color: #999;
  font-size: 12px;
}

/* ===== Signature Pad - Canvas Drawing + Type ===== */
.signature-pad-wrap, .signature-type-wrap, .signature-upload-wrap { display: none; }
.signature-pad-wrap.is-active, .signature-type-wrap.is-active, .signature-upload-wrap.is-active { display: block; }
.sig-upload-label { display: flex; align-items: center; justify-content: center; border: 2px dashed #e5e7eb; border-radius: 16px; padding: 32px; cursor: pointer; background: #fafafa; min-height: 180px; transition: border-color .2s; }
.sig-upload-label:hover { border-color: var(--green); }
.sig-upload-label input[type=file] { display: none; }
.sig-upload-placeholder { display: flex; flex-direction: column; align-items: center; gap: 8px; color: #6b7280; font-size: 14px; }
.sig-upload-hint { font-size: 11px; color: #9ca3af; }
[data-sig-upload-preview] { display: none; max-width: 100%; max-height: 180px; border-radius: 12px; margin: 12px auto 0; object-fit: contain; border: 1px solid #e5e7eb; }

.signature-pad {
  display: block;
  width: 100%;
  height: 250px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  background: #fff;
  cursor: crosshair;
  box-shadow: inset 0 0 0 14px #fafafa;
}

.signature-type-wrap input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  font-size: 16px;
  font-family: "Courier New", monospace;
  font-weight: 600;
  letter-spacing: 2px;
  box-sizing: border-box;
}

.signature-tabs button.is-active {
  background: #fff;
  color: var(--green);
  border-radius: 999px;
  border: 1px solid #e5e7eb;
}

.typed-signature {
  font-family: "Courier New", monospace;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 2px;
  font-style: italic;
  vertical-align: middle;
}

/* ===== Text wrapping: desktop-only line breaks collapse on mobile (task 9) ===== */
br.desktop-break{display:inline}
@media(max-width:640px){
  br.desktop-break{display:none}
  .offer-title,.hero-title,.quiz-title,.claims-wrap h1,.result-card h1{overflow-wrap:break-word;hyphens:none}
}

/* ===== Spin Wheel screen ===== */
.spin-brand{display:none!important;}
.spin-screen{background:linear-gradient(160deg,#0f2a43 0%,#0d4a3a 100%);min-height:100svh;display:flex;align-items:center;justify-content:center;padding:80px 24px max(40px,env(safe-area-inset-bottom))}
.spin-wrap{display:flex;flex-direction:column;align-items:center;gap:20px;width:100%;max-width:400px;text-align:center}
.spin-brand{color:#fff!important;justify-content:center;margin-bottom:4px}
.spin-brand span{color:#fff!important}
.spin-brand span span{color:var(--brand-accent)!important}
.spin-title{color:#fff;font-size:28px;font-weight:900;line-height:1.1;letter-spacing:-1px;margin:0}
.spin-title .accent{color:var(--brand-accent)}
.spin-subtitle{color:rgba(255,255,255,.65);font-size:14px;margin:0}
.spin-ring{position:relative;width:310px;height:310px;display:flex;align-items:center;justify-content:center}
.spin-canvas{width:300px;height:300px;border-radius:50%;box-shadow:0 0 0 6px rgba(255,255,255,.12),0 20px 60px rgba(0,0,0,.4);display:block}
.spin-pointer{position:absolute;top:-10px;left:50%;transform:translateX(-50%);color:#fff;font-size:24px;line-height:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4))}
.spin-result{animation:fadeIn .4s ease}
.spin-prize{color:#fff;font-size:22px;margin:0}
.spin-prize strong{color:var(--brand-accent);font-size:36px}
.spin-btn{width:180px;height:58px;border:0;border-radius:999px;background:var(--brand-accent);color:#fff;font-size:20px;font-weight:900;letter-spacing:.5px;cursor:pointer;box-shadow:0 12px 30px rgba(14,140,127,.4);transition:transform .15s,box-shadow .15s}
.spin-btn:hover{transform:scale(1.03);box-shadow:0 16px 36px rgba(14,140,127,.5)}
.spin-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.spin-claim{width:100%;max-width:340px;height:58px;border-radius:10px;font-size:16px;margin:4px auto 0!important;animation:fadeIn .5s ease;background:#fff!important;color:#0F2A43!important;box-shadow:0 12px 32px rgba(0,0,0,.35)!important;}
.spin-claim:hover{background:#f0f0f0!important;transform:scale(1.02);}
@keyframes fadeIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:640px){
  .spin-screen{padding-bottom:max(80px,calc(env(safe-area-inset-bottom) + 56px))}
  .spin-title{font-size:24px}
  .spin-ring{width:280px;height:280px}
  .spin-canvas{width:270px;height:270px}
}

/* ===== Mobile: claimform-bottom overflow fix ===== */
@media(max-width:640px){
  .claimform-bottom span{display:none!important}
  .claimform-bottom button{min-width:0;width:auto!important;padding:0 12px!important;font-size:14px!important;height:52px!important;border-radius:9999px!important;white-space:nowrap;}
  .claimform-bottom .outline{flex:0 1 auto;}
  .claimform-bottom .green{flex:1;}
}

/* ===== Mobile: scroll-sign bottom fix ===== */
@media(max-width:900px){
  .scroll-sign{bottom:110px}
}

.checkout-done-btn{display:block;margin-top:24px;width:100%;height:56px;border:0;border-radius:10px;background:var(--green);color:#fff;font-size:18px;font-weight:700;text-decoration:none;line-height:56px;text-align:center;cursor:pointer;transition:background .15s,transform .12s ease;}.checkout-done-btn:active{transform:scale(.97)}
.checkout-done-btn:hover{background:var(--brand-primary-d);}
/* ── CHECKOUT V2 ── */
.checkout-screen{background:#F8F9FB}
.checkout-header{background:linear-gradient(160deg,#0F2A43 0%,#143A56 65%,#0E6B62 140%);height:auto;min-height:70px;padding:16px 20px 18px}
.checkout-header .secure-label{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:600;color:#9EE8D8;letter-spacing:.01em;margin-bottom:4px}
.checkout-header .secure-label svg{flex-shrink:0}
.checkout-wrap{width:min(480px,100%);margin:0 auto;padding:20px 20px 60px}
.order-card{background:#fff;border:1px solid #e0e0e0;border-radius:14px;box-shadow:0 2px 8px rgba(0,0,0,.06);margin-bottom:10px}
.order-card h2{font-size:18px;font-weight:800;letter-spacing:0;text-transform:none;color:#111;margin:0 0 16px}
.order-card div{margin:7px 0;padding:0;font-size:14px;color:#444}
.order-card b{color:#111;font-weight:700}
.order-card .discount{color:#6b7280}
.order-card .discount b{color:#6b7280;font-weight:500}
.order-card .monthly{background:#e8f5e9;border-radius:8px;padding:10px 12px;margin:10px 0;font-weight:600;color:#1b5e20;font-size:15px}
.order-card .monthly b{color:#2e7d32;font-weight:800;font-size:17px}
.order-card hr{height:1px;background:#e0e0e0;border:none;margin:14px 0}
.order-card .total{font-size:16px;font-weight:800;color:#111}
.order-card .total b{font-size:24px;font-weight:900;color:#111}
.order-card small{color:#2e7d32;font-size:12px;font-weight:600;display:block;text-align:right;margin-top:4px}
.savings-banner{background:linear-gradient(135deg,#1A5C3E,#2a7d55);color:#fff;border-radius:10px 10px 0 0;padding:10px 16px;font-size:13px;font-weight:700;text-align:center;margin:-18px -18px 16px;letter-spacing:-.1px;}
.strike-price{text-decoration:line-through;color:#9ca3af;font-size:11px;font-weight:400;margin-right:2px;}
.vs-monthly-line{color:#1b5e20;font-size:13px;}
.vs-monthly-line b{color:#1b5e20;font-weight:700;}
.trust-strip{display:flex;justify-content:center;gap:20px;background:#FAF7F1;border:1px solid #E5DCC9;border-radius:10px;padding:10px 16px;margin-bottom:10px}
.trust-strip span{display:flex;align-items:center;gap:5px;font-size:11px;font-weight:600;color:#1F7A5A}
.trust-strip svg{flex-shrink:0}
.payment-card{background:#fff;border:1px solid #E1E5EC;border-radius:14px;padding:18px;box-shadow:0 2px 12px rgba(0,0,0,.04)}
.waitlist-pay-prefs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:4px}
.wl-pref-btn{height:52px;border:2px solid #dfe5ee;border-radius:10px;background:#fff;color:#273142;font-size:14px;font-weight:600;cursor:pointer;transition:border-color .15s,background .15s}
.wl-pref-btn:hover{border-color:#1F7A5A;background:#F0FBF7}
.wl-pref-btn.is-selected{border-color:#1F7A5A;background:#E7F6F4;color:#1F7A5A}
.payment-card h2{font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:#5B6675;margin:0 0 14px}
.applepay-btn{width:100%;height:46px;background:#000;border:none;border-radius:10px;color:#fff;font-size:15px;font-weight:700;letter-spacing:-.01em;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;margin-bottom:8px;transition:background 150ms}
.applepay-btn:hover{background:#1a1a1a}
.applepay-btn img{height:22px;filter:invert(1);flex-shrink:0}
.googlepay-btn{width:100%;height:46px;background:#fff;border:1.5px solid #DADCE0;border-radius:10px;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;margin-bottom:8px;transition:background 150ms;font-size:14px;color:#3C4043;font-weight:600}
.googlepay-btn:hover{background:#F8F9FA}
.googlepay-btn .gp-with{font-family:'Roboto',Arial,sans-serif;font-size:13px;font-weight:500;color:#3C4043}
.paypal-btn{height:46px;border-radius:10px;font-size:15px;font-weight:800;margin-bottom:14px}
.complete-payment{border-radius:9999px;height:52px;font-size:16px;background:#1F7A5A;transition:background .15s,box-shadow .2s}
.complete-payment:not(:disabled){background:#1F7A5A;box-shadow:0 4px 20px rgba(31,122,90,.42)}
.complete-payment:not(:disabled):hover{background:#176247;box-shadow:0 6px 28px rgba(31,122,90,.58)}
.co-processing{display:none;width:100%;height:52px;background:#1F7A5A;border:none;border-radius:9999px;color:#fff;font-size:15px;font-weight:700;align-items:center;justify-content:center;gap:10px;margin-top:14px;cursor:not-allowed}
.co-processing.show{display:flex}
@keyframes coSpin{to{transform:rotate(360deg)}}
.co-spin{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:coSpin .6s linear infinite;flex-shrink:0}
/* Pill shape on all bottom action buttons */
.claims-bottom button{border-radius:9999px!important}
.form-bottom .green,.form-bottom .outline{border-radius:9999px!important}
.claimform-bottom .outline,.claimform-bottom .green{border-radius:9999px!important}
/* Offer plan-sub: allow the highlighted pill to display properly */
.offer-plan-sub{text-align:center;line-height:1.6}
/* Tighter spacing from nav to image on offer screen */
.offer-main{padding-top:16px!important}
.offer-hero-img{margin-top:26px!important;margin-bottom:16px!important}
/* Subtle "file manually" escape-hatch link under the plans */
.offer-manual-link{display:block;text-align:center;margin:14px auto 0;color:#9aa3af;font-size:14px;font-weight:500;text-decoration:none}
.offer-manual-link:hover{color:#6b7280;text-decoration:underline}

/* ── Spin Wheel v2 — competitor-style popup modal ── */
/* Spin screen is now a fixed overlay */
.spin-screen{
  position:fixed;top:0;right:0;bottom:0;left:0;z-index:999;
  background:rgba(0,0,0,.65);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  min-height:unset!important;
}
.spin-modal-card{
  width:100%;max-width:360px;
  background:#fff;
  border-radius:20px;
  overflow:hidden;
  box-shadow:0 30px 80px rgba(0,0,0,.45);
  animation:spinModalIn .3s cubic-bezier(.18,.89,.32,1.28);
}
@keyframes spinModalIn{from{opacity:0;transform:scale(.88) translateY(16px)}to{opacity:1;transform:scale(1) translateY(0)}}
.spin-modal-header{
  background:#1A5C3E;
  padding:18px 20px 14px;
  text-align:center;
  color:#fff;
  position:relative;
}
.spin-modal-title{font-size:22px;font-weight:900;margin:0;letter-spacing:.5px;text-transform:uppercase;}
.spin-modal-sub{font-size:13px;font-weight:700;margin:5px 0 0;color:rgba(255,255,255,.8);text-transform:uppercase;letter-spacing:.5px;}
.spin-modal-close{position:absolute;right:14px;top:14px;background:transparent;border:none;color:rgba(255,255,255,.7);font-size:22px;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s;}
.spin-modal-close:hover{background:rgba(255,255,255,.15);color:#fff;}
.spin-modal-body{background:#F5F7F9;padding:20px 24px;display:flex;flex-direction:column;align-items:center;gap:14px;}
.spin-ring{position:relative;width:270px;height:270px;display:flex;align-items:center;justify-content:center;}
.spin-canvas{width:260px;height:260px;display:block;border-radius:50%;}
.spin-pointer-y{position:absolute;top:-4px;left:50%;transform:translateX(-50%);color:#F5A623;font-size:22px;line-height:1;filter:drop-shadow(0 1px 3px rgba(0,0,0,.3));z-index:2;}
.spin-btn.is-ready{animation:spinPulse 1.4s ease-in-out infinite}
@keyframes spinPulse{
  0%,100%{box-shadow:0 4px 20px rgba(26,92,62,.3),0 0 0 0 rgba(26,92,62,.4)}
  50%{box-shadow:0 6px 24px rgba(26,92,62,.45),0 0 0 12px rgba(26,92,62,0)}
}
.spin-btn{width:120px;height:48px;border:0;border-radius:999px;background:#1A5C3E;color:#fff;font-size:16px;font-weight:900;letter-spacing:.5px;cursor:pointer;transition:transform .15s,box-shadow .15s;}
.spin-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}
.spin-btn:not(:disabled):hover{transform:scale(1.04);}
.spin-modal-footer{background:#FFF8E6;border-top:2px solid #F0C040;padding:10px 20px;text-align:center;}
.spin-one-time{font-size:12px;font-weight:900;color:#8B4E00;margin:0;text-transform:uppercase;letter-spacing:.8px;}
.spin-never{font-size:10px;font-weight:700;color:#9aa3af;margin:3px 0 0;text-transform:uppercase;letter-spacing:.3px;}

/* Congratulations modal */
.spin-congrats-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200000;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;padding:20px;}
.spin-congrats-card{width:100%;max-width:360px;background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.45);animation:spinModalIn .3s cubic-bezier(.18,.89,.32,1.28);}
.spin-congrats-header{background:#1A5C3E;padding:18px 20px 14px;text-align:center;color:#fff;position:relative;font-size:20px;font-weight:900;}
.spin-congrats-close{position:absolute;right:14px;top:14px;background:transparent;border:none;color:rgba(255,255,255,.7);font-size:22px;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background .15s;}
.spin-congrats-close:hover{background:rgba(255,255,255,.15);color:#fff;}
.spin-congrats-body{padding:24px 24px 20px;text-align:center;}
.spin-congrats-label{font-size:15px;color:#6b7280;margin:0 0 12px;}
.spin-congrats-prize-box{display:inline-block;padding:14px 32px;background:#E7F6F0;border:2px solid #17A77A;border-radius:12px;font-size:28px;font-weight:900;color:#1A5C3E;letter-spacing:-.5px;margin-bottom:16px;}
.spin-congrats-timer{font-size:13px;color:#6b7280;margin-bottom:20px;}
.spin-congrats-timer b{color:#1A5C3E;font-size:16px;font-weight:900;}
.spin-congrats-claim{display:block;width:100%;height:48px;border:0;border-radius:10px;background:#1A5C3E;color:#fff;font-size:15px;font-weight:900;cursor:pointer;margin-bottom:10px;transition:background .15s;}
.spin-congrats-claim:hover{background:#17A77A;}
.spin-congrats-skip{display:block;width:100%;height:36px;border:0;background:transparent;color:#9ca3af;font-size:12px;cursor:pointer;text-decoration:underline;}
.spin-congrats-no-win{font-size:14px;color:#6b7280;line-height:1.5;margin-bottom:20px;}
.spin-congrats-footer{background:#fff;border-top:1px solid #f0f0f0;padding:10px 20px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:2px;}
.spin-congrats-footer span:first-child{font-size:12px;font-weight:900;color:#F5A623;text-transform:uppercase;letter-spacing:.5px;}
.spin-congrats-footer span:last-child{font-size:10px;font-weight:700;color:#9aa3af;text-transform:uppercase;letter-spacing:.3px;}

/* ── PDF stage: inner scrollable window ── */
.pdf-stage[data-pdf-stage]{max-height:min(600px,55vh);overflow-y:auto;scroll-behavior:auto;}
/* Auto-populated field values — blue like a filled form */
.pdf-auto{color:#1652c4;font-weight:600;}
/* Typed signature preview */
.sig-type-preview{
  min-height:60px;padding:12px 16px;margin-top:12px;
  border:1px dashed #d1d5db;border-radius:10px;
  background:#f8f9ff;
  font-family:'Brush Script MT','Segoe Script','Apple Chancery',cursive;
  font-size:30px;color:#1652c4;text-align:center;
  transition:opacity .2s;
  word-break:break-all;
}
.sig-type-preview:empty::before{content:'Your signature preview';color:#d1d5db;font-size:18px;}
.sig-type-hint{font-size:11px;color:#9ca3af;margin:6px 0 0;text-align:center;}
/* Update typed-signature on PDF to cursive blue */
.typed-signature{font-family:'Brush Script MT','Segoe Script','Apple Chancery',cursive;font-size:22px;font-weight:normal;font-style:normal;color:#1652c4;vertical-align:middle;}
/* Modal close button hover */
.modal-close:hover{background:#f3f4f6;border-color:#d1d5db;color:#374151;}
/* Gold stars in offer reviews */
.offer-rebuild .offer-reviews .stars,.offer-rebuild .offer-reviews .stars svg{color:#f59e0b!important;}
/* Review avatars */
.review-avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;color:#fff;font-size:14px;font-weight:800;flex-shrink:0;}.review-avatar-photo{object-fit:cover;display:block;}
.review-meta{display:flex;align-items:center;gap:10px;}
.review-meta div strong{display:block;font-size:13px;}
.review-meta div span{font-size:11px;color:#8a8f98;}
/* Guarantee block — navy (not green, so it doesn't merge with CTA) */
.offer-guarantee{background:#0F2A43!important;border-radius:16px;}
.offer-guarantee h4,.offer-guarantee p,.offer-guarantee span,.offer-guarantee .guarantee-icon svg{color:#fff!important;}
/* USP strip */
.offer-usp-strip{display:flex;flex-direction:column;gap:8px;margin:0 auto 28px;width:var(--offer-narrow);max-width:100%;}
.offer-usp-item{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#f5f7fa;border-radius:8px;font-size:14px;font-weight:600;color:#374151;}
.usp-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:7px;background:#1F7A5A;color:#fff;font-size:13px;flex-shrink:0;}
.usp-icon svg{width:16px;height:16px;color:#fff;}
/* Mid-page CTA spacing */
.offer-mid-cta{margin-top:20px!important;margin-bottom:28px!important;}
/* Country warning in details form */
.country-warning{display:flex;gap:12px;align-items:flex-start;background:#FEF3C7;border:1.5px solid #FCD34D;border-radius:10px;padding:14px 16px;margin-bottom:20px;}
.country-warning-icon{font-size:22px;flex-shrink:0;}
.country-warning strong{display:block;font-size:16px;color:#92400E;margin-bottom:4px;}
.country-warning p{margin:0;font-size:14px;color:#78350F;line-height:1.4;}
/* Auto-apply modal */
.auto-apply-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200000;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:20px;}
.auto-apply-modal{background:#fff;border-radius:20px;padding:32px 28px;max-width:400px;width:100%;text-align:center;box-shadow:0 30px 80px rgba(0,0,0,.4);animation:spinModalIn .25s ease;}
.auto-apply-icon{font-size:40px;margin-bottom:12px;}
.auto-apply-modal h3{font-size:22px;font-weight:900;margin:0 0 10px;letter-spacing:-.5px;}
.auto-apply-modal p{font-size:14px;color:#6b7280;line-height:1.5;margin:0 0 24px;}
.auto-apply-yes,.auto-apply-no{display:block;width:100%;margin-bottom:10px;}
.auto-apply-yes{height:52px!important;font-size:16px!important;}
.auto-apply-no{height:44px!important;font-size:14px!important;}
/* Claim form: skip button leftmost */
.claimform-skip-btn{justify-self:start!important;}
/* Signature type wrap input font */
.signature-type-wrap input{font-family:inherit;font-size:16px;letter-spacing:normal;font-family:'Courier New',monospace;}
/* Type signature preview — cursive/handwriting look */
.sig-type-preview{font-family:'Dancing Script','Brush Script MT','Segoe Script',cursive;font-size:32px;color:#1652c4;min-height:52px;padding:8px 0;line-height:1.2;word-break:break-word;text-align:center;}

/* === iOS / MOBILE VIEWPORT + SAFE AREA FIXES === */
/* Prevent 100vh address-bar overlap on iOS Safari */
@supports(min-height:100svh){
  @media(max-width:900px){
    .app-stage,.screen,.question-screen,.source-screen,.email-screen,.claims-screen,.claimform-screen,.paywall-screen,.offer-rebuild{min-height:100svh}
    /* details-screen: fixed Next button + padding-bottom handles spacing; min-height creates empty gap */
    .details-screen{min-height:auto}
  }
}
/* Safe area insets for fixed bottom bars (iPhone home indicator) */
@supports(padding-bottom:env(safe-area-inset-bottom)){
  .claims-bottom,.form-bottom{padding-bottom:env(safe-area-inset-bottom,0px)}
  @media(max-width:1600px){.claimform-bottom::before{height:calc(96px + env(safe-area-inset-bottom,0px))}}
  .claimform-bottom{padding-bottom:env(safe-area-inset-bottom,0px)!important}
}

/* ===== Checkout 2 — redesigned layout (checkout2-screen) ===== */
.checkout2-screen{background:#F4F6F8;min-height:100vh;overflow:auto;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased;color:#0B2138;display:flex;flex-direction:column}
.co2-header{position:relative;background:linear-gradient(165deg,#0F2A43,#0B2138);color:#fff;padding:20px 22px 24px}
.co2-header h1{margin:13px 0 0;font-size:24px;line-height:1.12;font-weight:800;letter-spacing:-.6px;color:#fff}
.co2-header p{margin:9px 0 0;font-size:13.5px;line-height:1.45;color:#AFC0CF;max-width:332px}
.co2-secure{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#9CCCBE}
.co2-secure svg{width:13px;height:14px}
.co2-close{position:absolute;top:15px;right:15px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s}
.co2-close:hover{background:rgba(255,255,255,.2)}
.co2-close svg{width:18px;height:18px}
.co2-wrap{padding:16px 16px 32px;display:flex;flex-direction:column;gap:13px}
.co2-card{background:#fff;border:1px solid #E9ECF0;border-radius:14px;padding:17px;box-shadow:0 1px 2px rgba(11,33,56,.04),0 8px 22px rgba(11,33,56,.06)}
.co2-card-title{margin:0 0 13px;font-size:14.5px;font-weight:750;letter-spacing:-.2px;color:#0B2138}
/* Value list */
.co2-value-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.co2-value-list li{display:flex;align-items:center;gap:11px;font-size:14px;color:#33414F}
.co2-value-ic{flex:none;width:22px;height:22px;border-radius:50%;background:#E7F6F4;color:#1F7A5A;display:flex;align-items:center;justify-content:center}
.co2-value-ic svg{width:13px;height:13px}
/* Order summary */
.co2-ord-row{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#3A4656;margin:9px 0}
.co2-ord-row b{font-weight:600;color:#0B2138}
.co2-discount b{color:#176247}
.co2-ord-divider{height:1px;background:#EEF1F4;margin:14px 0}
.co2-due-row{display:flex;justify-content:space-between;align-items:baseline}
.co2-due-label{font-size:15px;font-weight:800;color:#0B2138}
.co2-due-amt{font-size:27px;font-weight:900;letter-spacing:-1px;color:#0B2138}
.co2-due-sub{display:inline-flex;align-items:center;gap:6px;background:#E7F6F4;color:#176247;font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:8px;margin-top:10px}
.co2-ord-fine{margin:11px 0 0;font-size:12px;line-height:1.5;color:#5B6675}
.co2-strike{text-decoration:line-through;opacity:.55;font-weight:400;margin-right:4px}
/* Trust row */
.co2-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:2px 4px}
.co2-trust>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;font-size:11px;font-weight:600;line-height:1.25;color:#5B6675}
.co2-t-ic{width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid #E9ECF0;display:flex;align-items:center;justify-content:center;color:#1F7A5A}
.co2-t-ic svg{width:15px;height:15px}
/* After checkout steps */
.co2-steps{position:relative;display:flex;flex-direction:column;gap:13px}
.co2-steps::before{content:"";position:absolute;left:12px;top:14px;bottom:14px;width:2px;background:#EEF1F4}
.co2-step{display:flex;align-items:flex-start;gap:12px}
.co2-step-n{position:relative;z-index:1;flex:none;width:25px;height:25px;border-radius:50%;background:#E7F6F4;color:#176247;font-size:12.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
.co2-step p{margin:2px 0 0;font-size:13.5px;line-height:1.4;color:#33414F}
/* Payment section extras */
.co2-pay-sub{margin:-7px 0 14px;display:flex;align-items:center;gap:6px;font-size:12px;color:#5B6675}
.co2-pay-sub svg{width:12px;height:13px}
.co2-card-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;height:46px;border:1.5px solid #D7DCE3;border-radius:10px;background:#fff;padding:0 14px;cursor:pointer;-webkit-tap-highlight-color:transparent;gap:10px}
.co2-card-toggle:hover{border-color:#B9C2CE}
.co2-card-toggle-left{display:inline-flex;align-items:center;gap:10px;font-size:14.5px;font-weight:650;color:#0B2138}
.co2-card-toggle-left svg{width:20px;height:20px;color:#48566A}
.co2-card-toggle-chev{display:flex;width:18px;height:18px;color:#9AA7B6;transition:transform .2s}
/* Footer microcopy */
.co2-foot{padding:4px 6px 0;text-align:center}
.co2-foot-line{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;font-weight:650;color:#0B2138}
.co2-foot-line svg{width:13px;height:13px;color:#1F7A5A}
.co2-foot-sub{margin:7px 0 0;font-size:11.5px;line-height:1.5;color:#5B6675}
/* Objection-handling block */
.co2-objection-answer{margin:0 0 12px;font-size:13.5px;line-height:1.5;color:#5B6675}
.co2-miss-list{display:flex;flex-direction:column;gap:8px}
.co2-miss-item{display:flex;align-items:flex-start;gap:9px;font-size:13.5px;line-height:1.35;color:#33414F}
.co2-miss-ic{flex:none;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:800;line-height:1}
.co2-miss-bad{background:#FEE9E9;color:#C0392B}
.co2-miss-good{background:#E7F6F4;color:#1F7A5A}
.co2-miss-good svg{width:11px;height:11px}
.co2-vs-divider{display:flex;align-items:center;gap:10px;margin:13px 0;font-size:11px;font-weight:700;letter-spacing:.5px;color:#9AA7B6;text-transform:uppercase}
.co2-vs-divider::before,.co2-vs-divider::after{content:"";flex:1;height:1px;background:#EEF1F4}
@media(max-width:430px){.co2-header{padding:18px 18px 22px}.co2-header h1{font-size:22px}.co2-wrap{padding:14px 13px max(28px,env(safe-area-inset-bottom,28px))}}
@media(min-width:600px){.checkout2-screen{align-items:center;padding:32px 20px 56px}.co2-header,.co2-wrap{width:100%;max-width:460px}.co2-header{border-radius:18px 18px 0 0;margin-bottom:0}.co2-wrap{background:#F4F6F8}}
/* Patch: sticky checkout header */
.checkout-header{position:sticky!important;top:0;z-index:20}
@media(max-width:900px){.checkout-screen{height:100svh;overflow-y:auto;overflow-x:hidden}}
/* Patch: spin wheel discount countdown badge (floating, top-right) */
.offer-countdown-badge{position:fixed;top:14px;right:14px;z-index:9999;display:flex;align-items:center;gap:7px;background:#fff;border-radius:999px;box-shadow:0 2px 14px rgba(0,0,0,0.18);padding:7px 12px 7px 10px;pointer-events:none}
.ocb-icon{font-size:19px;line-height:1;flex-shrink:0}
.ocb-time{background:#F59E0B;color:#fff;font-size:15px;font-weight:900;font-variant-numeric:tabular-nums;letter-spacing:0.04em;border-radius:8px;padding:3px 10px;min-width:60px;text-align:center;display:inline-block}

/* ── QUALIFIER (FLOW_FAST) ─────────────────────────────────────────── */
.qualifier-screen{min-height:100vh;background:var(--brand-dark,#0F2A43);overflow-y:auto;display:flex;justify-content:center;padding:92px 18px 40px}
.qualifier-card{width:100%;max-width:760px;background:#fff;border-radius:32px;padding:36px 30px 112px;box-shadow:0 24px 65px rgba(0,0,0,.14);align-self:flex-start}
.qualifier-title{margin:0 0 8px;font-family:Sora,system-ui,sans-serif;font-size:34px;font-weight:700;letter-spacing:-1.6px;line-height:1.08;color:#121827}
.qualifier-sub{margin:0 0 22px;font-size:16px;line-height:1.4;color:#5b6472}
.qualifier-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.qualifier-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:8px;padding:18px 8px 12px;min-height:124px;border:2px solid #e2e6ec;border-radius:16px;background:#fff;cursor:pointer;text-align:center;transition:border-color .12s,background .12s}
.qualifier-tile:hover{border-color:#c3cad3}
.qualifier-tile.is-selected{border-color:var(--green);background:#f1f9f4;box-shadow:inset 0 0 0 1px var(--green)}
.qualifier-tile::after{content:'';position:absolute;top:8px;right:9px;width:20px;height:20px;border-radius:6px;border:2px solid #cdd5df;background:#fff;box-sizing:border-box;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;line-height:1;color:#fff;transition:background .12s,border-color .12s}
.qualifier-tile.is-selected::after{content:'✓';border-color:var(--green);background:var(--green)}
.qualifier-logos{display:flex;align-items:center;justify-content:center;gap:6px;height:42px}
.qualifier-logos img{max-height:38px;max-width:80px;object-fit:contain}
.qualifier-label{font-size:13px;font-weight:600;line-height:1.18;color:#273142}
.qualifier-amount{font-size:12px;font-weight:700;color:var(--green)}
.qualifier-amt-wrap{display:flex;flex-direction:column;align-items:center;gap:1px}
.qualifier-typical{font-size:10px;font-weight:600;color:#8a9aa8;white-space:nowrap}
.qualifier-more{margin:20px 0 0;font-size:13px;line-height:1.4;color:#5b6472;text-align:center}
.qualifier-screen .qualifier-cta{position:fixed!important;left:50%!important;right:auto!important;bottom:18px!important;transform:translateX(-50%);width:min(696px,calc(100vw - 32px))!important;margin:0!important;background:var(--green)!important;color:#fff;box-shadow:0 14px 32px rgba(29,123,96,.34);z-index:30}
.qualifier-cta:disabled{opacity:1;background:#aeb6c0!important;box-shadow:none;cursor:not-allowed}
@media(max-width:560px){
  .qualifier-card{padding:28px 18px 104px;border-radius:24px}
  .qualifier-title{font-size:27px;letter-spacing:-1.1px}
  .qualifier-sub{font-size:14px;margin-bottom:18px}
  .qualifier-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .qualifier-tile{min-height:108px;padding:14px 6px 10px;border-radius:13px}
  .qualifier-logos{height:36px}
  .qualifier-logos img{max-height:32px;max-width:64px}
  .qualifier-label{font-size:11.5px}
  .qualifier-amount{font-size:11px}
  .qualifier-typical{font-size:9.5px}
}

/* Loading count-up amount */
.loading-screen .calc-amount{margin:26px 0 0;font-size:72px;font-weight:900;letter-spacing:-3px;line-height:1;color:var(--green);font-variant-numeric:tabular-nums}
@media(max-width:560px){.loading-screen .calc-amount{font-size:50px;letter-spacing:-2px;margin-top:18px}}

/* ============================================================================
   FLOW_FAST single "grandma-clear" checkout (checkout-simple.ts) — fast-only.
   Ported from checkout-redesign.preview.html, scoped under .checkout-simple-screen.
   ========================================================================== */
.checkout-simple-screen{
  --co-surface:#F4F6F8; --co-card:#fff; --co-line:#E9ECF0; --co-hair:#EEF1F4;
  --co-ink:#0B2138; --co-muted:#5B6675; --co-green:#1F7A5A; --co-green-d:#176247; --co-accent:#E7F6F4;
  --co-radius:14px; --co-shadow:0 1px 2px rgba(11,33,56,.04),0 8px 22px rgba(11,33,56,.06);
  background:var(--co-surface);color:var(--co-ink);min-height:100vh;padding:0
}
.checkout-simple-screen [hidden]{display:none!important}
.cosim{max-width:412px;margin:0 auto}
.cosim svg{display:inline-block;vertical-align:middle}

/* header */
.cosim-header{background:linear-gradient(165deg,#0F2A43,#0B2138);color:#fff}
.cosim-header-in{position:relative;max-width:412px;margin:0 auto;padding:20px 22px 24px}
.cosim-secure{display:inline-flex;align-items:center;gap:7px;font-size:11.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:#9CCCBE}
.cosim-secure svg{width:13px;height:14px}
.cosim-header h1{margin:13px 0 0;font-size:24px;line-height:1.12;font-weight:800;letter-spacing:-.6px;color:#fff}
.cosim-header p{margin:9px 0 0;font-size:13.5px;line-height:1.45;color:#AFC0CF;max-width:332px}
.cosim-close{position:absolute;top:15px;right:15px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s}
.cosim-close:hover{background:rgba(255,255,255,.2)}
.cosim-close svg{width:18px;height:18px}

/* card scaffold */
.cosim-wrap{padding:16px 16px 26px;display:flex;flex-direction:column;gap:13px}
.cosim-card{background:var(--co-card);border:1px solid var(--co-line);border-radius:var(--co-radius);padding:17px;box-shadow:var(--co-shadow)}
.cosim-card-title{margin:0 0 13px;font-size:14.5px;font-weight:750;letter-spacing:-.2px;color:var(--co-ink)}

/* value list */
.cosim-value{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:11px}
.cosim-value li{display:flex;align-items:center;gap:11px;font-size:14px;color:#33414F}
.cosim-vic{flex:none;width:22px;height:22px;border-radius:50%;background:var(--co-accent);color:var(--co-green);display:flex;align-items:center;justify-content:center}
.cosim-vic svg{width:13px;height:13px}

/* order summary */
.cosim-ord{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#3A4656;margin:9px 0}
.cosim-ord b{font-weight:600;color:var(--co-ink)}
.cosim-disc b{color:var(--co-green-d)}
.cosim-divider{height:1px;background:var(--co-hair);margin:14px 0}
.cosim-due{display:flex;justify-content:space-between;align-items:baseline}
.cosim-due-l{font-size:15px;font-weight:800;color:var(--co-ink)}
.cosim-due-a{font-size:27px;font-weight:900;letter-spacing:-1px;color:var(--co-ink)}
.cosim-due-sub{margin:10px 0 0;display:inline-flex;align-items:center;gap:6px;background:var(--co-accent);color:var(--co-green-d);font-size:12.5px;font-weight:700;padding:5px 10px;border-radius:8px}
.cosim-fine{margin:11px 0 0;font-size:12px;line-height:1.5;color:var(--co-muted)}

/* trust strip */
.cosim-trust{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:2px 4px}
.cosim-trust>div{display:flex;flex-direction:column;align-items:center;text-align:center;gap:7px;font-size:11px;font-weight:600;line-height:1.25;color:var(--co-muted)}
.cosim-tic{width:30px;height:30px;border-radius:50%;background:#fff;border:1px solid var(--co-line);display:flex;align-items:center;justify-content:center;color:var(--co-green)}
.cosim-tic svg{width:15px;height:15px}

/* after-checkout steps */
.cosim-steps{position:relative;display:flex;flex-direction:column;gap:13px}
.cosim-steps::before{content:"";position:absolute;left:12px;top:14px;bottom:14px;width:2px;background:var(--co-hair)}
.cosim-step{display:flex;align-items:flex-start;gap:12px}
.cosim-n{position:relative;z-index:1;flex:none;width:25px;height:25px;border-radius:50%;background:var(--co-accent);color:var(--co-green-d);font-size:12.5px;font-weight:800;display:flex;align-items:center;justify-content:center}
.cosim-step p{margin:2px 0 0;font-size:13.5px;line-height:1.4;color:#33414F}

/* social proof (E1) */
.cosim-proof{text-align:center}
.cosim-rating{display:flex;align-items:center;justify-content:center;gap:7px}
.cosim-rstars{color:#F5A623;letter-spacing:1px;font-size:15px}
.cosim-rating b{font-weight:800;font-size:15px;color:var(--co-ink)}
.cosim-rmeta{color:var(--co-muted);font-weight:600;font-size:12.5px}
.cosim-quote{margin:11px 0 4px;font-size:14.5px;font-weight:650;line-height:1.35;color:var(--co-ink)}
.cosim-qname{font-size:12px;color:var(--co-muted);font-weight:600}
.cosim-proof-sub{margin:12px 0 0;padding-top:11px;border-top:1px solid var(--co-hair);font-size:12px;color:var(--co-green-d);font-weight:600}

/* payment */
.cosim-pay-sub{margin:-4px 0 14px;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--co-muted)}
.cosim-pay-sub svg{width:12px;height:13px}
.cosim-pay-btns{display:flex;flex-direction:column;gap:10px}
.cosim-pay{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:50px;border:0;border-radius:11px;font-size:16px;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}
.cosim-apple{background:#000;color:#fff}
.cosim-apple-mark{display:inline-flex;align-items:center;gap:5px;font-size:19px;font-weight:500;letter-spacing:-.3px}
.cosim-apple-mark svg{width:18px;height:18px;transform:translateY(-1px)}
.cosim-gpay{background:#000;color:#fff}
.cosim-gpay-mark{display:inline-flex;align-items:center;gap:6px;font-size:18px;font-weight:500;letter-spacing:-.2px}
.cosim-gpay-mark svg{width:19px;height:19px}
.cosim-paypal{background:#FFC439}
.cosim-paypal svg{width:20px;height:24px}
.cosim-pp-word{font-size:17px;font-weight:800;letter-spacing:-.3px}
.cosim-card-btn{background:#fff;border:1.5px solid #D7DCE3;color:var(--co-ink);justify-content:space-between;padding:0 15px;font-size:15px;font-weight:650}
.cosim-card-btn:hover{border-color:#B9C2CE}
.cosim-card-btn.is-open{border-color:var(--co-green);box-shadow:inset 0 0 0 1px var(--co-green)}
.cosim-pc-left{display:inline-flex;align-items:center;gap:10px}
.cosim-pc-left svg{width:20px;height:20px;color:#48566A}
.cosim-pc-chev{display:inline-flex;width:18px;height:18px;color:#9AA7B6;transition:transform .2s}
.cosim-card-btn.is-open .cosim-pc-chev{transform:rotate(90deg)}

/* card form */
.cosim-card-form{margin-top:14px;display:flex;flex-direction:column;gap:12px}
.cosim-two-col{display:flex;gap:12px}
.cosim-field{display:flex;flex-direction:column;gap:6px}
.cosim-field-half{flex:1}
.cosim-field-label{font-size:12.5px;font-weight:650;color:#3A4656}
.cosim-field input{width:100%;height:46px;border:1.5px solid #D7DCE3;border-radius:10px;padding:0 13px;font-size:15px;color:var(--co-ink);background:#fff;outline:none;transition:border-color .15s}
.cosim-field input:focus{border-color:var(--co-green)}
.cosim-field.has-error input{border-color:#DC2626}
.cosim-field-error{font-size:11.5px;color:#DC2626;min-height:0}
.cosim-field.has-error .cosim-field-error{min-height:14px}
.cosim-complete{margin-top:4px;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;height:52px;border:0;border-radius:12px;background:var(--co-green);color:#fff;font-size:16px;font-weight:750;cursor:pointer;transition:opacity .15s}
.cosim-complete svg{width:15px;height:16px}
.cosim-complete:disabled{background:#aeb6c0;cursor:not-allowed}

/* processing */
.cosim-processing{display:none;align-items:center;justify-content:center;gap:10px;padding:18px 4px;font-size:14px;font-weight:600;color:var(--co-ink)}
.cosim-processing.show{display:flex}
.cosim-spin{width:18px;height:18px;border-radius:50%;border:2.5px solid var(--co-accent);border-top-color:var(--co-green);animation:cosim-spin .7s linear infinite}
@keyframes cosim-spin{to{transform:rotate(360deg)}}

/* footer */
.cosim-foot{padding:4px 6px 0;text-align:center}
.cosim-f1{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;font-weight:650;color:var(--co-ink)}
.cosim-f1 svg{width:13px;height:13px;color:var(--co-green)}
.cosim-f2{margin:7px 0 0;font-size:11.5px;line-height:1.5;color:var(--co-muted)}
.cosim-legal{margin:15px 0 0;font-size:10.5px;line-height:1.55;color:#8A94A0}
.cosim-legal a{color:var(--co-green-d);text-decoration:underline}

@media(max-width:430px){
  .cosim{max-width:100%}
  .cosim-header-in{padding:18px 18px 22px}
  .cosim-header h1{font-size:22px}
  .cosim-wrap{padding:14px 13px 24px}
}

/* ── two-column desktop checkout + horizontal review carousel (fast-only) ──────
   Mobile: the column wrappers dissolve (display:contents) so the cards interleave
   back into the original single-column sequence via their inline `order` (1..7).
   Desktop: real grid columns with order summary + payment in a sticky right rail. */
.cosim-col-main,.cosim-col-side{display:contents}

.cosim-reviews{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;margin:12px -4px 2px;padding:2px 4px 10px;scrollbar-width:none}
.cosim-reviews::-webkit-scrollbar{display:none}
.cosim-rev{scroll-snap-align:start;flex:0 0 238px;max-width:82%;background:#fff;border:1px solid var(--co-line);border-radius:12px;padding:12px 13px;display:flex;flex-direction:column;gap:6px}
.cosim-rev-stars{color:#F5A623;font-size:12px;letter-spacing:1.5px;line-height:1}
.cosim-rev-q{margin:0;font-size:13px;line-height:1.4;color:var(--co-ink);font-weight:650}
.cosim-rev-n{font-size:11.5px;color:var(--co-muted);font-weight:600}
/* the carousel reads better left-aligned than the old centered single quote */
.cosim-proof{text-align:left}
.cosim-proof .cosim-rating{justify-content:flex-start}

/* ── checkout CRO additions (fast-only): payoff (#1), price reframe (#2),
   deadline urgency (#5), full-bleed header (B), mobile sticky pay-bar (#6) ── */
.cosim-header .cosim-head-payoff{margin:12px 0 2px;max-width:460px;font-size:15px;line-height:1.4;font-weight:700;color:#fff}
.cosim-head-payoff strong{color:#7BE3C6}
.cosim-due-per{font-size:15px;font-weight:700;color:var(--co-muted);letter-spacing:0;margin-left:1px}
.cosim-urgency{display:flex;align-items:flex-start;gap:8px;background:#FFF7ED;border:1px solid #FED7AA;color:#9A3412;font-size:12.5px;line-height:1.35;font-weight:600;padding:9px 11px;border-radius:10px;margin:0 0 13px}
.cosim-urgency svg{width:15px;height:15px;flex:none;color:#EA580C;margin-top:1px}
.cosim-urgency strong{font-weight:800}
.cosim-sticky-bar{display:none}
.cosim-sticky-btn{width:100%;height:52px;border:0;border-radius:12px;background:var(--co-green);color:#fff;font-size:16px;font-weight:800;letter-spacing:-.2px;cursor:pointer}
@media(max-width:819px){
  .cosim-sticky-bar{display:block;position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(255,255,255,.94);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-top:1px solid var(--co-line);padding:10px 14px;padding-bottom:calc(10px + env(safe-area-inset-bottom))}
  .checkout-simple-screen{padding-bottom:80px}
}

@media(min-width:820px){
  .cosim{max-width:1080px}
  .cosim-header-in{max-width:1080px}
  .cosim-wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,372px);gap:20px;align-items:start;padding:22px 20px 34px}
  .cosim-col-main,.cosim-col-side{display:flex;flex-direction:column;gap:13px;min-width:0}
  /* NB: no position:sticky on the side rail — a shared ancestor (.app-stage) uses
     overflow:hidden for the screen-slide animation, which disables sticky. The rail
     just scrolls with the page; it fits the viewport so payment stays reachable. */
  .cosim-rev{flex-basis:248px}
}

/* ── redesign (fast-only): qualify-for header · free-to-file disclosure · matched
   settlements (endowment) · due-today plan · billing terms above buttons ·
   collapsible how-it-works · enriched review carousel. ── */
.cosim-header .cosim-qualify{margin:14px 0 1px;font-size:13.5px;font-weight:600;color:#AFC0CF;max-width:none}
.cosim-header .cosim-payoff{font-size:34px;font-weight:900;letter-spacing:-1.2px;line-height:1.02;color:#7BE3C6}
.cosim-header .cosim-sub{margin:7px 0 0;font-size:13px;line-height:1.42;color:#AFC0CF;max-width:430px}
.cosim-header .cosim-hrate{margin-top:12px;padding-top:11px;border-top:1px solid rgba(255,255,255,.13);display:flex;align-items:center;gap:7px;font-size:12px;color:#AFC0CF;max-width:none}
.cosim-hstars{color:#F5B73D;letter-spacing:1px;font-size:13px}
.cosim-hrate b{color:#fff;font-weight:800}

.cosim-disclose{display:flex;align-items:flex-start;gap:9px;background:#EAF1FB;border:1px solid #C9DDF3;color:#1B4D7A;border-radius:12px;padding:11px 13px;font-size:12.5px;line-height:1.45}
.cosim-disclose svg{width:16px;height:16px;flex:none;color:#1B4D7A;margin-top:1px}

.cosim-claims{display:flex;flex-direction:column;gap:9px}
.cosim-claim{display:flex;align-items:center;gap:11px;background:#F7F9FB;border:1px solid #E7EAEF;border-radius:11px;padding:9px 12px}
.cosim-claim-logo{width:30px;height:30px;object-fit:contain;flex:none}
.cosim-claim-main{flex:1;min-width:0}
.cosim-claim-name{font-size:13.5px;font-weight:650;color:#1F2733;line-height:1.2}
.cosim-claim-amt{font-size:12px;color:#5B6675;margin-top:1px}
.cosim-claim-amt b{color:#1F2733;font-weight:800}
.cosim-claim-ready{flex:none;display:inline-flex;align-items:center;gap:4px;background:var(--co-accent);color:var(--co-green-d);font-size:11px;font-weight:700;padding:4px 8px;border-radius:7px}
.cosim-claim-ready svg{width:11px;height:11px}
.cosim-claims-more{margin:10px 0 0;font-size:12px;color:var(--co-green-d);font-weight:600}
.cosim-claims-note{margin:9px 0 0;font-size:11px;line-height:1.45;color:#8A94A0}

.cosim-proof-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:2px}
.cosim-proof-head .cosim-card-title{margin:0}
.cosim-proof .cosim-rating .cosim-rmeta{font-size:11.5px}
.cosim-rev-dim{color:#D7DCE3}
.cosim-rev-all{align-items:center;justify-content:center;text-align:center;gap:6px;flex-basis:150px;background:#F7F9FB;border-style:dashed;color:var(--co-green-d);font-weight:700;text-decoration:none}
.cosim-rev-all svg{width:14px;height:14px}
.cosim-proof .cosim-proof-sub{display:flex;align-items:center;gap:7px;color:var(--co-muted)}
.cosim-proof-ic{display:inline-flex;color:var(--co-green)}
.cosim-proof-ic svg{width:15px;height:15px}

.cosim-how{padding:0;overflow:hidden}
.cosim-how-hd{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:none;border:0;padding:16px 17px;font-size:14.5px;font-weight:750;color:var(--co-ink);cursor:pointer;-webkit-tap-highlight-color:transparent}
.cosim-how-chev{display:inline-flex;width:18px;height:18px;color:#9AA7B6;transition:transform .2s}
.cosim-how-chev svg{width:18px;height:18px}
.cosim-how-hd.is-open .cosim-how-chev{transform:rotate(90deg)}
.cosim-how-body{padding:0 17px 16px}

.cosim-plansel{padding:0;overflow:hidden}
.cosim-plansel-hd{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;background:none;border:0;padding:14px 17px;font-size:13.5px;font-weight:700;color:var(--co-ink);cursor:pointer;-webkit-tap-highlight-color:transparent}
.cosim-plansel-hd.is-open .cosim-how-chev{transform:rotate(90deg)}
.cosim-plansel-body{padding:0 12px 12px}
.cosim-plansel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:4px}
.cosim-plc{position:relative;display:flex;flex-direction:column;align-items:center;padding:10px 6px 9px;background:#fff;border:1.5px solid var(--co-line);border-radius:10px;cursor:pointer;text-align:center;-webkit-tap-highlight-color:transparent;transition:border-color .15s,background .15s}
.cosim-plc.is-sel{border-color:var(--brand-primary);background:var(--brand-accent-bg)}
.cosim-plc-badge{position:absolute;top:-9px;left:50%;transform:translateX(-50%);font-size:9px;font-weight:700;padding:2px 7px;border-radius:10px;white-space:nowrap;line-height:1.4}
.cosim-plc-badge.orange{background:#ff7a1a;color:#fff}
.cosim-plc-badge.blue{background:#3b82f6;color:#fff}
.cosim-plc-months{font-size:11px;color:var(--co-muted);margin-bottom:3px}
.cosim-plc-price{font-size:15px;font-weight:800;color:var(--co-ink);letter-spacing:-.4px;line-height:1}
.cosim-plc-mo{font-size:10px;color:var(--co-muted);margin-top:2px}

.cosim-plan{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.cosim-plan-name{font-size:14px;font-weight:700;color:var(--co-ink)}
.cosim-plan-renew{margin-top:3px;font-size:11.5px;color:var(--co-muted)}
.cosim-plan-r{text-align:right;flex:none}
.cosim-plan-due{font-size:11px;letter-spacing:.3px;color:var(--co-muted)}
.cosim-plan-amt{font-size:27px;font-weight:900;letter-spacing:-1px;color:var(--co-ink);line-height:1.05}
.cosim-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.cosim-chip{display:inline-flex;align-items:center;gap:5px;background:var(--co-accent);color:var(--co-green-d);font-size:11.5px;font-weight:700;padding:5px 9px;border-radius:8px}
.cosim-chip svg{width:13px;height:13px}
.cosim-plan-mail{margin:11px 0 0;display:flex;align-items:center;gap:7px;font-size:11.5px;color:var(--co-muted)}
.cosim-plan-mail svg{width:13px;height:13px;flex:none}

.cosim-terms{display:flex;align-items:flex-start;gap:8px;background:#F4F6F8;border:1px solid var(--co-line);border-radius:10px;padding:9px 11px;margin:0 0 13px;font-size:12px;line-height:1.42;color:#3A4656}
.cosim-terms svg{width:14px;height:14px;flex:none;color:var(--co-muted);margin-top:1px}
.cosim-terms strong{font-weight:750;color:var(--co-ink)}
.cosim-pay-foot{margin:12px 0 0;display:flex;align-items:flex-start;gap:6px;font-size:11px;line-height:1.4;color:var(--co-muted)}
.cosim-pay-foot svg{width:12px;height:13px;flex:none;margin-top:1px}
.cosim-sticky-btn svg{width:16px;height:16px;vertical-align:-3px;margin-right:2px}
.cosim-sticky-bar{transition:transform .22s ease,opacity .22s ease}
.cosim-sticky-bar.is-tucked{transform:translateY(130%);opacity:0;pointer-events:none}

@media(min-width:820px){ .cosim-disclose{grid-column:1/-1} }

/* FLOW_FAST landing — emphasised trust line (Free · 2 min · no account · …) */
.hero-trust{font-weight:800;color:var(--ink)}

/* FLOW_FAST landing — keep the decorative art clear of the sticky mobile CTA.
   The inline @media(max-width:767px) rule pins .next-btn to the bottom; on short
   in-app-browser viewports the art scrolled under it. Reserve clearance + cap the
   art so the CTA never overlaps it. Scoped to the fast landing — control untouched. */
@media(max-width:767px){
  .fast-landing .hero-shell{padding-bottom:104px;gap:16px}
  /* Adaptive cap: copy (~300px) + the sticky CTA zone (~106px) are fixed, so the
     art gets whatever vertical space is left — always ending above the CTA. */
  .fast-landing .hero-art{max-height:calc(100svh - 495px);margin-top:0}
  .fast-landing .hero-art img{max-height:calc(100svh - 495px);width:auto;height:auto;margin:0 auto;object-fit:contain}
}

/* FLOW_FAST estimate — matched-settlement cards (Q2, the "browse your settlements"
   payoff the ads promise). Scoped to the fast estimate; control shows the doodle. */
.estimate-claims{margin:20px 0 2px;display:flex;flex-direction:column;gap:8px;text-align:left}
/* scoped under .result-estimate-card (0,2,0) so the intended 13px/left styles beat
   the leaked `.result-card p` rule (19px, max-width:360px) that was forcing the wrap */
.result-estimate-card .estimate-claims-head{margin:0 0 6px;font-size:13px;line-height:1.3;letter-spacing:normal;font-weight:700;color:#5b6472;text-align:left;max-width:none}
.ec-card{display:flex;align-items:center;gap:10px;background:#f7f9fb;border:1px solid #e7eaef;border-radius:12px;padding:9px 12px}
.ec-logo{width:30px;height:30px;object-fit:contain;flex:none}
.ec-name{flex:1;font-size:13px;font-weight:650;color:#1f2733;line-height:1.2;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ecq-np{color:var(--green);font-weight:700;white-space:nowrap}
.result-estimate-card .estimate-approx-sm{margin:12px 0 2px;font-size:10.5px;line-height:1.45;letter-spacing:normal;color:#9aa3af;text-align:left;max-width:none}
.ec-amt-wrap{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:none}
.ec-amt{font-size:13px;font-weight:800;color:var(--green);white-space:nowrap;text-align:right}
.ec-typical{font-size:10.5px;font-weight:600;color:#8a9aa8;white-space:nowrap;text-align:right}
.ec-amt-docs{font-size:10.5px;font-weight:600;color:#8a9aa8;white-space:nowrap}

/* FLOW_FAST estimate: matched-settlement cards are variable height (1-6), so the
   actions must FLOW beneath them. The control's absolute-pinned actions (sized for
   the short doodle layout) otherwise collide with the cards on desktop. Fast-only. */
.result-estimate-screen.is-fast{overflow-y:auto}
.result-estimate-screen.is-fast .result-estimate-card{display:flex;flex-direction:column}
.result-estimate-screen.is-fast .result-actions{position:static;left:auto;right:auto;bottom:auto;margin-top:auto;padding-top:18px}
@media(max-width:900px){.result-estimate-screen.is-fast .result-estimate-card{padding-bottom:100px}.result-estimate-screen.is-fast .result-next-btn{position:fixed;left:20px;right:20px;width:auto;bottom:calc(20px + env(safe-area-inset-bottom));z-index:40;border-radius:999px;box-shadow:0 4px 20px rgba(0,0,0,.18)}}

/* details_form "Skip for now" — muted secondary next to the green Next */
.details-skip{background:transparent;border:0;color:#64748b;font-size:18px;font-weight:700;cursor:pointer;text-decoration:underline;padding:0 10px;height:auto;width:auto;min-height:0;white-space:nowrap}
.details-skip:disabled{opacity:.4;cursor:not-allowed}
@media(max-width:900px){.details-skip{font-size:15px;padding:0 6px}}

/* Patch v11 (2026-08-24): claim card — rebuilt as a single flex column, matching
   moneypilot.com's DOM structure exactly (logo | [title+check row, amount row,
   status, meta row, optional summary]) instead of the old two-column rail. */
.claim-card{
  position:relative;
  width:100%;
  background:#fff;
  border:3px solid #e4e2dc;
  border-radius:24px;
  padding:28px;
  display:grid;
  grid-template-columns:90px minmax(0,1fr);
  gap:24px;
  align-items:start;
  text-align:left;
  cursor:pointer;
}
.claim-card.is-selected{border-color:var(--green);}
.claim-logo,.claim-logo-placeholder{width:90px;height:90px;object-fit:contain;align-self:start;}
.claim-copy{min-width:0;display:flex;flex-direction:column;}
.claim-headrow{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;}
.claim-copy strong.claim-title{font-size:20px;font-weight:700;line-height:1.25;margin:0;letter-spacing:-.2px;}
.claim-check{flex:none;width:26px;height:26px;border:2px solid #cbd5e1;border-radius:8px;display:flex;align-items:center;justify-content:center;background:#fff;margin-top:2px;}
.claim-card.is-selected .claim-check{border-color:var(--green);background:var(--green);}
.claim-amount-row{display:flex;align-items:baseline;flex-wrap:wrap;gap:0 6px;margin-top:6px;}
.amount-tag-ic{display:inline-flex;align-items:center;width:16px;height:16px;color:var(--green);flex:none;align-self:center;}
.amount-tag-ic svg{width:100%;height:100%;}
.amount-value{font-size:22px;font-weight:800;color:var(--green);line-height:1.2;letter-spacing:-.3px;white-space:nowrap;}
.amount-typical{font-size:12px;font-weight:600;color:#8a9aad;}
@media(max-width:1600px){
  .claim-card{grid-template-columns:64px minmax(0,1fr);padding:22px;border-radius:18px;gap:18px;}
  .claim-logo,.claim-logo-placeholder{width:64px;height:64px;}
  .claim-copy strong.claim-title{font-size:18px;}
  .amount-value{font-size:19px;}
}
@media(max-width:900px){
  .claim-card{grid-template-columns:50px minmax(0,1fr);padding:16px;border-radius:14px;gap:14px;}
  .claim-logo,.claim-logo-placeholder{width:50px;height:50px;}
  .claim-copy strong.claim-title{font-size:15px;}
  .claim-check{width:22px;height:22px;border-radius:7px;}
  .amount-value{font-size:17px;}
  .amount-typical{font-size:11px;}
}

/* category badge — inline pill, first chip in the scan line */
.claim-cat-badge{display:inline-flex;align-items:center;background:#eef2ff;color:#4350af;font-size:11px;font-weight:700;line-height:1;padding:3px 8px;border-radius:999px;white-space:nowrap;}
@media(max-width:900px){.claim-cat-badge{font-size:10.5px;padding:2px 7px;}}

.claim-status{font-size:11px;font-weight:600;line-height:1.1;margin-top:6px;white-space:nowrap;display:block;}
@media(max-width:900px){.claim-status{font-size:10.5px;}}
.amount-pool{font-size:15px;font-weight:800;color:var(--green);line-height:1.25;}
/* suppress the old inline claim-amount div */
.claim-amount{display:none!important;}

/* scan line: category · proof · effort · days — sits below status */
.claim-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0 0;}
.claim-summary{margin-top:8px;font-size:12px;color:#5a677a;line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
@media(max-width:900px){.claim-meta{gap:5px;margin-top:8px;}}
.meta-proof,.meta-effort,.meta-days{display:inline-flex;align-items:center;gap:4px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:700;line-height:1;white-space:nowrap;}
.meta-proof{background:#eaf7f0;color:#1a7a50;}
.meta-proof svg{width:13px;height:13px;}
.meta-proof.is-required{background:#fff7ed;color:#c05621;}
.meta-effort{background:#f1f5f9;color:#475569;}
.meta-effort svg{width:12px;height:12px;}
.meta-days{background:#f1f5f9;color:#475569;}
.meta-days svg{width:12px;height:12px;}
.meta-days.is-warning{background:#fef3c7;color:#92400e;font-weight:800;}
.meta-days.is-urgent{background:#fee2e2;color:#b91c1c;font-weight:800;}
@media(max-width:900px){.meta-proof,.meta-effort,.meta-days{font-size:10.5px;padding:2px 7px;}}

/* Patch v6: claim-card CRO polish — cards read as tappable surfaces, hover/active
   feedback (desktop), and a stronger "selected" reward. CSS-only & additive (overrides
   the Patch v5 / base rules) so it can't collide with claim-select.ts edits. */
.claim-card{background:#fff;box-shadow:0 1px 2px rgba(15,23,42,.05);transition:border-color .15s ease,box-shadow .15s ease,transform .12s ease,background .15s ease;}
@media(hover:hover){
  .claim-card:hover{border-color:#cbd5e1;box-shadow:0 10px 24px rgba(15,23,42,.10);transform:translateY(-2px);}
  .claim-card.is-selected:hover{border-color:var(--green);}
}
.claim-card:active{transform:translateY(0) scale(.98);box-shadow:0 2px 6px rgba(15,23,42,.08);}
.claim-card.is-selected{background:#f3fbf7;box-shadow:0 8px 22px rgba(26,122,80,.13);}
.claim-card.is-selected .claim-check{box-shadow:0 0 0 4px rgba(26,122,80,.13);}

/* Patch v7: (a) filter dropdown — toggle rows match the sort rows (label left,
   control right) so the two sections line up; (b) FLOW_FAST estimate card was
   bottom-aligned + overflow:hidden, so a tall card's top clipped under the fixed
   64px header — top-align it below the header and let the page scroll. */
.filter-toggle-row{justify-content:space-between;gap:12px;}
/* neutralise the broad `.claims-search span` (search-icon) rule that leaked
   position:absolute/margin/gray/24px onto this label span and broke the flex row */
.filter-toggle-row > span{order:1;position:static;margin:0;color:inherit;font-size:inherit;}
.filter-toggle-row input[type="checkbox"]{order:2;}

.result-estimate-screen.is-fast{align-items:flex-start;padding-top:88px;padding-bottom:32px;overflow:visible;}
@media(max-width:900px){.result-estimate-screen.is-fast{padding-top:80px;padding-bottom:24px;}}

/* Patch v8: (a) sort-row labels were ALSO caught by the broad `.claims-search span`
   absolute rule (v7 only reset the toggle rows) — reset them so the active check
   sits on the right; (b) normalise brand logos into uniform rounded white tiles so
   white-background / square logos stop reading as floating boxes on the cards. */
.filter-menu button span{position:static;margin:0;}

.claim-logo{background:#fff;border:1px solid #ebeef2;border-radius:18px;padding:11px;box-sizing:border-box;}
@media(max-width:1600px){.claim-logo{border-radius:14px;padding:9px;}}
@media(max-width:900px){.claim-logo{border-radius:11px;padding:7px;}}

/* No brand_logo_url — colored-initials tile (claims.ts's own logoHtml()
   sets the background color inline, per-brand via logoHash). Border/white
   background from the rule above don't fit a colored tile, so this resets
   them and centers the initials instead. */
.claim-logo-placeholder{display:flex;align-items:center;justify-content:center;border:none;padding:0;color:#fff;font-weight:800;font-size:28px;letter-spacing:-0.3px;}
@media(max-width:1600px){.claim-logo-placeholder{font-size:20px;}}
@media(max-width:900px){.claim-logo-placeholder{font-size:16px;}}
.ec-logo{background:#fff;border:1px solid #ebeef2;border-radius:9px;padding:5px;box-sizing:border-box;}
.ec-logo-placeholder,.cosim-claim-logo-placeholder{display:flex;align-items:center;justify-content:center;border:none;padding:0;border-radius:9px;color:#fff;font-weight:800;font-size:11px;letter-spacing:-0.2px;}

/* Patch v9: FLOW_FAST estimate — the sticky "Next" was mobile-only (inside a
   max-width:900px block), so on desktop it scrolled away at the bottom of a tall
   settlement list. Make it sticky on desktop too, constrained to the card width
   and centered (not full-viewport). */
@media(min-width:901px){
  .result-estimate-screen.is-fast .result-estimate-card{padding-bottom:90px;}
  .result-estimate-screen.is-fast .result-next-btn{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);width:min(520px,calc(100vw - 40px));z-index:40;box-shadow:0 6px 22px rgba(15,23,42,.2);}
}


/* Patch v10 (superseded by Patch v11's single-column .claim-card, 2026-08-24):
   phone-only tweaks that still apply on top of the new layout. */
@media(max-width:900px){
  .claim-list{gap:10px;}
  .claim-logo-placeholder{padding:0;font-size:21px;}
  .claim-check svg{width:17px;height:17px;}
  /* mass-arbitration rows can render zero chips — don't pay the row margin then */
  .claim-meta:empty{display:none;}
}

/* Small phones (SE/mini): tighten the title one notch further. */
@media(max-width:360px){
  .claim-copy strong.claim-title{font-size:14px;}
}

/* Bottom bar: 118px of fixed chrome is a lot of a phone screen to spend on a
   two-line summary + button. Height now comes from its own content. */
@media(max-width:900px){
  .claims-bottom{min-height:0;gap:14px;padding:10px 18px calc(10px + env(safe-area-inset-bottom,0px));}
  /* 15px keeps "N selected · clear all" on one line next to the 140px-wide
     Next button on a 390px screen (at 17px it wrapped under itself). */
  .claims-bottom>div{padding-left:0;font-size:15px;}
  .claims-bottom strong{margin-bottom:2px;}
  .claims-bottom b{font-size:26px;line-height:1.1;}
}

/* Patch v12 (2026-08-25): claims-bottom sum counter + progress bar, 3-tier
   color-coded by amount (moneypilot.com pattern, Anton's call). Orange uses
   a brighter/more saturated shade (#F97316) than .meta-proof.is-required's
   rust orange (#c05621) so the two don't read as the same signal on the
   same screen. */
.claims-bottom b.claims-tier-gold{color:#EFB041}
.claims-bottom b.claims-tier-orange{color:#F97316}
.claims-bottom b.claims-tier-green{color:#25B36B}
.claims-progress-fill.claims-tier-gold{background:#EFB041}
.claims-progress-fill.claims-tier-orange{background:#F97316}
.claims-progress-fill.claims-tier-green{background:#25B36B}
