:root{
  --paper:#FCFCFD; --card:#FFFFFF; --ink:#1A2028; --muted:#59636E;
  --faint:#8A939D; --rule:#E2E6EA; --rule-soft:#EFF2F4;
  --accent:#1F4E79; --accent-soft:#EAF0F6;
}
*{box-sizing:border-box;}
body{
  margin:0; background:var(--paper); color:var(--ink);
  font-family:"Public Sans","Segoe UI",system-ui,sans-serif;
  font-size:17px; line-height:1.68; -webkit-font-smoothing:antialiased;
}
.wrap{max-width:760px; margin:0 auto; padding:0 24px;}
header.site{border-bottom:1px solid var(--rule); background:var(--card);}
header.site .wrap{display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding-top:22px; padding-bottom:22px; flex-wrap:wrap;}
.brand{font-family:"Source Serif 4",Georgia,serif; font-weight:600; font-size:1.24rem; letter-spacing:-.01em; color:var(--ink); text-decoration:none;}
.brand span{color:var(--muted); font-weight:400;}
nav.site a{color:var(--muted); text-decoration:none; font-size:.92rem; margin-left:20px;}
nav.site a:hover{color:var(--accent); text-decoration:underline;}
main{padding:56px 0 72px;}
h1{font-family:"Source Serif 4",Georgia,serif; font-weight:600; font-size:clamp(2rem,5vw,2.7rem); line-height:1.16; letter-spacing:-.018em; margin:0 0 18px; text-wrap:balance;}
h2{font-family:"Source Serif 4",Georgia,serif; font-weight:600; font-size:1.32rem; letter-spacing:-.008em; margin:38px 0 12px; line-height:1.3;}
h3{font-size:1rem; font-weight:700; margin:24px 0 8px;}
p{margin:0 0 16px;}
ul{margin:0 0 16px; padding-left:22px;}
li{margin-bottom:7px;}
a{color:var(--accent);}
.lede{font-size:1.13rem; color:var(--muted); margin-bottom:28px;}
.meta{font-size:.88rem; color:var(--faint); margin-bottom:34px; padding-bottom:18px; border-bottom:1px solid var(--rule);}
.box{background:var(--card); border:1px solid var(--rule); border-radius:6px; padding:22px 24px; margin:26px 0;}
.box.accent{background:var(--accent-soft); border-color:#C8D8E6;}
.box h3{margin-top:0;}
.box p:last-child, .box ul:last-child{margin-bottom:0;}
footer.site{border-top:1px solid var(--rule); background:var(--card); padding:30px 0 40px; font-size:.88rem; color:var(--faint);}
footer.site a{color:var(--muted);}
footer.site p{margin:0 0 6px;}
.fill{background:#FFF4D6; border-bottom:1px solid #E0C97F; padding:2px 5px; border-radius:3px; font-weight:600; color:#6B4E00;}
label{display:block; font-weight:600; font-size:.93rem; margin:18px 0 6px;}
input[type=text],input[type=email],input[type=tel]{
  width:100%; padding:11px 13px; font-family:inherit; font-size:1rem;
  border:1px solid var(--rule); border-radius:5px; background:var(--card); color:var(--ink);
}
input:focus{outline:2px solid var(--accent); outline-offset:1px; border-color:var(--accent);}
.consent{display:flex; gap:11px; align-items:flex-start; margin:22px 0 4px;}
.consent input{margin-top:4px; flex:none; width:17px; height:17px;}
.consent span{font-size:.92rem; line-height:1.55; color:var(--muted);}
button.submit{
  margin-top:24px; width:100%; padding:14px; border:none; border-radius:5px;
  background:var(--accent); color:#fff; font-family:inherit; font-size:1rem; font-weight:700; cursor:pointer;
}
button.submit:hover{filter:brightness(1.12);}
.smsterms{font-size:.86rem; color:var(--faint); margin-top:18px; line-height:1.6;}
