:root{
  --cream:#F7F3EA; --cream2:#FCFAF4; --paper:#FFFFFF;
  --navy:#1B2B4B; --ink:#2C313C; --muted:#6E7178;
  --teal:#2E9E83; --teal-dk:#1F7D67; --teal-bg:#E3F4EE;
  --amber:#C2862B; --amber-bg:#FBEFD6;
  --line:#E8E1D2; --line2:#EFE9DC;
  --shadow:0 24px 60px -28px rgba(27,43,75,.34);
  --shadow-sm:0 10px 30px -18px rgba(27,43,75,.30);
  --display:'Fraunces',Georgia,serif;
  --body:'Hanken Grotesk',-apple-system,sans-serif;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--cream);line-height:1.65;-webkit-font-smoothing:antialiased;
  background-image:radial-gradient(circle at 1px 1px, rgba(27,43,75,.05) 1px, transparent 0);background-size:26px 26px;}
.wrap{max-width:760px;margin:0 auto;padding:0 26px}
.wrap-wide{max-width:1140px;margin:0 auto;padding:0 26px}
a{color:inherit;text-decoration:none}
h1,h2,h3{font-family:var(--display);color:var(--navy);font-weight:600;line-height:1.12;letter-spacing:-.012em}
/* nav */
.nav{position:sticky;top:0;z-index:40;backdrop-filter:blur(10px);background:rgba(247,243,234,.82);border-bottom:1px solid var(--line)}
.nav .wrap-wide{display:flex;align-items:center;justify-content:space-between;height:68px}
.brand{display:flex;align-items:center;gap:9px;font-family:var(--display);font-weight:600;font-size:21px;color:var(--navy)}
.brand .teal{color:var(--teal)}
.brand .dot{width:11px;height:11px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px var(--teal-bg)}
.nav-links{display:flex;align-items:center;gap:26px;font-size:15px;font-weight:500;color:var(--muted)}
.nav-links a:hover{color:var(--navy)}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:var(--body);font-weight:600;font-size:15px;cursor:pointer;border:none;padding:11px 20px;border-radius:10px;transition:transform .15s ease, box-shadow .2s ease}
.btn-primary{background:var(--teal);color:#fff;box-shadow:var(--shadow-sm)}
.btn-primary:hover{transform:translateY(-1px)}
/* blog header */
.blog-head{padding:64px 0 34px;text-align:center}
.eyebrow{display:inline-block;font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-dk);background:var(--teal-bg);padding:6px 13px;border-radius:999px;margin-bottom:18px}
.blog-head h1{font-size:clamp(34px,6vw,52px)}
.blog-head p{color:var(--muted);font-size:18px;margin-top:14px}
/* post cards */
.cards{display:grid;gap:18px;padding:18px 0 70px}
.card{display:block;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:26px 28px;box-shadow:var(--shadow-sm);transition:transform .15s ease, box-shadow .2s ease}
.card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.card .tag{font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}
.card h2{font-size:23px;margin:9px 0 8px}
.card p{color:var(--muted);font-size:15.5px}
.card .meta{margin-top:14px;font-size:13.5px;color:var(--muted);font-weight:500}
.soon{opacity:.62;pointer-events:none}
/* article */
article.post{padding:14px 0 40px}
.post .eyebrow{margin-bottom:14px}
.post h1{font-size:clamp(30px,5vw,44px);margin-bottom:14px}
.post .byline{color:var(--muted);font-size:14.5px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.post h2{font-size:25px;margin:38px 0 12px}
.post h3{font-size:19px;margin:26px 0 8px}
.post p{margin:14px 0;font-size:17.5px;color:var(--ink)}
.post ul{margin:14px 0 14px 22px}
.post li{margin:8px 0;font-size:17.5px}
.post strong{color:var(--navy)}
.callout{background:var(--amber-bg);border:1px solid #EAD3A0;border-radius:14px;padding:18px 22px;margin:26px 0;font-size:16px}
.cta{background:var(--navy);color:#fff;border-radius:18px;padding:34px 32px;margin:44px 0 10px;box-shadow:var(--shadow)}
.cta h3{color:#fff;font-size:24px;margin-bottom:8px}
.cta p{color:#D7DEEA;font-size:16.5px;margin-bottom:18px}
.cta .btn-primary{background:var(--teal)}
.back{display:inline-block;margin:30px 0 0;color:var(--teal-dk);font-weight:600;font-size:15px}
/* footer */
.foot{border-top:1px solid var(--line);padding:34px 0;color:var(--muted);font-size:14px;text-align:center}
.foot a{color:var(--muted);margin:0 9px}
.foot a:hover{color:var(--navy)}

/* logo image + article subtitle */
.brand-logo{height:34px;width:auto;display:block}
.post .dek{font-family:var(--display);font-weight:400;font-size:clamp(18px,3.2vw,23px);line-height:1.28;color:var(--muted);letter-spacing:-.008em;margin:-6px 0 16px}
.inline-link{color:var(--teal-dk);font-weight:700;text-decoration:underline;text-underline-offset:3px}
