:root {
  --ink: #082b3c;
  --ink-soft: #0c3a4d;
  --paper: #f4fbf8;
  --muted: #b2c9c7;
  --muted-dark: #789995;
  --line: rgba(205, 244, 235, .16);
  --lime: #5bd4bd;
  --indigo: #86dcd0;
  --violet: #b9eee4;
  --ease: cubic-bezier(.22, .7, .2, 1);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: radial-gradient(circle at 80% 0%, rgba(47, 153, 143, .15), transparent 30%), var(--ink); color: var(--paper); font-family: 'Manrope', system-ui, sans-serif; font-size: 16px; line-height: 1.6; overflow-x: hidden; }
a { color: inherit; text-decoration: none; }
button { font: inherit; }
::selection { background: var(--lime); color: var(--ink); }

.site-loader { position: fixed; inset: 0; z-index: 20; display: grid; place-content: center; gap: 22px; background: #082b3c; transition: opacity .7s var(--ease), visibility .7s; }
.site-loader.is-done { opacity: 0; visibility: hidden; pointer-events: none; }
.loader-mark { width: 74px; height: 74px; display: grid; place-items: center; border: 1px solid rgba(91,212,189,.5); border-radius: 50%; color: var(--lime); font: 500 21px/1 'DM Mono', monospace; letter-spacing: -.08em; animation: breathe 1.5s ease-in-out infinite; }
.loader-line { width: 150px; height: 1px; background: rgba(244,251,248,.2); overflow: hidden; }
.loader-line span { display: block; width: 55%; height: 100%; background: var(--lime); animation: loader-line 1.2s ease-in-out infinite; }
.loader-label { text-align: center; color: var(--muted); font: 10px 'DM Mono', monospace; letter-spacing: .16em; text-transform: uppercase; }
.cursor-orb { position: fixed; z-index: 15; width: 18px; height: 18px; border: 1px solid rgba(91,212,189,.8); border-radius: 50%; pointer-events: none; mix-blend-mode: screen; transform: translate(-50%, -50%); transition: width .25s, height .25s, background .25s; }
.cursor-orb.is-hover { width: 54px; height: 54px; background: rgba(91,212,189,.08); }
.noise { position: fixed; inset: 0; z-index: 10; pointer-events: none; opacity: .04; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.48'/%3E%3C/svg%3E"); }
.progress-track { position: fixed; z-index: 12; top: 0; left: 0; width: 100%; height: 2px; background: transparent; }
.progress-track span { display: block; width: 0; height: 100%; background: var(--lime); box-shadow: 0 0 12px var(--lime); }

.site-header { position: fixed; z-index: 11; top: 0; left: 0; right: 0; display: flex; align-items: center; justify-content: space-between; padding: 27px clamp(22px, 5vw, 74px); mix-blend-mode: normal; transition: padding .35s var(--ease), background .35s; }
.site-header.is-scrolled { padding-block: 17px; background: rgba(8,43,60,.78); backdrop-filter: blur(18px); border-bottom: 1px solid rgba(205,244,235,.12); }
.brand { display: inline-flex; align-items: center; gap: 11px; font-family: 'Space Grotesk', sans-serif; }
.brand-mark { display: grid; place-items: center; width: 33px; height: 33px; color: var(--ink); background: var(--lime); border-radius: 50%; font: 600 12px/1 'DM Mono', monospace; letter-spacing: -.12em; }
.brand-name { font-size: 14px; font-weight: 700; letter-spacing: -.04em; }
.brand-name span { display: block; color: var(--muted); font-weight: 500; }
.site-nav { display: flex; align-items: center; gap: clamp(20px, 3vw, 44px); font: 11px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.site-nav a { transition: color .25s; }
.site-nav a:hover, .site-nav a.is-active { color: var(--paper); }
.site-nav .nav-cta { padding: 10px 13px; border: 1px solid var(--line); border-radius: 99px; color: var(--paper); }
.site-nav .nav-cta span { color: var(--lime); margin-left: 6px; }
.menu-toggle { display: none; background: transparent; color: var(--paper); border: 0; }

.section-shell { width: min(1240px, calc(100% - 44px)); margin-inline: auto; }
.hero { position: relative; min-height: 100svh; display: grid; grid-template-columns: 1fr .92fr; align-items: center; gap: clamp(20px, 6vw, 100px); padding-top: 105px; padding-bottom: 70px; }
.hero-copy { position: relative; z-index: 2; }
.eyebrow { display: flex; align-items: center; gap: 10px; margin: 0 0 25px; color: var(--muted); font: 10px 'DM Mono', monospace; letter-spacing: .13em; text-transform: uppercase; }
.status-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 13px var(--lime); animation: pulse 2s infinite; }
h1, h2, h3, p { margin-top: 0; }
h1, h2, h3 { font-family: 'Space Grotesk', sans-serif; letter-spacing: -.07em; }
h1 { max-width: 780px; margin-bottom: 30px; font-size: clamp(68px, 9vw, 142px); font-weight: 500; line-height: .88; }
h1 em, h2 em { color: var(--lime); font-style: normal; }
.hero-intro { max-width: 410px; margin-bottom: 35px; color: #c4c4cc; font-size: 17px; line-height: 1.65; }
.hero-actions { display: flex; align-items: center; gap: 28px; flex-wrap: wrap; }
.button { display: inline-flex; align-items: center; gap: 22px; padding: 15px 17px 15px 21px; font: 11px 'DM Mono', monospace; letter-spacing: .04em; text-transform: uppercase; border-radius: 100px; transition: transform .25s var(--ease), background .25s, color .25s; }
.button:hover { transform: translateY(-3px); }
.button-primary { background: var(--lime); color: var(--ink); }
.button-primary span { display: grid; place-items: center; width: 27px; height: 27px; border-radius: 50%; background: var(--ink); color: var(--lime); font-size: 15px; }
.text-link { color: var(--muted); font: 11px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .03em; border-bottom: 1px solid rgba(244,251,248,.25); padding-bottom: 5px; transition: color .25s, border-color .25s; }
.text-link:hover { color: var(--lime); border-color: var(--lime); }
.hero-meta { display: flex; align-items: center; gap: 13px; margin-top: 82px; color: var(--muted-dark); font: 10px 'DM Mono', monospace; text-transform: uppercase; letter-spacing: .08em; }
.meta-divider { width: 25px; height: 1px; background: var(--muted-dark); }
.hero-stage { --mx: 0px; --my: 0px; position: relative; min-height: 620px; transform: translate(var(--mx), var(--my)); transition: transform .7s var(--ease); }
.stage-grid { position: absolute; inset: 8% 0 8% 4%; opacity: .5; background-image: linear-gradient(rgba(244,251,248,.065) 1px, transparent 1px), linear-gradient(90deg, rgba(244,251,248,.065) 1px, transparent 1px); background-size: 54px 54px; mask-image: linear-gradient(90deg, transparent, #000 20%, #000 75%, transparent); }
.scene-3d { position: absolute; inset: 5% -3% 4% 2%; perspective: 1100px; transform: rotateX(var(--scene-rotate-x, 0deg)) rotateY(var(--scene-rotate-y, 0deg)); transform-style: preserve-3d; pointer-events: none; transition: transform .7s var(--ease); }
.scene-sphere { position: absolute; top: 12%; right: 11%; width: 242px; aspect-ratio: 1; border-radius: 50%; background: radial-gradient(circle at 32% 25%, #e8fff9 0 2%, #9beadd 7%, #45c5b0 23%, #0c6471 52%, #082b3c 76%); box-shadow: inset -28px -28px 45px rgba(2, 26, 38, .72), inset 12px 8px 25px rgba(244,251,248,.34), 0 0 80px rgba(91,212,189,.22); transform: translateZ(50px) rotateX(12deg) rotateY(-18deg); animation: sphere-float 8s ease-in-out infinite; }
.scene-sphere::before { position: absolute; inset: 0; border-radius: inherit; opacity: .42; background: repeating-linear-gradient(90deg, transparent 0 22px, rgba(244,251,248,.26) 23px 24px), repeating-linear-gradient(0deg, transparent 0 22px, rgba(244,251,248,.18) 23px 24px); content: ''; mask-image: radial-gradient(circle at 34% 30%, #000 0 44%, transparent 74%); }
.scene-sphere::after { position: absolute; inset: 8% 14% 10% 13%; border: 1px solid rgba(244,251,248,.45); border-radius: 50%; transform: rotate(40deg) skewY(-8deg); content: ''; }
.scene-ring { position: absolute; border: 1px solid rgba(91,212,189,.38); border-radius: 50%; transform-style: preserve-3d; }
.scene-ring-a { top: 26%; right: 1%; width: 395px; height: 118px; transform: rotateX(67deg) rotateZ(-23deg) translateZ(95px); animation: ring-spin 14s linear infinite; }
.scene-ring-b { top: 19%; right: 5%; width: 320px; height: 210px; border-color: rgba(134,220,208,.24); transform: rotateY(68deg) rotateZ(18deg) translateZ(20px); animation: ring-spin-reverse 18s linear infinite; }
.scene-label { position: absolute; padding: 7px 9px; border: 1px solid rgba(205,244,235,.21); border-radius: 7px; color: var(--muted); background: rgba(8,43,60,.45); backdrop-filter: blur(10px); font: 9px 'DM Mono', monospace; letter-spacing: .12em; }
.scene-label-a { top: 20%; right: 52%; transform: translateZ(100px) rotate(-9deg); }
.scene-label-b { right: 3%; bottom: 22%; transform: translateZ(70px) rotate(8deg); }
.orbit { position: absolute; border: 1px solid rgba(134,220,208,.32); border-radius: 50%; transform: rotate(-24deg); }
.orbit-one { width: 530px; height: 265px; top: 22%; right: -12%; animation: orbit-float 7s ease-in-out infinite; }
.orbit-two { width: 360px; height: 180px; top: 39%; right: 4%; border-color: rgba(91,212,189,.28); transform: rotate(62deg); animation: orbit-float 9s ease-in-out -2s infinite reverse; }
.orbit-dot { position: absolute; width: 9px; height: 9px; border-radius: 50%; background: var(--lime); box-shadow: 0 0 18px var(--lime); }
.orbit-dot-one { top: 28%; right: 11%; }
.orbit-dot-two { top: 61%; right: 13%; background: var(--indigo); box-shadow: 0 0 18px var(--indigo); }
.portrait-frame { position: absolute; top: 9%; left: 17%; width: min(330px, 58%); aspect-ratio: .87; overflow: hidden; background: #b9b8b4; border: 1px solid rgba(244,251,248,.24); box-shadow: 27px 34px 0 rgba(134,220,208,.13), -20px -16px 0 rgba(91,212,189,.08); transform: rotate(-5deg); transition: transform .8s var(--ease), box-shadow .8s; }
.portrait-frame:hover { transform: rotate(0deg) translateY(-10px); box-shadow: 22px 27px 0 rgba(134,220,208,.22), -16px -12px 0 rgba(91,212,189,.13); }
.portrait-frame img { width: 100%; height: 100%; display: block; object-fit: cover; filter: grayscale(.08) contrast(1.02); }
.portrait-glow { position: absolute; z-index: 1; inset: 0; background: linear-gradient(130deg, rgba(91,212,189,.16), transparent 33%, rgba(134,220,208,.23)); mix-blend-mode: color; pointer-events: none; }
.portrait-caption { position: absolute; z-index: 2; bottom: 15px; left: 16px; right: 16px; display: flex; justify-content: space-between; color: #fff; font: 9px 'DM Mono', monospace; letter-spacing: .1em; text-transform: uppercase; text-shadow: 0 1px 8px #000; }
.portrait-caption span:first-child { color: var(--lime); }
.floating-card { position: absolute; z-index: 3; padding: 15px 17px; border: 1px solid rgba(205,244,235,.21); border-radius: 9px; background: rgba(8,43,60,.72); backdrop-filter: blur(12px); box-shadow: 0 14px 50px rgba(0,0,0,.22); }
.card-top { top: 19%; right: 2%; width: 182px; animation: card-drift 6s ease-in-out infinite; }
.card-bottom { right: 11%; bottom: 17%; display: flex; align-items: center; gap: 12px; color: var(--lime); font: 11px 'DM Mono', monospace; line-height: 1.35; text-transform: uppercase; letter-spacing: .05em; animation: card-drift 6s ease-in-out -2s infinite; }
.card-kicker, .floating-card small { display: block; color: var(--muted); font: 9px 'DM Mono', monospace; letter-spacing: .06em; text-transform: uppercase; }
.floating-card strong { display: block; margin: 5px 0 2px; color: var(--paper); font: 600 17px 'Space Grotesk', sans-serif; }
.signal-icon { display: grid; place-items: center; width: 31px; height: 31px; border: 1px solid rgba(91,212,189,.5); border-radius: 50%; font-size: 16px; }
.scroll-cue { position: absolute; bottom: 22px; left: 0; display: flex; align-items: center; gap: 12px; color: var(--muted-dark); font: 9px 'DM Mono', monospace; letter-spacing: .14em; text-transform: uppercase; }
.scroll-line { display: inline-block; width: 37px; height: 1px; background: var(--muted-dark); }

.ticker { overflow: hidden; padding: 17px 0; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); color: var(--muted); white-space: nowrap; }
.ticker-track { display: flex; align-items: center; width: max-content; gap: 35px; animation: ticker 35s linear infinite; font: 12px 'DM Mono', monospace; letter-spacing: .13em; }
.ticker b { color: var(--lime); font-weight: 400; }

.about-section, .experience-section, .split-section, .expertise-section { padding-top: 145px; padding-bottom: 145px; }
.section-label { display: flex; justify-content: space-between; padding-bottom: 18px; border-bottom: 1px solid var(--line); color: var(--muted-dark); font: 10px 'DM Mono', monospace; letter-spacing: .12em; text-transform: uppercase; }
.section-label span:first-child { color: var(--lime); }
.about-layout { display: grid; grid-template-columns: .92fr 1fr; gap: clamp(60px, 13vw, 190px); padding: 92px 7vw 0; }
.section-heading h2, .experience-heading h2, .expertise-intro h2 { margin-bottom: 0; font-size: clamp(48px, 6vw, 82px); font-weight: 500; line-height: .95; }
.about-copy { position: relative; max-width: 520px; padding-top: 5px; color: var(--muted); font-size: 15px; }
.about-copy .lead-copy { color: var(--paper); font: 500 21px 'Space Grotesk', sans-serif; letter-spacing: -.04em; }
.about-copy p { margin-bottom: 20px; }
.signature { margin-top: 42px; color: var(--lime); font: 500 24px 'DM Mono', monospace; letter-spacing: -.08em; transform: rotate(-8deg); transform-origin: left; }
.signature span { color: var(--indigo); }
.experience-heading { padding: 85px 7vw 76px; }
.timeline { position: relative; margin-left: 7vw; padding-left: 82px; }
.timeline::before { position: absolute; top: 0; bottom: 0; left: 5px; width: 1px; background: linear-gradient(var(--lime), rgba(244,251,248,.1) 75%, transparent); content: ''; }
.timeline-item { position: relative; display: grid; grid-template-columns: 180px 1fr; gap: 50px; padding: 0 0 86px; }
.timeline-item:last-child { padding-bottom: 0; }
.timeline-marker { position: absolute; top: 4px; left: -82px; display: grid; place-items: center; width: 12px; height: 12px; border: 1px solid var(--muted-dark); border-radius: 50%; background: var(--ink); transition: border-color .25s, transform .25s; }
.timeline-marker span { width: 4px; height: 4px; border-radius: 50%; background: var(--muted-dark); }
.timeline-item.featured .timeline-marker { border-color: var(--lime); box-shadow: 0 0 20px rgba(91,212,189,.32); }
.timeline-item.featured .timeline-marker span { background: var(--lime); }
.timeline-item:hover .timeline-marker { transform: scale(1.5); border-color: var(--lime); }
.timeline-date { color: var(--lime); font: 10px 'DM Mono', monospace; letter-spacing: .04em; text-transform: uppercase; }
.role-type { margin-bottom: 16px; color: var(--muted-dark); font: 10px 'DM Mono', monospace; letter-spacing: .1em; text-transform: uppercase; }
.timeline-body h3 { margin-bottom: 11px; color: var(--paper); font-size: clamp(28px, 3.5vw, 49px); font-weight: 500; line-height: .97; }
.timeline-body h3 span { color: var(--indigo); }
.company { margin-bottom: 30px; color: var(--paper); font: 500 15px 'Space Grotesk', sans-serif; }
.company small { display: block; margin-top: 5px; color: var(--muted-dark); font: 10px 'DM Mono', monospace; letter-spacing: .03em; }
.mission-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid var(--line); }
.mission-grid span { position: relative; padding: 13px 16px 13px 0; color: var(--muted); font-size: 12px; line-height: 1.45; border-bottom: 1px solid var(--line); }
.mission-grid span:nth-child(even) { padding-left: 16px; border-left: 1px solid var(--line); }
.mission-grid span::before { content: '↗'; margin-right: 7px; color: var(--lime); font-family: 'DM Mono', monospace; }
.mission-grid.compact { max-width: 690px; }
.split-columns { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(45px, 9vw, 125px); padding: 90px 7vw 0; }
.journey-column h2 { margin-bottom: 54px; font-size: clamp(42px, 5vw, 68px); font-weight: 500; line-height: .95; }
.journey-list { border-top: 1px solid var(--line); }
.journey-card { position: relative; padding: 22px 20px 22px 26px; border-bottom: 1px solid var(--line); transition: background .3s, padding .3s; }
.journey-card::before { position: absolute; top: 27px; left: 0; width: 7px; height: 7px; border-radius: 50%; background: var(--muted-dark); content: ''; }
.journey-card.current::before { background: var(--lime); box-shadow: 0 0 10px var(--lime); }
.journey-card:hover { padding-left: 32px; background: rgba(244,251,248,.03); }
.journey-year { color: var(--lime); font: 10px 'DM Mono', monospace; letter-spacing: .08em; }
.journey-card h3 { margin: 11px 0 2px; font-size: 21px; font-weight: 500; letter-spacing: -.05em; }
.journey-card p { margin-bottom: 9px; color: var(--muted); font-size: 13px; }
.journey-card small { display: block; color: var(--muted-dark); font: 10px 'DM Mono', monospace; line-height: 1.4; }
.association-column { padding-top: 9px; }
.association-feature { margin: 0 0 29px; padding: 27px 25px; border: 1px solid rgba(134,220,208,.38); border-radius: 14px; background: linear-gradient(145deg, rgba(91,212,189,.15), rgba(91,212,189,.02)); }
.association-index { color: var(--indigo); font: 10px 'DM Mono', monospace; letter-spacing: .1em; }
.association-feature h3 { margin: 16px 0 5px; font-size: 28px; font-weight: 500; }
.association-role { color: var(--lime); font: 12px 'DM Mono', monospace; }
.association-role span { color: var(--muted-dark); margin-left: 13px; }
.association-feature > p:last-child { margin: 25px 0 0; color: var(--muted); font-size: 13px; }
.association-list { border-top: 1px solid var(--line); }
.association-list > div { display: grid; grid-template-columns: 1fr auto; gap: 7px 20px; padding: 17px 0; border-bottom: 1px solid var(--line); }
.association-list span { color: var(--paper); font: 500 14px 'Space Grotesk', sans-serif; }
.association-list small { color: var(--lime); font: 10px 'DM Mono', monospace; }
.association-list p { grid-column: 1 / -1; margin: 0; color: var(--muted); font-size: 12px; }
.expertise-intro { padding: 88px 7vw 75px; }
.expertise-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.expertise-panel { min-height: 305px; padding: 23px 25px 31px; background: var(--ink); }
.panel-top { display: flex; justify-content: space-between; padding-bottom: 22px; color: var(--muted-dark); font: 10px 'DM Mono', monospace; letter-spacing: .1em; text-transform: uppercase; }
.panel-top span:first-child { color: var(--lime); }
.skill-list { display: flex; flex-wrap: wrap; gap: 8px; }
.skill-list span { padding: 7px 11px; border: 1px solid rgba(244,251,248,.14); border-radius: 100px; color: var(--muted); font: 11px 'DM Mono', monospace; transition: border-color .25s, color .25s, transform .25s; }
.skill-list span:hover { color: var(--lime); border-color: var(--lime); transform: translateY(-2px); }
.tools-panel { background: linear-gradient(145deg, rgba(91,212,189,.17), var(--ink)); }
.tool-brand-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 9px; margin-top: 10px; }
.tool-brand { display: flex; min-height: 70px; flex-direction: column; justify-content: center; gap: 9px; padding: 12px 10px; border: 1px solid rgba(244,251,248,.12); border-radius: 9px; background: rgba(8,43,60,.38); color: var(--muted); transition: transform .3s var(--ease), border-color .3s, background .3s, color .3s; }
.tool-brand:hover { transform: translateY(-5px); border-color: var(--lime); background: rgba(91,212,189,.1); color: var(--paper); }
.tool-brand img { width: 21px; height: 21px; object-fit: contain; }
.tool-brand .brand-icon { display: grid; width: 21px; height: 21px; place-items: center; border-radius: 6px; color: var(--ink); font: 800 12px 'Space Grotesk', sans-serif; }
.metricool-mark { background: linear-gradient(135deg, var(--lime), var(--indigo)); }
.office-mark { border-radius: 4px !important; color: var(--paper) !important; font-size: 11px !important; }
.office-excel { background: #2d9f77; }
.office-word { background: #3989c6; }
.office-powerpoint { background: #d87552; }
.tool-brand span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 10px 'DM Mono', monospace; letter-spacing: .02em; }
.tool-brand-featured { border-color: rgba(91,212,189,.28); }
.tool-brand-featured span { color: var(--paper); }
.platform-row-label { margin-top: 24px; color: var(--muted-dark); font: 9px 'DM Mono', monospace; letter-spacing: .12em; text-transform: uppercase; }
.platform-row { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.platform-chip { display: inline-flex; align-items: center; gap: 7px; padding: 7px 9px; border: 1px solid rgba(134,220,208,.22); border-radius: 100px; color: var(--muted); background: rgba(8,43,60,.32); font: 9px 'DM Mono', monospace; }
.platform-chip img { width: 14px; height: 14px; object-fit: contain; }
.platform-mark { display: grid; place-items: center; width: 14px; height: 14px; border-radius: 50%; color: var(--ink); background: var(--lime); font: 700 6px 'DM Mono', monospace; }
.cert-panel { grid-row: 2; }
.check-list { margin: 4px 0 0; padding: 0; list-style: none; }
.check-list li { padding: 11px 0 11px 24px; border-bottom: 1px solid var(--line); color: var(--paper); font: 14px 'Space Grotesk', sans-serif; }
.check-list li::before { content: '✓'; margin-left: -24px; margin-right: 11px; color: var(--lime); font-family: 'DM Mono', monospace; }
.check-list small { color: var(--muted-dark); font: 10px 'DM Mono', monospace; }
.language-panel { grid-row: 2; }
.language-row { display: flex; align-items: baseline; justify-content: space-between; padding: 19px 0; border-bottom: 1px solid var(--line); }
.language-row span { color: var(--paper); font: 19px 'Space Grotesk', sans-serif; }
.language-row small { color: var(--muted); font: 10px 'DM Mono', monospace; }
.interests-row { display: flex; gap: 60px; margin-top: 54px; padding-top: 20px; border-top: 1px solid var(--line); }
.interests-row .eyebrow { min-width: 142px; margin: 2px 0 0; }
.interest-list { display: flex; flex-wrap: wrap; gap: 9px; }
.interest-list span { padding: 8px 13px; color: var(--muted); border: 1px solid var(--line); font: 11px 'DM Mono', monospace; }

.contact-section { position: relative; overflow: hidden; min-height: 690px; display: grid; align-items: center; border-top: 1px solid var(--line); background: radial-gradient(circle at 80% 20%, rgba(91,212,189,.25), transparent 28%), radial-gradient(circle at 21% 80%, rgba(134,220,208,.12), transparent 28%); }
.contact-inner { position: relative; z-index: 1; padding-top: 80px; padding-bottom: 80px; text-align: center; }
.contact-inner .eyebrow { justify-content: center; }
.contact-inner h2 { margin: 28px auto 39px; max-width: 790px; font-size: clamp(62px, 10vw, 142px); font-weight: 500; line-height: .86; }
.contact-email { display: inline-block; padding-bottom: 11px; border-bottom: 1px solid var(--lime); color: var(--paper); font: 500 clamp(20px, 3vw, 32px) 'Space Grotesk', sans-serif; letter-spacing: -.05em; transition: color .25s, transform .25s; }
.contact-email:hover { color: var(--lime); transform: translateY(-3px); }
.contact-email span { color: var(--lime); font: 16px 'DM Mono', monospace; }
.contact-details { display: flex; justify-content: center; align-items: center; gap: 17px; margin-top: 31px; color: var(--muted); font: 10px 'DM Mono', monospace; letter-spacing: .06em; }
.contact-details span { width: 4px; height: 4px; background: var(--lime); border-radius: 50%; }
.contact-details a:hover { color: var(--paper); }
.contact-rings { position: absolute; inset: 0; pointer-events: none; }
.contact-rings span { position: absolute; border: 1px solid rgba(91,212,189,.13); border-radius: 50%; }
.contact-rings span:nth-child(1) { width: 780px; height: 780px; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.contact-rings span:nth-child(2) { width: 600px; height: 600px; left: 50%; top: 50%; transform: translate(-50%, -50%); border-color: rgba(134,220,208,.18); }
.contact-rings span:nth-child(3) { width: 370px; height: 370px; left: 50%; top: 50%; transform: translate(-50%, -50%); }
.site-footer { display: flex; justify-content: space-between; gap: 25px; padding-top: 22px; padding-bottom: 22px; color: var(--muted-dark); font: 10px 'DM Mono', monospace; letter-spacing: .05em; text-transform: uppercase; }
.site-footer a { color: var(--paper); }
.site-footer a:hover { color: var(--lime); }

[data-reveal] { opacity: 0; transform: translateY(27px); transition: opacity .85s var(--ease), transform .85s var(--ease); }
[data-reveal].is-visible { opacity: 1; transform: translateY(0); }
.hero-copy[data-reveal] { transition-delay: .45s; }
.hero-stage[data-reveal] { transition-delay: .65s; }

@keyframes pulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .4; transform: scale(.72); } }
@keyframes breathe { 0%,100% { transform: scale(1); } 50% { transform: scale(1.08); } }
@keyframes loader-line { 0% { transform: translateX(-110%); } 100% { transform: translateX(220%); } }
@keyframes sphere-float { 0%,100% { transform: translate3d(0,0,50px) rotateX(12deg) rotateY(-18deg); } 50% { transform: translate3d(-8px,-16px,90px) rotateX(17deg) rotateY(12deg); } }
@keyframes ring-spin { 0% { transform: rotateX(67deg) rotateZ(-23deg) translateZ(95px) rotate(0); } 100% { transform: rotateX(67deg) rotateZ(-23deg) translateZ(95px) rotate(360deg); } }
@keyframes ring-spin-reverse { 0% { transform: rotateY(68deg) rotateZ(18deg) translateZ(20px) rotate(0); } 100% { transform: rotateY(68deg) rotateZ(18deg) translateZ(20px) rotate(-360deg); } }
@keyframes orbit-float { 0%,100% { transform: rotate(-24deg) translateY(0); } 50% { transform: rotate(-19deg) translateY(-10px); } }
@keyframes card-drift { 0%,100% { transform: translateY(0) rotate(1deg); } 50% { transform: translateY(-10px) rotate(-1deg); } }
@keyframes ticker { to { transform: translateX(-50%); } }

@media (max-width: 850px) {
  .site-header { padding-inline: 22px; }
  .menu-toggle { display: grid; gap: 6px; padding: 10px 0 10px 10px; cursor: pointer; }
  .menu-toggle span { display: block; width: 25px; height: 1px; background: var(--paper); transition: transform .25s; }
  .site-nav { position: fixed; top: 67px; left: 14px; right: 14px; display: grid; gap: 0; padding: 12px; opacity: 0; visibility: hidden; transform: translateY(-10px); background: rgba(8,43,60,.97); border: 1px solid var(--line); transition: opacity .25s, transform .25s, visibility .25s; }
  .site-nav.is-open { opacity: 1; visibility: visible; transform: translateY(0); }
  .site-nav a { padding: 14px 11px; border-bottom: 1px solid rgba(244,251,248,.08); }
  .site-nav .nav-cta { margin-top: 7px; text-align: center; border: 1px solid var(--line); }
  .hero { grid-template-columns: 1fr; min-height: auto; gap: 36px; padding-top: 145px; padding-bottom: 105px; }
  .hero-meta { margin-top: 53px; }
  .hero-stage { min-height: 560px; width: 100%; max-width: 570px; justify-self: center; }
  .portrait-frame { left: 15%; width: 58%; }
  .card-top { right: 2%; }
  .card-bottom { right: 7%; }
  .about-layout, .split-columns { grid-template-columns: 1fr; padding-inline: 0; gap: 70px; }
  .about-layout, .split-columns { padding-top: 65px; }
  .experience-heading, .expertise-intro { padding-inline: 0; padding-top: 65px; }
  .timeline { margin-left: 0; }
  .timeline-item { grid-template-columns: 1fr; gap: 16px; padding-left: 28px; }
  .timeline-marker { left: -6px; }
  .timeline::before { left: 0; }
  .association-column { padding-top: 0; }
  .expertise-grid { grid-template-columns: 1fr; }
  .tool-brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .cert-panel, .language-panel { grid-row: auto; }
  .interests-row { display: block; }
  .interests-row .eyebrow { margin-bottom: 20px; }
  .site-footer { flex-wrap: wrap; }
}

@media (max-width: 520px) {
  body { font-size: 15px; }
  .section-shell { width: min(100% - 32px, 1240px); }
  h1 { font-size: clamp(61px, 18vw, 95px); }
  .hero-intro { font-size: 15px; }
  .hero-actions { align-items: flex-start; flex-direction: column; gap: 21px; }
  .hero-meta { flex-wrap: wrap; line-height: 1.4; }
  .hero-stage { min-height: 440px; }
  .portrait-frame { top: 9%; left: 8%; width: 64%; }
  .orbit-one { width: 370px; height: 185px; top: 22%; right: -21%; }
  .orbit-two { width: 260px; height: 130px; top: 40%; right: -4%; }
  .scene-sphere { width: 165px; top: 16%; right: 7%; }
  .scene-ring-a { width: 260px; height: 82px; top: 28%; right: -8%; }
  .scene-ring-b { width: 220px; height: 140px; top: 22%; right: -4%; }
  .scene-label-a { top: 16%; right: 48%; }
  .scene-label-b { right: 0; bottom: 19%; }
  .card-top { top: 19%; right: -2%; width: 150px; padding: 12px; }
  .floating-card strong { font-size: 14px; }
  .floating-card small { font-size: 8px; }
  .card-bottom { right: 0; bottom: 10%; padding: 11px; font-size: 9px; }
  .scroll-cue { bottom: 0; }
  .about-section, .experience-section, .split-section, .expertise-section { padding-top: 95px; padding-bottom: 95px; }
  .section-heading h2, .journey-column h2, .expertise-intro h2 { font-size: 47px; }
  .timeline-body h3 { font-size: 35px; }
  .mission-grid { grid-template-columns: 1fr; }
  .mission-grid span:nth-child(even) { padding-left: 0; border-left: 0; }
  .contact-section { min-height: 580px; }
  .contact-inner h2 { font-size: 68px; }
  .contact-details { flex-direction: column; gap: 10px; }
  .contact-details span { display: none; }
  .site-footer { font-size: 9px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .cursor-orb { display: none; }
}
