.gwrap{max-width:1320px;margin:0 auto;--pg-accent:#2F5D8A}
.accent-sf{--pg-accent:#C65A1E}
.geyebrow{font:600 12px/1.3 'IBM Plex Mono',monospace;letter-spacing:0.12em;text-transform:uppercase;color:var(--pg-accent,#2F5D8A)}
.gwrap h2{margin:0 0 8px;font:600 28px/1.29 Archivo,sans-serif;letter-spacing:-0.01em;max-width:50ch;text-wrap:pretty}
.geyebrow+h2,h1+.geyebrow{margin-top:16px}
.gwrap h3{margin:32px 0 0;font:500 20px/1.4 Archivo,sans-serif;max-width:40ch}
.gwrap p{margin:16px 0 0;font:400 17px/1.6 Inter,sans-serif;color:#6B7280;max-width:74ch;text-wrap:pretty}
.gwrap h3+p{margin-top:8px}
.gwrap a{color:var(--pg-accent,#2F5D8A)}
.gwrap a:hover{color:#1C1C1C}
/* card grid (replaces definition tables and h3 runs) */
.gcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:32px}
.gcard{background:#FFFFFF;border:1px solid #E5E7EB;border-top:3px solid var(--pg-accent,#2F5D8A);border-radius:4px;padding:28px}
.gcard h3{margin:0;font:600 19px/1.3 Archivo,sans-serif;max-width:none}
.gcard p{margin:10px 0 0;font:400 15px/1.6 Inter,sans-serif;color:#6B7280;max-width:none}
.gcard a{font:600 14px/1 Inter,sans-serif;text-decoration:none;display:inline-block;margin-top:14px}
/* numbered step pipeline */
.gsteps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-top:32px}
.gstep{background:#FFFFFF;border:1px solid #E5E7EB;border-radius:4px;padding:20px 16px}
.gstep .n{font:600 13px/1 'IBM Plex Mono',monospace;color:var(--pg-accent,#2F5D8A)}
.gstep h3{margin:10px 0 0;font:600 16px/1.3 Archivo,sans-serif}
.gstep p{margin:8px 0 0;font:400 13px/1.5 Inter,sans-serif;color:#6B7280;max-width:none}
/* short-item tile grid */
.gtiles{margin:32px 0 0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.gtiles li{border:1px solid #E5E7EB;border-left:3px solid var(--pg-accent,#2F5D8A);background:#FFFFFF;padding:14px 18px;font:500 15px/1.5 Inter,sans-serif;border-radius:4px}
.glist{margin:32px 0 0;padding:0;list-style:none;display:grid;gap:12px;max-width:860px}
.glist li{border:1px solid #1C1C1C;background:#FFFFFF;padding:14px 20px;font:500 15px/1.5 Inter,sans-serif;border-radius:4px}
/* tables that stay tables */
.gtbl{margin:32px 0 0;overflow-x:auto}
.gtbl table{width:100%;border-collapse:collapse;font:400 16px/1.5 Inter,sans-serif;background:#FFFFFF}
.gtbl td,.gtbl th{text-align:left;vertical-align:top;padding:14px 16px;border-bottom:1px solid #E5E7EB}
.gtbl thead th,.gtbl tr:first-child td:only-child{background:#1C1C1C;color:#FFFFFF}
.gtbl tr td:first-child{font-weight:600;color:#1C1C1C;width:220px}
.gtbl td{color:#6B7280}
/* buttons */
.gcta{display:flex;gap:16px;margin-top:32px;flex-wrap:wrap}
.gbtn{display:inline-flex;align-items:center;height:48px;padding:0 22px;background:var(--pg-accent,#2F5D8A);color:#FFFFFF !important;border-radius:4px;font:600 15px/1 Inter,sans-serif;text-decoration:none;transition:background 150ms ease-out}
.gbtn:hover{background:#1C1C1C;color:#FFFFFF !important}
.gbtn-sec{background:#C65A1E;color:#FFFFFF !important;border:none}
.gbtn-sec:hover{background:#A04A18;color:#FFFFFF !important}
/* dark band */
.gdark{background:#0B1120;color:#FFFFFF}
.gdark .gwrap h2,.gdark .gwrap h3{color:#FFFFFF}
.gdark .gwrap p{color:#F2F2F2}
.gdark .gcard,.gdark .gstep,.gdark .gtiles li{background:#111B2F;border-color:#24334D;border-top-color:var(--pg-accent,#2F5D8A)}
.gdark .gtiles li{border-left-color:var(--pg-accent,#2F5D8A)}
.gdark .gcard p,.gdark .gstep p,.gdark .gstep .n{color:#F2F2F2}
.gdark .gstep .n{color:var(--pg-accent,#2F5D8A);filter:brightness(1.35)}
.gdark .gwrap a{color:#FFFFFF;text-decoration:underline}
.gdark .gbtn-sec{background:transparent;color:#FFFFFF !important;border:1.5px solid #FFFFFF}
.gdark .gbtn-sec:hover{background:rgba(255,255,255,.12)}
.gdark .gtbl table{background:transparent}
.gdark .gtbl td{color:#F2F2F2}
.gdark .gtbl tr td:first-child{color:#FFFFFF}
/* closing band */
.gclose{background:#0B1120;color:#FFFFFF;padding:88px 24px}
.gclose .inner{max-width:860px;margin:0 auto;text-align:center;display:flex;flex-direction:column;align-items:center;gap:8px}
.gclose h2{margin:0;font:600 28px/1.3 Archivo,sans-serif;max-width:26ch;text-wrap:pretty}
.gclose p{margin:8px 0 0;font:500 13px/1.2 Archivo,sans-serif;letter-spacing:0.08em;text-transform:uppercase;color:#F2F2F2}
/* glossary */
.gdefs{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:24px}
.gdef{background:#FFFFFF;border:1px solid #E5E7EB;border-left:3px solid #2F5D8A;border-radius:4px;padding:24px}
.gdef.sf{border-left-color:#C65A1E}
.gdef h3{margin:0;font:600 18px/1.35 Archivo,sans-serif}
.gdef.sf h3{color:#C65A1E}
.gdef p{margin:10px 0 0;font:400 15px/1.6 Inter,sans-serif;color:#6B7280}
/* inline Signal Fabric emphasis */
.sf-ink{color:#C65A1E}

.gcard.sf-card{border-top-color:#C65A1E}
.gcard.sf-card a,.sf-ink{color:#C65A1E !important}

/* split editorial layout: heading rail left, content right */
.gsplit .ghead{margin-bottom:8px}
.gsplit .gbody p{max-width:80ch}
.gsplit .gbody>:first-child{margin-top:32px}
.gsplit .gbody .gcards{margin-top:32px}
/* steel blue statement band */
.gblue{background:#2F5D8A;color:#FFFFFF}
.gblue .gwrap h2,.gblue .gwrap h3{color:#FFFFFF}
.gblue .gwrap p{color:#F2F2F2}
.gblue .geyebrow{color:#FFFFFF}
.gblue .gcard,.gblue .gtiles li{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.35);border-top-color:#FFFFFF}
.gblue .gtiles li{border-left-color:#FFFFFF}
.gblue .gcard p{color:#F2F2F2}
.gblue .gwrap a{color:#FFFFFF;text-decoration:underline}
.gblue .gbtn{background:#FFFFFF;color:#2F5D8A !important}
.gblue .gbtn:hover{background:#1C1C1C;color:#FFFFFF !important}
.gblue .gbtn-sec{background:transparent;color:#FFFFFF !important;border:1.5px solid #FFFFFF}
.gdark .glist li{background:#111B2F;border-color:#24334D;color:#FFFFFF}
.gblue .glist li{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.4);color:#FFFFFF}

.gfig{margin:44px 0 0}
.gfig img{display:block;width:100%;height:auto;border:1px solid #E5E7EB;border-radius:4px;background:#FFFFFF}
.gdark .gfig img,.gblue .gfig img{border-color:rgba(255,255,255,.3)}
.gstats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;margin-top:48px}
.gstat .v{font:600 44px/1 Archivo,sans-serif;color:#FFFFFF}
.gstat .l{margin-top:10px;font:500 13px/1.4 Archivo,sans-serif;letter-spacing:0.06em;text-transform:uppercase;color:#F2F2F2}

.gwrap img,.gfig img,section img{border-radius:4px}

/* centered statement treatment for colored bands */
.gdark .ghead,.gblue .ghead,.gclose .inner{text-align:center}
.gdark .gwrap>.geyebrow,.gblue .gwrap>.geyebrow{text-align:center}
.gdark .gwrap h2,.gblue .gwrap h2{margin-left:auto;margin-right:auto;text-align:center}
.gdark .ghead+.gbody>p:first-child,.gblue .ghead+.gbody>p:first-child{margin-left:auto;margin-right:auto;text-align:center;max-width:66ch}
.gstats{text-align:center}
.gstat .v{color:#FFFFFF}

/* two-column prose flow fills the container on wide screens */
@media (min-width:1024px){
.gcols{columns:2;column-gap:72px}
.gcols p{max-width:none}
.gcols p:first-child{margin-top:0}
.gdark .ghead+.gbody .gcols,.gblue .ghead+.gbody .gcols{text-align:left}
}
.gsplit .gbody>.gcols:first-child{margin-top:32px}

/* color-washed alternating sections */
.gtint{background:#E8EFF5}
.gtint.accent-sf{background:#F8EFE7}
.gtint .gcard,.gtint .gtiles li,.gtint .gstep,.gtint .glist li,.gtint .gdef{background:#FFFFFF}
.gstep{border-top:3px solid var(--pg-accent,#2F5D8A)}
.gdark .gstep,.gblue .gstep{border-top-color:var(--pg-accent,#2F5D8A)}

/* secondary buttons must be visible on the dark closing band */
.gclose .gbtn-sec{background:transparent;color:#FFFFFF !important;border:1.5px solid #FFFFFF}
.gclose .gbtn-sec:hover{background:rgba(255,255,255,.12);color:#FFFFFF !important}

/* SD-kinship treatments */
.haccent{color:var(--pg-accent,#2F5D8A)}
.gherostats{display:flex;gap:56px;flex-wrap:wrap;margin-top:44px;padding-top:24px;border-top:1px solid #E5E7EB}
.gherostats span{display:block;font:600 11px/1.3 'IBM Plex Mono',monospace;letter-spacing:0.12em;text-transform:uppercase;color:#6B7280}
.gherostats b{display:block;margin-top:6px;font:600 15px/1.3 'IBM Plex Mono',monospace;color:#1C1C1C}
footer{background-color:#0B1120 !important}
.gdark .gstat .v,.gstat .v{color:#FFFFFF}
