.hero { min-height: min(900px, calc(100svh - 40px)); padding-top: var(--header-height); display: flex; align-items: center; overflow: hidden; }
.hero__inner { position: relative; display: grid; grid-template-columns: minmax(0, 1.06fr) minmax(380px, .94fr); align-items: center; gap: clamp(3rem, 7vw, 7rem); padding-block: clamp(4rem, 6vw, 6rem) clamp(3rem, 5vw, 5rem); }
.hero__content { position: relative; z-index: 2; }
.hero__eyebrow { margin-bottom: 1.4rem; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent), transparent 84%); }
.hero h1 { color: var(--bright); font-size: clamp(4.2rem, 9.2vw, 8.8rem); line-height: .77; font-weight: 600; letter-spacing: 0; }
.hero h1 > span { color: var(--accent); }
.hero__role { max-width: 740px; margin-top: 2rem; color: var(--bright); font-size: clamp(1rem, 1.8vw, 1.35rem); line-height: 1.35; font-weight: 600; }
.hero__role span { margin-inline: .25rem; color: var(--signal); }
.hero__summary { max-width: 660px; margin-top: 1rem; color: var(--text); font-size: clamp(.95rem, 1.4vw, 1.05rem); line-height: 1.7; }
.hero__meta { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; margin-top: 1.5rem; color: var(--muted); font-family: var(--mono); font-size: .64rem; list-style: none; }
.hero__meta li { display: flex; align-items: center; gap: .55rem; }
.hero__meta li::before { content: ""; width: 4px; height: 4px; background: var(--signal); }
.hero__actions { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 2rem; }
.hero__social { display: flex; flex-wrap: wrap; gap: 1.25rem; margin-top: 1.6rem; }
.hero__social a { display: inline-flex; min-height: 36px; align-items: center; color: var(--muted); font-family: var(--mono); font-size: .65rem; text-underline-offset: .3rem; transition: color 160ms ease; }
.hero__social a:hover { color: var(--bright); }

.hero-system { position: relative; min-height: 500px; border: 1px solid var(--border-strong); background: color-mix(in srgb, var(--bg-raised), transparent 8%); box-shadow: var(--shadow); }
.hero-system__header, .hero-system__footer { position: absolute; right: 0; left: 0; display: flex; align-items: center; justify-content: space-between; padding: .8rem 1rem; color: var(--muted); font-family: var(--mono); font-size: .58rem; text-transform: uppercase; }
.hero-system__header { top: 0; border-bottom: 1px solid var(--border); }
.hero-system__footer { bottom: 0; border-top: 1px solid var(--border); }
.hero-system__footer strong { color: var(--bright); font-weight: 500; }
.system-map { position: absolute; inset: 52px 0 42px; }
.system-map::before, .system-map::after { content: ""; position: absolute; background: var(--border-strong); }
.system-map::before { top: 50%; right: 15%; left: 15%; height: 1px; }
.system-map::after { top: 15%; bottom: 15%; left: 50%; width: 1px; }
.system-node { position: absolute; z-index: 2; width: 136px; padding: .8rem; border: 1px solid var(--border-strong); background: var(--bg); }
.system-node small { display: block; color: var(--signal); font-family: var(--mono); font-size: .55rem; }
.system-node strong { display: block; margin-top: .35rem; color: var(--bright); font-size: .75rem; }
.system-node span { color: var(--muted); font-family: var(--mono); font-size: .54rem; }
.system-node--product { top: 11%; left: 8%; }
.system-node--code { top: 11%; right: 8%; }
.system-node--ops { right: 8%; bottom: 11%; }
.system-node--quality { bottom: 11%; left: 8%; }
.system-core { position: absolute; z-index: 3; top: 50%; left: 50%; display: grid; width: 70px; height: 70px; place-items: center; border: 1px solid var(--accent); background: var(--surface); transform: translate(-50%, -50%) rotate(45deg); }
.system-core span { color: var(--accent); font-family: var(--mono); font-size: .8rem; transform: rotate(-45deg); }

.projects { background: var(--bg-raised); }
.project { display: grid; min-height: 570px; margin-bottom: 1.5rem; border: 1px solid var(--border); background: var(--bg); }
.project:last-child { margin-bottom: 0; }
.project--clinic { grid-template-columns: minmax(0, 1fr) minmax(360px, .9fr); }
.project--clarium { grid-template-columns: minmax(420px, 1.08fr) minmax(0, .92fr); }
.project__content { display: flex; flex-direction: column; justify-content: center; padding: clamp(2rem, 5vw, 4.5rem); }
.project__topline { display: flex; align-items: center; justify-content: space-between; margin-bottom: 2.2rem; }
.project__index { color: var(--muted); font-family: var(--mono); font-size: .65rem; }
.project__type { color: var(--signal); font-family: var(--mono); font-size: .63rem; letter-spacing: .06em; text-transform: uppercase; }
.project h3 { margin-top: .5rem; color: var(--bright); font-size: clamp(2.4rem, 5vw, 4.6rem); line-height: 1; font-weight: 600; }
.project__lead { max-width: 58ch; margin-top: 1.25rem; color: var(--text); font-size: 1rem; line-height: 1.75; }
.project__facts { margin-block: 1.8rem; border-top: 1px solid var(--border); }
.project__facts > div { display: grid; grid-template-columns: 110px 1fr; gap: 1rem; padding-block: .8rem; border-bottom: 1px solid var(--border); }
.project__facts dt { color: var(--muted); font-family: var(--mono); font-size: .58rem; text-transform: uppercase; }
.project__facts dd { color: var(--text); font-size: .78rem; line-height: 1.55; }
.project__privacy { margin-top: 1.25rem; color: var(--muted); font-size: .7rem; line-height: 1.6; }
.project__links { display: flex; align-items: center; gap: 1.25rem; margin-top: 1.8rem; }
.project__media { position: relative; min-height: 100%; overflow: hidden; border-right: 1px solid var(--border); background: #020b08; }
.project__media img { width: 100%; height: 100%; object-fit: contain; object-position: center; filter: saturate(.9) contrast(1.04); transition: transform 220ms var(--ease-out); }
.project__media::after { content: ""; position: absolute; inset: 0; border: 1px solid transparent; transition: border-color 180ms ease; }

.project-blueprint { position: relative; min-height: 100%; padding: clamp(1.5rem, 4vw, 3rem); border-left: 1px solid var(--border); background: #0c1716; overflow: hidden; }
.blueprint__bar { display: flex; justify-content: space-between; color: #8aa199; font-family: var(--mono); font-size: .56rem; }
.blueprint__bar i { width: 7px; height: 7px; border-radius: 50%; background: var(--signal); box-shadow: 0 0 0 4px rgba(242, 201, 76, .12); }
.blueprint__screen { position: absolute; inset: 18% 9% 16%; display: grid; grid-template-columns: 22% 1fr; border: 1px solid rgba(188, 224, 211, .22); background: #07110f; box-shadow: 0 25px 70px rgba(0, 0, 0, .35); transform: perspective(1000px) rotateY(-5deg) rotateX(2deg); }
.blueprint__sidebar { display: flex; flex-direction: column; gap: 1rem; padding: 1rem .7rem; border-right: 1px solid rgba(188, 224, 211, .14); }
.blueprint__sidebar b { width: 25px; height: 25px; margin-bottom: .8rem; background: var(--accent); }
.blueprint__sidebar span { width: 72%; height: 4px; background: rgba(188, 224, 211, .17); }
.blueprint__main { padding: 1.5rem; }
.blueprint__title { width: 44%; height: 9px; background: rgba(242, 247, 244, .72); }
.blueprint__metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; margin-top: 1.4rem; }
.blueprint__metrics i { height: 72px; border: 1px solid rgba(188, 224, 211, .16); background: rgba(56, 214, 159, .06); }
.blueprint__schedule { margin-top: 1rem; border: 1px solid rgba(188, 224, 211, .15); }
.blueprint__schedule span { display: block; height: 38px; border-bottom: 1px solid rgba(188, 224, 211, .1); }
.blueprint__schedule span:last-child { border: 0; }
.blueprint__caption { position: absolute; right: 9%; bottom: 6%; left: 9%; display: flex; gap: .45rem; }
.blueprint__caption span { padding: .3rem .5rem; border: 1px solid rgba(188, 224, 211, .2); color: #8aa199; font-family: var(--mono); font-size: .52rem; }

.experience-layout { display: grid; grid-template-columns: 290px minmax(0, 1fr); gap: clamp(3rem, 8vw, 7rem); align-items: start; }
.company-panel { position: sticky; top: calc(var(--header-height) + 2rem); padding-top: 1.2rem; border-top: 1px solid var(--border-strong); }
.company-panel img { width: 62px; height: 62px; margin-bottom: 1.25rem; border: 1px solid var(--border); }
.company-panel div { display: flex; flex-direction: column; }
.company-panel strong { color: var(--bright); font-size: 1.1rem; }
.company-panel span { color: var(--muted); font-family: var(--mono); font-size: .62rem; }
.company-panel p { margin-top: 1.2rem; padding-top: 1.2rem; border-top: 1px solid var(--border); color: var(--accent); font-size: .76rem; line-height: 1.6; }
.timeline { position: relative; border-left: 1px solid var(--border-strong); }
.timeline-item { position: relative; padding: 0 0 clamp(4rem, 7vw, 6rem) clamp(2rem, 5vw, 4rem); }
.timeline-item:last-child { padding-bottom: 0; }
.timeline-item__marker { position: absolute; top: .35rem; left: -5px; width: 9px; height: 9px; border: 2px solid var(--bg); border-radius: 50%; background: var(--accent); box-shadow: 0 0 0 1px var(--accent); }
.timeline-item__header { display: flex; justify-content: space-between; gap: 1.5rem; }
.timeline-item__header p, .timeline-item__header > span { color: var(--signal); font-family: var(--mono); font-size: .62rem; text-transform: uppercase; }
.timeline-item h3 { max-width: 24ch; margin-top: .45rem; color: var(--bright); font-size: clamp(1.5rem, 3vw, 2.5rem); line-height: 1.15; }
.timeline-item__summary { max-width: 64ch; margin-top: 1.25rem; color: var(--text); }
.timeline-item ul { display: grid; gap: .7rem; max-width: 68ch; margin-block: 1.6rem; list-style: none; }
.timeline-item li { position: relative; padding-left: 1.1rem; color: var(--muted); font-size: .83rem; line-height: 1.65; }
.timeline-item li::before { content: ""; position: absolute; top: .75em; left: 0; width: 4px; height: 4px; background: var(--accent); }

.expertise { background: var(--bg-raised); }
.capability-list { border-top: 1px solid var(--border-strong); }
.capability { display: grid; grid-template-columns: 55px minmax(220px, .8fr) minmax(0, 1.2fr); gap: 1.25rem 2.5rem; padding-block: 2.2rem; border-bottom: 1px solid var(--border); align-items: start; }
.capability__number { color: var(--signal); font-family: var(--mono); font-size: .6rem; }
.capability h3 { color: var(--bright); font-size: 1.25rem; }
.capability p { max-width: 36ch; margin-top: .4rem; color: var(--muted); font-size: .78rem; }
.capability ul { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: .5rem; list-style: none; }
.capability li { padding: .35rem .55rem; border: 1px solid var(--border); color: var(--text); font-family: var(--mono); font-size: .62rem; }

.about__layout { display: grid; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr); gap: clamp(3rem, 9vw, 8rem); }
.about .section-heading { display: block; margin: 0; }
.about .section-heading h2 { margin-top: 1.5rem; font-size: clamp(2.4rem, 5vw, 4.8rem); }
.about__lead { color: var(--bright); font-size: clamp(1.25rem, 2.5vw, 2rem); line-height: 1.35; }
.about__columns { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-top: 2.5rem; }
.about__columns p { color: var(--muted); font-size: .9rem; line-height: 1.8; }
.about blockquote { margin-top: 2.5rem; padding: 1.5rem 0 0 1.5rem; border-top: 1px solid var(--border); border-left: 2px solid var(--signal); color: var(--text); font-family: var(--mono); font-size: .78rem; line-height: 1.8; }

.education { background: var(--bg-raised); }
.credentials-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; border: 1px solid var(--border); background: var(--border); }
.credential-group { padding: clamp(1.5rem, 4vw, 3rem); background: var(--bg); }
.credential-group > h3 { margin-bottom: 1.5rem; color: var(--muted); font-family: var(--mono); font-size: .68rem; text-transform: uppercase; }
.credential { display: flex; justify-content: space-between; gap: 1.25rem; padding-block: 1.35rem; border-top: 1px solid var(--border); }
.credential span, .certificate span { color: var(--signal); font-family: var(--mono); font-size: .56rem; text-transform: uppercase; }
.credential h4, .certificate h4 { max-width: 34ch; margin-top: .35rem; color: var(--bright); font-size: .88rem; line-height: 1.45; }
.credential p, .certificate p { margin-top: .25rem; color: var(--muted); font-size: .72rem; }
.credential time { flex-shrink: 0; color: var(--muted); font-family: var(--mono); font-size: .58rem; text-align: right; }
.credential--current { border-left: 2px solid var(--accent); padding-left: 1rem; }
.certificate { display: flex; align-items: center; gap: 1rem; padding-block: 1.1rem; border-top: 1px solid var(--border); }
.certificate img { width: 54px; height: 54px; flex-shrink: 0; object-fit: cover; }
.credential-group > .text-link { margin-top: 1.5rem; }
.language-band { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.5rem clamp(1.5rem, 4vw, 3rem); background: var(--surface); }
.language-band span { color: var(--signal); font-family: var(--mono); font-size: .58rem; text-transform: uppercase; }
.language-band h3 { margin-top: .3rem; color: var(--bright); font-size: 1.15rem; }
.language-band p { max-width: 42ch; color: var(--text); font-size: .78rem; }

.contact { padding-block: clamp(6rem, 12vw, 11rem); background: var(--accent); color: #062018; border: 0; }
.contact .eyebrow { color: #062018; }
.contact .eyebrow > span:first-child::after { color: rgba(6, 32, 24, .45); }
.contact__layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(320px, .8fr); gap: clamp(3rem, 8vw, 8rem); margin-top: 2.5rem; }
.contact h2 { color: #03130e; font-size: clamp(2.8rem, 6vw, 5.8rem); line-height: .98; font-weight: 600; }
.contact h2 em { color: #3c214c; font-style: normal; }
.contact__layout > div:first-child p { max-width: 52ch; margin-top: 1.5rem; color: rgba(6, 32, 24, .76); }
.contact__actions { display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-end; }
.contact-email { max-width: 100%; margin-bottom: 1.5rem; color: #062018; font-size: clamp(.85rem, 1.3vw, 1rem); font-weight: 700; overflow-wrap: anywhere; text-underline-offset: .35rem; }
.contact .button--primary { background: #061a14; color: #f4fff9; }
.contact .button--primary:hover { background: #f5f0d9; color: #061a14; }
.contact__details { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: 1.5rem; }
.contact__details a { color: #062018; font-family: var(--mono); font-size: .65rem; }
.contact__actions > p { margin-top: 1rem; color: rgba(6, 32, 24, .7); font-family: var(--mono); font-size: .58rem; }

@media (hover: hover) and (pointer: fine) {
  .project__media:hover img { transform: scale(1.015); }
  .project__media:hover::after { border-color: var(--accent); }
}
