
:root{--ink:#2B2A26;--muted:#5C5850;--royal:#1A357E;--royal-50:#D6E0F7;--flame:#D14312;
--flame-700:#8C2A06;--stone:#F5F2EE;--line:#E5DFD6;--white:#fff}
*{box-sizing:border-box}
body{margin:0;background:var(--stone);color:var(--ink);
font-family:'Work Sans',-apple-system,Segoe UI,Arial,sans-serif;font-size:17px;line-height:1.65}
.wrap{max-width:760px;margin:0 auto;padding:0 20px}
.wide{max-width:1100px}
a{color:var(--royal)}
header.site{background:var(--white);border-bottom:1px solid var(--line)}
header.site .bar{max-width:1100px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;
justify-content:space-between;gap:16px;flex-wrap:wrap}
.brand{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:20px;color:var(--royal);
text-decoration:none}
nav.site a{color:var(--ink);text-decoration:none;font-size:15px;font-weight:500;margin-left:22px}
nav.site a.cta{background:var(--royal);color:#fff;padding:9px 18px;border-radius:999px;font-size:14px}
h1{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:40px;line-height:1.18;margin:0 0 14px}
h2{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:27px;line-height:1.28;margin:38px 0 12px}
h3{font-size:20px;font-weight:650;margin:28px 0 8px}
h4{font-size:17px;font-weight:650;margin:22px 0 6px}
article p{margin:0 0 18px}
article ul,article ol{margin:0 0 18px;padding-left:22px}
article li{margin:0 0 8px}
blockquote{margin:22px 0;padding:14px 20px;background:var(--royal-50);border-radius:12px;
color:var(--royal)}
blockquote p:last-child{margin:0}
.tw{overflow-x:auto;margin:0 0 22px}
table{border-collapse:collapse;width:100%;font-size:15.5px;background:var(--white);
border-radius:12px;overflow:hidden}
th,td{text-align:left;padding:11px 14px;border-bottom:1px solid var(--line);vertical-align:top}
th{background:var(--royal);color:#fff;font-weight:600}
.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:12.5px;font-weight:600;
color:var(--flame-700);margin:0 0 10px}
.meta{color:var(--muted);font-size:14.5px;margin:0 0 30px}
/* the whole card is the link — a title-only target is a small tap area on a phone */
a.card{display:block;background:var(--white);border:1px solid var(--line);border-radius:16px;
padding:22px;margin:0 0 16px;text-decoration:none;color:inherit;
transition:border-color .15s,box-shadow .15s,transform .15s}
a.card:hover,a.card:focus-visible{border-color:var(--royal-100,#A7BAEA);
box-shadow:0 6px 20px rgba(26,53,126,.10);transform:translateY(-2px)}
a.card:focus-visible{outline:2px solid var(--flame);outline-offset:3px}
a.card h3{margin:0 0 6px;font-family:Fraunces,Georgia,serif;font-size:21px;color:var(--royal)}
a.card p{margin:0;color:var(--muted);font-size:15.5px}
@media(prefers-reduced-motion:reduce){a.card{transition:none}a.card:hover{transform:none}}
.grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(310px,1fr))}
.pills{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 30px;padding:0;list-style:none}
.pills a{display:inline-block;background:var(--white);border:1px solid var(--line);
border-radius:999px;padding:8px 16px;font-size:14.5px;text-decoration:none}
.cta-band{background:var(--royal);color:#fff;border-radius:16px;padding:26px;margin:44px 0 0}
.cta-band h2{color:#fff;margin:0 0 8px;font-size:23px}
.cta-band p{margin:0 0 16px;color:var(--royal-50)}
.btn{display:inline-block;background:var(--flame);color:#fff;text-decoration:none;
font-weight:600;padding:13px 26px;border-radius:999px}
footer.site{margin-top:56px;background:var(--royal);color:var(--royal-50);padding:30px 0}
.fd-cf-footer{font-family:'Work Sans',Arial,sans-serif;max-width:1170px;margin:0 auto;
padding:10px 20px;color:#D6E0F7;text-align:left}
.fd-cf-cols{display:flex;flex-wrap:wrap;gap:36px;justify-content:space-between;align-items:flex-start}
.fd-cf-col a{display:block;color:#A7BAEA;font-size:14px;line-height:2.1;text-decoration:none}
.fd-cf-colhead{font-weight:600;color:#fff;margin:0 0 10px;font-size:14px}
.fd-cf-legal{margin-top:28px;padding-top:18px;border-top:1px solid rgba(167,186,234,.25)}
.fd-cf-legal a{color:#A7BAEA}
/* theme pages don't get the storefront's mobile pass, so this block carries its own —
   44px minimum tap target per WCAG 2.5.5 */
@media(max-width:768px){
.fd-cf-footer{padding:6px 16px 18px}.fd-cf-cols{gap:4px}.fd-cf-col{flex:1 1 100%}
.fd-cf-col a{min-height:44px;display:flex;align-items:center;line-height:1.3;font-size:15px}
.fd-cf-colhead{margin:14px 0 2px}.fd-cf-footer img{width:180px}}
@media(max-width:640px){h1{font-size:30px}h2{font-size:23px}body{font-size:16.5px}
nav.site a{margin:0 14px 0 0}header.site .bar{padding:12px 16px}}
