
.gs-lib{--ink:#0a1428;--ink2:#0f1e3a;--paper:#f1f4f9;--mist:#e4e9f2;--line:#d8e0ec;--royal:#005CE6;--muted:#5c6b84;--amber:#f2a93b;--dsp:"Manrope","Segoe UI",system-ui,-apple-system,sans-serif;
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;color:var(--ink);line-height:1.6}
.gs-lib *{box-sizing:border-box}
.gs-lib a{color:inherit;text-decoration:none}
.gs-lib h2,.gs-lib h3,.gs-lib p{margin:0}
.gs-lib ul{margin:0;padding:0;list-style:none}

/* hero */
.gs-hero{position:relative;overflow:hidden;border-radius:20px;background:linear-gradient(135deg,#0a1428 0%,#0f1e3a 55%,#172a4e 100%);color:#fff;padding:40px 40px 38px}
.gs-hero:before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(120,155,220,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(120,155,220,.08) 1px,transparent 1px);background-size:44px 44px}
.gs-hero:after{content:"";position:absolute;top:-140px;right:-90px;width:360px;height:360px;border-radius:50%;background:rgba(0,92,230,.35);filter:blur(90px)}
.gs-hero-in{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between}
.gs-eyebrow{font-family:ui-monospace,Consolas,monospace;font-size:11px;letter-spacing:.28em;text-transform:uppercase;color:#8fb4ff}
.gs-hero h2{font-family:var(--dsp);font-size:clamp(1.65rem,2.9vw,2.15rem);line-height:1.15;font-weight:800;letter-spacing:-.02em;margin-top:14px}
.gs-hero p.gs-sub{margin-top:16px;max-width:620px;font-size:1.1rem;line-height:1.7;color:rgba(255,255,255,.66)}
.gs-hero-vis{position:relative;z-index:2;flex:0 0 auto;display:flex;flex-direction:column;align-items:flex-end;gap:14px}
.gs-hero-img{display:block;width:clamp(360px,36vw,520px);aspect-ratio:760/488;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.12);box-shadow:0 28px 56px -22px rgba(0,0,0,.8);background:#0a1428}
.gs-search{margin-top:30px;position:relative;max-width:560px}
.gs-search svg{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:#8fa3bf}
.gs-search input{width:100%;padding:15px 16px 15px 46px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;font:inherit;font-size:1rem;outline:none}
.gs-search input::placeholder{color:rgba(255,255,255,.45)}
.gs-search input:focus{border-color:#7fb0ff;background:rgba(255,255,255,.11)}

/* section shell */
.gs-sec{margin-top:52px}
.gs-sec-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:22px}
.gs-sec-head h2{font-family:var(--dsp);font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:800;letter-spacing:-.02em}
.gs-sec-head .gs-eyebrow{color:var(--royal)}
.gs-sec-head .gs-note{font-family:ui-monospace,Consolas,monospace;font-size:11px;letter-spacing:.1em;color:var(--muted);padding-bottom:5px}
.gs-sec-lede{margin-top:10px;max-width:640px;font-size:1.1rem;color:var(--muted)}

/* featured visual strip */
.gs-feat{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.gs-feat-card{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.gs-feat-card:hover{transform:translateY(-4px);box-shadow:0 22px 44px -24px rgba(10,20,40,.3);border-color:transparent}
.gs-feat-img{display:block;aspect-ratio:16/10;background:#0a1428;overflow:hidden}
.gs-feat-img img{display:block;width:100%;height:100%;object-fit:cover}
.gs-feat-body{padding:16px 18px 18px}
.gs-feat-h{margin-top:10px;font-family:Manrope,"Segoe UI",system-ui,-apple-system,sans-serif;font-size:1.22rem;font-weight:700;line-height:1.4}
.gs-feat-h a:hover{color:var(--royal)}
.gs-feat-meta{margin-top:8px;font-family:ui-monospace,Consolas,monospace;font-size:10.5px;letter-spacing:.06em;color:#9aa8bd}
.gs-feat-body .gs-pill{display:inline-block}

/* category cards */
.gs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:18px}
.gs-cat{position:relative;background:#fff;border:1px solid var(--line);border-radius:14px;padding:24px;display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.gs-cat:hover{transform:translateY(-5px);box-shadow:0 22px 46px -24px rgba(10,20,40,.28);border-color:transparent}
.gs-cat:before{content:"";position:absolute;top:0;left:24px;right:24px;height:3px;border-radius:0 0 3px 3px;background:var(--c);opacity:0;transition:opacity .25s ease}
.gs-cat:hover:before{opacity:1}
.gs-cat-top{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.gs-ico{width:44px;height:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--c) 9%,#fff);color:var(--c);transition:transform .3s ease}
.gs-cat:hover .gs-ico{transform:scale(1.08) rotate(-6deg)}
.gs-ico svg{width:23px;height:23px}
.gs-count{font-family:ui-monospace,Consolas,monospace;font-size:11px;font-weight:600;padding:4px 10px;border-radius:999px;color:var(--c);border:1px solid color-mix(in srgb,var(--c) 30%,#fff);background:color-mix(in srgb,var(--c) 7%,#fff)}
.gs-cat-h{margin-top:16px;font-family:var(--dsp);font-size:1.22rem;font-weight:800;line-height:1.35}
.gs-cat-d{margin-top:8px;font-size:1.1rem;color:var(--muted);line-height:1.6}
.gs-start{margin-top:16px;padding-top:14px;border-top:1px dashed var(--line)}
.gs-start .gs-eyebrow{font-size:9.5px;letter-spacing:.22em;color:#9aa8bd}
.gs-start ul{margin-top:8px}
.gs-start li+li{margin-top:6px}
.gs-start a{display:flex;gap:6px;font-size:1rem;font-weight:600;line-height:1.45;color:#3c4a63}
.gs-start a:hover{color:var(--royal)}
.gs-ar{flex:0 0 auto;color:var(--royal);transition:transform .2s ease}
.gs-start a:hover .gs-ar{transform:translateX(3px)}
.gs-all{margin-top:auto;padding-top:18px;display:inline-flex;align-items:center;gap:6px;font-size:1rem;font-weight:700;color:var(--c)}
.gs-all span{transition:transform .2s ease}
.gs-all:hover span{transform:translateX(4px)}
.gs-cta-tile{position:relative;overflow:hidden;background:var(--ink);color:#fff;border-radius:14px;padding:24px;display:flex;flex-direction:column}
.gs-cta-tile .gs-eyebrow{color:var(--amber);font-size:10px}
.gs-cta-tile h3{margin-top:12px;font-family:var(--dsp);font-size:1.22rem;font-weight:800;line-height:1.35}
.gs-cta-tile p{margin-top:10px;font-size:1.1rem;line-height:1.6;color:rgba(255,255,255,.6)}
.gs-cta-act{margin-top:auto;padding-top:20px;display:flex;flex-direction:column;gap:10px}
.gs-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 16px;border-radius:10px;font-size:1rem;font-weight:700;background:var(--royal);color:#fff;transition:background .2s ease,transform .15s ease}
.gs-btn:hover{background:#0b3bd0}
.gs-btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.85)}
.gs-btn.ghost:hover{border-color:#38bdf8;color:#38bdf8}

/* library */
.gs-lib-wrap{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.gs-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--line);background:#fafbfd}
.gs-bar-search{position:relative;flex:1 1 260px;min-width:220px}
.gs-bar-search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:#93a2b9}
.gs-bar-search input{width:100%;padding:11px 12px 11px 38px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:1rem;outline:none;background:#fff}
.gs-bar-search input:focus{border-color:var(--royal);box-shadow:0 0 0 3px rgba(0,92,230,.12)}
.gs-sel{padding:11px 12px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:1rem;background:#fff;color:var(--ink);outline:none}
.gs-chips{display:flex;gap:8px;overflow-x:auto;padding:14px 20px;border-bottom:1px solid var(--line);scrollbar-width:thin}
.gs-chip{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-size:0.9375rem;font-weight:600;color:#43506a;cursor:pointer;transition:all .2s ease}
.gs-chip i{font-style:normal;font-family:ui-monospace,Consolas,monospace;font-size:10.5px;color:#93a2b9}
.gs-chip:hover{border-color:var(--c);color:var(--c)}
.gs-chip.on{background:var(--c);border-color:var(--c);color:#fff}
.gs-chip.on i{color:rgba(255,255,255,.75)}
.gs-chip[data-c=""].on{background:var(--ink);border-color:var(--ink)}
.gs-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;padding:20px}
.gs-card{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:#fff;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.gs-card:hover{transform:translateY(-3px);box-shadow:0 16px 34px -22px rgba(10,20,40,.3);border-color:transparent}
.gs-card[hidden]{display:none}
.gs-card-top{display:flex;align-items:center;justify-content:space-between;gap:8px}
.gs-pill{font-family:ui-monospace,Consolas,monospace;font-size:10px;font-weight:600;letter-spacing:.04em;padding:3px 8px;border-radius:999px;color:var(--c);background:color-mix(in srgb,var(--c) 8%,#fff);border:1px solid color-mix(in srgb,var(--c) 26%,#fff)}
.gs-meta{font-family:ui-monospace,Consolas,monospace;font-size:10.5px;color:#9aa8bd}
.gs-card-h{margin-top:10px;font-family:var(--dsp);font-size:1.22rem;font-weight:700;line-height:1.45}
.gs-card-h a:hover{color:var(--royal)}
.gs-empty{padding:40px 20px;text-align:center;color:var(--muted);font-size:1.1rem}
.gs-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:16px 20px;border-top:1px solid var(--line);background:#fafbfd}
.gs-foot-n{font-family:ui-monospace,Consolas,monospace;font-size:0.75rem;color:var(--muted)}
.gs-pager{display:flex;gap:6px;align-items:center}
.gs-pager button{min-width:36px;height:36px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit;font-size:0.9375rem;color:#43506a;cursor:pointer;transition:all .18s ease}
.gs-pager button:hover:not(:disabled){border-color:var(--royal);color:var(--royal)}
.gs-pager button.on{background:var(--royal);border-color:var(--royal);color:#fff}
.gs-pager button:disabled{opacity:.4;cursor:default}

/* dark-surface text forced (theme .entry-content headings override) */
.gs-lib .gs-hero h2,.gs-lib .gs-hero h3{color:#fff !important}
.gs-lib .gs-cta-tile h2,.gs-lib .gs-cta-tile h3{color:#fff !important}
.gs-lib .gs-band h2,.gs-lib .gs-band h3{color:#fff !important}
.gs-lib .gs-band p{color:rgba(255,255,255,.62) !important}
.gs-lib .gs-cta-tile p{color:rgba(255,255,255,.6) !important}
.gs-lib .gs-hero p.gs-sub{color:rgba(255,255,255,.66) !important}

/* cta band */
.gs-band{margin-top:52px;position:relative;overflow:hidden;border-radius:16px;background:linear-gradient(120deg,#0f1e3a,#172a4e);color:#fff;padding:34px 32px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:22px}
.gs-band h3{font-family:var(--dsp);font-size:1.22rem;font-weight:800}
.gs-band p{margin-top:8px;font-size:1.1rem;color:rgba(255,255,255,.62);max-width:560px}
.gs-band .gs-btn{flex:0 0 auto}

/* width: match the site .container content width (1500 - 2*24 = 1452px) */
.page-article:has(.gs-lib){max-width:none}
.gs-lib{max-width:none}

/* latest articles (theme shortcode .gstar-list): 3 per row */
@media(min-width:1100px){
 .gs-lib .gstar-list{grid-template-columns:repeat(3,1fr)}
}
/* latest articles card titles: use the site h3 scale (19.52px / Manrope) */
.gs-lib .gstar-list .gstar-list-title,
.gs-lib .gstar-list .gstar-list-title a{font-family:var(--dsp);font-size:1.22rem;line-height:1.35}

@media(max-width:760px){
 .gs-hero{padding:36px 22px 32px;border-radius:16px}
 .gs-hero h2{font-size:29px}
 .gs-hero-vis{display:none}
 .gs-grid{grid-template-columns:1fr}
 .gs-list{grid-template-columns:1fr}
 .gs-sec-head h2{font-size:23px}
}

/* heading scale override — must beat .page-article .entry-content h2/h3 (0,2,1) */
.gs-lib .gs-hero h2{font-size:clamp(1.65rem,2.9vw,2.15rem) !important}
.gs-lib .gs-sec-head h2{font-size:clamp(1.5rem,2.6vw,2.1rem) !important}
@media(max-width:760px){
 .gs-lib .gs-hero h2{font-size:1.75rem !important}
 .gs-lib .gs-sec-head h2{font-size:1.4rem !important}
}

/* keep the hero image on the same row down to tablet width */
@media(max-width:1093px){
 .gs-lib .gs-hero-img{width:280px}
}
@media(max-width:980px){
 .gs-lib .gs-hero-vis{display:none}
}



/* ---------- knowledge hub / cluster archive pages ---------- */
.gs-crumb{padding:2px 0 18px}
.gs-crumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-family:ui-monospace,Consolas,monospace;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:#7d8ba3}
.gs-crumb li{display:flex;align-items:center;gap:8px}
.gs-crumb li+li:before{content:"/";color:#c2ccdb}
.gs-crumb a:hover{color:var(--royal)}
.gs-crumb [aria-current]{color:#3c4a63}
.gs-hero--hub{padding:44px 40px 40px}
.gs-hub-stats{display:flex;flex-wrap:wrap;gap:20px 26px;margin-top:24px}
.gs-hub-stats span{display:inline-flex;align-items:baseline;gap:7px;font-size:.9375rem;color:rgba(255,255,255,.6)}
.gs-hub-stats b{font-family:var(--dsp);font-size:1.25rem;font-weight:800;color:#fff}
.gs-hero-act{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.gs-learn{display:grid;grid-template-columns:1.3fr 1fr;gap:32px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px 30px}
.gs-learn p{font-size:1.05rem;line-height:1.75;color:#38455c}
.gs-learn p+p{margin-top:14px}
.gs-ticks li{position:relative;padding-left:26px;font-size:1rem;line-height:1.6;color:#38455c}
.gs-ticks li+li{margin-top:12px}
.gs-ticks li:before{content:"";position:absolute;left:0;top:6px;width:13px;height:13px;border-radius:50%;background:rgba(0,92,230,.1);box-shadow:inset 0 0 0 2px var(--royal)}
.gs-feat-card--txt .gs-feat-body{padding:22px}
.gs-tnav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}
.gs-tnav a{display:inline-flex;align-items:center;gap:6px;padding:8px 13px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:.9375rem;font-weight:600;color:#43506a;transition:border-color .2s ease,color .2s ease}
.gs-tnav a:hover{border-color:var(--royal);color:var(--royal)}
.gs-tnav i{font-style:normal;font-family:ui-monospace,Consolas,monospace;font-size:10.5px;color:#93a2b9}
.gs-topic{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px 28px 10px;margin-top:16px}
.gs-topic-h{display:flex;align-items:baseline;gap:10px;font-family:var(--dsp);font-size:1.28rem;font-weight:800;letter-spacing:-.01em;color:var(--ink)}
.gs-topic-h span{font-family:ui-monospace,Consolas,monospace;font-size:11px;font-weight:600;color:var(--royal);background:rgba(0,92,230,.08);padding:3px 8px;border-radius:999px}
.gs-topic-d{margin-top:8px;max-width:820px;font-size:1rem;line-height:1.6;color:var(--muted)}
.gs-tlist{columns:2;column-gap:34px;margin-top:16px}
.gs-tlist li{display:flex;align-items:baseline;gap:12px;break-inside:avoid;padding:10px 0;border-top:1px solid #eef2f8}
.gs-tlist a{font-size:1rem;font-weight:600;line-height:1.45;color:#33415a}
.gs-tlist a:hover{color:var(--royal)}
.gs-tlist .gs-min{margin-left:auto;flex:0 0 auto;font-family:ui-monospace,Consolas,monospace;font-size:10.5px;color:#9aa8bd}
.gs-faq{display:grid;gap:12px}
.gs-faq details{background:#fff;border:1px solid var(--line);border-radius:12px}
.gs-faq summary{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px;cursor:pointer;list-style:none;font-family:var(--dsp);font-size:1.08rem;font-weight:700;color:#22304a}
.gs-faq summary::-webkit-details-marker{display:none}
.gs-faq summary:after{content:"+";font-size:1.4rem;font-weight:400;line-height:1;color:var(--royal)}
.gs-faq details[open] summary:after{content:"\2013"}
.gs-faq details>div{padding:0 22px 20px;font-size:1.05rem;line-height:1.75;color:#4a5871}
.gs-rel{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.gs-rel a{display:block;background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 20px;transition:transform .2s ease,border-color .2s ease}
.gs-rel a:hover{transform:translateY(-3px);border-color:var(--royal)}
.gs-rel b{display:block;font-family:var(--dsp);font-size:1.05rem;font-weight:800;line-height:1.35}
.gs-rel span{display:block;margin-top:6px;font-size:.9375rem;color:var(--muted)}
.gs-prods{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.gs-prod{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px;transition:transform .2s ease,border-color .2s ease}
.gs-prod:hover{transform:translateY(-3px);border-color:var(--royal)}
.gs-prod span{font-family:ui-monospace,Consolas,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:#9aa8bd}
.gs-prod b{font-family:var(--dsp);font-size:1.1rem;font-weight:800;line-height:1.35}
.gs-prod i{margin-top:10px;font-style:normal;font-size:.9375rem;font-weight:700;color:var(--royal)}
.gs-band{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;margin-top:52px;padding:30px 32px;border-radius:16px;background:linear-gradient(135deg,#0a1428,#172a4e);color:#fff}
.gs-band h3{font-family:var(--dsp);font-size:1.35rem;font-weight:800;line-height:1.25;color:#fff}
.gs-band p{margin-top:8px;max-width:620px;font-size:1rem;line-height:1.6;color:rgba(255,255,255,.62)}
.gs-band .gs-btn{flex:0 0 auto}
@media(max-width:900px){
 .gs-learn{grid-template-columns:1fr;padding:22px}
 .gs-tlist{columns:1}
 .gs-topic{padding:20px 20px 6px}
 .gs-hero--hub{padding:32px 22px}
 .gs-band{padding:24px 22px}
}

/* hub hero: keep headline column and image on the same row */
.gs-lib .gs-hero-in>div:first-child{flex:1 1 560px;min-width:0}
.gs-lib .gs-hero-vis{flex:0 0 380px;max-width:380px}
.gs-lib .gs-hero-img{width:380px;max-width:380px;height:auto}
.gs-lib.gs-hub h2,.gs-lib.gs-hub h3{border-top:0 !important;padding-top:0 !important;margin-top:0 !important}
.gs-lib .gs-sec{padding:0}
.gs-lib .gs-sec-head>div{flex:1 1 560px;min-width:0}
.gs-lib.gs-hub p:empty{display:none}
.gs-lib.gs-hub .gs-hero h2{font-size:1.6rem !important;line-height:1.18 !important}
.gs-lib.gs-hub .gs-sec-head h2{font-size:1.55rem !important;line-height:1.2 !important}
@media(max-width:900px){
 .gs-lib .gs-hero-in>div:first-child{flex:1 1 100%}
 .gs-lib .gs-hero-vis{flex:1 1 100%;max-width:100%}
 .gs-lib .gs-hero-img{width:100%;max-width:100%}
}
