/* ==========================================================================
   GM Core — Single Post. Self-sufficient; scoped to .gm-post.
   Pixel-matched to growth-master-single-post.html. The article-body rules also
   style native WordPress post content (headings, lists, quotes, tables, images).
   ========================================================================== */
.gm-post{
  --n:var(--navy,#0A1B33); --n2:var(--navy-2,#102847); --n3:var(--navy-3,#17375E);
  --gold:var(--gold,#D9A02B); --gold-lt:var(--gold-lt,#E8B33C); --gold-dk:var(--gold-dk,#B97512); --gold-text:var(--gold-text,#8A5A0C);
  --grw:var(--growth,linear-gradient(90deg,#1F4FBF,#0E7CC4 34%,#0AA9AC 68%,#0FA37A));
  --b1:var(--bar-1,#1F4FBF); --b2:var(--bar-2,#0E7CC4); --b3:var(--bar-3,#0AA9AC); --b4:var(--bar-4,#0FA37A); --b2t:var(--bar-2-t,#0E7BC4);
  --cream:var(--cream,#FCF9F2); --grey:var(--grey,#F3F6F9); --muted:var(--muted,#63738A); --border:var(--border,#E1E7EE);
  --r:var(--r,14px); --rlg:var(--r-lg,22px); --pill:var(--r-pill,100px);
  --sh:var(--sh,0 4px 24px rgba(10,27,51,.07)); --shlg:var(--sh-lg,0 18px 48px rgba(10,27,51,.14));
  --ease:var(--ease,260ms cubic-bezier(.4,0,.2,1));
  font-family:var(--sans,"Inter",-apple-system,"Segoe UI",Roboto,sans-serif);color:var(--dark,#16202E);
}
.gm-post__wrap{max-width:1240px;margin:0 auto;padding:0 28px;box-sizing:border-box}

/* header (navy) — full-bleed */
.gm-post__head{background:var(--n)!important;color:#fff;position:relative;overflow:hidden;padding:52px 0 60px;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;max-width:100vw}
.gm-post__head::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(620px 340px at 86% 12%,rgba(31,79,191,.26),transparent 60%),radial-gradient(520px 320px at 6% 94%,rgba(15,163,122,.15),transparent 62%)}
.gm-post__head::after{content:"";position:absolute;left:0;right:0;bottom:0;height:5px;background:var(--grw)}
.gm-post__head-in{position:relative;max-width:820px;margin:0 auto;padding:0 28px;box-sizing:border-box}
.gm-post__crumbs{font-size:.8rem;color:rgba(255,255,255,.55);margin-bottom:20px}
.gm-post__crumbs a{color:rgba(255,255,255,.55)!important;text-decoration:none!important}
.gm-post__crumbs a:hover{color:#E8B33C!important}
.gm-post__crumbs span{margin:0 8px;opacity:.5}
.gm-post .tag{display:inline-flex;align-items:center;gap:6px;font-size:.7rem!important;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:5px 12px;border-radius:var(--pill);color:#fff;margin-bottom:18px;line-height:1.2!important}
.gm-post .tag--equity{background:#1F4FBF!important}
.gm-post .tag--index{background:#0E7CC4!important}
.gm-post .tag--fno{background:#0AA9AC!important}
.gm-post .tag--market{background:#0FA37A!important}
.gm-post .tag--default{background:#17375E!important}
.gm-post__head h1{font-size:clamp(2rem,3.8vw,2.9rem)!important;font-weight:800!important;letter-spacing:-.03em;line-height:1.12!important;margin:0 0 22px;color:#fff}
.gm-post__meta{display:flex;align-items:center;gap:14px;font-size:.9rem;color:rgba(255,255,255,.7);flex-wrap:wrap}
.gm-post__meta .av{width:38px;height:38px;border-radius:50%;background:var(--n3);color:var(--gold-lt);display:grid;place-items:center;font-size:.85rem;font-weight:800;border:1px solid rgba(232,179,60,.3)}
.gm-post__meta b{color:#fff;font-weight:600}
.gm-post__meta .dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.4)}

/* featured image */
.gm-post__fimg{margin-top:-40px;position:relative;z-index:2}
.gm-post__fimg-box{max-width:1000px;margin:0 auto;aspect-ratio:16/8;border-radius:var(--rlg);overflow:hidden;background:linear-gradient(150deg,#17375E,#0A1B33);box-shadow:var(--shlg);display:grid;place-items:center;border:1px solid #E1E7EE!important;background-size:cover;background-position:center}
.gm-post__fimg-box .ph{color:rgba(255,255,255,.28)}
.gm-post__fimg-box .ph svg{width:64px;height:64px}

/* body layout */
.gm-post__body{padding:52px 0 40px}
.gm-post__grid{display:grid;grid-template-columns:1fr 240px;gap:56px;align-items:start;max-width:1000px;margin:0 auto}
.gm-post__grid--nosb{grid-template-columns:1fr;max-width:760px}

/* article — also styles native WP content */
.gm-post__article{max-width:720px;font-size:1.06rem}
.gm-post__article p{color:#33404f;margin:0 0 22px;line-height:1.7!important}
.gm-post__article h2{font-size:1.6rem!important;font-weight:800!important;color:var(--n);letter-spacing:-.02em;line-height:1.2!important;margin:40px 0 14px}
.gm-post__article h3{font-size:1.22rem!important;font-weight:700!important;color:var(--n3);line-height:1.3!important;margin:30px 0 10px}
.gm-post__article h4{font-size:1.05rem!important;font-weight:700!important;color:var(--n3);margin:24px 0 8px}
.gm-post__article a{color:var(--b2t);font-weight:600;text-decoration:underline}
.gm-post__article strong{color:var(--n);font-weight:700}
.gm-post__article img{border-radius:var(--r);margin:0 0 22px}
.gm-post__article ul,.gm-post__article ol{margin:0 0 22px;padding-left:0;list-style:none}
.gm-post__article li{position:relative;padding-left:28px;margin-bottom:11px;color:#33404f;line-height:1.6!important}
.gm-post__article ul li::before{content:"";position:absolute;left:3px;top:11px;width:8px;height:8px;border-radius:50%;background:var(--gold)}
.gm-post__article ol{counter-reset:n}
.gm-post__article ol li{counter-increment:n}
.gm-post__article ol li::before{content:counter(n);position:absolute;left:0;top:1px;width:22px;height:22px;border-radius:50%;background:var(--n);color:#fff;font-size:.72rem;font-weight:700;display:grid;place-items:center}
.gm-post__article blockquote{border-left:4px solid transparent;border-image:var(--grw) 1;background:var(--grey);padding:20px 26px;border-radius:0 var(--r) var(--r) 0;margin:26px 0;font-size:1.15rem;font-weight:600;color:var(--n);font-style:italic}
.gm-post__article table{width:100%;border-collapse:collapse;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;margin:0 0 26px;font-size:.95rem}
.gm-post__article table td,.gm-post__article table th{padding:12px 18px;border:1px solid var(--border);text-align:left}
.gm-post__article table th{background:var(--grey);color:var(--n3);font-weight:700}
.gm-post__article table tr:nth-child(even) td{background:var(--grey)}

/* sidebar */
.gm-post__aside{position:sticky;top:106px}
.gm-post__acard{background:var(--grey);border:1px solid var(--border);border-radius:var(--rlg);padding:22px;margin-bottom:20px}
.gm-post__acard h4{font-size:.72rem!important;text-transform:uppercase;letter-spacing:.09em;color:var(--muted);font-weight:700;margin:0 0 14px}
.gm-post__share{display:flex;gap:8px}
.gm-post__share a{width:38px!important;height:38px!important;border-radius:10px!important;background:#fff!important;border:1px solid #E1E7EE!important;display:grid!important;place-items:center;color:#17375E!important;transition:all var(--ease)}
.gm-post__share a:hover{background:#0A1B33!important;color:#fff!important;border-color:#0A1B33!important}
.gm-post__share a svg{width:17px;height:17px}

/* author box */
.gm-post__author{max-width:720px;margin:44px auto 0;display:flex;gap:18px;align-items:flex-start;background:var(--n);color:#fff;border-radius:var(--rlg);padding:26px 28px;position:relative;overflow:hidden}
.gm-post__author::after{content:"";position:absolute;left:0;right:0;bottom:0;height:4px;background:var(--grw)}
.gm-post__author .av{flex:none;width:56px;height:56px;border-radius:50%;background:var(--n3);color:var(--gold-lt);display:grid;place-items:center;font-size:1.1rem;font-weight:800;border:1px solid rgba(232,179,60,.3)}
.gm-post__author h4{font-size:1.05rem!important;font-weight:800!important;margin:0 0 2px;color:#fff}
.gm-post__author .role{font-size:.8rem!important;color:#E8B33C!important;font-weight:600!important;margin-bottom:8px}
.gm-post__author p{font-size:.9rem;color:rgba(255,255,255,.72);line-height:1.6!important;margin:0}

/* disclaimer */
.gm-post__disc{max-width:720px;margin:26px auto 0;background:var(--cream);border:1px solid var(--border);border-radius:var(--r);padding:18px 22px}
.gm-post__disc p{font-size:.78rem!important;line-height:1.7!important;color:var(--muted);margin:0 0 6px}
.gm-post__disc p:last-child{margin:0}
.gm-post__disc b{color:var(--n3)}

/* related posts */
.gm-post__related{background:var(--cream,#FCF9F2);border-top:1px solid #E1E7EE;padding:60px 0;margin-top:44px;
  margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);width:100vw;max-width:100vw}
.gm-post__related-in{max-width:1240px;margin:0 auto;padding:0 28px;box-sizing:border-box}
.gm-post__related h2{font-size:1.5rem!important;font-weight:800!important;color:var(--n);letter-spacing:-.02em;line-height:1.2!important;margin:0 0 26px}
.gm-post__rgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.gm-post__rcard{background:#fff!important;border:1px solid #E1E7EE!important;border-radius:var(--rlg);overflow:hidden;transition:transform var(--ease),box-shadow var(--ease);text-decoration:none;color:inherit;display:block}
.gm-post__rcard:hover{transform:translateY(-4px);box-shadow:0 18px 48px rgba(10,27,51,.14)!important}
.gm-post__rimg{aspect-ratio:16/9;background:linear-gradient(150deg,#17375E,#0A1B33);position:relative;background-size:cover;background-position:center}
.gm-post__rimg .tag{position:absolute;top:12px;left:12px;margin:0}
.gm-post__rbody{padding:18px 20px 20px}
.gm-post__rbody h3{font-size:1rem!important;font-weight:700!important;color:var(--n)!important;line-height:1.3!important;margin:0 0 8px}
.gm-post__rbody .m{font-size:.8rem!important;color:var(--muted,#63738A)!important}

/* back bar */
.gm-post__back{border-top:1px solid var(--border);padding:26px 0;text-align:center;margin-top:44px}
.gm-post__back a{display:inline-flex;align-items:center;gap:9px;font-size:.9rem;font-weight:700;color:var(--b2t)}
.gm-post__back a svg{width:16px;height:16px}

.gm-post svg{max-width:100%;max-height:64px}

@media(max-width:960px){
  .gm-post__grid{grid-template-columns:1fr;gap:36px}
  .gm-post__aside{position:static}
}
