:root {
      --primary: #1b1c1e;
      /* dark gray/navy */
      --accent: #febb01;
      /* yellow */
      --secondary: #4db2ff;
      /* light blue */
      --bg: #f8f9fa;
      --text: #111827;
      --muted: #6b7280;
      --border: #e5e7eb;
      --card: #ffffff;
      --radius: 16px;
    }

    * {
      box-sizing: border-box
    }

    body {
      margin: 0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
      background: var(--bg);
      color: var(--text)
    }

    .container {
      max-width: 1120px;
      margin: 0 auto;
      padding: 0 20px
    }

    .topbar {
      position: sticky;
      top: 0;
      z-index: 50;
      background: rgba(255, 255, 255, .9);
      backdrop-filter: saturate(1.2) blur(6px);
      border-bottom: 1px solid var(--border)
    }

    .nav {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 12px 0
    }

    .brand {
      display: flex;
      align-items: center;
      gap: 12px
    }

    .brand img {
      width: 40px;
      height: 40px;
      border-radius: 12px;
      object-fit: contain;
      background: #fff
    }

    .brand .label {
      line-height: 1
    }

    .brand .title {
      font-weight: 700
    }

    .brand .sub {
      font-size: 12px;
      color: var(--muted)
    }

    .menu {
      display: none;
      gap: 20px;
      font-size: 14px
    }

    .menu a {
      color: inherit;
      text-decoration: none
    }

    .menu a:hover {
      opacity: .8
    }

    .cta {
      border: 1px solid #d1d5db;
      border-radius: 12px;
      padding: 8px 14px
    }

    @media(min-width:768px) {
      .menu {
        display: flex
      }
    }

    .hero {
      padding: 56px 0
    }

    .grid {
      display: grid;
      gap: 24px
    }

    @media(min-width:768px) {
      .grid-cols-2 {
        grid-template-columns: repeat(2, minmax(0, 1fr))
      }
    }

    h1 {
      font-size: clamp(28px, 4vw, 44px);
      margin: 0 0 12px
    }

    p.lead {
      font-size: clamp(16px, 2.2vw, 19px);
      color: #374151;
      max-width: 60ch
    }

    .btn {
      display: inline-block;
      border-radius: 16px;
      padding: 12px 18px;
      font-weight: 600;
      font-size: 14px;
      text-decoration: none
    }

    .btn-primary {
      background: var(--primary);
      color: #fff
    }

    .btn-outline {
      border: 1px solid #d1d5db;
      color: inherit
    }

    .facts {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 12px;
      margin-top: 10px
    }

    .fact {
      background: #fff;
      border: 1px solid var(--border);
      border-radius: 16px;
      padding: 14px
    }

    .fact .k {
      font-size: 12px;
      color: var(--muted)
    }

    .fact .v {
      font-weight: 600
    }

    .card {
      background: var(--card);
      border: 1px solid var(--border);
      border-radius: 24px;
      padding: 24px;
      box-shadow: 0 1px 2px rgba(0, 0, 0, .04)
    }

    .section {
      padding: 56px 0
    }

    .section.alt {
      background: #fff;
      border-top: 1px solid var(--border);
      border-bottom: 1px solid var(--border)
    }

    h2 {
      font-size: clamp(22px, 3vw, 34px);
      margin: 0 0 12px
    }

    .pill {
      display: inline-block;
      font-size: 12px;
      padding: 6px 10px;
      border-radius: 999px;
      background: #f3f4f6;
      border: 1px solid var(--border)
    }

    .portfolio {
      display: grid;
      gap: 20px
    }

    @media(min-width:768px) {
      .portfolio {
        grid-template-columns: repeat(2, 1fr)
      }
    }

    .brandRow {
      display: flex;
      gap: 16px;
      align-items: center
    }

    .brandRow img {
      width: 56px;
      height: 56px;
      border-radius: 16px;
      object-fit: contain;
      background: #fff;
      border: 1px solid var(--border)
    }

    .aboutGrid {
      display: grid;
      gap: 24px
    }

    @media(min-width:768px) {
      .aboutGrid {
        grid-template-columns: 2fr 1fr
      }
    }

    .snapshot dt {
      color: #4b5563
    }

    .snapshot dd {
      font-weight: 600;
      margin: 0
    }

    .snapshot .row {
      display: flex;
      justify-content: space-between;
      padding: 14px 0;
      border-bottom: 1px solid var(--border)
    }

    .snapshot .row:last-child {
      border-bottom: none
    }

    .form label {
      font-size: 14px;
      display: block
    }

    .form input,
    .form textarea {
      width: 100%;
      margin-top: 6px;
      padding: 10px 12px;
      border: 1px solid #d1d5db;
      border-radius: 12px;
      font: inherit
    }

    .form textarea {
      min-height: 120px
    }

    footer {
      border-top: 1px solid var(--border);
      background: #fff
    }

    .row {
      display: flex;
      gap: 8px;
      /* space between dt and dd */
      align-items: center;
    }

    .row dt,
    .row dd {
      margin: 0;
      /* reset default margins */
    }