:root {
      --ink: #101612;
      --ink-soft: #243028;
      --green: #1d6b0a;
      --green-deep: #124806;
      --green-bright: #3d9a1a;
      --leaf: #e7f6df;
      --paper: #f6f4ef;
      --card: #ffffff;
      --line: #e1e6dc;
      --muted: #5c675f;
      --up: #157a32;
      --down: #b42318;
      --shadow: 0 18px 50px rgba(16, 22, 18, 0.08);
      --radius: 22px;
    }

    * { box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      margin: 0;
      background: var(--paper);
      color: var(--ink);
      font-family: Sora, sans-serif;
      font-size: 16px;
      line-height: 1.55;
    }
    body.ith-home #main img { max-width: 100%; display: block; }
    body.ith-home #main a { color: inherit; text-decoration: none; }
    body.ith-home #main button,
    body.ith-home #main input { font: inherit; }
    .skip {
      position: absolute;
      left: 12px;
      top: -40px;
      background: #fff;
      padding: 8px 12px;
      z-index: 20;
    }
    .skip:focus { top: 12px; }

    .wrap {
      width: min(1180px, calc(100% - 40px));
      margin: 0 auto;
    }

    .kicker, .label {
      font-family: Sora, sans-serif;
      font-weight: 600;
      font-size: 12px;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      line-height: 1.35;
      color: var(--green);
      margin: 0 0 12px;
    }

    h1, h2, h3 { font-family: Sora, sans-serif; font-weight: 600; letter-spacing: -0.03em; margin: 0; }
    h1 { font-size: clamp(1.9rem, 2.8vw, 2.55rem); line-height: 1.18; }
    h2 { font-size: clamp(1.45rem, 2.2vw, 1.9rem); line-height: 1.22; }
    h3 { font-size: 1.2rem; line-height: 1.3; }

    .lede { color: var(--muted); font-size: 1.05rem; max-width: 62ch; }

    .front {
      background: #fff;
      border-bottom: 1px solid var(--line);
      padding: 36px 0 52px;
    }
    .front-meta {
      display: flex;
      justify-content: space-between;
      align-items: baseline;
      gap: 16px;
      margin: 0 0 26px;
      padding-bottom: 14px;
      border-bottom: 1px solid var(--line);
      font-family: Sora, sans-serif;
      font-size: 12px;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      color: var(--muted);
    }
    .front-meta p { margin: 0; }
    .front-meta a { color: var(--green); font-weight: 500; letter-spacing: 0.1em; }
    .front-grid {
      display: grid;
      grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
      column-gap: 48px;
      row-gap: 28px;
      align-items: center;
    }
    #lead { grid-column: 1; grid-row: 1; min-width: 0; align-self: start; }
    #lead-copy { grid-column: 2; grid-row: 1; min-width: 0; }
    .lead-media {
      display: block;
      border-radius: 18px;
      overflow: hidden;
      background: #111612;
      aspect-ratio: 16 / 9;
    }
    .lead-media img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }
    .lead-copy {
      margin: 0;
      padding: 6px 0 0;
      border: 0;
    }
    .lead-copy h1 { font-size: clamp(1.85rem, 2.4vw, 2.45rem); line-height: 1.18; }
    .lead-copy .label a { color: inherit; }
    .lead-copy .label a:hover { text-decoration: underline; }
    .lead-copy h1 { margin: 0; }
    .lead-copy .dek {
      margin: 16px 0 0;
      color: var(--muted);
      font-size: 1.05rem;
      line-height: 1.55;
      max-width: 58ch;
    }
    .lead-copy .text-link { margin-top: 20px; }
    .under-block {
      grid-column: 1 / -1;
      grid-row: 2;
    }
    .under-block .rail-label { margin: 0 0 12px; }
    .under-lead {
      display: grid;
      grid-template-columns: repeat(4, minmax(0, 1fr));
      gap: 16px;
    }
    .mini {
      display: flex;
      flex-direction: column;
      min-width: 0;
      height: 100%;
      background: var(--paper);
      border-radius: 16px;
      overflow: hidden;
    }
    .mini-photo {
      flex: none;
      height: 148px;
      overflow: hidden;
      background: #e7ece3;
    }
    .mini-photo img {
      width: 100%;
      height: 100%;
      object-fit: cover;
      object-position: center;
    }
    .mini-body { flex: 1 1 auto; padding: 12px 14px 16px; }
    .mini .label {
      margin: 0 0 8px;
      color: var(--muted);
      letter-spacing: 0;
      text-transform: none;
      font-weight: 500;
      font-size: 12px;
    }
    .mini h2,
    .mini h3 {
      font-family: Sora, sans-serif;
      font-size: 1rem;
      font-weight: 600;
      letter-spacing: -0.02em;
      line-height: 1.35;
      margin: 0;
    }
    .mini:hover h2,
    .mini:hover h3 { color: var(--green-deep); }
    .wire { margin-top: 28px; }
    .wire .rail-label { margin: 0 0 4px; }
    .wire-list {
      display: grid;
      grid-template-columns: 1fr 1fr;
      column-gap: 48px;
    }
    .wire-item {
      display: grid;
      grid-template-columns: 118px minmax(0, 1fr);
      gap: 16px;
      align-items: start;
      padding: 16px 0;
      border-top: 1px solid var(--line);
    }
    .wire-kicker {
      display: block;
      color: var(--green);
      font-size: 12px;
      font-weight: 600;
      letter-spacing: 0.04em;
      text-transform: uppercase;
    }
    .wire-date {
      display: block;
      margin-top: 6px;
      color: var(--muted);
      font-size: 12px;
      font-weight: 500;
    }
    .wire-item h2,
    .wire-item h3 {
      font-family: Sora, sans-serif;
      font-size: 1.05rem;
      font-weight: 600;
      letter-spacing: -0.02em;
      line-height: 1.35;
      margin: 0;
    }
    .wire-item:hover h2,
    .wire-item:hover h3 { color: var(--green-deep); }
    .rail-label {
      margin: 0 0 4px;
      font-family: Sora, sans-serif;
      font-size: 11px;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--muted);
    }
    .rail-item {
      display: grid;
      grid-template-columns: 36px minmax(0, 1fr);
      gap: 12px;
      align-items: start;
      padding: 16px 0;
    }
    .rail-item + .rail-item { border-top: 1px solid var(--line); }
    .rail-index {
      font-family: Sora, sans-serif;
      font-weight: 600;
      font-size: 0.95rem;
      line-height: 1.3;
      color: var(--green);
      padding-top: 1px;
    }
    .rail-copy .label {
      margin: 0 0 8px;
      color: var(--muted);
      letter-spacing: 0.04em;
      text-transform: none;
      font-size: 12px;
    }
    .rail-item h2 {
      font-family: Sora, sans-serif;
      font-size: 1.02rem;
      font-weight: 600;
      letter-spacing: -0.02em;
      line-height: 1.35;
      margin: 0;
    }
    .rail-item:hover h2 { color: var(--green-deep); }
    .story-row {
      margin-top: 36px;
      padding-top: 28px;
      border-top: 1px solid var(--line);
      display: grid;
      grid-template-columns: 1.35fr 0.8fr;
      gap: 28px 48px;
      align-items: start;
    }
    .side-feature {
      display: grid;
      grid-template-columns: 210px minmax(0, 1fr);
      gap: 20px;
      align-items: start;
    }
    .side-feature img {
      width: 100%;
      aspect-ratio: 4 / 3;
      object-fit: cover;
      border-radius: 6px;
      background: #e7ece3;
    }
    .side-feature h2 {
      font-family: Sora, sans-serif;
      font-size: 1.55rem;
      font-weight: 500;
      line-height: 1.2;
      margin: 0;
    }
    .side-feature .dek {
      margin: 12px 0 0;
      color: var(--muted);
      font-size: 0.95rem;
    }
    .side-feature:hover h2 { color: var(--green-deep); }
    .side-list { display: flex; flex-direction: column; }
    .text-item {
      display: block;
      padding: 16px 0 18px;
      border-top: 1px solid var(--line);
    }
    .text-item:first-child { padding-top: 0; border-top: 0; }
    .text-item .label { margin-bottom: 8px; color: var(--muted); letter-spacing: 0.04em; text-transform: none; font-size: 12px; }
    .text-item h2 {
      font-family: Sora, sans-serif;
      font-size: 1.28rem;
      font-weight: 500;
      line-height: 1.25;
      margin: 0;
    }
    .text-item:hover h2 { color: var(--green-deep); }
    .skel { background: #e7ece3; border-radius: 8px; }
    .skel-line { height: 14px; margin-top: 10px; }
    .front-status { color: var(--muted); margin: 12px 0 0; }

    .deskbar { background: var(--paper); border-bottom: 1px solid var(--line); }
    .deskbar-inner {
      display: flex;
      flex-wrap: wrap;
      gap: 8px 18px;
      align-items: center;
      min-height: 52px;
      padding: 8px 0;
      font-size: 0.94rem;
    }
    .deskbar-inner > span {
      font-family: Sora, sans-serif;
      font-size: 11px;
      letter-spacing: 0.06em;
      text-transform: uppercase;
      color: var(--muted);
    }
    .deskbar a { font-weight: 600; }
    .deskbar a:hover { color: var(--green); }

    .cal-strip { background: transparent; border-bottom: 0; padding: 64px 0 28px; }
    .cal-grid { display: block; }
    .cal-copy {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      gap: 24px;
      margin-bottom: 22px;
    }
    .cal-grid h2 { font-size: clamp(1.8rem, 2.4vw, 2.3rem); margin: 0; }
    .cal-copy .lede { margin: 12px 0 0; }
    .cal-copy .text-link { margin-top: 0; white-space: nowrap; }
    .cal-board {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 18px;
      overflow: hidden;
    }
    .cal-row {
      display: grid;
      grid-template-columns: 52px minmax(0, 1fr) auto;
      gap: 12px 18px;
      align-items: center;
      padding: 16px 20px;
    }
    .cal-row + .cal-row { border-top: 1px solid var(--line); }
    .cal-ccy {
      font-family: Sora, sans-serif;
      font-size: 12px;
      letter-spacing: 0.04em;
      color: var(--green);
    }
    .cal-main strong {
      display: block;
      font-family: Sora, sans-serif;
      font-weight: 600;
      letter-spacing: -0.02em;
      font-size: 1.02rem;
    }
    .cal-meta {
      display: block;
      margin-top: 4px;
      color: var(--muted);
      font-size: 0.88rem;
    }
    .impact {
      font-family: Sora, sans-serif;
      font-size: 11px;
      letter-spacing: 0.04em;
      text-transform: uppercase;
      padding: 5px 9px;
      border-radius: 999px;
    }
    .impact.high { background: #fde8e6; color: #9b1c14; }
    .impact.medium { background: #fff4d6; color: #8a5a00; }
    .cal-empty { margin: 0; padding: 22px 20px; color: var(--muted); }
    .cal-note { margin: 12px 0 0; color: var(--muted); font-size: 0.86rem; }
    .cal-note a { color: var(--green); font-weight: 600; }
    .tools-sec { background: #fff; border-bottom: 1px solid var(--line); }
    .desk {
      display: grid;
      grid-template-columns: minmax(260px, 0.9fr) minmax(0, 1.7fr);
      gap: 14px;
      align-items: stretch;
    }
    .desk-hero {
      display: flex;
      flex-direction: column;
      min-height: 100%;
      padding: 28px;
      border-radius: 22px;
      color: #fff;
      background:
        radial-gradient(420px 240px at 100% 0%, rgba(255,255,255,0.16), transparent 55%),
        linear-gradient(165deg, #245812, #1d6b0a 42%, #0e3a06);
    }
    .desk-hero h3 { font-size: clamp(2rem, 3vw, 2.6rem); max-width: 10ch; }
    .desk-hero p { color: #e5f3dc; margin: 14px 0 0; font-size: 1.02rem; }
    .desk-hero p.kicker { color: #d8f5c8; margin: 0 0 12px; }
    .desk-hero .text-link { color: #fff; margin-top: auto; padding-top: 28px; }
    .desk-grid {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 12px;
    }
    .desk-card {
      display: flex;
      flex-direction: column;
      min-height: 148px;
      padding: 16px 16px 18px;
      background: var(--paper);
      border: 1px solid var(--line);
      border-radius: 16px;
      transition: transform 0.18s ease, border-color 0.18s ease;
    }
    .desk-card:hover { transform: translateY(-2px); border-color: #b7d7a8; }
    .mark {
      width: 36px;
      height: 36px;
      display: grid;
      place-items: center;
      margin-bottom: 16px;
      border-radius: 10px;
      background: #fff;
      color: var(--green-deep);
      font-family: Sora, sans-serif;
      font-size: 11px;
      letter-spacing: 0.04em;
    }
    .desk-card h3 {
      font-family: Sora, sans-serif;
      font-size: 1rem;
      font-weight: 600;
      letter-spacing: -0.02em;
    }
    .desk-card p { margin: 8px 0 0; color: var(--muted); font-size: 0.9rem; }
    .lanes {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 48px 64px;
    }
    .lane-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      gap: 16px;
      margin: 0 0 18px;
      padding: 0;
      border: 0;
    }
    .lane-head h2 { font-size: clamp(1.8rem, 2.4vw, 2.35rem); margin: 0; }
    .lane-dek { margin: 8px 0 0; color: var(--muted); max-width: 42ch; }
    .lane-head a { color: var(--green); font-weight: 600; white-space: nowrap; padding-top: 8px; }
    .lane-feature { display: block; }
    .lane-feature img {
      width: 100%;
      aspect-ratio: 16 / 9;
      object-fit: cover;
      border-radius: 16px;
      background: #e7ece3;
    }
    .lane-feature .label {
      margin: 14px 0 8px;
      color: var(--muted);
      letter-spacing: 0.04em;
      text-transform: none;
      font-size: 12px;
    }
    .lane-feature h3 {
      font-size: clamp(1.25rem, 1.6vw, 1.5rem);
      font-weight: 600;
      line-height: 1.28;
    }
    .lane-feature .dek { margin: 10px 0 0; color: var(--muted); }
    .lane-feature:hover h3 { color: var(--green-deep); }
    .lane-rest { margin-top: 8px; }
    .lane-rest a {
      display: block;
      padding: 16px 0;
      border-top: 1px solid var(--line);
    }
    .lane-rest .label {
      margin: 0 0 8px;
      color: var(--muted);
      letter-spacing: 0.04em;
      text-transform: none;
      font-size: 12px;
    }
    .lane-rest h3 {
      font-family: Sora, sans-serif;
      font-size: 1.28rem;
      font-weight: 600;
      line-height: 1.25;
    }
    .lane-rest a:hover h3 { color: var(--green-deep); }
    .regional { margin-top: 64px; }
    .regional-list {
      display: grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap: 16px;
    }
    .regional-list a {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      gap: 12px;
      min-height: 160px;
      padding: 20px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 16px;
    }
    .regional-list a span {
      color: var(--muted);
      font-weight: 500;
      font-family: Sora, sans-serif;
      font-size: 12px;
      letter-spacing: 0.04em;
    }
    .regional-list a strong,
    .regional-list a h3 {
      font-family: Sora, sans-serif;
      font-size: 1.28rem;
      font-weight: 600;
      letter-spacing: -0.02em;
      line-height: 1.25;
    }
    .regional-list a:hover strong,
    .regional-list a:hover h3 { color: var(--green-deep); }
    .editor { margin-top: 64px; }

    .btn {
      display: inline-flex;
      align-items: center;
      gap: 8px;
      border-radius: 999px;
      padding: 13px 18px;
      font-weight: 600;
      border: 1px solid transparent;
    }
    .btn-primary { background: #fff; color: var(--ink); }
    .btn-primary:hover { background: var(--leaf); }
    .btn-ghost { border-color: rgba(255,255,255,0.22); color: #fff; }
    .btn-ghost:hover { background: rgba(255,255,255,0.06); }
    .btn-green { background: var(--green); color: #fff; }
    .btn-green:hover { background: var(--green-deep); }
    .btn-line { border-color: var(--line); background: #fff; }
    .btn-line:hover { border-color: var(--green); color: var(--green-deep); }
    .text-link {
      display: inline-flex;
      margin-top: 14px;
      color: var(--green);
      font-weight: 600;
    }
    .text-link:hover { text-decoration: underline; }

    section { padding: 78px 0; }
    .section-head {
      display: flex;
      justify-content: space-between;
      align-items: flex-end;
      gap: 28px;
      margin-bottom: 28px;
    }
    .section-head .kicker { margin: 0 0 12px; }
    .section-head h2 { margin: 0; }
    .section-head .lede { margin: 14px 0 0; }

    /* Session */
    .session {
      background: #fff;
      border-top: 1px solid var(--line);
      border-bottom: 1px solid var(--line);
      padding: 28px 0;
    }
    .steps {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 18px;
    }
    .step {
      display: grid;
      grid-template-columns: auto 1fr;
      gap: 14px;
      align-items: start;
      padding: 8px 8px 8px 0;
    }
    .step + .step { border-left: 1px solid var(--line); padding-left: 22px; }
    .num {
      font-family: Sora, sans-serif;
      font-weight: 600;
      font-size: 1.35rem;
      color: var(--green);
      line-height: 1;
    }
    .step h3 { font-family: Sora, sans-serif; font-size: 1.05rem; font-weight: 600; letter-spacing: 0; }
    .step p { margin: 4px 0 0; color: var(--muted); font-size: 0.92rem; }
    .step a.mini { color: var(--green); font-weight: 600; font-size: 0.92rem; }

    /* Tools */
    .bento {
      display: grid;
      grid-template-columns: 1.4fr 1fr;
      gap: 14px;
    }
    .tool {
      background: var(--card);
      border: 1px solid var(--line);
      border-radius: var(--radius);
      padding: 22px;
      display: flex;
      flex-direction: column;
      min-height: 180px;
      transition: transform 0.18s ease, box-shadow 0.18s ease;
    }
    .tool:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
    .tool p.kicker { margin: 0 0 12px; }
    .tool h3 { margin: 0; }
    .tool p:not(.kicker) { color: var(--muted); margin: 12px 0 0; }
    .tool .text-link { margin-top: auto; padding-top: 18px; }
    .tool-main {
      background:
        radial-gradient(420px 220px at 100% 0%, rgba(255,255,255,0.16), transparent 50%),
        linear-gradient(160deg, #1d6b0a, #0f3d06);
      color: #fff;
      border: 0;
      min-height: 320px;
    }
    .tool-main .kicker, .tool-main .text-link { color: #d8f5c8; }
    .tool-main p:not(.kicker) { color: #e5f3dc; font-size: 1.05rem; }
    .tool-main h3 { font-size: clamp(2rem, 3vw, 2.7rem); max-width: 12ch; }
    .side-stack { display: grid; gap: 14px; }
    .chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
    .chips span {
      border: 1px solid rgba(255,255,255,0.25);
      border-radius: 999px;
      padding: 5px 10px;
      font-size: 0.82rem;
    }
    .tool-grid {
      margin-top: 14px;
      display: grid;
      grid-template-columns: repeat(4, 1fr);
      gap: 14px;
    }
    .tool-grid .tool { min-height: 168px; }
    .tool-grid h3 { font-family: Sora, sans-serif; font-weight: 600; font-size: 1.12rem; letter-spacing: -0.02em; }

    /* Markets */
    .markets {
      background: transparent;
      border: 0;
    }
    .market-board {
      display: grid;
      grid-template-columns: repeat(5, 1fr);
      gap: 12px;
    }
    .quote {
      border: 1px solid var(--line);
      border-radius: 18px;
      padding: 16px;
      background: var(--paper);
    }
    .quote .name { font-weight: 600; }
    .quote .px { font-family: Sora, sans-serif; font-size: 1.55rem; margin-top: 10px; letter-spacing: -0.03em; }
    .quote .chg { font-family: Sora, sans-serif; font-size: 12px; margin-top: 4px; }
    .note { margin: 16px 0 0; color: var(--muted); font-size: 0.92rem; }
    .note a { color: var(--green); font-weight: 600; }

    /* Insights */
    .magazine {
      display: grid;
      grid-template-columns: 1.15fr 0.85fr;
      gap: 14px;
    }
    .story {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      overflow: hidden;
      display: flex;
      flex-direction: column;
    }
    .story img { width: 100%; height: 240px; object-fit: cover; }
    .story-body { padding: 18px 18px 20px; display: flex; flex-direction: column; flex: 1; }
    .story h3 { margin: 10px 0 8px; }
    .story p { margin: 0; color: var(--muted); }
    .stack { display: grid; gap: 14px; }
    .row-card {
      display: grid;
      grid-template-columns: 112px 1fr;
      gap: 14px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 18px;
      overflow: hidden;
      align-items: center;
    }
    .row-card img { width: 112px; height: 96px; object-fit: cover; }
    .row-card div { padding: 10px 12px 10px 0; }
    .row-card h3 { font-family: Sora, sans-serif; font-size: 1rem; font-weight: 600; letter-spacing: -0.02em; }
    .date { color: var(--muted); font-size: 0.8rem; font-family: Sora, sans-serif; }

    .more-stories {
      margin-top: 14px;
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 14px;
    }

    /* Learn */
    .paths { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
    .path {
      background: #fff;
      border: 1px solid var(--line);
      border-radius: var(--radius);
      padding: 22px;
    }
    .path .lvl {
      display: block;
      font-family: Sora, sans-serif;
      font-weight: 600;
      font-size: 1.35rem;
      color: var(--green);
      line-height: 1;
      margin: 0 0 16px;
    }
    .path h3 { margin: 0 0 10px; }
    .path > p { color: var(--muted); margin: 0 0 18px; }
    .path ol { margin: 0; padding: 0; list-style: none; counter-reset: item; }
    .path li { counter-increment: item; border-top: 1px solid var(--line); }
    .path li a { display: flex; gap: 10px; padding: 11px 0; font-weight: 500; }
    .path li a::before {
      content: counter(item, decimal-leading-zero);
      font-family: Sora, sans-serif;
      font-size: 12px;
      color: var(--green);
      padding-top: 2px;
    }
    .path li a:hover { color: var(--green-deep); }

    /* Bands */
    .split-band {
      display: grid;
      grid-template-columns: 1.2fr 0.8fr;
      gap: 14px;
    }
    .band {
      border-radius: 28px;
      padding: 32px;
    }
    .band-dark {
      background: var(--ink);
      color: #fff;
    }
    .band .kicker { margin: 0 0 14px; }
    .band h2 { margin: 0; }
    .band-dark p:not(.kicker), .band-green p:not(.kicker) { color: #d5e0d4; margin: 16px 0 0; max-width: 46ch; }
    .band-green {
      background: var(--leaf);
      color: var(--ink);
    }
    .band-green p:not(.kicker) { color: var(--ink-soft); }
    .band .btn { margin-top: 22px; }

    .sponsor {
      padding: 28px 0 64px;
      text-align: center;
    }
    .sponsor small {
      display: block;
      font-family: Sora, sans-serif;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--muted);
      font-size: 11px;
      margin-bottom: 10px;
    }
    .sponsor img {
      margin: 0 auto;
      border-radius: 12px;
      max-width: 728px;
      width: 100%;
      height: auto;
    }

    .broker-cta {
      background: transparent;
      color: var(--ink);
      padding: 0 0 8px;
    }
    .broker-cta-inner {
      display: flex;
      justify-content: space-between;
      align-items: center;
      gap: 32px;
      background: #fff;
      border: 1px solid var(--line);
      border-radius: 22px;
      padding: 32px 36px;
    }
    .broker-cta .kicker { margin: 0 0 12px; }
    .broker-cta h2 {
      margin: 0;
      max-width: 18ch;
      font-size: clamp(1.8rem, 2.5vw, 2.35rem);
    }
    .broker-cta p:not(.kicker) {
      color: var(--muted);
      margin: 12px 0 0;
      max-width: 48ch;
    }
    .broker-cta .btn { flex-shrink: 0; }

    @media (max-width: 980px) {
      .front-grid, .story-row, .side-feature, .bento, .magazine, .paths, .split-band, .foot-grid, .more-stories, .market-board, .tool-grid, .steps, .lanes, .cal-grid, .desk, .desk-grid, .regional-list {
        grid-template-columns: 1fr;
      }
      .front .front-grid {
        display: flex;
        flex-direction: column;
        gap: 16px;
      }
      #lead, #lead-copy, .under-block { grid-column: auto; grid-row: auto; width: 100%; }
      #lead { order: 1; }
      #lead-copy { order: 2; }
      .under-block { order: 3; }
      .under-lead { grid-template-columns: repeat(2, minmax(0, 1fr)); }
      .wire-list { grid-template-columns: 1fr; }
      .lead-media { min-height: 0; aspect-ratio: 16 / 9; border-radius: 14px; }
      .mini-photo { height: 120px; }
      .cal-copy { align-items: flex-start; flex-direction: column; }
      .cal-copy .text-link { margin-top: 12px; }
      .cal-row { padding: 14px 16px; }
      section { padding: 56px 0; }
      .front { padding: 22px 0 32px; }
      .cal-strip { padding-top: 40px; }
      .broker-cta { padding: 0 0 4px; }
      .sponsor { padding: 20px 0 48px; }
      .broker-cta-inner {
        flex-direction: column;
        align-items: flex-start;
        padding: 24px;
      }
    }
    @media (prefers-reduced-motion: reduce) {
      .tool { transition: none; }
    }
  
    body.ith-home {
      background: var(--paper);
    }
    body.ith-home #content,
    body.ith-home #content > .ast-container {
      display: block;
      width: 100%;
      max-width: none;
      margin: 0;
      padding: 0;
      background: transparent;
    }
    body.ith-home #main {
      width: 100%;
      max-width: none;
    }
    body.ith-home #main h1,
    body.ith-home #main h2,
    body.ith-home #main h3,
    body.ith-home #main p,
    body.ith-home #main a,
    body.ith-home #main button,
    body.ith-home #main input {
      font-family: Sora, sans-serif;
    }
    body.ith-home #main h1 {
      font-size: clamp(2rem, 2.8vw, 2.55rem);
      line-height: 1.16;
      font-weight: 600;
      letter-spacing: -0.03em;
      color: var(--ink);
    }
    body.ith-home #main h2 {
      font-size: clamp(1.5rem, 2vw, 1.8rem);
      line-height: 1.25;
      font-weight: 600;
      letter-spacing: -0.03em;
      color: var(--ink);
    }
    body.ith-home #main h3 {
      font-size: clamp(1.05rem, 1.15vw, 1.2rem);
      line-height: 1.35;
      font-weight: 600;
      letter-spacing: -0.02em;
      color: var(--ink);
    }
    body.ith-home #main .under-block > h2,
    body.ith-home #main .wire > h2 {
      margin: 0 0 16px;
    }
    body.ith-home #main .desk-hero h3 {
      color: #fff;
      max-width: 14ch;
    }
    body.ith-home #main .mini:hover h3,
    body.ith-home #main .wire-item:hover h3,
    body.ith-home #main .lane-feature:hover h3,
    body.ith-home #main .lane-rest a:hover h3,
    body.ith-home #main .regional-list a:hover h3 {
      color: var(--green-deep);
    }
    body.ith-home #main a {
      color: inherit;
      text-decoration: none;
    }
    body.ith-home #main .front-meta a,
    body.ith-home #main .cal-note a,
    body.ith-home #main .lane-head a,
    body.ith-home #main .text-link,
    body.ith-home #main .note a,
    body.ith-home #main .step a.mini {
      color: var(--green);
    }
    body.ith-home #main .desk-hero .text-link,
    body.ith-home #main .btn-green {
      color: #fff;
    }
    body.ith-home #main .tool-main .kicker,
    body.ith-home #main .tool-main .text-link {
      color: #d8f5c8;
    }
    body.ith-home #main .btn-green {
      background: var(--green);
    }
    body.ith-home #main .btn-green:hover {
      background: var(--green-deep);
    }
