:root{--blue:#1e5f99;--blue-dark:#173f67;--blue-light:#eef6fc;--text:#24313d;--muted:#526272;--line:#d9e4ee;--soft:#f7fafc;}
*{box-sizing:border-box;}
body{font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.7;max-width:900px;margin:0 auto;padding:0 20px;color:var(--text);font-size:18px;background:#fff;}
a{color:var(--blue);}
a:focus-visible{outline:3px solid #8fc5ef;outline-offset:3px;}
.site-header{padding:22px 0 8px;border-bottom:1px solid var(--line);margin-bottom:10px;}
.site-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;}
.site-name{font-weight:800;color:var(--blue-dark);text-decoration:none;font-size:20px;letter-spacing:-.01em;}
.site-nav{display:flex;gap:20px;flex-wrap:wrap;}
.site-nav a{font-weight:700;text-decoration:none;}
.site-nav a:hover{text-decoration:underline;}
h1{color:var(--blue-dark);font-size:clamp(30px,4.5vw,42px);line-height:1.15;letter-spacing:-.025em;margin:34px 0 6px;}
.lede{font-size:20px;line-height:1.6;color:#2c3b49;margin:0 0 28px;}
.content-section{background:#fff;border:1px solid #e3e8ef;border-radius:10px;padding:28px;margin:26px 0;box-shadow:0 1px 4px rgba(0,0,0,.04);}
.content-section h2{margin-top:0;color:var(--blue-dark);}
.content-section h3{color:#244d7a;margin-top:26px;margin-bottom:8px;}
.content-section ul,.content-section ol{padding-left:24px;}
.content-section li{margin:9px 0;}
.warning-box{background:#fff7e8;border-left:5px solid #a66700;padding:20px 24px;border-radius:6px;margin:22px 0;}
.next-step{background:var(--blue-light);border:1px solid #cde3f5;border-radius:10px;padding:24px 28px;margin:30px 0;}
.next-step h2{margin-top:0;color:var(--blue-dark);}
.next-step p:last-child{margin-bottom:0;}
.offer img{max-width:100%;height:auto;border-radius:8px;}
.disclosure{font-size:12px;color:#555;margin-top:8px;}
.site-footer{margin-top:45px;padding:26px 0;border-top:1px solid var(--line);font-size:14px;color:#56636f;text-align:center;}
.site-footer nav{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;margin-bottom:10px;}
.site-footer a{color:var(--blue);font-weight:600;text-decoration:none;}
.site-footer a:hover{text-decoration:underline;}

/* --- form (contact.html) ---------------------------------------------
   validate.js toggles Bootstrap's .d-block on the status divs, and the
   honeypot relies on .d-none. Bootstrap is no longer loaded, so those two
   utilities are defined here. Without them the honeypot would be visible
   and the status messages would never show. */
.d-none{display:none!important;}
.d-block{display:block!important;}
.php-email-form .loading,.php-email-form .error-message,.php-email-form .sent-message{display:none;margin-top:14px;}
.php-email-form .sent-message{color:#1f6b3a;font-weight:600;}
.php-email-form .error-message{color:#a4232a;font-weight:600;}
.php-email-form label{display:block;font-weight:600;margin:14px 0 4px;}
.php-email-form input,.php-email-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:6px;font:inherit;color:var(--text);background:#fff;}
.php-email-form input:focus,.php-email-form textarea:focus{outline:3px solid #8fc5ef;outline-offset:1px;border-color:var(--blue);}
.php-email-form button{margin-top:18px;background:var(--blue);color:#fff;border:0;padding:12px 28px;border-radius:8px;font:inherit;font-weight:700;cursor:pointer;}
.php-email-form button:hover{background:var(--blue-dark);}
.form-row{display:flex;gap:18px;flex-wrap:wrap;}
.form-row>div{flex:1 1 240px;}
.portrait{max-width:186px;height:auto;border-radius:10px;float:right;margin:4px 0 16px 22px;}
@media (max-width:600px){.portrait{float:none;display:block;margin:0 auto 18px;}}
