*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --forest:  #1B4332;
  --forest-2:#2D6A4F;
  --sage:    #486A62;
  --sage-lt: #74C69D;
  --mint:    #D8F3DC;
  --mint-2:  #B7E4C7;
  --linen:   #FAFAF7;
  --linen-2: #F2F2EE;
  --ink:     #111827;
  --ink-2:   #374151;
  --ink-3:   #5E6471;
  --faint:   #6A6F77;
  --white:   #FFFFFF;
  --gold:    #D4A017;
  --gold-lt: #F0C040;
  --bdr:     #E5E7EB;
  --bdr-2:   #D1D5DB;
  --serif: 'Lora', Georgia, serif;
  --sans:  'Inter', system-ui, sans-serif;
  --r8:8px;--r12:12px;--r16:16px;--rpill:999px;
  --max:860px;
}

html{scroll-behavior:smooth;font-size:16px}
body{font-family:var(--sans);color:var(--ink-2);background:var(--linen);-webkit-font-smoothing:antialiased;line-height:1.6}
h1,h2,h3{font-family:var(--serif);font-weight:600;color:var(--ink);line-height:1.2;letter-spacing:-.02em}
a{color:inherit;text-decoration:none}
strong{font-weight:600;color:var(--ink)}
:focus-visible{outline:2px solid var(--forest);outline-offset:3px;border-radius:4px}

.w{max-width:var(--max);margin:0 auto;padding:0 32px}

/* ── NAV (matches homepage) ── */
#nav{position:sticky;top:0;z-index:400;background:rgba(250,250,247,.97);border-bottom:1px solid var(--bdr);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.nav-w{max-width:var(--max);margin:0 auto;padding:0 32px;display:flex;align-items:center;justify-content:space-between;height:64px}
.logo{font-family:var(--serif);font-size:1.1rem;font-weight:600;color:var(--forest);display:flex;align-items:center;gap:9px;letter-spacing:-.02em}
.logo-icon{width:30px;height:30px;border-radius:50%;flex-shrink:0;object-fit:contain}
.nav-cta{display:inline-flex;align-items:center;height:38px;padding:0 20px;background:var(--forest);color:var(--white);border:none;border-radius:var(--rpill);font-size:.8rem;font-weight:600;cursor:pointer;letter-spacing:.01em;transition:background .15s,transform .1s;white-space:nowrap}
.nav-cta:hover{background:var(--forest-2);transform:translateY(-1px)}
.cta-short{display:none}
@media(max-width:400px){
  .cta-full{display:none}
  .cta-short{display:inline}
  .nav-cta{padding:0 14px;font-size:.74rem}
  .nav-w{gap:8px}
}
.nav-links{display:flex;align-items:center;gap:22px}
.nav-lnk{font-size:.78rem;color:var(--ink-3);transition:color .15s}
.nav-lnk:hover{color:var(--forest)}
.nav-lnk.active{color:var(--forest);font-weight:600}
@media(max-width:900px){.nav-links{display:none}}

/* ── PAGE HEADER ── */
.page-header{background:var(--forest);padding:56px 0 44px}
.page-header .w{text-align:center}
.page-eyebrow{display:inline-flex;align-items:center;gap:7px;font-size:.63rem;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--sage-lt);margin-bottom:12px}
.page-header h1{color:var(--white);font-size:clamp(1.8rem,4vw,2.6rem)}
.page-header p{color:rgba(255,255,255,.65);margin-top:10px;font-size:.9rem}

/* ── CONTENT ── */
main{padding:56px 0 72px}
.doc{max-width:720px;margin:0 auto;padding:0 32px}
.doc h2{font-size:1.3rem;margin-top:36px;margin-bottom:12px}
.doc h2:first-child{margin-top:0}
.doc h3{font-size:1rem;margin-top:22px;margin-bottom:8px}
.doc p{margin-bottom:14px;line-height:1.78}
.doc ul,.doc ol{margin:0 0 14px 1.3em;line-height:1.78}
.doc li{margin-bottom:6px}
.doc .updated{font-size:.78rem;color:var(--faint);margin-bottom:32px}
.doc a.inline{color:var(--forest);text-decoration:underline;text-underline-offset:2px}
.callout{background:var(--mint);border-radius:var(--r8);padding:16px 20px;margin:20px 0;font-size:.88rem;color:var(--forest-2);line-height:1.7}
.callout strong{color:var(--forest)}

/* ── CONTACT CARD ── */
.contact-card{background:var(--white);border:1px solid var(--bdr);border-radius:var(--r16);padding:32px;text-align:center;max-width:480px;margin:0 auto}
.contact-card .email{display:inline-block;margin-top:8px;font-family:var(--serif);font-size:1.3rem;color:var(--forest);font-weight:600}
.contact-card p{color:var(--ink-3);font-size:.9rem}

/* ── FOOTER (matches homepage) ── */
footer{background:#0D1F17;padding:32px 0;text-align:center;margin-top:auto}
.footer-brand{font-family:var(--serif);font-size:.82rem;font-weight:600;color:rgba(255,255,255,.65);margin-bottom:8px}
.footer-legal{font-size:.66rem;color:rgba(255,255,255,.65);line-height:1.75;max-width:540px;margin:0 auto 12px}
.footer-links{font-size:.73rem}
/* .75 matches the homepage footer; padding lifts the tap target from 14px to 24px+ */
.footer-links a{color:rgba(255,255,255,.75);text-decoration:underline;text-underline-offset:2px;text-decoration-color:rgba(255,255,255,.2);display:inline-block;padding:6px 2px}
.footer-links a:hover{color:rgba(255,255,255,.88)}
.footer-links span{color:rgba(255,255,255,.18);margin:0 8px}

body{display:flex;flex-direction:column;min-height:100vh}

/* ── BLOG LISTING ── */
.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;max-width:var(--max);margin:0 auto;padding:0 32px}
.blog-card{background:var(--white);border:1px solid var(--bdr);border-radius:var(--r12);padding:24px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .2s,transform .2s}
.blog-card:hover{box-shadow:0 4px 16px rgba(17,24,39,.08);transform:translateY(-2px)}
.blog-card-date{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--sage)}
.blog-card h2{font-size:1.1rem;margin:0}
.blog-card p{color:var(--ink-3);font-size:.85rem;line-height:1.65;flex:1}
.blog-card-link{font-size:.78rem;font-weight:600;color:var(--forest)}

/* ── ARTICLE ── */
.article-meta{display:flex;gap:10px;align-items:center;font-size:.72rem;color:var(--ink-3);margin-bottom:8px;flex-wrap:wrap}
.article-meta .sep{color:var(--bdr-2)}
.back-link{display:inline-flex;align-items:center;gap:6px;font-size:.8rem;color:var(--sage);margin-bottom:18px;padding:5px 0;min-height:24px}
.back-link:hover{color:var(--forest)}
.author-box{display:flex;align-items:center;gap:12px;padding:14px 0 22px;margin-bottom:22px;border-bottom:1px solid var(--bdr)}
.author-avatar{width:38px;height:38px;border-radius:50%;background:var(--mint);color:var(--forest);font-family:var(--serif);font-size:.78rem;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.author-name{font-size:.83rem;font-weight:600;color:var(--ink)}
.author-role{font-size:.72rem;color:var(--ink-3)}
.article-cta{background:var(--forest);border-radius:var(--r16);padding:28px 32px;text-align:center;margin:40px 0}
.article-cta h3{color:var(--white);font-size:1.15rem;margin-bottom:8px}
.article-cta p{color:rgba(255,255,255,.65);font-size:.85rem;margin-bottom:18px}
.article-cta a.cta-btn{display:inline-flex;align-items:center;gap:8px;height:46px;padding:0 28px;background:var(--white);color:var(--forest);border-radius:var(--rpill);font-weight:600;font-size:.9rem}
.article-cta a.cta-btn:hover{background:var(--mint)}

/* ── 404 ── */
.error-page{flex:1;display:flex;align-items:center;justify-content:center;padding:80px 20px;text-align:center}
.error-code{font-family:var(--serif);font-size:5rem;font-weight:600;color:#75927F;line-height:1}
.error-page h1{margin:12px 0 10px}
.error-page p{color:var(--ink-3);margin-bottom:24px;max-width:420px}

@media(max-width:680px){
  .w,.nav-w{padding:0 20px}
  .doc{padding:0 20px}
  .page-header{padding:44px 0 32px}
  .blog-grid{padding:0 20px}
}
