:root{
  --cream:#faf6f0; --navy:#1a2747; --coral:#e87a8e; --sand:#9dc8e2;
  --blush:#f6dfe2; --blush2:#f0c9cf; --ink:#3d4663;
}
*{margin:0;padding:0;box-sizing:border-box}
body{background:var(--cream);color:var(--navy);font-family:'Manrope',sans-serif;line-height:1.7;font-size:17px}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:760px;margin:0 auto;padding:0 22px}
.wrap.wide{max-width:1060px}
.eyebrow{font-size:12px;font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--coral)}
.serif{font-family:'Cormorant Garamond',serif}
.em{font-family:'Cormorant Garamond',serif;font-style:italic;color:var(--coral)}
header.site{padding:24px 0}
header.site .wrap{display:flex;align-items:center;justify-content:space-between;gap:14px;max-width:1060px}
header.site img{width:170px}
header.site nav{display:flex;align-items:center;gap:22px}
header.site nav a{color:var(--navy);font-weight:700;font-size:15px;text-decoration:none}
header.site nav a:hover{color:var(--coral)}
.btn{display:inline-block;background:var(--coral);color:#fff;text-decoration:none;font-weight:700;font-size:15px;padding:13px 26px;border-radius:999px;border:none;cursor:pointer;font-family:'Manrope',sans-serif;transition:transform .15s ease, box-shadow .15s ease}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 18px rgba(232,122,142,.35)}
.btn:focus-visible{outline:3px solid var(--navy);outline-offset:3px}
.btn.ghost{background:transparent;color:var(--navy);border:1.5px solid var(--navy)}

/* article pages */
.arthero{position:relative;overflow:hidden;padding:40px 0 34px}
.rings{position:absolute;top:-190px;right:-150px;width:440px;height:440px;border-radius:50%;background:var(--blush);pointer-events:none}
.rings::after{content:"";position:absolute;inset:74px;border-radius:50%;background:var(--blush2)}
.arthero .wrap{position:relative}
h1{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:clamp(34px,5.6vw,54px);line-height:1.08;margin:14px 0 14px}
.byline{font-size:13.5px;color:var(--ink);letter-spacing:.06em}
article{padding:14px 0 30px}
article h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:29px;line-height:1.15;margin:38px 0 14px}
article p{margin-bottom:18px;color:var(--ink)}
article strong{color:var(--navy)}
article ul{margin:0 0 18px 22px;color:var(--ink)}
article li{margin-bottom:8px}
.callout{background:var(--navy);color:var(--cream);border-radius:16px;padding:26px 28px;margin:28px 0;font-family:'Cormorant Garamond',serif;font-size:21px;line-height:1.45}
.callout .em{color:var(--coral)}
.finebox{background:#fff;border:1px solid #eee5d9;border-radius:14px;padding:20px 24px;margin:26px 0;font-size:14px;color:var(--ink)}
.artcta{background:var(--navy);color:var(--cream);border-radius:20px;padding:38px 34px;margin:36px 0;text-align:center}
.artcta h2{color:#fff;margin-top:0;font-size:30px}
.artcta p{color:#c9d4ea;max-width:52ch;margin:10px auto 22px}
.artcta .btn{margin:5px}
.backlink{display:inline-block;margin:6px 0 26px;font-weight:700;font-size:14px;color:var(--navy);text-decoration-color:var(--coral)}

/* blog index */
.bloglist{display:grid;gap:22px;margin:40px 0 60px}
.postcard{background:#fff;border:1px solid #eee5d9;border-radius:18px;padding:32px 30px;display:block;text-decoration:none;color:var(--navy);transition:transform .15s ease, box-shadow .15s ease}
.postcard:hover{transform:translateY(-2px);box-shadow:0 10px 26px rgba(26,39,71,.08)}
.postcard .pdate{font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--coral);margin-bottom:10px}
.postcard h2{font-family:'Cormorant Garamond',serif;font-weight:600;font-size:29px;line-height:1.15;margin-bottom:10px}
.postcard p{color:var(--ink);font-size:15.5px}
.postcard .read{display:inline-block;margin-top:14px;font-weight:700;font-size:14px;color:var(--navy)}
.postcard .read::after{content:" →";color:var(--coral)}
.postcard.navycard{background:var(--navy);color:#fff}
.postcard.navycard h2{color:#fff}
.postcard.navycard p{color:#c9d4ea}
.postcard.navycard .read{color:#fff}

/* footer */
.wave{display:block;width:100%;height:80px}
footer.site{background:var(--navy);color:#c9d4ea;padding:6px 0 40px;font-size:13.5px}
footer.site a{color:#c9d4ea}
