:root {
  --ink: #eaf2f8;
  --paper: #07111f;
  --paper-2: #0a1728;
  --paper-3: #0e2035;
  --muted: #91a4b6;
  --faint: rgba(177, 202, 222, 0.14);
  --line: rgba(177, 202, 222, 0.19);
  --lime: #d8ff52;
  --blue: #56a8ff;
  --font-sans: "Manrope", sans-serif;
  --font-mono: "DM Mono", monospace;
  color-scheme: dark;
}

:root[data-theme="light"] {
  --ink: #112338;
  --paper: #f6f7f3;
  --paper-2: #eff2ed;
  --paper-3: #e3ebe5;
  --muted: #5e7182;
  --faint: rgba(17, 35, 56, 0.09);
  --line: rgba(17, 35, 56, 0.16);
  --lime: #8cae00;
  --blue: #056bcb;
  color-scheme: light;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 5rem; }
body { margin: 0; min-width: 320px; overflow-x: hidden; background: var(--paper); color: var(--ink); font-family: var(--font-sans); font-size: 16px; line-height: 1.55; transition: background-color .25s ease, color .25s ease; }
a { color: inherit; }
button { font: inherit; }
::selection { background: var(--lime); color: #07111f; }
.site-width { width: min(1180px, calc(100% - 64px)); margin-inline: auto; }
.section-pad { padding: 9rem 0; }
.skip-link { position: fixed; top: 1rem; left: 1rem; z-index: 10000; transform: translateY(-200%); border-radius: .25rem; padding: .65rem .9rem; background: var(--lime); color: #07111f; font-weight: 800; text-decoration: none; transition: transform .15s ease; }
.skip-link:focus { transform: translateY(0); }

.site-header { position: fixed; z-index: 100; top: 0; width: 100%; border-bottom: 1px solid transparent; transition: background .25s ease, border-color .25s ease; }
.site-header.is-scrolled { background: color-mix(in srgb, var(--paper) 86%, transparent); border-color: var(--line); backdrop-filter: blur(16px); }
.nav-shell { display: flex; width: min(1280px, calc(100% - 64px)); height: 5.25rem; margin-inline: auto; align-items: center; justify-content: space-between; }
.monogram { color: var(--ink); font-family: var(--font-mono); font-size: 1.08rem; font-weight: 500; letter-spacing: -.08em; text-decoration: none; }
.monogram span { color: var(--lime); }
.site-nav { display: flex; gap: clamp(1.2rem, 3vw, 2.8rem); align-items: center; margin-left: 6rem; }
.site-nav a { color: var(--muted); font-family: var(--font-mono); font-size: .68rem; letter-spacing: .03em; text-decoration: none; transition: color .2s ease; }
.site-nav a:hover, .site-nav a.is-active { color: var(--ink); }
.nav-actions { display: flex; align-items: center; gap: .7rem; }
.theme-toggle, .menu-toggle { display: inline-flex; align-items: center; justify-content: center; border: 1px solid var(--line); background: transparent; color: var(--ink); cursor: pointer; transition: border-color .2s ease, background .2s ease; }
.theme-toggle:hover, .menu-toggle:hover { border-color: var(--blue); background: var(--faint); }
.theme-toggle { width: 2.25rem; height: 2.25rem; border-radius: 50%; font-size: 1rem; }
.menu-toggle { display: none; min-height: 2.4rem; gap: .65rem; padding: 0 .65rem; border-radius: .25rem; font-family: var(--font-mono); font-size: .67rem; letter-spacing: .04em; }
.menu-lines { display: grid; gap: 4px; width: 14px; }
.menu-lines i { display: block; width: 14px; height: 1px; background: currentColor; transition: transform .2s ease; }

.hero { position: relative; display: grid; min-height: max(730px, 100svh); overflow: hidden; isolation: isolate; align-items: center; padding: 7rem 0 5rem; }
.hero-grid-grid, .contact-grid { position: absolute; inset: 0; z-index: -2; opacity: .64; background-image: linear-gradient(var(--faint) 1px, transparent 1px), linear-gradient(90deg, var(--faint) 1px, transparent 1px); background-size: 75px 75px; mask-image: linear-gradient(to bottom, rgba(0,0,0,.88), transparent); }
.hero::after { position: absolute; z-index: -1; right: -11rem; bottom: -11rem; width: min(58vw, 760px); aspect-ratio: 1; border: 1px solid color-mix(in srgb, var(--blue) 25%, transparent); border-radius: 50%; box-shadow: inset 0 0 120px color-mix(in srgb, var(--blue) 10%, transparent); content: ""; }
.hero-orbit { position: absolute; z-index: -1; width: 18rem; height: 18rem; border: 1px solid color-mix(in srgb, var(--lime) 40%, transparent); border-radius: 50%; }
.orbit-one { right: 16%; top: 13%; }
.orbit-two { right: 10%; top: 18%; width: 29rem; height: 29rem; border-color: color-mix(in srgb, var(--blue) 25%, transparent); }
.hero-layout { display: grid; grid-template-columns: 1.05fr .95fr; gap: 4rem; align-items: center; }
.eyebrow { display: flex; align-items: center; gap: .65rem; margin: 0 0 1.4rem; color: var(--muted); font-family: var(--font-mono); font-size: .69rem; letter-spacing: .07em; text-transform: uppercase; }
.eyebrow span { display: inline-block; width: .46rem; height: .46rem; border-radius: 50%; background: var(--lime); box-shadow: 0 0 12px var(--lime); }
h1, h2, h3, p { margin-top: 0; }
h1, h2 { letter-spacing: -.07em; line-height: .98; }
h1 { max-width: 800px; margin-bottom: 1.75rem; font-size: clamp(3.8rem, 7.1vw, 7.1rem); font-weight: 700; }
h1 em, h2 em { color: var(--blue); font-style: normal; font-weight: 400; }
.hero-intro { max-width: 620px; margin-bottom: 2.3rem; color: var(--muted); font-size: clamp(1.02rem, 1.45vw, 1.21rem); line-height: 1.7; }
.hero-actions { display: flex; gap: .7rem; flex-wrap: wrap; }
.button { display: inline-flex; gap: 1.4rem; align-items: center; min-height: 3.3rem; padding: 0 1.1rem; border-radius: .3rem; font-family: var(--font-mono); font-size: .71rem; font-weight: 500; letter-spacing: .02em; text-decoration: none; transition: transform .2s ease, background .2s ease, color .2s ease; }
.button:hover { transform: translateY(-3px); }
.button-primary { background: var(--lime); color: #07111f; }
.button-primary:hover { background: #e4ff82; }
.button-quiet { border: 1px solid var(--line); color: var(--ink); }
.button-quiet:hover { border-color: var(--blue); background: var(--faint); }
.hero-facts { display: flex; gap: clamp(1.2rem, 3vw, 3.5rem); margin: 4rem 0 0; }
.hero-facts div { display: flex; align-items: center; gap: .5rem; }
.hero-facts dt { color: var(--lime); font-family: var(--font-mono); font-size: 1.4rem; letter-spacing: -.07em; }
.hero-facts dd { margin: 0; color: var(--muted); font-family: var(--font-mono); font-size: .59rem; letter-spacing: .01em; line-height: 1.35; text-transform: uppercase; }

.hero-portrait-wrap { position: relative; justify-self: end; width: min(100%, 430px); padding: 2.5rem 1.7rem 4rem 0; }
.portrait-frame { position: relative; z-index: 1; overflow: hidden; border-radius: 1px; background: var(--paper-3); box-shadow: 28px 28px 0 color-mix(in srgb, var(--blue) 14%, transparent); }
.portrait-frame::after { position: absolute; inset: 0; background: linear-gradient(135deg, color-mix(in srgb, var(--blue) 24%, transparent), transparent 46%, color-mix(in srgb, var(--lime) 15%, transparent)); content: ""; mix-blend-mode: screen; pointer-events: none; }
.portrait { display: block; width: 100%; aspect-ratio: .88; object-fit: cover; object-position: 50% 35%; filter: contrast(1.04) saturate(.82); }
.portrait-dots { position: absolute; z-index: 2; right: -.75rem; top: 1rem; width: 9rem; height: 9rem; opacity: .6; background-image: radial-gradient(var(--lime) 1px, transparent 1.4px); background-size: 10px 10px; }
.status-card { position: absolute; z-index: 3; display: grid; gap: .17rem; padding: .75rem .9rem; border: 1px solid color-mix(in srgb, var(--ink) 20%, transparent); border-radius: .2rem; background: color-mix(in srgb, var(--paper) 86%, transparent); box-shadow: 0 12px 35px rgba(0, 0, 0, .19); backdrop-filter: blur(10px); }
.status-card small, .status-card span { color: var(--muted); font-family: var(--font-mono); font-size: .55rem; letter-spacing: .03em; }
.status-card strong { font-size: .67rem; font-weight: 700; letter-spacing: -.02em; }
.status-card-top { grid-template-columns: .48rem auto; align-items: center; right: -2.2rem; top: 18%; }
.status-card-top div { display: grid; gap: .1rem; }
.status-dot { width: .46rem; height: .46rem; border-radius: 50%; background: var(--lime); box-shadow: 0 0 10px var(--lime); }
.status-card-bottom { left: -3rem; bottom: 0; }
.portrait-caption { position: absolute; z-index: 3; right: -4rem; bottom: 0; margin: 0; color: var(--muted); font-family: var(--font-mono); font-size: .55rem; letter-spacing: .03em; line-height: 1.5; }
.portrait-caption span { color: var(--ink); }
.scroll-cue { position: absolute; bottom: 1.7rem; left: max(32px, calc((100% - 1180px) / 2)); display: flex; gap: .65rem; align-items: center; color: var(--muted); font-family: var(--font-mono); font-size: .58rem; letter-spacing: .04em; text-decoration: none; text-transform: uppercase; }
.scroll-cue i { display: block; width: 3.1rem; height: 1px; background: var(--line); }

.statement { background: var(--paper-2); }
.statement-grid { display: grid; grid-template-columns: 1fr 2.05fr; gap: 4rem; }.about-rail { position: sticky; top: 7rem; align-self: start; }.about-current { display: grid; gap: .23rem; max-width: 176px; margin-top: clamp(11rem, 16vw, 16rem); padding: 1rem 0 1.05rem; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }.about-current p { display: flex; gap: .5rem; align-items: center; margin: 0 0 .55rem; color: var(--muted); font-family: var(--font-mono); font-size: .58rem; letter-spacing: .05em; text-transform: uppercase; }.about-current p span { width: .4rem; height: .4rem; border-radius: 50%; background: var(--lime); box-shadow: 0 0 10px var(--lime); }.about-current strong { margin-bottom: .24rem; font-size: 1.13rem; letter-spacing: -.045em; }.about-current > span, .about-current small { color: var(--muted); font-family: var(--font-mono); font-size: .62rem; line-height: 1.45; }.about-current small { margin-top: .74rem; color: var(--ink); }
.section-index { margin: .2rem 0 0; color: var(--muted); font-family: var(--font-mono); font-size: .63rem; letter-spacing: .05em; text-transform: uppercase; }
.statement-copy { max-width: 820px; }
h2 { margin-bottom: 2rem; font-size: clamp(2.8rem, 5vw, 5.3rem); font-weight: 700; }
.large-copy { max-width: 790px; margin-bottom: 1.25rem; font-size: clamp(1.22rem, 2vw, 1.7rem); letter-spacing: -.04em; line-height: 1.4; }
.statement-copy > p:not(.eyebrow):not(.large-copy) { max-width: 720px; color: var(--muted); }
.principles { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin-top: 3rem; background: var(--line); border: 1px solid var(--line); }
.principles div { min-height: 132px; padding: 1.1rem; background: var(--paper-2); }
.principles span { color: var(--lime); font-family: var(--font-mono); font-size: .66rem; }
.principles p { max-width: 155px; margin: 1.4rem 0 0; font-size: .81rem; letter-spacing: -.02em; line-height: 1.38; }

.work { position: relative; overflow: hidden; }
.work::before { position: absolute; top: 15%; right: -20rem; z-index: -1; width: 50rem; height: 50rem; border: 1px solid color-mix(in srgb, var(--blue) 15%, transparent); border-radius: 50%; content: ""; }
.section-heading { display: flex; justify-content: space-between; gap: 4rem; align-items: end; margin-bottom: 4.2rem; }
.section-heading h2 { max-width: 670px; margin: .8rem 0 0; }
.section-heading > p { max-width: 330px; margin: 0 0 .5rem; color: var(--muted); font-size: .91rem; }
.project-list { border-top: 1px solid var(--line); }
.project-card { position: relative; display: grid; grid-template-columns: 210px minmax(0, 1fr) 130px; gap: 2.4rem; min-height: 242px; align-items: center; padding: 1.75rem 0; border-bottom: 1px solid var(--line); transition: padding .25s ease; }
.project-card:hover { padding-left: 1rem; padding-right: 1rem; background: color-mix(in srgb, var(--paper-2) 40%, transparent); }
.project-art { position: relative; display: grid; overflow: hidden; width: 210px; height: 174px; align-items: center; justify-items: center; background: var(--paper-3); color: var(--blue); font-family: var(--font-mono); }
.project-art > span { position: absolute; top: .75rem; left: .8rem; color: var(--muted); font-size: .6rem; }
.project-art > b { position: relative; z-index: 2; color: var(--ink); font-size: 2.2rem; font-weight: 400; letter-spacing: -.15em; }
.project-art::before { position: absolute; inset: 0; opacity: .75; background-image: linear-gradient(color-mix(in srgb, var(--blue) 18%, transparent) 1px, transparent 1px), linear-gradient(90deg, color-mix(in srgb, var(--blue) 18%, transparent) 1px, transparent 1px); background-size: 26px 26px; content: ""; }
.project-art-pontifi b { color: var(--lime); }
.project-art-pontifi .line { position: absolute; z-index: 1; height: 1px; transform-origin: left center; background: var(--lime); box-shadow: 0 0 8px var(--lime); }
.line-a { width: 85%; left: 11%; top: 37%; transform: rotate(28deg); }.line-b { width: 75%; left: 21%; top: 64%; transform: rotate(-35deg); }.line-c { width: 55%; left: 35%; top: 37%; transform: rotate(101deg); }
.terminal-lines { position: absolute; z-index: 1; top: 35%; left: 16%; display: grid; width: 68%; gap: .8rem; }
.terminal-lines i { display: block; height: 2px; background: var(--blue); box-shadow: 0 0 8px color-mix(in srgb, var(--blue) 58%, transparent); }
.terminal-lines i:nth-child(2), .terminal-lines i:nth-child(4) { width: 68%; }.terminal-lines i:nth-child(3) { width: 39%; }
.project-art-kidney b { font-size: 4rem; color: var(--lime); transform: translateY(-.2rem); }
.data-columns { position: absolute; bottom: 0; left: 0; display: flex; width: 100%; height: 74%; align-items: end; gap: .55rem; padding: 0 1.1rem; }
.data-columns i { display: block; flex: 1; background: var(--blue); box-shadow: 0 0 12px color-mix(in srgb, var(--blue) 44%, transparent); }.data-columns i:nth-child(1) { height: 28%; }.data-columns i:nth-child(2) { height: 78%; }.data-columns i:nth-child(3) { height: 49%; }.data-columns i:nth-child(4) { height: 92%; }.data-columns i:nth-child(5) { height: 61%; }.data-columns i:nth-child(6) { height: 36%; }
.project-art-spark b { color: var(--ink); }
.edu-grid { position: absolute; display: grid; width: 55%; height: 55%; grid-template-columns: 1fr 1fr; gap: .6rem; transform: rotate(45deg); }.edu-grid i { border: 1px solid var(--lime); background: color-mix(in srgb, var(--lime) 13%, transparent); }.project-art-edu b { color: var(--lime); }
.project-main { align-self: center; }
.project-meta { display: flex; gap: .7rem; color: var(--muted); font-family: var(--font-mono); font-size: .57rem; letter-spacing: .035em; text-transform: uppercase; }.project-meta span + span::before { margin-right: .7rem; color: var(--lime); content: "·"; }
.project-main h3 { margin: .55rem 0 .65rem; font-size: 1.72rem; letter-spacing: -.065em; }.project-main > p { max-width: 600px; margin-bottom: 1.05rem; color: var(--muted); font-size: .89rem; }
.tag-list { display: flex; flex-wrap: wrap; gap: .35rem; margin: 0; padding: 0; list-style: none; }.tag-list li { padding: .21rem .45rem; border: 1px solid var(--line); border-radius: 50px; color: var(--muted); font-family: var(--font-mono); font-size: .56rem; }
.project-link { justify-self: end; color: var(--ink); font-family: var(--font-mono); font-size: .62rem; letter-spacing: .02em; text-align: right; text-decoration: none; transition: color .2s ease; }.project-link:hover { color: var(--lime); }.project-link span { padding-left: .25rem; }.project-link-muted { color: var(--muted); cursor: default; }

.experience { background: var(--paper-2); }.experience-layout { display: grid; grid-template-columns: .82fr 1.45fr; gap: 7rem; }.experience-intro { max-width: 370px; }.experience-intro h2 { margin: .85rem 0 1.25rem; }.experience-intro > p:last-child { color: var(--muted); font-size: .91rem; }
.timeline { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }.timeline li { display: grid; grid-template-columns: 115px 1fr minmax(180px, .75fr); gap: 1.65rem; padding: 2rem 0; border-bottom: 1px solid var(--line); }.timeline-date { color: var(--lime); font-family: var(--font-mono); font-size: .62rem; line-height: 1.45; }.timeline-company { display: flex; gap: .8rem; align-items: center; }.company-logo { display: grid; width: 2.8rem; height: 2.8rem; flex: 0 0 2.8rem; place-items: center; overflow: hidden; border: 1px solid var(--line); border-radius: .25rem; background: #fff; padding: .42rem; }.company-logo img { display: block; width: 100%; height: 100%; object-fit: contain; }.company-logo-amazon { padding: .53rem .34rem; }.company-logo-microchip { padding: .24rem; }.company-logo-uoft { padding: .36rem; }.timeline-role h3 { margin-bottom: .28rem; font-size: 1.08rem; letter-spacing: -.045em; }.timeline-role p, .timeline-copy { margin-bottom: 0; color: var(--muted); font-size: .76rem; }.timeline-role p { color: var(--ink); font-family: var(--font-mono); }.timeline-role p span { color: var(--muted); }.timeline-copy { line-height: 1.65; }

.capabilities-layout { display: grid; grid-template-columns: .9fr 1.1fr; gap: 6rem; }.capabilities-layout h2 { max-width: 500px; margin: .85rem 0 0; }.capability-groups { border-top: 1px solid var(--line); }.capability-group { display: grid; grid-template-columns: 135px 1fr; gap: 1.5rem; padding: 1.35rem 0; border-bottom: 1px solid var(--line); }.capability-group p { margin: .3rem 0 0; color: var(--muted); font-family: var(--font-mono); font-size: .62rem; letter-spacing: .04em; text-transform: uppercase; }.capability-group ul { display: flex; flex-wrap: wrap; gap: .5rem .95rem; margin: 0; padding: 0; list-style: none; }.capability-group li { font-size: .89rem; letter-spacing: -.025em; }.capability-group li::before { margin-right: .45rem; color: var(--lime); content: "+"; }

.contact { position: relative; overflow: hidden; padding: 9rem 0 8rem; background: var(--paper-3); }.contact-grid { opacity: .65; mask-image: linear-gradient(90deg, transparent, black 35%, black); }.contact-layout { display: grid; grid-template-columns: .6fr 1.55fr .6fr; gap: 3rem; align-items: start; }.contact-main h2 { max-width: 770px; margin-bottom: 1.35rem; }.contact-main > p:not(.eyebrow) { max-width: 460px; margin-bottom: 2.2rem; color: var(--muted); }.email-link { display: inline-flex; gap: 1rem; padding-bottom: .35rem; border-bottom: 1px solid var(--lime); color: var(--ink); font-family: var(--font-mono); font-size: clamp(.89rem, 1.6vw, 1.1rem); text-decoration: none; transition: color .2s ease; }.email-link:hover { color: var(--lime); }.contact-side { display: grid; gap: .75rem; align-content: start; }.contact-side p, .contact-side a, .contact-location { margin: 0; font-family: var(--font-mono); font-size: .62rem; letter-spacing: .025em; }.contact-side p, .contact-location { color: var(--muted); }.contact-side a { display: flex; justify-content: space-between; padding-bottom: .5rem; border-bottom: 1px solid var(--line); text-decoration: none; transition: color .2s ease; }.contact-side a:hover { color: var(--lime); }.contact-location { margin-top: 1.6rem; line-height: 1.7; }
.site-footer { border-top: 1px solid var(--line); background: var(--paper-3); }.site-footer > div { display: flex; min-height: 4.8rem; justify-content: space-between; align-items: center; gap: 1rem; }.site-footer p, .site-footer a { margin: 0; color: var(--muted); font-family: var(--font-mono); font-size: .57rem; letter-spacing: .04em; text-decoration: none; }.site-footer a { color: var(--ink); }.site-footer a:hover { color: var(--lime); }

.js [data-reveal] { opacity: 0; transform: translateY(22px); transition: opacity .65s ease, transform .65s cubic-bezier(.2,.7,.2,1); }.js .is-visible { opacity: 1; transform: translateY(0); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition-duration: .01ms !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; } }
@media (max-width: 900px) { .site-width, .nav-shell { width: min(100% - 40px, 1180px); }.site-nav { margin-left: 0; }.hero-layout { grid-template-columns: 1fr .75fr; gap: 2.2rem; }.hero-portrait-wrap { width: 350px; }.status-card-top { right: -1rem; }.status-card-bottom { left: -1rem; }.portrait-caption { display: none; }.project-card { grid-template-columns: 170px minmax(0, 1fr); gap: 1.5rem; }.project-art { width: 170px; height: 155px; }.project-link { grid-column: 2; justify-self: start; align-self: start; margin-top: -2.2rem; }.experience-layout, .capabilities-layout { gap: 3.5rem; }.experience-layout { grid-template-columns: .7fr 1.3fr; }.timeline li { grid-template-columns: 95px 1fr; }.timeline-copy { grid-column: 2; }.contact-layout { grid-template-columns: .5fr 1.45fr .7fr; gap: 2rem; } }
@media (max-width: 680px) { .site-width, .nav-shell { width: min(100% - 32px, 1180px); }.nav-shell { height: 4.45rem; }.menu-toggle { display: inline-flex; }.site-nav { position: fixed; top: 4.45rem; left: 0; display: grid; width: 100%; max-height: 0; gap: 0; overflow: hidden; border-bottom: 1px solid transparent; background: var(--paper); transition: max-height .25s ease, border-color .25s ease; }.site-nav a { padding: 1rem 1rem; border-top: 1px solid var(--line); font-size: .75rem; }.site-nav.is-open { max-height: 18rem; border-bottom-color: var(--line); }.site-header.menu-open { background: var(--paper); border-bottom-color: var(--line); }.site-header.menu-open .menu-lines i:first-child { transform: translateY(2.5px) rotate(45deg); }.site-header.menu-open .menu-lines i:last-child { transform: translateY(-2.5px) rotate(-45deg); }.hero { min-height: auto; padding: 8rem 0 7rem; }.hero-layout { display: flex; flex-direction: column; align-items: stretch; gap: 3rem; }.hero-copy { order: 1; }.hero-portrait-wrap { align-self: center; order: 2; width: min(82vw, 370px); padding-right: 1.5rem; }.hero-facts { margin-top: 3.2rem; }.scroll-cue { display: none; }.section-pad { padding: 6rem 0; }.statement-grid, .experience-layout, .capabilities-layout { grid-template-columns: 1fr; gap: 2.5rem; }.section-index { margin: 0; }.principles { grid-template-columns: 1fr; }.principles div { min-height: unset; padding: 1rem; }.principles p { max-width: 270px; margin-top: .65rem; }.section-heading { display: block; margin-bottom: 2.7rem; }.section-heading > p { margin-top: 1.1rem; }.project-card { display: grid; grid-template-columns: 1fr; gap: 1.1rem; padding: 1.5rem 0 2rem; }.project-card:hover { padding-left: 0; padding-right: 0; background: transparent; }.project-art { width: 100%; height: 160px; }.project-link { grid-column: auto; justify-self: start; margin-top: 0; }.experience-intro { max-width: 450px; }.timeline li { grid-template-columns: 80px 1fr; gap: .8rem 1.2rem; }.timeline-role h3 { font-size: 1rem; }.timeline-copy { grid-column: 2; }.capability-group { grid-template-columns: 1fr; gap: .8rem; }.contact { padding: 6rem 0; }.contact-layout { grid-template-columns: 1fr; gap: 2.7rem; }.contact-main h2 { font-size: clamp(2.8rem, 14vw, 4.5rem); }.contact-side { max-width: 300px; }.site-footer > div { min-height: 5.3rem; flex-wrap: wrap; padding: 1rem 0; }.site-footer p:last-child { display: none; } }
@media (max-width: 680px) { .about-rail { position: static; }.about-current { margin-top: 1.4rem; } }
@media (max-width: 390px) { h1 { font-size: 3.25rem; }.hero-facts { gap: .8rem; }.hero-facts dt { font-size: 1.15rem; }.hero-facts dd { font-size: .51rem; }.status-card-bottom { left: -.5rem; }.status-card-top { right: -.5rem; }.theme-toggle { width: 2rem; height: 2rem; }.menu-toggle { padding: 0 .48rem; }.menu-toggle-label { display: none; } }
