/* EBS guides: hub and article template */
.gd{ --navy:#092B40; --ink:#1f2d3a; --text:#4b5763; --line:#e6e9ec; --soft:#faf7f3; --tint:#fff4e8; --orange:#f28b2d; --orange-text:#b85a0a; font-family:"Open Sans",Arial,sans-serif; color:var(--ink); }
.gd *{ box-sizing:border-box; }
.gd-wrap{ max-width:1140px; margin:0 auto; padding:0 24px; }

/* Hero */
.gd-hero{ background: radial-gradient(900px 420px at 85% 20%, #12425f 0%, var(--navy) 60%, #071f2f 100%); color:#fff; padding:150px 0 56px; position:relative; overflow:hidden; }
.gd-hero::after{ content:""; position:absolute; inset:0; background:url("/structuring/world-dots.svg") right 30% / 900px auto no-repeat; opacity:.35; pointer-events:none; }
.gd-hero .gd-wrap{ position:relative; z-index:1; }
.gd-crumbs{ display:flex; flex-wrap:wrap; gap:6px; font-size:13px; color:rgba(255,255,255,.7); margin-bottom:18px; }
.gd-crumbs a{ color:rgba(255,255,255,.85); text-decoration:none; }
.gd-crumbs a:hover{ color:var(--orange); }
.gd-hero h1{ font-size:42px; line-height:1.15; margin:0 0 16px; max-width:820px; font-weight:750; color:#fff; }
.gd-hero h1 span{ color:var(--orange); }
.gd-hero p.gd-sub{ font-size:18px; line-height:1.6; max-width:760px; color:rgba(255,255,255,.85); margin:0 0 22px; }
.gd-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px; font-size:14px; color:rgba(255,255,255,.75); }
.gd-meta b{ color:#fff; font-weight:600; }
.gd-avatar{ width:38px; height:38px; border-radius:50%; background:var(--orange); color:#fff; display:inline-flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; flex:none; }
.gd-author{ display:flex; align-items:center; gap:10px; }
.gd-lang{ margin-left:auto; font-size:13px; color:#fff; text-decoration:none; border:1px solid rgba(255,255,255,.35); border-radius:999px; padding:6px 14px; }
.gd-lang:hover{ border-color:var(--orange); color:var(--orange); }

/* Layout */
.gd-body{ display:grid; grid-template-columns:240px minmax(0,1fr); gap:56px; padding:48px 24px 64px; align-items:start; }
.gd-toc{ position:sticky; top:96px; font-size:14px; }
.gd-toc b{ display:block; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:var(--orange-text); margin-bottom:10px; }
.gd-toc ol{ list-style:none; margin:0; padding:0; border-left:2px solid var(--line); }
.gd-toc li a{ display:block; padding:6px 0 6px 14px; margin-left:-2px; border-left:2px solid transparent; color:var(--text); text-decoration:none; line-height:1.4; }
.gd-toc li a:hover, .gd-toc li a.on{ color:var(--navy); border-left-color:var(--orange); font-weight:600; }
.gd-toc .gd-toc-cta{ margin-top:22px; padding:16px; border-radius:12px; background:var(--navy); color:#fff; font-size:13.5px; line-height:1.5; }
.gd-toc .gd-toc-cta a{ display:inline-block; margin-top:10px; background:#e27a1c; color:#fff; text-decoration:none; font-weight:700; padding:8px 14px; border-radius:999px; font-size:12.5px; text-transform:uppercase; letter-spacing:.05em; }

/* Article */
.gd-article{ max-width:760px; font-size:17px; line-height:1.75; color:var(--text); }
.gd-article h2{ font-size:28px; line-height:1.25; color:var(--navy); margin:48px 0 14px; scroll-margin-top:90px; }
.gd-article h2:first-child{ margin-top:0; }
.gd-article h3{ font-size:20px; color:var(--ink); margin:28px 0 8px; }
.gd-article p{ margin:0 0 16px; }
.gd-article a{ color:var(--orange-text); font-weight:600; text-decoration:underline; text-underline-offset:3px; }
.gd-article ul, .gd-article ol{ margin:0 0 18px; padding-left:22px; }
.gd-article li{ margin-bottom:8px; }
.gd-article strong{ color:var(--ink); }
.gd-key{ background:var(--soft); border:1px solid #efe6db; border-left:5px solid var(--orange); border-radius:12px; padding:22px 24px 10px; margin:0 0 32px; }
.gd-key b.t{ display:block; font-size:12px; letter-spacing:.12em; text-transform:uppercase; color:#a14d06; margin-bottom:10px; }
.gd-key ul{ padding-left:20px; }
.gd-table{ width:100%; border-collapse:separate; border-spacing:0; margin:8px 0 24px; font-size:15px; border:1px solid var(--line); border-radius:12px; overflow:hidden; }
.gd-table th{ background:var(--navy); color:#fff; text-align:left; font-weight:600; padding:12px 14px; }
.gd-table td{ padding:11px 14px; border-top:1px solid var(--line); vertical-align:top; line-height:1.5; }
.gd-table tr:nth-child(even) td{ background:#fbfbfc; }
.gd-table td:first-child{ font-weight:600; color:var(--ink); }
.gd-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
.gd-steps{ list-style:none; padding:0 !important; margin:8px 0 24px; counter-reset:s; }
.gd-steps li{ position:relative; padding:0 0 18px 56px; margin:0; counter-increment:s; }
.gd-steps li::before{ content:counter(s); position:absolute; left:0; top:0; width:36px; height:36px; border-radius:50%; background:var(--navy); color:#fff; font-weight:700; display:flex; align-items:center; justify-content:center; font-size:15px; }
.gd-steps li::after{ content:""; position:absolute; left:17px; top:40px; bottom:4px; width:2px; background:var(--line); }
.gd-steps li:last-child::after{ display:none; }
.gd-steps li b{ display:block; color:var(--ink); font-size:18px; margin-bottom:2px; }
.gd-check{ list-style:none; padding:0 !important; display:grid; grid-template-columns:1fr 1fr; gap:8px 20px; }
.gd-check li{ position:relative; padding-left:28px; margin:0; }
.gd-check li::before{ content:""; position:absolute; left:0; top:6px; width:16px; height:16px; border-radius:50%; background:var(--tint); box-shadow: inset 0 0 0 1.5px var(--orange); }
.gd-check li::after{ content:""; position:absolute; left:5px; top:9px; width:6px; height:9px; border:solid var(--orange-text); border-width:0 2px 2px 0; transform:rotate(45deg); }
.gd-note{ background:#f3f6f9; border-radius:12px; padding:16px 20px; font-size:15px; margin:0 0 24px; }
.gd-note b{ color:var(--navy); }
.gd-cta{ display:flex; gap:20px; align-items:center; justify-content:space-between; background:var(--navy); color:#fff; border-radius:16px; padding:26px 28px; margin:36px 0; }
.gd-cta h3{ color:#fff; margin:0 0 4px; font-size:20px; }
.gd-cta p{ margin:0; color:rgba(255,255,255,.8); font-size:15px; line-height:1.55; }
.gd-cta a{ flex:none; background:#e27a1c; color:#fff !important; text-decoration:none !important; font-weight:700; padding:13px 22px; border-radius:999px; font-size:13px; text-transform:uppercase; letter-spacing:.05em; }
.gd-cta a:hover{ background:#c8650f; }
.gd-faq details{ border:1px solid var(--line); border-radius:12px; padding:0 18px; margin-bottom:10px; background:#fff; }
.gd-faq summary{ cursor:pointer; list-style:none; padding:16px 28px 16px 0; font-weight:600; color:var(--ink); position:relative; font-size:16.5px; }
.gd-faq summary::-webkit-details-marker{ display:none; }
.gd-faq summary::after{ content:"+"; position:absolute; right:0; top:12px; font-size:22px; color:var(--orange-text); }
.gd-faq details[open] summary::after{ content:"–"; }
.gd-faq details p{ margin:0 0 16px; }
.gd-bio{ display:flex; gap:16px; align-items:flex-start; border-top:1px solid var(--line); padding-top:24px; margin-top:40px; font-size:15px; }
.gd-bio .gd-avatar{ width:52px; height:52px; font-size:18px; }
.gd-bio b{ color:var(--ink); }
.gd-bio p{ margin:4px 0 0; }

/* Hub */
.gd-hub{ padding:48px 24px 72px; }
.gd-cards{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:20px; }
.gd-card{ display:flex; flex-direction:column; background:#fff; border:1px solid var(--line); border-radius:16px; padding:24px; text-decoration:none; color:var(--ink); transition:transform .2s, box-shadow .2s, border-color .2s; }
.gd-card:hover{ transform:translateY(-3px); box-shadow:0 14px 30px rgba(9,43,64,.1); border-color:#f2d3b4; }
.gd-card .tag{ font-size:12px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--orange-text); margin-bottom:10px; }
.gd-card h2{ font-size:20px; line-height:1.3; margin:0 0 10px; color:var(--navy); }
.gd-card p{ font-size:15px; line-height:1.6; color:var(--text); margin:0 0 16px; }
.gd-card .more{ margin-top:auto; font-weight:700; font-size:14px; color:var(--orange-text); }
.gd-card.main{ grid-column:span 2; background:linear-gradient(135deg,#fff 0%,var(--soft) 100%); }
.gd-card.main h2{ font-size:26px; }
.gd-soon{ border-style:dashed; background:#fcfcfd; }

@media (max-width: 1024px){
  .gd-body{ grid-template-columns:minmax(0,1fr); gap:24px; padding-top:28px; }
  .gd-toc{ position:static; }
  .gd-toc ol{ display:none; }
  .gd-toc b{ display:none; }
  .gd-cards{ grid-template-columns:1fr 1fr; }
}
@media (max-width: 640px){
  .gd-hero{ padding:120px 0 40px; }
  .gd-hero h1{ font-size:30px; }
  .gd-hero p.gd-sub{ font-size:16px; }
  .gd-lang{ margin-left:0; }
  .gd-article{ font-size:16px; }
  .gd-article h2{ font-size:23px; margin-top:36px; }
  .gd-check{ grid-template-columns:1fr; }
  .gd-cta{ flex-direction:column; align-items:flex-start; padding:22px; }
  .gd-cards{ grid-template-columns:1fr; }
  .gd-card.main{ grid-column:auto; }
  .gd-table{ font-size:14px; }
}
