@font-face{font-family:M;src:url(/keys-and-kin/assets/montserrat-400.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:M;src:url(/keys-and-kin/assets/montserrat-400i.woff2) format("woff2");font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:M;src:url(/keys-and-kin/assets/montserrat-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:M;src:url(/keys-and-kin/assets/montserrat-600.woff2) format("woff2");font-weight:600;font-display:swap}
@font-face{font-family:M;src:url(/keys-and-kin/assets/montserrat-700.woff2) format("woff2");font-weight:700;font-display:swap}
:root{--navy:#0c1c2e;--gold:#b69969;--dgold:#9a7d4f;--slate:#5a6672;--bg:#f4f6f8;--tint:#e7dac6;--line:#dfe3e8}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--navy);font-family:M,"Helvetica Neue",Arial,sans-serif;font-size:18px;line-height:1.7}
a{color:var(--dgold);text-underline-offset:3px}
a:hover{color:var(--navy)}
.top{max-width:720px;margin:0 auto;padding:20px 16px;display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line)}
.logo{height:40px;width:auto;display:block}
.all{font-weight:600;font-size:15px;text-decoration:none;color:var(--navy);border:1.5px solid var(--navy);border-radius:999px;padding:6px 14px;white-space:nowrap}
.all:hover{background:var(--navy);color:#fff}
main{max-width:720px;margin:0 auto;padding:40px 16px 0}
.eyebrow{font-weight:700;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--dgold);margin:0 0 12px}
h1{font-weight:700;font-size:clamp(28px,6vw,40px);line-height:1.18;margin:0 0 14px;letter-spacing:-.01em}
.byline{color:var(--slate);font-size:15px;margin:0 0 36px;padding-bottom:28px;border-bottom:3px solid var(--gold)}
h2{font-weight:700;font-size:clamp(23px,4.5vw,28px);line-height:1.25;margin:56px 0 14px}
h2 .stop{display:block;font-size:13px;letter-spacing:.24em;text-transform:uppercase;color:var(--dgold);margin-bottom:8px}
p{margin:0 0 20px}
.lead{font-weight:600;font-size:20px;line-height:1.5}
.aside{color:var(--slate);font-style:italic;font-size:16px}
figure{margin:28px 0 30px}
figure img{display:block;width:100%;height:auto;border-radius:12px;box-shadow:0 1px 0 var(--line),0 8px 24px rgba(12,28,46,.06)}
figure.narrow img{max-width:560px;margin:0 auto}
.signoff{margin-top:32px;font-weight:600}
.ps{color:var(--slate);font-size:16px;padding-top:20px;border-top:1px solid var(--line)}
.subscribe{background:var(--navy);color:#fff;border-radius:16px;padding:32px 28px;margin:44px 0 36px;text-align:center}
.subscribe .eyebrow{color:var(--gold)}
.sub-h{font-weight:700;font-size:22px;line-height:1.35;margin:0 0 8px}
.subscribe p{margin-bottom:18px}
.btn{display:inline-block;background:var(--gold);color:var(--navy);font-weight:700;text-decoration:none;border-radius:999px;padding:14px 28px;font-size:17px}
.btn:hover{background:#fff;color:var(--navy)}
.subscribe .small{margin:16px 0 0;font-size:15px}
.subscribe .small a{color:#fff}
.legal{font-size:13px;line-height:1.6;color:var(--slate);border-top:1px solid var(--line);padding:24px 0 48px}
.legal p{margin:0 0 10px}
/* archive */
.issues{list-style:none;padding:0;margin:32px 0 0}
.issues li{background:#fff;border:1.5px solid var(--line);border-radius:14px;margin-bottom:16px}
.issues a{display:flex;gap:20px;align-items:center;padding:18px;text-decoration:none;color:var(--navy)}
.issues a:hover{border-color:var(--gold)}
.issues img{width:120px;height:auto;border-radius:8px;flex:none}
.issues .num{font-weight:700;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--dgold)}
.issues .t{display:block;font-weight:700;font-size:19px;line-height:1.3;margin:4px 0}
.issues .d{display:block;font-size:15px;color:var(--slate);line-height:1.45}
@media (max-width:480px){body{font-size:17px}.issues img{width:84px}.logo{height:34px}}
