:root{--ink:#19241f;--muted:#6d7771;--paper:#f7f8f3;--white:#fff;--green:#c9f36a;--line:#dfe4da;--dark:#17231e;--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:90px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:14px;line-height:1.7;-webkit-font-smoothing:antialiased}.page-shell{max-width:1600px;margin:auto;overflow:hidden}.topbar{height:84px;padding:0 7.2%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);background:rgba(247,248,243,.94);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);font-size:11px;font-weight:800;letter-spacing:1.7px}.brand-mark{display:grid;place-items:center;width:35px;height:35px;border:1px solid #bfc8ba;border-radius:50%;font-size:17px;letter-spacing:-1px}.brand-mark span{color:#7ba52d}.topbar nav{display:flex;align-items:center;gap:34px}.topbar nav a,.hero-links a{color:#4f5a53;text-decoration:none;font-size:11px;font-weight:700;transition:color .2s}.topbar nav a:hover,.hero-links a:hover{color:#719a25}.topbar nav .nav-resume{padding:10px 16px;border:1px solid #bfc8ba;border-radius:3px;color:var(--ink)}.nav-resume span{margin-left:12px}.menu-toggle{display:none}.hero{min-height:670px;padding:86px 7.2% 26px;display:grid;grid-template-columns:1fr .92fr;align-items:center;column-gap:4%;position:relative}.hero-copy{padding-bottom:34px;position:relative;z-index:2}.eyebrow,.section-kicker,.project-type,.visual-label,.experience-date,.experience-side,.hero-bottom,.orbit-label,.art-number{font-family:var(--mono);font-size:9px;letter-spacing:1.15px}.eyebrow{display:flex;align-items:center;gap:10px;color:#67736a}.status-dot,.tiny-dot{display:inline-block;width:7px;height:7px;background:#7cae35;border-radius:50%;box-shadow:0 0 0 4px rgba(124,174,53,.13)}.eyebrow-line{height:1px;width:32px;background:#bdc6b9;margin:0 2px}.hero h1{font-size:clamp(42px,5.1vw,72px);line-height:1.12;letter-spacing:-4px;font-weight:700;margin:27px 0 24px}.hero h1 span{color:#809d45}.hero-intro{font-size:13px;line-height:1.95;color:#68736b;max-width:485px}.hero-actions{display:flex;align-items:center;gap:28px;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;gap:27px;text-decoration:none;font-size:11px;font-weight:800;padding:15px 18px;border-radius:3px}.button-dark{background:var(--dark);color:white;transition:transform .2s,background .2s}.button-dark:hover{transform:translateY(-2px);background:#293b31}.button-dark span{font-size:16px;color:var(--green)}.text-link{display:flex;gap:9px;align-items:center;color:#28352d;text-decoration:none;font-size:11px;font-weight:800}.download-icon{display:grid;place-items:center;border:1px solid #ccd3c8;width:25px;height:25px;border-radius:50%;font-size:15px}.hero-links{display:flex;gap:26px;margin-top:42px}.hero-links a span{font-size:13px;margin-left:3px}.hero-art{height:470px;position:relative;background:#edf1e7;border-radius:48% 48% 3px 3px;overflow:hidden;isolation:isolate}.art-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(84,106,73,.09) 1px,transparent 1px),linear-gradient(90deg,rgba(84,106,73,.09) 1px,transparent 1px);background-size:35px 35px;mask-image:linear-gradient(to bottom,black,transparent 95%)}.orbit{position:absolute;border:1px solid rgba(103,130,82,.26);border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%) rotate(-26deg)}.orbit-one{width:390px;height:190px}.orbit-two{width:335px;height:295px;transform:translate(-50%,-50%) rotate(48deg)}.core-card{position:absolute;left:50%;top:47%;transform:translate(-50%,-50%);width:204px;background:#fff;border:1px solid #d9e0d4;border-radius:8px;padding:0 17px 15px;box-shadow:0 18px 50px rgba(39,58,39,.12)}.core-top{height:34px;display:flex;align-items:center;gap:4px;border-bottom:1px solid #edf0ea}.tiny-dot{width:5px;height:5px;box-shadow:none;background:#d2d9ce}.tiny-dot:first-child{background:#a6c96b}.core-caption{font-family:var(--mono);font-size:8px;color:#7c867d;margin-left:auto}.core-symbol{height:103px;display:grid;place-items:center}.core-symbol svg{width:68px;fill:none;stroke:#6f9440;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.core-name{font-size:17px;font-weight:800;line-height:1.35;letter-spacing:-.5px}.core-name span{color:#84aa42}.core-meta{display:flex;justify-content:space-between;border-top:1px solid #e9eee5;padding-top:12px;margin-top:14px;font-family:var(--mono);font-size:7px;color:#899389;letter-spacing:.5px}.core-meta b{font-weight:500;color:#5c7e35}.core-meta b i{display:inline-block;width:5px;height:5px;background:#8bb74b;border-radius:50%;margin-right:4px}.float-chip{position:absolute;display:flex;align-items:center;gap:10px;background:#fff;border:1px solid #e0e5db;padding:10px 13px;border-radius:5px;box-shadow:0 8px 24px rgba(36,52,34,.07)}.float-chip b,.float-chip small{display:block;white-space:nowrap}.float-chip b{font-size:9px}.float-chip small{font-size:8px;color:#7d877d}.chip-icon{width:29px;height:29px;border-radius:4px;background:#eef4e7;display:grid;place-items:center;color:#678a37;font-family:var(--mono);font-size:11px;font-weight:500}.chip-k8s{left:2%;top:24%}.chip-ci{right:1%;top:38%}.chip-cloud{left:12%;bottom:17%}.orbit-label{position:absolute;color:#788774;font-size:8px}.label-top{top:10%;left:14%}.label-bottom{bottom:8%;right:9%}.art-number{position:absolute;right:22px;bottom:20px;color:#52634d}.art-number span{color:#9ba697}.hero-bottom{grid-column:1/-1;display:flex;align-items:center;gap:13px;color:#788277;font-size:8px;margin-top:30px}.scroll-line{height:1px;width:55px;background:#a7b49e}.hero-bottom span:last-child{margin-left:auto}.section-pad{padding:104px 9%}.intro{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-kicker{color:#71864f}.intro-content{display:grid;grid-template-columns:1.2fr .8fr;gap:8%;align-items:end;margin-top:25px}.intro h2,.section-heading h2{font-size:clamp(29px,3.6vw,47px);line-height:1.2;letter-spacing:-2px;margin:0;font-weight:700}.intro h2 span{color:#829f4c}.intro-text p,.section-heading>p{font-size:12px;line-height:1.95;color:#707b72;margin:0 0 20px}.under-link{font-size:11px;color:var(--ink);font-weight:800;text-decoration:none;border-bottom:1px solid #aeb9a5;padding-bottom:7px}.under-link span{margin-left:15px}.stats-row{display:grid;grid-template-columns:repeat(4,1fr);margin-top:68px;border-top:1px solid var(--line);padding-top:28px}.stats-row>div{display:flex;flex-direction:column;gap:5px;border-right:1px solid var(--line);padding-left:26px}.stats-row>div:first-child{padding-left:0}.stats-row>div:last-child{border:0}.stats-row strong{font-size:24px;letter-spacing:-1px}.stats-row span{font-size:10px;color:#79837a}.skills{background:#f5f7f0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:35px;margin-bottom:42px}.section-heading h2{margin-top:13px}.section-heading h2 span{color:#819f47}.section-heading>p{max-width:320px;margin:0 0 4px}.skill-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.skill-card{position:relative;background:#fff;border:1px solid #e4e8df;padding:27px 24px 24px;min-height:235px;transition:transform .2s,border-color .2s}.skill-card:hover{transform:translateY(-3px);border-color:#c1d3a8}.skill-featured{background:#edf3e4}.skill-index{position:absolute;right:20px;top:18px;font-family:var(--mono);font-size:9px;color:#a0aa9a}.skill-icon{width:39px;height:39px;display:grid;place-items:center;background:#f0f4e9;color:#769641;border-radius:4px;font-family:var(--mono);font-size:17px}.skill-card h3{font-size:14px;margin:19px 0 7px;letter-spacing:-.3px}.skill-card p{font-size:10px;color:#7a847b;line-height:1.8;min-height:36px;margin:0 0 18px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{border:1px solid #dfe5d9;color:#5c6c58;background:rgba(255,255,255,.6);font-family:var(--mono);font-size:8px;line-height:1.4;padding:5px 7px;border-radius:2px}.projects{background:#fff}.project-list{display:flex;flex-direction:column;gap:22px}.project-card{display:grid;grid-template-columns:.92fr 1.08fr;border:1px solid #e1e6dd;background:#fcfdf9;min-height:380px}.project-reverse .project-visual{order:2}.project-reverse .project-info{order:1}.project-visual{position:relative;display:flex;align-items:center;justify-content:center;min-height:380px;padding:45px 30px;overflow:hidden}.visual-eks{background:#eaf0e4}.visual-gcp{background:#eef1e8}.visual-azure{background:#e9efe7}.visual-label{position:absolute;left:22px;top:19px;color:#819078;font-size:8px}.arch{width:100%;max-width:300px;display:flex;align-items:center;flex-direction:column;position:relative}.arch-node{width:155px;text-align:center;border:1px solid #c8d5bd;background:rgba(255,255,255,.8);border-radius:4px;padding:10px 8px;font-family:var(--mono);font-size:10px;color:#394b37;box-shadow:0 5px 14px rgba(61,83,52,.04)}.arch-node small{font-size:8px;color:#788776}.node-user{width:80px;background:#fff}.arch-connector{height:17px;width:1px;background:#9db38a}.node-eks{background:#d7e8c4;border-color:#a9c48e}.arch-foot{display:flex;gap:8px;margin-top:23px}.arch-foot span{font-family:var(--mono);font-size:8px;color:#63785a;border:1px solid #cbd7c1;padding:5px 8px;border-radius:2px}.gcp-stack{width:100%;max-width:300px;text-align:center;display:flex;flex-direction:column;align-items:center}.gcp-layer{width:78%;padding:13px 10px;border:1px solid #cdd7c7;background:#fff;border-radius:4px;font-family:var(--mono);font-size:9px;box-shadow:0 4px 12px rgba(40,61,38,.03)}.layer-edge{background:#dce9d0}.layer-app{width:91%;background:#fff}.gcp-layer small{display:block;font-size:8px;color:#859080;margin-top:4px}.gcp-down{color:#77994f;font-size:17px;line-height:1.7}.gcp-bottom{display:flex;width:100%;gap:8px}.gcp-bottom .gcp-layer{width:50%;padding:13px 4px}.gcp-foot{margin-top:20px;font-family:var(--mono);font-size:8px;color:#768570}.azure-flow{display:flex;align-items:center;flex-direction:column;width:100%;max-width:310px}.azure-box{width:73%;padding:12px 9px;border:1px solid #cbd8c5;border-radius:4px;background:#fff;text-align:center;font-family:var(--mono);font-size:9px}.azure-box small{display:block;font-size:8px;color:#879181}.azure-highlight{background:#d9e9ca;border-color:#a8c68e}.azure-arrow{color:#73964b;font-size:18px;line-height:2}.azure-base{margin-top:25px;text-align:center;font-family:var(--mono);font-size:8px;color:#71816a}.project-info{padding:44px 42px;display:flex;flex-direction:column;align-items:flex-start}.project-type{color:#79934f;font-size:8px}.project-info h3{font-size:22px;line-height:1.3;letter-spacing:-.8px;margin:13px 0 12px}.project-info p{font-size:11px;line-height:1.9;color:#717b72;margin:0 0 12px}.project-info ul{padding-left:16px;margin:0 0 20px;color:#5f6b61;font-size:10px;line-height:1.9}.project-info li{padding-left:3px;margin:3px 0}.project-info .tags{margin-top:auto}.project-link{display:inline-flex;align-items:center;gap:25px;margin-top:19px;text-decoration:none;color:#26352a;font-size:10px;font-weight:800;border-bottom:1px solid #b7c5ad;padding-bottom:6px}.project-link span{font-size:14px}.experience{background:#f4f6f0}.experience-card{display:grid;grid-template-columns:.8fr 1.5fr .7fr;gap:25px;align-items:center;padding:30px 32px;background:#fff;border:1px solid #e1e6dd}.experience-date{color:#78934e}.experience-main h3{font-size:17px;margin:0;letter-spacing:-.5px}.company{font-size:11px;color:#677367;margin-top:4px}.company span{margin:0 5px;color:#9aa596}.experience-main p{font-size:10px;color:#899187;margin:7px 0 0}.experience-side{display:flex;justify-content:flex-end;align-items:center;gap:9px;color:#76856c;font-size:8px}.contact{position:relative;background:#17231e;color:#f7f8f3;overflow:hidden;padding-bottom:28px}.contact .section-kicker{color:#a6c979;position:relative;z-index:1}.contact-inner{display:grid;grid-template-columns:1fr .7fr;gap:10%;align-items:end;margin-top:34px;position:relative;z-index:1}.contact h2{font-size:clamp(43px,6vw,76px);line-height:1.08;letter-spacing:-4px;margin:0 0 22px}.contact h2 span{color:var(--green)}.contact-inner p{max-width:400px;color:#b1bdb1;font-size:11px;line-height:1.9}.contact-actions{display:flex;flex-direction:column;align-items:stretch;margin-bottom:5px}.contact-actions a{display:flex;align-items:center;justify-content:space-between;text-decoration:none;color:#dbe3d8;border-bottom:1px solid #344238;padding:14px 0;font-size:11px}.contact-actions a span{color:#a6c979;font-size:16px}.contact-actions .contact-email{font-size:13px;font-weight:700;color:#fff}.contact-shape{position:absolute;border:1px solid rgba(201,243,106,.13);border-radius:50%;width:430px;height:430px;right:-130px;top:-190px}.shape-b{width:280px;height:280px;right:-55px;top:-115px}.contact footer{border-top:1px solid #354238;margin-top:90px;padding-top:24px;display:flex;align-items:center;justify-content:space-between;position:relative;z-index:1}.footer-brand{color:#f4f7f0;font-size:9px}.footer-brand .brand-mark{border-color:#51604f}.contact footer>span,.contact footer>a:last-child{font-family:var(--mono);font-size:8px;letter-spacing:.8px;color:#9eab9d;text-decoration:none}
@media(min-width:1400px){.hero{min-height:760px}.hero-art{height:530px}.section-pad{padding-left:11%;padding-right:11%}}
@media(max-width:900px){.topbar{padding:0 5%;height:74px}.topbar nav{gap:18px}.hero{padding:70px 5% 25px;grid-template-columns:1fr .9fr;column-gap:2%}.hero h1{letter-spacing:-2.8px}.hero-art{height:420px}.float-chip{padding:8px}.chip-k8s{left:0}.chip-cloud{left:2%}.section-pad{padding:80px 6%}.project-info{padding:34px 28px}.project-visual{padding:35px 20px}.contact-inner{gap:6%}}
@media(max-width:650px){.topbar{height:68px}.menu-toggle{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:10px;cursor:pointer}.menu-toggle span{width:23px;height:2px;background:var(--ink)}.topbar nav{display:none;position:absolute;top:67px;left:0;right:0;padding:18px 6% 24px;background:#f7f8f3;border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0}.topbar nav.open{display:flex}.topbar nav a{padding:12px 0}.topbar nav .nav-resume{margin-top:7px;text-align:center;padding:10px}.hero{display:flex;flex-direction:column;align-items:stretch;padding:60px 6% 24px}.hero-copy{padding-bottom:0}.hero h1{font-size:clamp(43px,12vw,63px);letter-spacing:-2.8px;margin-top:23px}.hero-intro{font-size:12px}.hero-actions{gap:17px;flex-wrap:wrap}.hero-links{margin-top:30px}.hero-art{height:390px;margin-top:48px;width:100%}.core-card{width:185px}.float-chip b{font-size:8px}.float-chip small{font-size:7px}.chip-k8s{left:2%;top:20%}.chip-ci{right:1%;top:36%}.chip-cloud{left:3%;bottom:14%}.hero-bottom{margin-top:34px;font-size:7px;gap:8px}.hero-bottom span:last-child{display:none}.section-pad{padding:68px 6%}.intro-content{grid-template-columns:1fr;gap:25px}.intro h2,.section-heading h2{font-size:34px;letter-spacing:-1.5px}.stats-row{grid-template-columns:repeat(2,1fr);gap:25px 0;margin-top:45px}.stats-row>div:nth-child(3){padding-left:0;border:0}.stats-row>div{padding-left:18px}.section-heading{display:block;margin-bottom:30px}.section-heading>p{margin-top:15px}.skill-grid{grid-template-columns:1fr 1fr;gap:9px}.skill-card{padding:21px 16px;min-height:230px}.skill-card h3{font-size:12px}.skill-card p{font-size:9px}.tags span{font-size:7px;padding:4px 5px}.project-card{grid-template-columns:1fr}.project-reverse .project-visual,.project-reverse .project-info{order:initial}.project-visual{min-height:290px}.project-info{padding:29px 23px}.project-info h3{font-size:20px}.project-info .tags{margin-top:10px}.experience-card{grid-template-columns:1fr;gap:12px;padding:24px}.experience-side{justify-content:flex-start}.contact-inner{grid-template-columns:1fr;gap:30px}.contact h2{font-size:52px;letter-spacing:-2.5px}.contact footer{margin-top:60px;gap:18px;flex-wrap:wrap}.contact footer>span{order:3;width:100%}}
@media(max-width:380px){.skill-grid{grid-template-columns:1fr}.skill-card{min-height:0}.hero-actions{align-items:flex-start;flex-direction:column}.hero-art{height:350px}.float-chip{gap:6px;padding:7px}.chip-icon{width:24px;height:24px}.contact h2{font-size:44px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important}}


/* Refined light portfolio palette: warm white, soft sky blue and coral accents */
:root{--ink:#172b4d;--muted:#66758a;--paper:#fbfcff;--white:#fff;--green:#2f80ed;--line:#e3eaf4;--dark:#2f80ed;--mono:'DM Mono',monospace;--sans:'Manrope',sans-serif}
body{background:#fbfcff;color:#172b4d}
.topbar{background:rgba(251,252,255,.96);border-color:#e3eaf4}
.brand-mark span,.hero h1 span,.intro h2 span,.section-heading h2 span{color:#2f80ed}
.topbar nav a:hover,.hero-links a:hover{color:#2f80ed}
.topbar nav .nav-resume{border-color:#cbdcf6;background:#fff}
.status-dot{background:#27ae88;box-shadow:0 0 0 4px rgba(39,174,136,.13)}
.button-dark{background:#2f80ed;color:#fff;border-radius:7px;box-shadow:0 8px 20px rgba(47,128,237,.16)}
.button-dark:hover{background:#216bd0}
.button-dark span{color:#fff}
.download-icon{border-color:#cbdcf6;color:#2f80ed}
.hero-art{background:#edf5ff;border-radius:30px}
.art-grid{background-image:linear-gradient(rgba(47,128,237,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(47,128,237,.08) 1px,transparent 1px)}
.orbit{border-color:rgba(47,128,237,.25)}
.core-symbol svg{stroke:#2f80ed}
.core-name span{color:#2f80ed}
.core-meta b{color:#217b68}
.core-meta b i{background:#27ae88}
.chip-icon{background:#e8f2ff;color:#2f80ed}
.intro{background:#fff}
.skills{background:#f4f8ff}
.skill-featured{background:#eaf3ff}
.skill-icon{background:#e8f2ff;color:#2f80ed}
.skill-card:hover{border-color:#b9d5ff}
.tags span{border-color:#dce7f5;color:#49617e;background:#fff}
.project-card{background:#fff;border-color:#e1eaf5;border-radius:12px;overflow:hidden}
.visual-eks{background:#eaf3ff}.visual-gcp{background:#f0f5ff}.visual-azure{background:#eef7f3}
.project-type{color:#2f80ed}
.arch-node{border-color:#c9dcf7;color:#23436b}.arch-node small{color:#7088a4}.node-eks,.layer-edge,.azure-highlight{background:#dcecff;border-color:#a8caff}
.arch-connector{background:#8bb8f4}.arch-foot span{color:#3e6caa;border-color:#ccdef5}
.gcp-down,.azure-arrow{color:#2f80ed}.gcp-layer,.azure-box{border-color:#cbdcf2}
.experience{background:#f4f8ff}.experience-card{border-color:#e1eaf5;border-radius:10px}.experience-date{color:#2f80ed}
.contact{background:#edf5ff;color:#172b4d;border-top:1px solid #dce8f7}
.contact .section-kicker{color:#2f80ed}
.contact h2 span{color:#2f80ed}
.contact-inner p{color:#60728a}
.contact-actions a{color:#304765;border-color:#d5e3f4}
.contact-actions a span{color:#2f80ed}
.contact-actions .contact-email{color:#172b4d}
.contact-shape{border-color:rgba(47,128,237,.16)}
.contact footer{border-color:#d5e3f4}
.footer-brand{color:#172b4d}.footer-brand .brand-mark{border-color:#c4d5eb}
.contact footer>span,.contact footer>a:last-child{color:#60728a}
.project-link{display:none}
@media(max-width:650px){.topbar nav{background:#fbfcff;border-color:#e3eaf4}}
