/* =========================================
       G29 · INFO PAGE (legacy CMS safe)
       Scope: g29-*
    ========================================= */
    .g29-info{
      --ink:#0b0f14;
      --muted:#5a6673;
      --line:#e8eef5;
      --bg:#f6f8fb;
      --card:#ffffff;
      --accent:#1f5fbf;

      --radius:14px;
      --pad:14px;
    }

    .g29-info, .g29-info *{ box-sizing:border-box; }

    .g29-info{
      padding:22px 16px;
      font:16px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,Arial;
    }

    .g29-wrap{
      max-width:1100px;
      margin:0 auto;
    }

    .g29-head{
      display:flex;
      justify-content:space-between;
      align-items:flex-end;
      gap:16px;
      margin-bottom:12px;
      flex-wrap:wrap;
    }

    .g29-title{
      margin:0;
      font-weight:900;
      font-size:clamp(22px,3vw,30px);
      letter-spacing:-0.01em;
    }

    .g29-sub{
      margin:0;
      color:var(--muted);
      font-size:14px;
      max-width:48ch;
    }

    .g29-block{
      background:var(--card);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:var(--pad);
      margin-top:10px;
    }

    .g29-section-title{
      margin:0 0 8px 0;
      font-weight:850;
      font-size:18px;
    }

    .g29-list{
      margin:0;
      padding-left:18px;
      display:grid;
      gap:6px;
    }

    .g29-grid{
      display:grid;
      grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
      gap:12px;
      margin-top:10px;
    }

    .g29-card{
      background:var(--card);
      border:1px solid var(--line);
      border-radius:var(--radius);
      padding:var(--pad);
      display:flex;
      flex-direction:column;
      gap:10px;
    }

    .g29-card h3{
      margin:0;
      font-size:18px;
      font-weight:850;
      line-height:1.25;
    }

    .g29-accent{
      color:var(--accent);
    }

    .g29-mini{
      color:var(--muted);
      font-size:14px;
      margin:0;
    }

    .g29-divider{
      height:1px;
      background:var(--line);
      border:0;
      margin:10px 0;
    }

    @media (max-width:520px){
      .g29-info{ padding:18px 12px; }
      .g29-sub{ max-width:unset; }
    }

    @media print{
      .g29-info{ background:#fff; padding:0; }
      .g29-card, .g29-block{ break-inside:avoid; }
    }