:root{
  --ink:#101827;--muted:#667085;--paper:#f7f8fa;--white:#fff;--line:#dfe4ea;
  --accent:#12b8a6;--accent-dark:#078b7d;--navy:#0c1628;--blue:#4d67ff;
  --serif:"Manrope",sans-serif;--sans:"DM Sans",sans-serif;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.7}a{color:inherit;text-decoration:none}.wrap{width:min(1160px,calc(100% - 48px));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(12,22,40,.94);backdrop-filter:blur(16px);border-bottom:1px solid rgba(255,255,255,.08)}
.nav{height:76px;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:11px;color:#fff;font-weight:500;font-size:17px}.brand img{width:40px;height:40px}.brand b{font-weight:800}.nav-links{display:flex;align-items:center;gap:34px;color:#cbd3df;font-size:14px;font-weight:600}.nav-links a{transition:.2s}.nav-links a:hover{color:#fff}.nav-cta{border:1px solid rgba(255,255,255,.25);padding:9px 17px;border-radius:100px;color:#fff!important}.menu-toggle{display:none;background:none;border:0;padding:8px}.menu-toggle span{display:block;width:25px;height:2px;background:#fff;margin:5px}
.hero{position:relative;overflow:hidden;background:var(--navy);color:#fff;min-height:720px;display:flex;align-items:center}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center;position:relative;z-index:1}.eyebrow,.section-kicker{font-size:12px;letter-spacing:.19em;font-weight:800;color:var(--accent);margin:0 0 18px}.hero h1{font-family:var(--serif);font-size:clamp(50px,6vw,82px);line-height:1.02;letter-spacing:-.055em;margin:0 0 28px;font-weight:800}.hero h1 em{font-style:normal;color:#83e6db}.hero-lead{font-size:18px;line-height:1.7;color:#c4cbd6;max-width:650px;margin:0 0 34px}.hero-actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;align-items:center;justify-content:center;gap:22px;border:0;border-radius:8px;padding:14px 21px;font:700 14px var(--sans);cursor:pointer}.button-primary{background:var(--accent);color:#061a19;box-shadow:0 12px 30px rgba(18,184,166,.2)}.button-primary:hover{background:#28c8b7}.text-link{font-weight:700;color:#fff}.text-link span{color:var(--accent);margin-left:8px}.hero-proof{display:flex;gap:42px;margin-top:72px;padding-top:23px;border-top:1px solid rgba(255,255,255,.12)}.hero-proof div{display:flex;flex-direction:column}.hero-proof strong{font-size:18px}.hero-proof span{font-size:12px;color:#8792a4}.hero-card{height:500px;max-width:430px;width:100%;justify-self:end;border:1px solid rgba(255,255,255,.16);border-radius:28px;background:
radial-gradient(circle at 50% 43%,rgba(18,184,166,.10),transparent 27%),
linear-gradient(145deg,rgba(255,255,255,.075),rgba(255,255,255,.012));
position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;
box-shadow:0 40px 100px rgba(0,0,0,.28),inset 0 1px 0 rgba(255,255,255,.08)}
.hero-card:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 20%,rgba(255,255,255,.055) 42%,transparent 56%);transform:translateX(-120%);animation:cardShine 8s ease-in-out infinite}
.hero-grid-lines{position:absolute;inset:0;opacity:.24;background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(to bottom,transparent,black 16%,black 84%,transparent)}
.hero-corner{position:absolute;width:62px;height:62px;border-color:rgba(18,184,166,.45);border-style:solid}.corner-tl{top:25px;left:25px;border-width:1px 0 0 1px}.corner-br{right:25px;bottom:25px;border-width:0 1px 1px 0}
.radar-ring{position:absolute;border:1px solid rgba(111,230,219,.25);border-radius:50%;left:50%;top:43%;transform:translate(-50%,-50%);pointer-events:none}.radar-ring-one{width:335px;height:335px;animation:ringPulse 6s ease-in-out infinite}.radar-ring-two{width:245px;height:245px;border-color:rgba(77,103,255,.28);animation:ringPulse 6s ease-in-out infinite 1.5s}.radar-ring-one:after,.radar-ring-two:after{content:"";position:absolute;inset:8px;border:1px dashed rgba(18,184,166,.16);border-radius:50%}
.radar-sweep{position:absolute;width:155px;height:155px;left:50%;top:43%;transform-origin:0 0;transform:rotate(0deg);background:conic-gradient(from 0deg,rgba(18,184,166,.20),rgba(18,184,166,0) 34deg);clip-path:polygon(0 0,100% 0,100% 3%,0 3%);animation:radarSweep 5s linear infinite;z-index:1}
.network-line{position:absolute;height:1px;background:linear-gradient(90deg,transparent,rgba(18,184,166,.48),transparent);transform-origin:left center;opacity:.55}.line-a{width:165px;left:24%;top:28%;transform:rotate(24deg)}.line-b{width:145px;right:20%;top:34%;transform:rotate(154deg)}.line-c{width:170px;left:28%;top:62%;transform:rotate(-27deg)}
.network-node{position:absolute;border-radius:50%;background:#12b8a6;box-shadow:0 0 18px rgba(18,184,166,.65);z-index:3}.node-a{width:9px;height:9px;left:24%;top:28%;animation:floatDot 4s ease-in-out infinite}.node-b{width:6px;height:6px;right:20%;top:34%;animation:floatDot 5s ease-in-out infinite 1s}.node-c{width:8px;height:8px;left:28%;top:62%;animation:floatDot 6s ease-in-out infinite 2s}.node-d{width:5px;height:5px;right:30%;top:20%;animation:floatDot 4.5s ease-in-out infinite 1.5s}
.hero-emblem{position:relative;z-index:2;top:-34px;height:126px;display:flex;align-items:center;justify-content:center;font:800 128px/.72 var(--serif);letter-spacing:-.18em;filter:drop-shadow(0 14px 30px rgba(0,0,0,.3));animation:emblemFloat 6s ease-in-out infinite}.emblem-k{color:#fff;transform:translateX(8px)}.emblem-t{color:#12b8a6;transform:translateX(-7px)}
.hero-centre-label{position:absolute;z-index:3;top:57%;display:flex;gap:8px;font-size:9px;letter-spacing:.16em;color:#8995a8}.hero-centre-label b{color:#d9e0e9;font-weight:800}
.capability-label{position:absolute;z-index:5;top:70%;left:50%;transform:translateX(-50%);display:flex;gap:14px;align-items:center;color:#69778b;font-size:7px;letter-spacing:.17em;white-space:nowrap}.capability-label b{color:#12b8a6;font-weight:800}
.capability-word{position:absolute;z-index:6;top:76%;left:50%;transform:translate(-50%,0) translateY(8px);min-width:180px;max-width:calc(100% - 56px);padding:10px 15px;border:1px solid rgba(255,255,255,.14);background:rgba(12,22,40,.82);backdrop-filter:blur(12px);border-radius:999px;text-align:center;font-size:8px;letter-spacing:.14em;color:#b8c1ce;box-shadow:0 12px 30px rgba(0,0,0,.24);white-space:nowrap;opacity:0;animation:capabilityCycle 24s linear infinite}.capability-word i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#12b8a6;margin-right:7px;vertical-align:1px;box-shadow:0 0 9px rgba(18,184,166,.8)}.word-one{animation-delay:0s}.word-two{animation-delay:3s}.word-three{animation-delay:6s}.word-four{animation-delay:9s}.word-five{animation-delay:12s}.word-six{animation-delay:15s}.word-seven{animation-delay:18s}.word-eight{animation-delay:21s}
.hero-card-bottom{position:absolute;z-index:7;bottom:28px;left:32px;right:32px;display:flex;justify-content:space-between;align-items:end;border-top:1px solid rgba(255,255,255,.13);padding-top:17px}.hero-card-bottom span{font-size:11px;letter-spacing:.17em;font-weight:800}.hero-card-bottom small{color:#9ba5b5;font-size:9px;letter-spacing:.1em}
.hero-glow{position:absolute;border-radius:50%;filter:blur(1px)}.glow-one{width:500px;height:500px;background:rgba(18,184,166,.09);top:-250px;left:-180px}.glow-two{width:500px;height:500px;background:rgba(77,103,255,.10);right:-240px;bottom:-280px}
.section{padding:125px 0}.two-col{display:grid;grid-template-columns:.82fr 1.18fr;gap:100px}.section h2{font:800 clamp(36px,4vw,54px)/1.08 var(--serif);letter-spacing:-.045em;margin:0}.section h2 span,.section-heading h2 span,.contact-intro h2 span{color:var(--accent-dark)}.body-copy{font-size:16px;color:#4f5b6c}.body-copy p{margin:0 0 20px}.skills-section{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-heading{display:flex;justify-content:space-between;gap:70px;align-items:end;margin-bottom:55px}.section-heading>p{max-width:390px;color:var(--muted);margin:0}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.skill-card{background:#f7f8fa;border:1px solid #e4e8ed;border-radius:14px;padding:30px;min-height:230px;transition:.25s}.skill-card:hover{transform:translateY(-4px);box-shadow:0 16px 40px rgba(16,24,39,.07)}.skill-card.wide{grid-column:span 2}.skill-number{font-size:11px;letter-spacing:.16em;color:var(--accent-dark);font-weight:800;margin-bottom:20px}.skill-card h3{font:700 21px var(--serif);margin:0 0 16px}.skill-card ul,.job ul{padding-left:19px;margin:0;color:#536071;font-size:14px}.skill-card li,.job li{margin:7px 0}.experience{background:var(--paper)}.experience-heading{margin-bottom:30px}.timeline{border-top:1px solid var(--line)}.job{display:grid;grid-template-columns:190px 1fr;gap:55px;padding:45px 0;border-bottom:1px solid var(--line)}.job-date{font-size:12px;letter-spacing:.12em;font-weight:800;color:var(--accent-dark);padding-top:8px}.job-main{max-width:850px}.job h3{font:800 28px var(--serif);letter-spacing:-.025em;margin:0}.company{color:var(--muted);font-size:14px;font-weight:600;margin:2px 0 18px}.job-main p{color:#536071;margin:0 0 16px}.job h4{font-size:12px;letter-spacing:.14em;text-transform:uppercase;margin:24px 0 8px}.contact-section{background:var(--navy);color:#fff;padding:115px 0}.contact-grid{display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:90px;align-items:start}.contact-intro h2{font:800 clamp(42px,4.5vw,62px)/1.05 var(--serif);letter-spacing:-.05em;margin:0 0 25px}.contact-intro>p:not(.section-kicker){color:#aeb8c7;max-width:470px}.contact-mark{font:800 64px/1 var(--serif);color:rgba(255,255,255,.08);margin-top:60px}.contact-form{display:flex;flex-direction:column;gap:18px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.contact-form label{font-size:12px;font-weight:700;color:#aeb8c7;display:flex;flex-direction:column;gap:7px}.contact-form label span{color:var(--accent)}.contact-form input,.contact-form textarea{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.055);border-radius:7px;color:#fff;padding:13px 14px;font:15px var(--sans);outline:none;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form .button{align-self:flex-start;margin-top:5px}.form-note{font-size:11px;color:#758197;margin:0}.honeypot{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important}.footer{background:#080f1d;color:#738095;padding:22px 0;font-size:12px}.footer .wrap{display:flex;justify-content:space-between}.footer a:hover{color:#fff}

@keyframes spin{to{transform:translate(-50%,-50%) rotate(360deg)}}@keyframes spinReverse{to{transform:translate(-50%,-50%) rotate(-360deg)}}
@keyframes emblemFloat{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-7px) scale(1.015)}}
@keyframes floatDot{0%,100%{transform:translate(0,0);opacity:.75}50%{transform:translate(8px,-12px);opacity:1}}
@keyframes chipFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-6px)}}
@keyframes pulseLine{0%,100%{opacity:.25;transform:translateX(0) rotate(-25deg)}50%{opacity:.8;transform:translateX(-15px) rotate(-25deg)}}
@keyframes cardShine{0%,55%,100%{transform:translateX(-120%)}70%{transform:translateX(120%)}}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important}}
@media(max-width:850px){.wrap{width:min(100% - 34px,700px)}.nav{height:68px}.menu-toggle{display:block}.nav-links{position:absolute;top:68px;left:0;right:0;background:#0c1628;display:none;flex-direction:column;align-items:stretch;padding:18px 24px 25px;border-bottom:1px solid rgba(255,255,255,.1);gap:0}.nav-links.open{display:flex}.nav-links a{padding:12px 0}.nav-cta{text-align:center;margin-top:7px}.hero{min-height:auto;padding:90px 0 80px}.hero-grid{grid-template-columns:1fr;gap:55px}.hero-card{justify-self:start;height:380px}.orbit-one{width:270px;height:270px}.orbit-two{width:200px;height:200px}.hero-emblem{font-size:105px}.hero-centre-label{top:57%}.floating-chip{bottom:auto!important;transform:translate(-50%,-50%)!important}.chip-one{top:22%!important;left:76%!important}.chip-two{top:22%!important;left:24%!important}.chip-three{top:46%!important;left:13%!important}.chip-four{top:46%!important;left:87%!important}.chip-five{top:68%!important;left:76%!important}.chip-six{top:68%!important;left:24%!important}.chip-seven{top:13%!important;left:50%!important}.chip-eight{top:58%!important;left:87%!important}.hero-proof{margin-top:50px}.two-col,.contact-grid{grid-template-columns:1fr;gap:45px}.section{padding:85px 0}.section-heading{display:block}.section-heading>p{margin-top:22px}.skills-grid{grid-template-columns:1fr}.skill-card.wide{grid-column:auto}.job{grid-template-columns:1fr;gap:8px;padding:35px 0}.job-date{padding:0}.form-row{grid-template-columns:1fr}.contact-section{padding:85px 0}}
@media(max-width:480px){.hero h1{font-size:47px}.hero-proof{gap:20px;flex-wrap:wrap}.hero-card{height:290px}.monogram{font-size:80px}.section h2{font-size:37px}.skill-card{padding:25px}}

.form-status{grid-column:1/-1;min-height:0;margin-bottom:8px;font-size:14px;font-weight:700}.form-status.success{color:#83e6db}.form-status.error{color:#ff9f9f}

@keyframes chipReveal{0%,8%{opacity:0;transform:scale(.92)}12%,34%{opacity:1;transform:scale(1)}38%,100%{opacity:0;transform:scale(.92)}}

@keyframes radarSweep{to{transform:rotate(360deg)}}
@keyframes ringPulse{0%,100%{opacity:.65;transform:translate(-50%,-50%) scale(1)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.035)}}
@keyframes capabilityCycle{0%,3%{opacity:0;transform:translate(-50%,8px) scale(.96)}7%,25%{opacity:1;transform:translate(-50%,0) scale(1)}29%,100%{opacity:0;transform:translate(-50%,-7px) scale(.96)}}
@media(max-width:850px){.radar-ring-one{width:270px;height:270px}.radar-ring-two{width:200px;height:200px}.capability-word{top:74%;max-width:calc(100% - 44px);font-size:7px;padding:9px 12px}.capability-label{top:68%}.hero-centre-label{top:56%}}
@media(max-width:480px){.capability-word{top:72%;max-width:calc(100% - 34px);font-size:6.5px}.capability-label{top:66%}.radar-ring-one{width:225px;height:225px}.radar-ring-two{width:165px;height:165px}}
