:root{color:#24344f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--page-bg:#dfe8f7;--panel-bg:#f1f5fcdb;--panel-border:#6781ab3d;--dark-bg:#262d39;--dark-panel:#2d3440;--text-main:#2a3852;--text-soft:#62738f;--text-inverse:#f0f5ff;--accent:#688fbe;--accent-strong:#36567f;--shadow:0 26px 80px #2b405f2e;background:linear-gradient(#dfe8f7 0%,#d6e2f5 100%);font-family:Inter,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;color:var(--text-main);background:linear-gradient(#7a98c280,#dfe8f7eb);margin:0}a,button,input,textarea{font:inherit}button{cursor:pointer;border:0}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}#app{min-height:100vh}.portfolio-shell{background:var(--page-bg);position:relative;overflow:hidden}.top-progress{z-index:30;background:#476892;width:0;max-width:100vw;height:4px;transition:width .12s ease-out;position:fixed;inset:0 auto auto 0}.hero-section{background:#f4f7fc;border-bottom:1px solid #50688f29;grid-template-columns:60fr 40fr;align-items:center;min-height:100vh;padding:0;display:grid;position:relative}.hero-pattern{pointer-events:none;background-color:#0000;background-image:radial-gradient(circle at 15% 20%,#ffffff52,#0000 24%),radial-gradient(#fff3 1px,#0000 1.5px),linear-gradient(135deg,#83a5d0 0%,#bdd0ea 100%);background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:24px 24px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box;position:absolute;inset:0 40% 0 0}.hero-copy,.hero-portrait-wrap{z-index:1;position:relative}.hero-copy{flex-direction:column;justify-content:center;max-width:620px;min-height:100vh;padding:4rem clamp(1.5rem,4vw,4.5rem) 3rem clamp(1.5rem,4vw,6rem);display:flex}.eyebrow{color:#36567fb8;letter-spacing:.34em;text-transform:uppercase;margin:0 0 1rem;font-size:.84rem}.hero-name,.hero-subtitle,.section-heading h2,.journey-intro h3,.skills-block h3,.project-group-header h3,.contact-heading h2,.timeline-company h4,.project-card h4,.cert-card h4{font-family:Avenir Next Condensed,Arial Narrow,Franklin Gothic Medium,sans-serif}.hero-name{letter-spacing:.02em;color:#2d466a;margin:0;font-size:clamp(4.2rem,9vw,8.5rem);line-height:.92}.hero-subtitle{letter-spacing:.16em;color:#36567fb3;margin:.25rem 0 1rem;font-size:clamp(2rem,5vw,4.7rem);font-weight:300}.hero-divider{background:#ffffff47;width:12rem;height:2px;margin:1.5rem 0}.hero-role{color:#2e3f59c2;max-width:34rem;margin:0 0 1.35rem;font-size:clamp(1rem,2vw,1.55rem);font-weight:600}.hero-actions{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.icon-button,.pill-button{height:2.55rem;color:var(--accent-strong);background:#edf3fb3d;border:1px solid #415b8147;border-radius:999px;transition:transform .18s,background .18s,border-color .18s;box-shadow:inset 0 1px #ffffff59}.icon-button{place-items:center;width:2.55rem;font-weight:700;display:inline-grid}.social-icon{width:1.15rem;height:1.15rem}.social-wordmark{font-size:.95rem;font-weight:800;line-height:1}.indeed-wordmark{color:#2557a7;letter-spacing:-.08em}.icon-button-disabled{opacity:.58;cursor:not-allowed}.pill-button{padding:0 1.1rem;font-weight:700}.icon-button:hover,.pill-button:hover,.ghost-action:hover,.primary-action:hover,.submit-button:hover{transform:translateY(-1px)}.scroll-cue{color:#465f84b3;background:0 0;align-items:center;gap:.5rem;margin-top:2.2rem;padding:0;display:inline-flex}.scroll-arrow{font-size:1rem}.hero-portrait-wrap{background:#f4f7fc;justify-content:center;align-items:flex-end;min-height:100vh;display:flex;overflow:hidden}.portrait-glow{filter:blur(22px);background:radial-gradient(circle,#becfe947,#0000 64%);border-radius:45% 45% 12% 12%;position:absolute;inset:14% 12% 6%}.hero-portrait{object-fit:contain;object-position:center bottom;filter:none;width:min(100%,720px);min-width:320px;height:min(100vh,980px);position:relative}main{position:relative}.content-section{padding:clamp(4.5rem,8vw,7rem) 1.5rem;position:relative}.section-light{background:var(--page-bg)}.section-dark{color:var(--text-inverse);background:linear-gradient(#252b37 0%,#2a303b 100%)}.section-inner{width:min(1120px,100%);margin:0 auto}.section-heading{align-items:flex-start;gap:.9rem;margin-bottom:2.1rem;display:flex}.section-marker{color:var(--accent);margin-top:.55rem;font-size:1rem}.section-heading h2{letter-spacing:-.03em;margin:0;font-size:clamp(2.4rem,4vw,3.75rem);line-height:.95}.section-heading p{max-width:62rem;color:var(--text-soft);margin:.7rem 0 0;font-size:1.2rem;line-height:1.55}.section-dark .section-heading p,.section-dark .skills-block h3,.section-dark .cert-card p{color:#e6eefbb3}.section-kicker{letter-spacing:-.04em;color:#313d52;margin:0 0 3rem;font-size:clamp(2.7rem,6vw,5rem);line-height:1}.about-grid{grid-template-columns:minmax(240px,.72fr) minmax(0,1.6fr);align-items:start;gap:2rem;display:grid}.journey-intro h3,.skills-block h3,.project-group-header h3{margin:0 0 .5rem;font-size:clamp(1.8rem,2.5vw,2.5rem)}.journey-intro p,.project-group-header p{color:var(--text-soft);margin:0;font-size:1.12rem;line-height:1.5}.triangle-grid{opacity:.45;grid-template-columns:repeat(5,1fr);gap:.8rem 1rem;width:min(360px,100%);margin-top:1.8rem;display:grid}.triangle-grid span{border-bottom:16px solid #b8c9e4;border-left:9px solid #0000;border-right:9px solid #0000;width:0;height:0}.timeline-card{background:#f5f8fca6;border:1px solid #687ea133;border-radius:1rem;overflow:hidden;box-shadow:0 14px 42px #485c8014}.timeline-item+.timeline-item{border-top:1px solid #687ea129}.timeline-item.expanded{background:#ffffff52}.timeline-header{text-align:left;background:0 0;justify-content:space-between;gap:1rem;width:100%;padding:1.2rem 1rem;display:flex}.timeline-company{align-items:flex-start;gap:.85rem;display:flex}.timeline-logo{color:#ff8f45;background:#eef4ff;border-radius:.45rem;place-items:center;width:2.05rem;height:2.05rem;font-size:1rem;font-weight:800;display:inline-grid}.timeline-company h4,.project-card h4,.cert-card h4{letter-spacing:-.03em;margin:0;font-size:1.6rem}.timeline-company p{color:var(--text-soft);margin:.2rem 0 0}.timeline-meta{color:#7a8aa6;white-space:nowrap;align-items:center;gap:.8rem;font-weight:600;display:flex}.timeline-chevron{justify-content:center;align-items:center;min-width:1rem;display:inline-flex}.timeline-points{color:#556582;margin:0;padding:0 1.2rem 1.3rem 3.95rem;line-height:1.5}.timeline-points li+li{margin-top:.5rem}.skills-block+.skills-block{margin-top:2.8rem}.skill-cloud{flex-wrap:wrap;gap:.65rem;display:flex}.skill-pill{color:#f5f9ffd9;background:#ffffff05;border:1px solid #96abc92e;border-radius:.45rem;align-items:center;gap:.6rem;padding:.52rem .82rem;font-size:.96rem;line-height:1;display:inline-flex}.skill-mark,.tech-tag-mark{letter-spacing:-.02em;border:1px solid #0000;border-radius:.38rem;justify-content:center;align-items:center;min-width:1.5rem;height:1.5rem;padding:0 .3rem;font-size:.7rem;font-weight:800;line-height:1;display:inline-flex}.cert-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:1rem;display:grid}.cert-card{background:linear-gradient(#5f7cff3d,#10131a8c);border:1px solid #99b0d326;border-radius:1.25rem;flex-direction:column;justify-content:flex-end;gap:.65rem;min-height:12rem;padding:1.2rem 1rem;display:flex;box-shadow:inset 0 1px #ffffff14}.cert-badge{color:#e8efff;letter-spacing:.06em;background:#dbe5ff2e;border:1px solid #ffffff38;border-radius:999px;justify-content:center;align-items:center;width:3.4rem;height:3.4rem;font-weight:800;display:inline-flex}.cert-card p{margin:0;font-size:.98rem}.project-group+.project-group{margin-top:2.8rem}.project-group-header{justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:1rem;display:flex}.project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.9rem;display:grid}.project-card{background:linear-gradient(180deg, #0c111829, #0c11182e), var(--card-accent), linear-gradient(160deg, #6b7788, #232833);border:1px solid #191f271f;border-radius:.35rem;min-height:18rem;position:relative;overflow:hidden;box-shadow:0 18px 40px #24324814}.project-overlay{background:radial-gradient(circle at 20% 20%,#ffffff24,#0000 26%),linear-gradient(#03050a1a,#03050a85);position:absolute;inset:0}.project-content{z-index:1;color:#eff4fd;flex-direction:column;height:100%;padding:1rem;display:flex;position:relative}.project-card p{color:#eaf1fcdb;margin:.6rem 0 0;font-size:.98rem;line-height:1.45}.tag-list{flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:1rem;display:flex}.tech-tag{color:#f3f7fee6;background:#ced9ec3d;border-radius:999px;align-items:center;gap:.28rem;padding:.18rem .42rem .18rem .2rem;font-size:.68rem;display:inline-flex}.project-actions{gap:.55rem;margin-top:.95rem;display:flex}.ghost-action,.primary-action{text-align:center;border-radius:.35rem;flex:1;padding:.72rem .8rem;font-size:.92rem;font-weight:700;transition:transform .18s,opacity .18s}.ghost-action{background:#0f161f59;border:1px solid #dee6f347}.primary-action{color:#20324f;background:#7ca2d4}.contact-section{background:linear-gradient(#1b324d57,#21334a8c),linear-gradient(135deg,#6587ad 0%,#8fadc7 50%,#345b75 100%);place-items:center;min-height:100vh;padding:5rem 1.5rem 3rem;display:grid;position:relative;overflow:hidden}.contact-backdrop{filter:saturate(.9);background:radial-gradient(circle at 20% 30%,#e0d5a147,#0000 18%),radial-gradient(circle at 65% 20%,#17382473,#0000 20%),radial-gradient(circle at 75% 70%,#18476673,#0000 28%),linear-gradient(#082d4c2e,#eaf1f600);position:absolute;inset:0}.contact-card{z-index:1;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fafcffad;border:1px solid #ffffff3d;border-radius:0;width:min(430px,100%);padding:1.8rem;position:relative;box-shadow:0 22px 60px #192a3f38}.contact-heading{margin-bottom:1.4rem}.contact-form{gap:1rem;display:grid}.contact-form label{color:#31415d;gap:.45rem;font-weight:600;display:grid}.contact-form span{font-size:.92rem}.contact-form input,.contact-form textarea{color:#20304a;background:#ffffffd6;border:1px solid #6989b699;outline:none;width:100%;padding:.82rem .9rem}.contact-form input:focus,.contact-form textarea:focus{border-color:#5077ad;box-shadow:0 0 0 3px #618bca2e}.captcha-row{color:#435571;background:#fffc;border:1px solid #c9d2e1e6;align-items:center;gap:.75rem;min-height:3rem;padding:.8rem;display:flex}.captcha-box{background:#fff;border:2px solid #6a778e;width:1.25rem;height:1.25rem}.captcha-brand{color:#6f7c91;text-transform:uppercase;margin-left:auto;font-size:.85rem;font-weight:700}.submit-button{color:#193152;background:#7296c3;padding:.9rem 1rem;font-weight:800;transition:transform .18s,background .18s}.site-footer{color:#445777;background:#a8c2e38c;justify-content:space-between;align-items:center;gap:1rem;padding:1rem clamp(1.5rem,4vw,4rem);font-size:.92rem;display:flex}.site-footer p{margin:0}.footer-links{gap:1rem;display:flex}.footer-link-disabled{opacity:.5;pointer-events:none}@media (width<=1180px){.hero-section{text-align:left;grid-template-columns:1fr;gap:2rem;min-height:auto}.hero-copy{min-height:auto;padding:5rem 1.5rem 1rem}.hero-portrait{width:min(70vw,520px);height:auto}.hero-pattern{inset:0}.hero-portrait-wrap{background:linear-gradient(#83a5d033,#f4f7fc00);min-height:auto;padding:0 1.5rem 2rem}.about-grid,.project-grid,.cert-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.content-section,.hero-section{padding-inline:1rem}.hero-actions,.project-actions,.site-footer,.project-group-header,.section-heading{flex-direction:column;align-items:flex-start}.about-grid,.project-grid,.cert-grid{grid-template-columns:1fr}.timeline-header{flex-direction:column;align-items:flex-start}.timeline-meta{justify-content:space-between;width:100%}.hero-name{font-size:clamp(3.2rem,18vw,5rem)}.hero-subtitle{font-size:clamp(1.5rem,9vw,2.4rem)}.section-kicker{font-size:clamp(2.2rem,12vw,3rem)}.contact-card{padding:1.25rem}}
