  :root {
    --bg: #FFFFFF;
    --bg-soft: #F6F8FC;
    --fg: #0A2540;
    --muted: #5A6B7D;
    --accent: #0057D8;
    --accent-dark: #003E9C;
    --accent-soft: #E8F0FF;
    --line: #E3E9F1;
    --shadow-sm: 0 2px 8px rgba(10, 37, 64, 0.06);
    --shadow: 0 10px 30px rgba(10, 37, 64, 0.10);
    --shadow-lg: 0 24px 60px rgba(10, 37, 64, 0.16);
    --radius: 16px;
  }

  * { margin: 0; padding: 0; box-sizing: border-box; }
  ::selection { background: var(--accent); color: #fff; }

  html {
    scroll-behavior: smooth;
    scroll-snap-type: none;
  }

  body {
    background: var(--bg);
    color: var(--fg);
    font-family: "Inter", "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
  }

  /* ---- Decorative backdrop: retired for a clean professional look ---- */
  .grid-backdrop, .scanline {
    display: none;
  }

  .wrap {
    position: relative;
    z-index: 1;
  }

  section {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(5rem, 10vw, 8.5rem) clamp(1.5rem, 8vw, 8rem);
  }

  /* ---- Reveal on scroll ---- */
  .reveal {
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.35s ease, transform 0.35s ease;
  }
  .reveal.in {
    opacity: 1;
    transform: translateY(0);
  }

  /* ---- Utility ---- */
  .mono {
    font-family: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
  }

  .btn-ghost {
    display: inline-block;
    border: 1px solid var(--line);
    background: var(--bg);
    color: var(--fg);
    border-radius: 10px;
    padding: 0.95rem 2.25rem;
    font-family: inherit;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: none;
    box-shadow: var(--shadow-sm);
    transition: border-color 0.2s ease, background 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  }
  .btn-ghost:hover {
    border-color: var(--fg);
    background: var(--fg);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: var(--shadow);
  }

  .eyebrow {
    font-family: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
    font-size: 0.72rem;
    letter-spacing: 0.3em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 1.25rem;
  }

  .rule {
    height: 1px;
    background: var(--line);
    width: 0;
    transition: width 0.5s ease;
    margin: 3.5rem 0;
  }
  .rule.drawn { width: 100%; }

  .stage-mail {
    margin-top: 2.75rem;
    text-align: right;
  }
  .stage-mail a {
    font-family: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;
    font-size: 0.75rem;
    letter-spacing: 0.12em;
    color: var(--muted);
    text-decoration: none;
    border-bottom: 1px solid var(--line);
    padding-bottom: 2px;
    transition: color 0.2s ease, border-color 0.2s ease;
  }
  .stage-mail a:hover { color: var(--accent); border-color: var(--accent); }
  .stage-mail .step { margin-right: 1rem; color: var(--line); }

  /* ---- Topbar ---- */
  .topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem clamp(1.5rem, 8vw, 8rem);
    background: rgba(255, 255, 255, 0.85);
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    border-bottom: 1px solid var(--line);
  }
  .logo {
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    color: var(--fg);
    text-decoration: none;
  }
  .logo span { color: var(--accent); }
  .top-actions {
    display: flex;
    align-items: center;
    gap: 1.5rem;
  }
  .topbar-mail {
    font-family: "JetBrains Mono", Consolas, monospace;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    color: var(--muted);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    padding-bottom: 2px;
    transition: color 0.2s ease, border-color 0.2s ease;
  }
  .topbar-mail:hover { color: var(--accent); border-color: var(--accent); }
  .topbar-mail-icon {
    display: none;
    align-items: center;
    justify-content: center;
    width: 2.4rem;
    height: 2.4rem;
    border: 1px solid var(--line);
    border-radius: 8px;
    color: var(--fg);
    text-decoration: none;
    transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
  }
  .topbar-mail-icon:hover { border-color: var(--accent); color: var(--accent); background: var(--accent-soft); }
  .topbar-mail-icon svg { width: 1rem; height: 1rem; }

  .lang-switch {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    font-family: "JetBrains Mono", Consolas, monospace;
    font-size: 0.72rem;
    letter-spacing: 0.08em;
    font-weight: 600;
  }
  .lang-switch .lang {
    color: var(--muted);
    text-decoration: none;
    border-bottom: 1px solid transparent;
    padding-bottom: 2px;
    transition: color 0.2s ease, border-color 0.2s ease;
  }
  .lang-switch .lang:hover { color: var(--accent); border-color: var(--accent); }
  .lang-switch .lang.on { color: var(--accent); }
  .lang-switch .sep { color: var(--line); }
  @media (max-width: 640px) {
    .topbar-mail { display: none; }
    .topbar-mail-icon { display: flex; }
  }

  /* ---- Section 1: Entry point ---- */
  .hero {
    min-height: 100vh;
    text-align: center;
    align-items: center;
    background:
      radial-gradient(circle at 18% 20%, rgba(0, 87, 216, 0.07) 0%, transparent 42%),
      radial-gradient(circle at 82% 75%, rgba(0, 87, 216, 0.06) 0%, transparent 45%);
  }
  .hero h1 {
    font-size: clamp(2.4rem, 6vw, 5rem);
    font-weight: 700;
    letter-spacing: -0.025em;
    line-height: 1.08;
    max-width: 16em;
  }
  .hero h1 .hl { color: var(--accent); }
  .hero .sub {
    margin-top: 1.75rem;
    font-size: clamp(1.05rem, 1.6vw, 1.3rem);
    color: var(--muted);
    max-width: 34em;
  }
  .hero .actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    margin-top: 2.75rem;
    flex-wrap: wrap;
  }
  .hero .actions .btn-ghost { margin-top: 0; }
  .hero .actions .letter-btn { margin-top: 0; }

  /* ---- Section 2: Value proposition (metrics panel) ---- */
  .terminal {
    width: 100%;
    max-width: 78rem;
    margin: 0 auto;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--bg);
    box-shadow: var(--shadow);
    overflow: hidden;
  }
  .terminal-head {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.9rem 1.5rem;
    border-bottom: 1px solid var(--line);
    background: var(--bg-soft);
  }
  .terminal-head .path {
    margin-left: auto;
    font-family: "JetBrains Mono", Consolas, monospace;
    font-size: 0.7rem;
    color: var(--muted);
    letter-spacing: 0.05em;
  }
  .term-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
  }
  .metric {
    padding: 2rem 1.75rem;
    border-right: 1px solid var(--line);
    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  }
  .metric:last-child { border-right: none; }
  .metric:hover {
    background: var(--bg-soft);
    transform: translateY(-3px);
    box-shadow: var(--shadow);
  }
  .metric .k {
    font-family: "JetBrains Mono", Consolas, monospace;
    font-size: 0.68rem;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.9rem;
  }
  .metric .v {
    font-family: "JetBrains Mono", Consolas, monospace;
    font-size: clamp(1.8rem, 3.4vw, 2.8rem);
    font-weight: 600;
    letter-spacing: -0.01em;
    margin-bottom: 0.5rem;
    color: var(--fg);
  }
  .metric .d {
    font-size: 0.9rem;
    color: var(--muted);
    line-height: 1.6;
  }
  @media (max-width: 760px) {
    .term-grid { grid-template-columns: 1fr; }
    .metric { border-right: none; border-bottom: 1px solid var(--line); }
    .metric:last-child { border-bottom: none; }
  }

  /* ---- Section 3: Services ---- */
  .services { align-items: flex-start; }
  .services .intro {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 2rem;
    margin-bottom: 3.5rem;
    width: 100%;
  }
  .services h2 {
    font-size: clamp(1.9rem, 3.4vw, 2.8rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    max-width: 12em;
  }
  .services h2 .hl { color: var(--accent); }
  .svc-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    width: 100%;
  }
  @media (max-width: 760px) { .svc-list { grid-template-columns: 1fr; } }
  .svc {
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 2.25rem 2rem;
    box-shadow: var(--shadow-sm);
    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  }
  .svc:hover {
    background: var(--bg);
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
    border-color: rgba(0, 87, 216, 0.35);
  }
  .svc .idx {
    font-family: "JetBrains Mono", Consolas, monospace;
    font-size: 0.68rem;
    color: var(--accent);
    letter-spacing: 0.25em;
    margin-bottom: 1.25rem;
  }
  .svc h3 {
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    margin-bottom: 0.9rem;
  }
  .svc p {
    font-size: 0.95rem;
    color: var(--muted);
    line-height: 1.7;
    max-width: 36em;
  }

  /* ---- Section 3b: Projects ---- */
  .projects { align-items: flex-start; }
  .projects h2 {
    font-size: clamp(1.9rem, 3.4vw, 2.8rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    max-width: 12em;
    margin-bottom: 1rem;
  }
  .projects h2 .hl { color: var(--accent); }
  .projects .lede {
    color: var(--muted);
    max-width: 42em;
    margin-bottom: 3.5rem;
  }
  .proj-list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    width: 100%;
  }
  @media (max-width: 760px) { .proj-list { grid-template-columns: 1fr; } }
  .proj-list .proj.span2 { grid-column: 1 / -1; }
  .proj {
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 2.25rem 2rem;
    box-shadow: var(--shadow-sm);
    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    text-decoration: none;
    color: inherit;
    display: flex;
    flex-direction: column;
    gap: 1rem;
  }
  .proj:hover {
    background: var(--bg);
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
    border-color: rgba(0, 87, 216, 0.35);
  }
  .proj .idx {
    font-family: "JetBrains Mono", Consolas, monospace;
    font-size: 0.68rem;
    color: var(--accent);
    letter-spacing: 0.25em;
  }
  .proj h3 {
    font-size: 1.25rem;
    font-weight: 600;
    letter-spacing: -0.01em;
  }
  .proj p {
    font-size: 0.95rem;
    color: var(--muted);
    line-height: 1.7;
    max-width: 36em;
  }
  .proj .tag {
    font-family: "JetBrains Mono", Consolas, monospace;
    font-size: 0.62rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--accent);
    background: var(--accent-soft);
    border: 1px solid transparent;
    padding: 0.35rem 0.7rem;
    border-radius: 6px;
    align-self: flex-start;
  }
  .proj .view {
    margin-top: auto;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    align-self: flex-start;
    font-family: "JetBrains Mono", Consolas, monospace;
    font-size: 0.7rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--fg);
    border-bottom: 1px solid var(--line);
    padding-bottom: 0.4rem;
    transition: color 0.2s ease, border-color 0.2s ease;
  }
  .proj .view .ar { display: inline-block; transition: transform 0.2s ease; }
  .proj:hover .view { color: var(--accent); border-color: var(--accent); }
  .proj:hover .view .ar { transform: translateX(5px); }

  /* ---- Section 4: Partners ---- */
  .partners { align-items: flex-start; }
  .partners h2 {
    font-size: clamp(1.9rem, 3.4vw, 2.8rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
  }
  .partners .lede {
    color: var(--muted);
    max-width: 42em;
    margin-bottom: 3.5rem;
  }
  .masonry {
    columns: 3 220px;
    column-gap: 1.5rem;
    width: 100%;
  }
  .client {
    display: flex;
    align-items: center;
    justify-content: center;
    break-inside: avoid;
    padding: 2rem 1.5rem;
    border: 1px solid var(--line);
    border-radius: var(--radius);
    background: var(--bg);
    margin-bottom: 1.5rem;
    font-size: 0.75rem;
    letter-spacing: 0.25em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--muted);
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
    text-align: center;
    min-height: 84px;
  }
  .client:hover {
    background: var(--accent-soft);
    color: var(--accent);
    border-color: rgba(0, 87, 216, 0.35);
    transform: translateY(-2px);
  }

  /* ---- Section 5: Team ---- */
  .team { align-items: flex-start; }
  .team h2 {
    font-size: clamp(1.9rem, 3.4vw, 2.8rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    margin-bottom: 1rem;
  }
  .team .lede {
    color: var(--muted);
    max-width: 42em;
    margin-bottom: 2.5rem;
  }
  .team-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    width: 100%;
  }
  @media (max-width: 520px) { .team-grid { grid-template-columns: 1fr; } }
  .member {
    background: var(--bg);
    border: 1px solid var(--line);
    border-radius: var(--radius);
    padding: 2rem;
    box-shadow: var(--shadow-sm);
    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
    display: flex;
    flex-direction: column;
  }
  .member:hover {
    transform: translateY(-4px);
    box-shadow: var(--shadow-lg);
    border-color: rgba(0, 87, 216, 0.35);
  }
  .member .photo {
    width: min(100%, 7.5rem);
    aspect-ratio: 1 / 1;
    margin-bottom: 1.5rem;
    border-radius: 50%;
    overflow: hidden;
    background: var(--line);
    border: 3px solid var(--bg);
    box-shadow: var(--shadow-sm);
  }
  .member .photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center 30%;
    display: block;
    filter: grayscale(0.4);
    transition: filter 0.3s ease, transform 0.3s ease;
  }
  .member:hover .photo img { filter: grayscale(0); transform: scale(1.05); }
  .member .topline {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    margin-bottom: 1rem;
  }
  .member .idx {
    font-family: "JetBrains Mono", Consolas, monospace;
    font-size: 0.68rem;
    color: var(--accent);
    letter-spacing: 0.25em;
  }
  .member .monogram {
    font-family: "JetBrains Mono", Consolas, monospace;
    font-size: 0.7rem;
    letter-spacing: 0.2em;
    color: var(--muted);
  }
  .member h3 {
    font-size: 1.15rem;
    font-weight: 600;
    letter-spacing: -0.01em;
    margin-bottom: 0.35rem;
  }
  .member .role {
    font-family: "JetBrains Mono", Consolas, monospace;
    font-size: 0.68rem;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    color: var(--accent);
    margin-bottom: 0.75rem;
  }
  .member .bio {
    font-size: 0.9rem;
    color: var(--muted);
    line-height: 1.7;
  }
  .member .contact {
    margin-top: auto;
    padding-top: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
  }
  .member .contact a {
    font-family: "JetBrains Mono", Consolas, monospace;
    font-size: 0.7rem;
    letter-spacing: 0.08em;
    color: var(--muted);
    text-decoration: none;
    border-bottom: 1px solid var(--line);
    padding-bottom: 2px;
    transition: color 0.2s ease, border-color 0.2s ease;
  }
  .member .contact a:hover { color: var(--accent); border-color: var(--accent); }

  /* Open volunteer circle card */
  .member.open {
    background: linear-gradient(135deg, var(--fg) 0%, #12365E 100%);
    color: #fff;
    justify-content: center;
    border: none;
    box-shadow: var(--shadow-lg);
  }
  .member.open:hover { border: none; }
  .member.open .idx { color: rgba(255, 255, 255, 0.6); }
  .member.open .open-big {
    font-family: "JetBrains Mono", Consolas, monospace;
    font-size: clamp(2.4rem, 3vw, 3rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1;
    margin-bottom: 1rem;
    color: var(--accent);
  }
  .member.open h3 { color: #fff; }
  .member.open .role { color: rgba(255, 255, 255, 0.7); }
  .member.open .bio { color: rgba(255, 255, 255, 0.8); }
  .member.open .open-mail {
    margin-top: 1.75rem;
    align-self: flex-start;
    border: 1px solid rgba(255, 255, 255, 0.4);
    color: #fff;
    padding: 0.75rem 1.3rem;
    border-radius: 8px;
    font-family: "JetBrains Mono", Consolas, monospace;
    font-size: 0.7rem;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
  }
  .member.open .open-mail:hover { background: #fff; color: var(--fg); border-color: #fff; }

  /* ---- Section 6: CTA ---- */
  .cta {
    padding: clamp(5rem, 10vw, 8.5rem) 0;
    justify-content: center;
    position: relative;
    overflow: hidden;
  }
  .cta-grad {
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background: linear-gradient(120deg, var(--fg) 0%, #0B3A6E 55%, var(--accent-dark) 100%);
  }
  .cta-grad::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
      radial-gradient(circle at 20% 30%, rgba(255, 255, 255, 0.10) 0%, transparent 40%),
      radial-gradient(circle at 80% 70%, rgba(122, 180, 255, 0.18) 0%, transparent 45%);
  }
  .cta > :not(.cta-grad) { position: relative; z-index: 1; }
  .cta { display: flex; flex-direction: column; align-items: center; }
  .cta .statement {
    font-size: clamp(2rem, 5.5vw, 4.5rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.08;
    color: #fff;
    text-align: center;
    max-width: 16em;
  }
  .cta .statement .grad {
    color: #7FB2FF;
  }
  .cta-lede {
    margin-top: 1.5rem;
    font-size: clamp(1rem, 1.6vw, 1.2rem);
    color: rgba(255, 255, 255, 0.8);
    max-width: 30em;
    text-align: center;
  }
  .cta-mail { margin-top: 2.5rem; }
  .cta-mail .email-link {
    font-size: clamp(1.2rem, 3vw, 1.8rem);
    color: #fff;
    border-bottom-color: rgba(255, 255, 255, 0.5);
  }
  .cta-mail .email-link:hover { color: #fff; border-bottom-color: #fff; }
  .cta-mail .email-link .at { color: #7FB2FF; }
  .cta-actions {
    margin-top: 2.5rem;
    display: flex;
    justify-content: center;
  }
  .email-link {
    font-family: "JetBrains Mono", Consolas, monospace;
    font-size: clamp(1rem, 2vw, 1.3rem);
    color: var(--fg);
    text-decoration: none;
    font-weight: 600;
    letter-spacing: 0;
    border-bottom: 2px solid var(--line);
    padding-bottom: 0.15em;
    transition: color 0.2s ease, border-color 0.2s ease;
  }
  .email-link:hover { color: var(--accent); border-color: var(--accent); }
  .email-link .at { color: var(--accent); }
  .letter-btn {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    border: 1px solid var(--accent);
    background: var(--accent);
    color: #fff;
    border-radius: 10px;
    padding: 0.95rem 2rem;
    font-family: inherit;
    font-size: 0.85rem;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: none;
    box-shadow: var(--shadow-sm);
    transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  }
  .letter-btn:hover {
    background: var(--accent-dark);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: var(--shadow);
  }
  .cta-actions .letter-btn {
    background: #fff;
    border-color: #fff;
    color: var(--fg);
  }
  .cta-actions .letter-btn:hover { background: var(--accent); border-color: var(--accent); color: #fff; }

  footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 2rem;
    padding: 2.5rem clamp(1.5rem, 8vw, 8rem);
    border-top: 1px solid var(--line);
    position: relative;
    z-index: 1;
    flex-wrap: wrap;
  }
  footer a {
    color: var(--fg);
    text-decoration: none;
    font-weight: 600;
    font-size: 0.9rem;
  }
  footer a:hover { color: var(--accent); }
  footer .city { color: var(--muted); font-size: 0.9rem; }

  @media (max-width: 640px) {
    section { padding: 4.5rem 1.25rem; }
    .hero { min-height: 92vh; }
    .topbar { padding: 1rem 1.25rem; }
    .logo { font-size: 0.8rem; }
    .top-actions { gap: 0.75rem; }

    .hero .btn-ghost { width: 100%; text-align: center; }
    .hero .actions { flex-direction: column; width: 100%; }
    .hero .actions .btn-ghost, .hero .actions .letter-btn { width: 100%; text-align: center; justify-content: center; }
    .stage-mail { text-align: left; }

    .services .intro { flex-direction: column; gap: 1rem; }
    .services h2, .partners h2, .team h2 { font-size: 1.75rem; }
    .svc { padding: 1.75rem 1.25rem; }

    .masonry { columns: 2 140px; }
    .client { padding: 1.5rem 1rem; font-size: 0.62rem; min-height: 64px; }

    .team-grid { grid-template-columns: 1fr; }
    .member { padding: 1.75rem 1.25rem; }

    .cta { padding: 5rem 1.25rem; }
    .cta .statement { font-size: clamp(1.9rem, 9vw, 3rem); }
    .cta-actions { justify-content: stretch; }
    .cta-actions .btn-ghost, .cta-actions .letter-btn { width: 100%; text-align: center; justify-content: center; }
    .cta-mail .email-link { font-size: 1.05rem; word-break: break-all; }

    footer { flex-direction: column; align-items: flex-start; gap: 0.75rem; padding: 2rem 1.25rem; }
  }

  @media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    .reveal { opacity: 1; transform: none; transition: none; }
    .rule { width: 100%; transition: none; }
    .svc:hover, .proj:hover, .member:hover, .metric:hover { transform: none; }
    .proj:hover .view .ar { transform: none; }
    .member:hover .photo img { transform: none; }
  }

  @media print {
    @page { margin: 1.8cm; }

    html { -webkit-print-color-adjust: exact; print-color-adjust: exact; }

    body {
      background: #FFFFFF;
      font-size: 11pt;
      line-height: 1.5;
    }

    /* Fixed / decorative elements: not printed */
    .topbar, .grid-backdrop, .scanline, .cta-grad,
    .hero .actions, .cta-actions, .letter-btn, .btn-ghost { display: none; }

    .reveal { opacity: 1; transform: none; transition: none; }
    .rule { width: 100%; height: 1px; margin: 1.5rem 0; }

    section {
      min-height: auto;
      justify-content: flex-start;
      padding: 2.5rem 0;
    }
    section + section { border-top: 1px solid var(--line); }

    .hero { min-height: auto; background: none; }
    .hero h1 { font-size: 28pt; max-width: none; }
    .hero .sub { font-size: 12pt; color: var(--muted); }
    h2 { font-size: 18pt; }
    h3 { font-size: 13pt; }

    .term-grid, .svc-list, .proj-list, .team-grid {
      grid-template-columns: 1fr;
      background: transparent;
      border: none;
      gap: 0;
    }
    .metric, .svc, .proj, .member {
      border: none;
      border-bottom: 1px solid var(--line);
      border-radius: 0;
      box-shadow: none;
      background: transparent;
      padding: 1.25rem 0;
      break-inside: avoid;
    }
    .member .photo { display: none; }
    .member.open { background: transparent; color: inherit; }
    .member.open .idx { color: var(--accent); }
    .member.open .open-big { color: var(--accent); }
    .member.open h3 { color: inherit; }
    .member.open .role { color: var(--accent); }
    .member.open .bio { color: var(--muted); }
    .member.open .open-mail { display: none; }
    .terminal { border: 1px solid var(--line); background: transparent; box-shadow: none; }
    .terminal-head { background: transparent; }

    .cta { background: none; padding: 2.5rem 0; }
    .cta .statement { font-size: 24pt; color: var(--fg); }
    .cta .statement .grad { color: var(--accent); }
    .cta-lede { color: var(--muted); }
    .cta-mail .email-link { font-size: 12pt; color: var(--fg); }
    .cta-mail .email-link .at { color: var(--accent); }

    .stage-mail { margin-top: 1.25rem; text-align: left; }

    a[href^="mailto:"]::after {
      content: " (" attr(href) ")";
      font-family: "JetBrains Mono", Consolas, monospace;
      font-size: 8pt;
      color: var(--muted);
    }
    a { color: inherit; text-decoration: none; }
  }
