:root{--font-size-small:1.8rem;--font-size-normal:2.2rem;--font-size-medium:2.8rem;--font-size-medium-1:3.6rem;--font-size-large:5.5rem;--font-size-huge:7.5rem;--line-height-normal:1.7;--line-height-small:1.2;--black:#000;--bg:#08080a;--bg-elevated:#121216;--bg-elevated-2:#17171d;--pink:#ff3258;--pink-soft:#ff325824;--white:#f0e9f2;--white-1:#e5e5e6da;--muted:#8b8b93;--border:#24232380;--border-light:1px solid #242323;--container-max-width:1180px;--container-normal-width:800px;--container-medium-width:700px;--container-small-width:500px;--gutter-huge:12rem;--gutter-medium:6rem;--gutter-normal:3rem;--gutter-small-1:2.5rem;--gutter-small:2rem;--font-display:"Jost", sans-serif;--font-mono:"JetBrains Mono", "Inconsolata", monospace}*{box-sizing:inherit;margin:0;padding:0}html{box-sizing:border-box;scroll-behavior:smooth;font-size:62.5%}@media (width<=1000px){html{font-size:55%}}body{font-size:var(--font-size-small);font-family:var(--font-mono);color:var(--white-1);font-weight:400;line-height:var(--line-height-normal);background:var(--bg);overflow-x:hidden}body:before{content:"";z-index:-2;pointer-events:none;background:radial-gradient(70% 45% at 50% -8%,#ff32581f,#0000 70%),radial-gradient(60% 50% at 100% 0,#ff325812,#0000 65%);position:fixed;inset:0}img{object-fit:contain;max-width:100%}.row{max-width:var(--container-max-width);width:100%;margin:0 auto}@media (width<=1240px){.row{padding:0 var(--gutter-medium)}}@media (width<=600px){.row{padding:0 var(--gutter-normal)}}section{padding:var(--gutter-huge) 0;border-bottom:var(--border-light);position:relative}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:var(--line-height-small);color:var(--white)}.heading-primary{line-height:1;font-size:var(--font-size-huge);font-weight:500}@media (width<=900px){.heading-primary{font-size:6.5rem}}h2{font-size:var(--font-size-large);margin-bottom:var(--gutter-medium)}h2:after{content:"";background:var(--pink);width:10rem;height:2px;margin:var(--gutter-small) 0;display:block}h3{font-size:var(--font-size-medium-1);margin-bottom:var(--gutter-small)}@media (width<=500px){.heading-primary{font-size:var(--font-size-large)}h2{font-size:var(--font-size-medium-1)}h3{font-size:var(--font-size-medium)}}p{margin:var(--gutter-small-1) 0}.section__label{font-family:var(--font-mono);color:var(--pink);font-size:var(--font-size-small);letter-spacing:2px;text-transform:uppercase;margin-bottom:var(--gutter-small);display:block}a{color:var(--white);font-weight:400;font-family:var(--font-display);outline:2px solid #0000;text-decoration:none;transition:all .2s}button:focus,a:focus{outline:2px solid var(--pink);outline-offset:3px}.link:hover{color:var(--pink)}.btn{color:inherit;border:1px solid var(--pink);font-weight:400;font-family:var(--font-display);font-size:var(--font-size-small);cursor:pointer;z-index:1;background:0 0;padding:1rem 4.2rem;text-decoration:none;display:inline-block;position:relative;overflow:hidden}.btn:after{content:"";background:var(--white);z-index:-1;height:100%;transition:all .2s cubic-bezier(1,.68,.16,.9);display:block;position:absolute;top:0;left:0;right:100%}.btn:hover:after,.btn:focus:after{background:var(--pink);right:0}.btn--pink{background:var(--pink);color:var(--white);transition:all .2s}.btn--pink:after{display:none}.btn--pink:hover,.btn--pink:focus{background:0 0}.btn--ghost{color:var(--white)}.nav{z-index:100;border-bottom:1px solid #0000;width:100%;padding:1.6rem 0;transition:background .3s,-webkit-backdrop-filter .3s,backdrop-filter .3s,border-color .3s,padding .3s;position:fixed;top:0;left:0}.nav--scrolled{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);background:#08080ad1;padding:.8rem 0}.nav__inner{justify-content:space-between;align-items:center;display:flex}.nav__brand{font-family:var(--font-mono);color:var(--white);letter-spacing:.5px;font-size:2rem;font-weight:600}.nav__prompt{color:var(--pink)}.nav__cursor{color:var(--pink);animation:1.1s step-end infinite blink}.nav__links{align-items:center;gap:3.2rem;list-style:none;display:flex}.nav__links a{font-family:var(--font-mono);color:var(--white-1);font-size:1.6rem;position:relative}.nav__links a:not(.nav__cta):after{content:"";background:var(--pink);width:0;height:2px;transition:width .25s;position:absolute;bottom:-6px;left:0}.nav__links a:not(.nav__cta):hover{color:var(--white)}.nav__links a:not(.nav__cta):hover:after{width:100%}.nav__cta{padding:.7rem 2.2rem;font-size:1.5rem}.nav__toggle{cursor:pointer;z-index:120;background:0 0;border:none;flex-direction:column;gap:5px;padding:6px;display:none}.nav__toggle span{background:var(--white);width:26px;height:2px;transition:all .3s}@media (width<=820px){.nav__toggle{display:flex}.nav__links{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-left:1px solid var(--border);background:#0a0a0df7;flex-direction:column;justify-content:center;gap:3.4rem;width:min(78vw,340px);transition:transform .35s cubic-bezier(.7,0,.2,1);position:fixed;inset:0 0 0 auto;transform:translate(100%)}.nav__links--open{transform:translate(0)}.nav__links a{font-size:2.2rem}}.hero{border-bottom:var(--border-light);flex-direction:column;justify-content:center;min-height:100vh;padding:12rem 0 6rem;display:flex;position:relative;overflow:hidden}.hero:after{content:"";background:radial-gradient(circle, var(--pink-soft) 0%, transparent 65%);pointer-events:none;z-index:-1;width:55rem;height:55rem;position:absolute;top:-20%;right:-10%}.hero__grid{grid-template-columns:1fr;align-items:center;gap:5rem;display:grid}.hero__eyebrow{font-family:var(--font-mono);color:var(--pink);margin:0 0 1.2rem;font-size:1.8rem}.hero__name{letter-spacing:-1px;margin-bottom:2rem}.hero__role{font-family:var(--font-mono);color:var(--white);min-height:3.4rem;margin:0 0 2.4rem;font-size:2.4rem}.hero__prompt{color:var(--pink);margin-right:.8rem}.hero__cursor{color:var(--pink);animation:1.1s step-end infinite blink}.hero__blurb{max-width:52rem;color:var(--muted);margin:0 0 3.4rem;font-size:1.9rem;line-height:1.75}.hero__blurb span{color:var(--white);border-bottom:1px solid var(--pink)}.hero__actions{flex-wrap:wrap;gap:1.6rem;display:flex}.hero__scroll{font-family:var(--font-mono);letter-spacing:2px;text-transform:uppercase;color:var(--muted);flex-direction:column;align-items:center;gap:1rem;font-size:1.3rem;display:flex;position:absolute;bottom:3rem;left:50%;transform:translate(-50%)}.hero__scroll-line{background:linear-gradient(var(--pink), transparent);width:1px;height:5rem;animation:1.8s ease-in-out infinite scrolldrop}@media (width<=900px){.hero__grid{grid-template-columns:1fr;gap:4rem}.hero__scroll{display:none}}.about__grid{grid-template-columns:1fr;align-items:start;gap:6rem;display:grid}.about__body p{color:var(--muted);max-width:60rem;font-size:1.9rem}.about__body strong{color:var(--white);font-weight:500}.about__competencies{flex-direction:column;gap:1.2rem;margin-top:3rem;list-style:none;display:flex}.competency{font-family:var(--font-mono);color:var(--white);align-items:center;gap:1.2rem;font-size:1.7rem;display:flex}.competency__mark{color:var(--pink);flex-shrink:0}@media (width<=820px){.about__grid{gap:3.5rem}}.skills__grid{grid-template-columns:repeat(3,1fr);gap:2.4rem;display:grid}.skills__group{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:3rem 2.8rem;transition:transform .25s,border-color .25s}.skills__group:hover{border-color:#ff325880;transform:translateY(-6px)}.skills__group-title{font-family:var(--font-mono);color:var(--white);margin-bottom:2.4rem;font-size:1.9rem}.skills__list{flex-direction:column;gap:1.6rem;list-style:none;display:flex}.skill{font-family:var(--font-mono);color:var(--white-1);align-items:center;gap:1.4rem;font-size:1.7rem;display:flex}.skill__icon{color:var(--pink);flex-shrink:0;font-size:2.4rem}@media (width<=820px){.skills__grid{grid-template-columns:1fr}}.security__intro{color:var(--muted);max-width:62rem;margin-top:-3rem;margin-bottom:5rem;font-size:1.9rem}.cert{background:linear-gradient(120deg, var(--pink-soft), transparent 70%), var(--bg-elevated);border:1px solid #ff325866;border-radius:10px;align-items:center;gap:1.8rem;margin-bottom:3.4rem;padding:2rem 2.4rem;display:flex}.cert__icon{background:var(--pink);width:4.8rem;height:4.8rem;color:var(--white);border-radius:10px;flex-shrink:0;place-items:center;font-size:2.4rem;display:grid}.cert__text{flex-direction:column;gap:.2rem;display:flex}.cert__title{font-family:var(--font-display);color:var(--white);font-size:2rem}.cert__meta{font-family:var(--font-mono);color:var(--muted);font-size:1.4rem}.cert__badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:1px;color:var(--pink);border:1px solid var(--pink);border-radius:100px;flex-shrink:0;margin-left:auto;padding:.4rem 1.4rem;font-size:1.3rem}@media (width<=560px){.cert{flex-wrap:wrap}.cert__badge{margin-left:0}}.security__grid{grid-template-columns:repeat(2,1fr);gap:2.4rem;display:grid}.sec-card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:10px;padding:3rem 2.8rem;transition:transform .28s,border-color .28s;position:relative;overflow:hidden}.sec-card:before{content:"";background:var(--pink);transform-origin:top;width:3px;height:100%;transition:transform .3s;position:absolute;top:0;left:0;transform:scaleY(0)}.sec-card:hover{border-color:#ff325880;transform:translateY(-6px)}.sec-card:hover:before{transform:scaleY(1)}.sec-card__icon{background:var(--pink-soft);width:5.2rem;height:5.2rem;color:var(--pink);border-radius:10px;place-items:center;margin-bottom:2rem;font-size:2.6rem;display:grid}.sec-card__title{color:var(--white);margin-bottom:1.4rem;font-size:2.2rem}.sec-card__body{color:var(--muted);margin:0;font-size:1.6rem;line-height:1.7}@media (width<=820px){.security__grid{grid-template-columns:1fr}}.work__intro{color:var(--muted);max-width:60rem;margin-top:-3rem;margin-bottom:5rem;font-size:1.9rem}.work__grid{grid-template-columns:repeat(2,1fr);gap:3rem;display:grid}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:12px;flex-direction:column;transition:transform .3s,border-color .3s,box-shadow .3s;display:flex;overflow:hidden}.card:hover{border-color:var(--accent);transform:translateY(-8px);box-shadow:0 30px 60px -35px #000000e6}.card__media{background:radial-gradient(circle at 30% 20%, color-mix(in srgb, var(--accent) 22%, transparent), transparent 60%), var(--bg-elevated-2);border-bottom:1px solid var(--border);justify-content:center;align-items:center;height:20rem;display:flex;position:relative;overflow:hidden}.card__img{width:100%;height:100%}.card__img--cover{object-fit:cover;object-position:top}.card__img--contain{object-fit:contain;filter:drop-shadow(0 12px 24px #00000080);width:auto;max-height:15rem;padding:2.4rem}.card__placeholder{font-family:var(--font-mono);flex-direction:column;align-items:center;gap:.6rem;display:flex}.card__placeholder-text{color:var(--accent);letter-spacing:-1px;font-size:3.2rem;font-weight:700}.card__placeholder-sub{color:var(--muted);font-size:1.4rem}.card__index{font-family:var(--font-mono);color:var(--white);border:1px solid var(--border);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;border-radius:6px;padding:.3rem 1rem;font-size:1.6rem;position:absolute;top:1.4rem;right:1.6rem}.card__body{flex-direction:column;flex:1;gap:1.6rem;padding:2.8rem 2.8rem 3rem;display:flex}.card__title{color:var(--white);margin:0;font-size:2.8rem}.card__tagline{font-family:var(--font-mono);color:var(--accent);margin:.4rem 0 0;font-size:1.5rem}.card__desc{color:var(--muted);margin:0;font-size:1.6rem;line-height:1.7}.card__highlights{flex-direction:column;gap:.9rem;list-style:none;display:flex}.card__highlights li{color:var(--white-1);font-size:1.5rem;font-family:var(--font-mono);gap:1rem;display:flex}.card__bullet{color:var(--accent);flex-shrink:0}.card__tags{flex-wrap:wrap;gap:.8rem;margin-top:auto;list-style:none;display:flex}.card__tags li{font-family:var(--font-mono);color:var(--white-1);border:1px solid var(--border);background:#ffffff05;border-radius:100px;padding:.4rem 1.1rem;font-size:1.3rem}.card__links{flex-wrap:wrap;gap:1.2rem;margin-top:.8rem;display:flex}.card__cta{align-items:center;gap:.6rem;padding:.9rem 2.2rem;font-size:1.5rem;display:inline-flex}.card__status{font-family:var(--font-mono);color:var(--accent);border:1px dashed var(--accent);border-radius:100px;align-items:center;gap:.7rem;padding:.7rem 1.8rem;font-size:1.4rem;display:inline-flex}.card__status:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px;animation:1.6s ease-in-out infinite blink}@media (width<=820px){.work__grid{grid-template-columns:1fr}}.contact__inner{text-align:center;flex-direction:column;align-items:center;display:flex}.contact__inner h2{text-align:center}.contact__inner h2:after{margin-left:auto;margin-right:auto}.contact__lead{color:var(--muted);max-width:52rem;margin:0 0 3.4rem;font-size:1.9rem}.contact__socials{gap:1.4rem;list-style:none;display:flex}.contact__socials a{border:1px solid var(--border);width:4.8rem;height:4.8rem;color:var(--white-1);border-radius:8px;place-items:center;font-size:2rem;transition:all .25s;display:grid}.contact__socials a:hover{color:var(--pink);border-color:var(--pink);transform:translateY(-4px)}.footer{border-bottom:none;padding:4rem 0}.footer__inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:2rem;display:flex}.footer__brand{font-family:var(--font-mono);color:var(--white);font-size:1.7rem}.footer__social-links{gap:2.6rem;list-style:none;display:flex}.footer__social-links a{font-family:var(--font-mono);color:var(--white-1);align-items:center;gap:.8rem;font-size:1.6rem;display:inline-flex}.footer__social-links a:hover{color:var(--pink)}.footer__note{font-family:var(--font-mono);color:var(--muted);font-size:1.4rem}.reveal{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(28px)}.reveal.is-visible{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){.reveal{opacity:1;transition:none;transform:none}.nav__cursor,.hero__cursor,.hero__scroll-line{animation:none}}@keyframes blink{50%{opacity:0}}@keyframes scrolldrop{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom}to{transform-origin:bottom;transform:scaleY(0)}}
