/* Shared styling for the Ember blog.
   Same palette and type scale as index.html, tuned for long-form reading:
   a narrower measure, larger body text, and room around figures. */

:root{
  --accent:#f46b3b; --accent-soft:#fff1eb;
  --ink:#22231f; --muted:#6f716a; --line:#e6e5df;
  --bg:#ffffff; --bg-mute:#faf9f5;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);
     font:17px/1.72 "Segoe UI",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;
     -webkit-font-smoothing:antialiased}
.wrap{max-width:1060px;margin:0 auto;padding:0 24px}
a{color:inherit}

nav{position:sticky;top:0;z-index:10;background:#fffffff2;backdrop-filter:blur(8px);
    border-bottom:1px solid var(--line)}
nav .wrap{display:flex;align-items:center;gap:12px;height:62px}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:17px;
       text-decoration:none;letter-spacing:-.2px}
.brand img{width:30px;height:30px;border-radius:8px}
nav .links{margin-left:auto;display:flex;gap:26px;font-size:14.5px}
nav .links a{color:var(--muted);text-decoration:none}
nav .links a:hover{color:var(--ink)}
nav .links a.on{color:var(--ink);font-weight:600}

/* ── Article ─────────────────────────────────────────────── */

article{padding:56px 0 20px}
.measure{max-width:720px;margin:0 auto}

.crumb{font-size:14px;color:var(--muted);margin-bottom:22px}
.crumb a{text-decoration:none}
.crumb a:hover{color:var(--ink)}

.tag{display:inline-block;background:var(--accent-soft);color:#b6431c;
     border-radius:30px;padding:5px 13px;font-size:12.5px;font-weight:600;
     letter-spacing:.2px;margin-bottom:16px}

article h1{font-size:41px;line-height:1.16;letter-spacing:-1.2px;font-weight:750;
           margin-bottom:18px}
.byline{color:var(--muted);font-size:14.5px;margin-bottom:34px;
        padding-bottom:24px;border-bottom:1px solid var(--line)}

.standfirst{font-size:19.5px;line-height:1.6;color:#4a4c45;margin-bottom:34px}

article h2{font-size:27px;line-height:1.25;letter-spacing:-.6px;font-weight:700;
           margin:46px 0 14px}
article h3{font-size:19px;font-weight:650;margin:32px 0 10px}
article p{margin-bottom:18px}
article ul,article ol{margin:0 0 20px 22px}
article li{margin-bottom:9px}
article strong{font-weight:650}
article a{color:#c2501f;text-decoration:underline;text-underline-offset:2px}
article a:hover{color:var(--accent)}

figure{margin:32px 0}
figure img{width:100%;height:auto;display:block;border-radius:12px;
           border:1px solid var(--line);box-shadow:0 10px 30px #34322812}
figcaption{color:var(--muted);font-size:14px;margin-top:11px;text-align:center}

blockquote{border-left:3px solid var(--accent);padding:4px 0 4px 20px;
           margin:26px 0;color:#4a4c45;font-size:18.5px;line-height:1.6}

.callout{background:var(--bg-mute);border:1px solid var(--line);border-radius:12px;
         padding:22px 24px;margin:30px 0}
.callout h3{margin:0 0 8px;font-size:16.5px}
.callout p{font-size:15.5px;color:#4a4c45;margin-bottom:0}
.callout p+p{margin-top:12px}

.keytake{background:var(--accent-soft);border-radius:12px;padding:24px 26px;margin:34px 0}
.keytake h3{margin:0 0 10px;font-size:16.5px}
.keytake ul{margin:0 0 0 20px}
.keytake li{font-size:15.5px;color:#4a4c45;margin-bottom:7px}

table{width:100%;border-collapse:collapse;margin:26px 0;font-size:15.5px}
th,td{text-align:left;padding:11px 13px;border-bottom:1px solid var(--line);
      vertical-align:top}
th{font-weight:650;background:var(--bg-mute)}
.tablewrap{overflow-x:auto}

.steps-list{counter-reset:s;list-style:none;margin:26px 0 26px}
.steps-list>li{counter-increment:s;position:relative;padding-left:46px;margin-bottom:24px}
.steps-list>li::before{content:counter(s);position:absolute;left:0;top:-2px;
  width:31px;height:31px;border-radius:50%;background:var(--accent);color:#fff;
  display:grid;place-items:center;font-weight:650;font-size:14px}
.steps-list h3{margin:0 0 6px}

/* ── FAQ ─────────────────────────────────────────────────── */

details{background:#fff;border:1px solid var(--line);border-radius:11px;
        padding:17px 21px;margin-bottom:11px}
summary{cursor:pointer;font-weight:600;font-size:16px;list-style:none}
summary::-webkit-details-marker{display:none}
summary::after{content:'+';float:right;color:var(--accent);font-size:20px;line-height:1}
details[open] summary::after{content:'–'}
details p{color:var(--muted);font-size:15.5px;margin:12px 0 0}

/* ── Article footer ──────────────────────────────────────── */

.endcta{background:var(--bg-mute);border:1px solid var(--line);border-radius:14px;
        padding:30px 32px;margin:46px 0 10px;text-align:center}
.endcta h3{font-size:20px;margin-bottom:9px}
.endcta p{color:var(--muted);font-size:15.5px;max-width:52ch;margin:0 auto 20px}
.cta{display:inline-block;background:var(--accent);color:#fff;text-decoration:none;
     font-weight:600;padding:13px 28px;border-radius:11px;font-size:15.5px;
     box-shadow:0 8px 22px rgba(244,107,59,.28)}
.cta:hover{background:#e35d2e}

.more{border-top:1px solid var(--line);margin-top:44px;padding-top:34px}
.more h2{font-size:21px;margin:0 0 18px;letter-spacing:-.3px}
.more-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.more-grid a{display:block;text-decoration:none;border:1px solid var(--line);
             border-radius:12px;padding:18px 19px;background:#fff}
.more-grid a:hover{border-color:#d8d6cd;box-shadow:0 6px 20px #3432280f}
.more-grid b{display:block;font-size:15.5px;font-weight:650;line-height:1.4;
             margin-bottom:6px;color:var(--ink)}
.more-grid span{color:var(--muted);font-size:13.5px;line-height:1.5}

/* ── Blog index ──────────────────────────────────────────── */

.index-head{background:linear-gradient(180deg,var(--bg-mute) 0%,#ffffff 100%);
            padding:66px 0 54px;text-align:center;border-bottom:1px solid var(--line)}
.index-head h1{font-size:42px;letter-spacing:-1.2px;font-weight:750;margin-bottom:14px}
.index-head p{color:var(--muted);font-size:18px;max-width:56ch;margin:0 auto}

.posts{padding:56px 0 70px;max-width:840px;margin:0 auto}
.post{display:block;text-decoration:none;border:1px solid var(--line);
      border-radius:14px;padding:26px 28px;margin-bottom:18px;background:#fff}
.post:hover{border-color:#d8d6cd;box-shadow:0 8px 26px #34322812}
.post .meta{display:flex;align-items:center;gap:12px;margin-bottom:11px;flex-wrap:wrap}
.post .meta .tag{margin:0}
.post .meta time{color:var(--muted);font-size:13.5px}
.post h2{font-size:23px;line-height:1.3;letter-spacing:-.4px;font-weight:700;
         margin-bottom:9px;color:var(--ink)}
.post p{color:var(--muted);font-size:15.5px;line-height:1.6;margin:0}

footer{border-top:1px solid var(--line);padding:34px 0;font-size:14px;color:var(--muted)}
footer .wrap{display:flex;flex-wrap:wrap;gap:14px;align-items:center}
footer .fl{margin-left:auto;display:flex;gap:22px}
footer a{text-decoration:none}
footer a:hover{color:var(--ink)}

@media(max-width:860px){
  body{font-size:16.5px}
  article h1{font-size:31px}
  article h2{font-size:23px}
  .index-head h1{font-size:32px}
  .more-grid{grid-template-columns:1fr}
  nav .links{display:none}
  footer .fl{margin-left:0}
}
