/* MembraLink blog.css - only stylesheet for /blog/. Light theme; tokens/nav/footer from index.html.
   No imports, fonts or image URLs. Blog pages ship no menu JS the layout depends on: the links row is
   always rendered (wraps; scrollable 44px strip <=820px) and .menu-toggle is never displayed. */
:root{
  --navy:#1A2332; --ink:#18252E; --teal:#2D8B8B; --aqua:#4AA6A6; --mint:#A8DADC;
  --paper:#FFFFFF; --mist:#F1FAEE; --line:#D6E5E3; --grey:#52656D; --gold:#D6A33B;
  --h1:clamp(1.9rem,4.4vw + .4rem,3.6rem); --h2:clamp(1.6rem,2.4vw + .5rem,2.1rem);
  --teal-ink:#1F6F6F; --focus:#8A6410; /* accessibility tokens index.html lacks */
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);line-height:1.6;background:var(--paper);overflow-x:hidden}
img,svg{max-width:100%;height:auto}
h1,h2,h3{line-height:1.2;color:var(--navy);font-weight:800}
a{color:inherit;text-decoration:none}
[id]{scroll-margin-top:66px}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
header.nav,.site-foot,.post-cta{--focus:var(--gold)}
.wrap{max-width:1140px;margin:0 auto;padding:0 24px}
.skip-link{position:fixed;left:16px;top:-80px;z-index:100;background:#fff;color:var(--navy);padding:10px 16px;border-radius:0 0 8px 8px;font-weight:800;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.skip-link:focus{top:0}
.kick{font-size:.78rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--teal-ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:13px 26px;border-radius:8px;font-weight:700;font-size:.98rem;transition:.2s;cursor:pointer;border:0}
.btn-primary{background:var(--mint);color:var(--navy)}
.btn-primary:hover{background:var(--aqua);color:#fff}

/* NAV */
header.nav{position:sticky;top:0;z-index:50;background:rgba(26,35,50,.97);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav-in{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:66px}
.logo{display:flex;align-items:baseline;gap:8px;color:#fff;font-weight:900;font-size:1.35rem;letter-spacing:.02em}
.logo span{color:var(--mint)}
.logo small{font-size:.62rem;font-weight:600;letter-spacing:.18em;color:#9FC4C2;text-transform:uppercase;white-space:nowrap}
nav.links{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;justify-content:flex-end}
nav.links a{display:inline-flex;align-items:center;min-height:44px;color:#CFE0E2;font-size:.92rem;font-weight:600}
nav.links a[aria-current=page]{color:var(--mint);box-shadow:inset 0 -2px 0 var(--mint)}
nav.links .btn{padding:9px 18px}
/* nav.links a (0,1,1) outranks .btn-primary (0,1,0), so the header CTA inherited the
   pale link colour: #CFE0E2 on #A8DADC is 1.12:1. Restore the navy label. */
nav.links a.btn-primary{color:var(--navy)}
nav.links a.btn-primary:hover{background:var(--aqua);color:#fff}
.menu-toggle{display:none}

/* SHELL */
.post{max-width:1140px;margin:0 auto;padding:0 24px 8px}
.post .wrap{max-width:none;padding:0}
.crumbs{font-size:.82rem;color:var(--grey);padding:20px 0 0}
.crumbs ol{list-style:none;display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.crumbs li+li::before{content:"/";margin-right:6px;color:var(--aqua)}
.crumbs a{color:var(--teal-ink);text-decoration:underline;text-underline-offset:2px}
.post-head{padding:24px 0 0;border-bottom:1px solid var(--line);margin-bottom:32px}
.post-head h1{font-size:var(--h1);line-height:1.14;margin:12px 0 16px;max-width:24em;overflow-wrap:break-word}
.post-lead{font-size:1.15rem;line-height:1.58;color:var(--grey);max-width:70ch}
.post-meta{font-size:.85rem;color:var(--grey);margin:18px 0 22px}
.post-cover{max-width:1000px;margin:0 0 34px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--navy)}
.post-cover img{display:block;width:100%;height:auto;aspect-ratio:1200/630;object-fit:cover}

/* LONG-FORM BODY - 70ch measure; wide blocks opt out */
.post-body{max-width:1000px;font-size:1.06rem;line-height:1.74;overflow-wrap:break-word}
.post-body p,.post-body ul,.post-body ol,.post-body blockquote,.post-body h2,.post-body h3,.post-body .table-note{max-width:70ch}
.post-body .table-scroll,.post-body .checklist,.post-body .callout,.post-body .callout-warn{max-width:none}
.post-body h2{font-size:var(--h2);line-height:1.24;margin:2.1em 0 .55em}
.post-body>h2:first-child{margin-top:.2em}
.post-body h3{font-size:1.16rem;margin:1.7em 0 .45em}
.post-body p{margin-bottom:1.05em}
.post-body ul,.post-body ol{margin:0 0 1.15em;padding-left:22px}
.post-body li{margin-bottom:.5em}
.post-body a:not(.rel-card){color:var(--teal-ink);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.post-body a.rel-card{text-decoration:none}
.post-body b,.post-body strong{color:var(--navy)}
.post-body blockquote{margin:1.5em 0;padding:2px 0 2px 20px;border-left:3px solid var(--mint);color:var(--grey);font-size:1.02rem}

/* TABLES (always inside .table-scroll) */
.table-scroll{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5em 0;border:1px solid var(--line);border-radius:8px;background:#fff}
.spec-table,.kv-table{width:100%;border-collapse:collapse;font-size:.92rem;text-align:left}
/* min-width is scoped to the .table-scroll wrapper: body has overflow-x:hidden, so an unwrapped
   table would be clipped (columns silently lost) rather than scrolled on a narrow viewport. */
.table-scroll .spec-table{min-width:680px}
.table-scroll .kv-table{min-width:560px}
.spec-table th,.kv-table th{background:var(--mist);color:var(--navy);font-weight:800;font-size:.82rem;padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top}
.spec-table td,.kv-table td{padding:12px 14px;border-bottom:1px solid var(--line);color:var(--grey);vertical-align:top}
.table-note{font-size:.92rem;color:var(--grey);margin:1.4em 0 .5em}
.table-disclaimer{font-size:.8rem;line-height:1.62;color:var(--grey);margin:.6em 0 1.5em;max-width:88ch}

/* CALLOUTS */
.callout{margin:1.5em 0;padding:18px 22px;background:var(--mist);border-left:3px solid var(--aqua);border-radius:0 8px 8px 0;font-size:.98rem;color:var(--grey)}
.callout p{margin-bottom:.7em;max-width:74ch}
.callout-warn{margin:1.7em 0;padding:20px 22px;background:#fff;border:1px solid var(--gold);border-left:4px solid var(--gold);border-radius:0 8px 8px 0}
.callout-warn h3{font-size:1.05rem;color:var(--navy);margin-bottom:8px}
.callout-warn p{margin-bottom:.7em;color:var(--grey);font-size:.98rem;max-width:74ch}
.callout p:last-child,.callout-warn p:last-child{margin-bottom:0}

/* SOURCE NOTES */
.source-notes{margin:2.2em 0 0;padding:24px 26px;background:#F7FBFA;border:1px solid var(--line);border-radius:8px;max-width:82ch}
.post-body .source-notes h2{margin:0 0 .65em;font-size:1.35rem}
.post-body .source-notes p,.post-body .source-notes ul{max-width:74ch}
.source-notes ul{margin-bottom:0}
.source-notes li{margin-bottom:.65em}
.source-notes li:last-child{margin-bottom:0}

/* CHECKLISTS */
.checklist{list-style:none;margin:1.5em 0;padding:0}
.check-block{border:1px solid var(--line);border-radius:8px;padding:18px 22px;background:#fff;margin-bottom:14px}
.check-block>h3{font-size:1.04rem;margin:0 0 10px;padding-bottom:9px;border-bottom:1px solid var(--line)}
.check-block ul{list-style:none;margin:0;padding:0;max-width:none}
.checklist>li,.check-item{position:relative;list-style:none;margin:0;padding:11px 0 11px 28px;border-top:1px solid var(--line);color:var(--grey);font-size:.97rem;line-height:1.62}
.checklist>li:first-child,.check-item:first-child{border-top:0}
.checklist>li::before,.check-item::before{content:"";position:absolute;left:3px;top:1.2em;width:11px;height:6px;border-left:2px solid var(--teal);border-bottom:2px solid var(--teal);transform:rotate(-45deg)}
.check-item::after{content:"";display:block;clear:both}
.checklist b,.check-item b,.check-item strong{color:var(--navy)}
.checklist em,.check-item em{font-style:normal;display:block;font-size:.88rem;margin-top:3px}
.disp{float:right;margin:1px 0 6px 14px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:var(--mist);color:var(--navy);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}

/* TAGS */
.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 0;padding:0;list-style:none}
.tag{display:inline-flex;align-items:center;background:var(--mist);border:1px solid var(--line);border-radius:6px;padding:6px 10px;color:var(--navy);font-size:.78rem;font-weight:700}

/* CTA BAND - darkened from index.html .cta-band: white on #0E6E68 = 6.1:1, on #0A5F6A = 7.4:1 */
.post-cta{margin:46px 0 10px;padding:40px 38px;border-radius:8px;color:#fff;background:linear-gradient(120deg,#0A5F6A,#0E6E68)}
.post-cta .kick{color:#fff}
.post-cta h2{color:#fff;font-size:var(--h2);margin:10px 0 12px;max-width:26em}
.post-cta p{color:rgba(255,255,255,.93);max-width:62ch;margin-bottom:22px;font-size:1.04rem}

/* RELATED + HUB CARDS */
.post-related{margin:44px 0 0;padding-top:30px;border-top:1px solid var(--line)}
.post-related h2{font-size:1.35rem;margin-bottom:18px}
.rel-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px}
.rel-card{display:flex;flex-direction:column;gap:8px;padding:22px 24px;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:inset 0 3px 0 var(--teal);transition:.2s}
.rel-card:hover{border-color:var(--aqua)}
.rel-card b{color:var(--navy);font-size:1.06rem;font-weight:800;line-height:1.32;text-decoration:underline;text-underline-offset:2px}
.rel-card span:not(.kick):not(.tag){color:var(--grey);font-size:.92rem;line-height:1.55}
.rel-card .tag-row{margin-top:auto;padding-top:6px}

/* DISCLAIMER */
.post-disclaimer{margin:38px 0 8px;padding:26px 26px 22px;background:var(--mist);border:1px solid var(--line);border-radius:8px;font-size:.84rem;line-height:1.64;color:var(--grey)}
.post-disclaimer h2{font-size:.86rem;letter-spacing:.1em;text-transform:uppercase;color:var(--navy);margin-bottom:12px}
.post-disclaimer p{margin-bottom:.85em;max-width:92ch}
.post-disclaimer p:last-child{margin-bottom:0}

/* SITE FOOTER */
.site-foot{background:var(--ink);color:#B9CACD;padding:56px 0 30px;margin-top:56px;font-size:.92rem}
.site-foot .kick{display:block;color:#fff;letter-spacing:.1em;margin-bottom:14px}
.site-foot .logo{font-size:1.4rem;margin-bottom:10px}
.site-foot p{margin-bottom:8px;max-width:44ch}
.site-foot a{color:#B9CACD;text-decoration:underline;text-underline-offset:2px}
.social-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.site-foot .social-links a{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:7px 11px;border:1px solid rgba(255,255,255,.2);border-radius:7px;color:#DCEAE9;font-weight:800;text-decoration:none}
.site-foot .social-links a:hover{border-color:var(--mint);color:var(--mint)}
.f-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.1)}
.f-bottom{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;padding-top:22px;font-size:.82rem;color:#93A6AA}

/* RESPONSIVE 1024 / 900 / 820 / 760 / 640 / 520 */
@media(max-width:1024px){.post-body{font-size:1.04rem;max-width:920px}}
/* parity with index.html: without this breakpoint the 6 nav links + CTA button wrap
   to a second row and overflow the sticky header at ~1100-1280px. */
@media(max-width:1300px){.logo small{display:none}nav.links{gap:8px 12px}nav.links a{font-size:.85rem}nav.links .btn{padding:9px 14px}}
@media(max-width:900px){nav.links{gap:8px 18px}nav.links a{font-size:.9rem}.post-head{margin-bottom:26px}.spec-table th,.spec-table td,.kv-table th,.kv-table td{padding:11px 12px}}
@media(max-width:820px){ /* compact article header: logo returns home; the RFQ remains one tap away */
  .nav-in{flex-wrap:nowrap;gap:12px;min-height:66px;padding:0}
  nav.links{width:auto;flex-wrap:nowrap;justify-content:flex-end;gap:0;overflow:visible;margin-left:auto}
  nav.links a{display:none}
  nav.links a.btn-primary{display:inline-flex;flex:0 0 auto;white-space:nowrap;font-size:.8rem;padding:8px 12px}
  [id]{scroll-margin-top:70px}
  .post-cta{padding:34px 26px}.post-disclaimer{padding:22px 20px 20px}
}
@media(max-width:760px){.rel-grid{grid-template-columns:1fr}.f-grid{grid-template-columns:1fr}.post-related{margin-top:34px;padding-top:24px}.site-foot{margin-top:44px;padding:44px 0 26px}}
@media(max-width:640px){.post-body{font-size:1rem;line-height:1.7}.post-lead{font-size:1.04rem}.post-cover{margin-bottom:26px;border-radius:8px}.post-cta{padding:28px 22px}.btn{width:100%}nav.links .btn{width:auto}.check-block{padding:16px 18px}}
@media(max-width:520px){.wrap,.post{padding:0 18px}.logo{font-size:1.08rem}.logo small{display:none}.spec-table,.kv-table{font-size:.86rem}.disp{float:none;display:inline-flex;margin:6px 0 0}.source-notes{padding:20px 18px}.post-disclaimer{padding:20px 18px 18px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media print{
  header.nav,.skip-link,.post-cta,.post-related,.crumbs{display:none}
  body{color:#000}.post,.post-body{max-width:none}.post-body{font-size:11pt}
  .table-scroll{overflow:visible}
  .table-scroll .spec-table,.table-scroll .kv-table{min-width:0}
  .spec-table,.kv-table{font-size:9.5pt}
  .site-foot{background:none;color:#000;margin-top:18pt}
}
