/* R&R Improvements blog. Same tokens as the Tailwind config of the main site. */
:root{
  --brand-50:#EEF4FC; --brand-100:#D9E7F8; --brand-200:#B4CEEF; --brand-500:#2E66C4;
  --brand-600:#1E50A0; --brand-700:#193F7E;
  --ink:#0F2244; --soft:#5A6B85; --dim:#8A99B0; --cloud:#F4F8FD;
  --display:"DM Serif Display",Georgia,serif;
  --sans:"Montserrat",system-ui,-apple-system,"Segoe UI",sans-serif;
  --wrap:1220px; --measure:44rem;
  --shadow-card:0 4px 24px -8px rgba(15,34,68,.10);
  --shadow-lift:0 22px 50px -16px rgba(30,80,160,.28);
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#fff;color:var(--ink);font-family:var(--sans);font-size:16.5px;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto;display:block}
a{color:var(--brand-600)}
.wrap{max-width:var(--wrap);margin:0 auto;padding-left:24px;padding-right:24px}

/* Header */
.site-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--brand-100)}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}
.site-header img.logo{height:60px;width:auto}
.site-nav{display:none;gap:34px}
.site-nav a{color:var(--soft);font-size:15px;font-weight:600;text-decoration:none}
.site-nav a:hover{color:var(--brand-600)}
.call{display:inline-flex;align-items:center;gap:9px;background:var(--brand-600);color:#fff;font-weight:700;font-size:14.5px;
  padding:13px 21px;border-radius:999px;text-decoration:none;box-shadow:0 10px 40px -12px rgba(30,80,160,.18);white-space:nowrap}
.call:hover{background:var(--brand-700)}
@media(min-width:1024px){.site-nav{display:flex}}

/* Post header */
.post-head{background:var(--cloud);border-bottom:1px solid var(--brand-100);padding:52px 0 44px}
.crumb{font-size:12.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--brand-600);text-decoration:none}
.post-head h1{font-family:var(--display);font-weight:400;font-size:clamp(2rem,5.2vw,3.1rem);line-height:1.12;margin:16px 0 0;max-width:22ch;text-wrap:balance}
.post-head .standfirst{margin:18px 0 0;max-width:var(--measure);font-size:19px;line-height:1.6;color:var(--soft)}
.post-meta{margin-top:22px;display:flex;flex-wrap:wrap;gap:8px 20px;font-size:13.5px;color:var(--dim)}
.post-meta b{color:var(--soft);font-weight:600}

/* Article */
.article{padding:46px 0 10px}
.article .col{max-width:var(--measure)}
.article h2{font-family:var(--display);font-weight:400;font-size:clamp(1.5rem,3.4vw,2rem);line-height:1.22;margin:44px 0 14px;text-wrap:balance}
.article h3{font-size:17.5px;font-weight:700;margin:30px 0 8px;color:var(--ink)}
.article p{margin:0 0 18px}
.article ul,.article ol{margin:0 0 20px;padding-left:22px}
.article li{margin-bottom:9px}
.article strong{font-weight:700}
.article figure{margin:34px 0}
.article figure img{border-radius:4px;box-shadow:var(--shadow-card);width:100%}
.article figcaption{margin-top:10px;font-size:13.5px;color:var(--dim)}
.pull{border-left:3px solid var(--brand-500);background:var(--cloud);padding:18px 22px;margin:30px 0;font-size:17px}
.pull p{margin:0}
.keytakeaway{border:1px solid var(--brand-100);border-radius:4px;padding:22px 24px;margin:34px 0;background:#fff;box-shadow:var(--shadow-card)}
.keytakeaway h3{margin:0 0 10px;font-size:12.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--brand-600)}
.keytakeaway p:last-child{margin-bottom:0}

/* Figure grid */
.figrow{display:grid;gap:14px;grid-template-columns:1fr;margin:34px 0}
@media(min-width:620px){.figrow{grid-template-columns:1fr 1fr}}
.figrow figure{margin:0}

/* CTA */
.cta{margin:46px 0 10px;background:var(--ink);color:#fff;border-radius:6px;padding:34px 30px}
.cta h2{font-family:var(--display);font-weight:400;font-size:1.7rem;margin:0 0 10px;color:#fff;line-height:1.2}
.cta p{margin:0 0 20px;color:rgba(255,255,255,.72);max-width:38rem}
.cta .call{background:#fff;color:var(--ink)}
.cta .call:hover{background:var(--brand-50)}
.cta .lic{margin-top:16px;font-size:13px;color:rgba(255,255,255,.5)}

/* Related */
.related{border-top:1px solid var(--brand-100);margin-top:54px;padding:34px 0 0}
.related h2{font-size:12.5px;letter-spacing:.11em;text-transform:uppercase;color:var(--brand-600);margin:0 0 18px;font-family:var(--sans);font-weight:700}
.related ul{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.related a{font-weight:600;text-decoration:none;color:var(--ink)}
.related a:hover{color:var(--brand-600)}

/* Index */
.index-head{background:var(--ink);color:#fff;padding:62px 0 56px}
.index-head h1{font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,6vw,3.4rem);line-height:1.1;margin:10px 0 0}
.index-head .eyebrow{font-size:12.5px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--brand-200);margin:0}
.index-head p.lede{margin:18px 0 0;max-width:46rem;font-size:18.5px;line-height:1.6;color:rgba(255,255,255,.72)}
.cards{display:grid;gap:26px;grid-template-columns:1fr;padding:46px 0 10px}
@media(min-width:680px){.cards{grid-template-columns:1fr 1fr}}
@media(min-width:1040px){.cards{grid-template-columns:repeat(3,1fr)}}
.card{display:flex;flex-direction:column;border:1px solid var(--brand-100);border-radius:5px;overflow:hidden;background:#fff;
  text-decoration:none;color:inherit;transition:box-shadow .25s ease,transform .25s ease;min-width:0}
.card:hover{box-shadow:var(--shadow-lift);transform:translateY(-3px)}
.card .thumb{aspect-ratio:3/2;width:100%;object-fit:cover;background:var(--cloud)}
.card .body{padding:20px 22px 24px;display:flex;flex-direction:column;gap:9px;flex:1}
.card .cat{font-size:11.5px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;color:var(--brand-600)}
.card h2{font-family:var(--display);font-weight:400;font-size:1.3rem;line-height:1.26;margin:0;text-wrap:balance}
.card p{margin:0;font-size:14.5px;line-height:1.6;color:var(--soft)}
.card .read{margin-top:auto;padding-top:6px;font-size:12.5px;color:var(--dim)}

/* Footer */
.site-footer{background:var(--ink);color:#fff;margin-top:64px;padding:52px 0 34px}
.site-footer img.logo{height:88px;width:auto}
.foot-grid{display:grid;gap:34px;grid-template-columns:1fr;margin-bottom:40px}
@media(min-width:760px){.foot-grid{grid-template-columns:1.5fr 1fr 1fr}}
.site-footer h4{font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4);margin:0 0 16px}
.site-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.site-footer a{color:rgba(255,255,255,.7);font-size:14.5px;text-decoration:none}
.site-footer a:hover{color:#fff}
.site-footer .blurb{margin:18px 0 0;max-width:300px;font-size:14.5px;color:rgba(255,255,255,.6)}
.foot-bottom{display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between;align-items:center;
  border-top:1px solid rgba(255,255,255,.1);padding-top:26px;font-size:13px;color:rgba(255,255,255,.5)}
.foot-bottom a{font-size:13px;color:rgba(255,255,255,.5)}
.foot-bottom .badges{display:flex;flex-wrap:wrap;gap:22px;color:rgba(255,255,255,.6)}
:focus-visible{outline:2px solid var(--brand-500);outline-offset:2px}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
