@layer reset, base, components, responsive;
@layer reset {
  *, *::before, *::after { box-sizing: border-box; }
  body, h1, h2, h3, h4, p { margin: 0; }
  button, a { -webkit-tap-highlight-color: transparent; }
  button { font: inherit; }
  svg { display: block; max-width: 100%; }
}
@layer base {
  :root { --bg:#111510; --surface:#191e17; --text:#f0f0e6; --muted:#a3ac9d; --line:#343c30; --accent:#c3ed86; --mono:'Courier New',monospace; --sans:'Segoe UI',Arial,sans-serif; }
  html { scroll-behavior:smooth; scroll-padding-top:100px; }
  body { background:var(--bg); color:var(--text); font-family:var(--sans); line-height:1.6; }
  ::selection { background:var(--accent); color:var(--bg); }
  a { color:inherit; text-decoration:none; }
  button { color:inherit; cursor:pointer; }
  a:focus-visible, button:focus-visible, summary:focus-visible { outline:2px solid var(--accent); outline-offset:6px; }
  h1, h2, h3 { font-weight:500; line-height:1.08; letter-spacing:-.055em; }
  h1 { font-size:clamp(3.1rem,5.3vw,5.8rem); }
  h2 { font-size:clamp(2.7rem,4vw,4.2rem); }
  em { color:var(--accent); font-family:Georgia,'Times New Roman',serif; font-weight:400; letter-spacing:-.055em; }
  .section-wrap { max-width:1440px; padding-inline:6%; margin-inline:auto; }
  .eyebrow { font:11px/1.6 var(--mono); letter-spacing:.12em; }
  .text-link { display:inline-flex; align-items:center; gap:25px; padding:10px 0; border:0; border-bottom:1px solid var(--line); background:none; font-size:14px; }
  .text-link:hover { color:var(--accent); border-color:var(--accent); }
}
@layer components {
  .skip-link { position:fixed; top:-100px; left:20px; padding:12px; background:var(--accent); color:var(--bg); z-index:100; }
  .skip-link:focus { top:10px; }
  .site-header { height:100px; padding:0 6%; max-width:1440px; margin:auto; display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--line); }
  .wordmark { font-size:23px; font-weight:700; letter-spacing:-1.2px; }
  .wordmark span { font-weight:400; color:var(--muted); }
  .wordmark i { color:var(--accent); font-style:normal; }
  nav { display:flex; gap:34px; align-items:center; font-size:13px; }
  nav a:hover, nav a[aria-current] { color:var(--accent); }
  .nav-contact { border:1px solid var(--line); padding:10px 18px; margin-left:10px; }
  .nav-contact span { margin-left:20px; }
  .menu-toggle { display:none; }
  .hero { display:grid; grid-template-columns:1.25fr 1fr; gap:40px; padding-top:92px; }
  .hero .eyebrow { color:var(--muted); margin-bottom:31px; display:flex; gap:10px; align-items:center; }
  .status-dot, .tiny-dot { width:6px; height:6px; border-radius:50%; background:var(--accent); display:inline-block; }
  .hero-intro { max-width:475px; font-size:16px; color:var(--muted); margin-top:30px; line-height:1.8; }
  .hero-actions { display:flex; gap:30px; align-items:center; margin-top:32px; }
  .button { display:inline-flex; gap:34px; align-items:center; padding:14px 22px; font-size:13px; font-weight:600; transition:background .2s,transform .2s; }
  .primary { background:var(--accent); color:var(--bg); }
  .primary:hover { background:#d8ff9f; transform:translateY(-2px); }
  .system-art { align-self:center; justify-self:end; position:relative; width:100%; max-width:440px; aspect-ratio:1; background:radial-gradient(circle, #28362170 0,transparent 65%),linear-gradient(#53644714 1px,transparent 1px),linear-gradient(90deg,#53644714 1px,transparent 1px); background-size:auto,28px 28px,28px 28px; border:1px solid #34402e70; overflow:hidden; }
  .art-label { position:absolute; top:20px; left:20px; font:9px var(--mono); letter-spacing:.15em; color:var(--muted); }
  .orbit { border:1px solid #758a5b55; border-radius:50%; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); }
  .orbit-one { width:52%; height:52%; }.orbit-two { width:76%; height:76%; border-style:dashed; }.orbit-three { width:104%; height:104%; }
  .core { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%) rotate(-10deg); width:38%; height:38%; display:flex; flex-direction:column; align-items:center; justify-content:center; background:#c3ed86; color:#1c2a15; box-shadow:0 0 80px #c3ed8614; }
  .core span { font-size:64px; letter-spacing:-7px; font-weight:300; line-height:1.2; }.core small { font:7px var(--mono); letter-spacing:.08em; }
  .satellite { position:absolute; padding:7px 12px; font:9px var(--mono); background:#1a2315; border:1px solid #4c613b; color:var(--accent); }
  .satellite-one { left:9%; top:30%; }.satellite-two { right:9%; top:23%; }.satellite-three { bottom:19%; right:13%; }
  .art-coordinate { position:absolute; left:20px; bottom:20px; font:9px var(--mono); color:var(--muted); }.art-cross { position:absolute; font:22px var(--mono); color:#8a9f75; }.cross-one { top:17%; left:30%; }.cross-two { bottom:13%; left:16%; }
  .hero-bottom { grid-column:1/-1; border-top:1px solid var(--line); margin-top:40px; padding:23px 0; display:flex; justify-content:space-between; gap:20px; color:var(--muted); font:9px/1.6 var(--mono); letter-spacing:.07em; }
  .hero-bottom a { color:var(--text); }
  .projects, .experience { padding-top:105px; }
  .section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:52px; }
  .section-heading .eyebrow { color:var(--muted); margin-bottom:24px; }
  .section-heading > p, .resume-intro { max-width:330px; color:var(--muted); font-size:14px; line-height:1.8; }
  .project { display:grid; grid-template-columns:1.05fr 1fr; border:1px solid var(--line); margin-bottom:28px; }
  .project-visual { position:relative; min-height:425px; display:flex; flex-direction:column; justify-content:space-between; overflow:hidden; padding:27px; border-right:1px solid var(--line); }
  .visual-top { display:flex; align-items:center; justify-content:space-between; font:9px var(--mono); letter-spacing:.07em; z-index:1; }
  .visual-caption { display:flex; justify-content:space-between; gap:12px; font-size:12px; position:relative; z-index:1; }.visual-caption span:last-child { font:8px/1.6 var(--mono); }
  .illustration-note { position:absolute; bottom:9px; left:27px; font:8px var(--mono); opacity:.55; }
  .medtrace-visual { background:#1c302f; color:#c3e3da; }.medtrace-visual .tiny-dot { background:#8cdeca; }
  .health-graphic { margin:auto 0; width:100%; }.health-axis { display:flex; justify-content:space-between; font:8px var(--mono); letter-spacing:.1em; margin-bottom:20px; color:#83a79e; }.health-graphic svg { margin:12px 0 35px; overflow:visible; }.chart-grid { stroke:#36524c; stroke-width:1; }.chart-secondary { stroke:#5c8f81; stroke-width:2; }.chart-primary { stroke:#a7ead3; stroke-width:2.5; }
  .project-copy { padding:35px 40px; }.project-meta { display:flex; justify-content:space-between; gap:15px; font:8px/1.5 var(--mono); letter-spacing:.07em; color:var(--muted); margin-bottom:25px; }.project-copy h3 { font-size:36px; margin-bottom:19px; letter-spacing:-.045em; overflow-wrap:anywhere; }.project-period { color:var(--accent); }.project-copy > p { font-size:15px; line-height:1.7; }.project-copy .project-detail { color:var(--muted); margin-top:12px; font-size:13px; }
  .tags { display:flex; flex-wrap:wrap; gap:7px; list-style:none; padding:0; margin:22px 0; }.tags li { font:9px/1.5 var(--mono); color:var(--muted); border:1px solid var(--line); padding:5px 8px; }
  details { border-top:1px solid var(--line); }summary { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:15px 0 0; cursor:pointer; list-style:none; font-size:12px; }summary::-webkit-details-marker { display:none; }summary span { color:var(--accent); font-size:20px; transition:transform .2s; }details[open] summary span { transform:rotate(45deg); }.case-study { padding-top:20px; color:var(--muted); font-size:13px; }.case-study h4 { color:var(--text); font-size:12px; margin:14px 0 7px; }.case-note { font-size:11px; margin-top:20px; }.project-external { display:flex; justify-content:space-between; border-top:1px solid var(--line); padding-top:14px; margin-top:14px; font-size:12px; color:var(--accent); }
  .intersect-visual { background:#272333; color:#d0c5e9; }.intersect-visual .tiny-dot { background:#b9a1e0; }.agent-graphic { position:relative; height:280px; background:linear-gradient(0deg,transparent 49.7%,#80708f55 50%,transparent 50.3%),linear-gradient(90deg,transparent 49.7%,#80708f55 50%,transparent 50.3%); }.agent-graphic::before { content:''; position:absolute; inset:30px 65px; border:1px dashed #74658280; border-radius:50%; }.agent-center { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:125px; height:125px; border:1px solid #9e8bb9; border-radius:50%; display:flex; flex-direction:column; justify-content:center; align-items:center; background:#30283e; font:11px/1.7 var(--mono); letter-spacing:.08em; }.agent-center strong { font-size:14px; }.agent-node { position:absolute; font:9px var(--mono); border:1px solid #76608f; background:#312a3d; padding:10px; }.node-one { top:13px; left:50%; transform:translateX(-50%); }.node-two { top:50%; right:0; transform:translateY(-50%); }.node-three { bottom:13px; left:50%; transform:translateX(-50%); }.node-four { top:50%; left:0; transform:translateY(-50%); }
  .zsm-visual { background:#343629; color:#e5e4b8; }.zsm-visual .tiny-dot { background:#d5d59d; }.map-graphic { position:absolute; inset:60px 0 65px; overflow:hidden; background:repeating-linear-gradient(0deg,transparent 0 59px,#4b503b 60px 61px),repeating-linear-gradient(90deg,transparent 0 79px,#4b503b 80px 81px); transform:rotate(-12deg) scale(1.2); }.map-water { position:absolute; left:-50px; bottom:-30px; width:240px; height:230px; background:#293c38; border-radius:20% 80% 40% 10%; transform:rotate(20deg); border:10px solid #394632; }.map-road { position:absolute; background:#77765a; box-shadow:0 0 0 4px #24291e; }.road-one { width:120%; height:9px; top:45%; left:-10%; }.road-two { width:9px; height:130%; top:-15%; left:55%; }.road-three { width:9px; height:130%; top:-15%; left:79%; }.map-block { position:absolute; background:#a2a079; border:3px solid #64684c; box-shadow:6px 6px 0 #242b1e; }.block-one { width:38px; height:55px; top:14%; left:44%; }.block-two { width:65px; height:32px; top:20%; left:61%; }.block-three { width:36px; height:65px; bottom:14%; left:61%; }.block-four { width:48px; height:35px; top:21%; left:84%; }.block-five { width:65px; height:50px; bottom:22%; left:25%; }.map-pin { position:absolute; top:51%; left:76%; background:#d6e7a4; color:#303c25; font:bold 15px var(--mono); padding:6px 12px; transform:rotate(12deg); box-shadow:0 0 30px #c3ed8633; }.map-label { position:absolute; top:10%; left:8%; font:8px/1.7 var(--mono); letter-spacing:.05em; transform:rotate(12deg); }.zsm-visual>.visual-caption { margin-top:auto; }
  .resume-intro .text-link { color:var(--text); margin-top:15px; }.resume-contact { display:none; }.timeline { border-top:1px solid var(--line); }.job { display:grid; grid-template-columns:28% 1fr; gap:30px; padding:35px 0; border-bottom:1px solid var(--line); }.job-date { font:10px/1.8 var(--mono); color:var(--muted); padding-top:6px; }.job-date span { display:block; font-size:8px; margin-top:8px; color:#76816e; }.job h3 { font-size:25px; letter-spacing:-.03em; }.job-title { color:var(--accent); font-size:13px; margin:8px 0 13px; }.job ul { margin:0; padding-left:17px; font-size:13px; line-height:1.8; color:var(--muted); }.job li+li { margin-top:4px; }.skills { margin-top:55px; display:grid; grid-template-columns:28% 1fr; gap:0 30px; }.skills>.eyebrow { grid-row:1/4; color:var(--muted); padding-top:3px; }.skill-group { margin-bottom:25px; }.skill-group h3 { font-size:14px; letter-spacing:0; margin-bottom:10px; }.skill-group p { font-size:13px; color:var(--muted); line-height:1.9; }
  .about { padding-top:100px; padding-bottom:100px; }.about>.eyebrow { color:var(--muted); margin-bottom:30px; }.about-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:70px; }.about h2 { font-size:clamp(2.4rem,3.2vw,3.6rem); }.about-grid p { color:var(--muted); font-size:14px; line-height:1.9; margin-bottom:20px; }
  .contact { padding-top:72px; padding-bottom:72px; background:var(--accent); color:var(--bg); }.contact .eyebrow { margin-bottom:25px; }.contact h2 { font-size:clamp(3rem,5.3vw,5.6rem); }.contact em { color:#385425; }.contact-email { margin-top:35px; display:inline-flex; align-items:center; gap:45px; font-size:clamp(1rem,2.2vw,1.9rem); border-bottom:1px solid #859f65; padding-bottom:12px; overflow-wrap:anywhere; }.contact-links { display:flex; flex-wrap:wrap; align-items:center; gap:25px; margin-top:28px; font-size:12px; }.contact-links button { border:0; padding:0; background:none; }.contact-links a:hover,.contact-links button:hover { text-decoration:underline; }.contact-links #copy-status { font:11px var(--mono); }
  footer { padding-top:25px; padding-bottom:25px; display:flex; justify-content:space-between; gap:20px; color:var(--muted); font:9px/1.6 var(--mono); }footer>span:nth-child(2) { letter-spacing:.1em; }
}
@layer responsive {
  @media(min-width:1600px) { .hero { padding-top:110px; }.system-art { max-width:470px; } }
  @media(max-width:1000px) { .hero { gap:24px; padding-top:65px; }.system-art { max-width:360px; }.hero h1 { font-size:clamp(3rem,5.6vw,4rem); }.project-copy { padding:28px; }.project-meta { flex-direction:column; gap:5px; }.project-visual { min-height:430px; padding:23px; }.project-copy h3 { font-size:30px; }.visual-caption { flex-direction:column; gap:5px; }.hero-bottom span:nth-child(2) { display:none; }.about-grid { gap:40px; }.core span { font-size:50px; }.core small { font-size:6px; } }
  @media(max-width:720px) { .section-wrap { padding-inline:6%; }.site-header { height:78px; position:relative; }.wordmark { font-size:21px; }.menu-toggle { display:block; background:none; border:1px solid var(--line); padding:7px 12px; font-size:12px; }.menu-toggle span { margin-left:16px; color:var(--accent); }nav { display:none; position:absolute; top:77px; left:0; right:0; z-index:10; background:var(--surface); padding:25px 6%; border-bottom:1px solid var(--line); align-items:stretch; }nav.is-open { display:flex; flex-direction:column; gap:20px; }.nav-contact { margin:0; display:flex; justify-content:space-between; }.hero { grid-template-columns:1fr; padding-top:50px; gap:35px; }.hero .eyebrow { font-size:9px; margin-bottom:23px; }.hero h1 { font-size:clamp(2.8rem,8.4vw,4.4rem); }.hero-intro { font-size:14px; max-width:440px; margin-top:25px; }.hero-actions { gap:24px; }.button { padding:13px 18px; gap:23px; }.system-art { justify-self:center; max-width:420px; }.core span { font-size:64px; }.core small { font-size:7px; }.hero-bottom { margin-top:0; font-size:8px; }.hero-bottom a { text-align:right; }.projects,.experience { padding-top:70px; }.section-heading { display:block; margin-bottom:35px; }.section-heading>.eyebrow { margin-bottom:20px; }.section-heading>p,.resume-intro { margin-top:25px; max-width:400px; }.project { grid-template-columns:1fr; }.project-visual { min-height:330px; border-right:0; border-bottom:1px solid var(--line); }.project-copy { padding:27px; }.project-meta { flex-direction:row; }.project-copy h3 { font-size:34px; }.visual-caption { flex-direction:row; }.agent-graphic { height:220px; max-width:420px; width:100%; align-self:center; }.agent-center { width:110px; height:110px; }.job { grid-template-columns:1fr; gap:15px; padding:28px 0; }.job-date { display:flex; justify-content:space-between; }.job-date span { margin:0; }.skills { grid-template-columns:1fr; margin-top:40px; gap:25px; }.skills>.eyebrow { grid-row:auto; }.skill-group { margin:0; }.about { padding-top:75px; padding-bottom:65px; }.about-grid { grid-template-columns:1fr; gap:30px; }.about h2 { font-size:2.7rem; }.contact { padding-top:50px; padding-bottom:50px; }.contact-email { gap:15px; font-size:clamp(.9rem,4.2vw,1.6rem); }footer { flex-wrap:wrap; font-size:8px; }footer>span:nth-child(2) { display:none; } }
  @media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; }*,*::before,*::after { transition:none !important; } }
  @media print {
    :root { --bg:#fff; --text:#111; --muted:#333; --line:#bbb; --accent:#111; }
    @page { margin:15mm; }
    body { font-size:10pt; background:white; }
    .site-header,.hero,.projects,.about,.contact,footer,.skip-link,.resume-intro,.experience .section-heading { display:none !important; }
    .section-wrap { max-width:none; padding:0; }.experience { padding:0; }.resume-contact { display:flex; flex-direction:column; gap:4px; margin-bottom:20px; font-size:9pt; }.resume-contact strong { font-size:18pt; }
    .job { padding:14px 0; grid-template-columns:24% 1fr; gap:20px; break-inside:avoid; }.job h3 { font-size:14pt; }.job-title { font-size:10pt; margin:5px 0; }.job ul { font-size:9pt; line-height:1.5; }.job-date { font-size:8pt; display:block; }.job-date span { font-size:7pt; color:#555; }.skills { margin-top:20px; gap:10px 20px; grid-template-columns:24% 1fr; break-inside:avoid; }.skills>.eyebrow { grid-row:1/4; }.skill-group { margin:0 0 9px; }.skill-group h3 { font-size:10pt; }.skill-group p { font-size:9pt; line-height:1.5; }
  }
}
