/* custom plan builder: layout on top of site.css tokens + theme */
.pl-top{position:sticky;top:0;z-index:40;background:color-mix(in srgb,var(--dark) 88%,transparent);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;padding-top:env(safe-area-inset-top,0px)}
.pl-top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;height:56px}
.pl-top a.back{font-family:var(--f-mono);font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;text-decoration:none;opacity:.8}
.pl-hero{background:var(--dark);color:var(--dark-ink);padding-block:clamp(48px,7vw,90px) clamp(90px,10vw,130px);position:relative;overflow:hidden;isolation:isolate}
.pl-hero::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--pl-hero-bg,none)}
.pl-hero h1{font-size:clamp(2.6rem,7vw,5.4rem);color:#fff;margin-top:14px;max-width:16ch}
.pl-hero .sub{margin-top:18px;font-size:1.15rem;max-width:56ch;color:var(--dark-muted)}
.pl-gets{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:34px}
.pl-gets li{border:1px solid var(--dark-line);background:var(--dark-2);border-radius:var(--radius);padding:14px 16px;font-size:.9rem;color:var(--dark-ink)}
.pl-gets b{display:block;font-family:var(--f-display);font-weight:var(--d-weight);text-transform:var(--d-case);font-size:1.3rem;color:var(--accent);line-height:1.1;margin-bottom:4px}
@media(max-width:820px){.pl-gets{grid-template-columns:1fr 1fr}}
.pl-main{margin-top:-80px;position:relative;z-index:2;padding-bottom:80px}
.pl-card{background:var(--paper);color:var(--paper-ink);border:2px solid var(--ink);border-radius:var(--radius);box-shadow:0 30px 60px rgba(0,0,0,.18);max-width:860px;margin:0 auto;padding:clamp(22px,4vw,44px)}
.pl-prog{height:6px;background:var(--line);border-radius:6px;overflow:hidden}
.pl-prog i{display:block;height:100%;background:var(--accent);width:25%;transition:width .45s cubic-bezier(.2,.8,.2,1)}
.pl-prog-t{margin-top:10px;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.pl-step{border:0;margin-top:26px;display:flex;flex-direction:column;gap:22px;animation:rise .45s cubic-bezier(.2,.8,.2,1) both}
.pl-step legend{font-family:var(--f-display);font-weight:var(--d-weight);text-transform:var(--d-case);font-size:clamp(1.6rem,3.4vw,2.2rem);line-height:1;margin-bottom:6px}
.q{display:flex;flex-direction:column;gap:8px}
.q>label,.q .ql{font-weight:600;font-size:1rem;line-height:1.35}
.q .qn{font-family:var(--f-mono);color:var(--accent);font-size:.78rem;margin-right:6px}
.q em{display:block;font-style:normal;font-weight:400;font-size:.86rem;color:var(--muted);margin-top:2px}
.q input[type=text],.q input[type=email],.q input[type=date],.q textarea{width:100%;font:inherit;font-size:1rem;color:var(--paper-ink);background:var(--bg);border:1.5px solid var(--line);border-radius:var(--radius);padding:12px 14px;transition:border-color .2s,box-shadow .2s}
.q textarea{min-height:84px;resize:vertical}
.q input:focus,.q textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 25%,transparent)}
.q.err input,.q.err textarea,.q.err .chips{border-color:#C4371B;box-shadow:0 0 0 3px rgba(196,55,27,.2)}
.q.err::after{content:"Answer this one so the plan fits your brand.";font-size:.8rem;color:#C4371B}
.chips{display:flex;flex-wrap:wrap;gap:8px;border-radius:var(--radius)}
.chips label{position:relative}
.chips input{position:absolute;opacity:0;inset:0;cursor:pointer}
.chips span{display:inline-block;padding:10px 15px;border:1.5px solid var(--line);border-radius:var(--sw-radius,100px);background:var(--bg);font-size:.92rem;font-weight:600;cursor:pointer;transition:all .18s}
.chips input:checked+span{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.chips input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media(max-width:640px){.row2{grid-template-columns:1fr}}
.pl-nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line);flex-wrap:wrap}
.pl-nav .btn{border:0;cursor:pointer}
.btn.ghost-d{background:transparent;color:var(--ink);box-shadow:inset 0 0 0 2px var(--ink)}
.pl-price-note{font-size:.85rem;color:var(--muted);margin-top:4px}
.pl-err{max-width:860px;margin:18px auto 0;background:#FFF1EC;border:1.5px solid #C4371B;color:#7A1E0B;border-radius:var(--radius);padding:14px 16px}
/* working */
.pl-working{max-width:860px;margin:0 auto;text-align:center;background:var(--dark);color:var(--dark-ink);border-radius:var(--radius);padding:70px 24px;position:relative;overflow:hidden}
.pw-ring{width:74px;height:74px;margin:0 auto 26px;border-radius:50%;border:3px solid var(--dark-line);border-top-color:var(--accent);animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.pw-msg{font-family:var(--f-display);font-weight:var(--d-weight);text-transform:var(--d-case);font-size:clamp(1.4rem,3vw,2rem);color:#fff;min-height:1.2em}
.pw-count{margin-top:12px;font-family:var(--f-mono);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--accent)}
.pw-note{margin-top:22px;color:var(--dark-muted);font-size:.92rem}
/* result */
.pl-result{max-width:1100px;margin:0 auto}
.pr-h{background:var(--dark);color:var(--dark-ink);border-radius:var(--radius);padding:clamp(24px,4vw,44px)}
.pr-h h2{font-size:clamp(2.4rem,6vw,4.4rem);color:#fff;margin-top:8px}
.pr-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.pr-actions .btn{border:0;cursor:pointer}
.pr-h .btn.ghost-d{color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.pr-mail{margin-top:14px;font-size:.88rem;color:var(--dark-muted)}
.pr-sum{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:16px}
.pr-sum>div{background:var(--paper);border:1.5px solid var(--ink);border-radius:var(--radius);padding:18px}
.pr-sum small,.pp small{display:block;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-weight:700;margin-bottom:4px}
@media(max-width:760px){.pr-sum{grid-template-columns:1fr}}
.pw{margin-top:40px}
.pw-h{display:grid;grid-template-columns:1fr 320px;gap:20px;align-items:end;margin-bottom:14px}
.pw-h h3{font-family:var(--f-display);font-weight:var(--d-weight);text-transform:var(--d-case);font-size:clamp(1.8rem,4vw,2.8rem);line-height:.95}
.pw-h h3 span{display:block;font-family:var(--f-mono);font-size:.74rem;letter-spacing:.14em;color:var(--accent);margin-bottom:6px}
.pw-film{background:var(--dark);color:var(--dark-ink);border-radius:var(--radius);padding:14px 16px}
.pw-film b{font-family:var(--f-mono);font-size:.66rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.pw-film ul{list-style:none;margin-top:8px;display:flex;flex-direction:column;gap:6px}
.pw-film label{display:flex;gap:9px;align-items:flex-start;cursor:pointer;font-size:.88rem;line-height:1.3}
.pw-film small{color:var(--dark-muted);font-size:.74rem}
.pw-film input{accent-color:var(--accent);margin-top:2px;width:16px;height:16px;flex:none}
@media(max-width:820px){.pw-h{grid-template-columns:1fr}}
.pp-list{display:flex;flex-direction:column;gap:12px}
.pp{display:grid;grid-template-columns:78px minmax(0,1fr) 300px;gap:20px;background:var(--paper);color:var(--paper-ink);border:1.5px solid var(--line);border-left:6px solid var(--b);border-radius:var(--radius);padding:20px}
.pp-date{font-family:var(--f-mono);font-size:.8rem;color:var(--muted)}
.pp-date b{display:block;font-family:var(--f-display);font-weight:var(--d-weight);text-transform:var(--d-case);font-size:1.7rem;color:var(--ink);line-height:1}
.pp h4{font-family:var(--f-display);font-weight:var(--d-weight);text-transform:var(--d-case);font-size:1.45rem;line-height:1.05;margin:10px 0 6px}
.pp-idea{color:var(--muted);font-size:.95rem}
.pp-hook{margin-top:12px;font-size:1.02rem;font-weight:600}
.pp-cap{margin-top:12px;background:var(--bg);border-radius:var(--radius);padding:12px 14px;position:relative}
.pp-cap p{font-size:.92rem}
.pp-copy{margin-top:8px;appearance:none;cursor:pointer;font-family:var(--f-mono);font-size:.64rem;letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--accent);background:none;border:1px solid currentColor;border-radius:100px;padding:5px 10px}
.pp-copy:hover{background:var(--accent);color:var(--accent-ink)}
.pp-film{border-left:1px dashed var(--line);padding-left:18px}
.pp-film ol{padding-left:18px;font-size:.9rem;display:flex;flex-direction:column;gap:5px}
.pp-shot{margin-top:10px;font-family:var(--f-mono);font-size:.7rem;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.pp-tip{margin-top:8px;font-size:.84rem;color:var(--muted)}
@media(max-width:900px){.pp{grid-template-columns:1fr;gap:12px}.pp-film{border-left:0;border-top:1px dashed var(--line);padding:12px 0 0}.pp-date b{display:inline;margin-right:8px}}
.pr-batch{margin-top:44px;background:var(--paper);border:2px solid var(--ink);border-radius:var(--radius);padding:clamp(20px,3vw,32px)}
.pr-batch h3{font-family:var(--f-display);font-weight:var(--d-weight);text-transform:var(--d-case);font-size:1.8rem}
.pr-batch ul{margin-top:12px;padding-left:20px;display:flex;flex-direction:column;gap:6px}
.pr-note{margin-top:16px;color:var(--muted);font-size:.9rem}
.upsell{margin-top:44px;background:var(--dark);color:var(--dark-ink);border-radius:var(--radius);padding:clamp(26px,5vw,56px);text-align:center}
.upsell h2{font-size:clamp(2rem,5vw,3.6rem);color:#fff;margin:10px auto 16px;max-width:18ch}
.up-pain{max-width:60ch;margin:0 auto 10px;color:var(--dark-muted);font-size:1.05rem}
.up-pain b{color:#fff}
.up-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0 26px;text-align:left;color:var(--paper-ink)}
@media(max-width:900px){.up-tiers{grid-template-columns:1fr}}
/* playbook CTA band */
.plan-cta{background:var(--accent);color:var(--accent-ink);padding-block:clamp(48px,7vw,80px)}
.plan-cta .wrap{display:grid;grid-template-columns:1.3fr 1fr;gap:30px;align-items:center}
.plan-cta h2{font-size:clamp(2rem,5vw,3.6rem)}
.plan-cta p{font-size:1.08rem;margin-top:12px;max-width:52ch}
.plan-cta ul{list-style:none;display:flex;flex-direction:column;gap:8px;font-weight:600}
.plan-cta li::before{content:"\2713";margin-right:10px}
.plan-cta .btn{background:var(--ink);color:#fff;margin-top:22px}
.plan-cta .price{font-family:var(--f-display);font-weight:var(--d-weight);font-size:3rem;line-height:1}
@media(max-width:820px){.plan-cta .wrap{grid-template-columns:1fr}}
.up-ctas{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.btn.ghost-l{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
/* hand-off page */
.ho-hero .hero-in{padding-block:30px 70px}
.ho-hero .btn{border:0;cursor:pointer}
.ho-math{background:var(--accent);color:var(--accent-ink)}
.ho-math-in{display:grid;grid-template-columns:1fr 1.2fr;gap:24px 50px;align-items:center}
.ho-math .eyebrow{color:inherit}
.ho-math h2{font-size:clamp(2.2rem,5vw,3.6rem);margin-top:8px}
.ho-load{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ho-load li{border:2px solid currentColor;border-radius:var(--radius);padding:14px 16px;font-weight:600}
.ho-load b{display:block;font-family:var(--f-display);font-weight:var(--d-weight);font-size:2.6rem;line-height:1}
.ho-swap{grid-column:1/-1;font-size:1.15rem}
@media(max-width:820px){.ho-math-in{grid-template-columns:1fr}}
.ho-steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.ho-steps li{counter-increment:s;background:var(--paper);border:2px solid var(--ink);border-radius:var(--radius);padding:22px;position:relative;color:var(--muted)}
.ho-steps li::before{content:counter(s);display:block;font-family:"Saira Stencil One",var(--f-display);font-size:2.6rem;line-height:1;color:var(--accent);margin-bottom:10px}
.ho-steps b{display:block;color:var(--ink);font-size:1.05rem;margin-bottom:4px}
@media(max-width:900px){.ho-steps{grid-template-columns:1fr 1fr}}@media(max-width:520px){.ho-steps{grid-template-columns:1fr}}
.ho-tiers{background:var(--paper);border-block:1px solid var(--line)}
.ho-table-wrap{overflow-x:auto;border:2px solid var(--ink);border-radius:var(--radius);background:var(--bg)}
.ho-table{width:100%;border-collapse:collapse;min-width:680px}
.ho-table th,.ho-table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:center;vertical-align:middle}
.ho-table tbody th{text-align:left;font-weight:600;font-size:.95rem}
.ho-table thead th{font-family:var(--f-display);font-weight:var(--d-weight);text-transform:var(--d-case);font-size:1.25rem;line-height:1.1;vertical-align:bottom}
.ho-table thead span{display:block;font-family:var(--f-mono);font-size:.62rem;letter-spacing:.1em;color:var(--accent);margin-bottom:6px}
.ho-table thead b{display:block;font-size:2rem;margin-top:8px}
.ho-table thead small{font-size:.8rem;color:var(--muted)}
.ho-table th.hot,.ho-table td:nth-child(3){background:color-mix(in srgb,var(--accent) 9%,transparent)}
.ho-table .yes{color:var(--accent);font-weight:900;font-size:1.2rem}
.ho-table .no{color:var(--line)}
.ho-table tfoot td{border-bottom:0}
.ho-table .btn{border:0;cursor:pointer;padding:12px 18px;font-size:.85rem}
.ho-proof-band{background:var(--dark);color:var(--dark-ink)}
.ho-proof-in{display:grid;grid-template-columns:1fr 1.6fr;gap:40px;align-items:center}
.ho-proof b{display:block;font-family:var(--f-display);font-weight:var(--d-weight);text-transform:var(--d-case);font-size:clamp(2.2rem,5vw,3.6rem);color:#fff;line-height:1;margin:10px 0}
.ho-proof span{color:var(--dark-muted)}
.ho-proof-band .eyebrow{color:var(--accent)}
.ho-ex{margin-top:12px;font-size:.85rem;color:var(--dark-muted)}
.ho-proof-band .strip{margin-top:12px}
@media(max-width:900px){.ho-proof-in{grid-template-columns:1fr}}
.ho-faq details{border-top:1px solid var(--line);padding:18px 0}
.ho-faq summary{cursor:pointer;font-weight:700;font-size:1.08rem;list-style:none;display:flex;justify-content:space-between;gap:16px}
.ho-faq summary::after{content:"+";color:var(--accent);font-weight:900;font-size:1.3rem;line-height:1}
.ho-faq details[open] summary::after{content:"\2212"}
.ho-faq details p{margin-top:10px;color:var(--muted);max-width:70ch}
.ho-next{padding-left:22px;display:flex;flex-direction:column;gap:14px;font-size:1.05rem}
.plan-cta button.btn{border:0;cursor:pointer;background:var(--ink);color:#fff;margin-top:22px}
.q .sub-l{font-weight:600;font-size:.9rem;margin-top:6px}
.q .sub-l span{font-weight:400;color:var(--muted);margin-left:6px;font-size:.84rem}
.q textarea.short{min-height:58px}
.q .sub-l{font-weight:600;font-size:.9rem;margin-top:6px}
.q .sub-l span{font-weight:400;color:var(--muted);margin-left:6px;font-size:.84rem}
.q textarea.short{min-height:58px}
/* receipts */
.ho-receipts{background:var(--paper);border-top:1px solid var(--line)}
.rc-grid{display:grid;grid-template-columns:1fr 420px;gap:40px;align-items:start}
.rc-big{background:var(--dark);color:var(--dark-ink);border-radius:var(--radius);padding:26px}
.rc-big small{font-family:var(--f-mono);font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--accent)}
.rc-big b{display:block;font-family:var(--f-display);font-weight:var(--d-weight);font-size:clamp(3.4rem,8vw,6rem);line-height:.9;color:#fff;margin:8px 0}
.rc-big span{color:var(--dark-muted);font-size:1.05rem}
.rc-stats ul{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:12px}
.rc-stats li{border:2px solid var(--ink);border-radius:var(--radius);padding:14px;font-size:.85rem;color:var(--muted);background:var(--bg)}
.rc-stats li b{display:block;font-family:var(--f-display);font-weight:var(--d-weight);font-size:2rem;line-height:1;color:var(--ink)}
.rc-note{margin:16px 0 20px;font-size:.84rem;color:var(--muted);max-width:62ch}
.rc-report{display:block;position:relative;border:2px solid var(--ink);border-radius:var(--radius);overflow:hidden;box-shadow:0 24px 50px rgba(0,0,0,.18);transform:rotate(1.2deg);transition:transform .3s;text-decoration:none;background:#fff}
.rc-report:hover{transform:rotate(0) translateY(-4px)}
.rc-report img{width:100%;max-height:640px;object-fit:cover;object-position:top}
.rc-report span{position:absolute;left:0;right:0;bottom:0;padding:14px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#fff;font-family:var(--f-mono);font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;text-align:center}
.rc-link{font-family:var(--f-mono);font-size:.72rem;color:var(--accent);font-weight:700}
@media(max-width:960px){.rc-grid{grid-template-columns:1fr}.rc-stats ul{grid-template-columns:1fr 1fr}.rc-report{transform:none;max-width:460px}}
.up-proof{max-width:620px;margin:20px auto 0;border:1px solid var(--dark-line);border-radius:var(--radius);padding:16px 18px;background:var(--dark-2)}
.up-proof b{display:block;font-family:var(--f-display);font-weight:var(--d-weight);text-transform:var(--d-case);font-size:1.8rem;color:var(--accent);line-height:1}
.up-proof span{font-size:.9rem;color:var(--dark-muted)}
