/* SafeLagoon blog: Variant C article styles (sections 1-8 of the live
   blog-c.css v2, extracted 2026-10-22 from the 47 live posts, md5 5fbe541f).
   Sections 9-10 (Elementor/WordPress retrofit) are dropped: the markup is now
   ours. The band background image moved out of base64 into img/ui/band.webp. */
html:has(.slb),body:has(.slb){overflow-x:clip!important;overflow-y:visible!important}

/* ==========================================================================
   SafeLagoon Blog — Variant C "Magazine / brand"  ·  blog-c.css  v0.1 (proposal)
   Scope: single blog post template. All classes are prefixed .slb-
   Section 9 maps existing Elementor/WordPress post markup onto the same scale,
   so the file can be attached to the current Single Post template as-is.
   ========================================================================== */

/* 1. Fonts: PROTOTYPE loads Montserrat + Inter from Google Fonts via the HTML widget <link>. Production: self-host (Elementor Custom Fonts). */

/* 2. Tokens ---------------------------------------------------------------- */
:root{
  /* colour */
  --slb-navy-900:#08245A; --slb-navy-700:#0B3D91; --slb-blue-500:#1E63D6;
  --slb-sky-50:#F5F9FF; --slb-sky-100:#EAF2FF; --slb-sky-200:#D6E4FA;
  --slb-orange-500:#F28C28; --slb-orange-300:#F7A956; --slb-orange-700:#B45A00; --slb-orange-50:#FFF4E8; --slb-orange-200:#F8D3AE;
  --slb-amber-50:#FFF7E0; --slb-amber-200:#F3DFA6; --slb-amber-800:#7A4F00;
  --slb-ink:#1B2333; --slb-ink-2:#2A3346; --slb-muted:#5A6478; --slb-line:#E3E8F0; --slb-bg:#F6F8FB; --slb-white:#fff;
  --slb-link:#0B3D91; --slb-link-visited:#2E4A86; --slb-link-line:rgba(11,61,145,.40);
  /* type */
  --slb-font-head:"SLB Montserrat",Montserrat,"Segoe UI",system-ui,sans-serif;
  --slb-font-body:"SLB Inter",Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --slb-fs-h1:50px; --slb-lh-h1:1.1;
  --slb-fs-h2:32px; --slb-lh-h2:1.2;
  --slb-fs-h3:22px; --slb-lh-h3:1.3;
  --slb-fs-h4:18px; --slb-lh-h4:1.35;
  --slb-fs-lede:22px; --slb-lh-lede:1.55;
  --slb-fs-body:19px; --slb-lh-body:1.68;
  --slb-fs-small:15px; --slb-lh-small:1.5;
  --slb-fs-kicker:13px;
  --slb-fs-stat:52px;
  --slb-measure:calc(var(--slb-fs-body) * 33);  /* 627px at 19px ≈ 70-72 characters per line */
  /* space (4-pt) */
  --slb-s1:4px; --slb-s2:8px; --slb-s3:12px; --slb-s4:16px; --slb-s5:20px; --slb-s6:24px; --slb-s8:32px; --slb-s10:40px; --slb-s14:56px; --slb-s18:72px; --slb-s24:96px;
  --slb-gutter:24px;
  /* radius & shadow */
  --slb-r-sm:8px; --slb-r-md:12px; --slb-r-lg:20px; --slb-r-xl:28px; --slb-r-pill:999px;
  --slb-sh-sm:0 1px 2px rgba(8,36,90,.06),0 1px 1px rgba(8,36,90,.04);
  --slb-sh-md:0 12px 28px -12px rgba(8,36,90,.28);
  --slb-sh-lg:0 30px 60px -20px rgba(8,36,90,.45);
}
@media (max-width:1099px){:root{--slb-fs-h1:40px;--slb-gutter:32px}}
@media (max-width:759px){:root{
  --slb-fs-h1:31px; --slb-lh-h1:1.16; --slb-fs-h2:26px; --slb-fs-h3:20px; --slb-fs-h4:17px;
  --slb-fs-lede:20px; --slb-fs-body:18px; --slb-lh-body:1.64; --slb-fs-stat:40px; --slb-gutter:20px}}

/* 3. Base --------------------------------------------------------------- */
.slb{background:var(--slb-white);color:var(--slb-ink);font-family:var(--slb-font-body);font-size:var(--slb-fs-body);line-height:var(--slb-lh-body);
  -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;font-feature-settings:"cv11"}
.slb *,.slb *:before,.slb *:after{box-sizing:border-box}
.slb img{max-width:100%;height:auto;display:block}
.slb :is(h1,h2,h3,h4){font-family:var(--slb-font-head);color:var(--slb-navy-900);font-feature-settings:normal;text-wrap:balance;margin:0}
.slb a{color:var(--slb-link);text-decoration:underline;text-decoration-color:var(--slb-link-line);text-decoration-thickness:1.5px;text-underline-offset:3px;transition:text-decoration-color .15s,color .15s}
.slb a:visited{color:var(--slb-link-visited)}
.slb a:hover{text-decoration-color:var(--slb-orange-500);text-decoration-thickness:2px}
.slb :focus-visible{outline:3px solid var(--slb-navy-700);outline-offset:2px;border-radius:4px}
.slb :is(.slb-hero,.slb-cta,.slb-band) :focus-visible{outline-color:var(--slb-orange-300)}
.slb-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* 4. Layout ------------------------------------------------------------- */
.slb-page{max-width:1180px;margin:0 auto;padding:0 var(--slb-gutter)}
.slb-grid{display:grid;grid-template-columns:220px minmax(0,1fr);column-gap:64px;padding-top:var(--slb-s14)}
.slb-main{min-width:0}
.slb-main>*{max-width:var(--slb-measure)}
.slb-main>.slb-wide,.slb-main>.slb-stats,.slb-main>.slb-quote,.slb-main>.slb-apps,.slb-main>.slb-appgrid,.slb-main>.slb-figure--wide,.slb-main>.slb-table-wrap--wide{max-width:none}
@media (max-width:1099px){
  .slb-grid{grid-template-columns:minmax(0,1fr);padding-top:var(--slb-s10)}
  .slb-grid>.slb-toc{display:none}
  .slb-main{max-width:var(--slb-measure);margin:0 auto;width:100%}
  .slb-main>:is(.slb-wide,.slb-stats,.slb-quote,.slb-apps,.slb-appgrid,.slb-figure--wide,.slb-table-wrap--wide){
    margin-left:calc((var(--slb-measure) - min(756px, 100vw - 2*var(--slb-gutter)))/2);margin-right:calc((var(--slb-measure) - min(756px, 100vw - 2*var(--slb-gutter)))/2)}}
@media (max-width:759px){.slb-main{max-width:none}.slb-main>:is(.slb-wide,.slb-stats,.slb-quote,.slb-apps,.slb-appgrid,.slb-table-wrap--wide){margin-left:0;margin-right:0}}

/* 5. Hero band ---------------------------------------------------------- */
.slb-hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(120% 140% at 85% 10%,var(--slb-blue-500) 0%,var(--slb-navy-700) 45%,var(--slb-navy-900) 100%)}
.slb-hero:before,.slb-hero:after{content:"";position:absolute;border-radius:50%;pointer-events:none}
.slb-hero:before{right:-110px;bottom:-210px;width:420px;height:420px;background:var(--slb-orange-500)}
.slb-hero:after{right:-50px;bottom:-160px;width:300px;height:300px;background:var(--slb-orange-300)}
.slb-hero__in{position:relative;z-index:1;max-width:1180px;margin:0 auto;padding:var(--slb-s14) var(--slb-gutter) var(--slb-s18);display:grid;grid-template-columns:1fr 1.05fr;gap:var(--slb-s14);align-items:center}
.slb-hero--plain .slb-hero__in{grid-template-columns:minmax(0,820px);padding-bottom:var(--slb-s14)}
.slb-hero--plain:before{right:-140px;bottom:auto;top:-220px}.slb-hero--plain:after{right:-80px;bottom:auto;top:-170px}
.slb-crumbs{font-size:14px;color:#C9D8F5;margin-bottom:var(--slb-s4)}.slb-crumbs a,.slb-crumbs a:visited{color:#fff;text-decoration-color:rgba(255,255,255,.4)}
.slb-pill{display:inline-block;background:var(--slb-orange-500);color:#10233F;font:700 var(--slb-fs-kicker)/1 var(--slb-font-body);letter-spacing:.12em;text-transform:uppercase;padding:7px 12px;border-radius:var(--slb-r-pill);text-decoration:none!important}
.slb-hero h1{color:#fff;font-size:var(--slb-fs-h1);line-height:var(--slb-lh-h1);letter-spacing:-.02em;font-weight:800;margin:18px 0 22px}
.slb-meta{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:center;color:#C9D8F5;font-size:15px;line-height:1.45}
.slb-meta img{width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.5)}
.slb-meta b{color:#fff;font-weight:600}.slb-meta .dot{opacity:.6}
.slb-hero__art{border-radius:24px;overflow:hidden;box-shadow:var(--slb-sh-lg);transform:rotate(1.2deg);border:6px solid rgba(255,255,255,.12);aspect-ratio:16/9;background:#123d8f}
.slb-hero__art img{width:100%;height:100%;object-fit:cover}
@media (max-width:1099px){.slb-hero__in{grid-template-columns:1fr;gap:var(--slb-s8);padding:var(--slb-s10) var(--slb-gutter) var(--slb-s14)}.slb-hero__art{order:-1;transform:none;max-width:720px}}
@media (max-width:759px){.slb-hero:before,.slb-hero:after{display:none}.slb-hero__in{padding:var(--slb-s6) var(--slb-gutter) var(--slb-s10);gap:var(--slb-s6)}.slb-hero__art{border-width:4px;border-radius:18px}.slb-hero h1{margin:14px 0 16px}.slb-meta img{width:40px;height:40px}}

/* 6. Prose -------------------------------------------------------------- */
.slb-main>p,.slb-main li{margin:0 0 1.15em}
.slb-main>p:last-child{margin-bottom:0}
.slb-lede{font-size:var(--slb-fs-lede);line-height:var(--slb-lh-lede);color:var(--slb-ink-2)}
.slb-lede:before{content:"";display:block;width:56px;height:4px;border-radius:2px;background:var(--slb-orange-500);margin-bottom:var(--slb-s6)}
.slb-main h2{font-size:var(--slb-fs-h2);line-height:var(--slb-lh-h2);letter-spacing:-.01em;font-weight:800;margin:2em 0 .6em;scroll-margin-top:96px}
.slb-kicker{display:block;font:700 var(--slb-fs-kicker)/1.2 var(--slb-font-body);letter-spacing:.14em;text-transform:uppercase;color:var(--slb-orange-700);margin-bottom:10px}
.slb-main h3{font-size:var(--slb-fs-h3);line-height:var(--slb-lh-h3);font-weight:700;margin:1.6em 0 .45em}
.slb-main h4{font-size:var(--slb-fs-h4);line-height:var(--slb-lh-h4);font-weight:700;margin:1.4em 0 .4em}
.slb-main h2+h3,.slb-main h3+h4{margin-top:.6em}
.slb-main :is(ul,ol):not([class]){padding-left:1.3em;margin:0 0 1.3em}
.slb-main :is(ul,ol):not([class]) li{margin-bottom:.55em;padding-left:.15em}
.slb-main ul:not([class]) li::marker{color:var(--slb-orange-500)}
.slb-main ol:not([class]) li::marker{color:var(--slb-navy-700);font-weight:700}
.slb-main strong{font-weight:650;color:var(--slb-navy-900)}
.slb-leadin{font-family:var(--slb-font-head);font-weight:700;color:var(--slb-navy-900)}

/* 7. Components ---------------------------------------------------------- */
/* 7.1 TOC — sticky aside (desktop) + collapsible (tablet/mobile) */
.slb-toc{position:relative}
.slb-toc__in{position:sticky;top:96px;font-size:14px;line-height:1.4}
.slb-toc__h{font:700 12px var(--slb-font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--slb-muted);margin:0 0 14px}
.slb-toc ol{list-style:none;margin:0;padding:0;border-left:2px solid var(--slb-line)}
.slb-toc a,.slb-toc a:visited{display:block;padding:7px 0 7px 14px;margin-left:-2px;border-left:2px solid transparent;color:var(--slb-muted);text-decoration:none}
.slb-toc a:hover{color:var(--slb-navy-700)}
.slb-toc a.is-active{color:var(--slb-navy-700);border-left-color:var(--slb-orange-500);font-weight:600}
.slb-toc__progress{height:3px;background:var(--slb-line);border-radius:2px;margin-top:18px;overflow:hidden}.slb-toc__progress i{display:block;height:100%;width:0;background:var(--slb-orange-500)}
.slb-toc-m{display:none;border:1px solid var(--slb-line);border-radius:var(--slb-r-md);padding:0 16px;margin:0 0 var(--slb-s8);background:var(--slb-white)}
.slb-toc-m summary{cursor:pointer;list-style:none;padding:14px 28px 14px 0;font:700 15px var(--slb-font-head);color:var(--slb-navy-700);position:relative}
.slb-toc-m summary::-webkit-details-marker{display:none}
.slb-toc-m summary:after{content:"";position:absolute;right:4px;top:19px;width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg)}
.slb-toc-m[open] summary:after{transform:rotate(-135deg);top:23px}
.slb-toc-m ol{margin:0 0 14px;padding-left:1.3em;font-size:16px;line-height:1.45}.slb-toc-m li{margin:0 0 8px}
@media (max-width:1099px){.slb-toc-m{display:block}}

/* 7.2 Numbered rules */
.slb-main .slb-rules{list-style:none;padding:0;counter-reset:r;margin:1.4em 0}
.slb-rules>li{counter-increment:r;display:grid;grid-template-columns:56px 1fr;gap:16px;padding:18px 0;margin:0;border-top:1px solid var(--slb-line)}
.slb-rules>li:before{content:counter(r,decimal-leading-zero);font:800 30px/1 var(--slb-font-head);color:var(--slb-orange-500)}
.slb-rules h3,.slb-rules h4{margin:0 0 4px!important;font-size:20px}.slb-rules p{margin:0;font-size:.92em;line-height:1.6;color:var(--slb-ink-2)}

/* 7.3 Step list (how-to) */
.slb-main .slb-steps{list-style:none;padding:0;margin:1.2em 0 1.6em;counter-reset:s}
.slb-steps>li{counter-increment:s;position:relative;padding:0 0 22px 56px;margin:0}
.slb-steps>li:before{content:counter(s);position:absolute;left:0;top:0;width:36px;height:36px;border-radius:50%;background:var(--slb-navy-700);color:#fff;font:700 16px/36px var(--slb-font-head);text-align:center}
.slb-steps>li:after{content:"";position:absolute;left:17px;top:42px;bottom:6px;width:2px;background:var(--slb-sky-200)}
.slb-steps>li:last-child:after{display:none}
.slb-steps h4{margin:5px 0 6px!important}
.slb-steps p,.slb-steps li li{font-size:.92em;line-height:1.6;color:var(--slb-ink-2)}
.slb-steps p{margin:0 0 .6em}.slb-main .slb-steps ul{padding-left:1.1em;margin:0;list-style:disc}.slb-steps li li{margin-bottom:.35em}.slb-steps li li::marker{color:var(--slb-orange-500)}

/* 7.4 Stat tiles — 2-4 items, real figures with a source each */
.slb-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:20px;margin:2em 0}
.slb-stat{background:var(--slb-sky-50);border:1px solid var(--slb-sky-200);border-radius:var(--slb-r-lg);padding:24px}
.slb-stat b{display:block;font:800 var(--slb-fs-stat)/1 var(--slb-font-head);color:var(--slb-navy-700)}
.slb-stat b em{font-style:normal;color:var(--slb-orange-700)}
.slb-stat p{margin:10px 0 0;font-size:16px;line-height:1.5;color:var(--slb-ink-2)}
.slb-stat small{display:block;margin-top:8px;color:var(--slb-muted);font-size:13px}
@media (max-width:759px){.slb-stats{grid-template-columns:1fr;gap:12px}.slb-stat{padding:18px 20px}}

/* 7.5 Pull quote — only verbatim quotes from the article, with attribution */
.slb-quote{display:grid;grid-template-columns:72px 1fr;gap:16px;margin:2.2em 0;padding:0}
.slb-quote:before{content:"“";font:800 120px/0.8 var(--slb-font-head);color:var(--slb-orange-500)}
.slb-quote p{margin:0;font:600 30px/1.3 var(--slb-font-head);color:var(--slb-navy-900);letter-spacing:-.01em;max-width:26em}
.slb-quote cite{display:block;margin-top:14px;font:500 15px var(--slb-font-body);font-style:normal;color:var(--slb-muted)}
@media (max-width:759px){.slb-quote{grid-template-columns:1fr;gap:0}.slb-quote:before{font-size:80px;height:40px}.slb-quote p{font-size:23px}}

/* 7.6 Callouts */
.slb-callout{display:grid;grid-template-columns:28px 1fr;gap:14px;margin:1.8em 0;padding:18px 22px;border-radius:0 var(--slb-r-md) var(--slb-r-md) 0;font-size:17px;line-height:1.6;border-left:4px solid}
.slb-callout__ic{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font:800 15px var(--slb-font-head);color:#fff}
.slb-callout b.slb-callout__t{display:block;font-family:var(--slb-font-head);margin-bottom:2px}
.slb-callout p{margin:0}
.slb-callout--tip{background:var(--slb-orange-50);border-color:var(--slb-orange-500)}.slb-callout--tip .slb-callout__ic{background:var(--slb-orange-700)}.slb-callout--tip .slb-callout__t{color:var(--slb-orange-700)}
.slb-callout--warn{background:var(--slb-amber-50);border-color:#D9A400}.slb-callout--warn .slb-callout__ic{background:var(--slb-amber-800)}.slb-callout--warn .slb-callout__t{color:var(--slb-amber-800)}
.slb-callout--note{background:var(--slb-sky-50);border-color:var(--slb-navy-700)}.slb-callout--note .slb-callout__ic{background:var(--slb-navy-700)}.slb-callout--note .slb-callout__t{color:var(--slb-navy-700)}

/* 7.7 Figures */
.slb-figure{margin:2em 0}
.slb-figure img{border-radius:var(--slb-r-lg);box-shadow:var(--slb-sh-md);width:100%}
.slb-figure figcaption{font-size:var(--slb-fs-small);line-height:var(--slb-lh-small);color:var(--slb-muted);margin-top:12px;max-width:var(--slb-measure)}
@media (max-width:759px){.slb-figure--wide{margin-left:calc(-1*var(--slb-gutter));margin-right:calc(-1*var(--slb-gutter))}.slb-figure--wide img{border-radius:0}.slb-figure--wide figcaption{padding:0 var(--slb-gutter)}}

/* 7.8 UI screenshot — zoomed crops instead of a full shrunken screen */
.slb-shot{margin:2em 0;border:1px solid var(--slb-sky-200);border-radius:var(--slb-r-lg);background:var(--slb-sky-50);overflow:hidden}
.slb-shot__bar{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--slb-sky-200);font:600 13px var(--slb-font-body);color:var(--slb-muted);background:#fff}
.slb-shot__bar i{width:10px;height:10px;border-radius:50%;background:var(--slb-line)}
.slb-shot__bar span{margin-left:6px}
.slb-shot__crops{display:grid;gap:14px;padding:18px}
.slb-shot__crop{position:relative;border-radius:var(--slb-r-md);overflow:hidden;box-shadow:var(--slb-sh-sm);background:#fff}
.slb-shot__crop img{width:100%}
.slb-shot__row{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;align-items:start}
.slb-shot__n{position:relative;margin-top:6px;width:26px;height:26px;border-radius:50%;background:var(--slb-orange-500);color:#10233F;font:800 13px/26px var(--slb-font-head);text-align:center;box-shadow:0 0 0 3px #fff}
.slb-shot figcaption{padding:0 18px 16px;font-size:var(--slb-fs-small);line-height:1.5;color:var(--slb-muted)}
.slb-shot figcaption ol{margin:6px 0 0;padding-left:1.2em}

/* 7.9 Table — navy #0B3D91 header with white text, hairline rows, no zebra; scrolls on tablet, stacks on mobile */
.slb-table-wrap{scroll-margin-top:80px;margin:1.8em 0;border:1px solid var(--slb-line);border-radius:var(--slb-r-lg);overflow-x:auto;-webkit-overflow-scrolling:touch;background:#fff}
.slb-table-wrap>b{display:block;padding:16px 20px 12px;font:700 15px var(--slb-font-head);color:var(--slb-navy-900)}
.slb-table{border-collapse:collapse;width:100%;min-width:520px;font-size:16px;line-height:1.45}
.slb-table th{text-align:left;font:700 14px/1.3 var(--slb-font-head);letter-spacing:.01em;color:#fff;background:var(--slb-navy-700);padding:14px 20px;border:0}   /* header: white on #0B3D91 = 10.04:1 */
.slb-table td{padding:14px 20px;border-bottom:1px solid var(--slb-line);vertical-align:top}
.slb-table tr:last-child td{border-bottom:0}
.slb-table td:first-child{font-weight:600;color:var(--slb-navy-900)}
.slb-tag{display:inline-block;padding:3px 10px;border-radius:var(--slb-r-pill);font-size:13px;font-weight:600;background:var(--slb-sky-100);color:var(--slb-navy-700)}
.slb-tag--hi{background:#E3F4EA;color:#17603C}.slb-tag--mid{background:var(--slb-amber-50);color:var(--slb-amber-800)}.slb-tag--key{background:var(--slb-orange-50);color:var(--slb-orange-700)}
@media (max-width:759px){
  .slb-table--stack{min-width:0}
  .slb-table--stack thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .slb-table--stack tr{display:block;padding:14px 18px;border-bottom:1px solid var(--slb-line)}
  .slb-table--stack tr:last-child{border-bottom:0}
  .slb-table--stack td{display:block;padding:4px 0;border:0}   /* v3: was flex -> inline links/text nodes split into columns (742) */
  .slb-table--stack td:first-child{display:block;font:700 16px/1.35 var(--slb-font-head);margin-bottom:6px}
  .slb-table--stack td:not(:first-child):before{content:attr(data-label);font-size:13px;color:var(--slb-muted);font-weight:600;text-transform:uppercase;letter-spacing:.08em;display:block;padding-top:0;margin-bottom:2px}}

/* 7.10 App index + compact app cards (long listicles) */
.slb-apps{margin:1.6em 0 2em;padding:20px;border-radius:var(--slb-r-lg);background:var(--slb-bg);border:1px solid var(--slb-line)}
.slb-apps__h{font:700 12px var(--slb-font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--slb-muted);margin:0 0 14px}
.slb-apps ol{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.slb-apps li{margin:0}
.slb-apps a,.slb-apps a:visited{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:10px;text-decoration:none;color:var(--slb-ink);font-size:14px;font-weight:600;line-height:1.2;background:#fff;border:1px solid var(--slb-line)}
.slb-apps a:hover{border-color:var(--slb-orange-500)}
.slb-apps img{width:28px;height:28px;border-radius:7px;flex:none;object-fit:cover}
.slb-appgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:1.4em 0 2em;align-items:start}
.slb-app{background:#fff;border:1px solid var(--slb-line);border-radius:var(--slb-r-lg);padding:20px;box-shadow:var(--slb-sh-sm);scroll-margin-top:96px}
.slb-app__top{display:grid;grid-template-columns:56px 1fr;gap:14px;align-items:center;margin-bottom:10px}
.slb-app__top img{width:56px;height:56px;border-radius:14px;object-fit:cover;box-shadow:var(--slb-sh-sm)}
.slb-app__n{font:700 12px var(--slb-font-body);color:var(--slb-orange-700);letter-spacing:.08em}
.slb-main .slb-app h3{margin:0;font-size:20px}
.slb-app>p{margin:0 0 10px;font-size:16px;line-height:1.55;color:var(--slb-ink-2)}
.slb-app ul{margin:0 0 6px;padding-left:1.1em;font-size:15px;line-height:1.5;color:var(--slb-ink-2)}.slb-app li{margin:0 0 4px}.slb-app li::marker{color:var(--slb-orange-500)}
.slb-app details{margin-top:10px;border-top:1px solid var(--slb-line);padding-top:10px}
.slb-app summary{cursor:pointer;list-style:none;font:700 14px var(--slb-font-head);color:var(--slb-navy-700);display:flex;justify-content:space-between;align-items:center}
.slb-app summary::-webkit-details-marker{display:none}
.slb-app summary:after{content:"+";font:400 22px/1 var(--slb-font-body);color:var(--slb-orange-700)}
.slb-app details[open] summary:after{content:"–"}
.slb-app details>div{padding-top:8px;font-size:15px;line-height:1.55;color:var(--slb-ink-2)}
.slb-app details p{margin:0 0 8px}
@media (max-width:759px){.slb-appgrid{grid-template-columns:1fr;gap:12px}.slb-app{padding:16px}.slb-apps{padding:16px}.slb-apps ol{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* 7.11 Inline CTA — one brand style (navy + orange); max 1 in the body, 2 in long listicles (decision 2026-10-20) */
.slb-cta{display:grid;grid-template-columns:64px 1fr;gap:20px;align-items:center;margin:2.2em 0;padding:26px 28px;border-radius:var(--slb-r-lg);background:linear-gradient(120deg,var(--slb-navy-900),var(--slb-navy-700) 60%,#1650B8);color:#fff;position:relative;overflow:hidden}
.slb-cta:after{content:"";position:absolute;right:-50px;bottom:-70px;width:180px;height:180px;border-radius:50%;background:var(--slb-orange-500);opacity:.9}
.slb-cta>*{position:relative;z-index:1}
.slb-cta img{width:64px;height:64px;border-radius:16px}
.slb-cta .slb-cta__t{display:block;font:800 21px/1.3 var(--slb-font-head);color:#fff;margin:0 0 4px}
.slb-cta p{margin:0 0 14px;color:#D7E3F8;font-size:16px;line-height:1.55;max-width:34em}
.slb .slb-btn,.slb .slb-btn:visited{display:inline-flex;align-items:center;gap:8px;background:var(--slb-orange-500);color:#10233F;font:700 16px/1.2 var(--slb-font-body);padding:13px 20px;border-radius:10px;text-decoration:none}
.slb .slb-btn:hover{background:var(--slb-orange-300);color:#10233F}
.slb .slb-btn--ghost,.slb .slb-btn--ghost:visited{background:transparent;color:#fff;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.5)}
@media (max-width:759px){.slb-cta{grid-template-columns:1fr;padding:22px 20px}.slb-cta img{width:52px;height:52px}.slb-cta:after{width:110px;height:110px;right:-44px;bottom:-56px}}

/* 7.12 FAQ accordion (native details; keep FAQPage JSON-LD) */
.slb-faq{margin:0 0 1em}
.slb-faq details{border-top:1px solid var(--slb-line)}
.slb-faq details:last-child{border-bottom:1px solid var(--slb-line)}
.slb-faq summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;font:700 18px/1.4 var(--slb-font-head);color:var(--slb-navy-900);position:relative}
.slb-faq summary::-webkit-details-marker{display:none}
.slb-faq summary:after{content:"+";position:absolute;right:4px;top:13px;font:400 28px/1 var(--slb-font-body);color:var(--slb-orange-700)}
.slb-faq details[open] summary:after{content:"–"}
.slb-faq details>div{padding:0 0 18px;font-size:17px;line-height:1.6;color:var(--slb-ink-2)}
.slb-faq details>div p{margin:0 0 .6em}

/* 7.13 Author box — WP user data only (name, avatar, optional real bio) */
.slb-author{display:grid;grid-template-columns:72px 1fr;gap:18px;align-items:center;margin:3em 0 0;padding:22px;border-radius:var(--slb-r-lg);background:var(--slb-bg);border:1px solid var(--slb-line)}
.slb-author img{width:72px;height:72px;border-radius:50%;object-fit:cover}
.slb-author b{font:700 18px var(--slb-font-head);color:var(--slb-navy-900)}
.slb-author p{margin:4px 0 0;color:var(--slb-muted);font-size:15px;line-height:1.5}

/* 7.14 Related cards */
.slb-related{max-width:1180px;margin:var(--slb-s18) auto 0;padding:0 var(--slb-gutter)}
.slb-related h2{font-size:28px;margin:0 0 20px}
.slb-related ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.slb-related a,.slb-related a:visited{display:block;background:#fff;border:1px solid var(--slb-line);border-radius:18px;overflow:hidden;text-decoration:none;color:var(--slb-ink);height:100%;transition:box-shadow .15s,transform .15s}
.slb-related a:hover{box-shadow:var(--slb-sh-md);transform:translateY(-2px)}
.slb-related img{aspect-ratio:16/10;object-fit:cover;width:100%}
.slb-related .t{padding:14px 16px 18px;font:700 16px/1.35 var(--slb-font-head)}
.slb-related small{display:block;font:700 11px var(--slb-font-body);letter-spacing:.1em;color:var(--slb-orange-700);margin-bottom:6px}
@media (max-width:1099px){.slb-related ul{grid-template-columns:repeat(2,1fr)}}
@media (max-width:759px){.slb-related ul{gap:12px}.slb-related .t{font-size:14px;padding:10px 12px 14px}.slb-related h2{font-size:23px}}

/* 7.15 Closing CTA band */
.slb-band{max-width:1180px;margin:var(--slb-s14) auto 0;padding:0 var(--slb-gutter)}
.slb-band__in{border-radius:var(--slb-r-xl);overflow:hidden;display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(120deg,var(--slb-navy-900),var(--slb-navy-700) 55%,var(--slb-blue-500));color:#fff}
.slb-band__tx{padding:44px}
.slb-band__ic{display:flex;gap:10px;margin-bottom:18px}.slb-band__ic img{width:52px;height:52px;border-radius:12px}
.slb-band h2{color:#fff;font-size:32px;margin:0 0 10px}
.slb-band p{color:#D7E3F8;font-size:17px;line-height:1.6;margin:0 0 20px}
.slb-band__btns{display:flex;flex-wrap:wrap;gap:10px}
.slb-band__im{background:url(../img/ui/band.webp) 72% 60%/cover;min-height:280px}
@media (max-width:759px){.slb-band{padding:0}.slb-band__in{grid-template-columns:1fr;border-radius:0}.slb-band__im{min-height:190px;order:-1}.slb-band__tx{padding:28px var(--slb-gutter)}.slb-band h2{font-size:25px}}

/* 7.16 Character spot (max 2 per article, section openers only) */
.slb-spot{display:grid;grid-template-columns:112px 1fr;gap:22px;align-items:center;margin:2em 0 .8em}
.slb-spot img{width:112px;height:112px;border-radius:50%;box-shadow:0 0 0 6px var(--slb-orange-50)}
.slb-spot h2{margin:0!important}
@media (max-width:759px){.slb-spot{grid-template-columns:72px 1fr;gap:14px}.slb-spot img{width:72px;height:72px;box-shadow:0 0 0 4px var(--slb-orange-50)}}

/* 7.17 Recommended chat launcher (replaces the auto-open greeting bubble) */
.slb-launcher{position:fixed;right:20px;bottom:20px;z-index:40;width:52px;height:52px;border-radius:50%;background:var(--slb-navy-700);box-shadow:var(--slb-sh-md);display:grid;place-items:center}
.slb-launcher:before{content:"";width:22px;height:18px;border-radius:6px 6px 6px 2px;background:#fff}
@media (max-width:759px){.slb-launcher{width:44px;height:44px;right:14px;bottom:14px}.slb-launcher:before{width:18px;height:15px}}

/* 8. Reading progress (optional) */
.slb-progress{position:fixed;left:0;top:0;height:3px;width:0;background:var(--slb-orange-500);z-index:50}


/* NOTES 2026-10-21 (CSS v2): navy table header with white text */
.slb .slb-table th{border:0;background:var(--slb-navy-700);color:#fff}

/* 11. Django additions ------------------------------------------------------ */
/* Initials when an author has no photo (keeps the meta/author grids intact). */
.slb-avatar{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;
  border:2px solid rgba(255,255,255,.5);background:var(--slb-blue-500);color:#fff;font:700 15px var(--slb-font-head)}
.slb-avatar--lg{width:72px;height:72px;font-size:24px;border:0;background:var(--slb-navy-700)}
/* The landing wrapper is a page background, not a container: let the hero run full width. */
.blog-main{display:block}
