:root{
  --bg:#FFFFFF; --bg-alt:#FAF7F2; --card:#FFFFFF;
  --ink:#3E2F5E; --ink-mid:#5A4B7A; --ink-soft:#7D6D9C; --ink-dim:#9080AC;
  --lilac:#9B7FD4; --lilac-deep:#6D50A8; --lilac-soft:#B79FDD;
  --line:rgba(120,90,180,0.14); --line-soft:rgba(120,90,180,0.08);
  --serif:Georgia,'Times New Roman',serif;
  --sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;font-size:16px;}
body{background:var(--bg);color:var(--ink-mid);font-family:var(--sans);line-height:1.7;-webkit-font-smoothing:antialiased;}
a{color:var(--lilac-deep);text-decoration:none;}
a:hover{text-decoration:underline;}

/* nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(255,255,255,0.9);backdrop-filter:blur(12px);border-bottom:1px solid var(--line-soft);}
.nav-inner{max-width:1000px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:16px clamp(20px,5vw,40px);}
.nav-logo{display:flex;align-items:center;gap:9px;}
.nav-logo svg{width:26px;height:26px;}
.nav-brand{font-family:var(--serif);font-size:16px;letter-spacing:0.22em;color:var(--ink);text-transform:uppercase;}
.nav-links{display:flex;gap:26px;align-items:center;}
.nav-links a{font-size:13px;color:var(--ink-mid);letter-spacing:0.03em;}
.nav-cta{background:var(--ink);color:#fff !important;padding:8px 18px;border-radius:24px;font-size:13px;}
.nav-cta:hover{background:#52427C;text-decoration:none;}

/* layout */
.wrap{max-width:760px;margin:0 auto;padding:clamp(40px,7vw,72px) clamp(20px,5vw,32px);}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:0.18em;text-transform:uppercase;color:var(--lilac);margin-bottom:14px;}
h1{font-family:var(--serif);font-weight:500;font-size:clamp(30px,5vw,46px);line-height:1.15;color:var(--ink);margin-bottom:16px;letter-spacing:-0.01em;}
h2{font-family:var(--serif);font-weight:500;font-size:clamp(22px,3vw,28px);color:var(--ink);margin:38px 0 14px;}
h3{font-size:19px;font-weight:600;color:var(--ink);margin:26px 0 10px;}
p{margin-bottom:18px;font-size:17px;color:var(--ink-mid);}
ul,ol{margin:0 0 18px 22px;}
li{margin-bottom:9px;font-size:17px;color:var(--ink-mid);}
strong{color:var(--ink);font-weight:600;}
em{color:var(--lilac-deep);}
.meta{font-size:14px;color:var(--ink-dim);margin-bottom:30px;}
blockquote{border-left:3px solid var(--lilac-soft);background:var(--bg-alt);padding:16px 22px;border-radius:8px;margin:24px 0;font-family:var(--serif);font-style:italic;color:var(--ink);}
.lead{font-size:20px;color:var(--ink);line-height:1.6;margin-bottom:26px;}
hr{border:none;border-top:1px solid var(--line);margin:40px 0;}

/* article cards on index */
.posts{display:flex;flex-direction:column;gap:18px;margin-top:30px;}
.post-card{display:block;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:26px 28px;transition:border-color .25s,transform .15s,box-shadow .25s;}
.post-card:hover{border-color:var(--lilac-soft);transform:translateY(-2px);box-shadow:0 10px 28px rgba(120,90,180,0.10);text-decoration:none;}
.post-card .tag{font-size:11px;font-weight:600;letter-spacing:0.12em;text-transform:uppercase;color:var(--lilac);}
.post-card h2{font-size:22px;margin:8px 0 8px;}
.post-card p{font-size:15px;color:var(--ink-soft);margin:0;}
.post-card .date{font-size:13px;color:var(--ink-dim);margin-top:12px;}

/* CTA box */
.cta-box{background:var(--bg-alt);border:1px solid var(--line);border-radius:14px;padding:30px 28px;margin:44px 0 10px;text-align:center;}
.cta-box h3{font-family:var(--serif);font-weight:500;font-size:22px;margin-bottom:8px;}
.cta-box p{font-size:16px;margin-bottom:18px;}
.btn{display:inline-block;background:var(--ink);color:#fff;padding:13px 28px;border-radius:28px;font-weight:500;font-size:15px;}
.btn:hover{background:#52427C;text-decoration:none;}

/* footer */
.foot{background:#F2ECE0;border-top:1px solid var(--line-soft);padding:26px clamp(20px,5vw,40px);}
.foot-inner{max-width:1000px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:space-between;gap:14px;font-size:13px;color:var(--ink-soft);}
.foot a{color:var(--ink-soft);}
.back{display:inline-block;margin-bottom:26px;font-size:14px;color:var(--lilac-deep);}
