@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,600;0,700;1,600;1,700&family=Source+Sans+3:wght@400;500;600;700&display=swap');
:root{
  --cream:#f4f1ea; --paper:#ffffff; --navy:#1b2a44; --navy2:#22344f; --border:#e4ddcf;
  --gold:#c68a2e; --gold-2:#d9a648; --ink:#2a2a2a; --muted:#6d6d6d; --blue:#2f4d78;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Source Sans 3',system-ui,sans-serif;background:var(--cream);color:var(--ink);line-height:1.7}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline}
.wrap{max-width:1040px;margin:0 auto;padding:0 22px}
h1,h2,h3,.disp{font-family:'Playfair Display',Georgia,serif}
.eyebrow{font-weight:700;font-size:.72rem;letter-spacing:.22em;text-transform:uppercase;color:var(--muted)}
.eyebrow b{color:var(--gold);font-weight:700}
/* header */
header.site{background:var(--paper);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;height:70px;gap:16px}
.logo{font-family:'Playfair Display';font-weight:700;font-size:1.5rem;color:var(--navy);letter-spacing:.01em}
.logo:hover{text-decoration:none}
nav.main{display:flex;gap:26px;flex-wrap:wrap}
nav.main a{color:var(--ink);font-weight:600;font-size:.92rem}
nav.main a:hover{color:var(--gold);text-decoration:none}
/* hero */
.hero{background:var(--navy);color:#fff;padding:66px 0}
.hero .tag{display:inline-block;background:rgba(214,138,46,.16);color:var(--gold-2);font-weight:700;font-size:.72rem;letter-spacing:.16em;padding:6px 12px;border-radius:4px}
.hero h1{font-size:3.2rem;font-weight:700;line-height:1.08;margin:18px 0 16px;max-width:640px}
.hero h1 em{color:var(--gold-2);font-style:italic}
.hero .lead{color:#c8d0dd;font-size:1.12rem;max-width:560px}
.hero .fine{color:#8a97ac;font-size:.82rem;max-width:540px;margin-top:14px}
.hero .btns{margin-top:26px;display:flex;gap:12px;flex-wrap:wrap}
.btn{display:inline-block;padding:13px 26px;border-radius:5px;font-weight:700;font-size:.92rem;letter-spacing:.04em}
.btn.gold{background:var(--gold);color:#241700}
.btn.gold:hover{background:var(--gold-2);text-decoration:none}
.btn.ghost{border:1px solid #46536b;color:#fff}
.btn.ghost:hover{border-color:#fff;text-decoration:none}
/* main */
main{padding:48px 0}
.eyebrow-row{margin-bottom:22px}
/* featured */
.featured{background:var(--paper);border-left:4px solid var(--navy);border-radius:4px;padding:32px;margin-bottom:44px;display:flex;gap:28px;align-items:center;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.featured .fbody{flex:1}
.featured .fcat{color:var(--gold);font-weight:700;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}
.featured h2{font-size:1.5rem;font-weight:700;color:var(--navy);margin:8px 0 12px;line-height:1.25}
.featured p{color:#444;font-size:.96rem}
.featured .by{color:var(--muted);font-size:.82rem;margin-top:12px}
.readnow{background:var(--navy);color:#fff;padding:13px 24px;border-radius:5px;font-weight:700;font-size:.88rem;white-space:nowrap}
.readnow:hover{background:var(--navy2);text-decoration:none}
/* category sections */
.catsec{margin-bottom:40px}
.cathead{font-family:'Playfair Display';font-size:1.5rem;font-weight:700;color:var(--navy);border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:18px;letter-spacing:.02em;text-transform:uppercase}
.cathead b{color:var(--gold)}
.newsgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.ncard{background:var(--paper);border-top:2px solid var(--navy);padding:16px 16px 18px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
.ncard .src{color:var(--gold);font-size:.64rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
.ncard .nt{font-family:'Playfair Display';font-weight:600;color:var(--navy);font-size:1.02rem;line-height:1.32;margin:8px 0 10px}
.ncard .meta{color:var(--muted);font-size:.78rem}
.ncard .ago{color:#9a9a9a;font-size:.74rem;margin-top:2px}
.ncard:hover{text-decoration:none;box-shadow:0 3px 10px rgba(0,0,0,.07)}
.disclaimer{border-top:1px solid var(--border);padding-top:20px;margin-top:20px;color:var(--muted);font-size:.82rem}
/* footer */
footer.site{background:var(--navy);color:#c8d0dd;margin-top:20px;padding:44px 0 26px}
.fgrid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:26px}
footer .logo{color:#fff}
footer .fabout{color:#95a2b6;font-size:.88rem;margin-top:10px;max-width:300px}
footer h4{color:var(--gold-2);font-size:.72rem;letter-spacing:.16em;font-weight:700;margin-bottom:12px;text-transform:uppercase}
footer .fcol a{display:block;color:#c8d0dd;font-size:.9rem;margin-bottom:8px}
footer .fcol a:hover{color:#fff;text-decoration:none}
.fbot{border-top:1px solid #33425c;margin-top:28px;padding-top:18px;color:#8a97ac;font-size:.82rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.fbot a{color:#8a97ac;margin-left:16px}
/* legal + forms */
.legal{max-width:760px;margin:0 auto;padding:44px 0}
.legal h1{font-family:'Playfair Display';font-size:2.4rem;font-weight:700;color:var(--navy);margin-bottom:6px}
.legal .updated{color:var(--muted);font-size:.88rem;margin-bottom:24px}
.legal .card{background:var(--paper);border:1px solid var(--border);border-radius:6px;padding:34px;box-shadow:0 1px 3px rgba(0,0,0,.04)}
.legal h3{font-family:'Playfair Display';font-size:1.2rem;font-weight:700;color:var(--navy);margin:22px 0 8px}
.legal p{margin-bottom:14px;color:#3a3a3a}
.legal ul{margin:0 0 14px 20px}
.legal li{margin-bottom:6px;color:#3a3a3a}
label{display:block;font-weight:600;margin:16px 0 6px;color:var(--navy)}
input[type=email],input[type=text],select{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:6px;font-size:1rem;background:#fff;color:var(--ink);font-family:inherit}
.check{display:flex;align-items:flex-start;gap:10px;margin:12px 0;font-weight:500}
.check input{margin-top:6px;width:auto}
button.submit{background:var(--navy);color:#fff;border:0;padding:13px 30px;border-radius:6px;font-size:1rem;font-weight:700;cursor:pointer;margin-top:20px}
button.submit:hover{background:var(--navy2)}
.note{background:#efe9dc;border-radius:6px;padding:14px 16px;font-size:.88rem;color:#5a5340;margin-top:18px}
.msg{display:none;padding:14px 16px;border-radius:6px;margin-top:18px;font-weight:600}
.msg.ok{display:block;background:#e2efe0;color:#2f6b34;border:1px solid #b9d8b6}
@media(max-width:820px){
  .newsgrid{grid-template-columns:1fr}
  .featured{flex-direction:column;align-items:flex-start}
  .fgrid{grid-template-columns:1fr}
  .hero h1{font-size:2.3rem}
  nav.main{display:none}
}