/* Guides: editorial layout. Contents rail on the left, one readable column, quiet tables. */
.gd { --g-ink:#0A0A0B; --g-tx:#2E2F35; --g-mu:#6B6B6E; --g-fa:#9C9AA0; --g-ln:#E9E6DF; --g-hl:#F1EEE8; --g-pu:#5000A8; }
.gd .wrap { max-width:1180px !important; padding:0 32px !important; }
.gd .study-hero { padding:56px 0 8px !important; }
.gd .study-hero .bc { margin-bottom:28px; }
.gd .study-hero .kicker { font-family:inherit !important; font-size:.84rem !important; letter-spacing:0 !important; text-transform:none !important; color:var(--g-mu) !important; font-weight:500; margin-bottom:12px !important; }
.gd .study-hero h1 { font-size:clamp(2.1rem,3.8vw,3.3rem) !important; font-weight:600; letter-spacing:-.035em !important; line-height:1.06 !important; max-width:16em !important; color:var(--g-ink); margin-bottom:26px !important; }
.gd .study-summary { position:relative; max-width:44rem; padding:2px 0 2px 22px; border-left:2px solid var(--g-pu); background:none !important; border-radius:0 !important; }
.gd .study-summary::before { content:"In short"; display:block; margin-bottom:6px; font-size:.78rem; font-weight:600; color:var(--g-pu); }
.gd .study-summary p { margin:0 !important; font-size:1.12rem !important; line-height:1.6 !important; color:var(--g-ink) !important; }
.gd .study-summary p strong { font-weight:400; }
.gd .author-byline { display:flex; align-items:center; gap:12px; max-width:none; margin:30px 0 0; padding:14px 0; background:none; border:0; border-top:1px solid var(--g-ln); border-bottom:1px solid var(--g-ln); border-radius:0; }
.gd .author-byline .ph { width:40px; height:40px; border-radius:50%; object-fit:cover; background:#EEE; }
.gd .author-byline .meta .ln { display:none; }
.gd .author-byline .meta { font-size:.88rem; line-height:1.35; }
.gd .author-byline .meta .rl { font-size:.82rem; color:var(--g-mu); }
.gd .author-byline .review { margin-left:auto; text-align:right; font-family:inherit; text-transform:none; letter-spacing:0; font-size:.8rem; color:var(--g-mu); }
.gd .author-byline .review b { color:var(--g-tx); font-weight:500; }
.gd .author-byline .review span { display:inline !important; margin:0 !important; }
.gd .author-byline .review .gd-rt::before, .gd .author-byline .review .gd-up::before { content:"\00b7"; margin:0 .45em; color:var(--g-fa); }

/* body grid */
.gd section.pad { border-top:0 !important; padding:40px 0 !important; background:#fff !important; }
.gd .gd-grid { display:grid; grid-template-columns:200px minmax(0,1fr); gap:0 72px; }
.gd .wrap.body { padding-left:calc(32px + 200px + 72px) !important; }
.gd .gd-col { max-width:680px; }
.gd .gd-col h2, .gd .wrap.body h2 { font-size:clamp(1.45rem,2.2vw,1.8rem) !important; font-weight:600 !important; letter-spacing:-.025em !important; line-height:1.2 !important; color:var(--g-ink); margin:64px 0 14px !important; max-width:none !important; scroll-margin-top:110px; }
.gd .gd-col > h2:first-child { margin-top:8px !important; }
.gd .wrap.body h2:first-child { margin-top:0 !important; }
.gd .gd-col p, .gd .wrap.body p { font-size:1.04rem !important; line-height:1.72 !important; color:var(--g-tx) !important; max-width:none !important; }
.gd .gd-col h3 { font-size:1.08rem !important; margin:28px 0 8px !important; }
.gd .gd-col a.inline, .gd .wrap.body a.inline { color:var(--g-ink); text-decoration:underline; text-decoration-color:#C9B6EA; text-underline-offset:3px; }
.gd .gd-col a.inline:hover { color:var(--g-pu); }
.gd .gd-col ul.real, .gd .gd-col ol.steps { padding-left:0 !important; list-style:none !important; counter-reset:st; }
.gd .gd-col ul.real li, .gd .gd-col ol.steps li { position:relative; padding-left:26px; font-size:1.02rem !important; color:var(--g-tx) !important; }
.gd .gd-col ul.real li::before { content:""; position:absolute; left:6px; top:.72em; width:6px; height:1.5px; background:var(--g-ink); }
.gd .gd-col ol.steps li { counter-increment:st; }
.gd .gd-col ol.steps li::before { content:counter(st); position:absolute; left:0; top:.1em; width:18px; font-size:.8rem; font-weight:600; color:var(--g-pu); font-variant-numeric:tabular-nums; }

/* contents rail */
.gd .gd-toc { position:sticky; top:96px; align-self:start; max-height:calc(100vh - 120px); overflow:auto; padding-top:10px; }
.gd .gd-toc summary { list-style:none; font-size:.78rem; font-weight:600; color:var(--g-mu); margin-bottom:12px; pointer-events:none; }
.gd .gd-toc summary::-webkit-details-marker { display:none; }
.gd .gd-toc ol { position:relative; list-style:none; margin:0; padding:0 0 0 14px; border-left:1px solid var(--g-ln); }
.gd .gd-toc ol::before { content:""; position:absolute; left:-1px; top:0; width:1px; height:var(--gp,0%); background:var(--g-ink); transition:height .2s linear; }
.gd .gd-toc li { margin:0; }
.gd .gd-toc a { display:block; padding:6px 0; font-size:.84rem; line-height:1.35; color:var(--g-fa); text-decoration:none; transition:color .25s; }
.gd .gd-toc a:hover { color:var(--g-tx); }
.gd .gd-toc a.on { color:var(--g-ink); font-weight:500; }

/* tables */
.gd .tw { margin:22px 0 26px !important; border:1px solid var(--g-ln); border-radius:10px; overflow:auto; background:#fff; }
.gd table.dt { font-size:.9rem !important; min-width:520px; }
.gd table.dt th { background:#fff !important; color:var(--g-mu) !important; text-transform:none !important; letter-spacing:0 !important; font-size:.78rem !important; font-weight:600; padding:12px 14px !important; border-bottom:1px solid var(--g-ln) !important; }
.gd table.dt td { padding:11px 14px !important; border-bottom:1px solid var(--g-hl) !important; color:var(--g-tx) !important; }
.gd table.dt td:first-child { color:var(--g-ink) !important; font-weight:500; }
.gd table.dt tbody tr { transition:background .2s; }
.gd table.dt tbody tr:hover { background:#FAF9F7; }
.gd table.dt tr.gd-hide { display:none; }
.gd .gd-more { display:block; width:100%; padding:10px 14px; border:0; border-top:1px solid var(--g-ln); background:#fff; font:inherit; font-size:.84rem; font-weight:500; color:var(--g-ink); text-align:left; cursor:pointer; }
.gd .gd-more:hover { color:var(--g-pu); }
.gd .tcap, .gd .tag { font-family:inherit !important; text-transform:none !important; letter-spacing:0 !important; }

/* questions: hairline rows, plus sign */
.gd details.faq-item { border:0 !important; border-top:1px solid var(--g-ln) !important; border-radius:0 !important; padding:0 !important; margin:0 !important; background:none !important; }
.gd details.faq-item:last-of-type { border-bottom:1px solid var(--g-ln) !important; }
.gd details.faq-item summary { position:relative; padding:18px 40px 18px 0; font-size:1.02rem !important; font-weight:500 !important; color:var(--g-ink); cursor:pointer; }
.gd details.faq-item summary::after { content:""; position:absolute; right:4px; top:50%; width:12px; height:12px; margin-top:-6px;
  background:linear-gradient(var(--g-ink),var(--g-ink)) center/12px 1.5px no-repeat, linear-gradient(var(--g-ink),var(--g-ink)) center/1.5px 12px no-repeat; transition:transform .3s cubic-bezier(.22,1,.36,1); }
.gd details.faq-item[open] summary::after { transform:rotate(45deg); }
.gd details.faq-item p { margin:0 0 18px !important; padding-right:40px; }

/* related: a list, not cards */
.gd .guide-grid { display:block !important; margin:14px 0 0 !important; border-top:1px solid var(--g-ln); }
.gd .guide-card { position:relative; display:grid !important; grid-template-columns:120px minmax(0,1fr); gap:2px 20px; padding:16px 36px 16px 0 !important; border:0 !important; border-bottom:1px solid var(--g-ln) !important; border-radius:0 !important; background:none !important; box-shadow:none !important; text-decoration:none; transform:none !important; }
.gd .guide-card .lbl { grid-row:1 / span 2; font-family:inherit !important; text-transform:none !important; letter-spacing:0 !important; font-size:.8rem !important; color:var(--g-mu) !important; padding-top:2px; }
.gd .guide-card strong { font-size:1rem; font-weight:600; color:var(--g-ink); }
.gd .guide-card .desc { font-size:.9rem; color:var(--g-mu); }
.gd .guide-card::after { content:"\2192"; position:absolute; right:6px; top:50%; transform:translateY(-50%); color:var(--g-fa); transition:transform .25s, color .25s; }
.gd .guide-card:hover strong { color:var(--g-pu); }
.gd .guide-card:hover::after { color:var(--g-pu); transform:translate(4px,-50%); }

/* closing band */
.gd section.pad[style*="cream-dim"] { border-top:1px solid var(--g-ln) !important; }
.gd .cta-row { display:flex; gap:1rem; align-items:center; margin-top:18px; }
.gd .cta-row .btn { padding:.6rem 1.05rem !important; font-size:.9rem !important; border-radius:999px !important; }
.gd .cta-row .btn.sec { background:none !important; border:0 !important; color:var(--g-ink) !important; padding-left:0 !important; }

/* reading progress */
.gd-bar { position:fixed; left:0; top:0; z-index:60; height:2px; width:100%; transform-origin:0 0; transform:scaleX(var(--p,0)); background:var(--g-pu,#5000A8); pointer-events:none; }

/* quiet reveal, only when JS runs */
.gd-js .gd-col > h2, .gd-js .gd-col > p, .gd-js .gd-col > .tw, .gd-js .gd-col > ul, .gd-js .gd-col > ol { opacity:0; transform:translateY(14px); transition:opacity .6s ease, transform .7s cubic-bezier(.22,1,.36,1); }
.gd-js .gd-col > .in { opacity:1; transform:none; }

@media (max-width: 1000px) {
  .gd .gd-grid { grid-template-columns:minmax(0,1fr); }
  .gd .wrap.body { padding-left:32px !important; }
  .gd .gd-toc { position:static; max-height:none; margin:0 0 8px; padding:0; border:1px solid var(--g-ln); border-radius:10px; }
  .gd .gd-toc summary { pointer-events:auto; margin:0; padding:12px 14px; font-size:.86rem; color:var(--g-ink); cursor:pointer; }
  .gd .gd-toc summary::after { content:"+"; float:right; color:var(--g-mu); }
  .gd .gd-toc details[open] summary::after { content:"\2212"; }
  .gd .gd-toc ol { margin:0 14px 12px; }
  .gd .gd-col { max-width:none; }
}
@media (max-width: 640px) {
  .gd .wrap { padding:0 20px !important; }
  .gd .wrap.body { padding-left:20px !important; }
  .gd .author-byline { flex-wrap:wrap; }
  .gd .author-byline .review { margin-left:52px; text-align:left; width:100%; }
  .gd .guide-card { grid-template-columns:minmax(0,1fr); }
  .gd .guide-card .lbl { grid-row:auto; }
}
@media (prefers-reduced-motion: reduce) { .gd-js .gd-col > * { opacity:1 !important; transform:none !important; transition:none !important; } }
.gd .guide-card .gk { grid-row:1 / span 2; font-size:.8rem; color:var(--g-mu); padding-top:2px; }
.gd .guide-card h3 { margin:0 !important; font-size:1rem !important; font-weight:600; color:var(--g-ink); }
.gd .guide-card p { margin:0 !important; font-size:.9rem !important; color:var(--g-mu) !important; }
.gd .guide-card:hover h3 { color:var(--g-pu); }
.gd .next-band ul.real { list-style:none !important; padding:0 !important; }
.gd .next-band ul.real li { padding:10px 0; border-bottom:1px solid var(--g-ln); margin:0 !important; }
.gd .study-hero .kicker { display:block !important; border:0 !important; background:none !important; padding:0 !important; border-radius:0 !important; box-shadow:none !important; }
.gd .study-hero .kicker::before { display:none !important; }
.gd .study-summary { border-top:0 !important; border-right:0 !important; border-bottom:0 !important; box-shadow:none !important; padding:2px 0 2px 22px !important; }
.gd .tw th, .gd table th { text-transform:none !important; letter-spacing:0 !important; font-family:inherit !important; background:#fff !important; color:var(--g-mu) !important; font-size:.78rem !important; font-weight:600 !important; }
.gd .study-hero .bc, .gd .study-hero .bc * { font-family:inherit !important; text-transform:none !important; letter-spacing:0 !important; font-size:.82rem !important; }
