@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700;800&display=swap');

:root{
  --navy:#1E2A4A; --navy-light:#2A4080; --cream:#FDF8F0; --gold:#D4A853;
  --gold-light:#F5C563; --coral:#E07B6C; --sage:#7CAB8A;
  --text:#2A2A38; --muted:#6A6A7A; --line:rgba(30,42,74,.08);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--cream);color:var(--text);
  font-family:'DM Sans',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;line-height:1.7}
a{color:var(--navy)}

/* ---- Header ---- */
.site-header{background:var(--navy)}
.site-header .inner{max-width:1100px;margin:0 auto;padding:14px 20px;
  display:flex;align-items:center;justify-content:space-between}
.site-header .brand{display:flex;align-items:center;gap:12px;text-decoration:none}
.site-header .brand img{width:38px;height:38px;border-radius:10px}
.site-header .brand span{font-family:'Playfair Display',serif;font-weight:700;font-size:20px;color:#fff}
.site-header nav a{color:#fff;text-decoration:none;margin-left:20px;font-size:15px;opacity:.85;font-weight:500}
.site-header nav a:hover{opacity:1}
.site-header nav a.btn{background:var(--gold);color:var(--navy);padding:9px 16px;border-radius:10px;font-weight:700;opacity:1}

/* ---- Hero (index) ---- */
.hero{background:linear-gradient(180deg,var(--navy),var(--navy-light));color:#fff;text-align:center;padding:56px 20px 64px}
.hero .pill{display:inline-block;background:rgba(212,168,83,.18);color:var(--gold-light);
  font-size:12px;font-weight:700;letter-spacing:1px;text-transform:uppercase;padding:6px 14px;border-radius:999px;margin-bottom:16px}
.hero h1{font-family:'Playfair Display',serif;font-size:40px;line-height:1.15;color:#fff;margin:0 0 12px}
.hero p{color:rgba(255,255,255,.75);font-size:18px;max-width:560px;margin:0 auto}

/* ---- Layout ---- */
.wrap{max-width:760px;margin:0 auto;padding:40px 20px 64px}
article{max-width:720px;margin:0 auto;padding:44px 20px 64px}
h1{font-family:'Playfair Display',serif;font-size:34px;line-height:1.22;color:var(--navy);margin:0 0 10px}
h2{font-family:'Playfair Display',serif;color:var(--navy);font-size:24px;margin:34px 0 10px}
.meta{color:var(--muted);font-size:15px;margin-bottom:30px}
.lede{color:var(--muted);font-size:18px;margin:0 0 34px}
p{margin:0 0 18px;font-size:17px}
ol li{margin-bottom:14px;font-size:17px}

/* ---- Post cards (index) ---- */
.post-card{display:block;background:#fff;border:1px solid var(--line);border-radius:16px;
  padding:24px 26px;margin-bottom:18px;text-decoration:none;color:inherit;
  transition:transform .12s ease,box-shadow .12s ease}
.post-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(30,42,74,.10)}
.post-card h2{margin:0 0 6px;font-size:22px}
.post-card p{margin:0;color:var(--muted);font-size:16px}

/* ---- CTA ---- */
.cta-box{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;text-align:center;margin:38px 0;
  box-shadow:0 10px 30px rgba(30,42,74,.06)}
.cta-box .kicker{font-family:'Playfair Display',serif;font-size:21px;color:var(--navy);margin:0 0 4px}
.cta-box .sub{margin:0 0 14px;color:var(--muted)}
.cta{display:inline-block;background:var(--gold);color:var(--navy);font-weight:700;text-decoration:none;
  padding:14px 28px;border-radius:12px;box-shadow:0 6px 16px rgba(212,168,83,.35)}
.cta:hover{background:var(--gold-light)}

/* ---- Footer ---- */
.site-footer{background:var(--navy);color:#cfd6e6;text-align:center;padding:30px 20px;font-size:14px}
.site-footer a{color:var(--gold);text-decoration:none}

/* ---- Images ---- */
.post-hero{width:100%;border-radius:16px;display:block;margin:0 0 30px;
  box-shadow:0 14px 36px rgba(30,42,74,.14)}
figure{margin:30px 0}
figure img{width:100%;border-radius:14px;display:block;box-shadow:0 10px 28px rgba(30,42,74,.12)}
figure.app img{border:1px solid var(--line);box-shadow:0 10px 28px rgba(30,42,74,.10)}
figcaption{color:var(--muted);font-size:14px;text-align:center;margin-top:10px;font-style:italic}

/* gallery (index) */
.gallery-h{font-family:'Playfair Display',serif;color:var(--navy);font-size:22px;text-align:center;margin:6px 0 4px}
.gallery-sub{color:var(--muted);text-align:center;margin:0 0 20px}
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:34px}
.gallery img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:12px;
  box-shadow:0 8px 20px rgba(30,42,74,.10)}

@media(max-width:600px){.hero h1{font-size:32px}h1{font-size:29px}.gallery{grid-template-columns:repeat(2,1fr)}}
