@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--bg:#090a0c;--panel:#111316;--panel2:#15181c;--text:#f3f2ef;--muted:#858990;--line:#282b30;--accent:#d7b46a;--accent2:#f0d394;--header:rgba(9,10,12,.82);--font:'DM Sans',sans-serif;--display:'Manrope',sans-serif}
:root.light{--bg:#f5f4f0;--panel:#fff;--panel2:#eeece6;--text:#151719;--muted:#696e75;--line:#dedbd3;--accent:#98702c;--accent2:#76531c;--header:rgba(245,244,240,.86)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--font);line-height:1.65;transition:background .3s,color .3s}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.loader{position:fixed;inset:0;background:var(--bg);z-index:1000;display:grid;place-content:center;justify-items:center;gap:22px;transition:opacity .5s,visibility .5s}.loader.done{opacity:0;visibility:hidden}.loader-mark{font:800 38px var(--display);letter-spacing:-3px}.loader-mark span,.brand span,.accent{color:var(--accent)}.loader-line{height:2px;width:120px;background:var(--line);overflow:hidden}.loader-line i{display:block;width:100%;height:100%;background:var(--accent);transform:translateX(-100%);animation:load 1s ease forwards}@keyframes load{to{transform:translateX(0)}}.site-header{height:82px;padding:0 7.2%;display:flex;align-items:center;justify-content:space-between;position:fixed;top:0;left:0;right:0;z-index:50;background:var(--header);backdrop-filter:blur(18px);border-bottom:1px solid color-mix(in srgb,var(--line) 65%,transparent)}.brand{font:800 25px var(--display);letter-spacing:-2px}.nav{display:flex;align-items:center;gap:31px}.nav-link{font-size:12px;color:var(--muted);transition:.25s}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-contact{color:var(--text);border:1px solid var(--line);padding:10px 15px;border-radius:2px}.nav-contact span{color:var(--accent);margin-left:8px}.theme-toggle,.menu-toggle{background:none;border:0;color:var(--text);cursor:pointer}.theme-toggle{font-size:23px;margin-left:24px}.menu-toggle{display:none}.section{padding:130px 11%;position:relative}.hero{min-height:780px;padding-top:175px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:5%;overflow:hidden}.hero-grid{position:absolute;inset:0;background-image:linear-gradient(var(--line) 1px,transparent 1px),linear-gradient(90deg,var(--line) 1px,transparent 1px);background-size:100px 100px;opacity:.12;mask-image:linear-gradient(90deg,black,transparent 90%);pointer-events:none}.hero-copy,.hero-visual{position:relative;z-index:1}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--accent);font-weight:700}.status-dot{display:inline-block;width:7px;height:7px;background:#83bd8a;border-radius:50%;margin-right:9px;box-shadow:0 0 12px #83bd8a}.hero-kicker{font-size:12px;letter-spacing:4px;color:var(--muted);margin:54px 0 2px}.hero h1{font:800 clamp(58px,7vw,100px)/1.05 var(--display);letter-spacing:-7px;margin:0}.hero h2{font:500 clamp(21px,2.4vw,31px) var(--display);margin:17px 0}.typed{color:var(--accent)}.cursor{color:var(--accent);animation:blink .8s infinite}@keyframes blink{50%{opacity:0}}.hero-description{max-width:440px;color:var(--muted);font-size:15px;margin:23px 0 32px}.hero-actions{display:flex;gap:13px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;gap:24px;padding:14px 20px;font-size:12px;font-weight:700;border:1px solid var(--line);transition:transform .25s,background .25s,color .25s;cursor:pointer}.btn:hover{transform:translateY(-3px)}.btn-primary{background:var(--accent);color:#111;border-color:var(--accent)}.btn-primary:hover{background:var(--accent2)}.btn-ghost{color:var(--text)}.btn-ghost span{color:var(--accent)}.hero-meta{display:flex;align-items:center;gap:13px;margin-top:76px;color:var(--muted);font-size:8px;letter-spacing:1.5px}.meta-line{width:38px;height:1px;background:var(--line)}.hero-visual{height:480px;display:flex;align-items:center;justify-content:center}.portrait-frame{width:min(330px,75%);height:410px;position:relative;z-index:2;border:1px solid var(--accent);padding:12px;transform:rotate(2deg)}.portrait-frame:before{content:"";position:absolute;inset:20px -20px -20px 20px;border:1px solid var(--line);z-index:-1}.portrait-frame img{width:100%;height:100%;object-fit:cover;filter:grayscale(100%);display:block}.portrait-label{position:absolute;bottom:25px;left:-25px;background:var(--bg);border:1px solid var(--line);padding:13px 17px;display:flex;align-items:center;gap:12px}.portrait-label>span{font:800 23px var(--display);color:var(--accent)}.portrait-label small{font-size:8px;line-height:1.5;letter-spacing:1px;color:var(--muted)}.orbit{position:absolute;border:1px solid var(--line);border-radius:50%;width:440px;height:440px}.orbit-two{width:510px;height:510px;border-style:dashed;opacity:.45}.floating-note{position:absolute;right:-8px;bottom:40px;z-index:3;background:var(--panel);border:1px solid var(--line);padding:15px 18px;display:flex;gap:12px;align-items:center;font-size:10px;color:var(--muted);box-shadow:0 20px 60px #0003}.floating-note b{color:var(--text)}.note-icon{color:var(--accent);font-size:24px}.hero-index{position:absolute;right:0;top:10px;color:var(--muted);font-size:10px;letter-spacing:2px}.hero-index span{color:var(--accent)}.scroll-cue{position:absolute;bottom:35px;left:11%;font-size:8px;letter-spacing:2px;color:var(--muted);display:flex;align-items:center;gap:12px}.scroll-cue span{height:35px;width:1px;background:var(--accent)}.section-heading{margin-bottom:58px}.section-heading h2,.contact-top h2{font:700 clamp(37px,5vw,62px)/1.14 var(--display);letter-spacing:-3px;margin:16px 0}.muted{color:var(--muted)}.about-section{background:var(--panel);}.about-content{display:grid;grid-template-columns:1fr 1fr;gap:12%;}.about-lead{font:600 25px/1.5 var(--display);max-width:440px}.about-text{color:var(--muted);font-size:14px}.text-link{display:inline-block;color:var(--text);margin-top:16px;font-size:12px;border-bottom:1px solid var(--accent);padding-bottom:6px}.text-link span{color:var(--accent);margin-left:12px}.stats-row{display:flex;gap:11%;border-top:1px solid var(--line);margin-top:75px;padding-top:32px}.stats-row div{display:grid}.stats-row strong{font:700 38px var(--display)}.stats-row strong span{color:var(--accent);font-size:23px}.stats-row small{font-size:8px;letter-spacing:1.5px;color:var(--muted);margin-top:6px}.skills-layout{display:grid;grid-template-columns:.8fr 1.2fr;gap:12%}.skills-intro p{color:var(--muted);font-size:15px;max-width:340px}.skill-tags{display:flex;gap:8px;flex-wrap:wrap;margin-top:30px}.skill-tags span,.tech-list span{border:1px solid var(--line);padding:7px 10px;color:var(--muted);font-size:9px}.skill-item{margin-bottom:27px}.skill-item>div:first-child{display:flex;justify-content:space-between;font-size:12px;margin-bottom:10px}.skill-item b{color:var(--accent);font-size:10px}.bar{height:3px;background:var(--line)}.bar i{display:block;width:0;height:100%;background:var(--accent);transition:width 1.2s cubic-bezier(.2,.8,.2,1)}.services-section{background:var(--panel)}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-left:1px solid var(--line)}.service-card{position:relative;min-height:260px;padding:25px 22px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transition:background .3s}.service-card:hover{background:var(--panel2)}.service-number{font-size:9px;color:var(--muted)}.service-icon{font-size:27px;color:var(--accent);margin:34px 0 17px}.service-card h3{font:600 16px var(--display);margin:0 0 10px}.service-card p{font-size:11px;color:var(--muted);line-height:1.7}.service-arrow{position:absolute;right:20px;top:20px;color:var(--accent);opacity:0;transition:.3s}.service-card:hover .service-arrow{opacity:1}.projects-heading{display:flex;justify-content:space-between;align-items:end}.projects-heading>p{max-width:280px;color:var(--muted);font-size:12px}.project-grid{display:grid;grid-template-columns:1fr 1fr;gap:55px 25px}.project-large{grid-column:span 2}.project-large .project-image{height:390px}.project-image{height:260px;display:block;position:relative;overflow:hidden;background:var(--panel)}.project-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s;filter:saturate(.75)}.project-image:hover img{transform:scale(1.04)}.image-link{position:absolute;right:17px;top:17px;width:38px;height:38px;background:var(--accent);color:#111;display:grid;place-items:center}.project-info{display:grid;grid-template-columns:1fr 1fr;gap:12px 25px;padding-top:19px}.project-type{font-size:8px;letter-spacing:1.5px;color:var(--accent)}.project-info h3{font:600 21px var(--display);margin:5px 0}.project-info>p{font-size:11px;color:var(--muted);margin:0}.tech-list{display:flex;gap:6px;flex-wrap:wrap}.tech-list span{padding:5px 8px}.project-links{display:flex;gap:18px;align-items:center;justify-content:flex-end;font-size:10px}.project-links a:hover{color:var(--accent)}.experience-section{background:var(--panel)}.timeline{max-width:850px}.timeline-item{display:grid;grid-template-columns:170px 20px 1fr;gap:20px;position:relative;padding-bottom:45px}.timeline-item:not(:last-child):after{content:"";position:absolute;left:179px;top:17px;bottom:0;width:1px;background:var(--line)}.timeline-date{font-size:9px;letter-spacing:1px;color:var(--muted);padding-top:3px}.timeline-marker{width:9px;height:9px;border:2px solid var(--accent);border-radius:50%;margin-top:6px;z-index:1;background:var(--panel)}.timeline-item h3{font:600 18px var(--display);margin:0}.timeline-place{font-size:10px;color:var(--accent);margin:5px 0 12px}.timeline-item div:last-child>p:last-child{font-size:12px;color:var(--muted);max-width:520px}.cv-strip{margin-top:55px;padding:30px 35px;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.cv-strip h3{font:600 22px var(--display);margin:7px 0 0}.contact-section{padding-bottom:100px}.contact-top{max-width:600px}.contact-top h2{font-size:clamp(48px,7vw,82px)}.contact-top>p:last-child{color:var(--muted);font-size:14px}.contact-layout{display:grid;grid-template-columns:1fr 1fr;gap:12%;margin-top:65px}.contact-email{font:600 clamp(19px,2.5vw,29px) var(--display);border-bottom:1px solid var(--line);padding-bottom:20px;display:flex;justify-content:space-between}.contact-email span{color:var(--accent)}.contact-detail{display:grid;gap:7px;margin-top:26px}.contact-detail small{font-size:8px;letter-spacing:1.5px;color:var(--muted)}.contact-detail a,.contact-detail>span{font-size:12px}.social-links{display:flex;gap:20px;margin-top:35px;font-size:10px;color:var(--muted)}.social-links a:hover{color:var(--accent)}.contact-form{display:grid;gap:10px}.contact-form label{font-size:10px;color:var(--muted);margin-top:8px}.contact-form input,.contact-form textarea{background:transparent;border:0;border-bottom:1px solid var(--line);padding:10px 0;color:var(--text);outline:none;resize:vertical;font-size:13px}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--accent)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#62666d}.submit-btn{justify-self:start;margin-top:15px}.form-note{font-size:9px;color:var(--muted);margin:0}.footer{padding:27px 7.2%;border-top:1px solid var(--line);display:flex;align-items:center;gap:25px}.footer p,.footer>span{font-size:9px;color:var(--muted)}.footer>span{margin-left:auto}.back-top{width:35px;height:35px;border:1px solid var(--line);display:grid;place-items:center;color:var(--accent)}.reveal{opacity:1;transform:none}.js .reveal{opacity:0;transform:translateY(24px);transition:opacity .7s,transform .7s}.js .reveal.visible{opacity:1;transform:translateY(0)}
@media(max-width:1000px){.site-header{padding:0 5%}.nav{gap:17px}.section{padding-left:8%;padding-right:8%}.hero{padding-left:8%;padding-right:8%}.scroll-cue{left:8%}.service-grid{grid-template-columns:repeat(2,1fr)}.hero h1{letter-spacing:-5px}.hero-visual{transform:scale(.9)}}
@media(max-width:760px){.site-header{height:70px}.menu-toggle{display:flex;flex-direction:column;gap:6px;position:absolute;right:70px;top:25px;padding:5px}.menu-toggle span{width:22px;height:1px;background:var(--text);transition:.3s}.nav{display:none;position:absolute;top:70px;left:0;right:0;background:var(--bg);padding:20px 7%;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.nav.open{display:flex}.nav-link{padding:13px 0;border-bottom:1px solid var(--line)}.nav-contact{border:0;padding:13px 0}.theme-toggle{margin-left:auto;margin-right:45px}.hero{display:flex;flex-direction:column;align-items:stretch;padding-top:135px;padding-bottom:100px;gap:35px}.hero-kicker{margin-top:38px}.hero h1{font-size:clamp(55px,15vw,82px)}.hero-visual{height:390px;transform:none}.portrait-frame{height:330px;width:260px}.orbit{width:350px;height:350px}.orbit-two{width:400px;height:400px}.floating-note{right:0;bottom:20px}.hero-meta{margin-top:45px;flex-wrap:wrap}.scroll-cue{bottom:25px}.section{padding:90px 7%}.about-content,.skills-layout,.contact-layout{grid-template-columns:1fr;gap:30px}.stats-row{gap:8%;margin-top:45px}.stats-row strong{font-size:30px}.stats-row small{font-size:7px}.section-heading{margin-bottom:40px}.service-grid{grid-template-columns:1fr 1fr}.service-card{min-height:235px;padding:18px}.projects-heading{display:block}.projects-heading>p{margin-top:20px}.project-grid{gap:38px 15px}.project-image{height:210px}.project-large .project-image{height:270px}.project-info{grid-template-columns:1fr;gap:9px}.project-info>p{max-width:450px}.project-links{justify-content:flex-start}.timeline-item{grid-template-columns:105px 15px 1fr;gap:12px}.timeline-item:not(:last-child):after{left:111px}.cv-strip{padding:23px;gap:20px}.cv-strip h3{font-size:17px}.footer{padding:23px 7%;gap:12px;flex-wrap:wrap}.footer p{display:none}.footer>span{font-size:8px}.contact-layout{margin-top:40px}}
@media(max-width:440px){.service-grid{grid-template-columns:1fr}.service-card{min-height:205px}.service-icon{margin:23px 0 12px}.project-grid{grid-template-columns:1fr}.project-large{grid-column:auto}.project-large .project-image,.project-image{height:230px}.stats-row{justify-content:space-between;gap:8px}.stats-row strong{font-size:26px}.stats-row small{letter-spacing:.7px}.timeline-item{grid-template-columns:1fr 15px 2fr}.timeline-date{font-size:8px}.timeline-item:not(:last-child):after{left:calc(33.333% + 6px)}.cv-strip{align-items:flex-start;flex-direction:column}.contact-email{font-size:19px}.social-links{gap:13px}.hero-meta{font-size:7px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}}
