/* ============================================================================
 * BLOG INDEX (page 57, slug `blog`) - v2 layout layer.
 * Loads AFTER blog.css (INM Blog Assets = priority 10, INM Page Assets = 11), so this
 * file only carries what the index adds: hero composition, the straddling featured
 * guide, the library control bar and grid, and the author plate.
 * Scope: .rsg-inm-x.bl
 * ============================================================================ */

/* --- S1 hero: homepage composition - copy left, real photo bleeding right --- */
.rsg-inm-x.bl .bl-hero{position:relative;overflow:hidden;background:#0B1B36;color:#fff;padding:66px 0 118px;min-height:0;display:flex;align-items:center}
.rsg-inm-x.bl .bl-hbg{position:absolute;right:0;top:0;width:66%;height:100%;z-index:0;overflow:hidden;-webkit-mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 14%,#000 28%);mask-image:linear-gradient(90deg,transparent 0,rgba(0,0,0,.35) 14%,#000 28%)}
.rsg-inm-x.bl .bl-hbg img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 34%}
.rsg-inm-x.bl .bl-hero-scrim{position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(640px 640px at 6% 18%,rgba(83,157,214,.22),transparent 60%),
    radial-gradient(620px 620px at 4% 88%,rgba(226,198,163,.14),transparent 60%),
    linear-gradient(0deg,rgba(8,19,37,.5) 0%,transparent 26%),
    linear-gradient(95deg,#0B1B36 0%,#0B1B36 40%,rgba(11,27,54,.9) 47%,rgba(11,27,54,.55) 55%,rgba(11,27,54,.18) 62%,rgba(11,27,54,0) 68%)}
.rsg-inm-x.bl .bl-hero .rsg-wrap{position:relative;z-index:2;width:100%}
.rsg-inm-x.bl .bl-hero-copy{max-width:760px}
.rsg-inm-x.bl .bl-hero .bp-crumbs{margin-bottom:18px}
.rsg-inm-x.bl .bl-h1{font-family:var(--font-heading);font-size:clamp(33px,3.6vw,54px);font-weight:800;line-height:1.04;letter-spacing:-.018em;color:#fff;margin:0;max-width:21ch;text-wrap:balance}
.rsg-inm-x.bl .bl-hero-lede{margin-top:20px;font-size:17.5px;line-height:1.7;color:#E6EEF6;max-width:58ch}

/* tools row: the real topic list and one search field, on the hero (Precision's spine) */
.rsg-inm-x.bl .bl-tools{display:flex;align-items:center;flex-wrap:wrap;gap:14px 18px;margin-top:30px;padding-top:26px;border-top:1px solid var(--ice-line)}
.rsg-inm-x.bl .bl-tools .bx-chips{flex:0 1 auto;margin-right:auto}
.rsg-inm-x.bl .bl-tools .bx-chip{background:rgba(255,255,255,.08);border-color:var(--ice-line);color:#fff}
.rsg-inm-x.bl .bl-tools .bx-chip b{color:var(--muted-dark)}
.rsg-inm-x.bl .bl-tools .bx-chip:hover{background:rgba(255,255,255,.16);border-color:var(--ice)}
.rsg-inm-x.bl .bl-tools .bx-chip[aria-pressed="true"]{background:#fff;border-color:#fff;color:var(--navy)}
.rsg-inm-x.bl .bl-tools .bx-chip[aria-pressed="true"] b{color:var(--muted)}
.rsg-inm-x.bl .bl-tools .bx-chip[aria-pressed="true"] i{background:var(--bc,var(--navy))}

/* who writes these: the owner's crop on the dark, one factual line, link to About */
.rsg-inm-x.bl .bl-hero-by{display:flex;align-items:center;gap:14px;margin-top:30px;padding-top:24px;border-top:1px solid var(--ice-line);max-width:52ch}
.rsg-inm-x.bl .bl-hero-by img{flex:none;width:54px;height:54px;border-radius:50%;object-fit:cover;background:#0B1B36;border:1px solid rgba(169,211,240,.45);box-shadow:0 6px 14px rgba(0,0,0,.35)}
.rsg-inm-x.bl .bl-hero-by b{display:block;font-family:var(--font-heading);font-size:15.5px;font-weight:700;color:#fff}
.rsg-inm-x.bl .bl-hero-by span{display:block;margin-top:3px;font-size:13.5px;line-height:1.5;color:var(--muted-dark)}
.rsg-inm-x.bl .bl-hero-by a{color:var(--ice);text-decoration:none;border-bottom:1px solid rgba(169,211,240,.4)}
.rsg-inm-x.bl .bl-hero-by a:hover{border-color:var(--h2-gold);color:var(--h2-gold)}

/* --- S2 featured: centred head, then one wide card ------------------------ */
.rsg-inm-x.bl .bl-feat{background:#fff;padding:var(--pad-2) 0 0}
.rsg-inm-x.bl .bl-feat .bx-head{margin-bottom:40px}
.rsg-inm-x.bl .bl-feat .hp-bcard--wide{position:relative;z-index:2}
/* topic and length ride ON the photo, so the body can lead with the headline */
.rsg-inm-x .bl-ftag{position:absolute;top:16px;left:16px;z-index:2;font-family:var(--font-heading);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--bc,var(--navy));padding:7px 13px;border-radius:999px;box-shadow:0 10px 22px -10px rgba(8,19,37,.7)}
.rsg-inm-x .bl-frt{position:absolute;right:16px;bottom:16px;z-index:2;display:inline-flex;align-items:center;gap:7px;font-family:var(--font-heading);font-size:12px;font-weight:700;color:#fff;background:rgba(8,19,46,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);padding:7px 13px;border-radius:999px}
.rsg-inm-x .bl-frt svg{width:13px;height:13px;flex:none}

/* --- S3 the library ------------------------------------------------------- */
.rsg-inm-x.bl .bl-lib{background:#fff;padding:var(--pad-2) 0 var(--pad-3)}
.rsg-inm-x.bl .bl-hero+.bl-lib{padding-top:56px}
.rsg-inm-x.bl .bl-lib .bx-head{margin-bottom:18px}
.rsg-inm-x.bl .bl-lib .bx-head{margin-bottom:30px}

/* control bar: one search field and the real topic list, on a white plate */
.rsg-inm-x.bl .bl-ctl{position:relative;display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:22px 28px;align-items:center;background:linear-gradient(180deg,#fff 0%,#FAF8F5 100%);border:1px solid var(--line);border-radius:var(--r-card);box-shadow:var(--sh-1);padding:20px 24px}
.rsg-inm-x.bl .bl-ctl::before{content:"";position:absolute;left:24px;right:24px;top:0;height:3px;border-radius:0 0 2px 2px;background:var(--gold-line)}
.rsg-inm-x.bl .bl-srch{position:relative;display:flex;align-items:center;flex:0 0 auto;background:rgba(9,23,46,.5);border:1px solid var(--ice-line);border-radius:999px;overflow:hidden;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);transition:border-color .18s var(--ease)}
.rsg-inm-x.bl .bl-srch:focus-within{border-color:var(--ice)}
.rsg-inm-x.bl .bl-srch-well{flex:none;width:42px;height:44px;display:grid;place-items:center;color:var(--ice)}
.rsg-inm-x.bl .bl-srch-well svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.rsg-inm-x.bl .bl-srch input{flex:1;min-width:0;width:216px;font:inherit;font-size:14.5px;color:#fff;border:0;background:transparent;padding:11px 14px 11px 0;height:44px}
.rsg-inm-x.bl .bl-srch input::placeholder{color:#9DB6D2}
.rsg-inm-x.bl .bl-srch input:focus{outline:none}
.rsg-inm-x.bl .bl-srch-clear{flex:none;width:38px;height:44px;border:0;background:transparent;color:var(--muted-dark);font-size:22px;line-height:1;cursor:pointer;display:none}
.rsg-inm-x.bl .bl-srch-clear:hover{color:#fff}
.rsg-inm-x.bl .bl-srch.is-filled .bl-srch-clear{display:block}

.rsg-inm-x.bl .bl-count{margin:0;font-size:13.5px;font-weight:600;letter-spacing:.02em;color:var(--muted)}
.rsg-inm-x.bl .bl-count b{color:var(--ink);font-weight:700;font-variant-numeric:tabular-nums}

/* the grid */
.rsg-inm-x.bl .bl-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin-top:26px}

/* pager: the script fills it and hides it when one page holds everything */
.rsg-inm-x.bl .bl-pager{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;margin-top:44px}
/* the listings page server-side (paginate_links prints a and span.current) */
.rsg-inm-x.bl .bl-pager a,.rsg-inm-x.bl .bl-pager span.page-numbers{text-decoration:none;display:grid;place-items:center;min-width:44px;height:44px;padding:0 12px;border-radius:var(--r-btn);border:1px solid var(--line);background:#fff;color:var(--ink);font-family:var(--font-heading);font-size:14px;font-weight:700;transition:border-color .2s var(--ease),background-color .2s var(--ease),color .2s var(--ease)}
.rsg-inm-x.bl .bl-pager a:hover{border-color:var(--navy);color:var(--navy)}
.rsg-inm-x.bl .bl-pager span.current,.rsg-inm-x.bl .bl-pager a[aria-current="page"]{background:var(--navy);border-color:var(--navy);color:#fff}
.rsg-inm-x.bl .bl-pager a svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.rsg-inm-x.bl .bl-pager button{min-width:44px;height:44px;padding:0 12px;border-radius:var(--r-btn);border:1px solid var(--line);background:#fff;color:var(--ink);font-family:var(--font-heading);font-size:14px;font-weight:700;cursor:pointer;display:grid;place-items:center;transition:border-color .2s var(--ease),background-color .2s var(--ease),color .2s var(--ease)}
.rsg-inm-x.bl .bl-pager button svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.rsg-inm-x.bl .bl-pager button:hover{border-color:var(--navy);color:var(--navy)}
.rsg-inm-x.bl .bl-pager button[aria-current="page"]{background:var(--navy);border-color:var(--navy);color:#fff;pointer-events:none}
.rsg-inm-x.bl .bl-pager button:disabled{opacity:.35;pointer-events:none}
.rsg-inm-x.bl .bl-pager button:focus-visible{outline:3px solid var(--ice);outline-offset:2px}
.rsg-inm-x.bl .bl-grid .hp-bcard[hidden]{display:none}

/* empty state: the off-white tile, never a bare line of text */
.rsg-inm-x.bl .bl-empty{display:none;margin-top:26px;border:1px solid var(--line);border-radius:var(--r-card);background:linear-gradient(180deg,#fff 0%,#FAF8F5 100%);box-shadow:var(--sh-1);padding:40px 34px;text-align:center}
.rsg-inm-x.bl .bl-empty.is-on{display:block}
.rsg-inm-x.bl .bl-empty-ic{width:52px;height:52px;margin:0 auto 16px;border-radius:var(--r-tile);background:rgba(6,54,118,.07);border:1px solid var(--line);color:var(--navy);display:grid;place-items:center}
.rsg-inm-x.bl .bl-empty-ic svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.rsg-inm-x.bl .bl-empty h3{font-family:var(--font-heading);font-size:21px;font-weight:800;letter-spacing:-.012em;color:var(--ink);margin:0 0 10px}
.rsg-inm-x.bl .bl-empty p{max-width:52ch;margin:0 auto;font-size:15.5px}
.rsg-inm-x.bl .bl-empty-actions{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:22px}
.rsg-inm-x.bl .bl-reset{text-decoration:none;display:inline-flex;align-items:center;gap:9px;min-height:46px;padding:0 20px;border-radius:var(--r-btn);border:1px solid var(--line);background:#fff;color:var(--ink);font-family:var(--font-heading);font-size:13.5px;font-weight:700;letter-spacing:.04em;cursor:pointer}
.rsg-inm-x.bl .bl-reset:hover{border-color:var(--navy);color:var(--navy)}
.rsg-inm-x.bl .bl-reset svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

/* --- S4 who writes these: dark plate on white, straddling the closing band -- */
.rsg-inm-x.bl .bl-auth{background:#fff;padding:0 0 1px}
.rsg-inm-x.bl .bl-auth-plate{position:relative;z-index:3;display:grid;grid-template-columns:150px minmax(0,1fr);gap:34px;align-items:center;margin-bottom:-104px;padding:34px 38px;border-radius:var(--r-card);background:var(--band-grad-deep);border:1px solid var(--ice-line);box-shadow:var(--sh-dark);color:#fff;overflow:hidden}
.rsg-inm-x.bl .bl-auth-plate::before{content:"";position:absolute;left:30px;right:30px;top:0;height:3px;border-radius:0 0 2px 2px;background:var(--gold-line)}
.rsg-inm-x.bl .bl-auth-plate::after{content:"";position:absolute;inset:0;background:radial-gradient(120% 120% at 100% 0,rgba(83,157,214,.16),transparent 62%);pointer-events:none}
.rsg-inm-x.bl .bl-auth-face{position:relative;z-index:1;width:150px;height:150px;border-radius:50%;object-fit:cover;object-position:50% 22%;background:#0B1B36;border:1px solid rgba(169,211,240,.4);box-shadow:0 14px 26px rgba(0,0,0,.4)}
.rsg-inm-x.bl .bl-auth-copy{position:relative;z-index:1}
.rsg-inm-x.bl .bl-auth-copy .hp-h2{color:#fff;font-size:clamp(24px,2.3vw,32px)}
.rsg-inm-x.bl .bl-auth-copy p{margin-top:12px;max-width:56ch;color:var(--muted-dark)}
.rsg-inm-x.bl .bl-auth-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 30px;margin-top:20px;padding-top:20px;border-top:1px solid var(--ice-line)}
.rsg-inm-x.bl .bl-auth-list li{display:flex;align-items:flex-start;gap:11px;font-size:14px;font-weight:600;line-height:1.45;color:#fff}
.rsg-inm-x.bl .bl-auth-list li::before{content:"";flex:none;width:8px;height:8px;margin-top:7px;border-radius:2px;background:var(--h2-gold);transform:rotate(45deg)}
.rsg-inm-x.bl .bl-auth-more{margin-top:22px}
.rsg-inm-x.bl .bl-auth-more .hp-textlink{color:#fff}
.rsg-inm-x.bl .bl-auth-more .hp-textlink:hover{border-color:var(--h2-gold);color:var(--h2-gold)}

@media (max-width:1100px){
  .rsg-inm-x.bl .bl-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rsg-inm-x.bl .bl-tools{align-items:stretch;flex-direction:column}
  .rsg-inm-x.bl .bl-srch{width:100%}
  .rsg-inm-x.bl .bl-srch input{width:100%}
}
@media (max-width:900px){
  .rsg-inm-x.bl .bl-hero{padding:48px 0 96px;min-height:0}
  .rsg-inm-x.bl .bl-hbg{width:100%;-webkit-mask-image:none;mask-image:none}
  .rsg-inm-x.bl .bl-hero-scrim{background:linear-gradient(180deg,rgba(11,27,54,.92) 0%,rgba(11,27,54,.8) 44%,rgba(11,27,54,.94) 100%)}
  .rsg-inm-x.bl .bl-feat .hp-bcard--wide{margin-top:-116px}
  .rsg-inm-x.bl .bl-flag{top:-40px}
  .rsg-inm-x.bl .bl-auth-plate{grid-template-columns:1fr;gap:22px;padding:28px 24px;text-align:left;margin-bottom:-88px}
  .rsg-inm-x.bl .bl-auth-face{width:104px;height:104px}
}
@media (max-width:767px){
  .rsg-inm-x.bl .bl-grid{grid-template-columns:minmax(0,1fr)}
  .rsg-inm-x.bl .bl-auth-list{grid-template-columns:1fr}
  .rsg-inm-x.bl .bl-lib{padding:var(--pad-1) 0 var(--pad-2)}
}
