/* Alun Business — estilos compartilhados do layout.
   Extraído de _layouts/default.html para cache do navegador entre páginas.
   Estilos específicos de página permanecem inline nos respectivos .md */

    /* ── Design tokens (Alun Business) ───────────────────────── */
    :root {
      --bg:         #0f0f0f;
      --surface:    #161618;
      --surface-2:  #1c1c1f;
      --border:     #33363e;
      --border-sub: #1e2026;
      --text-1:     #ffffff;
      --text-2:     #cfd2d8;
      --text-3:     #8b8f9a;
      --text-4:     #64687a;
      --text-5:     #33363e;
      --gold:       #d1a476;
      --gold-dim:   rgba(209,164,118,0.12);
      --gold-border:rgba(209,164,118,0.25);
      --blue:       #4b6afc;
      --blue-dim:   rgba(75,106,252,0.08);
      --blue-border:rgba(75,106,252,0.2);
      --tint-3:     rgba(255,255,255,0.03);
      --tint-5:     rgba(255,255,255,0.05);
      --on-gold:    #000;
      --shadow-card:     0 8px 24px rgba(0,0,0,0.35);
      --shadow-featured: 0 10px 28px rgba(0,0,0,0.4), 0 4px 16px rgba(209,164,118,0.07);
      --font-display: 'Space Grotesk', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
    }

    /* ── Light theme overrides ───────────────────────────────── */
    [data-theme="light"] {
      --bg:         #fbfaf8;
      --surface:    #ffffff;
      --surface-2:  #f4f2ee;
      --border:     #ddd6ca;
      --border-sub: #ece7de;
      --text-1:     #1a1815;
      --text-2:     #3a3833;
      --text-3:     #6b6862;
      --text-4:     #8f8a81;
      --text-5:     #c2bcb1;
      --gold:       #9a6b38;
      --gold-dim:   rgba(154,107,56,0.10);
      --gold-border:rgba(154,107,56,0.28);
      --blue:       #3a52d6;
      --blue-dim:   rgba(58,82,214,0.07);
      --blue-border:rgba(58,82,214,0.22);
      --tint-3:     rgba(0,0,0,0.025);
      --tint-5:     rgba(0,0,0,0.05);
      --on-gold:    #ffffff;
      --shadow-card:     0 6px 20px rgba(60,50,30,0.10);
      --shadow-featured: 0 8px 24px rgba(60,50,30,0.12), 0 2px 10px rgba(154,107,56,0.08);
    }
    [data-theme="light"] .content a:hover { color: #7d5526; }
    [data-theme="light"] .content code { background: #f0ece4; color: #5a4a33; }
    [data-theme="light"] .content pre { background: #f6f3ee; }
    [data-theme="light"] .content pre code { color: #4a4640; background: none; }
    [data-theme="light"] .sidebar-logo img { filter: invert(1) hue-rotate(180deg) brightness(0.9); }
    [data-theme="light"] .hero-glow {
      background:
        radial-gradient(ellipse 60% 50% at 30% 30%, rgba(154,107,56,0.06) 0%, transparent 70%),
        radial-gradient(ellipse 45% 40% at 70% 15%, rgba(58,82,214,0.05) 0%, transparent 70%);
    }

    /* ── Reset ────────────────────────────────────────────────── */
    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
    html { font-size: 16px; -webkit-font-smoothing: antialiased; }
    body {
      background: var(--bg);
      color: var(--text-2);
      font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Inter', sans-serif;
      line-height: 1.6;
      min-height: 100vh;
    }
    body, .sidebar, .mobile-header, .section-card, .featured-card {
      transition: background-color 0.25s ease, border-color 0.25s ease, color 0.25s ease;
    }

    /* ── Theme toggle ─────────────────────────────────────────── */
    .theme-toggle {
      display: flex;
      align-items: center;
      gap: 8px;
      width: 100%;
      background: none;
      border: none;
      padding: 4px 0;
      margin-bottom: 10px;
      color: var(--text-4);
      font-size: 11px;
      font-family: inherit;
      cursor: pointer;
      transition: color 0.15s;
    }
    .theme-toggle:hover { color: var(--text-2); }
    .theme-toggle .svgi { width: 14px; height: 14px; stroke-width: 1.75; }
    .theme-toggle-mini {
      background: none;
      border: 1px solid var(--border);
      color: var(--text-2);
      padding: 5px 8px;
      border-radius: 6px;
      cursor: pointer;
      display: flex;
      align-items: center;
    }
    .theme-toggle-mini .svgi { width: 15px; height: 15px; stroke-width: 1.75; }
    .mobile-actions { display: flex; align-items: center; gap: 8px; }

    /* ── Layout ───────────────────────────────────────────────── */
    .shell {
      display: flex;
      min-height: 100vh;
    }

    /* ── SVG icons ────────────────────────────────────────────── */
    .svgi {
      width: 1em;
      height: 1em;
      fill: none;
      stroke: currentColor;
      stroke-width: 2;
      stroke-linecap: round;
      stroke-linejoin: round;
      display: block;
      flex-shrink: 0;
    }

    /* ── Sidebar ──────────────────────────────────────────────── */
    .sidebar {
      width: 240px;
      flex-shrink: 0;
      background: var(--surface);
      border-right: 1px solid var(--border-sub);
      display: flex;
      flex-direction: column;
      position: fixed;
      top: 0;
      left: 0;
      height: 100vh;
      z-index: 100;
    }
    .sidebar-logo {
      padding: 24px 20px 16px;
      border-bottom: 1px solid var(--border-sub);
    }
    .sidebar-logo .eyebrow {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 4px;
    }
    .sidebar-logo .title {
      font-family: var(--font-display);
      font-size: 13px;
      font-weight: 700;
      color: var(--gold);
      line-height: 1.3;
    }
    .sidebar-logo .sub {
      font-size: 11px;
      color: var(--text-4);
      margin-top: 2px;
    }
    .sidebar-nav {
      padding: 8px 10px;
      flex: 1;
      overflow-y: auto;
    }

    /* ── Início link (sem dropdown) ───────────────────────────── */
    .nav-home {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 7px 10px;
      border-radius: 7px;
      font-size: 13px;
      color: var(--text-3);
      text-decoration: none;
      transition: background 0.15s, color 0.15s;
      margin-bottom: 4px;
    }
    .nav-home:hover { background: var(--tint-5); color: var(--text-1); text-decoration: none; }
    .nav-home.active { background: var(--gold-dim); color: var(--gold); }

    /* ── Accordion ────────────────────────────────────────────── */
    .nav-group {
      margin-bottom: 2px;
    }
    .nav-group summary {
      list-style: none;
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 7px 10px;
      border-radius: 7px;
      cursor: pointer;
      font-size: 11px;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--text-4);
      user-select: none;
      transition: background 0.15s, color 0.15s;
    }
    .nav-group summary::-webkit-details-marker { display: none; }
    .nav-group summary::after {
      content: '›';
      font-size: 14px;
      font-weight: 400;
      color: var(--text-5);
      transition: transform 0.2s;
      line-height: 1;
    }
    .nav-group[open] summary::after { transform: rotate(90deg); }
    .nav-group summary:hover { background: var(--tint-3); color: var(--text-3); }
    .nav-group[open] summary { color: var(--text-3); }
    .nav-group .nav-items {
      padding: 2px 0 6px 0;
    }
    .nav-link {
      display: flex;
      align-items: center;
      gap: 8px;
      padding: 6px 10px 6px 18px;
      border-radius: 7px;
      font-size: 12.5px;
      color: var(--text-3);
      text-decoration: none;
      transition: background 0.15s, color 0.15s;
      line-height: 1.3;
    }
    .nav-link:hover {
      background: var(--tint-5);
      color: var(--text-1);
      text-decoration: none;
    }
    .nav-link.active {
      background: var(--gold-dim);
      color: var(--gold);
    }
    .nav-link .icon {
      font-size: 12px;
      flex-shrink: 0;
      opacity: 0.6;
      display: flex;
      align-items: center;
    }
    .nav-link .icon .svgi { width: 13px; height: 13px; stroke-width: 1.75; }
    /* ── Sidebar: Ferramentas section ─────────────────────────── */
    .nav-section-label {
      margin: 16px 0 8px;
      padding: 0 12px;
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 2.5px;
      text-transform: uppercase;
      color: var(--text-5);
    }
    .nav-tool { font-weight: 600; }
    .nav-tool--gold .icon { color: var(--gold); }
    .nav-tool--blue .icon { color: var(--blue); }

    .sidebar-footer {
      padding: 16px 20px;
      border-top: 1px solid var(--border-sub);
    }
    .sidebar-footer a {
      font-size: 11px;
      color: var(--text-4);
      text-decoration: none;
      display: block;
      margin-bottom: 4px;
    }
    .sidebar-footer a:hover { color: var(--text-2); }

    /* ── Mobile header ────────────────────────────────────────── */
    .mobile-header {
      display: none;
      position: fixed;
      top: 0; left: 0; right: 0;
      height: 52px;
      background: var(--surface);
      border-bottom: 1px solid var(--border-sub);
      align-items: center;
      justify-content: space-between;
      padding: 0 16px;
      z-index: 200;
    }
    .mobile-header .logo-text {
      display: flex;
      flex-direction: column;
      line-height: 1.25;
    }
    .mobile-header .logo-text .logo-name {
      font-size: 13px;
      font-weight: 700;
      color: var(--text-1);
    }
    .mobile-header .logo-text .logo-sub {
      font-size: 10px;
      font-weight: 500;
      color: var(--gold);
    }
    .menu-btn {
      background: none;
      border: 1px solid var(--border);
      color: var(--text-2);
      padding: 5px 9px;
      border-radius: 6px;
      cursor: pointer;
      font-size: 14px;
    }
    .mobile-overlay {
      display: none;
      position: fixed;
      inset: 0;
      background: rgba(0,0,0,0.6);
      z-index: 150;
    }
    .mobile-overlay.open { display: block; }
    .sidebar.mobile-open { transform: translateX(0); }

    /* ── Main content ─────────────────────────────────────────── */
    .main {
      margin-left: 240px;
      flex: 1;
      min-width: 0;
    }
    .content {
      max-width: 760px;
      padding: 48px 48px 80px;
    }

    /* ── Breadcrumb eyebrow (inner pages) ─────────────────────── */
    .crumb {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--gold);
      opacity: 0.75;
      margin-bottom: 10px;
    }

    /* ── Prev/next pager (inner pages) ────────────────────────── */
    .pager {
      display: grid;
      grid-template-columns: 1fr 1fr;
      gap: 12px;
      margin-top: 56px;
      padding-top: 24px;
      border-top: 1px solid var(--border-sub);
    }
    .content .pager a {
      display: block;
      padding: 14px 16px;
      background: var(--surface);
      border: 1px solid var(--border-sub);
      border-radius: 10px;
      text-decoration: none;
      transition: border-color 0.15s, background 0.15s, transform 0.15s;
    }
    .content .pager a:hover {
      border-color: var(--border);
      background: var(--surface-2);
      transform: translateY(-2px);
    }
    .pager-prev { grid-column: 1; }
    .pager-next { grid-column: 2; text-align: right; }
    .pager-label {
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text-5);
      margin-bottom: 4px;
    }
    .pager-title {
      font-family: var(--font-display);
      font-size: 0.85rem;
      font-weight: 600;
      color: var(--text-1);
      line-height: 1.35;
    }
    @media (max-width: 640px) {
      .pager { grid-template-columns: 1fr; }
      .pager-prev, .pager-next { grid-column: 1; text-align: left; }
    }

    /* ── Keyboard focus ───────────────────────────────────────── */
    a:focus-visible,
    button:focus-visible,
    summary:focus-visible,
    input:focus-visible {
      outline: 2px solid var(--gold);
      outline-offset: 2px;
    }

    /* ── Markdown typography ──────────────────────────────────── */
    .content h1 {
      font-family: var(--font-display);
      font-size: 1.75rem;
      font-weight: 700;
      letter-spacing: -0.02em;
      color: var(--text-1);
      line-height: 1.25;
      margin-bottom: 8px;
    }
    .content h1:first-child { margin-top: 0; }
    .content h2 {
      font-family: var(--font-display);
      font-size: 1.15rem;
      font-weight: 600;
      letter-spacing: -0.01em;
      color: var(--text-1);
      margin-top: 40px;
      margin-bottom: 12px;
      padding-bottom: 8px;
      border-bottom: 1px solid var(--border-sub);
    }
    .content h3 {
      font-size: 0.95rem;
      font-weight: 700;
      color: var(--text-1);
      margin-top: 24px;
      margin-bottom: 8px;
    }
    .content h4 {
      font-size: 0.875rem;
      font-weight: 600;
      color: var(--text-2);
      margin-top: 20px;
      margin-bottom: 6px;
    }
    .content p {
      color: var(--text-2);
      margin-bottom: 16px;
      font-size: 0.9375rem;
      line-height: 1.7;
    }
    .content a {
      color: var(--gold);
      text-decoration: none;
      border-bottom: 1px solid var(--gold-border);
      transition: border-color 0.15s, color 0.15s;
    }
    .content a:hover {
      color: #e8c090;
      border-bottom-color: var(--gold);
    }
    .content strong { color: var(--text-1); font-weight: 600; }
    .content em { color: var(--text-3); font-style: italic; }
    .content ul, .content ol {
      margin: 0 0 16px 20px;
      color: var(--text-2);
    }
    .content li {
      margin-bottom: 6px;
      font-size: 0.9375rem;
      line-height: 1.6;
    }
    .content li strong { color: var(--text-1); }
    .content blockquote {
      margin: 20px 0;
      padding: 14px 18px;
      background: var(--gold-dim);
      border-left: 3px solid var(--gold);
      border-radius: 0 8px 8px 0;
      color: var(--text-2);
      font-size: 0.9rem;
    }
    .content blockquote p { color: var(--text-2); margin-bottom: 0; font-style: italic; }
    .content blockquote em { color: var(--text-3); }
    .content hr {
      border: none;
      border-top: 1px solid var(--border-sub);
      margin: 32px 0;
    }
    .content code {
      background: #1a1a1f;
      color: #e8e8eb;
      padding: 2px 6px;
      border-radius: 4px;
      font-size: 0.825rem;
      font-family: 'SF Mono', 'Fira Code', monospace;
    }
    .content pre {
      background: #111114;
      border: 1px solid var(--border-sub);
      border-radius: 10px;
      padding: 18px 20px;
      overflow-x: auto;
      margin: 16px 0 24px;
    }
    .content pre code {
      background: none;
      padding: 0;
      font-size: 0.8rem;
      line-height: 1.6;
      color: #a8b3c5;
    }

    /* ── Tables ───────────────────────────────────────────────── */
    .content table {
      width: 100%;
      border-collapse: collapse;
      margin: 20px 0 28px;
      font-size: 0.875rem;
    }
    .content table th {
      background: var(--tint-3);
      color: var(--text-3);
      font-size: 0.75rem;
      font-weight: 600;
      text-transform: uppercase;
      letter-spacing: 0.06em;
      padding: 10px 14px;
      text-align: left;
      border-bottom: 1px solid var(--border);
    }
    .content table td {
      padding: 10px 14px;
      border-bottom: 1px solid var(--border-sub);
      color: var(--text-2);
      vertical-align: top;
    }
    .content table tr:last-child td { border-bottom: none; }
    .content table tr:hover td { background: var(--tint-3); }
    .content table a {
      color: var(--gold);
      border-bottom-color: transparent;
    }
    .content table a:hover { border-bottom-color: var(--gold-border); }

    /* ── Checklist (task list items) ─────────────────────────── */
    .content ul li input[type="checkbox"] {
      accent-color: var(--gold);
      margin-right: 8px;
      width: 14px;
      height: 14px;
    }

    /* ── Page header band ────────────────────────────────────── */
    .page-band {
      padding: 32px 48px 0;
      max-width: 760px;
    }
    .page-band .eyebrow {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--text-5);
      margin-bottom: 6px;
    }

    /* ── Section cards (homepage) ─────────────────────────────── */
    .content-label {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text-5);
      margin-bottom: 14px;
    }
    .content-label--spaced { margin-top: 8px; }
    .section-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
      gap: 12px;
      margin: 24px 0 36px;
    }
    .section-card {
      display: block;
      padding: 18px 20px;
      background: var(--surface);
      border: 1px solid var(--border-sub);
      border-radius: 12px;
      text-decoration: none;
      transition: border-color 0.15s, background 0.15s, transform 0.15s, box-shadow 0.15s;
    }
    .section-card:hover {
      border-color: var(--border);
      background: var(--surface-2);
      text-decoration: none;
      transform: translateY(-2px);
      box-shadow: var(--shadow-card);
    }
    .section-card .card-icon {
      font-size: 18px;
      margin-bottom: 10px;
    }
    .section-card .card-icon .svgi { width: 20px; height: 20px; stroke-width: 1.75; }
    .section-card .card-label {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
      color: var(--text-5);
      margin-bottom: 4px;
    }
    .section-card .card-title {
      font-family: var(--font-display);
      font-size: 0.875rem;
      font-weight: 600;
      color: var(--text-1);
      margin-bottom: 6px;
    }
    .section-card .card-desc {
      font-size: 0.8125rem;
      color: var(--text-4);
      line-height: 1.5;
    }
    .section-card--gold .card-icon  { color: var(--gold); }
    .section-card--gold .card-label { color: rgba(209,164,118,0.6); }
    .section-card--blue {
      background: var(--blue-dim);
      border-color: var(--blue-border);
    }
    .section-card--blue .card-icon  { color: var(--blue); }
    .section-card--blue .card-label { color: rgba(75,106,252,0.6); }
    /* .content a sets border-bottom (link underline); restore card borders */
    .content .section-card { border-bottom: 1px solid var(--border-sub); }
    .content .section-card:hover { border-bottom-color: var(--border); }
    .content .section-card--blue,
    .content .section-card--blue:hover { border-color: var(--blue-border); }
    .content .featured-card,
    .content .featured-card:hover { border-bottom: 1px solid var(--gold-border); }
    .content .featured-card:hover { border-color: var(--gold); }

    /* ── Featured card (comece por aqui) ─────────────────────── */
    .featured-card {
      display: flex;
      align-items: center;
      gap: 24px;
      padding: 26px 28px;
      margin: 24px 0 36px;
      background: linear-gradient(135deg, rgba(209,164,118,0.14) 0%, rgba(209,164,118,0.05) 55%, var(--surface) 100%);
      border: 1px solid var(--gold-border);
      border-radius: 14px;
      text-decoration: none;
      transition: border-color 0.15s, transform 0.15s, box-shadow 0.15s;
      position: relative;
      overflow: hidden;
    }
    .featured-card:hover {
      border-color: var(--gold);
      text-decoration: none;
      transform: translateY(-2px);
      box-shadow: var(--shadow-featured);
    }
    .featured-card .fc-icon .svgi { width: 26px; height: 26px; stroke-width: 1.75; }
    .featured-card .fc-icon {
      font-size: 28px;
      color: var(--gold);
      flex-shrink: 0;
      width: 56px;
      height: 56px;
      display: flex;
      align-items: center;
      justify-content: center;
      background: var(--gold-dim);
      border: 1px solid var(--gold-border);
      border-radius: 12px;
    }
    .featured-card .fc-body { flex: 1; min-width: 0; }
    .featured-card .fc-label {
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--gold);
      margin-bottom: 5px;
    }
    .featured-card .fc-title {
      font-family: var(--font-display);
      font-size: 1.125rem;
      font-weight: 700;
      letter-spacing: -0.01em;
      color: var(--text-1);
      margin-bottom: 5px;
      line-height: 1.3;
    }
    .featured-card .fc-desc {
      font-size: 0.875rem;
      color: var(--text-3);
      line-height: 1.55;
    }
    .featured-card .fc-arrow {
      flex-shrink: 0;
      font-size: 20px;
      color: var(--gold);
      transition: transform 0.15s;
    }
    .featured-card:hover .fc-arrow { transform: translateX(4px); }
    @media (max-width: 640px) {
      .featured-card { flex-direction: column; align-items: flex-start; gap: 14px; padding: 22px; }
      .featured-card .fc-arrow { display: none; }
    }

    /* ── Hero (homepage only) ─────────────────────────────────── */
    .hero {
      padding: 48px 48px 0;
      max-width: 760px;
    }
    .hero .tag {
      display: inline-block;
      font-size: 10px;
      font-weight: 700;
      letter-spacing: 0.15em;
      text-transform: uppercase;
      color: var(--gold);
      background: var(--gold-dim);
      border: 1px solid var(--gold-border);
      padding: 4px 10px;
      border-radius: 20px;
      margin-bottom: 20px;
    }
    .hero h1 {
      font-family: var(--font-display);
      font-size: clamp(1.5rem, 3vw, 2.25rem);
      font-weight: 700;
      letter-spacing: -0.02em;
      color: var(--text-1);
      line-height: 1.2;
      margin-bottom: 16px;
    }
    .hero h1 span { color: var(--gold); }
    .hero .subtitle {
      margin-bottom: 32px;
      max-width: 580px;
    }
    .hero .subtitle-setup {
      font-size: 0.9375rem;
      color: var(--text-4);
      line-height: 1.75;
      margin-bottom: 16px;
    }
    .hero .subtitle-punch {
      font-size: 1.0625rem;
      font-weight: 600;
      color: var(--text-1);
      line-height: 1.6;
      padding: 14px 18px;
      background: var(--surface);
      border: 1px solid var(--border);
      border-left: 3px solid var(--gold);
      border-radius: 0 10px 10px 0;
    }
    .hero-meta {
      display: flex;
      gap: 24px;
      padding: 16px 20px;
      background: var(--tint-3);
      border: 1px solid var(--border-sub);
      border-radius: 10px;
      margin-bottom: 40px;
      flex-wrap: wrap;
    }
    .hero-meta .meta-item .label {
      font-size: 10px;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      color: var(--text-5);
      margin-bottom: 3px;
    }
    .hero-meta .meta-item .value {
      font-size: 13px;
      font-weight: 600;
      color: var(--text-2);
    }

    /* ── Hero two-column layout ──────────────────────────────── */
    .hero-outer {
      display: grid;
      grid-template-columns: 1fr 300px;
      gap: 48px;
      align-items: start;
      padding: 48px 48px 0;
      max-width: 1060px;
      position: relative;
    }
    .hero-outer .hero { padding: 0; max-width: none; }

    /* ── Hero ambient glow ───────────────────────────────────── */
    .hero-glow {
      position: absolute;
      top: -180px;
      left: -120px;
      width: 720px;
      height: 560px;
      pointer-events: none;
      z-index: -1;
      background:
        radial-gradient(ellipse 60% 50% at 30% 30%, rgba(209,164,118,0.07) 0%, transparent 70%),
        radial-gradient(ellipse 45% 40% at 70% 15%, rgba(75,106,252,0.04) 0%, transparent 70%);
    }
    .hero-outer > .hero, .hero-outer > .hero-right { position: relative; }

    /* ── Inline registration form ─────────────────────────────── */
    .irf-card {
      background: var(--surface);
      border: 1px solid var(--border);
      border-radius: 14px;
      padding: 22px;
    }
    .irf-eyebrow {
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 0.14em;
      text-transform: uppercase;
      color: var(--gold);
      opacity: 0.7;
      margin-bottom: 8px;
    }
    .irf-title {
      font-size: 0.9375rem;
      font-weight: 800;
      color: var(--text-1);
      line-height: 1.35;
      margin-bottom: 4px;
    }
    .irf-desc {
      font-size: 0.8rem;
      color: var(--text-4);
      line-height: 1.55;
      margin-bottom: 18px;
    }
    .irf-field { margin-bottom: 11px; }
    .irf-label {
      display: block;
      font-size: 9px;
      font-weight: 700;
      letter-spacing: 0.1em;
      text-transform: uppercase;
      color: var(--text-4);
      margin-bottom: 5px;
    }
    .irf-input {
      width: 100%;
      background: var(--bg);
      border: 1px solid var(--border);
      border-radius: 7px;
      padding: 8px 11px;
      font-size: 0.875rem;
      color: var(--text-1);
      font-family: inherit;
      outline: none;
      transition: border-color 0.15s;
      -webkit-appearance: none;
    }
    .irf-input:focus { border-color: var(--gold); }
    .irf-input::placeholder { color: var(--text-5); }
    .irf-submit {
      width: 100%;
      background: var(--gold);
      color: var(--on-gold);
      border: none;
      border-radius: 8px;
      padding: 10px;
      font-size: 0.875rem;
      font-weight: 700;
      cursor: pointer;
      font-family: inherit;
      transition: opacity 0.15s;
      margin-top: 4px;
    }
    .irf-submit:hover:not(:disabled) { opacity: 0.88; }
    .irf-submit:disabled { opacity: 0.35; cursor: not-allowed; }
    .irf-note {
      font-size: 0.7rem;
      color: var(--text-5);
      text-align: center;
      margin-top: 8px;
      line-height: 1.5;
    }
    .irf-status {
      font-size: 0.8125rem;
      padding: 8px 11px;
      border-radius: 7px;
      margin-bottom: 12px;
      display: none;
      line-height: 1.5;
    }
    .irf-status.error { background: rgba(255,100,100,0.08); border: 1px solid rgba(255,100,100,0.2); color: #ff7070; display: block; }
    .irf-welcome { text-align: center; padding: 10px 0; }
    .irf-welcome-check { font-size: 20px; color: var(--gold); margin-bottom: 8px; }
    .irf-welcome-title { font-size: 0.875rem; font-weight: 700; color: var(--text-1); margin-bottom: 5px; }
    .irf-welcome-sub { font-size: 0.8rem; color: var(--text-4); line-height: 1.55; }

    /* ── Responsive ───────────────────────────────────────────── */
    @media (max-width: 960px) {
      .hero-outer {
        grid-template-columns: 1fr;
        gap: 28px;
      }
    }
    @media (max-width: 768px) {
      .sidebar {
        transform: translateX(-100%);
        transition: transform 0.25s ease;
      }
      .sidebar.mobile-open { transform: translateX(0); }
      .mobile-header { display: flex; }
      .main {
        margin-left: 0;
        padding-top: 52px;
      }
      .hero-outer, .hero, .page-band, .content {
        padding-left: 20px;
        padding-right: 20px;
      }
      .hero-glow {
        width: 100%;
        left: 0;
        top: -120px;
      }
      .section-grid {
        grid-template-columns: 1fr;
      }
    }

    /* ── Responsive table wrapper (added via JS) ──────────────── */
    .table-wrap {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
    }
