:root {
  --bg:          #EDF2F7;
  --card:        #FFFFFF;
  --primary:     #1A5F7A;
  --primary-dk:  #0D3F55;
  --text:        #1A2332;
  --muted:       #5A6878;
  --border:      #D8E2EC;
  --mild:        #047857;
  --radius:16px; --radius-sm:10px;
  --shadow:0 4px 20px rgba(0,0,0,0.08);
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Nunito',sans-serif;background:var(--bg);color:var(--text);line-height:1.6;-webkit-font-smoothing:antialiased;}
.wrap{max-width:720px;margin:0 auto;padding:0 24px;}
a{color:var(--primary);}

.nav{padding:22px 0;}
.nav .wrap{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.brand{display:flex;align-items:center;gap:9px;font-family:'Lora',serif;font-weight:700;font-size:19px;color:var(--primary-dk);text-decoration:none;}
.brand-mark{width:26px;height:26px;flex-shrink:0;}
.nav-links{display:flex;gap:22px;}
.nav-links a{font-size:14px;font-weight:700;color:var(--muted);text-decoration:none;}
.nav-links a.active{color:var(--primary);}
.nav-links a:hover{color:var(--primary);}

.eyebrow{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:1.6px;color:var(--primary);margin-bottom:14px;}

footer{padding:32px 0 44px;text-align:center;}
footer .brand{justify-content:center;margin-bottom:8px;}
footer p{font-size:13px;color:var(--muted);margin-bottom:4px;}

.visually-hidden{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0;}

/* Visible keyboard focus. #B45309 clears the 3:1 non-text contrast minimum on
   both the white cards and the #EDF2F7 page background. */
:focus-visible{outline:3px solid #B45309;outline-offset:2px;border-radius:4px;}
