/* ============================================================
   Stonehaven — funnel pages additions
   Loads AFTER styles.css. Uses the same tokens/patterns.
   Components: calculator, quiz, download hero, booking, thanks.
   ============================================================ */

/* ---------- shared ---------- */
.funnel-hero{padding:170px 0 70px;text-align:center;border-bottom:1px solid var(--line);}
.funnel-hero .eyebrow{display:block;margin-bottom:24px;}
.funnel-hero h1{font-family:'Cormorant',serif;font-weight:400;font-size:clamp(32px,4.4vw,52px);line-height:1.06;letter-spacing:-.005em;}
.funnel-hero h1 em{font-style:italic;color:var(--slate-600);}
.funnel-hero p{font-size:17px;color:var(--slate-400);max-width:520px;margin:26px auto 0;font-weight:300;}
.badge{display:inline-block;font-size:10.5px;letter-spacing:.22em;text-transform:uppercase;color:var(--brass);border:1px solid var(--brass);border-radius:20px;padding:5px 14px;margin-bottom:20px;font-weight:500;}
.proof-strip{display:flex;justify-content:center;gap:38px;flex-wrap:wrap;padding:26px 0;border-bottom:1px solid var(--line);background:var(--paper-2);}
.proof-strip span{font-size:11.5px;letter-spacing:.18em;text-transform:uppercase;color:var(--slate-400);}
.proof-strip b{color:var(--brass);font-weight:500;}
.tight{padding:76px 0;}
.fine{font-size:11.5px;color:var(--stone-400);max-width:560px;margin:26px auto 0;text-align:center;line-height:1.6;font-weight:300;}
.hp-field{position:absolute;left:-9999px;top:-9999px;height:0;width:0;overflow:hidden;}

/* ---------- calculator ---------- */
.calc-wrap{max-width:880px;margin:0 auto;display:grid;grid-template-columns:1.15fr .85fr;gap:0;background:var(--white);border:1px solid var(--line);border-radius:4px;overflow:hidden;}
.calc-inputs{padding:44px 42px;}
.calc-inputs h3{font-family:'Cormorant',serif;font-weight:500;font-size:24px;margin-bottom:26px;}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;}
.calc-grid .full{grid-column:1/-1;}
.calc-result{background:var(--slate-900);color:var(--paper);padding:44px 38px;display:flex;flex-direction:column;justify-content:center;text-align:center;}
.calc-result .eyebrow{color:var(--stone-300);display:block;margin-bottom:14px;}
.ratio{font-family:'Cormorant',serif;font-size:76px;line-height:1;font-weight:500;color:var(--white);}
.ratio small{font-size:26px;color:var(--stone-300);}
.verdict{margin-top:14px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;}
.verdict.strong{color:#7FB394;}
.verdict.workable{color:#C89B7B;}
.verdict.short{color:#C98B85;}
.calc-note{margin-top:18px;font-size:12.5px;color:var(--stone-300);font-weight:300;line-height:1.55;}
.calc-sub{margin-top:22px;padding-top:20px;border-top:1px solid rgba(205,214,224,.18);display:grid;gap:8px;}
.calc-sub .row{display:flex;justify-content:space-between;font-size:12.5px;color:var(--stone-300);}
.calc-sub .row b{color:var(--paper);font-weight:500;}
@media(max-width:820px){.calc-wrap{grid-template-columns:1fr;}.calc-inputs{padding:34px 26px;}.calc-result{padding:36px 26px;}}

/* ---------- quiz ---------- */
.quiz-card{max-width:640px;margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:4px;padding:46px 44px;}
.quiz-progress{display:flex;gap:6px;margin-bottom:30px;}
.quiz-progress span{flex:1;height:2px;background:var(--line);transition:background .3s;}
.quiz-progress span.done{background:var(--brass);}
.quiz-q{font-family:'Cormorant',serif;font-weight:500;font-size:26px;line-height:1.2;margin-bottom:24px;}
.quiz-opts{display:grid;gap:10px;}
.quiz-opt{text-align:left;background:var(--paper);border:1px solid var(--line);border-radius:3px;padding:15px 18px;font-family:'Inter',sans-serif;font-size:14.5px;font-weight:300;color:var(--slate-700);cursor:pointer;transition:border-color .25s,background .25s;}
.quiz-opt:hover{border-color:var(--brass);background:var(--white);}
.quiz-step{display:none;}
.quiz-step.active{display:block;}
.quiz-result-head{font-family:'Cormorant',serif;font-weight:500;font-size:30px;line-height:1.15;margin-bottom:12px;}
.quiz-result-head em{font-style:italic;color:var(--brass);}
.quiz-result p{font-size:15px;color:var(--slate-400);font-weight:300;margin-bottom:22px;}
.quiz-back{background:none;border:none;font-size:12px;color:var(--stone-400);cursor:pointer;margin-top:22px;letter-spacing:.08em;text-transform:uppercase;font-family:'Inter',sans-serif;}
.quiz-back:hover{color:var(--brass);}
@media(max-width:680px){.quiz-card{padding:34px 24px;}}

/* ---------- guide/download two-col ---------- */
.dl-wrap{max-width:920px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;}
.dl-what h3{font-family:'Cormorant',serif;font-weight:500;font-size:24px;margin-bottom:20px;}
.dl-list{list-style:none;display:grid;gap:14px;}
.dl-list li{display:grid;grid-template-columns:26px 1fr;gap:12px;font-size:14.5px;color:var(--slate-400);font-weight:300;align-items:baseline;}
.dl-list .dn{font-family:'Cormorant',serif;font-style:italic;color:var(--brass);font-size:16px;}
.dl-list b{color:var(--slate-900);font-weight:500;}
.dl-form-card{background:var(--white);border:1px solid var(--line);border-radius:4px;padding:40px 38px;}
.dl-form-card h3{font-family:'Cormorant',serif;font-weight:500;font-size:22px;margin-bottom:6px;}
.dl-form-card .sub2{font-size:13.5px;color:var(--slate-400);font-weight:300;margin-bottom:26px;}
.dl-form{display:grid;gap:18px;}
@media(max-width:820px){.dl-wrap{grid-template-columns:1fr;gap:40px;}.dl-form-card{padding:32px 26px;}}

/* ---------- booking ---------- */
.book-card{max-width:680px;margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:4px;padding:48px 46px;}
.book-embed{min-height:80px;border:1px dashed var(--stone-200);border-radius:4px;display:flex;align-items:center;justify-content:center;text-align:center;padding:22px;margin-bottom:30px;font-size:13px;color:var(--stone-400);font-weight:300;}
.slot-note{font-size:12px;color:var(--stone-400);font-weight:300;margin-top:6px;}
@media(max-width:680px){.book-card{padding:36px 26px;}}

/* ---------- thanks ---------- */
.thanks-hero{min-height:72vh;display:flex;align-items:center;text-align:center;padding:160px 0 90px;}
.thanks-hero .narrow{width:100%;}
.thanks-hero .ok-mark{font-family:'Cormorant',serif;font-style:italic;color:var(--brass);font-size:19px;display:block;margin-bottom:18px;}
.thanks-hero h1{font-family:'Cormorant',serif;font-weight:400;font-size:clamp(34px,4.6vw,54px);line-height:1.1;}
.thanks-hero h1 em{font-style:italic;color:var(--slate-600);}
.thanks-hero p{font-size:16px;color:var(--slate-400);max-width:480px;margin:24px auto 0;font-weight:300;}
.next-step{margin-top:40px;background:var(--paper-2);border:1px solid var(--line);border-radius:4px;padding:30px 32px;max-width:520px;margin-left:auto;margin-right:auto;}
.next-step .eyebrow{display:block;margin-bottom:10px;}
.next-step h3{font-family:'Cormorant',serif;font-weight:500;font-size:23px;margin-bottom:8px;}
.next-step p{font-size:14px;margin:0 0 18px;}
.btn-primary{display:inline-block;background:var(--slate-900);color:var(--paper);border:none;border-radius:3px;padding:13px 30px;font-family:'Inter',sans-serif;font-size:14px;font-weight:500;letter-spacing:.02em;cursor:pointer;text-decoration:none;transition:background .25s var(--ease),transform .25s var(--ease);}
.btn-primary:hover{background:var(--slate-700);transform:translateY(-1px);}
.btn-quiet{display:inline-block;font-family:'Cormorant',serif;font-size:19px;color:var(--slate-900);text-decoration:none;padding-bottom:4px;border-bottom:1px solid var(--stone-300);transition:border-color .3s,color .3s;}
.btn-quiet:hover{border-color:var(--brass);color:var(--slate-600);}

/* steps mini (how it works on LPs) */
.mini-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;max-width:820px;margin:0 auto;}
@media(max-width:700px){.mini-steps{grid-template-columns:1fr;}}

/* ============================================================
   DSCR — Investor Finance Desk additions (dscr.html, dscr-review.html)
   ============================================================ */

/* lender/investor view toggle inside the dark result panel */
.view-toggle{display:flex;gap:0;margin:0 auto 18px;border:1px solid rgba(205,214,224,.3);border-radius:3px;overflow:hidden;width:max-content;}
.view-toggle button{background:none;border:none;color:var(--stone-300);font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.14em;text-transform:uppercase;padding:8px 16px;cursor:pointer;transition:background .25s,color .25s;}
.view-toggle button[aria-selected="true"]{background:var(--brass);color:var(--slate-900);font-weight:500;}
.view-panel{display:none;}
.view-panel.active{display:block;}

/* inline term tooltips — native <details>, keyboard accessible */
.tipd{display:inline-block;position:relative;margin-left:6px;vertical-align:middle;}
.tipd summary{list-style:none;cursor:help;width:15px;height:15px;border:1px solid var(--stone-300);border-radius:50%;color:var(--stone-400);font-size:10px;line-height:13px;text-align:center;display:inline-block;font-style:italic;font-family:'Cormorant',serif;}
.tipd summary::-webkit-details-marker{display:none;}
.tipd[open] summary{border-color:var(--brass);color:var(--brass);}
.tipd .tip-pop{position:absolute;left:50%;transform:translateX(-50%);bottom:calc(100% + 8px);z-index:30;width:230px;background:var(--slate-900);color:var(--paper);font-size:12px;font-weight:300;line-height:1.55;padding:12px 14px;border-radius:3px;text-transform:none;letter-spacing:0;text-align:left;}
@media(max-width:680px){.tipd .tip-pop{width:190px;}}

/* path tabs (purchase / refi / cash-out / BRRRR / portfolio) */
.path-tabs{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;margin:0 0 40px;}
.path-tabs button{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:9px 20px;font-family:'Inter',sans-serif;font-size:12.5px;letter-spacing:.06em;color:var(--slate-600);cursor:pointer;transition:border-color .25s,color .25s,background .25s;}
.path-tabs button[aria-selected="true"]{border-color:var(--brass);color:var(--slate-900);background:var(--white);font-weight:500;}
.path-panel{display:none;max-width:720px;margin:0 auto;}
.path-panel.active{display:block;}
.path-panel h3{font-family:'Cormorant',serif;font-weight:500;font-size:26px;margin-bottom:16px;text-align:center;}
.path-panel ul{list-style:none;display:grid;gap:12px;max-width:560px;margin:0 auto;}
.path-panel li{display:grid;grid-template-columns:24px 1fr;gap:12px;font-size:14.5px;color:var(--slate-400);font-weight:300;align-items:baseline;}
.path-panel li .dn{font-family:'Cormorant',serif;font-style:italic;color:var(--brass);}

/* comparison table → cards on mobile */
.cmp-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;}
.cmp{width:100%;border-collapse:collapse;min-width:760px;font-size:13px;}
.cmp th,.cmp td{border:1px solid var(--line);padding:12px 14px;text-align:left;vertical-align:top;font-weight:300;color:var(--slate-400);}
.cmp th{background:var(--paper-2);font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-600);font-weight:500;}
.cmp td:first-child{font-weight:400;color:var(--slate-900);white-space:nowrap;}
.cmp tr:nth-child(even) td{background:var(--white);}

/* review funnel stepper */
.rev-card{max-width:680px;margin:0 auto;background:var(--white);border:1px solid var(--line);border-radius:4px;padding:46px 44px;}
.rev-step{display:none;}
.rev-step.active{display:block;}
.rev-step h3{font-family:'Cormorant',serif;font-weight:500;font-size:25px;margin-bottom:6px;}
.rev-step .sub2{font-size:13.5px;color:var(--slate-400);font-weight:300;margin-bottom:24px;}
.rev-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 22px;}
.rev-grid .full{grid-column:1/-1;}
.rev-nav{display:flex;justify-content:space-between;align-items:center;margin-top:30px;gap:14px;}
.rev-err{display:none;font-size:12.5px;color:#B0413A;margin-top:14px;}
.rev-err.show{display:block;}
.consent-row{display:grid;grid-template-columns:22px 1fr;gap:12px;align-items:start;font-size:12.5px;color:var(--slate-400);font-weight:300;line-height:1.6;}
.consent-row input{width:16px;height:16px;margin-top:2px;accent-color:var(--brass);}
@media(max-width:680px){.rev-card{padding:34px 24px;}.rev-grid{grid-template-columns:1fr;}}

/* sensitivity example table */
.sense{max-width:680px;margin:0 auto;border:1px solid var(--line);border-radius:4px;overflow:hidden;}
.sense .sr{display:grid;grid-template-columns:1.4fr .8fr .6fr;padding:13px 20px;font-size:13.5px;border-top:1px solid var(--line);color:var(--slate-400);font-weight:300;background:var(--white);}
.sense .sr:first-child{border-top:none;background:var(--paper-2);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--slate-600);font-weight:500;}
.sense .sr.base{background:var(--paper-2);}
.sense .sr b{color:var(--slate-900);font-weight:500;}
.sense .sr .d{text-align:right;font-family:'Cormorant',serif;font-size:17px;color:var(--slate-900);}
.sense .sr .d.up{color:#5E8A72;}
.sense .sr .d.dn{color:#B0413A;}
@media(max-width:560px){.sense .sr{grid-template-columns:1.2fr .9fr .6fr;padding:12px 14px;font-size:12.5px;}}

/* unobtrusive mobile sticky CTA */
.sticky-cta{display:none;}
@media(max-width:700px){
  .sticky-cta{display:block;position:fixed;bottom:0;left:0;right:0;z-index:90;background:rgba(248,247,244,.96);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:10px 16px calc(10px + env(safe-area-inset-bottom));text-align:center;}
  .sticky-cta a{display:block;}
  body.has-sticky{padding-bottom:70px;}
}
