:root{
  --ink:#14181F; --ink-2:#232936; --paper:#FFFFFF; --paper-2:#F5F5F2;
  --line:#E4E3DD; --sapphire:#1F3C6E; --amber:#B8862E; --slate:#3E4148; --slate-soft:#6B6E75;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{font-family:'Inter', sans-serif; color:var(--slate); background:var(--paper); line-height:1.7; -webkit-font-smoothing:antialiased;}
h1,h2,h3,h4{font-family:'Playfair Display', serif; color:var(--ink); font-weight:500; letter-spacing:-0.015em;}
a{color:inherit; text-decoration:none;}
.wrap{max-width:900px; margin:0 auto; padding:0 40px;}
@media (max-width:640px){ .wrap{padding:0 22px;} }

header{position:sticky; top:0; z-index:100; background:rgba(255,255,255,0.94); backdrop-filter:blur(10px); border-bottom:1px solid var(--line);}
nav.wrap{max-width:1240px; display:flex; align-items:center; justify-content:space-between; height:84px;}
.brand{font-family:'Playfair Display', serif; font-weight:600; font-size:1.3rem; color:var(--ink); display:flex; align-items:baseline; gap:2px;}
.brand .mark{font-style:italic; font-weight:400; color:var(--sapphire); margin-right:2px;}
.nav-cta{background:var(--sapphire); color:var(--paper) !important; padding:11px 22px; font-size:0.82rem; font-weight:600; text-transform:uppercase; letter-spacing:0.05em;}
.nav-cta:hover{background:var(--ink);}

.crumb{font-family:'Space Mono', monospace; font-size:0.78rem; color:var(--sapphire); letter-spacing:0.04em; margin:48px 0 18px; display:block;}
.crumb a{color:var(--slate-soft);}
.crumb a:hover{color:var(--sapphire);}

article header.art-head{padding-bottom:36px; border-bottom:1px solid var(--line); margin-bottom:44px;}
.tag{font-family:'Space Mono', monospace; font-size:0.74rem; color:var(--amber); text-transform:uppercase; letter-spacing:0.08em; margin-bottom:16px; display:inline-block;}
article h1{font-size:clamp(2rem, 4vw, 2.9rem); line-height:1.1; margin-bottom:18px;}
.art-lede{font-size:1.15rem; color:var(--slate); max-width:60ch;}

article .art-body{padding-bottom:80px;}
article .art-body p{font-size:1.06rem; color:var(--slate); margin-bottom:22px; max-width:70ch;}
article .art-body h3{font-size:1.3rem; margin:38px 0 16px;}
article .art-body ul{margin:0 0 22px 22px; max-width:66ch;}
article .art-body li{font-size:1.03rem; color:var(--slate); margin-bottom:10px;}
.pull{font-family:'Playfair Display', serif; font-style:italic; font-size:1.5rem; color:var(--ink); border-left:2px solid var(--amber); padding-left:24px; margin:36px 0; max-width:56ch;}
.note{background:var(--paper-2); border:1px solid var(--line); padding:22px 26px; font-size:0.92rem; color:var(--slate-soft); margin:32px 0; max-width:66ch;}

.cta-strip{background:var(--ink); color:var(--paper); padding:56px 0; text-align:center;}
.cta-strip h2{color:var(--paper); font-size:1.7rem; margin-bottom:14px;}
.cta-strip p{color:rgba(255,255,255,0.65); margin-bottom:26px;}
.btn{display:inline-flex; align-items:center; gap:10px; padding:14px 28px; font-size:0.85rem; font-weight:600; text-transform:uppercase; letter-spacing:0.04em; border:1px solid var(--paper); color:var(--paper);}
.btn:hover{background:var(--paper); color:var(--ink);}

footer{background:var(--ink); color:rgba(255,255,255,0.5); padding:32px 0; font-size:0.8rem;}
footer .wrap{max-width:1240px; display:flex; justify-content:space-between; flex-wrap:wrap; gap:10px;}
footer a:hover{color:#fff;}
