:root { color-scheme: light; --paper: #f5f5ef; --ink: #202c28; --muted: #56635b; --green: #35634b; --line: #d6dbd2; }
* { box-sizing: border-box; }
html { scroll-padding-top: 2rem; }
body { margin: 0; background: var(--paper); color: var(--ink); font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; font-size: 1rem; line-height: 1.6; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-underline-offset: .25em; }
a:hover { color: var(--green); }
a:focus-visible { outline: 3px solid var(--green); outline-offset: 6px; border-radius: 2px; }
::selection { background: #d6e4cc; color: var(--ink); }
.page { width: min(100% - 6rem, 1080px); margin-inline: auto; }
.header { display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; padding-block: 2rem; border-bottom: 1px solid var(--line); }
.brand { display: inline-flex; align-items: center; gap: .65rem; font-size: 1.65rem; font-weight: 750; letter-spacing: -.06em; text-decoration: none; }
.brand-mark { color: var(--green); font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 1.3rem; font-weight: 500; letter-spacing: -.1em; margin-right: .2rem; }
.contact-nav { font-size: .9rem; font-weight: 550; text-decoration: none; padding-block: .6rem; }
.contact-nav span { margin-left: .5rem; }
.hero { padding-block: 4.25rem 4.5rem; }
.eyebrow { display: flex; align-items: center; gap: .65rem; margin: 0 0 1.6rem; font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .8rem; color: var(--muted); }
.dot { flex: 0 0 .45rem; height: .45rem; border-radius: 50%; background: var(--green); }
h1 { font-size: clamp(2.7rem, 5.3vw, 4.4rem); line-height: 1.08; font-weight: 650; letter-spacing: -.055em; margin: 0; }
h1 span { color: var(--green); }
.intro { max-width: 35rem; margin: 1.75rem 0 0; color: var(--muted); font-size: 1.125rem; line-height: 1.7; }
.section { border-top: 1px solid var(--line); padding-block: 2rem 2.5rem; }
h2 { font-size: .95rem; font-weight: 650; margin: 0 0 1.6rem; }
.capability-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 2rem; padding: 0; margin: 0; list-style: none; }
.index { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .8rem; color: var(--green); }
h3 { font-size: 1rem; font-weight: 650; line-height: 1.4; margin: .7rem 0 .5rem; letter-spacing: -.015em; }
.capability-grid p { color: var(--muted); margin: 0; }
.about { display: grid; grid-template-columns: 1fr 2fr; gap: 2rem; }
.about h2 { margin: 0; }
.about p { max-width: 39rem; margin: 0; color: var(--muted); }
.contact { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding-block: 2.2rem; }
.contact h2 { margin-bottom: .3rem; }
.contact p { margin: 0; color: var(--muted); }
.email { font-size: clamp(1.15rem, 2.5vw, 1.6rem); font-weight: 550; letter-spacing: -.025em; text-decoration-thickness: 1px; }
.email span { display: inline-block; margin-left: .5rem; }
footer { border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 2rem; padding-block: 1.5rem 2rem; color: var(--muted); font-size: .8rem; }
footer p { margin: 0; }
.skip-link { position: absolute; top: .75rem; left: 1rem; padding: .5rem 1rem; background: var(--ink); color: white; transform: translateY(-200%); z-index: 1; }
.skip-link:focus { transform: translateY(0); color: white; }
@media (max-width: 800px) { .capability-grid { grid-template-columns: repeat(2, 1fr); gap: 1.75rem 2rem; } }
@media (max-width: 540px) {
  .page { width: calc(100% - 2.5rem); }
  .header { padding-block: 1.25rem; gap: .75rem; }
  .brand { font-size: 1.45rem; }
  .contact-nav { font-size: .85rem; }
  .hero { padding-block: 2.75rem 3rem; }
  .eyebrow { font-size: .75rem; line-height: 1.5; }
  .desktop-break { display: none; }
  .intro { font-size: 1.05rem; }
  .section { padding-block: 1.6rem 2rem; }
  .about { grid-template-columns: 1fr; gap: .75rem; }
  .contact { align-items: flex-start; flex-direction: column; gap: 1rem; }
  footer { flex-direction: column; }
}
@media (max-width: 360px) { .capability-grid { grid-template-columns: 1fr; } }
