/* The Portal: one column, large type, big targets. Read on a phone first. Colours are the firm's. */
:root{--navy:#072131;--gold:#B58D2D;--ink:#1d2a33;--muted:#5d6b75;--line:#e3e6e8;--bg:#f6f5f1;--ok:#1f6f3d;--bad:#a12222}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:17px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
.p-head{background:#fff;border-bottom:3px solid var(--gold);padding:12px 16px;text-align:center}
.p-logo{height:52px;max-width:90%}
.p-main{max-width:640px;margin:0 auto;padding:16px}
.p-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px;margin:0 0 16px}
.p-card h2{font-family:Georgia,"DM Serif Display",serif;font-weight:normal;color:var(--navy);margin:0 0 8px;font-size:24px}
.p-card h3{color:var(--navy);margin:0 0 8px;font-size:19px}
.p-muted{color:var(--muted);font-size:15px}
.p-error{color:var(--bad);font-weight:600;margin:8px 0}
.p-good{color:var(--ok);font-weight:600}
.p-test{background:#fbf1dc;border:1px solid #e8d3a0;color:#5a4210;border-radius:12px;padding:10px 14px;margin:0 0 16px;font-size:15px}
button,.p-btn{display:inline-block;font:inherit;font-weight:600;border-radius:10px;border:2px solid var(--navy);background:var(--navy);color:#fff;padding:12px 18px;cursor:pointer;text-decoration:none;min-height:48px}
button.p-alt{background:#fff;color:var(--navy)}
button:disabled{opacity:.5;cursor:default}
.p-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.p-row > *{flex:1 1 200px}
input[type=text],input[type=tel],textarea{width:100%;font:inherit;padding:12px;border:2px solid var(--line);border-radius:10px;background:#fff}
input:focus,textarea:focus{outline:none;border-color:var(--gold)}
.p-code{font-size:28px;letter-spacing:8px;text-align:center}
.p-docs{list-style:none;padding:0;margin:0}
.p-docs li{margin:8px 0}
.p-docs a{display:block;padding:12px 14px;border:1px solid var(--line);border-radius:10px;color:var(--navy);text-decoration:none;font-weight:600}
.p-docs a:after{content:" ›";color:var(--gold)}
.p-q{border-top:1px solid var(--line);padding:14px 0}
.p-q:first-of-type{border-top:0}
.p-q .t{font-weight:600}
.p-q .h{color:var(--muted);font-size:15px}
.p-pills,.p-tiles{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.p-pills button,.p-tiles button{background:#fff;color:var(--navy);border:2px solid var(--line);font-weight:500;flex:0 1 auto}
.p-pills button{min-width:96px;border-radius:999px}
.p-tiles button{flex:1 1 45%;text-align:left}
.p-pills button.on,.p-tiles button.on{border-color:var(--gold);background:#fbf1dc}
.p-slider{width:100%;margin-top:10px;accent-color:var(--navy);height:32px}
.p-val{font-size:20px;font-weight:600;color:var(--navy)}
.p-onrec{margin-top:6px;font-size:15px;color:var(--muted)}
.p-onrec b{color:var(--ink)}
.p-hide{display:none}
.p-foot{max-width:640px;margin:8px auto 24px;padding:0 16px;color:var(--muted);font-size:13px;text-align:center}
.p-build{opacity:.6;margin-top:4px}
.p-link{background:none;border:0;color:var(--navy);text-decoration:underline;padding:0;min-height:0;font-weight:500}
