/* ── Article-scoped styles (matching schedule-fa template exactly) ── */
      .article-body { color: #333; line-height: 1.8; font-size: 17px; }
      .article-body p { margin-bottom: 20px; }
      .article-body ul { margin-left: 24px; margin-bottom: 20px; }
      .article-body ul li { margin-bottom: 8px; }
      .article-body img {
        display: block;
        width: 100%;
        max-width: 720px;
        height: auto;
        margin: 20px auto;
      }

      .related-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 14px;
        margin: 20px 0 0;
      }
      @media (max-width: 600px) { .related-grid { grid-template-columns: 1fr; } }
      .related-card {
        display: block;
        background: #fff;
        border: 1px solid #e2e2e2;
        border-radius: 8px;
        padding: 16px 18px;
        text-decoration: none;
        transition: border-color 0.15s ease;
      }
      .related-card:hover { border-color: #1a73e8; }
      .related-card .rc-tag {
        display: inline-block;
        font-size: 10px;
        font-weight: 700;
        font-family: 'Montserrat', sans-serif;
        letter-spacing: 0.06em;
        text-transform: uppercase;
        color: #1a56db;
        margin-bottom: 6px;
      }
      .related-card .rc-title {
        display: block;
        font-size: 15px;
        font-weight: 700;
        color: #111;
        font-family: 'Montserrat', sans-serif;
        line-height: 1.4;
      }

      .article-body h2 {
        font-family: 'Playfair Display', serif;
        font-size: 24px;
        color: #111;
        margin: 48px 0 14px;
        padding-top: 32px;
        border-top: 1px solid #e8e8e8;
      }
      .article-body h3 {
        font-size: 18px;
        font-weight: 700;
        color: #111;
        margin: 28px 0 10px;
        font-family: 'Montserrat', sans-serif;
      }

      /* meta strip */
      .article-meta {
        display: flex;
        gap: 20px;
        font-size: 13px;
        color: #888;
        font-family: 'Roboto Mono', monospace;
        margin-bottom: 28px;
        flex-wrap: wrap;
      }
      .article-meta span { display: flex; align-items: center; gap: 6px; }

      /* tag pill */
      .tag-pill {
        display: inline-block;
        background: #e8f0fe;
        color: #1a56db;
        font-size: 11px;
        font-weight: 700;
        font-family: 'Montserrat', sans-serif;
        letter-spacing: 0.06em;
        padding: 4px 12px;
        border-radius: 20px;
        text-transform: uppercase;
        margin-bottom: 16px;
      }

      /* callouts */
      .callout {
        padding: 14px 18px;
        margin: 24px 0;
        border-radius: 0 6px 6px 0;
      }
      .callout-title {
        font-size: 11px;
        font-weight: 700;
        font-family: 'Montserrat', sans-serif;
        letter-spacing: 0.07em;
        text-transform: uppercase;
        margin-bottom: 6px;
      }
      .callout p { margin: 0; font-size: 15px; line-height: 1.65; }
      .callout-info  { background: #e3f2fd; border-left: 3px solid #1a73e8; }
      .callout-info  .callout-title { color: #1565c0; }
      .callout-warn  { background: #fff8e1; border-left: 3px solid #ef9f27; }
      .callout-warn  .callout-title { color: #e65100; }

      /* penalty / highlight banner */
      .penalty-banner {
        background: #ffebee;
        border: 1px solid #e57373;
        border-radius: 8px;
        text-align: center;
        padding: 28px 20px;
        margin: 24px 0;
      }
      .penalty-banner .label  { font-size: 13px; color: #888; margin: 0 0 6px; }
      .penalty-banner .amount { font-size: 42px; font-weight: 900; color: #c62828; font-family: 'Montserrat', sans-serif; margin: 0; line-height: 1.1; }
      .penalty-banner .sub    { font-size: 13px; color: #777; margin: 8px 0 0; }

      /* stat banner — dark neutral, not green */
      .stat-banner {
        background: #f5f5f5;
        border: 1px solid #e2e2e2;
        border-radius: 8px;
        text-align: center;
        padding: 28px 20px;
        margin: 24px 0;
      }
      .stat-banner .label  { font-size: 13px; color: #888; margin: 0 0 6px; }
      .stat-banner .amount { font-size: 42px; font-weight: 900; color: #111; font-family: 'Montserrat', sans-serif; margin: 0; line-height: 1.1; }
      .stat-banner .sub    { font-size: 13px; color: #777; margin: 8px 0 0; }

      /* asset / fund card grid */
      .card-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        margin: 20px 0;
      }
      @media (max-width: 600px) { .card-grid { grid-template-columns: 1fr; } }
      .asset-card {
        background: #fff;
        border: 1px solid #e2e2e2;
        border-radius: 8px;
        padding: 16px 18px;
      }
      .asset-card strong { display: block; font-size: 14px; margin-bottom: 4px; color: #111; }
      .asset-card span   { font-size: 13px; color: #666; line-height: 1.5; }
      .asset-card .ticker {
        font-family: 'Roboto Mono', monospace;
        font-size: 18px; font-weight: 700;
        color: #111; margin-bottom: 4px;
      }
      .fund-tag {
        display: inline-block; background: #f0f0f0; color: #555;
        font-size: 11px; font-weight: 700; padding: 2px 8px;
        border-radius: 99px; font-family: 'Montserrat', sans-serif;
        text-transform: uppercase; letter-spacing: .4px; margin-top: 6px;
      }

      /* two-col compare cards */
      .two-col {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 12px;
        margin: 20px 0;
      }
      @media (max-width: 600px) { .two-col { grid-template-columns: 1fr; } }
      .compare-card {
        background: #f7f7f7;
        border: 1px solid #e2e2e2;
        border-radius: 8px;
        padding: 16px 18px;
      }
      .compare-card strong { display: block; font-size: 14px; margin-bottom: 6px; color: #111; }
      .compare-card p { font-size: 13px; color: #666; margin: 2px 0; line-height: 1.6; }
      .compare-card.good { background: #f0f7f4; border-color: #cce0d8; }
      .compare-card.bad  { background: #fff3f3; border-color: #f5c6c6; }

      /* data table — light gray header */
      .data-table {
        width: 100%;
        border-collapse: collapse;
        font-size: 14px;
        margin: 20px 0;
        border: 1px solid #e2e2e2;
        border-radius: 8px;
        overflow: hidden;
      }
      .data-table th {
        background: #f5f5f5;
        font-weight: 700;
        font-family: 'Montserrat', sans-serif;
        font-size: 12px;
        text-align: left;
        padding: 11px 14px;
        border-bottom: 1px solid #e2e2e2;
        color: #333;
      }
      .data-table td {
        padding: 11px 14px;
        border-bottom: 1px solid #ebebeb;
        color: #555;
      }
      .data-table tr:last-child td { border-bottom: none; }
      .data-table .good { color: #0b6b52; font-weight: 700; }
      .data-table .bad  { color: #c0392b; font-weight: 700; }

      /* custom bullet list */
      .bullet-list { list-style: none; padding: 0; margin: 12px 0 20px; }
      .bullet-list li {
        display: flex;
        gap: 10px;
        padding: 6px 0;
        border-bottom: 1px solid #f0f0f0;
        font-size: 15px;
        color: #444;
        line-height: 1.6;
      }
      .bullet-list li:last-child { border-bottom: none; }
      .bullet-list li::before {
        content: "\2022";
        color: #1a73e8;
        font-weight: 700;
        flex-shrink: 0;
        margin-top: 1px;
      }

      /* steps / checklist */
      .steps { margin: 16px 0; }
      .step-row {
        display: flex;
        gap: 14px;
        align-items: flex-start;
        margin-bottom: 14px;
      }
      .step-num {
        width: 30px; height: 30px;
        border-radius: 50%;
        background: #e8f0fe;
        color: #1a56db;
        font-size: 13px; font-weight: 700;
        font-family: 'Montserrat', sans-serif;
        display: flex; align-items: center; justify-content: center;
        flex-shrink: 0; margin-top: 2px;
      }
      .step-content h4 { font-size: 15px; font-weight: 700; margin: 0 0 3px; color: #111; font-family: 'Montserrat', sans-serif; }
      .step-content p  { font-size: 14px; color: #666; margin: 0; line-height: 1.6; }

      /* FAQ */
      .faq-item { border-bottom: 1px solid #ebebeb; padding: 18px 0; }
      .faq-item:first-child { padding-top: 0; }
      .faq-q { font-size: 16px; font-weight: 700; color: #111; margin: 0 0 8px; font-family: 'Montserrat', sans-serif; }
      .faq-a { font-size: 15px; color: #555; margin: 0; line-height: 1.7; }

      /* external links */
      .ext-link { color: #1a73e8; text-decoration: none; }
      .ext-link:hover { text-decoration: underline; }

      /* disclaimer */
      .disclaimer {
        font-size: 13px; color: #888;
        border-top: 1px solid #e8e8e8;
        padding-top: 24px; margin-top: 48px;
        font-style: italic;
      }
      .section-divider { border: none; border-top: 1px solid #e8e8e8; margin: 48px 0 0; }
      .disclaimer-text {
        font-size: 12.5px;
        color: #777;
        line-height: 1.6;
        margin-top: 32px;
      }

      @media (max-width: 640px) {
        .data-table { font-size: 13px; }
      }
    
      /* ===== Two-column page layout matching NSE IX ===== */
      .page-layout {
        display: flex;
        align-items: stretch;
        width: 100%;
        max-width: 1320px;
        margin: 0 auto;
        gap: 48px;
        padding: 40px 20px 0;
      }

      .toc-col {
        flex: 0 0 264px;
      }

      .toc-sidebar {
        position: sticky;
        top: 24px;
      }

      .content-col {
        flex: 1 1 auto;
        min-width: 0;
      }

      .full-width-section {
        max-width: 1320px;
        margin: 0 auto;
        padding: 48px 20px 0;
      }

      /* Shared sidebar section styling */
      .toc-section { padding: 20px 0; }
      .toc-section:first-child { padding-top: 0; }
      .toc-section + .toc-section { border-top: 1px solid #e8e8e8; }

      .toc-heading, .toc-section-label {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        color: #999;
        margin: 0 0 12px;
      }
      .toc-heading { font-size: 15px; text-transform: none; color: #111; letter-spacing: 0; }

      .toc-list { list-style: none; margin: 0; padding: 0; }
      .toc-list li { margin: 0; }

      .toc-link {
        display: block;
        padding: 8px 10px;
        margin: 2px 0;
        border-radius: 6px;
        font-family: 'Montserrat', sans-serif;
        font-size: 13.5px;
        line-height: 1.35;
        color: #666;
        text-decoration: none;
        border-left: 3px solid transparent;
        transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
      }
      .toc-link:hover { color: #0b6b52; background: #f5faf8; }
      .toc-link.active {
        color: #0b6b52;
        font-weight: 700;
        font-size: 14.5px;
        background: #eaf6f1;
        border-left-color: #0b6b52;
      }

      .toc-related-list { list-style: none; margin: 0; padding: 0; }
      .toc-related-list li { margin-bottom: 8px; }
      .toc-related-list li:last-child { margin-bottom: 0; }
      .toc-related-list a {
        display: block;
        font-size: 13px;
        font-weight: 700;
        color: #111;
        text-decoration: none;
        line-height: 1.4;
        padding: 10px 12px;
        border: 1px solid #e8e8e8;
        border-radius: 8px;
        background: #fafafa;
        transition: border-color 0.15s ease, background-color 0.15s ease;
      }
      .toc-related-list a:hover { color: #0b6b52; border-color: rgba(11,107,82,0.35); background: #f5faf8; }

      .toc-mobile-toggle { display: none; }

      /* Mobile responsiveness */
      @media (max-width: 960px) {
        .page-layout {
          display: block;
          max-width: 100%;
          padding: 24px 16px 0;
        }
        .toc-col { display: block; }
        .toc-mobile-toggle {
          display: flex;
          align-items: center;
          justify-content: space-between;
          width: 100%;
          background: #fff;
          border: 1px solid #e2e2e2;
          border-radius: 10px;
          padding: 13px 16px;
          font-family: 'Montserrat', sans-serif;
          font-size: 14px;
          font-weight: 700;
          color: #111;
          cursor: pointer;
          margin-bottom: 18px;
        }
        .toc-mobile-toggle .toc-toggle-icon {
          font-size: 11px;
          color: #666;
          transition: transform 0.15s ease;
        }
        .toc-mobile-toggle[aria-expanded="true"] .toc-toggle-icon { transform: rotate(180deg); }

        .toc-sidebar {
          display: none;
          position: static;
          border: 1px solid #e8e8e8;
          border-radius: 10px;
          padding: 4px 18px 4px;
          margin-bottom: 18px;
        }
        .toc-sidebar.is-open { display: block; }
        .full-width-section { padding: 40px 16px 0; }
      }
/* --- Extracted from lrs-guide.html --- */
.guide-main {
      background: #f7f6f3;
      padding: 56px 0 72px;
    }

    .guide-page {
      --calc-bg: #f7f6f3;
      --calc-surface: #ffffff;
      --calc-border: #e2e0d8;
      --calc-text: #1a1917;
      --calc-muted: #6b6960;
      --calc-accent: #1a3a5c;
      --calc-accent-light: #e8f0f8;
      --calc-danger: #8b2020;
      --calc-danger-bg: #fdf0f0;
      --calc-warn: #7a4a0a;
      --calc-warn-bg: #fdf4e7;
      --calc-good: #1f5c2e;
      --calc-good-bg: #eef6f0;
      --calc-gold: #a9781f;
      max-width: 820px;
      margin: 0 auto;
      color: var(--calc-text);
      font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
    }

    .guide-page * { box-sizing: border-box; }

    .guide-page .section-label {
      font-family: 'Roboto Mono', monospace;
      font-size: 0.68rem;
      text-transform: uppercase;
      letter-spacing: 0.08em;
      color: var(--calc-muted);
      font-weight: 700;
    }

    .guide-page .mono { font-family: 'Roboto Mono', monospace; }
    .guide-page .italic { font-style: italic; }

    .guide-header { margin-bottom: 1.25rem; }

    .guide-header h1 {
      font-family: 'Playfair Display', serif;
      font-size: clamp(2rem, 6vw, 3.6rem);
      font-weight: 400;
      color: #111;
      line-height: 1.08;
      margin: 0.4rem 0 0;
    }

    .guide-header .italic { color: var(--calc-accent); }

    .guide-header p {
      color: var(--calc-muted);
      font-size: 0.95rem;
      margin-top: 14px;
      line-height: 1.65;
      max-width: 640px;
    }

    .guide-meta-line {
      display: flex;
      align-items: center;
      gap: 10px;
      font-family: 'Roboto Mono', monospace;
      font-size: 0.74rem;
      color: var(--calc-muted);
      margin-top: 10px;
    }

    .guide-journey {
      display: flex; flex-wrap: wrap; gap: 8px;
      margin: 22px 0 6px;
      font-family: 'Roboto Mono', monospace;
      font-size: 0.72rem;
    }
    .guide-journey span {
      background: var(--calc-accent-light);
      border: 1px solid #c8daf0;
      color: var(--calc-accent);
      padding: 5px 11px;
      border-radius: 999px;
    }
    .guide-journey span::after { content: "\2192"; margin-left: 7px; color: var(--calc-accent); opacity: 0.6; }
    .guide-journey span:last-child::after { content: ""; }

    .guide-cta {
      display: inline-block;
      background: var(--calc-accent);
      color: #fff;
      font-weight: 700;
      font-family: 'Montserrat', system-ui, sans-serif;
      font-size: 0.88rem;
      padding: 12px 26px;
      border-radius: 999px;
      text-decoration: none;
      margin-top: 18px;
    }
    .guide-cta:hover { background: #12293f; }

    /* TOC bar */
    .guide-toc-bar {
      position: sticky; top: 0; z-index: 20;
      background: rgba(247,246,243,0.96);
      backdrop-filter: blur(6px);
      border-top: 1px solid var(--calc-border);
      border-bottom: 1px solid var(--calc-border);
      overflow-x: auto;
      white-space: nowrap;
      padding: 10px 0;
      margin: 28px 0 8px;
      font-family: 'Roboto Mono', monospace;
      font-size: 0.7rem;
    }
    .guide-toc-bar a {
      color: var(--calc-muted);
      text-decoration: none;
      margin-right: 16px;
      padding-bottom: 3px;
      border-bottom: 2px solid transparent;
    }
    .guide-toc-bar a:hover { color: var(--calc-accent); border-bottom-color: var(--calc-accent); }

    /* Section chrome */
    .guide-section { margin: 2.75rem 0; padding-top: 0.25rem; }
    .guide-section h2 {
      font-family: 'Playfair Display', serif;
      font-weight: 400;
      font-size: clamp(1.4rem, 4vw, 2rem);
      color: #111;
      margin: 0.3rem 0 0.85rem;
    }
    .guide-section h3 {
      font-family: 'Montserrat', sans-serif;
      font-size: 1rem;
      font-weight: 900;
      color: var(--calc-accent);
      margin: 1.5rem 0 0.6rem;
    }
    .guide-section p { font-size: 0.92rem; line-height: 1.7; color: var(--calc-text); }
    .guide-section ul, .guide-section ol { font-size: 0.92rem; line-height: 1.7; padding-left: 1.2rem; }
    .guide-section a { color: var(--calc-accent); font-weight: 700; text-decoration: underline; text-decoration-color: #c8daf0; }
    .guide-section a:hover { color: #12293f; }

    /* Summary cards */
    .guide-summary-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0.75rem; margin-top: 1rem; }
    .guide-stat { background: var(--calc-surface); border: 1px solid var(--calc-border); border-radius: 8px; padding: 0.85rem 1rem; }
    .guide-stat .s-label { font-family: 'Roboto Mono', monospace; font-size: 0.66rem; text-transform: uppercase; letter-spacing: 0.06em; color: var(--calc-muted); font-weight: 700; margin: 0 0 5px; }
    .guide-stat .s-val { font-family: 'Playfair Display', serif; font-size: 1.2rem; color: var(--calc-accent); margin: 0; }

    /* Tags */
    .tag { display: inline-block; font-size: 0.68rem; font-weight: 700; padding: 2px 9px; border-radius: 999px; font-family: 'Roboto Mono', monospace; }
    .tag-yes { background: var(--calc-good-bg); color: var(--calc-good); }
    .tag-no { background: var(--calc-danger-bg); color: var(--calc-danger); }
    .tag-cond { background: var(--calc-warn-bg); color: var(--calc-warn); }

    /* Tables */
    .guide-table-wrap { overflow-x: auto; margin: 1.25rem 0; border: 1px solid var(--calc-border); border-radius: 8px; }
    table.guide-table { width: 100%; border-collapse: collapse; background: var(--calc-surface); font-size: 0.85rem; min-width: 480px; }
    table.guide-table caption { text-align: left; font-family: 'Roboto Mono', monospace; font-size: 0.66rem; color: var(--calc-muted); padding: 10px 14px; text-transform: uppercase; letter-spacing: 0.05em; background: var(--calc-bg); }
    table.guide-table th { background: var(--calc-accent); color: #fff; text-align: left; padding: 10px 14px; font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 0.76rem; }
    table.guide-table td { padding: 9px 14px; border-bottom: 1px solid var(--calc-border); vertical-align: top; color: var(--calc-text); }
    table.guide-table tr:last-child td { border-bottom: none; }
    table.guide-table tr:nth-child(even) td { background: var(--calc-bg); }

    /* Flow diagram */
    .guide-flow { display: flex; flex-wrap: wrap; align-items: center; gap: 0; margin: 1.25rem 0; }
    .guide-flow-step { background: var(--calc-surface); border: 1.5px solid var(--calc-accent); border-radius: 8px; padding: 10px 14px; font-family: 'Roboto Mono', monospace; font-size: 0.76rem; color: var(--calc-accent); min-width: 100px; text-align: center; }
    .guide-flow-arrow { color: var(--calc-gold); font-size: 1.1rem; padding: 0 8px; font-weight: 700; }
    @media (max-width: 640px) {
      .guide-flow { flex-direction: column; align-items: stretch; }
      .guide-flow-arrow { transform: rotate(90deg); align-self: center; }
    }

    /* Decision tree */
    .guide-tree { display: flex; flex-direction: column; align-items: center; gap: 0; margin: 1.5rem 0; }
    .guide-tree-node { background: var(--calc-accent); color: #fff; padding: 11px 18px; border-radius: 8px; font-size: 0.86rem; font-weight: 700; text-align: center; max-width: 320px; }
    .guide-tree-connector { width: 2px; height: 20px; background: var(--calc-border); }
    .guide-tree-branches { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; }
    .guide-tree-branch { display: flex; flex-direction: column; align-items: center; max-width: 220px; }
    .guide-tree-leaf { border-radius: 8px; padding: 9px 14px; font-size: 0.8rem; text-align: center; border: 1.5px solid var(--calc-border); background: var(--calc-surface); }
    .guide-tree-leaf.yes { border-color: var(--calc-good); color: var(--calc-good); background: var(--calc-good-bg); }
    .guide-tree-leaf.no { border-color: var(--calc-danger); color: var(--calc-danger); background: var(--calc-danger-bg); }
    .guide-tree-leaf.cond { border-color: var(--calc-warn); color: var(--calc-warn); background: var(--calc-warn-bg); }
    .guide-branch-label { font-family: 'Roboto Mono', monospace; font-size: 0.62rem; color: var(--calc-muted); margin-bottom: 4px; text-transform: uppercase; letter-spacing: 0.05em; }

    /* Cards */
    .guide-card-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0.85rem; margin-top: 1rem; }
    .guide-card { background: var(--calc-surface); border: 1px solid var(--calc-border); border-radius: 8px; padding: 1rem 1.1rem; }
    .guide-card h4 { font-family: 'Montserrat', sans-serif; font-size: 0.92rem; margin: 0 0 4px; color: var(--calc-text); }
    .guide-card p { font-size: 0.82rem; margin: 0; color: var(--calc-muted); }
    .guide-card .mistake-badge { font-family: 'Roboto Mono', monospace; color: var(--calc-danger); font-size: 0.64rem; font-weight: 700; }

    /* Alert callouts (reuses site alert-box pattern) */
    .alert-box { border-radius: 8px; padding: 1rem 1.25rem; margin: 1.1rem 0; display: block; }
    .alert-box-header { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
    .alert-icon { font-size: 1rem; flex-shrink: 0; }
    .alert-box-header strong { font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.08em; font-family: 'Roboto Mono', monospace; }
    .alert-box.warn-alert { background: var(--calc-warn-bg); border: 1px solid #e8c99a; }
    .alert-box.warn-alert .alert-box-header strong { color: var(--calc-warn); }
    .alert-box.danger-alert { background: var(--calc-danger-bg); border: 1px solid #f0b8b8; }
    .alert-box.danger-alert .alert-box-header strong { color: var(--calc-danger); }
    .alert-box.good-alert { background: var(--calc-good-bg); border: 1px solid #a8d5b5; }
    .alert-box.good-alert .alert-box-header strong { color: var(--calc-good); }
    .alert-body { font-size: 0.86rem; color: var(--calc-text); line-height: 1.6; }

    .guide-disclaimer {
      font-size: 0.72rem; color: var(--calc-muted); line-height: 1.6; margin: 0.85rem 0 0;
      padding: 0.85rem 1rem; border: 1px solid var(--calc-border); border-radius: 8px; background: var(--calc-surface);
    }
    .guide-disclaimer strong { color: var(--calc-text); font-weight: 700; }

    .guide-author-box {
      display: flex; gap: 16px; align-items: flex-start;
      background: var(--calc-surface); border: 1px solid var(--calc-border); border-radius: 8px;
      padding: 1.25rem; margin: 2.5rem 0;
    }
    .guide-author-avatar {
      flex-shrink: 0; width: 48px; height: 48px; border-radius: 50%;
      background: var(--calc-accent); color: #fff; font-family: 'Playfair Display', serif;
      font-size: 1rem; display: flex; align-items: center; justify-content: center;
    }
    .guide-author-name { font-family: 'Montserrat', sans-serif; font-weight: 700; font-size: 0.95rem; color: var(--calc-text); }
    .guide-author-role { font-family: 'Roboto Mono', monospace; font-size: 0.7rem; color: var(--calc-accent); margin: 2px 0 8px; text-transform: uppercase; letter-spacing: 0.05em; }
    .guide-author-desc { font-size: 0.85rem; color: var(--calc-muted); margin: 0; }

    .guide-inline-cta {
      display: inline-block;
      background: var(--calc-accent-light);
      border: 1px solid #c8daf0;
      color: var(--calc-accent) !important;
      font-weight: 700;
      font-size: 0.86rem;
      padding: 10px 18px;
      border-radius: 999px;
      text-decoration: none !important;
      margin: 0.5rem 0 1.5rem;
    }
    .guide-inline-cta:hover { background: #d9e8f7; }

    /* Related grids */
    .guide-related-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 0.85rem; margin-top: 1rem; }
    .guide-related-card { display: block; background: var(--calc-accent); color: #fff; border-radius: 8px; padding: 1rem 1.15rem; text-decoration: none !important; }
    .guide-related-card .section-label { color: #b9d0e6; }
    .guide-related-card h4 { font-family: 'Playfair Display', serif; font-weight: 400; color: #fff; margin: 6px 0 4px; font-size: 1.05rem; }
    .guide-related-card p { color: #cfe0f0; font-size: 0.8rem; margin: 0; }
    .guide-related-card:hover { background: #12293f; }

    /* Timeline SVG */
    .guide-timeline { width: 100%; height: auto; margin: 1.25rem 0; }

    /* Final CTA */
    .guide-final-cta { text-align: center; padding: 2.5rem 1rem; background: var(--calc-accent); color: #fff; border-radius: 8px; margin-top: 2.5rem; }
    .guide-final-cta h2 { color: #fff; font-family: 'Playfair Display', serif; font-weight: 400; }
    .guide-final-cta p { color: #cfe0f0; max-width: 480px; margin: 0 auto 18px; font-size: 0.88rem; }

    /* FAQ (matches site pattern) */
    .faq-section { margin-top: 2.5rem; }
    .faq-section-title { font-family: 'Playfair Display', serif; font-size: clamp(1.4rem, 4vw, 2rem); font-weight: 400; color: #111; margin: 0 0 0.5rem; }
    .faq-group-title { font-family: 'Roboto Mono', monospace; font-size: 0.68rem; text-transform: uppercase; letter-spacing: 0.08em; color: var(--calc-accent); margin: 1.5rem 0 0.25rem; font-weight: 700; }
    .faq-list { display: flex; flex-direction: column; gap: 0; }
    .faq-list .faq-item { border-top: 1px solid var(--calc-border); }
    .faq-list .faq-item:last-child { border-bottom: 1px solid var(--calc-border); }
    .faq-list .faq-question { width: 100%; background: none; border: none; padding: 1rem 0; text-align: left; font-family: 'Montserrat', sans-serif; font-size: 0.9rem; font-weight: 700; color: var(--calc-text); cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
    .faq-list .faq-question:hover { color: var(--calc-accent); }
    .faq-list .faq-chevron { flex-shrink: 0; width: 18px; height: 18px; border: 1.5px solid var(--calc-border); border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 0.55rem; transition: all 0.2s; }
    .faq-list .faq-item.open .faq-chevron { transform: rotate(180deg); background: var(--calc-accent); border-color: var(--calc-accent); color: #fff; }
    .faq-list .faq-answer { max-height: 0; overflow: hidden; transition: max-height 0.3s ease, padding 0.3s ease; font-size: 0.86rem; color: var(--calc-muted); line-height: 1.7; }
    .faq-list .faq-item.open .faq-answer { max-height: 500px; padding-bottom: 1rem; }
    .faq-list .faq-answer p { margin: 0; }

    @media (max-width: 600px) {
      .guide-main { padding: 36px 0 48px; }
      .guide-summary-grid { grid-template-columns: 1fr 1fr; }
    }
  
      /* ===== Two-column page layout matching NSE IX ===== */
      .page-layout {
        display: flex;
        align-items: stretch;
        width: 100%;
        max-width: 1320px;
        margin: 0 auto;
        gap: 48px;
        padding: 40px 20px 0;
      }

      .toc-col {
        flex: 0 0 264px;
      }

      .toc-sidebar {
        position: sticky;
        top: 24px;
      }

      .content-col {
        flex: 1 1 auto;
        min-width: 0;
      }

      .full-width-section {
        max-width: 1320px;
        margin: 0 auto;
        padding: 48px 20px 0;
      }

      /* Shared sidebar section styling */
      .toc-section { padding: 20px 0; }
      .toc-section:first-child { padding-top: 0; }
      .toc-section + .toc-section { border-top: 1px solid #e8e8e8; }

      .toc-heading, .toc-section-label {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        color: #999;
        margin: 0 0 12px;
      }
      .toc-heading { font-size: 15px; text-transform: none; color: #111; letter-spacing: 0; }

      .toc-list { list-style: none; margin: 0; padding: 0; }
      .toc-list li { margin: 0; }

      .toc-link {
        display: block;
        padding: 8px 10px;
        margin: 2px 0;
        border-radius: 6px;
        font-family: 'Montserrat', sans-serif;
        font-size: 13.5px;
        line-height: 1.35;
        color: #666;
        text-decoration: none;
        border-left: 3px solid transparent;
        transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
      }
      .toc-link:hover { color: #0b6b52; background: #f5faf8; }
      .toc-link.active {
        color: #0b6b52;
        font-weight: 700;
        font-size: 14.5px;
        background: #eaf6f1;
        border-left-color: #0b6b52;
      }

      .toc-related-list { list-style: none; margin: 0; padding: 0; }
      .toc-related-list li { margin-bottom: 8px; }
      .toc-related-list li:last-child { margin-bottom: 0; }
      .toc-related-list a {
        display: block;
        font-size: 13px;
        font-weight: 700;
        color: #111;
        text-decoration: none;
        line-height: 1.4;
        padding: 10px 12px;
        border: 1px solid #e8e8e8;
        border-radius: 8px;
        background: #fafafa;
        transition: border-color 0.15s ease, background-color 0.15s ease;
      }
      .toc-related-list a:hover { color: #0b6b52; border-color: rgba(11,107,82,0.35); background: #f5faf8; }

      .toc-mobile-toggle { display: none; }

      /* Mobile responsiveness */
      @media (max-width: 960px) {
        .page-layout {
          display: block;
          max-width: 100%;
          padding: 24px 16px 0;
        }
        .toc-col { display: block; }
        .toc-mobile-toggle {
          display: flex;
          align-items: center;
          justify-content: space-between;
          width: 100%;
          background: #fff;
          border: 1px solid #e2e2e2;
          border-radius: 10px;
          padding: 13px 16px;
          font-family: 'Montserrat', sans-serif;
          font-size: 14px;
          font-weight: 700;
          color: #111;
          cursor: pointer;
          margin-bottom: 18px;
        }
        .toc-mobile-toggle .toc-toggle-icon {
          font-size: 11px;
          color: #666;
          transition: transform 0.15s ease;
        }
        .toc-mobile-toggle[aria-expanded="true"] .toc-toggle-icon { transform: rotate(180deg); }

        .toc-sidebar {
          display: none;
          position: static;
          border: 1px solid #e8e8e8;
          border-radius: 10px;
          padding: 4px 18px 4px;
          margin-bottom: 18px;
        }
        .toc-sidebar.is-open { display: block; }
        .full-width-section { padding: 40px 16px 0; }
      }


/* --- Extracted from tax-filing-checklist.html --- */
:root{
    --gi-green:#0b6b52;
    --gi-green-dark:#084a39;
    --gi-green-light:#e8f3f0;
    --gi-cream:#faf8f4;
    --gi-ink:#1a1f1e;
    --gi-gray:#5c6664;
    --gi-border:#dfe6e3;
    --gi-amber:#b8860b;
    --gi-red:#a13a2e;
    --gi-maxw:1100px;        /* hero / page wrap */
    --gi-interactive:960px;  /* wizard, TOC, quiz, dashboard content */
    --gi-read-width:800px;   /* long-form article text: paragraphs, tables, callouts */

    /* TYPE SCALE — five sizes, everything maps to one of these */
    --fs-xs:.875rem;   /* 14px — labels, meta, badges, footnotes, captions */
    --fs-sm:1rem;      /* 16px — body text baseline */
    --fs-md:1.25rem;   /* 20px — h3 / subheadings / emphasis */
    --fs-lg:2rem;      /* 32px — h2 section headings */
    --fs-xl:2.75rem;   /* 44px — h1 hero */

    /* SPACING SYSTEM */
    --sp-heading:12px;   /* heading -> intro paragraph */
    --sp-para:20px;      /* paragraph -> paragraph / next element */
    --sp-component:20px; /* component -> component within a section */
    --sp-section:32px;   /* section -> next section */

    /* SHARED CARD TREATMENT — one radius, one padding, two elevation tiers */
    --gi-radius:10px;
    --gi-card-pad:24px;
    --gi-shadow-sm:0 2px 10px rgba(11,107,82,.07);
    --gi-shadow-lg:0 10px 28px rgba(11,107,82,.12);
  }
  *{box-sizing:border-box;}
  a:focus-visible, button:focus-visible, input:focus-visible, label:focus-visible,
  .faq-q:focus-visible, .card:focus-within, .wizard-step-dot:focus-visible{
    outline:3px solid var(--gi-green); outline-offset:2px; border-radius:4px;
  }
  .btn-cta:focus-visible, .btn-quiz:focus-visible, .btn-quiz-secondary:focus-visible{
    outline:3px solid var(--gi-green-dark); outline-offset:3px;
  }
  /* 
    Removed global selectors (body, h1-h4, a) that were incorrectly 
    pasted from tax-filing-checklist.html and affecting the whole site.
  */
  .mono, code, .num{font-family:'Roboto Mono', monospace;}
  .wrap{max-width:var(--gi-maxw); margin:0 auto; padding:0 32px;}

  /* BUTTONS — one system: primary / secondary / text.
     Existing class names kept as-is (btn-cta, btn-quiz, rs-btn-primary, etc.) so no HTML/JS
     changes are needed, but every "primary" variant now shares one visual spec, and every
     "secondary" variant shares another. */
  .btn-cta, .btn-quiz, .rs-btn-primary{
    display:inline-block; background:var(--gi-green); color:#fff; font-weight:700;
    padding:14px 28px; border-radius:8px; text-decoration:none; font-size:var(--fs-sm);
    border:none; cursor:pointer; font-family:'Montserrat',sans-serif;
    transition:background .15s ease, transform .15s ease, box-shadow .15s ease;
  }
  .btn-cta:hover, .btn-quiz:hover, .rs-btn-primary:hover{background:var(--gi-green-dark); color:#fff; transform:translateY(-1px); box-shadow:0 4px 12px rgba(11,107,82,.25);}
  .btn-cta{background:#fff; color:var(--gi-green-dark); box-shadow:0 4px 14px rgba(0,0,0,.16);}
  .btn-cta:hover{transform:translateY(-2px); background:#fff; color:var(--gi-green-dark);}

  .btn-quiz-secondary, .rs-btn-secondary, .btn-secondary{
    display:inline-block; background:var(--gi-green-light); color:var(--gi-green-dark);
    border:1px solid var(--gi-border); padding:10px 18px; border-radius:8px;
    font-size:var(--fs-xs); font-weight:700; cursor:pointer; text-decoration:none;
    font-family:'Montserrat',sans-serif; transition:background .15s ease;
  }
  .btn-quiz-secondary:hover, .rs-btn-secondary:hover{background:#dcece6; color:var(--gi-green-dark);}
  .btn-quiz-secondary:disabled{opacity:.4; cursor:not-allowed;}

  /* HERO — height reduced ~28%; type comes from the shared scale */
  .tax-hero{background:linear-gradient(135deg, var(--gi-green-dark), var(--gi-green)); color:#fff; padding:32px 0 24px;}
  .tax-hero .eyebrow{font-family:'Roboto Mono',monospace; letter-spacing:.08em; text-transform:uppercase; font-size:var(--fs-xs); opacity:.85; margin-bottom:12px;}
  .tax-hero h1{color:#fff; font-size:var(--fs-xl); margin:0 0 var(--sp-heading); max-width:var(--gi-read-width);}
  .tax-hero p.sub{font-size:var(--fs-md); max-width:700px; color:rgba(255,255,255,.92); font-weight:500; line-height:1.6; margin:0 0 var(--sp-para);}
  .tax-hero-benefits{display:flex; gap:24px; flex-wrap:wrap; margin-bottom:24px; font-size:var(--fs-xs); font-weight:700;}
  .tax-hero-actions{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
  .tax-hero-secondary-link{
    display:inline-block; color:#fff; font-weight:700; font-size:var(--fs-sm);
    padding:13px 27px; border-radius:8px; border:1.5px solid rgba(255,255,255,.55);
    text-decoration:none; transition:border-color .15s ease, background .15s ease;
  }
  .tax-hero-secondary-link:hover{color:#fff; border-color:#fff; background:rgba(255,255,255,.08);}

  /* TOC — merged with the "Complete Tax Guide" intro so there's a single heading.
     Interactive-tier width (960px, not full page width) so the 3-column grid doesn't
     float in empty space. Vertical padding is generous; horizontal/link spacing stays
     tight since the columns don't need much room. */
  .toc{background:#fff; border:1px solid var(--gi-border); border-radius:var(--gi-radius); padding:28px 28px 22px; margin:0 auto var(--sp-section); max-width:1000px; position:relative; box-shadow:var(--gi-shadow-sm);}
  .toc h2{font-size:var(--fs-md); margin:0 0 6px;}
  .toc-intro{font-size:var(--fs-xs); color:var(--gi-gray); margin:0 0 var(--sp-heading); max-width:var(--gi-read-width); line-height:1.6;}
  .toc-groups{display:grid; grid-template-columns:repeat(3,1fr); gap:20px 28px;}
  .toc-group-label{display:block; font-family:'Roboto Mono',monospace; font-size:.7rem; text-transform:uppercase; letter-spacing:.06em; color:var(--gi-green); margin-bottom:6px; font-weight:700;}
  .toc-group ul{list-style:none; margin:0; padding:0;}
  .toc-group ul li{margin-bottom:6px; font-size:var(--fs-xs); line-height:1.6;}
  .toc-group ul li a{text-decoration:none;}
  .toc-group ul li a:hover{text-decoration:underline;}

  section{padding:24px 0;}
  section.alt{background:transparent;} /* alternation removed — cream throughout, white reserved for cards */
  #dashboard{padding-top:32px;}
  section h2{font-size:var(--fs-lg); margin:0 0 8px; padding-bottom:8px; border-bottom:2px solid var(--gi-green-light);}
  section .section-num{font-family:'Roboto Mono',monospace; color:var(--gi-green); font-size:var(--fs-xs); letter-spacing:.05em; text-transform:uppercase; margin-bottom:6px; display:block;}
  section p{color:#444; line-height:1.8; max-width:var(--gi-read-width); margin:0 0 var(--sp-para);}
  section p.lede{font-size:var(--fs-md); color:var(--gi-gray); max-width:var(--gi-read-width); margin:0 0 var(--sp-para); line-height:1.5;}
  section h3{font-size:var(--fs-md); margin:var(--sp-component) 0 var(--sp-heading);}
  section ul{list-style:none; margin:var(--sp-component) 0 var(--sp-para); padding:0; max-width:var(--gi-read-width);}
  section ul li{position:relative; padding-left:28px; margin-bottom:13px; line-height:1.6; color:#333;}
  section ul li::before{content:"›"; position:absolute; left:2px; top:-2px; color:var(--gi-green); font-weight:700; font-size:1.25em; line-height:1.4;}

  /* SVG DIAGRAM WRAPPER — open layout, no card chrome (a diagram doesn't need a box around it) */
  .svg-diagram{margin:var(--sp-component) 0; max-width:var(--gi-read-width);}
  .svg-diagram svg{width:100%; height:auto; display:block;}

  /* WORKED EXAMPLE */
  .worked-example{background:#fff; border:1px solid var(--gi-border); border-radius:var(--gi-radius); padding:var(--gi-card-pad); margin:var(--sp-component) 0; max-width:var(--gi-read-width); box-shadow:var(--gi-shadow-sm);}
  .we-header{font-family:'Roboto Mono',monospace; font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:.05em; color:var(--gi-green); font-weight:700; margin-bottom:14px;}
  .we-row{display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px dashed var(--gi-border); font-size:var(--fs-xs);}
  .we-row:last-child{border-bottom:none;}
  .we-label{color:#333; max-width:340px;}
  .we-value{font-family:'Roboto Mono',monospace; font-weight:700; color:var(--gi-ink); white-space:nowrap;}
  .we-note-inline{font-family:'Montserrat',sans-serif; font-weight:400; font-size:var(--fs-xs); color:var(--gi-gray); white-space:normal;}
  .we-final{background:var(--gi-green-light); margin:6px -12px -12px; padding:12px; border-radius:8px; border-bottom:none;}
  .we-final .we-label, .we-final .we-value{color:var(--gi-green-dark); font-weight:700;}
  .we-note{font-size:var(--fs-xs); color:var(--gi-gray); margin-top:14px; margin-bottom:0;}

  /* FLOWCHART (decision tree) — open layout, no surrounding card */
  .flowchart{margin:var(--sp-component) 0; max-width:var(--gi-read-width);}
  .flow-header{font-family:'Roboto Mono',monospace; font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:.05em; color:var(--gi-green); font-weight:700; margin-bottom:16px;}
  .flow-steps{display:flex; flex-direction:column; align-items:center; text-align:center;}
  .flow-step{background:var(--gi-green-light); border:1px solid var(--gi-green); border-radius:8px; padding:12px 18px; font-size:var(--fs-xs); font-weight:700; color:var(--gi-green-dark); max-width:480px;}
  .flow-step-result{background:var(--gi-green); color:#fff; border-color:var(--gi-green);}
  .flow-arrow{font-family:'Roboto Mono',monospace; font-size:var(--fs-xs); color:var(--gi-gray); padding:8px 0; display:flex; flex-direction:column; align-items:center; gap:2px;}
  .flow-arrow-no{color:var(--gi-red); font-weight:700;}

  /* LIFECYCLE (RSU steps) — open layout, no surrounding card */
  .lifecycle{margin:var(--sp-component) 0;}
  .lifecycle-header{font-family:'Roboto Mono',monospace; font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:.05em; color:var(--gi-green); font-weight:700; margin-bottom:16px;}
  .lifecycle-steps{
    display:flex;
    flex-wrap:nowrap;
    align-items:center;
    justify-content:flex-start;
    gap:10px;
    overflow-x:auto;
    padding-bottom:4px;
  }
  .lc-step{background:#fff; border:1px solid var(--gi-border); border-radius:8px; padding:12px 14px; display:flex; flex-direction:column; gap:3px; min-width:120px; max-width:160px; text-align:center; flex:0 0 auto;}
  .lc-step.lc-tax{background:var(--gi-green-light); border-color:var(--gi-green);}
  .lc-title{font-weight:700; font-size:var(--fs-xs); color:var(--gi-ink);}
  .lc-desc{font-size:var(--fs-xs); color:var(--gi-gray);}
  .lc-arrow{font-family:'Roboto Mono',monospace; color:var(--gi-green); font-size:1.1rem; padding:0 8px;}
  @media (max-width:760px){
    .lifecycle-steps{flex-direction:column; flex-wrap:nowrap; overflow-x:visible;}
    .lc-arrow{transform:none; font-size:0;}
    .lc-arrow::before{content:"↓"; font-size:1.1rem;}
  }

  /* CALLOUTS — intentionally left-border only (already an "open" treatment, no full card) */
  .callout{border-left:3px solid var(--gi-green); background:var(--gi-green-light); padding:22px 24px; border-radius:6px; margin:var(--sp-component) 0; max-width:var(--gi-read-width); font-size:var(--fs-sm);}
  .callout > *:last-child{margin-bottom:0;}
  .callout.warn{border-left-color:var(--gi-amber); background:#fbf3e2;}
  .callout.danger{border-left-color:var(--gi-red); background:#fbeae7;}
  .callout strong{color:var(--gi-green-dark);}
  .callout.warn strong{color:#8a6508;}
  .callout.danger strong{color:var(--gi-red);}

  /* TABLES — softened to match the card family instead of a heavy solid-green header */
  .table-wrap{overflow-x:auto; margin:var(--sp-component) 0; border:1px solid var(--gi-border); border-radius:var(--gi-radius); box-shadow:var(--gi-shadow-sm); position:relative; -webkit-overflow-scrolling:touch;}
  @media (max-width:760px){
    .table-wrap.is-scrollable:not(.has-scrolled)::after{content:"⇔ scroll for more"; position:sticky; left:0; display:block; font-family:'Roboto Mono',monospace; font-size:.7rem; color:var(--gi-green); background:var(--gi-green-light); text-align:center; padding:4px; border-top:1px solid var(--gi-border); transition:opacity .3s ease;}
  }
  table{width:100%; border-collapse:collapse; font-size:var(--fs-xs); background:#fff;}
  caption{caption-side:top; text-align:left; font-weight:700; padding:16px 18px 6px; color:var(--gi-green-dark); font-family:'Playfair Display',serif; font-size:var(--fs-md);}
  th,td{padding:12px 18px; text-align:left; border-bottom:1px solid var(--gi-border); vertical-align:top;}
  th{background:var(--gi-green-light); color:var(--gi-green-dark); font-weight:700; font-family:'Roboto Mono',monospace; font-size:var(--fs-xs); text-transform:uppercase; letter-spacing:.04em; border-bottom:1px solid var(--gi-border);}
  tr:last-child td{border-bottom:none;}
  tr:nth-child(even) td{background:#fbfaf7;}
  td.num, td.mono{font-family:'Roboto Mono',monospace;}

  /* CHECKLIST */
  .checklist{list-style:none; margin:var(--sp-para) 0; padding:0; max-width:var(--gi-read-width);}
  .checklist li{display:flex; gap:12px; align-items:flex-start; padding:11px 0; border-bottom:1px dashed var(--gi-border);}
  .checklist li:last-child{border-bottom:none;}
  .checklist input[type=checkbox]{width:19px; height:19px; margin-top:2px; accent-color:var(--gi-green); flex-shrink:0; cursor:pointer;}
  .checklist label{cursor:pointer; font-size:var(--fs-sm);}
  .checklist .tag{font-family:'Roboto Mono',monospace; font-size:var(--fs-xs); background:var(--gi-green-light); color:var(--gi-green-dark); padding:2px 8px; border-radius:10px; margin-left:8px; white-space:nowrap;}
  .progress-bar{height:8px; background:var(--gi-border); border-radius:4px; overflow:hidden; max-width:var(--gi-read-width); margin:8px 0 4px;}
  .progress-fill{height:100%; background:var(--gi-green); width:0%; transition:width .3s ease;}
  .progress-label{font-family:'Roboto Mono',monospace; font-size:var(--fs-xs); color:var(--gi-gray); margin-bottom:18px; display:block;}

  /* CARDS GRID */
  .card-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin:var(--sp-component) 0;}
  .card{background:#fff; border:1px solid var(--gi-border); border-radius:var(--gi-radius); padding:var(--gi-card-pad); transition:box-shadow .15s ease; display:flex; flex-direction:column; box-shadow:var(--gi-shadow-sm);}
  .card:hover{box-shadow:var(--gi-shadow-lg);}
  .card h4{font-size:var(--fs-md); margin:0 0 8px;}
  .card p{font-size:var(--fs-xs); color:var(--gi-gray); margin:0 0 12px; flex:1;}
  .card a{font-size:var(--fs-xs); font-weight:700; text-decoration:none; margin-top:auto;}
  .badge{display:inline-block; font-family:'Roboto Mono',monospace; font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; padding:3px 9px; border-radius:10px; margin-bottom:10px;}
  .badge.live{background:#dff2ea; color:var(--gi-green-dark);}
  .badge.soon{background:#f1ede2; color:var(--gi-amber);}

  /* FAQ ACCORDION */
  .faq-group{margin-bottom:var(--sp-component);}
  .faq-group h3{font-size:var(--fs-md); border-bottom:2px solid var(--gi-green-light); padding-bottom:8px; margin-bottom:4px;}
  .faq-item{border-bottom:1px solid var(--gi-border);}
  .faq-q{width:100%; text-align:left; background:none; border:none; padding:16px 4px; font-family:'Montserrat',sans-serif; font-weight:700; font-size:var(--fs-sm); color:var(--gi-ink); cursor:pointer; display:flex; justify-content:space-between; gap:16px; align-items:center;}
  .faq-q:hover{color:var(--gi-green-dark);}
  .faq-group .faq-q .chev{font-family:'Roboto Mono',monospace; color:var(--gi-green); transition:transform .2s ease; flex-shrink:0;}
  .faq-group .faq-item.open .faq-q .chev{transform:rotate(45deg);}
  .faq-group .faq-a{max-height:0; overflow:hidden; transition:max-height .25s ease; font-size:var(--fs-sm); color:#333;}
  .faq-group .faq-item.open .faq-a{max-height:600px;}
  .faq-group .faq-a-inner{padding:0 4px 18px;}

  /* AUTHOR / TRUST BOX */
  .author-box{background:#fff; border:1px solid var(--gi-border); border-radius:var(--gi-radius); padding:var(--gi-card-pad); max-width:var(--gi-read-width); margin:var(--sp-component) 0; box-shadow:var(--gi-shadow-sm);}
  .author-box-grid{display:flex; flex-wrap:wrap; gap:28px; margin-bottom:18px; padding-bottom:18px; border-bottom:1px solid var(--gi-border);}
  .author-box-grid > div{display:flex; flex-direction:column; gap:4px;}
  .author-label{font-family:'Roboto Mono',monospace; font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:var(--gi-gray);}
  .author-value{font-weight:700; color:var(--gi-ink); font-size:var(--fs-xs);}
  .author-sources{display:flex; flex-direction:column; gap:10px;}
  .author-source-tags{display:flex; flex-wrap:wrap; gap:8px;}
  .source-tag{font-family:'Roboto Mono',monospace; font-size:var(--fs-xs); background:var(--gi-green-light); color:var(--gi-green-dark); padding:5px 11px; border-radius:12px;}

  /* VERIFY BADGE (flags claims that need cross-checking) */
  .verify-badge{display:inline-flex; align-items:center; gap:5px; font-family:'Roboto Mono',monospace; font-size:.7rem; text-transform:uppercase; letter-spacing:.04em; background:#fbf3e2; color:#8a6508; padding:2px 9px; border-radius:10px; margin-left:8px; white-space:nowrap; vertical-align:middle;}
  .verify-badge.verify-ok{background:#dff2ea; color:var(--gi-green-dark);}
  .verify-badge.verify-pending{background:#fbeae7; color:var(--gi-red);}

  /* FOOTNOTE / SOURCES */
  .sources{font-size:var(--fs-xs); color:var(--gi-gray); max-width:var(--gi-read-width); line-height:1.7;}
  .disclaimer{background:#fff; border:1px solid var(--gi-border); border-radius:var(--gi-radius); padding:20px 24px; font-size:var(--fs-xs); color:var(--gi-gray); max-width:var(--gi-read-width); margin-top:var(--sp-heading);}

  /* QUIZ */
  .quiz{background:#fff; border:1px solid var(--gi-border); border-radius:var(--gi-radius); padding:8px var(--gi-card-pad) var(--gi-card-pad); max-width:var(--gi-read-width); box-shadow:var(--gi-shadow-sm);}
  .quiz-q{padding:20px 0; border-bottom:1px solid var(--gi-border);}
  .quiz-q:last-of-type{border-bottom:none;}
  .quiz-label{font-weight:700; margin:0 0 10px; font-size:var(--fs-sm); color:var(--gi-ink);}
  .quiz-opts{display:flex; gap:24px;}
  .quiz-opts label{display:flex; align-items:center; gap:8px; font-size:var(--fs-sm); cursor:pointer; color:var(--gi-gray);}
  .quiz-opts input{accent-color:var(--gi-green); width:17px; height:17px; cursor:pointer;}
  .quiz-result{background:#fff; border:1px solid var(--gi-border); border-radius:var(--gi-radius); padding:var(--gi-card-pad); max-width:var(--gi-read-width); margin-top:var(--sp-component); box-shadow:var(--gi-shadow-sm);}
  .quiz-result-head h3{margin:0 0 4px; font-size:var(--fs-md);}
  .quiz-itr{font-family:'Roboto Mono',monospace; font-size:var(--fs-xs); color:var(--gi-green-dark); background:var(--gi-green-light); display:inline-block; padding:6px 14px; border-radius:6px; margin-bottom:12px;}
  .quiz-group-label{font-family:'Roboto Mono',monospace; font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:var(--gi-green); margin:20px 0 4px;}
  .quiz-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:22px;}
  .quiz-note{font-size:var(--fs-xs); color:var(--gi-gray); margin-top:18px; max-width:600px;}

  /* WIZARD — same container/shadow tier as other cards so it reads as part of the
     guide, not a separate app; only the step dots stay distinct since they're functional. */
  .wizard-section{padding:0 0 32px;}
  .wizard-card{background:#fff; border:1px solid var(--gi-border); border-radius:var(--gi-radius); padding:var(--gi-card-pad); max-width:var(--gi-interactive); box-shadow:var(--gi-shadow-sm);}
  .wizard-step-label{display:block; font-family:'Roboto Mono',monospace; font-size:var(--fs-xs); font-weight:700; color:var(--gi-green); text-transform:uppercase; letter-spacing:.05em; margin-bottom:14px;}
  .wizard-progress{display:flex; align-items:center; margin-bottom:var(--sp-heading);}
  .wizard-step-dot{
    width:32px; height:32px; border-radius:50%; background:var(--gi-border); color:#fff; font-family:'Roboto Mono',monospace;
    font-size:var(--fs-xs); display:flex; align-items:center; justify-content:center; flex-shrink:0; font-weight:700;
    transition:background .2s ease;
  }
  .wizard-step-dot.active, .wizard-step-dot.done{background:var(--gi-green);}
  .wizard-step-line{flex:1; height:2px; background:var(--gi-border); margin:0 4px;}
  .wizard-panel{display:none; min-height:180px;}
  .wizard-panel.active{display:block; animation:fadein .2s ease;}
  @keyframes fadein{from{opacity:0; transform:translateY(4px);} to{opacity:1; transform:translateY(0);}}
  .quiz-opts.vertical{flex-direction:column; gap:14px; align-items:flex-start;}
  .quiz-opts.vertical label{font-size:var(--fs-sm); color:var(--gi-ink);}
  .wizard-nav{display:flex; justify-content:space-between; align-items:center; margin-top:var(--sp-heading); gap:12px;}
  .wizard-nav .btn-quiz{margin-top:0;}

  /* COMPLEXITY BADGE */
  .complexity-badge{display:inline-flex; align-items:center; gap:12px; background:#fff; border:1px solid var(--gi-border); border-radius:var(--gi-radius); padding:14px 22px; margin:var(--sp-heading) 0 8px;}
  .complexity-dot{font-size:1.4rem; line-height:1;}
  .complexity-text{display:flex; flex-direction:column;}
  .complexity-label{font-family:'Roboto Mono',monospace; font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:var(--gi-gray);}
  .complexity-value{font-weight:700; font-size:var(--fs-md); color:var(--gi-ink);}

  /* DASHBOARD — the primary answer (dash-itr) is visually weighted so it stands out
     from the six supporting cards, instead of all seven carrying equal weight. */
  .dash-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:var(--sp-component) 0;}
  .dash-card{background:#fff; border:1px solid var(--gi-border); border-radius:var(--gi-radius); padding:20px; text-align:left;}
  .dash-label{display:block; font-family:'Roboto Mono',monospace; font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:var(--gi-gray); margin-bottom:8px;}
  .dash-value{display:block; font-weight:700; font-size:var(--fs-sm); color:var(--gi-green-dark);}
  .dash-value.status-yes{color:var(--gi-green-dark);}
  .dash-value.status-yes::before{content:"✓ "; }
  .dash-value.status-no{color:var(--gi-gray);}
  .dash-value.status-no::before{content:"— "; }
  .dash-card#dash-itr{
    grid-column:span 3; background:var(--gi-green-light); border-color:var(--gi-green);
    display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; padding:22px 24px;
  }
  .dash-card#dash-itr .dash-label{color:var(--gi-green-dark); font-size:var(--fs-xs); margin-bottom:0;}
  .dash-card#dash-itr .dash-value{color:var(--gi-green-dark); font-size:2.375rem; font-family:'Playfair Display',serif; display:flex; align-items:center; gap:10px;}
  .dash-card#dash-itr .dash-value::before{content:"🎯"; font-size:1.5rem;}
  @media (max-width:760px){
    .dash-card#dash-itr{grid-column:span 2;}
  }

  /* FILTER TOGGLE */
  .filter-toggle{margin:14px 0 8px; font-size:var(--fs-sm); color:var(--gi-gray);}
  .filter-toggle input{accent-color:var(--gi-green); margin-right:8px; cursor:pointer;}
  .card.card-hidden{display:none;}

  @media print{
    .tax-hero, .toc, nav, form.quiz, .quiz-actions, .btn-cta, #wizard, .wizard-nav, .filter-toggle, .reading-sidebar{display:none !important;}
    #dashboard .lede{display:none;}
    body{background:#fff;}
  }

  @media (max-width:760px){
    .tax-hero h1{font-size:2rem;}
    .toc-groups{grid-template-columns:1fr;}
    .card-grid{grid-template-columns:1fr;}
    section h2{font-size:1.6rem;}
    .dash-grid{grid-template-columns:1fr 1fr;}
    .wizard-card{padding:22px;}
  }

  /* STICKY READING SIDEBAR — now shows from 1200px instead of 1400px */
  .reading-sidebar{
    display:none; position:fixed; right:24px; top:50%; transform:translateY(-50%);
    width:190px; background:#fff; border:1px solid var(--gi-border); border-radius:var(--gi-radius);
    padding:18px; box-shadow:var(--gi-shadow-lg); z-index:40;
  }
  .rs-progress-track{height:5px; background:var(--gi-border); border-radius:3px; overflow:hidden; margin-bottom:14px;}
  .rs-progress-fill{height:100%; width:0%; background:var(--gi-green); transition:width .15s ease;}
  .rs-eyebrow{display:block; font-family:'Roboto Mono',monospace; font-size:.68rem; text-transform:uppercase; letter-spacing:.05em; color:var(--gi-gray); margin-bottom:4px;}
  .rs-current-section{display:block; font-weight:700; font-size:var(--fs-xs); color:var(--gi-green-dark); margin-bottom:16px; line-height:1.3; min-height:2.4em;}
  .rs-btn{display:block; text-align:center; text-decoration:none; font-size:var(--fs-xs); font-weight:700; padding:10px 12px; border-radius:6px; margin-bottom:8px;}
  .rs-btn:last-child{margin-bottom:0;}
  @media (min-width:1200px){
    .reading-sidebar{display:block;}
  }


/* --- Extracted from index.html --- */
/* ── Page wrapper (matches calculator hub width) ── */
      .blog-page {
        max-width: 1100px;
        margin: 40px auto 0;
      }

      .blog-page .hero-title {
        font-size: clamp(40px, 6vw, 64px);
        margin-bottom: 12px;
      }
      .blog-page .lead {
        color: #555;
        margin-bottom: 36px;
        max-width: 640px;
      }

      .blog-divider {
        border: none;
        border-top: 1px solid #e7e7e7;
        margin: 0 0 28px;
      }

      /* ── Filter chips ── */
      .filter-chips {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 20px;
      }
      .chip {
        font-family: 'Roboto Mono', monospace;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        padding: 7px 14px;
        border: 1px solid #ddd;
        border-radius: 4px;
        background: #fff;
        color: #555;
        cursor: pointer;
        transition: background 0.15s, color 0.15s, border-color 0.15s;
        user-select: none;
      }
      .chip:hover {
        border-color: #aaa;
        color: #111;
      }
      .chip.active {
        background: #111;
        color: #fff;
        border-color: #111;
      }

      /* ── Search ── */
      .blog-search-wrap {
        position: relative;
        margin-bottom: 32px;
      }
      .blog-search-wrap .search-icon {
        position: absolute;
        left: 14px;
        top: 50%;
        transform: translateY(-50%);
        font-size: 14px;
        color: #aaa;
        pointer-events: none;
      }
      .blog-search {
        width: 100%;
        padding: 11px 14px 11px 38px;
        border: 1px solid #ddd;
        border-radius: 4px;
        font-family: 'Montserrat', sans-serif;
        font-size: 14px;
        color: #111;
        background: #fafafa;
        box-sizing: border-box;
        transition: border-color 0.15s, box-shadow 0.15s;
      }
      .blog-search:focus {
        outline: none;
        border-color: #0b6b52;
        box-shadow: 0 0 0 3px rgba(11,107,82,0.08);
        background: #fff;
      }
      .blog-search::placeholder {
        color: #bbb;
      }

      /* ── Featured post ── */
      .blog-featured {
        border: 1px solid #0b6b52;
        border-radius: 10px;
        background: linear-gradient(135deg, #f3faf7 0%, #fafafa 100%);
        padding: 28px;
        display: flex;
        align-items: stretch;
        gap: 28px;
        text-decoration: none;
        color: inherit;
        margin-bottom: 36px;
        transition: box-shadow 0.18s, transform 0.18s;
        overflow: hidden;
      }
      .blog-featured:hover {
        box-shadow: 0 8px 28px rgba(11,107,82,0.12);
        transform: translateY(-2px);
      }
      .blog-featured-img {
        width: 280px;
        flex-shrink: 0;
        border-radius: 8px;
        object-fit: cover;
      }
      .blog-featured-body {
        display: flex;
        flex-direction: column;
        justify-content: center;
        min-width: 0;
      }
      .blog-featured-eyebrow {
        font-family: 'Roboto Mono', monospace;
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.1em;
        color: #0b6b52;
        margin-bottom: 10px;
      }
      .blog-featured-tag {
        font-family: 'Montserrat', sans-serif;
        font-size: 0.8rem;
        font-weight: 700;
        color: #333;
        margin-bottom: 6px;
      }
      .blog-featured-title {
        font-family: 'Montserrat', sans-serif;
        font-size: 1.6rem;
        font-weight: 800;
        color: #111;
        margin-bottom: 8px;
        line-height: 1.2;
      }
      .blog-featured-desc {
        font-family: 'Montserrat', sans-serif;
        font-size: 0.92rem;
        color: #555;
        margin-bottom: 14px;
        line-height: 1.5;
      }
      .blog-featured-cta {
        font-family: 'Roboto Mono', monospace;
        font-size: 12px;
        font-weight: 700;
        color: #fff;
        background: #0b6b52;
        padding: 10px 18px;
        border-radius: 4px;
        white-space: nowrap;
        width: fit-content;
      }

      /* ── Section label ── */
      .blog-section-label {
        font-family: 'Roboto Mono', monospace;
        font-size: 12px;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #888;
        margin: 0 0 16px;
        display: flex;
        align-items: center;
        gap: 10px;
      }
      .blog-section-label::after {
        content: '';
        flex: 1;
        height: 1px;
        background: #eee;
      }

      /* ── Cards ── */
      .blog-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;
        margin-bottom: 16px;
      }
      .blog-card {
        border: 1px solid #e7e7e7;
        border-radius: 8px;
        padding: 0 0 24px;
        background: #fafafa;
        text-decoration: none;
        color: inherit;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        transition: border-color 0.18s, box-shadow 0.18s, transform 0.18s;
      }
      .blog-card:hover {
        border-color: #0b6b52;
        box-shadow: 0 4px 16px rgba(11,107,82,0.09);
        transform: translateY(-2px);
      }
      .blog-card-img {
        width: 100%;
        height: 170px;
        object-fit: cover;
        margin-bottom: 16px;
      }
      .blog-card-body {
        padding: 0 24px;
        display: flex;
        flex-direction: column;
        gap: 8px;
        flex: 1;
      }
      .blog-card-meta {
        display: flex;
        align-items: center;
        gap: 8px;
        margin-bottom: 4px;
      }
      .blog-card-date {
        font-family: 'Roboto Mono', monospace;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.05em;
        text-transform: uppercase;
        color: #aaa;
      }
      .blog-card-title {
        font-family: 'Montserrat', sans-serif;
        font-size: 1.05rem;
        font-weight: 700;
        color: #111;
        margin: 0;
        line-height: 1.3;
      }
      .blog-card-desc {
        font-family: 'Montserrat', sans-serif;
        font-size: 0.83rem;
        color: #666;
        line-height: 1.55;
        margin: 0;
        flex: 1;
      }
      .blog-card-cta {
        font-family: 'Roboto Mono', monospace;
        font-size: 11px;
        font-weight: 700;
        color: #0b6b52;
        margin-top: 2px;
      }
      .blog-card-link {
        text-decoration: none;
        color: inherit;
        display: flex;
        flex-direction: column;
        flex: 1;
      }
      .blog-card-related {
        margin: 12px 24px 0;
        padding-top: 12px;
        border-top: 1px solid #eee;
        display: flex;
        align-items: center;
        justify-content: space-between;
        text-decoration: none;
      }
      .blog-card-related-label {
        font-family: 'Roboto Mono', monospace;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        color: #999;
      }
      .blog-card-related-link {
        font-family: 'Montserrat', sans-serif;
        font-size: 0.78rem;
        font-weight: 700;
        color: #0b6b52;
      }
      .blog-card-related:hover .blog-card-related-link {
        text-decoration: underline;
      }
      .blog-card-related.is-soon {
        cursor: default;
      }
      .blog-card-related-link.is-soon {
        color: #aaa;
      }
      .blog-card-related.is-soon:hover .blog-card-related-link {
        text-decoration: none;
      }

      /* category badges */
      .badge {
        font-family: 'Roboto Mono', monospace;
        font-size: 10px;
        font-weight: 700;
        letter-spacing: 0.05em;
        padding: 3px 8px;
        border-radius: 3px;
        white-space: nowrap;
      }
      .badge-gift     { background: #dbeafe; color: #1d4ed8; }
      .badge-ucits    { background: #ede9fe; color: #6d28d9; }
      .badge-global   { background: #e6f4ef; color: #0b6b52; }
      .badge-currency { background: #fef3e2; color: #b45309; }
      .badge-tax      { background: #fde8e8; color: #b91c1c; }

      /* ── Empty state ── */
      .blog-empty {
        display: none;
        text-align: center;
        padding: 48px 0;
        color: #aaa;
        font-family: 'Montserrat', sans-serif;
        font-size: 0.9rem;
      }

      /* ── Newsletter band ── */
      .blog-newsletter {
        border: 1px solid #e7e7e7;
        border-radius: 8px;
        background: #fafafa;
        padding: 28px 32px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 20px;
        flex-wrap: wrap;
        margin: 24px 0 16px;
      }
      .blog-newsletter-text strong {
        display: block;
        font-family: 'Montserrat', sans-serif;
        font-size: 1.05rem;
        color: #111;
        margin-bottom: 4px;
      }
      .blog-newsletter-text span {
        font-family: 'Montserrat', sans-serif;
        font-size: 0.85rem;
        color: #666;
      }
      .blog-newsletter-btn {
        font-family: 'Roboto Mono', monospace;
        font-size: 12px;
        font-weight: 700;
        color: #fff;
        background: #111;
        border: none;
        border-radius: 4px;
        padding: 12px 22px;
        text-decoration: none;
        cursor: pointer;
        transition: background 0.15s;
        flex-shrink: 0;
      }
      .blog-newsletter-btn:hover {
        background: #0b6b52;
      }

      .blog-page-end {
        padding-bottom: 72px;
      }

      @media (max-width: 860px) {
        .blog-grid { grid-template-columns: 1fr 1fr; }
        .blog-featured { flex-direction: column; }
        .blog-featured-img { width: 100%; height: 200px; }
      }

      @media (max-width: 520px) {
        .blog-grid { grid-template-columns: 1fr; }
        .filter-chips { gap: 6px; }
        .chip { font-size: 10px; padding: 6px 11px; }
        .blog-newsletter { flex-direction: column; align-items: flex-start; }
        .blog-newsletter-btn { width: 100%; text-align: center; }
      }


/* --- Extracted from index.html --- */
/* ── Hub Global Overrides & Themes ── */
      .hub-page {
        max-width: 1100px;
        margin: 20px auto 0;
        font-family: 'Montserrat', sans-serif;
      }
      .mono {
        font-family: 'Roboto Mono', monospace;
      }
      .italic {
        font-family: 'Playfair Display', italic;
      }
      .hub-divider {
        border: none;
        border-top: 1px solid #e7e7e7;
        margin: 40px 0;
      }

      /* ── Breadcrumb Component ── */
      .hub-breadcrumb {
        font-family: 'Roboto Mono', monospace;
        font-size: 11px;
        font-weight: 700;
        text-transform: uppercase;
        color: #888;
        margin-bottom: 32px;
        display: flex;
        align-items: center;
        gap: 8px;
      }
      .hub-breadcrumb a {
        color: #888;
        text-decoration: none;
        transition: color 0.15s;
      }
      .hub-breadcrumb a:hover {
        color: #0b6b52;
      }
      .hub-breadcrumb span.separator {
        color: #ccc;
      }
      .hub-breadcrumb span.current {
        color: #111;
      }

      /* ── Hero Grid Layout ── */
      .hub-hero-grid {
        display: grid;
        grid-template-columns: 1.6fr 1fr;
        gap: 40px;
        align-items: center;
        margin-bottom: 48px;
      }
      .hub-hero-left .hero-title {
        font-size: clamp(38px, 5.5vw, 56px);
        font-weight: 900;
        line-height: 1.1;
        margin-bottom: 16px;
        color: #111;
      }
      .hub-hero-left .lead {
        color: #555;
        font-size: 1.1rem;
        margin-bottom: 24px;
        line-height: 1.6;
      }
      .hub-hero-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 8px;
        margin-bottom: 32px;
      }
      .hub-tag-mini {
        font-family: 'Roboto Mono', monospace;
        font-size: 11px;
        font-weight: 700;
        color: #666;
        background: #f0f0f0;
        padding: 4px 10px;
        border-radius: 4px;
      }
      .hub-cta-group {
        display: flex;
        gap: 16px;
        align-items: center;
      }
      .btn-primary {
        font-family: 'Roboto Mono', monospace;
        background: #0b6b52;
        color: #fff;
        padding: 14px 28px;
        font-weight: 700;
        text-decoration: none;
        border-radius: 6px;
        transition: transform 0.2s, background 0.2s;
      }
      .btn-primary:hover {
        background: #08533f;
        transform: translateY(-1px);
      }
      .btn-secondary {
        font-family: 'Roboto Mono', monospace;
        color: #111;
        border: 1px solid #ddd;
        padding: 14px 28px;
        font-weight: 700;
        text-decoration: none;
        border-radius: 6px;
        transition: background 0.2s;
      }
      .btn-secondary:hover {
        background: #fafafa;
      }

      /* Hero Stats Widget */
      .hub-stats-card {
        border: 1px solid #e7e7e7;
        border-radius: 12px;
        background: #fafafa;
        padding: 24px;
      }
      .hub-stats-grid {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 20px;
      }
      .hub-stat-item {
        display: flex;
        flex-direction: column;
      }
      .hub-stat-number {
        font-size: 2rem;
        font-weight: 900;
        color: #0b6b52;
      }
      .hub-stat-label {
        font-family: 'Roboto Mono', monospace;
        font-size: 11px;
        font-weight: 700;
        color: #666;
        text-transform: uppercase;
        margin-top: 4px;
      }

      /* ── Recommendation Callout ── */
      .recommend-box {
        background: #f4fbf8;
        border: 1px solid #d6ece4;
        border-left: 4px solid #0b6b52;
        border-radius: 8px;
        padding: 20px 24px;
        margin: 28px 0;
      }
      .recommend-box h4 {
        margin: 0 0 12px;
        font-size: 0.95rem;
        font-weight: 700;
        color: #0b6b52;
      }
      .recommend-box ul {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 8px;
      }
      .recommend-box li {
        font-size: 0.92rem;
        color: #444;
        line-height: 1.5;
      }
      .recommend-box li a {
        color: #0b6b52;
        font-weight: 700;
        text-decoration: none;
      }
      .recommend-box li a:hover {
        text-decoration: underline;
      }

      /* ── Section 1: What is GIFT City ── */
      .intro-grid {
        display: grid;
        grid-template-columns: 1.2fr 1fr;
        gap: 40px;
        align-items: center;
      }
      .intro-text p {
        font-size: 1rem;
        line-height: 1.7;
        color: #444;
      }
      .flow-diagram {
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: #f4fbf8;
        border: 1px dashed #0b6b52;
        padding: 20px;
        border-radius: 8px;
      }
      .flow-step {
        text-align: center;
        font-weight: 700;
        font-size: 0.85rem;
      }
      .flow-arrow {
        color: #0b6b52;
        font-weight: 900;
      }

      /* ── Section Grid Layout Frameworks ── */
      .path-grid {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 16px;
      }
      .path-card {
        border: 1px solid #e7e7e7;
        border-radius: 8px;
        padding: 20px;
        background: #fff;
        text-decoration: none;
        color: inherit;
        transition: all 0.2s;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
      }
      .path-card:hover {
        border-color: #0b6b52;
        box-shadow: 0 4px 12px rgba(11,107,82,0.06);
        transform: translateY(-2px);
      }
      .path-card h3 {
        font-size: 1.05rem;
        margin: 0 0 12px;
        font-weight: 700;
      }
      .path-card .arrow-link {
        font-family: 'Roboto Mono', monospace;
        font-size: 11px;
        font-weight: 700;
        color: #0b6b52;
        margin-top: 16px;
      }

      .hub-section-title {
        font-size: 1.8rem;
        font-weight: 800;
        margin-bottom: 24px;
        color: #111;
      }
      .section-label {
        margin-bottom: 8px;
      }
      .section-label span {
        font-size: 11px;
        font-weight: 700;
        letter-spacing: 0.1em;
        color: #888;
      }
      .hub-grid-3 {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 20px;
      }
      .hub-grid-2 {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
      }
      .hub-grid-1 {
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
        max-width: 420px;
      }

      /* ── Supported Brokers ── */
      .dir-card {
        border: 1px solid #e7e7e7;
        border-radius: 10px;
        padding: 24px;
        background: #fafafa;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
      }
      .dir-row {
        display: flex;
        justify-content: space-between;
        padding: 8px 0;
        border-bottom: 1px solid #eee;
        font-size: 0.9rem;
      }
      .dir-row:last-of-type {
        border-bottom: none;
      }
      .dir-label {
        font-family: 'Roboto Mono', monospace;
        color: #777;
        font-size: 11px;
        text-transform: uppercase;
      }
      .dir-value {
        font-weight: 700;
        color: #111;
      }
      .dir-card h3 {
        margin: 0 0 16px;
        font-size: 1.3rem;
      }
      .dir-cta-group {
        display: flex;
        gap: 12px;
        margin-top: 20px;
      }
      .dir-cta-group .btn-secondary {
        flex: 1;
        padding: 10px;
        text-align: center;
        font-size: 11px;
      }

      /* ── Comparison Blocks ── */
      .comp-card {
        border: 1px solid #e7e7e7;
        border-radius: 8px;
        padding: 20px;
        background: #fff;
        display: flex;
        align-items: center;
        justify-content: space-between;
        text-decoration: none;
        color: inherit;
        transition: border-color 0.2s;
      }
      .comp-card:hover {
        border-color: #0b6b52;
      }
      .comp-versus {
        font-weight: 700;
        font-size: 1rem;
        display: flex;
        align-items: center;
        gap: 12px;
      }
      .vs-badge {
        font-family: 'Roboto Mono', monospace;
        font-size: 10px;
        background: #eee;
        padding: 2px 6px;
        border-radius: 3px;
        color: #666;
      }

      /* ── High-Density Browse All Guides Matrix ── */
      .resource-matrix {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 32px 24px;
        background: #fafafa;
        border: 1px solid #e7e7e7;
        border-radius: 12px;
        padding: 32px;
      }
      .resource-col h3 {
        font-size: 0.9rem;
        font-family: 'Roboto Mono', monospace;
        text-transform: uppercase;
        color: #777;
        margin: 0 0 16px 0;
        letter-spacing: 0.05em;
        border-bottom: 1px solid #eee;
        padding-bottom: 8px;
      }
      .resource-list {
        list-style: none;
        padding: 0;
        margin: 0;
        display: flex;
        flex-direction: column;
        gap: 10px;
      }
      .resource-list li a {
        font-size: 0.92rem;
        color: #111;
        text-decoration: none;
        font-weight: 700;
        display: flex;
        align-items: center;
        gap: 6px;
        transition: color 0.15s;
      }
      .resource-list li a:hover {
        color: #0b6b52;
      }
      .resource-list li a::before {
        content: '•';
        color: #0b6b52;
        font-weight: 900;
        font-size: 14px;
        margin-right: 2px;
      }

      /* ── Accordion System UI ── */
      .faq-item {
        border-bottom: 1px solid #eee;
        padding: 20px 0;
      }
      .faq-question {
        font-weight: 700;
        font-size: 1.05rem;
        cursor: pointer;
        display: flex;
        justify-content: space-between;
        align-items: center;
      }
      .faq-answer {
        margin-top: 12px;
        color: #555;
        font-size: 0.92rem;
        line-height: 1.6;
        display: none;
      }

      /* Bottom Conversion Block */
      .footer-cta-box {
        background: linear-gradient(135deg, #f3faf7 0%, #fafafa 100%);
        border: 1px solid #0b6b52;
        border-radius: 12px;
        padding: 40px;
        text-align: center;
        margin-bottom: 60px;
      }

      /* ── Responsive Architecture Breakpoints ── */
      @media (max-width: 860px) {
        .hub-hero-grid, .intro-grid, .hub-grid-3, .hub-grid-2, .resource-matrix {
          grid-template-columns: 1fr;
        }
        .path-grid {
          grid-template-columns: 1fr 1fr;
        }
      }
      @media (max-width: 520px) {
        .path-grid {
          grid-template-columns: 1fr !important;
        }
        .btn-primary, .btn-secondary {
          width: 100%;
          text-align: center;
        }
        .hub-cta-group, .flow-diagram {
          flex-direction: column;
          gap: 12px;
        }
        .flow-arrow {
          transform: rotate(90deg);
        }
      }


/* --- Extracted from espp-checklist.html --- */
/* ============================================
   GISH ESPP CHECKLIST — namespaced .gish-espp
   Design tokens matched to live site system
   ============================================ */
.gish-espp {
  --ink: #0b1f17;
  --green: #0b6b52;
  --green-d: #063d2e;
  --green-l: #e8f3ee;
  --paper: #faf8f4;
  --gold: #c79a3d;
  --line: #d9d2c4;
  --warn: #b45309;
  --warn-l: #fef3c7;
  --red: #991b1b;
  --red-l: #fef2f2;
  --mono: 'Roboto Mono', monospace;
  --serif: 'Playfair Display', serif;

  background: var(--paper);
  color: var(--ink);
  font-family: var(--mono);
  min-height: 100vh;
  width: 100%;
  -webkit-font-smoothing: antialiased;
}

.gish-espp * { box-sizing: border-box; margin: 0; padding: 0; }
.gish-espp button { font-family: inherit; cursor: pointer; }

/* ---- Shell ---- */
.gish-espp .ec-shell {
  max-width: 640px;
  margin: 0 auto;
  padding: 0 24px 80px;
}

/* ---- Masthead ---- */
.gish-espp .ec-masthead {
  padding: 28px 0 32px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 36px;
}

.gish-espp .ec-eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: 16px;
}
.gish-espp .ec-eyebrow .dim { color: #8a8276; }

.gish-espp .ec-h1 {
  font-family: var(--serif);
  font-weight: 600;
  font-size: clamp(30px, 7vw, 44px);
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--ink);
  margin-bottom: 14px;
}
.gish-espp .ec-h1 em {
  font-style: italic;
  color: var(--green);
  font-weight: 500;
}

.gish-espp .ec-lede {
  font-size: 14px;
  line-height: 1.7;
  color: #4a4438;
  max-width: 520px;
  margin-bottom: 24px;
}

.gish-espp .ec-hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.gish-espp .ec-hero-stat {
  padding: 12px 10px 12px 0;
  border-right: 1px solid var(--line);
}
.gish-espp .ec-hero-stat:last-child { border-right: none; }
.gish-espp .ec-hero-stat .num {
  font-family: var(--serif);
  font-size: 20px;
  font-weight: 600;
  color: var(--green-d);
  display: block;
}
.gish-espp .ec-hero-stat .lbl {
  font-size: 9.5px;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #8a8276;
  display: block;
  margin-top: 3px;
}

/* ---- Live score bar (sticky) ---- */
.gish-espp .ec-scorebar {
  position: sticky;
  top: 0;
  z-index: 100;
  background: var(--paper);
  border-bottom: 1px solid var(--line);
  padding: 10px 0;
  margin: 0 -24px 36px;
  padding-left: 24px;
  padding-right: 24px;
  display: flex;
  align-items: center;
  gap: 14px;
}
.gish-espp .ec-scorebar-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a8276;
  white-space: nowrap;
  flex-shrink: 0;
}
.gish-espp .ec-scorebar-track {
  flex: 1;
  height: 6px;
  background: var(--line);
  border-radius: 3px;
  overflow: hidden;
}
.gish-espp .ec-scorebar-fill {
  height: 100%;
  border-radius: 3px;
  background: var(--green);
  width: 0%;
  transition: width 0.5s cubic-bezier(.65,0,.35,1), background 0.3s ease;
}
.gish-espp .ec-scorebar-num {
  font-family: var(--serif);
  font-size: 17px;
  font-weight: 600;
  color: var(--green-d);
  white-space: nowrap;
  flex-shrink: 0;
  min-width: 44px;
  text-align: right;
  transition: color 0.3s ease;
}
.gish-espp .ec-scorebar-count {
  font-size: 10px;
  color: #8a8276;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ---- Section header ---- */
.gish-espp .ec-section {
  margin-bottom: 40px;
}
.gish-espp .ec-section-head {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 20px;
}
.gish-espp .ec-section-num {
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--paper);
  background: var(--green);
  padding: 3px 8px;
  border-radius: 2px;
  flex-shrink: 0;
}
.gish-espp .ec-section-title {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 17px;
  color: var(--ink);
}

/* ---- Question item ---- */
.gish-espp .ec-q {
  border: 1px solid var(--line);
  border-radius: 5px;
  background: #fff;
  padding: 18px 18px 16px;
  margin-bottom: 10px;
  transition: border-color 0.2s ease;
}
.gish-espp .ec-q.answered {
  border-color: var(--green);
}
.gish-espp .ec-q-top {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 12px;
}
.gish-espp .ec-q-num {
  font-size: 11px;
  font-weight: 600;
  color: var(--green);
  border: 1px solid var(--green);
  border-radius: 50%;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: 1px;
  transition: background 0.2s ease, color 0.2s ease;
}
.gish-espp .ec-q.answered .ec-q-num {
  background: var(--green);
  color: var(--paper);
}
.gish-espp .ec-q-text {
  flex: 1;
}
.gish-espp .ec-q-label {
  font-size: 14px;
  font-weight: 500;
  color: var(--ink);
  line-height: 1.4;
  margin-bottom: 3px;
}
.gish-espp .ec-q-hint {
  font-size: 11.5px;
  color: #8a8276;
  line-height: 1.5;
}

/* ---- Option buttons (pills) ---- */
.gish-espp .ec-opts {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding-left: 34px;
}
.gish-espp .ec-opt {
  font-family: var(--mono);
  font-size: 12.5px;
  font-weight: 500;
  border: 1px solid var(--line);
  background: var(--paper);
  color: #4a4438;
  padding: 8px 14px;
  border-radius: 3px;
  transition: border-color 0.15s ease, background 0.15s ease, color 0.15s ease, transform 0.1s ease;
  line-height: 1.3;
  text-align: left;
}
.gish-espp .ec-opt:hover {
  border-color: var(--green);
  color: var(--ink);
  transform: translateY(-1px);
}
.gish-espp .ec-opt.selected {
  border-color: var(--green);
  background: var(--green-l);
  color: var(--green-d);
  font-weight: 600;
  box-shadow: inset 0 0 0 1px var(--green);
}
.gish-espp .ec-opt .opt-sub {
  display: block;
  font-size: 10px;
  font-weight: 400;
  color: #8a8276;
  margin-top: 2px;
}
.gish-espp .ec-opt.selected .opt-sub { color: var(--green); }

/* ---- Score reveal card ---- */
.gish-espp .ec-score-reveal {
  border: 1px solid var(--line);
  border-radius: 6px;
  overflow: hidden;
  margin-bottom: 32px;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.5s ease, transform 0.5s ease;
  pointer-events: none;
}
.gish-espp .ec-score-reveal.visible {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.gish-espp .ec-score-head {
  background: var(--green-d);
  color: var(--paper);
  padding: 24px 24px 20px;
  text-align: center;
}
.gish-espp .ec-score-head .tag {
  font-size: 10.5px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  opacity: 0.7;
  margin-bottom: 12px;
}
.gish-espp .ec-score-big {
  font-family: var(--serif);
  font-size: 64px;
  font-weight: 700;
  line-height: 1;
  margin-bottom: 4px;
}
.gish-espp .ec-score-denom {
  font-size: 13px;
  opacity: 0.6;
  margin-bottom: 16px;
}
.gish-espp .ec-score-bar-track {
  height: 6px;
  background: rgba(255,255,255,0.2);
  border-radius: 3px;
  overflow: hidden;
  max-width: 280px;
  margin: 0 auto;
}
.gish-espp .ec-score-bar-fill {
  height: 100%;
  border-radius: 3px;
  background: var(--gold);
  width: 0%;
  transition: width 0.8s cubic-bezier(.65,0,.35,1);
}

.gish-espp .ec-rec-body {
  background: #fff;
  padding: 22px 24px;
}
.gish-espp .ec-rec-label {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: 8px;
  display: flex;
  align-items: center;
  gap: 8px;
}
.gish-espp .ec-rec-label::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--line);
}

.gish-espp .ec-rec-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 12px 18px;
  border-radius: 4px;
  margin-bottom: 14px;
  font-weight: 600;
  font-size: 15px;
}
.gish-espp .ec-rec-badge.green {
  background: var(--green-l);
  color: var(--green-d);
  border: 1px solid var(--green);
}
.gish-espp .ec-rec-badge.yellow {
  background: var(--warn-l);
  color: var(--warn);
  border: 1px solid #d97706;
}
.gish-espp .ec-rec-badge.red {
  background: var(--red-l);
  color: var(--red);
  border: 1px solid #dc2626;
}
.gish-espp .ec-rec-text {
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--ink);
  margin-bottom: 18px;
}

/* Score factors */
.gish-espp .ec-factors {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 4px;
}
.gish-espp .ec-factor {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 9px 0;
  border-bottom: 1px dashed var(--line);
  font-size: 12.5px;
}
.gish-espp .ec-factor:last-child { border-bottom: none; }
.gish-espp .ec-factor .fc-name { color: var(--ink); }
.gish-espp .ec-factor .fc-score {
  font-weight: 600;
  font-size: 11.5px;
  color: var(--green);
}
.gish-espp .ec-factor .fc-score.low { color: #8a8276; }
.gish-espp .ec-factor .fc-score.zero { color: #c7c0b2; }

/* ---- Prose sections (article body) ---- */
.gish-espp .ec-prose {
  border-top: 1px solid var(--line);
  padding-top: 36px;
  margin-bottom: 40px;
}
.gish-espp .ec-prose-eyebrow {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--green);
  margin-bottom: 14px;
}
.gish-espp .ec-prose h2 {
  font-family: var(--serif);
  font-weight: 600;
  font-size: 22px;
  color: var(--ink);
  margin-bottom: 14px;
  line-height: 1.25;
}
.gish-espp .ec-prose p {
  font-size: 14px;
  line-height: 1.75;
  color: #3a3530;
  margin-bottom: 16px;
}
.gish-espp .ec-prose ul {
  margin: 0 0 16px 0;
  padding-left: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.gish-espp .ec-prose ul li {
  font-size: 14px;
  line-height: 1.65;
  color: #3a3530;
  padding-left: 20px;
  position: relative;
}
.gish-espp .ec-prose ul li::before {
  content: "—";
  position: absolute;
  left: 0;
  color: var(--green);
  font-weight: 600;
}

/* ---- Common mistakes callout ---- */
.gish-espp .ec-mistakes {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 16px;
}
.gish-espp .ec-mistake {
  border-left: 3px solid var(--gold);
  background: #fff;
  padding: 14px 16px;
  border-radius: 0 4px 4px 0;
}
.gish-espp .ec-mistake .mk-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--ink);
  margin-bottom: 4px;
}
.gish-espp .ec-mistake .mk-body {
  font-size: 12px;
  color: #6b6457;
  line-height: 1.55;
}

/* ---- Related links ---- */
.gish-espp .ec-related {
  margin-bottom: 16px;
}
.gish-espp .ec-related-title {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #8a8276;
  margin-bottom: 10px;
}
.gish-espp .ec-chips {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.gish-espp .ec-chip {
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--line);
  background: #fff;
  border-radius: 4px;
  padding: 13px 16px;
  text-decoration: none;
  color: var(--ink);
  font-size: 13.5px;
  transition: border-color 0.15s ease, background 0.15s ease;
}
.gish-espp .ec-chip:hover {
  border-color: var(--green);
  background: var(--green-l);
}
.gish-espp .ec-chip .arrow { color: var(--green); font-weight: 600; }

/* ---- Disclaimer ---- */
.gish-espp .ec-disclaimer {
  border-top: 1px solid var(--line);
  padding-top: 20px;
  margin-top: 16px;
}
.gish-espp .ec-disclaimer p {
  font-size: 11px;
  color: #8a8276;
  line-height: 1.6;
}

/* ---- Focus visibility ---- */
.gish-espp button:focus-visible,
.gish-espp a:focus-visible {
  outline: 2px solid var(--green);
  outline-offset: 2px;
}

@media (prefers-reduced-motion: reduce) {
  .gish-espp * { transition: none !important; animation: none !important; }
}

@media (max-width: 480px) {
  .gish-espp .ec-shell { padding-left: 18px; padding-right: 18px; }
  .gish-espp .ec-scorebar { margin-left: -18px; margin-right: -18px; padding-left: 18px; padding-right: 18px; }
  .gish-espp .ec-hero-stats { grid-template-columns: repeat(2, 1fr); }
  .gish-espp .ec-hero-stat:nth-child(2) { border-right: none; }
  .gish-espp .ec-score-big { font-size: 52px; }
  .gish-espp .ec-opts { padding-left: 0; padding-top: 4px; }
  .gish-espp .ec-q-top { flex-direction: column; gap: 6px; }
  .gish-espp .ec-q-num { display: none; }
}


/* --- Extracted from fractional-shares-guide.html --- */
/* ===== Two-column page layout matching NSE IX ===== */
      .page-layout {
        display: flex;
        align-items: stretch;
        width: 100%;
        max-width: 1320px;
        margin: 0 auto;
        gap: 48px;
        padding: 40px 20px 0;
      }

      .toc-col {
        flex: 0 0 264px;
      }

      .toc-sidebar {
        position: sticky;
        top: 24px;
      }

      .content-col {
        flex: 1 1 auto;
        min-width: 0;
      }

      .full-width-section {
        max-width: 1320px;
        margin: 0 auto;
        padding: 48px 20px 0;
      }

      /* Shared sidebar section styling */
      .toc-section { padding: 20px 0; }
      .toc-section:first-child { padding-top: 0; }
      .toc-section + .toc-section { border-top: 1px solid #e8e8e8; }

      .toc-heading, .toc-section-label {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        color: #999;
        margin: 0 0 12px;
      }
      .toc-heading { font-size: 15px; text-transform: none; color: #111; letter-spacing: 0; }

      .toc-list { list-style: none; margin: 0; padding: 0; }
      .toc-list li { margin: 0; }

      .toc-link {
        display: block;
        padding: 8px 10px;
        margin: 2px 0;
        border-radius: 6px;
        font-family: 'Montserrat', sans-serif;
        font-size: 13.5px;
        line-height: 1.35;
        color: #666;
        text-decoration: none;
        border-left: 3px solid transparent;
        transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
      }
      .toc-link:hover { color: #0b6b52; background: #f5faf8; }
      .toc-link.active {
        color: #0b6b52;
        font-weight: 700;
        font-size: 14.5px;
        background: #eaf6f1;
        border-left-color: #0b6b52;
      }

      .toc-related-list { list-style: none; margin: 0; padding: 0; }
      .toc-related-list li { margin-bottom: 8px; }
      .toc-related-list li:last-child { margin-bottom: 0; }
      .toc-related-list a {
        display: block;
        font-size: 13px;
        font-weight: 700;
        color: #111;
        text-decoration: none;
        line-height: 1.4;
        padding: 10px 12px;
        border: 1px solid #e8e8e8;
        border-radius: 8px;
        background: #fafafa;
        transition: border-color 0.15s ease, background-color 0.15s ease;
      }
      .toc-related-list a:hover { color: #0b6b52; border-color: rgba(11,107,82,0.35); background: #f5faf8; }

      .toc-mobile-toggle { display: none; }

      /* Mobile responsiveness */
      @media (max-width: 960px) {
        .page-layout {
          display: block;
          max-width: 100%;
          padding: 24px 16px 0;
        }
        .toc-col { display: block; }
        .toc-mobile-toggle {
          display: flex;
          align-items: center;
          justify-content: space-between;
          width: 100%;
          background: #fff;
          border: 1px solid #e2e2e2;
          border-radius: 10px;
          padding: 13px 16px;
          font-family: 'Montserrat', sans-serif;
          font-size: 14px;
          font-weight: 700;
          color: #111;
          cursor: pointer;
          margin-bottom: 18px;
        }
        .toc-mobile-toggle .toc-toggle-icon {
          font-size: 11px;
          color: #666;
          transition: transform 0.15s ease;
        }
        .toc-mobile-toggle[aria-expanded="true"] .toc-toggle-icon { transform: rotate(180deg); }

        .toc-sidebar {
          display: none;
          position: static;
          border: 1px solid #e8e8e8;
          border-radius: 10px;
          padding: 4px 18px 4px;
          margin-bottom: 18px;
        }
        .toc-sidebar.is-open { display: block; }
        .full-width-section { padding: 40px 16px 0; }
      }


/* --- Extracted from hidden-costs-expensive-global-etfs.html --- */
/* ===== Two-column page layout matching NSE IX ===== */
      .page-layout {
        display: flex;
        align-items: stretch;
        width: 100%;
        max-width: 1320px;
        margin: 0 auto;
        gap: 48px;
        padding: 40px 20px 0;
      }

      .toc-col {
        flex: 0 0 264px;
      }

      .toc-sidebar {
        position: sticky;
        top: 24px;
      }

      .content-col {
        flex: 1 1 auto;
        min-width: 0;
      }

      .full-width-section {
        max-width: 1320px;
        margin: 0 auto;
        padding: 48px 20px 0;
      }

      /* Shared sidebar section styling */
      .toc-section { padding: 20px 0; }
      .toc-section:first-child { padding-top: 0; }
      .toc-section + .toc-section { border-top: 1px solid #e8e8e8; }

      .toc-heading, .toc-section-label {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        color: #999;
        margin: 0 0 12px;
      }
      .toc-heading { font-size: 15px; text-transform: none; color: #111; letter-spacing: 0; }

      .toc-list { list-style: none; margin: 0; padding: 0; }
      .toc-list li { margin: 0; }

      .toc-link {
        display: block;
        padding: 8px 10px;
        margin: 2px 0;
        border-radius: 6px;
        font-family: 'Montserrat', sans-serif;
        font-size: 13.5px;
        line-height: 1.35;
        color: #666;
        text-decoration: none;
        border-left: 3px solid transparent;
        transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
      }
      .toc-link:hover { color: #0b6b52; background: #f5faf8; }
      .toc-link.active {
        color: #0b6b52;
        font-weight: 700;
        font-size: 14.5px;
        background: #eaf6f1;
        border-left-color: #0b6b52;
      }

      .toc-related-list { list-style: none; margin: 0; padding: 0; }
      .toc-related-list li { margin-bottom: 8px; }
      .toc-related-list li:last-child { margin-bottom: 0; }
      .toc-related-list a {
        display: block;
        font-size: 13px;
        font-weight: 700;
        color: #111;
        text-decoration: none;
        line-height: 1.4;
        padding: 10px 12px;
        border: 1px solid #e8e8e8;
        border-radius: 8px;
        background: #fafafa;
        transition: border-color 0.15s ease, background-color 0.15s ease;
      }
      .toc-related-list a:hover { color: #0b6b52; border-color: rgba(11,107,82,0.35); background: #f5faf8; }

      .toc-mobile-toggle { display: none; }

      /* Mobile responsiveness */
      @media (max-width: 960px) {
        .page-layout {
          display: block;
          max-width: 100%;
          padding: 24px 16px 0;
        }
        .toc-col { display: block; }
        .toc-mobile-toggle {
          display: flex;
          align-items: center;
          justify-content: space-between;
          width: 100%;
          background: #fff;
          border: 1px solid #e2e2e2;
          border-radius: 10px;
          padding: 13px 16px;
          font-family: 'Montserrat', sans-serif;
          font-size: 14px;
          font-weight: 700;
          color: #111;
          cursor: pointer;
          margin-bottom: 18px;
        }
        .toc-mobile-toggle .toc-toggle-icon {
          font-size: 11px;
          color: #666;
          transition: transform 0.15s ease;
        }
        .toc-mobile-toggle[aria-expanded="true"] .toc-toggle-icon { transform: rotate(180deg); }

        .toc-sidebar {
          display: none;
          position: static;
          border: 1px solid #e8e8e8;
          border-radius: 10px;
          padding: 4px 18px 4px;
          margin-bottom: 18px;
        }
        .toc-sidebar.is-open { display: block; }
        .full-width-section { padding: 40px 16px 0; }
      }


/* --- Extracted from inr-depreciation-case-2004-2026.html --- */
/* ===== Two-column page layout matching NSE IX ===== */
      .page-layout {
        display: flex;
        align-items: stretch;
        width: 100%;
        max-width: 1320px;
        margin: 0 auto;
        gap: 48px;
        padding: 40px 20px 0;
      }

      .toc-col {
        flex: 0 0 264px;
      }

      .toc-sidebar {
        position: sticky;
        top: 24px;
      }

      .content-col {
        flex: 1 1 auto;
        min-width: 0;
      }

      .full-width-section {
        max-width: 1320px;
        margin: 0 auto;
        padding: 48px 20px 0;
      }

      /* Shared sidebar section styling */
      .toc-section { padding: 20px 0; }
      .toc-section:first-child { padding-top: 0; }
      .toc-section + .toc-section { border-top: 1px solid #e8e8e8; }

      .toc-heading, .toc-section-label {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        color: #999;
        margin: 0 0 12px;
      }
      .toc-heading { font-size: 15px; text-transform: none; color: #111; letter-spacing: 0; }

      .toc-list { list-style: none; margin: 0; padding: 0; }
      .toc-list li { margin: 0; }

      .toc-link {
        display: block;
        padding: 8px 10px;
        margin: 2px 0;
        border-radius: 6px;
        font-family: 'Montserrat', sans-serif;
        font-size: 13.5px;
        line-height: 1.35;
        color: #666;
        text-decoration: none;
        border-left: 3px solid transparent;
        transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
      }
      .toc-link:hover { color: #0b6b52; background: #f5faf8; }
      .toc-link.active {
        color: #0b6b52;
        font-weight: 700;
        font-size: 14.5px;
        background: #eaf6f1;
        border-left-color: #0b6b52;
      }

      .toc-related-list { list-style: none; margin: 0; padding: 0; }
      .toc-related-list li { margin-bottom: 8px; }
      .toc-related-list li:last-child { margin-bottom: 0; }
      .toc-related-list a {
        display: block;
        font-size: 13px;
        font-weight: 700;
        color: #111;
        text-decoration: none;
        line-height: 1.4;
        padding: 10px 12px;
        border: 1px solid #e8e8e8;
        border-radius: 8px;
        background: #fafafa;
        transition: border-color 0.15s ease, background-color 0.15s ease;
      }
      .toc-related-list a:hover { color: #0b6b52; border-color: rgba(11,107,82,0.35); background: #f5faf8; }

      .toc-mobile-toggle { display: none; }

      /* Mobile responsiveness */
      @media (max-width: 960px) {
        .page-layout {
          display: block;
          max-width: 100%;
          padding: 24px 16px 0;
        }
        .toc-col { display: block; }
        .toc-mobile-toggle {
          display: flex;
          align-items: center;
          justify-content: space-between;
          width: 100%;
          background: #fff;
          border: 1px solid #e2e2e2;
          border-radius: 10px;
          padding: 13px 16px;
          font-family: 'Montserrat', sans-serif;
          font-size: 14px;
          font-weight: 700;
          color: #111;
          cursor: pointer;
          margin-bottom: 18px;
        }
        .toc-mobile-toggle .toc-toggle-icon {
          font-size: 11px;
          color: #666;
          transition: transform 0.15s ease;
        }
        .toc-mobile-toggle[aria-expanded="true"] .toc-toggle-icon { transform: rotate(180deg); }

        .toc-sidebar {
          display: none;
          position: static;
          border: 1px solid #e8e8e8;
          border-radius: 10px;
          padding: 4px 18px 4px;
          margin-bottom: 18px;
        }
        .toc-sidebar.is-open { display: block; }
        .full-width-section { padding: 40px 16px 0; }
      }


/* --- Extracted from marcellus-global-equities-fund-nfo.html --- */
/* ===== Two-column page layout matching NSE IX ===== */
      .page-layout {
        display: flex;
        align-items: stretch;
        width: 100%;
        max-width: 1320px;
        margin: 0 auto;
        gap: 48px;
        padding: 40px 20px 0;
      }

      .toc-col {
        flex: 0 0 264px;
      }

      .toc-sidebar {
        position: sticky;
        top: 24px;
      }

      .content-col {
        flex: 1 1 auto;
        min-width: 0;
      }

      .full-width-section {
        max-width: 1320px;
        margin: 0 auto;
        padding: 48px 20px 0;
      }

      /* Shared sidebar section styling */
      .toc-section { padding: 20px 0; }
      .toc-section:first-child { padding-top: 0; }
      .toc-section + .toc-section { border-top: 1px solid #e8e8e8; }

      .toc-heading, .toc-section-label {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        color: #999;
        margin: 0 0 12px;
      }
      .toc-heading { font-size: 15px; text-transform: none; color: #111; letter-spacing: 0; }

      .toc-list { list-style: none; margin: 0; padding: 0; }
      .toc-list li { margin: 0; }

      .toc-link {
        display: block;
        padding: 8px 10px;
        margin: 2px 0;
        border-radius: 6px;
        font-family: 'Montserrat', sans-serif;
        font-size: 13.5px;
        line-height: 1.35;
        color: #666;
        text-decoration: none;
        border-left: 3px solid transparent;
        transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
      }
      .toc-link:hover { color: #0b6b52; background: #f5faf8; }
      .toc-link.active {
        color: #0b6b52;
        font-weight: 700;
        font-size: 14.5px;
        background: #eaf6f1;
        border-left-color: #0b6b52;
      }

      .toc-related-list { list-style: none; margin: 0; padding: 0; }
      .toc-related-list li { margin-bottom: 8px; }
      .toc-related-list li:last-child { margin-bottom: 0; }
      .toc-related-list a {
        display: block;
        font-size: 13px;
        font-weight: 700;
        color: #111;
        text-decoration: none;
        line-height: 1.4;
        padding: 10px 12px;
        border: 1px solid #e8e8e8;
        border-radius: 8px;
        background: #fafafa;
        transition: border-color 0.15s ease, background-color 0.15s ease;
      }
      .toc-related-list a:hover { color: #0b6b52; border-color: rgba(11,107,82,0.35); background: #f5faf8; }

      .toc-mobile-toggle { display: none; }

      /* Mobile responsiveness */
      @media (max-width: 960px) {
        .page-layout {
          display: block;
          max-width: 100%;
          padding: 24px 16px 0;
        }
        .toc-col { display: block; }
        .toc-mobile-toggle {
          display: flex;
          align-items: center;
          justify-content: space-between;
          width: 100%;
          background: #fff;
          border: 1px solid #e2e2e2;
          border-radius: 10px;
          padding: 13px 16px;
          font-family: 'Montserrat', sans-serif;
          font-size: 14px;
          font-weight: 700;
          color: #111;
          cursor: pointer;
          margin-bottom: 18px;
        }
        .toc-mobile-toggle .toc-toggle-icon {
          font-size: 11px;
          color: #666;
          transition: transform 0.15s ease;
        }
        .toc-mobile-toggle[aria-expanded="true"] .toc-toggle-icon { transform: rotate(180deg); }

        .toc-sidebar {
          display: none;
          position: static;
          border: 1px solid #e8e8e8;
          border-radius: 10px;
          padding: 4px 18px 4px;
          margin-bottom: 18px;
        }
        .toc-sidebar.is-open { display: block; }
        .full-width-section { padding: 40px 16px 0; }
      }


/* --- Extracted from spacex-openai-anthropic-investment.html --- */
/* ===== Two-column page layout matching NSE IX ===== */
      .page-layout {
        display: flex;
        align-items: stretch;
        width: 100%;
        max-width: 1320px;
        margin: 0 auto;
        gap: 48px;
        padding: 40px 20px 0;
      }

      .toc-col {
        flex: 0 0 264px;
      }

      .toc-sidebar {
        position: sticky;
        top: 24px;
      }

      .content-col {
        flex: 1 1 auto;
        min-width: 0;
      }

      .full-width-section {
        max-width: 1320px;
        margin: 0 auto;
        padding: 48px 20px 0;
      }

      /* Shared sidebar section styling */
      .toc-section { padding: 20px 0; }
      .toc-section:first-child { padding-top: 0; }
      .toc-section + .toc-section { border-top: 1px solid #e8e8e8; }

      .toc-heading, .toc-section-label {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 13px;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        color: #999;
        margin: 0 0 12px;
      }
      .toc-heading { font-size: 15px; text-transform: none; color: #111; letter-spacing: 0; }

      .toc-list { list-style: none; margin: 0; padding: 0; }
      .toc-list li { margin: 0; }

      .toc-link {
        display: block;
        padding: 8px 10px;
        margin: 2px 0;
        border-radius: 6px;
        font-family: 'Montserrat', sans-serif;
        font-size: 13.5px;
        line-height: 1.35;
        color: #666;
        text-decoration: none;
        border-left: 3px solid transparent;
        transition: color 0.15s ease, background-color 0.15s ease, border-color 0.15s ease;
      }
      .toc-link:hover { color: #0b6b52; background: #f5faf8; }
      .toc-link.active {
        color: #0b6b52;
        font-weight: 700;
        font-size: 14.5px;
        background: #eaf6f1;
        border-left-color: #0b6b52;
      }

      .toc-related-list { list-style: none; margin: 0; padding: 0; }
      .toc-related-list li { margin-bottom: 8px; }
      .toc-related-list li:last-child { margin-bottom: 0; }
      .toc-related-list a {
        display: block;
        font-size: 13px;
        font-weight: 700;
        color: #111;
        text-decoration: none;
        line-height: 1.4;
        padding: 10px 12px;
        border: 1px solid #e8e8e8;
        border-radius: 8px;
        background: #fafafa;
        transition: border-color 0.15s ease, background-color 0.15s ease;
      }
      .toc-related-list a:hover { color: #0b6b52; border-color: rgba(11,107,82,0.35); background: #f5faf8; }

      .toc-mobile-toggle { display: none; }

      /* Mobile responsiveness */
      @media (max-width: 960px) {
        .page-layout {
          display: block;
          max-width: 100%;
          padding: 24px 16px 0;
        }
        .toc-col { display: block; }
        .toc-mobile-toggle {
          display: flex;
          align-items: center;
          justify-content: space-between;
          width: 100%;
          background: #fff;
          border: 1px solid #e2e2e2;
          border-radius: 10px;
          padding: 13px 16px;
          font-family: 'Montserrat', sans-serif;
          font-size: 14px;
          font-weight: 700;
          color: #111;
          cursor: pointer;
          margin-bottom: 18px;
        }
        .toc-mobile-toggle .toc-toggle-icon {
          font-size: 11px;
          color: #666;
          transition: transform 0.15s ease;
        }
        .toc-mobile-toggle[aria-expanded="true"] .toc-toggle-icon { transform: rotate(180deg); }

        .toc-sidebar {
          display: none;
          position: static;
          border: 1px solid #e8e8e8;
          border-radius: 10px;
          padding: 4px 18px 4px;
          margin-bottom: 18px;
        }
        .toc-sidebar.is-open { display: block; }
        .full-width-section { padding: 40px 16px 0; }
      }
