/* Pre-Screening for Family Support — builds on css/ai.css (pure white flow) */
.ps-main{display:block;min-height:calc(100vh - 140px);padding:16px 20px 48px}
.ps-wrap{max-width:720px;margin:0 auto}
.ps-h1{margin:8px 0 14px;font-family:"Roboto Slab",serif;font-size:clamp(26px,3.4vw,36px);line-height:1.2}
.ps-h2{margin:36px 0 12px;font-family:"Roboto Slab",serif;font-size:20px}
.ps-lead{font-size:18px;line-height:1.65}
.ps-note,.ps-muted{color:#5a6470;line-height:1.6}
.ps-actions{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-top:28px}
.ps-meta{display:flex;justify-content:space-between;gap:12px;margin:10px 0 22px;font-size:13px;font-weight:600;color:#5a6470}
.ps-save{color:#007A3D}
.ps-guide{display:flex;gap:12px;align-items:flex-start;margin:0 0 24px;padding:14px 16px;border-radius:12px;background:#f4f8ff;border:1px solid #dfe8fb}
.ps-guide img{display:block;width:34px;height:32px;flex:none}
.ps-guide p{margin:0;font-size:14px;line-height:1.55;color:#33405a}

/* questions */
.ps-q{border:0;margin:0 0 28px;padding:0}
.ps-q>label,.ps-q legend{display:block;margin-bottom:10px;font-weight:700;font-size:17px;line-height:1.4;color:#2d2e2e}
.ps-q legend{padding:0}
.ps-q input:not([type=radio]):not([type=checkbox]),.ps-q textarea,.ps-q select{width:100%;min-height:50px;padding:10px 14px;border:2px solid #e3e8ee;border-radius:10px;font:16px "Open Sans",sans-serif;color:#2d2e2e;background:#fff}
.ps-q .ai-age-row input{width:140px}
.ps-q .ai-age-row select{width:140px}
.ps-q textarea{resize:vertical}
.ps-q input:focus-visible,.ps-q textarea:focus-visible,.ps-q select:focus-visible{outline:3px solid #fec20b;outline-offset:2px}
.ps-inline{margin-top:10px}
.ps-q .ai-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ps-q .ai-options:not(.ai-options-grid){grid-template-columns:1fr}

/* consent */
.ps-notice{max-height:300px;overflow:auto;padding:18px 20px;border:2px solid #e3e8ee;border-radius:12px;background:#fafbfc;line-height:1.6;font-size:15px}
.ps-notice h2{margin:0 0 10px;font-family:"Roboto Slab",serif;font-size:18px}
.ps-notice p{margin:0 0 10px}
.ps-notice:focus-visible{outline:3px solid #fec20b}
.ps-consent{display:flex;gap:12px;align-items:flex-start;margin-top:20px;line-height:1.55;cursor:pointer}
.ps-consent input{width:20px;height:20px;margin-top:3px;flex:none}
.ai-btn[disabled]{opacity:.45;cursor:not-allowed}

/* home */
.ps-kids{list-style:none;margin:0;padding:0}
.ps-kids li{display:flex;align-items:center;gap:12px;margin-top:10px}
.ps-kid{flex:1;display:flex;justify-content:space-between;gap:12px;padding:16px 18px;border:2px solid #e3e8ee;border-radius:12px;background:#fff;font:inherit;text-align:left;cursor:pointer}
.ps-kid:hover{border-color:#3eb2cf}
.ps-kid span{color:#5a6470;font-size:14px}
.ps-link-danger,.ps-linkbtn{border:0;background:none;padding:0;font:600 14px "Open Sans",sans-serif;color:#b42318;cursor:pointer;text-decoration:underline}
.ps-linkbtn{color:#0d7fa6}

/* review */
.ps-rev{position:relative;margin-top:16px;padding:16px 18px;border:1px solid #e3e8ee;border-radius:12px}
.ps-rev-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:16px;padding:6px 0}
.ps-rev-row dt{font-size:14px;color:#5a6470}
.ps-rev-row dd{margin:0;font-weight:600}
.ps-rev .ai-edit{position:absolute;top:12px;right:12px;margin:0}
.ps-ai-opt{margin-top:28px;padding:14px 16px;border-radius:12px;background:#f7f9fb}

/* report */
.ps-report{padding:28px;border:1px solid #e3e8ee;border-radius:14px;background:#fff}
.ps-report-head{display:flex;flex-wrap:wrap;align-items:center;gap:18px;padding-bottom:18px;margin:18px 0;border-bottom:2px solid #eef1f4}
.ps-report-head h1{margin:0;font-family:"Roboto Slab",serif;font-size:26px}
.ps-report-head p{margin:2px 0 0;color:#5a6470}
.ps-nonmed{padding:12px 16px;border-radius:10px;background:#fff8e1;border:1px solid #f3dc8a;font-size:14px;line-height:1.55}
.ps-priority{margin:0 0 14px;padding:16px 18px;border-radius:12px;background:#eef8fb;border-left:5px solid #3eb2cf;font-family:"Roboto Slab",serif;font-size:20px;font-weight:700}
.ps-priority span{display:block;font:700 12px "Open Sans",sans-serif;letter-spacing:.08em;text-transform:uppercase;color:#0d7fa6}
.ps-sec{margin-top:24px}
.ps-sec h3{margin:0 0 8px;font-family:"Roboto Slab",serif;font-size:19px}
.ps-need h4{margin:14px 0 8px;font-size:16px}
.ps-match{margin-top:10px;padding:14px 16px;border:1px solid #e3e8ee;border-radius:10px}
.ps-match p{margin:6px 0 0;font-size:14px}
.ps-match-head{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
.ps-score{font-weight:700;color:#007A3D}
.ps-calc{margin-top:10px;font-size:14px}
.ps-calc summary{cursor:pointer;color:#0d7fa6;font-weight:600}
.ps-calc table{width:100%;margin-top:8px;border-collapse:collapse}
.ps-calc th,.ps-calc td{padding:6px 8px;border-bottom:1px solid #eef1f4;text-align:left}
.ps-share-btn{margin-top:10px;border:2px solid #0436DB;border-radius:20px;background:#fff;padding:6px 14px;font:600 14px "Open Sans",sans-serif;color:#0436DB;cursor:pointer}
.ps-ai-status{margin-top:24px;font-size:13px;color:#5a6470}
.ps-deliver{margin-top:8px}
.ps-panel{margin-top:22px;padding:18px 20px;border:1px solid #e3e8ee;border-radius:12px}
.ps-panel h3{margin:0 0 8px;font-family:"Roboto Slab",serif;font-size:18px}
.ps-status{font-weight:700}
.ps-code{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:10px}
.ps-code input{width:140px;min-height:46px;padding:0 12px;border:2px solid #e3e8ee;border-radius:10px;font-size:18px;letter-spacing:.2em}
.ps-preview-note{margin-top:10px;font-size:13px;color:#8a5b00}
.ps-share-form{margin-top:14px;padding:16px;border-radius:10px;background:#f7f9fb}
.ps-check{display:block;margin:6px 0}
.ps-plain{margin-top:22px}
.ps-plain pre{white-space:pre-wrap;font:13px/1.55 "Open Sans",sans-serif;background:#fafbfc;padding:14px;border-radius:10px}
.ps-demo-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;max-width:1100px;margin:0 auto;padding:10px 16px;background:#fff8e1;border:1px solid #f3dc8a;border-radius:10px;font-size:14px}
.ps-demo-bar button{border:1px solid #c9a100;background:#fff;border-radius:16px;padding:4px 12px;font:600 13px "Open Sans",sans-serif;cursor:pointer}
.ps-foot{max-width:720px;margin:0 auto 28px;padding:0 20px;text-align:center;font-size:12px;color:#8a929c}

@media (max-width:640px){
  .ps-q .ai-options{grid-template-columns:1fr}
  .ps-rev-row{grid-template-columns:1fr;gap:2px}
  .ps-report{padding:18px}
}
@media print{
  .ps-noprint,.ps-deliver,.ps-meta,.ai-top,.ps-demo-bar,.ps-foot,.ps-calc summary{display:none!important}
  .ps-main{padding:0}
  .ps-report{border:0;padding:0}
  .ps-calc{display:none}
  a{color:#000}
}

/* landing (owner 2026-11-03: template-grade, not a bare page) */
.ps-wrap-wide{max-width:1140px}
.ps-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:48px;align-items:center;padding:24px 0 8px}
.ps-eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 14px;font:600 14px "Open Sans",sans-serif;letter-spacing:.02em;color:#5a6470;text-transform:uppercase}
.ps-free{display:inline-block;padding:3px 10px;border-radius:999px;background:#e5484d;color:#fff;font:700 12px "Open Sans",sans-serif;letter-spacing:.06em;text-transform:uppercase;animation:ps-blink 1.6s ease-in-out infinite}
@keyframes ps-blink{0%,100%{opacity:1}50%{opacity:.35}}
.ps-h1-hero{margin:0 0 16px;font-size:clamp(30px,3.6vw,44px);line-height:1.15;color:#2d2e2e}
.ps-hero .ps-lead{margin:0 0 24px;font-size:18px}
.ps-actions-hero{justify-content:flex-start;margin-top:0;align-items:center}
.ps-actions-hero .ai-btn{display:inline-flex;align-items:center;text-decoration:none}
.ps-hero .ps-note{margin:22px 0 0;font-size:14px}
.ps-hero-photo{margin:0;border-radius:18px;overflow:hidden;box-shadow:0 18px 40px rgba(45,46,46,.14)}
.ps-hero-photo img{display:block;width:100%;height:100%;aspect-ratio:5/4;object-fit:cover}
.ps-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:48px 0 8px}
.ps-step{position:relative;padding:26px 24px 24px;border-radius:16px;background:#f7f9fb;border:1px solid #e6ebf0}
.ps-step-n{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;margin-bottom:14px;border-radius:50%;background:#3eb2cf;color:#fff;font:700 16px "Roboto Slab",serif}
.ps-step:nth-child(2) .ps-step-n{background:#fec20b;color:#2d2e2e}
.ps-step:nth-child(3) .ps-step-n{background:#7ac143}
.ps-step h3{margin:0 0 8px;font:700 17px "Roboto Slab",serif;line-height:1.3;color:#2d2e2e}
.ps-step p{margin:0;font-size:14.5px;line-height:1.6;color:#5a6470}
.ps-demo-bar{max-width:1140px;margin:0 auto 4px;background:#f7f9fb;border-color:#e6ebf0;color:#5a6470;font-size:13px}
.ps-demo-bar button{border-color:#c9d2db}
@media (max-width:991px){.ps-hero{grid-template-columns:1fr;gap:28px}.ps-hero-photo{order:-1}.ps-hero-photo img{aspect-ratio:16/9}.ps-steps{grid-template-columns:1fr;gap:14px;margin-top:32px}}
.ps-foot{font-size:13px !important}
