:root {
    --bg: #0a0a0c;
    --bg-raised: #131217;
    --surface: #131217;
    --surface-hover: #19181f;
    --border: #29282f;
    --text: #f2f1f5;
    --text-muted: #9796a3;
    --text-dim: #5e5c68;
    --magenta: #f6075f;
    --violet: #8741dc;
    --blue: #006afb;
    --blue-2: #5b93ff;
    --gradient: linear-gradient(115deg, var(--magenta) 0%, var(--violet) 55%, var(--blue) 100%);

    --font-display: 'Chakra Petch', 'Segoe UI', sans-serif;
    --font-body: 'IBM Plex Sans', 'Segoe UI', sans-serif;
    --font-mono: 'IBM Plex Mono', ui-monospace, monospace;
  }

  * { box-sizing: border-box; }
  html { scroll-behavior: smooth; }
  body {
    margin: 0;
    background: radial-gradient(ellipse 1000px 520px at 50% -10%, #1c1a25 0%, transparent 62%), var(--bg);
    color: var(--text);
    font-family: var(--font-body);
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
  }

  .grain {
    position: fixed;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    opacity: 0.05;
    mix-blend-mode: overlay;
    background-image: url("data:image/png;base64,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");
    background-repeat: repeat;
  }

  a { color: inherit; }
  a:focus-visible, button:focus-visible { outline: 2px solid var(--blue-2); outline-offset: 3px; }

  .eyebrow {
    font-family: var(--font-mono);
    font-size: 0.75rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--blue-2);
    margin: 0 0 0.9rem;
  }

  h1, h2, h3 { font-family: var(--font-display); text-wrap: balance; margin: 0; }

  .wrap { max-width: 1120px; margin: 0 auto; padding: 0 2rem; }

  /* Nav */
  header.nav {
    position: sticky;
    top: 0;
    z-index: 10;
    background: rgba(10, 10, 12, 0.72);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--border);
  }
  .nav-inner {
    max-width: 1120px;
    margin: 0 auto;
    padding: 0.85rem 2rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .brand { display: flex; align-items: center; gap: 0.6rem; text-decoration: none; }
  .brand img { height: 22px; width: auto; display: block; }
  .brand span {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 1.05rem;
    letter-spacing: 0.02em;
  }
  nav.links { display: flex; gap: 1.75rem; }
  nav.links a {
    font-family: var(--font-mono);
    font-size: 0.82rem;
    letter-spacing: 0.04em;
    text-decoration: none;
    color: var(--text-muted);
    transition: color 0.15s;
  }
  nav.links a:hover { color: var(--text); }

  /* Hero */
  .hero {
    padding: 5.5rem 2rem 4.5rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  .mark-wrap {
    position: relative;
    width: min(420px, 78vw);
    overflow: hidden;
    border-radius: 10px;
    margin-bottom: 1.6rem;
  }
  .mark-wrap img { width: 100%; display: block; }
  .mark-wrap::after {
    content: "";
    position: absolute;
    top: 0; left: -60%;
    width: 45%; height: 100%;
    background: linear-gradient(100deg, transparent, rgba(255,255,255,0.35), transparent);
    mix-blend-mode: overlay;
    animation: sheen 2.6s 0.5s 1 ease-out forwards;
  }
  @keyframes sheen {
    from { left: -60%; }
    to { left: 130%; }
  }
  .hero h1 {
    font-size: clamp(1.9rem, 4vw, 2.9rem);
    font-weight: 600;
    max-width: 720px;
    line-height: 1.25;
  }
  .hero p.sub {
    max-width: 560px;
    color: var(--text-muted);
    font-size: 1.05rem;
    margin: 1.25rem 0 2rem;
  }
  .hero-cta { display: flex; gap: 1rem; flex-wrap: wrap; justify-content: center; }

  .btn {
    font-family: var(--font-mono);
    font-size: 0.8rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    text-decoration: none;
    padding: 0.85rem 1.5rem;
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    transition: transform 0.15s, border-color 0.15s, color 0.15s;
  }
  .btn-primary { background: var(--gradient); color: #08080a; font-weight: 600; }
  .btn-primary:hover { transform: translateY(-1px); }
  .btn-ghost { border: 1px solid var(--border); color: var(--text); }
  .btn-ghost:hover { border-color: var(--blue-2); color: var(--blue-2); }

  /* Section head */
  .section-head { max-width: 620px; margin: 0 0 2.5rem; }
  .section-head h2 { font-size: clamp(1.5rem, 3vw, 2rem); font-weight: 600; }
  .section-head p.sub { color: var(--text-muted); margin: 0.9rem 0 0; font-size: 1rem; }

  section.services, section.about { padding: 4rem 2rem; }
  section.services { border-top: 1px solid var(--border); }

  .grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1.5rem;
  }

  .card {
    position: relative;
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 1.9rem 1.6rem 1.6rem;
    display: flex;
    flex-direction: column;
    gap: 0.85rem;
    overflow: hidden;
    transition: border-color 0.2s, transform 0.2s, background 0.2s;
  }
  .card::before {
    content: "";
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: var(--gradient);
  }
  .card:hover {
    border-color: #3a3944;
    background: var(--surface-hover);
    transform: translateY(-3px);
  }
  .card .tag {
    font-family: var(--font-mono);
    font-size: 0.68rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--blue-2);
  }
  .card h3 { font-size: 1.25rem; font-weight: 600; }
  .card p.desc { color: var(--text-muted); font-size: 0.94rem; margin: 0; flex-grow: 1; }
  .card a.link {
    font-family: var(--font-mono);
    font-size: 0.82rem;
    text-decoration: none;
    color: var(--text);
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-top: 0.3rem;
  }
  .card a.link:hover { color: var(--blue-2); }

  /* About band */
  section.about {
    border-top: 1px solid var(--border);
    text-align: center;
  }
  .about-inner { max-width: 640px; margin: 0 auto; }
  .about-inner p.body-text { color: var(--text-muted); font-size: 1.02rem; margin: 0; }
  .about-inner strong { color: var(--text); font-weight: 500; }

  footer {
    border-top: 1px solid var(--border);
    padding: 2.25rem 2rem;
  }
  .footer-inner {
    max-width: 1120px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
    font-family: var(--font-mono);
    font-size: 0.8rem;
    color: var(--text-dim);
  }
  .footer-links { display: flex; gap: 1.5rem; }
  .footer-links a { text-decoration: none; color: var(--text-muted); }
  .footer-links a:hover { color: var(--blue-2); }

  @media (prefers-reduced-motion: reduce) {
    .mark-wrap::after { animation: none; display: none; }
    html { scroll-behavior: auto; }
  }

  @media (max-width: 640px) {
    nav.links { display: none; }
  }

  /* ---- Admin ---- */
  .admin-main { padding: 2.5rem 2rem 5rem; }
  .admin-shell { max-width: 880px; margin: 0 auto; }
  .admin-notice {
    font-family: var(--font-mono);
    font-size: 0.82rem;
    color: var(--text-muted);
    background: var(--surface);
    border: 1px solid var(--border);
    border-left: 3px solid var(--blue-2);
    border-radius: 6px;
    padding: 0.9rem 1.1rem;
    margin: 0 0 2rem;
    line-height: 1.6;
  }
  .admin-toolbar {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 1.75rem;
  }
  .admin-toolbar .actions { display: flex; gap: 0.6rem; flex-wrap: wrap; }
  .status-pill {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
    padding: 0.3rem 0.65rem;
    border-radius: 999px;
    border: 1px solid var(--border);
    color: var(--text-muted);
  }
  .status-pill.dirty { color: var(--magenta); border-color: var(--magenta); }
  .status-pill.saved { color: #4ade80; border-color: #2f6e4a; }

  .service-list { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 2.5rem; }
  .service-row {
    background: var(--surface);
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 1.25rem 1.4rem;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 1rem;
    align-items: start;
  }
  .service-row .fields { display: grid; gap: 0.7rem; }
  .field label {
    display: block;
    font-family: var(--font-mono);
    font-size: 0.68rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--text-dim);
    margin-bottom: 0.35rem;
  }
  .field input, .field textarea {
    width: 100%;
    background: var(--bg-raised);
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--text);
    font-family: var(--font-body);
    font-size: 0.92rem;
    padding: 0.55rem 0.7rem;
  }
  .field textarea { resize: vertical; min-height: 3.2rem; font-family: var(--font-body); }
  .field input:focus, .field textarea:focus {
    outline: none;
    border-color: var(--blue-2);
  }
  .row-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 0.7rem; }

  .row-controls { display: flex; flex-direction: column; gap: 0.5rem; align-items: stretch; }
  .icon-btn {
    font-family: var(--font-mono);
    font-size: 0.72rem;
    background: transparent;
    border: 1px solid var(--border);
    color: var(--text-muted);
    border-radius: 6px;
    padding: 0.4rem 0.6rem;
    cursor: pointer;
    transition: border-color 0.15s, color 0.15s;
    white-space: nowrap;
  }
  .icon-btn:hover { border-color: var(--blue-2); color: var(--blue-2); }
  .icon-btn.danger:hover { border-color: var(--magenta); color: var(--magenta); }

  .btn.btn-sm { padding: 0.55rem 1rem; font-size: 0.75rem; }
  .btn:disabled { opacity: 0.45; cursor: not-allowed; }
  .btn:disabled:hover { transform: none; border-color: var(--border); color: var(--text); }

  .sr-only {
    position: absolute;
    width: 1px; height: 1px;
    padding: 0; margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }

  .empty-state {
    text-align: center;
    padding: 3rem 1.5rem;
    border: 1px dashed var(--border);
    border-radius: 10px;
    color: var(--text-dim);
    font-family: var(--font-mono);
    font-size: 0.85rem;
  }
