:root{--purple:#4a3db8;--violet:#9c31df;--ink:#1c2538;--accent:#ffa012;--muted:#5e6677;--bg:#f7f7fb}
*{box-sizing:border-box}
body{margin:0;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Arial,sans-serif;line-height:1.6}
h1,h2,h3{line-height:1.2;letter-spacing:-.025em}
a{color:inherit}
.site-wrap{width:min(1120px,calc(100% - 36px));margin:auto}
.site-header{background:#271e70;border-bottom:3px solid var(--accent)}
.header-inner{display:flex;justify-content:space-between;align-items:center;gap:1rem;min-height:78px}
.header-inner img{width:155px;max-height:60px;object-fit:contain}
.header-inner nav{display:flex;gap:1.3rem;align-items:center}
.header-inner nav a{color:white;text-decoration:none;font-weight:700;font-size:.9rem}
.header-inner nav a.current{color:var(--accent)}
.header-inner nav .nav-cta,.hero-button{background:var(--accent);color:#241b4a;text-decoration:none;border-radius:6px;padding:.75rem 1rem;font-weight:800;display:inline-block}
.header-inner nav a:focus-visible,.hero-button:focus-visible,.read-link:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
.breadcrumbs{font-size:.85rem;color:#5d6475;margin:1.5rem 0}
.breadcrumbs a{text-decoration:none}
.hero{padding:3.5rem 4rem;border-radius:14px;background:linear-gradient(90deg,#251959ed,#43329caa),url('/assets/images/home/hero-lk.webp') center/cover;color:white;box-shadow:0 15px 25px #34257c24;border-bottom:4px solid var(--accent)}
.hero h1{font-size:clamp(2.3rem,5vw,4rem);max-width:720px;margin:.55rem 0}
.hero p{max-width:720px}
.kicker{text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.75rem;color:var(--violet)}
.hero .kicker,.trip-cta .kicker{color:var(--accent)}
.section-heading{margin:2.5rem 0 1rem}
.section-heading h2{font-size:2rem;margin:.25rem 0}
.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.post-card{background:white;border:1px solid #e7e3f2;border-radius:10px;overflow:hidden;box-shadow:0 8px 20px #34257c12;transition:transform .2s,box-shadow .2s}
.post-card:hover{transform:translateY(-3px);box-shadow:0 13px 26px #34257c22}
.post-card-image{display:block;height:190px;position:relative;overflow:hidden}
.post-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s}
.post-card:hover img{transform:scale(1.035)}
.post-card-image span{position:absolute;left:14px;bottom:13px;color:white;background:#32247d;padding:.3rem .55rem;border-radius:3px;font-weight:800;font-size:.7rem;text-transform:uppercase}
.post-card-content{padding:1.1rem}
.post-card h2{font-size:1.28rem;margin:.5rem 0}
.post-card h2 a{text-decoration:none}
.post-card p{font-size:.9rem;min-height:3rem}
.eyebrow{color:var(--muted);font-size:.78rem}
.eyebrow a,.read-link{color:#6840b9;font-weight:700}
.read-link{text-decoration:none}
.pagination{margin:2rem 0 3rem}
.pagination nav{display:flex;gap:.75rem;align-items:center}
.pagination svg{width:1rem}
.category-heading{background:white;border-radius:10px;padding:2rem 2.5rem;margin-bottom:1.5rem;border-top:4px solid var(--violet)}
.category-heading h1{font-size:3rem;margin:.4rem 0}
.article{background:white;border-radius:12px;padding:clamp(1.3rem,4vw,3.3rem);box-shadow:0 7px 20px #34257c12}
.article-head h1{font-size:clamp(2.4rem,5vw,4rem);margin:.5rem 0}
.article-meta{color:var(--muted);font-size:.85rem}
.lead{font-size:1.15rem;color:#454d61}
.article-image{margin:2rem 0}
.article-image img{width:100%;max-height:500px;object-fit:cover;border-radius:10px}
.article-body{font-size:1.05rem;max-width:760px;overflow-wrap:anywhere}
.article-body h2{font-size:2rem;margin-top:2rem}
.article-body h3{font-size:1.5rem;margin-top:1.5rem}
.article-body a{color:#6840b9}
.trip-cta{background:linear-gradient(120deg,#392a99,#6e39bd);color:white;border-radius:9px;padding:2rem;margin-top:2.5rem}
.trip-cta h2{font-size:1.8rem;margin:.5rem 0}
.related{margin:2.5rem 0 3rem}
.related h2{font-size:2rem}
.site-footer{background:#171438;color:#eae6f6;margin-top:3rem;padding:3rem 0}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:2rem}
.site-footer strong{color:var(--accent)}
.site-footer a{text-decoration:none}
@media(max-width:850px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.header-inner nav .nav-cta{display:none}}
@media(max-width:600px){.post-grid,.footer-grid{grid-template-columns:1fr}.hero{padding:2.5rem 1.3rem}.header-inner{min-height:68px}.header-inner img{width:115px}.header-inner nav{gap:.6rem}.header-inner nav a{font-size:.75rem}.post-card-image{height:210px}.category-heading{padding:1.3rem}.category-heading h1{font-size:2.2rem}}
.article-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:1.25rem 0}
.article-body th,.article-body td{border:1px solid #cfd5e1;padding:.55rem .75rem;text-align:left;vertical-align:top}
.article-body th{background:#f3f1ff;font-weight:700}
.article-body td p,.article-body th p{margin:0}

/* The shared site header (layouts/partials/site-header) must render exactly as on the main pages, which use the
   Inter body font and a 1.5 line height; the blog's own body font would otherwise change the menu widths. */
.header-main{font-family:Inter,sans-serif;font-size:14px;line-height:1.5}
.header-main .lh-sm{line-height:1.25!important}
