/* Shared styles for inner pages (thank-you, policies) */
:root{
  --navy:#133F63; --navy-deep:#0D2E4A; --blue:#22628D; --sand:#B8A898; --sand-soft:#DCD5C9;
  --cream:#F6F3EE; --paper:#FFFFFF; --ink:#1C2733; --muted:#5B6672; --line:#E3DCD1; --ok:#2E7D5B;
  --display:"Poppins","Segoe UI",system-ui,sans-serif; --body:"Source Sans 3","Segoe UI",system-ui,sans-serif;
  color-scheme:light;
}
*{box-sizing:border-box}
body{margin:0;background:var(--cream);color:var(--ink);font:18px/1.65 var(--body)}
img{max-width:100%;display:block}
a{color:var(--blue)}
.wrap{max-width:1160px;margin:0 auto;padding-inline:24px}
h1,h2,h3{font-family:var(--display);color:var(--navy);margin:0;text-wrap:balance;letter-spacing:-.01em}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;font:600 17px var(--display);text-decoration:none;border-radius:12px;padding:15px 28px;border:2px solid transparent;cursor:pointer}
.btn-primary{background:var(--navy);color:#fff;box-shadow:0 10px 24px rgba(19,63,99,.22)}
.btn-primary:hover{background:var(--navy-deep)}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--sand);outline-offset:3px}

header.top{background:rgba(246,243,238,.95);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:20px;height:76px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.brand img{height:42px;width:auto}
.brand b{font:700 19px var(--display);color:var(--navy);white-space:nowrap}
.nav .back{margin-left:auto;font:600 15px var(--display);color:var(--navy);text-decoration:none}
.nav .back:hover{text-decoration:underline}

.page{max-width:820px;margin:0 auto;padding:64px 24px 96px}
.page h1{font-size:clamp(32px,4.4vw,46px);line-height:1.15}
.rule{width:110px;height:7px;border-radius:4px;background:var(--sand);margin-top:20px}
.updated{color:var(--muted);font-size:15px;margin-top:16px}
.legal h2{font-size:23px;margin-top:40px}
.legal p,.legal li{color:#36424F}
.legal ul{padding-left:22px}
.legal li{margin-bottom:6px}

footer{background:var(--navy-deep);color:#AFC0D0;padding-block:32px;font-size:15px}
.copy{display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between}
footer a{color:#DCE5EE;text-decoration:none;margin-right:18px}footer a:hover{text-decoration:underline}

@media (max-width:480px){.brand b{font-size:16px}.brand img{height:34px}}

/* intro + cards */
.lead{font-size:20px;color:#36424F;margin:22px 0 0;max-width:60ch}
.steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:36px;counter-reset:s}
.steps div{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px 18px 16px;font-size:16px;color:#36424F;line-height:1.5}
.steps div:before{counter-increment:s;content:counter(s);display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;font:600 14px var(--display);margin-bottom:10px}
.steps b{display:block;font:600 16px var(--display);color:var(--navy);margin-bottom:4px}

/* form */
.card{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:36px;margin-top:40px;box-shadow:0 18px 40px rgba(19,63,99,.07)}
.card h2{font-size:25px}
.card .sub{color:var(--muted);margin:8px 0 0;font-size:16.5px}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px;margin-top:26px}
.grid .full{grid-column:1/-1}
label.f{display:flex;flex-direction:column;gap:7px;font:600 15px var(--display);color:var(--navy)}
label.f small{font:400 14.5px var(--body);color:var(--muted)}
.f input,.f select,.f textarea{font:17px var(--body);color:var(--ink);background:var(--cream);border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;width:100%}
.f textarea{min-height:130px;resize:vertical}
.f input[type=file]{padding:10px;background:#fff;border-style:dashed}
.f input:focus,.f select:focus,.f textarea:focus{border-color:var(--blue);background:#fff}
.req{color:#A0563F}
.hp{position:absolute;left:-9999px}
.actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;margin-top:28px}
.actions .btn{border:0}
.actions p{margin:0;color:var(--muted);font-size:15px}
.msg{display:none;margin-top:22px;border-radius:12px;padding:16px 18px;font-size:16.5px}
.msg.show{display:block}
.msg.ok{background:#E7F3EC;color:#1E5C42;border:1px solid #BFDCCB}
.msg.err{background:#F8ECE7;color:#7A3A24;border:1px solid #E8CBBF}
.help{margin-top:32px;text-align:center;color:var(--muted);font-size:16.5px}

@media (max-width:640px){.steps,.grid{grid-template-columns:1fr}.card{padding:26px 20px}.page{padding-top:44px}}
.nav .back{white-space:nowrap}
@media (max-width:420px){.nav{gap:12px}.brand b{font-size:15px}.brand img{height:30px}.nav .back{font-size:14px}}
div.f{display:flex;flex-direction:column;gap:7px;font:600 15px var(--display);color:var(--navy)}
div.f small{font:400 14.5px var(--body);color:var(--muted)}
.files2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.files2 input{font:16px var(--body);color:var(--ink);background:#fff;border:1.5px dashed var(--line);border-radius:10px;padding:10px;width:100%;min-width:0}
@media (max-width:640px){.files2{grid-template-columns:1fr}}
[hidden]{display:none!important}
