:root{--bg:#0b0d0e;--surface:#121617;--line:#303638;--text:#f3f0e9;--muted:#9da5a5;--accent:#d98b78;--accent2:#7bbfc1;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:"DM Sans",sans-serif;line-height:1.6}body:before{content:"";position:fixed;inset:0;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 160 160' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.5'/%3E%3C/svg%3E");z-index:10}.ambient{position:absolute;border-radius:50%;filter:blur(100px);opacity:.12;pointer-events:none}.ambient-one{width:400px;height:400px;background:var(--accent);top:50px;right:-180px}.ambient-two{width:350px;height:350px;background:var(--accent2);top:900px;left:-220px}.site-header{height:86px;max-width:var(--max);margin:auto;padding:0 28px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid rgba(255,255,255,.08)}.brand{font:700 25px "Space Grotesk";color:var(--text);text-decoration:none}.brand span{color:var(--accent)}nav{display:flex;gap:32px}nav a,.site-footer a{color:var(--muted);text-decoration:none;font-size:14px}nav a:hover,.site-footer a:hover{color:var(--accent)}.header-cta{border:1px solid var(--line);padding:10px 15px;border-radius:99px;color:var(--text);text-decoration:none;font-size:13px}.header-cta span{color:var(--accent);margin-left:8px}.section{max-width:var(--max);margin:auto;padding:110px 28px}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:70px;align-items:center;padding-top:120px;padding-bottom:100px}.eyebrow,.section-index{font-size:11px;letter-spacing:2px;color:var(--accent);font-weight:700}.status-dot{display:inline-block;width:7px;height:7px;background:var(--accent);border-radius:50%;margin-right:9px;box-shadow:0 0 15px var(--accent)}h1,h2,h3{font-family:"Space Grotesk";line-height:1.08;margin:0}h1{font-size:clamp(55px,7vw,92px);letter-spacing:-5px;margin:25px 0}h1 em,h2 em{font-style:normal;color:var(--accent)}.hero-text{font-size:18px;color:var(--muted);max-width:560px}.hero-actions{display:flex;gap:13px;margin-top:35px}.button{display:inline-flex;align-items:center;gap:25px;padding:14px 18px;border-radius:5px;text-decoration:none;font-size:14px;font-weight:700}.button-primary{background:var(--accent);color:#10150b}.button-ghost{border:1px solid var(--line);color:var(--text)}.button span{font-size:18px}.hero-meta{display:flex;gap:13px;margin-top:32px;color:#697276;font-size:12px}.orbital-card{background:linear-gradient(145deg,#171d20,#0e1114);border:1px solid #303a3d;border-radius:8px;padding:20px;box-shadow:0 30px 90px #0008}.card-topline,.card-bottomline{display:flex;justify-content:space-between;color:#697477;font-size:10px;letter-spacing:1.5px}.card-bottomline{border-top:1px solid #293236;padding-top:15px}.orbital{height:390px;position:relative;display:grid;place-items:center}.orbit{position:absolute;border:1px solid #354044;border-radius:50%;transform:rotate(-28deg)}.orbit-a{width:290px;height:150px}.orbit-b{width:390px;height:210px;transform:rotate(38deg)}.orbit-c{width:190px;height:310px;transform:rotate(70deg)}.core{width:115px;height:115px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 35% 30%,#e4ff9c,#81a941 45%,#26361d 75%);color:#14200e;font:700 30px "Space Grotesk";box-shadow:0 0 80px #c7f36b55}.satellite{position:absolute;background:#1d2628;border:1px solid #455452;border-radius:4px;padding:6px 9px;font:700 10px "Space Grotesk";color:var(--accent)}.sat-one{top:70px;right:40px}.sat-two{bottom:75px;left:25px}.sat-three{top:170px;left:15px;color:var(--accent2)}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:40px;padding-bottom:40px}.metric{display:flex;gap:15px;align-items:flex-start}.metric strong{font:600 42px "Space Grotesk";letter-spacing:-2px}.metric strong span{font-size:22px;color:var(--accent)}.metric p{color:var(--muted);font-size:12px;line-height:1.4;margin:5px 0}.section-heading{display:flex;justify-content:space-between;gap:50px;margin-bottom:70px}.section-heading h2{font-size:clamp(38px,4vw,57px);letter-spacing:-2.5px;margin-top:18px}.section-heading>p{max-width:320px;color:var(--muted);font-size:14px;margin-top:30px}.timeline{border-top:1px solid var(--line)}.job{display:grid;grid-template-columns:210px 1fr;gap:50px;padding:45px 0;border-bottom:1px solid var(--line)}.job-date{font-size:11px;letter-spacing:1px;color:#697477;padding-top:7px}.job h3{font-size:25px;letter-spacing:-.8px}.job-title-row{display:flex;align-items:center;gap:15px}.job-tag{font-size:9px;letter-spacing:1px;color:#17200e;background:var(--accent);padding:4px 7px;border-radius:2px}.company{color:var(--accent2);font-size:14px;margin:8px 0 22px}.company span{margin-left:6px}.job ul{padding-left:18px;color:var(--muted);font-size:14px;max-width:750px}.job li{margin:10px 0}.tech-row,.project-stack{display:flex;flex-wrap:wrap;gap:8px;margin-top:25px}.tech-row span,.project-stack span{border:1px solid #303b3d;border-radius:99px;padding:5px 10px;color:#879294;font-size:11px}.compact{margin-bottom:45px}.project-card{display:grid;grid-template-columns:90px 1fr 50px;gap:30px;padding:40px;border:1px solid var(--line);background:linear-gradient(120deg,#111719,#0c0f11);border-radius:8px}.project-number{font:600 25px "Space Grotesk";color:var(--accent)}.project-label{font-size:10px;letter-spacing:2px;color:#697477;margin-bottom:12px}.project-main h3{font-size:42px}.project-main p{color:var(--muted);max-width:620px}.project-arrow{font-size:30px;color:var(--accent);text-align:right}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);border-top:1px solid var(--line)}.skill-group{padding:30px 0;border-bottom:1px solid var(--line)}.skill-group:nth-child(odd){padding-right:40px;border-right:1px solid var(--line)}.skill-group:nth-child(even){padding-left:40px}.skill-group h3{font-size:18px;margin-bottom:10px}.skill-group p{color:var(--muted);font-size:14px;margin:0}.contact-section{padding-top:70px}.contact-card{padding:75px 70px;border:1px solid #3b4a3c;background:radial-gradient(circle at 85% 20%,#c7f36b12,transparent 35%),#101713;border-radius:8px}.contact-card h2{font-size:clamp(42px,5vw,70px);letter-spacing:-3px;margin:20px 0}.contact-card p{color:var(--muted)}.contact-email{display:inline-block;color:var(--accent);font-size:18px;margin-top:25px;text-decoration:none;border-bottom:1px solid #526a38;padding-bottom:5px}.contact-email span{margin-left:25px}.site-footer{max-width:var(--max);margin:auto;padding:30px 28px 45px;display:flex;justify-content:space-between;color:#596366;font-size:12px;border-top:1px solid rgba(255,255,255,.08)}.site-footer div{display:flex;gap:25px}@media(max-width:800px){nav{display:none}.hero{grid-template-columns:1fr;padding-top:80px}.hero-visual{max-width:550px}.metrics{grid-template-columns:repeat(2,1fr)}.section-heading{display:block}.section-heading>p{margin-top:20px}.job{grid-template-columns:1fr;gap:12px}.job-date{padding:0}.project-card{grid-template-columns:45px 1fr}.project-arrow{grid-column:2;text-align:left}.contact-card{padding:45px 30px}.skills-grid{grid-template-columns:1fr}.skill-group:nth-child(odd){padding-right:0;border-right:0}.skill-group:nth-child(even){padding-left:0}.site-footer{display:block}.site-footer div{margin-top:15px}h1{letter-spacing:-3px}}
@media(max-width:480px){.section{padding:75px 20px}.site-header{padding:0 20px}.header-cta{display:none}.hero{padding-top:60px}.hero-text{font-size:16px}.orbital{height:290px}.orbit-a{width:220px;height:120px}.orbit-b{width:300px;height:160px}.orbit-c{height:240px}.metrics{gap:25px 10px}.metric strong{font-size:34px}.metric p{font-size:11px}.project-card{padding:25px 20px}.project-main h3{font-size:35px}}

.satellite{width:40px;height:40px;padding:7px;display:grid;place-items:center;overflow:hidden}
.satellite .skill-logo{width:25px;height:25px;object-fit:contain;display:block;filter:drop-shadow(0 0 7px #c7f36b99)}
.sat-three .skill-logo{filter:drop-shadow(0 0 7px #8bd7ffcc)}
.tech-row>span{width:32px;height:32px;padding:6px;display:inline-flex;align-items:center;justify-content:center;font-size:0}
.tech-row .tech-logo{width:20px;height:20px;object-fit:contain;display:block}
.tech-row .text-icon{font-size:8px;color:var(--accent);letter-spacing:0}
html,body{overflow-x:hidden}.ambient{position:fixed}.hero{overflow:hidden}.hero-visual,.orbital-card{min-width:0}
.satellite{background:#1d2628;border-color:#455452}
.satellite .skill-logo{width:25px;height:25px;padding:3px;background:#f5f7ff;border-radius:4px;object-fit:contain;filter:none}
.sat-three .skill-logo{padding:4px}
.project-stack>span{width:32px;height:32px;padding:6px;display:inline-flex;align-items:center;justify-content:center;font-size:0}
.project-stack .tech-logo{width:20px;height:20px;object-fit:contain;display:block}
.project-stack .text-icon{font-size:8px;color:var(--accent);letter-spacing:0}
.tech-row .text-icon,.project-stack .text-icon{display:none}
.tech-row .tech-logo{padding:3px;background:#f5f7ff;border-radius:4px}
.skill-icons{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}
.skill-icons img{width:28px;height:28px;object-fit:contain;padding:4px;background:#f5f7ff;border-radius:5px;filter:none;transition:transform .2s ease,box-shadow .2s ease}
.skill-icons img:hover{transform:translateY(-3px);box-shadow:0 0 14px #c7f36b66}
.skills-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;border-top:0}
.skill-card{display:flex;align-items:center;gap:10px;min-width:0;min-height:64px;padding:12px 11px;border:1px solid #29384c;border-radius:6px;background:linear-gradient(145deg,#111c2d,#0d1523);color:var(--text);font:600 14px "DM Sans",sans-serif;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease}
.skill-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 12px 28px #0006,0 0 18px #c7f36b22}
.skill-card img{width:24px;height:24px;min-width:24px;object-fit:contain;display:block;padding:2px;border-radius:3px;background:#f5f7ff}
.skill-card img.service-icon{width:30px;height:30px;min-width:30px;padding:3px;border-radius:5px;background:#f5f7ff;object-fit:contain}
.skill-card span{min-width:0;overflow-wrap:anywhere}
@media(max-width:800px){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.skills-grid{grid-template-columns:1fr}.skill-card{min-height:58px}}
.tech-row>span{width:auto;height:auto;padding:0;border:0;background:transparent}
.tech-row .tech-logo{width:22px;height:22px;padding:0;background:transparent;border-radius:0;filter:drop-shadow(0 0 5px #c7f36b55)}
.tech-row .tech-logo[src*="simpleicons.org"]{filter:brightness(0) invert(1) drop-shadow(0 0 5px #c7f36b55)}
.satellite{width:34px;height:34px;padding:0;background:transparent;border:0;overflow:visible}
.satellite .skill-logo{width:29px;height:29px;padding:0;background:transparent;border-radius:0;filter:drop-shadow(0 0 7px #c7f36b99)}
.satellite .skill-logo[src*="simpleicons.org"]{filter:brightness(0) invert(1) drop-shadow(0 0 7px #c7f36b99)}
.satellite-orbit{position:absolute;inset:0;animation:satelliteRevolve 34s linear infinite;transform-origin:50% 50%}
.satellite-orbit .satellite{position:absolute;top:50%;left:50%;margin:-17px 0 0 -17px}
.sat-one{transform:rotate(18deg) translateX(142px)}.sat-two{transform:rotate(145deg) translateX(142px)}.sat-three{transform:rotate(238deg) translateX(142px)}.sat-four{transform:rotate(285deg) translateX(142px)}
.sat-five{transform:rotate(68deg) translateX(102px)}.sat-six{transform:rotate(190deg) translateX(102px)}.sat-seven{transform:rotate(330deg) translateX(102px)}.sat-eight{transform:rotate(115deg) translateX(102px)}
.sat-nine{transform:rotate(42deg) translateX(102px)}.sat-ten{transform:rotate(258deg) translateX(102px)}.sat-eleven{transform:rotate(218deg) translateX(142px)}
@keyframes satelliteRevolve{to{transform:rotate(360deg)}}
.project-stack>span{width:auto;height:auto;padding:0;border:0;border-radius:0;background:transparent}
.project-stack .tech-logo{width:24px;height:24px;padding:0;background:transparent;border-radius:0;filter:drop-shadow(0 0 5px #b8d87855)}
.project-stack .tech-logo[src*="simpleicons.org"]{filter:brightness(0) invert(1) drop-shadow(0 0 5px #b8d87855)}
.skill-card img{background:transparent;padding:0;border-radius:0}
.skill-card img.nuclei-icon{width:30px;height:24px;min-width:30px;object-fit:contain;object-position:center}
.skill-card img.langchain-icon{width:30px;height:24px;min-width:30px;object-fit:contain;object-position:center}
.skill-card img[src*="simpleicons.org"],.skill-card img[src*="awsfundamentals.com"],.skill-card img[src*="opcfoundation.org"],.skill-card img[src*="upload.wikimedia.org"]{padding:3px;border-radius:4px;background:#f5f7ff}
@media(max-width:480px){.satellite-orbit{transform:scale(.84)}.satellite-orbit .satellite{transform-origin:17px 17px}}
.satellite-orbit{animation:none}
.sat-one{transform:rotate(18deg) translateX(154px)}.sat-two{transform:rotate(145deg) translateX(154px)}.sat-three{transform:rotate(238deg) translateX(154px)}.sat-four{transform:rotate(285deg) translateX(154px)}
.sat-five{transform:rotate(68deg) translateX(108px)}.sat-six{transform:rotate(190deg) translateX(108px)}.sat-seven{transform:rotate(330deg) translateX(108px)}.sat-eight{transform:rotate(115deg) translateX(108px)}.sat-nine{transform:rotate(42deg) translateX(108px)}.sat-eleven{transform:rotate(218deg) translateX(154px)}
.orbital-card{background:linear-gradient(145deg,#141b19,#0a0e0d);border-color:#2b3935}
.project-card,.skill-card{background:linear-gradient(145deg,#141b19,#0a0e0d);border-color:#2b3935}
.contact-links{display:flex;align-items:center;flex-wrap:wrap;gap:24px;margin-top:25px}
.contact-links .contact-email{margin-top:0}
.contact-linkedin{display:inline-block;color:#79b7c8;font-size:16px;text-decoration:none;border-bottom:1px solid #315b63;padding-bottom:5px;transition:color .2s ease,border-color .2s ease}
.contact-linkedin span{margin-left:12px}.contact-linkedin:hover{color:#b0e0df;border-color:#79b7c8}
.site-footer a[href*="linkedin"]{color:#79b7c8}.site-footer a[href*="linkedin"]:hover{color:#b0e0df}
@media(max-width:480px){.contact-links{align-items:flex-start;flex-direction:column;gap:16px}}
.contact-linkedin{width:36px;height:36px;display:inline-grid;place-items:center;padding:0;border:0}
html,body{width:100%;max-width:100%;overflow-x:hidden}
.contact-linkedin img{width:28px;height:28px;display:block;object-fit:contain;filter:drop-shadow(0 0 6px #79bfc155);transition:transform .2s ease,filter .2s ease}
.contact-linkedin:hover{border:0}.contact-linkedin:hover img{transform:translateY(-2px);filter:drop-shadow(0 0 9px #79bfc1aa)}
.site-footer a[href*="linkedin"]{display:inline-flex;align-items:center}.site-footer a[href*="linkedin"] img{width:18px;height:18px;display:block;object-fit:contain;filter:drop-shadow(0 0 5px #79bfc155)}
.satellite img[src*="amazonwebservices"],.tech-row img[src*="amazonwebservices"],.skill-card img[src*="amazonwebservices"]{padding:3px;background:#f5f7f5;border-radius:4px;object-fit:contain}
.satellite img[src*="aws-color-dark"],.tech-row img[src*="aws-color-dark"],.skill-card img[src*="aws-color-dark"]{padding:2px;background:#fff;border-radius:4px;object-fit:contain}
.skill-card img{padding:0;background:transparent;border-radius:0}
.hero-name{margin-bottom:14px;color:var(--accent2);font:600 20px "Space Grotesk",sans-serif;letter-spacing:.08em;text-transform:uppercase}
body{overflow-x:clip}
.satellite img[src*="aws-color-dark"],.tech-row img[src*="aws-color-dark"],.skill-card img[src*="aws-color-dark"]{padding:0;background:transparent;border-radius:4px;object-fit:contain}
@media(max-width:480px){.hero-name{font-size:17px}}
.satellite img[src*="simpleicons.org/mqtt"],.tech-row img[src*="simpleicons.org/mqtt"],.skill-card img[src*="simpleicons.org/mysql"],.skill-card img[src*="simpleicons.org/supabase"],.skill-card img[src*="simpleicons.org/mqtt"],.skill-card img[src*="simpleicons.org/celery"],.skill-card img[src*="awsfundamentals.com"]{padding:0;background:transparent;border-radius:0;object-fit:contain}
.satellite img[src*="simpleicons.org/mqtt"],.tech-row img[src*="simpleicons.org/mqtt"],.skill-card img[src*="simpleicons.org/mysql"],.skill-card img[src*="simpleicons.org/supabase"],.skill-card img[src*="simpleicons.org/mqtt"],.skill-card img[src*="simpleicons.org/celery"]{filter:brightness(0) invert(1) drop-shadow(0 0 5px #7bbfc155)}
.project-stack .tech-logo[src*="googlegemini"]{filter:none!important}
.skill-card img.nuclei-icon{transform:none;rotate:none}
.skill-card img.chatgpt-icon{width:24px;height:24px;min-width:24px;padding:4px;background:#fff;border-radius:4px;object-fit:contain}
.skill-card .skill-api-icon{width:30px;height:30px;min-width:30px;display:grid;place-items:center;color:#fff;font:700 10px "Space Grotesk",sans-serif;letter-spacing:.3px}
.skill-card img.gcp-icon{width:30px;height:30px;min-width:30px;padding:0;background:transparent;border-radius:0;object-fit:contain;filter:drop-shadow(0 0 5px #79bfc155)}
.education-card{display:grid;grid-template-columns:180px 1fr;gap:28px;align-items:start;padding:26px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.education-date{font-size:11px;letter-spacing:2px;color:var(--accent);font-weight:700}
.education-card h3{font-size:25px}
.education-card .company{margin:8px 0 0;color:var(--accent2)}
@media(max-width:600px){.education-card{grid-template-columns:1fr;gap:10px}.education-card h3{font-size:21px}}
.brand{display:flex;align-items:baseline;gap:12px;white-space:nowrap}
.brand-mark{color:var(--text)}.brand-mark>span{color:var(--accent)}.brand .brand-name{font:600 14px "DM Sans",sans-serif;color:var(--muted);letter-spacing:.2px}
@media(max-width:480px){.brand{gap:8px}.brand-name{font-size:12px}}
.site-header,nav,.hero,.metrics,.project-card,.education-card,.contact-links{min-width:0}
@media(max-width:900px){
	.site-header{padding-left:22px;padding-right:22px}
	nav{gap:20px}
	.hero{grid-template-columns:1fr;gap:48px}
	.hero-copy,.hero-visual{width:100%;max-width:680px;margin-left:auto;margin-right:auto}
	.hero-visual{display:flex;justify-content:center}
	.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
	.site-header{height:auto;min-height:76px;flex-wrap:wrap;gap:14px 18px;padding-top:16px;padding-bottom:16px}
	nav{display:flex;order:3;width:100%;justify-content:space-between;gap:10px}
	nav a{font-size:12px}
	.section-heading{gap:24px}
	.section-heading h2{font-size:clamp(32px,9vw,48px)}
	.hero{padding-top:70px;gap:38px}
	.hero-visual{overflow:hidden}
	.metrics{padding-top:55px;padding-bottom:55px}
	.project-card{grid-template-columns:1fr;gap:20px}
	.project-arrow{justify-self:start}
	.education-card{grid-template-columns:1fr;gap:10px}
}
@media(max-width:380px){
	nav{flex-wrap:wrap;justify-content:flex-start;column-gap:16px;row-gap:4px}
	nav a{font-size:11px}
	.hero-actions{align-items:stretch;flex-direction:column}
	.hero-actions .button{width:100%;text-align:center}
}
.contact-github{width:36px;height:36px;display:inline-grid;place-items:center;padding:0;border:0}
.contact-github img{width:28px;height:28px;display:block;object-fit:contain;filter:brightness(0) invert(1) drop-shadow(0 0 6px #79bfc155);transition:transform .2s ease,filter .2s ease}
.contact-github:hover{border:0}.contact-github:hover img{transform:translateY(-2px);filter:brightness(0) invert(1) drop-shadow(0 0 9px #79bfc1aa)}
.eyebrow{font-size:12px}
.status-dot{background:#59d477;box-shadow:0 0 15px #59d477}
.hero-name{font-size:26px}
@media(max-width:480px){.hero-name{font-size:21px}}
.hero{padding-top:72px}
@media(max-width:640px){.hero{padding-top:42px}}
.core{background:radial-gradient(circle at 35% 30%,#f2b09a,#b75f55 45%,#3a1f22 75%);color:#211417;box-shadow:0 0 80px #d98b7855}
.contact-card{border-color:#523437;background:radial-gradient(circle at 85% 20%,#d98b7812,transparent 35%),#101415}
.contact-email{border-color:#6e3d3b}
.skill-card:hover{box-shadow:0 12px 28px #0006,0 0 18px #d98b7822}
.skill-icons img:hover{box-shadow:0 0 14px #d98b7866}
.satellite .skill-logo,.tech-row .tech-logo,.project-stack .tech-logo{filter:drop-shadow(0 0 6px #d98b7855)}
.satellite .skill-logo[src*="simpleicons.org"],.satellite .skill-logo[src*="simple-icons"],.tech-row .tech-logo[src*="simpleicons.org"],.project-stack .tech-logo[src*="simpleicons.org"]{filter:brightness(0) invert(1) drop-shadow(0 0 6px #d98b7855)}
