/* ===== The Paper Policy Test — scoped styles =====
   Everything is scoped under #ppt-app so it cannot collide with global.css.
   The normalize block below neutralizes global element-level rules (h1–h4, p,
   a) that would otherwise bleed into the tool. Colors match the RaiseMark
   palette; the font is inherited from the site for cohesion. */

#ppt-app {
  --navy:#1B3A6B;
  --navy-deep:#132b50;
  --crimson:#A8192E;
  --bg:#F4F6FA;
  --card:#ffffff;
  --ink:#16233b;
  --slate:#5a6b85;
  --line:#dde3ee;
  --line-soft:#e9edf4;
  --teal:#1f7a6d;
  --shadow:0 18px 50px -24px rgba(19,43,80,.45);
  --r:14px;
  color:var(--ink);
  line-height:1.5;
  font-size:16px;
  /* Montserrat = RaiseMark's web font (brand standard). Punchier than the
     site's Calibri body for this landing-style tool. */
  font-family:'Montserrat','Calibri','Gill Sans','Trebuchet MS',sans-serif;
}

/* --- normalize: stop global.css element rules from bleeding in --- */
#ppt-app h1,#ppt-app h2,#ppt-app h3,#ppt-app h4{
  color:inherit;font:inherit;margin:0;line-height:1.2;letter-spacing:normal;
}
#ppt-app p{margin:0;font-size:inherit;color:inherit;}
#ppt-app a{color:inherit;text-decoration:none;}
#ppt-app *{box-sizing:border-box;}
#ppt-app button{font-family:inherit;}

/* --- layout --- */
#ppt-app .wrap{max-width:760px;margin:0 auto;padding:0 22px;}
#ppt-app{display:block;padding:0 0 56px;}
#ppt-app .ppt-screens{padding-top:36px;}

/* --- screens --- */
#ppt-app .screen{display:none;animation:ppt-rise .45s cubic-bezier(.2,.7,.3,1);}
#ppt-app .screen.active{display:block;}
@keyframes ppt-rise{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){#ppt-app .screen{animation:none}}

#ppt-app .eyebrow{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--crimson);font-weight:700;display:flex;align-items:center;gap:10px;}
#ppt-app .eyebrow::before{content:"";width:26px;height:2px;background:var(--crimson);display:inline-block;}

/* --- landing (full-width hero band, mirrors site .hero) --- */
#ppt-app .ppt-hero{background:#fff;border-bottom:3px solid var(--crimson);padding:54px 0 50px;}
#ppt-app .ppt-hero h1{font-size:clamp(30px,5.2vw,50px);line-height:1.05;letter-spacing:-.025em;color:var(--navy);font-weight:800;margin:18px 0 0;}
#ppt-app .ppt-hero h1 em{font-style:normal;color:var(--crimson);}
#ppt-app .ppt-hero .lede{font-size:18px;color:var(--slate);max-width:62ch;margin:18px 0 0;line-height:1.55;}
#ppt-app .ask-callout{margin-top:26px;border-left:4px solid var(--crimson);background:#f7e8ea;border-radius:0 12px 12px 0;padding:16px 20px;max-width:64ch;}
#ppt-app .ask{font-size:18px;font-weight:600;color:var(--navy);line-height:1.45;}
#ppt-app .ask b{color:var(--crimson);}
#ppt-app .meta{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;color:var(--slate);font-size:13.5px;}
#ppt-app .meta span{display:inline-flex;align-items:center;gap:7px;}
#ppt-app .dot{width:6px;height:6px;border-radius:50%;background:var(--crimson);display:inline-block;}

/* --- buttons (scoped; do not reuse global .btn look) --- */
#ppt-app .btn{appearance:none;border:0;cursor:pointer;font:inherit;font-weight:700;border-radius:10px;padding:15px 26px;font-size:16px;line-height:1.1;transition:transform .08s ease, box-shadow .2s ease, background .2s;text-transform:none;display:inline-block;}
#ppt-app .btn:active{transform:translateY(1px);}
#ppt-app .btn[disabled]{cursor:default;opacity:.6;}
#ppt-app .btn-primary{background:var(--crimson);color:#fff;box-shadow:0 10px 22px -10px rgba(168,25,46,.7);}
#ppt-app .btn-primary:hover{background:#971426;color:#fff;}
#ppt-app .btn-navy{background:var(--navy);color:#fff;}
#ppt-app .btn-navy:hover{background:var(--navy-deep);color:#fff;}
#ppt-app .btn-block{width:100%;}
#ppt-app .cta-row{margin-top:22px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
#ppt-app .fine{color:var(--slate);font-size:13px;}

/* --- progress --- */
#ppt-app .prog{display:flex;align-items:center;gap:14px;padding:26px 0 4px;}
#ppt-app .prog .track{flex:1;height:6px;background:var(--line);border-radius:999px;overflow:hidden;}
#ppt-app .prog .fill{height:100%;background:var(--navy);width:0;transition:width .4s cubic-bezier(.2,.7,.3,1);}
#ppt-app .prog .count{font-size:13px;color:var(--slate);font-weight:600;white-space:nowrap;}

/* --- question cards --- */
#ppt-app .qhead{padding:8px 0 0;}
#ppt-app .qhead .step{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--crimson);font-weight:700;}
#ppt-app .qcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:30px 28px;margin-top:14px;}
#ppt-app .qtag{display:inline-block;font-size:11.5px;letter-spacing:.08em;text-transform:uppercase;color:var(--slate);background:var(--bg);border:1px solid var(--line);padding:4px 10px;border-radius:999px;margin-bottom:16px;}
#ppt-app .qtext{font-size:22px;font-weight:700;color:var(--navy);line-height:1.32;letter-spacing:-.01em;}
#ppt-app .qhint{color:var(--slate);font-size:14.5px;margin-top:10px;}
#ppt-app .opts{display:grid;gap:10px;margin-top:24px;}
#ppt-app .opt{display:flex;align-items:center;gap:13px;text-align:left;width:100%;background:#fff;border:1.5px solid var(--line);border-radius:11px;padding:15px 17px;font:inherit;font-size:16px;font-weight:600;color:var(--ink);cursor:pointer;transition:border-color .15s, background .15s, transform .08s;}
#ppt-app .opt:hover{border-color:var(--navy);background:#fbfcfe;}
#ppt-app .opt:active{transform:translateY(1px);}
#ppt-app .opt .ic{width:26px;height:26px;border-radius:50%;flex:none;display:grid;place-items:center;font-size:15px;font-weight:800;color:#fff;}
#ppt-app .opt[data-v="yes"] .ic{background:var(--teal);}
#ppt-app .opt[data-v="unsure"] .ic{background:#b08316;}
#ppt-app .opt[data-v="no"] .ic{background:var(--crimson);}
#ppt-app .opt.sel{border-color:var(--navy);background:#f3f6fc;}
#ppt-app .backlink{margin-top:18px;background:none;border:0;color:var(--slate);font:inherit;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:3px;}
#ppt-app .backlink:hover{color:var(--navy);}

/* --- qualify --- */
#ppt-app .field{margin-top:22px;}
#ppt-app .field label{display:block;font-weight:700;color:var(--navy);font-size:15px;margin-bottom:9px;}
#ppt-app select,#ppt-app input[type=text],#ppt-app input[type=email]{width:100%;font:inherit;font-size:16px;padding:13px 14px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);}
#ppt-app select:focus,#ppt-app input:focus{outline:2px solid var(--navy);outline-offset:1px;border-color:var(--navy);}
#ppt-app .seg{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;}
#ppt-app .seg button{font:inherit;font-weight:600;font-size:14.5px;padding:13px 10px;border:1.5px solid var(--line);border-radius:10px;background:#fff;color:var(--ink);cursor:pointer;transition:.15s;}
#ppt-app .seg button:hover{border-color:var(--navy);}
#ppt-app .seg button.sel{background:var(--navy);color:#fff;border-color:var(--navy);}
@media (max-width:520px){#ppt-app .seg{grid-template-columns:1fr;}}
#ppt-app .mandate-flag{margin-top:18px;border-left:4px solid var(--crimson);background:#fdf2f4;border-radius:0 10px 10px 0;padding:13px 16px;font-size:14.5px;color:#7c1322;display:none;}
#ppt-app .mandate-flag.show{display:block;}
#ppt-app .mandate-flag b{color:var(--crimson);}

/* --- calculating --- */
#ppt-app .calc{padding:90px 0;text-align:center;}
#ppt-app .spinner{width:46px;height:46px;border-radius:50%;border:4px solid var(--line);border-top-color:var(--crimson);margin:0 auto 22px;animation:ppt-spin 1s linear infinite;}
@keyframes ppt-spin{to{transform:rotate(360deg)}}
#ppt-app .calc p{color:var(--slate);font-size:16px;}

/* --- result --- */
#ppt-app .result{padding:34px 0 10px;}
#ppt-app .archetype{background:var(--navy);color:#fff;border-radius:var(--r);padding:30px 30px 26px;box-shadow:var(--shadow);position:relative;overflow:hidden;}
#ppt-app .archetype::after{content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;border-radius:50%;background:rgba(255,255,255,.05);}
#ppt-app .archetype .ae{font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:#aebfdd;font-weight:700;}
#ppt-app .archetype h2{font-size:clamp(26px,4.6vw,38px);margin:8px 0 0;letter-spacing:-.02em;font-weight:800;color:#fff;}
#ppt-app .archetype .tier{display:inline-block;margin-top:14px;font-size:13px;font-weight:700;letter-spacing:.04em;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.22);padding:6px 13px;border-radius:999px;}
#ppt-app .archetype p{color:#d4ddee;margin:16px 0 0;font-size:16px;max-width:58ch;}

#ppt-app .bars{background:var(--card);border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--shadow);padding:28px 28px 26px;margin-top:16px;}
#ppt-app .bars h3{margin:0 0 4px;color:var(--navy);font-size:18px;letter-spacing:-.01em;font-weight:700;}
#ppt-app .bars .sub{color:var(--slate);font-size:14px;margin-bottom:22px;}
#ppt-app .barrow{margin-top:22px;}
#ppt-app .barrow .lab{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px;}
#ppt-app .barrow .lab .name{font-weight:700;color:var(--ink);font-size:15px;display:flex;align-items:center;gap:8px;}
#ppt-app .barrow .lab .val{font-weight:800;font-size:17px;color:var(--navy);}
#ppt-app .barrow .val.crimson{color:var(--crimson);}
#ppt-app .bar{height:26px;border-radius:8px;background:var(--line-soft);position:relative;overflow:hidden;}
#ppt-app .bar .pf{position:absolute;left:0;top:0;bottom:0;width:0;transition:width 1.1s cubic-bezier(.2,.7,.2,1);border-radius:8px;}
#ppt-app .bar .pf.navy{background:var(--navy);}
#ppt-app .bar .pf.prac{background:var(--navy);}
#ppt-app .gaphatch{position:absolute;top:0;bottom:0;right:0;width:0;transition:width 1.1s cubic-bezier(.2,.7,.2,1);background:repeating-linear-gradient(45deg,#f4d7dc 0 7px,#fbe9ec 7px 14px);border-left:2px dashed var(--crimson);}
#ppt-app .gaplabel{margin-top:18px;text-align:center;font-size:14.5px;color:var(--crimson);font-weight:700;opacity:0;transition:opacity .5s ease .9s;}
#ppt-app .gaplabel.show{opacity:1;}
#ppt-app .tick{color:var(--teal);font-weight:900;}

#ppt-app .result-cta{margin-top:18px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;display:flex;gap:18px;align-items:center;flex-wrap:wrap;justify-content:space-between;}
#ppt-app .result-cta .t{font-weight:700;color:var(--navy);font-size:17px;}
#ppt-app .result-cta .d{color:var(--slate);font-size:14px;margin-top:3px;max-width:46ch;}

/* --- gate --- */
#ppt-app .gate{padding:34px 0 10px;display:grid;grid-template-columns:1.05fr .95fr;gap:18px;}
@media (max-width:680px){#ppt-app .gate{grid-template-columns:1fr;}}
#ppt-app .gate-form{background:var(--navy);color:#fff;border-radius:var(--r);padding:28px;box-shadow:var(--shadow);}
#ppt-app .gate-form h2{margin:0;font-size:24px;letter-spacing:-.01em;color:#fff;font-weight:800;}
#ppt-app .gate-form p{color:#cdd8ec;font-size:14.5px;margin:10px 0 0;}
#ppt-app .gate-form label{color:#fff;}
#ppt-app .gate-form .field{margin-top:16px;}
#ppt-app .gate-form input{background:#fff;}
#ppt-app .preview{position:relative;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;overflow:hidden;}
#ppt-app .preview h4{margin:0 0 14px;color:var(--navy);font-size:14px;letter-spacing:.04em;text-transform:uppercase;font-weight:700;}
#ppt-app .gaprow{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid var(--line-soft);}
#ppt-app .gaprow:first-of-type{border-top:0;}
#ppt-app .gaprow .n{width:22px;height:22px;border-radius:6px;background:var(--crimson);color:#fff;font-weight:800;font-size:12px;display:grid;place-items:center;flex:none;margin-top:2px;}
#ppt-app .gaprow .gt{font-weight:700;color:var(--ink);font-size:14.5px;}
#ppt-app .gaprow .gf{color:var(--slate);font-size:13.5px;margin-top:2px;}
#ppt-app .blurmask{position:absolute;left:0;right:0;bottom:0;height:120px;background:linear-gradient(to bottom,rgba(255,255,255,0),#fff 78%);display:grid;place-items:end center;padding-bottom:16px;font-size:13px;color:var(--slate);font-weight:600;}
#ppt-app .blurred{filter:blur(5px);user-select:none;pointer-events:none;}

/* --- report --- */
#ppt-app .report{padding:30px 0 10px;}
#ppt-app .report h1{font-size:clamp(26px,4.4vw,38px);color:var(--navy);letter-spacing:-.02em;margin:14px 0 0;font-weight:800;}
#ppt-app .scorestrip{display:flex;gap:14px;flex-wrap:wrap;margin:18px 0 6px;}
#ppt-app .stat{flex:1;min-width:150px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:18px;}
#ppt-app .stat .k{font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--slate);font-weight:700;}
#ppt-app .stat .v{font-size:30px;font-weight:800;color:var(--navy);margin-top:4px;letter-spacing:-.02em;}
#ppt-app .stat .v.crimson{color:var(--crimson);}
#ppt-app .stat .cmp{font-size:13px;color:var(--slate);margin-top:4px;}
#ppt-app .section-card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:26px;margin-top:16px;}
#ppt-app .section-card h3{margin:0 0 4px;color:var(--navy);font-size:19px;letter-spacing:-.01em;font-weight:700;}
#ppt-app .section-card .sub{color:var(--slate);font-size:14px;margin-bottom:6px;}
#ppt-app .fixitem{display:flex;gap:14px;padding:16px 0;border-top:1px solid var(--line-soft);}
#ppt-app .fixitem .pri{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:5px 9px;border-radius:6px;height:fit-content;white-space:nowrap;}
#ppt-app .pri.high{background:#fdecef;color:var(--crimson);}
#ppt-app .pri.med{background:#fbf3e3;color:#8a6212;}
#ppt-app .fixitem .ft{font-weight:700;color:var(--ink);font-size:15.5px;}
#ppt-app .fixitem .ff{color:var(--slate);font-size:14px;margin-top:3px;}
#ppt-app .bookbar{background:var(--navy);color:#fff;border-radius:var(--r);padding:28px;margin-top:18px;text-align:center;}
#ppt-app .bookbar h3{margin:0;font-size:23px;letter-spacing:-.01em;color:#fff;font-weight:800;}
#ppt-app .bookbar p{color:#cdd8ec;font-size:15px;margin:10px auto 20px;max-width:54ch;}

/* --- toast --- */
#ppt-app .toast{position:fixed;left:50%;bottom:26px;transform:translateX(-50%) translateY(20px);background:var(--navy);color:#fff;padding:12px 20px;border-radius:10px;font-size:14px;font-weight:600;opacity:0;pointer-events:none;transition:.3s;z-index:2000;box-shadow:var(--shadow);}
#ppt-app .toast.show{opacity:1;transform:translateX(-50%) translateY(0);}
