:root{
  --ink:#05070d;
  --ink-2:#090d17;
  --ink-3:#0e1524;
  --paper:#f7f8fb;
  --paper-2:#eef2f7;
  --white:#fff;
  --text:#10131b;
  --muted:#647083;
  --muted-dark:#9da9bc;
  --line:rgba(14,24,43,.12);
  --line-dark:rgba(184,204,255,.15);
  --blue:#4267ff;
  --cyan:#4bdcff;
  --violet:#8d61ff;
  --mint:#64edc8;
  --gradient:linear-gradient(120deg,#4bdcff 0%,#4267ff 46%,#8d61ff 100%);
  --gradient-soft:linear-gradient(120deg,rgba(75,220,255,.14),rgba(66,103,255,.14),rgba(141,97,255,.12));
  --display:'Montserrat',Arial,sans-serif;
  --body:'Libre Franklin',Arial,sans-serif;
  --accent:'Raleway',Arial,sans-serif;
  --shadow:0 28px 70px rgba(9,18,38,.10);
  --shadow-dark:0 34px 90px rgba(0,0,0,.38);
  --radius:22px;
  --shell:min(1180px,calc(100vw - 64px));
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--ink)}
body{margin:0;background:var(--paper);color:var(--text);font-family:var(--body);font-size:16px;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
body.admin-bar .site-header{top:32px} a{color:inherit;text-decoration:none} img{max-width:100%;height:auto} button,input,textarea,select{font:inherit}
svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.shell{width:var(--shell);margin-inline:auto}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link:focus{clip:auto!important;width:auto;height:auto;left:16px;top:16px;padding:10px 14px;background:#fff;color:#000;z-index:99999;border-radius:8px}

/* Header */
.site-header{position:fixed;inset:0 0 auto;z-index:1000;height:78px;transition:.3s}
.site-header.is-scrolled{background:rgba(5,7,13,.84);border-bottom:1px solid rgba(255,255,255,.08);backdrop-filter:blur(20px);box-shadow:0 15px 50px rgba(0,0,0,.18)}
.site-header__inner{height:100%;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:38px}.brand{display:inline-flex;align-items:center;gap:9px;color:#fff;font:800 24px var(--display);letter-spacing:-.045em}.brand img{width:32px;height:32px}.brand__word span,.footer-brand span span{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.custom-logo-link{display:flex}.custom-logo{max-height:44px;width:auto}.site-nav{justify-self:center}.site-nav__list{display:flex;gap:29px;list-style:none;padding:0;margin:0}.site-nav a{position:relative;color:rgba(255,255,255,.76);font:600 12px var(--accent);letter-spacing:.035em}.site-nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-9px;height:1px;background:var(--gradient);transition:right .25s}.site-nav a:hover{color:#fff}.site-nav a:hover:after{right:0}.header-cta{display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#fff;font:600 11px var(--accent);letter-spacing:.04em;background:rgba(255,255,255,.035);transition:.25s}.header-cta:hover{border-color:rgba(91,126,255,.72);box-shadow:0 0 28px rgba(66,103,255,.22)}.header-cta .lc42-icon{width:15px;height:15px}.nav-toggle{display:none;border:0;background:none;width:42px;height:42px;padding:9px}.nav-toggle span:not(.screen-reader-text){display:block;height:2px;background:#fff;margin:5px 0;border-radius:3px}

/* Type and controls */
h1,h2,h3{font-family:var(--display);margin:0;letter-spacing:-.052em;line-height:1.04}.eyebrow{display:flex;align-items:center;gap:10px;margin:0 0 20px;color:#aeb8ff;font:700 11px var(--accent);text-transform:uppercase;letter-spacing:.22em}.eyebrow:before{content:"";width:32px;height:1px;background:var(--gradient)}.eyebrow--dark{color:#5364d8}.mini-label{margin:0;color:#9eacd0;font:700 10px var(--accent);text-transform:uppercase;letter-spacing:.19em}.section-heading h2{font-size:clamp(40px,5vw,68px);max-width:800px}.section-heading h2 em,.cv-contact h2 em{font-style:normal;background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.section-heading--split{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,.7fr);gap:70px;align-items:end}.section-heading--split>p{margin:0;color:var(--muted-dark);font-size:16px;max-width:500px}.section-light .section-heading--split>p{color:var(--muted)}.section-heading--center{text-align:center}.section-heading--center .eyebrow{justify-content:center}.section-heading--center h2{margin:auto}.lc42-icon{display:inline-grid;place-items:center;width:21px;height:21px;flex:0 0 auto}
.button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:11px;min-height:52px;padding:0 23px;border-radius:10px;font:700 11px var(--accent);letter-spacing:.045em;text-transform:uppercase;overflow:hidden;transition:.25s}.button .lc42-icon{width:17px;height:17px}.button--primary{background:var(--gradient);color:#fff;box-shadow:0 13px 34px rgba(66,103,255,.27)}.button--primary:before{content:"";position:absolute;inset:-80% -25%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.36),transparent 65%);transform:translateX(-80%) rotate(12deg);transition:transform .65s}.button--primary:hover:before{transform:translateX(80%) rotate(12deg)}.button--primary:hover{transform:translateY(-2px);box-shadow:0 18px 48px rgba(66,103,255,.38)}.button--ghost{color:#fff;border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.025)}.button--ghost:hover{border-color:rgba(91,126,255,.75);background:rgba(66,103,255,.08)}.button--large{text-transform:none;font-size:14px;min-height:60px}.text-link{display:inline-flex;align-items:center;gap:9px;font:700 12px var(--accent);text-transform:uppercase;letter-spacing:.06em;color:#304fd6}.text-link .lc42-icon{width:17px;height:17px}.text-link--light{color:#c9d5ff}
.section-dark{position:relative;background:var(--ink);color:#fff;overflow:hidden}.section-light{position:relative;background:var(--paper);color:var(--text)}

/* Hero */
.cv-hero{min-height:760px;padding:154px 0 100px;isolation:isolate}.cv-hero__layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(350px,.8fr);gap:88px;align-items:center;position:relative;z-index:3}.cv-hero__name{font:600 clamp(22px,2.1vw,30px) var(--accent);letter-spacing:-.02em;margin:0 0 10px;color:#d8dff0}.cv-hero h1{font-size:clamp(64px,7.8vw,112px);max-width:850px}.cv-hero h1 span{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.cv-hero__stack{margin:24px 0 0;font:600 15px var(--accent);letter-spacing:.06em;color:#9ccdfc}.cv-hero__intro{max-width:720px;margin:26px 0 0;color:#b3bdd0;font-size:18px;line-height:1.75}.cv-hero__actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.cv-hero__meta{display:flex;gap:25px;flex-wrap:wrap;margin-top:30px;color:#98a5bc;font-size:13px}.cv-hero__meta>span{display:inline-flex;align-items:center;gap:8px}.cv-hero__meta .lc42-icon{width:16px;height:16px}.availability i,.resume-status i{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--mint);box-shadow:0 0 14px rgba(100,237,200,.75)}
.cv-hero__grid{position:absolute;inset:0;z-index:-4;background-image:linear-gradient(rgba(99,128,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(99,128,255,.04) 1px,transparent 1px);background-size:62px 62px;mask-image:radial-gradient(circle at 70% 40%,#000 0,transparent 72%)}.cv-hero__glow{position:absolute;z-index:-3;border-radius:50%;filter:blur(8px)}.cv-hero__glow--a{width:520px;height:520px;right:5%;top:5%;background:radial-gradient(circle,rgba(76,120,255,.22),rgba(137,92,246,.08) 40%,transparent 70%)}.cv-hero__glow--b{width:360px;height:360px;left:-12%;bottom:-25%;background:radial-gradient(circle,rgba(75,220,255,.13),transparent 70%)}
.resume-card{position:relative;padding:28px;border-radius:24px;border:1px solid rgba(163,186,255,.2);background:linear-gradient(145deg,rgba(16,26,51,.76),rgba(7,11,22,.64));box-shadow:var(--shadow-dark);backdrop-filter:blur(22px)}.resume-card:before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:linear-gradient(130deg,rgba(75,220,255,.5),transparent 38%,rgba(141,97,255,.46));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none}.resume-card__top{display:flex;align-items:center;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:22px}.resume-monogram{font:800 28px var(--display);letter-spacing:-.06em}.resume-monogram span{background:var(--gradient);-webkit-background-clip:text;background-clip:text;color:transparent}.resume-status{display:flex;align-items:center;gap:7px;color:#c1ccde;font-size:11px}.resume-facts{margin:15px 0 0}.resume-facts>div{display:grid;grid-template-columns:105px 1fr;gap:16px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.07)}.resume-facts dt{color:#8492ad;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.resume-facts dd{margin:0;color:#e2e8f3;font:500 13px var(--body)}.resume-facts a{color:#b7c8ff}.resume-card__links{display:flex;gap:12px;margin-top:20px}.resume-card__links a{display:inline-flex;align-items:center;gap:7px;color:#aebad0;font-size:12px}.resume-card__links .lc42-icon{width:17px;height:17px}

/* Profile */
.cv-profile{padding:120px 0}.cv-profile__layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);gap:110px;align-items:start}.profile-copy>p{margin:3px 0 30px;font-size:19px;line-height:1.78;color:#3f4a5b}.profile-checks{list-style:none;margin:0;padding:0;display:grid;gap:0}.profile-checks li{display:flex;gap:17px;padding:18px 0;border-top:1px solid var(--line);color:#596476}.profile-checks li:last-child{border-bottom:1px solid var(--line)}.profile-checks .lc42-icon{width:28px;height:28px;color:#4866e8;padding:5px;background:#e9edff;border-radius:50%}.profile-checks strong{color:#171b25}

/* Skills */
.cv-skills{padding:118px 0}.cv-skills__mesh{position:absolute;inset:0;background:radial-gradient(circle at 90% 20%,rgba(70,108,255,.14),transparent 32%),radial-gradient(circle at 5% 100%,rgba(141,97,255,.11),transparent 30%)}.skills-matrix{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:60px}.skill-group{min-height:205px;padding:30px;border:1px solid var(--line-dark);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.015));transition:.3s}.skill-group:hover{transform:translateY(-4px);border-color:rgba(101,129,255,.42);box-shadow:0 20px 50px rgba(0,0,0,.18)}.skill-group__icon{display:grid;place-items:center;width:50px;height:50px;border-radius:13px;background:var(--gradient-soft);border:1px solid rgba(120,151,255,.17);color:#a6c5ff;font:700 15px var(--display)}.skill-group h3{font-size:22px;margin-top:23px;letter-spacing:-.035em}.skill-group p{margin:12px 0 0;color:#9facbf;font-size:14px;line-height:1.8}

/* Experience */
.cv-experience{padding:120px 0}.cv-timeline{margin-top:70px;border-top:1px solid var(--line)}.cv-role{display:grid;grid-template-columns:180px 30px 1fr;gap:30px;padding:38px 0;border-bottom:1px solid var(--line)}.cv-role__date{font:700 12px var(--accent);letter-spacing:.05em;text-transform:uppercase;color:#667187;padding-top:5px}.cv-role__marker{position:relative;display:flex;justify-content:center}.cv-role__marker:after{content:"";position:absolute;top:16px;bottom:-54px;width:1px;background:linear-gradient(#728aff,#dfe4ee)}.cv-role:last-child .cv-role__marker:after{display:none}.cv-role__marker span{position:relative;z-index:2;width:12px;height:12px;border-radius:50%;background:#fff;border:3px solid #647dff;box-shadow:0 0 0 6px #eef1ff}.cv-role__content h3{font-size:25px;letter-spacing:-.035em}.cv-role__company{margin:7px 0 16px;color:#3f5cd4;font:600 13px var(--accent)}.cv-role__description{color:#586375;max-width:820px}.cv-role__description p{margin:0}.cv-role__description ul{margin:8px 0 0;padding-left:20px}.cv-role__description li{margin:7px 0}.cv-experience__action{margin-top:32px;text-align:right}

/* Projects */
.cv-projects{padding:118px 0}.cv-project-grid{margin-top:64px;display:grid;gap:14px}.cv-project{position:relative;display:grid;grid-template-columns:80px minmax(0,1.2fr) minmax(260px,.6fr);gap:30px;align-items:stretch;min-height:240px;padding:30px;border:1px solid var(--line-dark);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(255,255,255,.015));overflow:hidden;transition:.3s}.cv-project:hover{transform:translateY(-3px);border-color:rgba(104,134,255,.38);box-shadow:0 24px 55px rgba(0,0,0,.22)}.cv-project__index{font:600 13px var(--accent);letter-spacing:.15em;color:#6f81a6;padding-top:5px}.cv-project__content{align-self:center}.project-type{margin:0 0 9px;color:#7ea4ff;font:700 10px var(--accent);text-transform:uppercase;letter-spacing:.14em}.cv-project h3{font-size:26px;letter-spacing:-.035em}.cv-project__content>p:not(.project-type):not(.project-tech):not(.project-result){max-width:690px;color:#a4aec1;margin:12px 0}.project-tech{margin:14px 0;color:#d2d9e8;font:600 12px var(--accent)}.project-result{display:flex;gap:8px;align-items:center;color:#8be7d0;font-size:12px}.project-result .lc42-icon{width:16px;height:16px}.cv-project__content>a{display:inline-flex;align-items:center;gap:8px;margin-top:13px;color:#bdcaff;font:700 11px var(--accent);text-transform:uppercase;letter-spacing:.06em}.cv-project__content>a .lc42-icon{width:15px;height:15px}.cv-project__thumb,.cv-project__abstract{min-height:180px;border-radius:15px;overflow:hidden;align-self:center}.cv-project__thumb img{width:100%;height:100%;object-fit:cover}.cv-project__abstract{position:relative;background:radial-gradient(circle at 50% 45%,rgba(87,103,255,.42),rgba(19,31,69,.66) 32%,rgba(6,10,20,.9) 72%);border:1px solid rgba(148,173,255,.15)}.cv-project__abstract span{position:absolute;inset:50% auto auto 50%;width:105px;height:105px;border:1px solid rgba(136,165,255,.4);transform:translate(-50%,-50%) rotate(45deg);box-shadow:0 0 35px rgba(77,98,255,.18)}.cv-project__abstract span:nth-child(2){width:72px;height:72px;border-color:rgba(82,220,255,.42)}.cv-project__abstract span:nth-child(3){width:42px;height:42px;background:linear-gradient(135deg,rgba(75,220,255,.22),rgba(141,97,255,.38));border-color:rgba(255,255,255,.4)}

/* Role fit */
.cv-fit{padding:118px 0}.fit-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:58px}.fit-card{position:relative;padding:34px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(20,32,62,.06);transition:.3s}.fit-card:hover{transform:translateY(-4px);box-shadow:var(--shadow)}.fit-card>span{font:700 11px var(--accent);letter-spacing:.14em;color:#6373d8}.fit-card h3{margin-top:34px;font-size:22px;letter-spacing:-.035em}.fit-card p{color:#637083;margin:13px 0 0;font-size:14px}

/* Reference */
.cv-reference{padding:90px 0;border-top:1px solid var(--line)}.cv-reference__inner{max-width:900px;text-align:center}.cv-reference__inner .eyebrow{justify-content:center}.cv-reference blockquote{margin:0;font:500 clamp(24px,3vw,38px)/1.4 var(--display);letter-spacing:-.035em;color:#1a2030}.cv-reference__inner>p:last-child{margin:24px 0 0;color:#657082}.cv-reference__inner>p strong,.cv-reference__inner>p span{display:block}.cv-reference__inner>p strong{color:#2d4cd0}.cv-reference__inner>p span{font-size:12px}

/* Contact */
.cv-contact{padding:100px 0}.cv-contact__beam{position:absolute;right:-9%;bottom:-80%;width:650px;height:650px;border-radius:50%;border:1px solid rgba(81,124,255,.25);box-shadow:0 0 95px rgba(71,99,255,.15),inset 0 0 95px rgba(75,220,255,.07)}.cv-contact__layout{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:80px;align-items:center}.cv-contact h2{font-size:clamp(44px,5.6vw,76px);max-width:800px}.cv-contact p:not(.eyebrow){max-width:680px;color:#a7b3c8;margin:22px 0 0}.cv-contact__actions{display:grid;justify-items:start;gap:17px;min-width:330px}

/* Footer */
.site-footer{background:#03050a;color:#8996ab;border-top:1px solid rgba(255,255,255,.07)}.site-footer__top{display:flex;align-items:center;justify-content:space-between;gap:30px;padding:28px 0}.footer-brand{display:flex;align-items:center;gap:9px;color:#fff;font:800 21px var(--display);letter-spacing:-.04em}.footer-brand img{width:29px;height:29px}.footer-meta{display:flex;align-items:center;gap:22px;flex-wrap:wrap;font-size:11px}.footer-meta>a,.footer-meta>span{display:flex;align-items:center;gap:7px}.footer-meta .lc42-icon{width:15px;height:15px}.site-footer__bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(255,255,255,.06);padding:15px 0 20px}.site-footer__bottom p{font-size:10px;margin:0}.back-to-top{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;border:1px solid rgba(255,255,255,.12);color:#fff}

/* Generic */
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.is-visible{opacity:1;transform:none}
body:not(.home) .site-header{background:rgba(5,7,13,.96);border-bottom:1px solid rgba(255,255,255,.08)}

@media(max-width:1100px){
  .cv-hero__layout{grid-template-columns:1fr .72fr;gap:50px}.resume-card{padding:24px}.cv-profile__layout{gap:65px}.section-heading--split{gap:45px}.cv-project{grid-template-columns:60px 1fr 260px}
}
@media(max-width:900px){
  body.admin-bar .site-header{top:46px}.site-header{height:70px}.site-header__inner{grid-template-columns:auto auto;justify-content:space-between}.nav-toggle{display:block}.header-cta{display:none}.site-nav{position:fixed;inset:70px 0 auto;background:rgba(5,7,13,.98);border-bottom:1px solid rgba(255,255,255,.08);padding:28px 24px 34px;transform:translateY(-130%);opacity:0;pointer-events:none;transition:.3s}.site-nav.is-open{transform:none;opacity:1;pointer-events:auto}.site-nav__list{flex-direction:column;align-items:flex-start;gap:22px}.site-nav a{font-size:16px}
  .cv-hero{min-height:auto;padding:132px 0 85px}.cv-hero__layout{grid-template-columns:1fr}.resume-card{max-width:620px}.cv-profile__layout,.section-heading--split,.cv-contact__layout{grid-template-columns:1fr;gap:42px}.skills-matrix{grid-template-columns:1fr 1fr}.cv-project{grid-template-columns:55px 1fr}.cv-project__thumb,.cv-project__abstract{grid-column:2}.fit-grid{grid-template-columns:1fr}.cv-contact__actions{min-width:0}.site-footer__top{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
  :root{--shell:calc(100vw - 28px);--radius:18px}.brand img{width:29px;height:29px}.brand__word{font-size:21px}.cv-hero h1{font-size:clamp(48px,14vw,72px)}.cv-hero__name{font-size:21px}.cv-hero__intro{font-size:16px}.cv-hero__actions{display:grid}.button{width:100%}.cv-hero__meta{display:grid;gap:10px}.resume-facts>div{grid-template-columns:1fr;gap:5px}.cv-profile,.cv-skills,.cv-experience,.cv-projects,.cv-fit,.cv-contact{padding:88px 0}.section-heading h2{font-size:clamp(38px,11vw,54px)}.profile-copy>p{font-size:17px}.skills-matrix{grid-template-columns:1fr}.skill-group{min-height:auto}.cv-role{grid-template-columns:20px 1fr;gap:15px}.cv-role__date{grid-column:2;padding-top:0}.cv-role__marker{grid-row:1 / span 2}.cv-role__content{grid-column:2}.cv-project{grid-template-columns:1fr;gap:20px;padding:24px}.cv-project__index{position:absolute;right:24px;top:24px}.cv-project__thumb,.cv-project__abstract{grid-column:1;min-height:170px}.fit-card{padding:28px}.cv-contact__actions{width:100%}.site-footer__bottom{align-items:flex-start;gap:18px}.site-footer__bottom p{max-width:82%}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}}
