@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@1,500;1,600&family=Inter:wght@400;500;600;700;800;900&display=swap);:root{--ink:#211d1a;--muted:#665f59;--cream:#f7f3ed;--cream-2:#fcfaf7;--stone-dark:#342d28;--accent:#a86636;--accent-strong:#7e4621;--accent-soft:#a866361c;--line:#211d1a1f;--line-strong:#211d1a33;--shadow:0 14px 40px #2a1f1817}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:#2f2924;color:#211d1a;color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;margin:0}a{color:inherit;text-decoration:none}.app{background-attachment:fixed;background-image:linear-gradient(#180c031f,#180c0338),var(--page-background);background-position:50%;background-repeat:no-repeat;background-size:cover;min-height:100vh;overflow-x:hidden}main{background:#fcfaf7;background:var(--cream-2);border:1px solid #ffffff6b;border-radius:0 0 20px 20px;border-top:0;box-shadow:0 28px 80px #140a0347;color:#211d1a;color:var(--ink);margin:-24px auto 48px;overflow:hidden;position:relative;width:min(1120px,calc(100vw - 48px));z-index:2}main>section{border-bottom:1px solid #211d1a1f;border-bottom:1px solid var(--line)}main .section-copy{color:#665f59;color:var(--muted)}main .contact-bg{background:radial-gradient(circle at 18% 20%,#c9935538,#0000 30%),#18120e38}section{overflow:hidden;padding:clamp(78px,9vw,112px) clamp(28px,6vw,74px);position:relative;scroll-margin-top:40px}.section-shell{margin:0 auto;max-width:1180px}.eyebrow{align-items:center;color:#7e4621;color:var(--accent-strong);display:inline-flex;font-size:.76rem;font-weight:800;gap:10px;letter-spacing:.18em;margin-bottom:16px;text-transform:uppercase}.eyebrow:before{background:#a86636;background:var(--accent);border-radius:99px;content:"";height:2px;width:34px}.section-title{text-wrap:balance;font-size:clamp(2.15rem,5vw,4.6rem);letter-spacing:-.052em;line-height:1.02;margin:0;max-width:800px}.section-copy{color:#665f59;color:var(--muted);font-size:1rem;line-height:1.75;max-width:680px}.grid-bg{background-image:linear-gradient(rgba(31,27,24,.035) 1px,#0000 0),linear-gradient(90deg,rgba(31,27,24,.035) 1px,#0000 0);background-size:48px 48px}.card{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#ffffffd1;border:1px solid #211d1a1f;border:1px solid var(--line);border-radius:20px;box-shadow:0 14px 40px #2a1f1817;box-shadow:var(--shadow);color:#211d1a;color:var(--ink)}a:focus-visible{outline:3px solid #a8663666;outline-offset:4px}.reveal-ready [data-reveal]{opacity:0;transform:translate3d(0,30px,0);transition:opacity .7s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1);transition-delay:0ms;transition-delay:var(--reveal-delay,0ms);will-change:opacity,transform}.reveal-ready .card[data-reveal]{transform:translate3d(0,38px,0) scale(.985)}.reveal-ready .card[data-reveal].is-visible,.reveal-ready [data-reveal].is-visible{opacity:1;transform:translateZ(0) scale(1)}@media (max-width:760px){section{padding:86px 22px}.section-title{letter-spacing:-.045em}.app{background-attachment:scroll}main{border-radius:0 0 14px 14px;margin-bottom:14px;margin-top:-14px;width:calc(100vw - 28px)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal-ready .card[data-reveal],.reveal-ready [data-reveal]{opacity:1;transform:none;will-change:auto}*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.site-header{backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);background:#302b2794;border:1px solid #ffffff47;border-radius:3px;bottom:24px;box-shadow:0 16px 45px #140a033d;height:68px;justify-content:flex-start;left:50%;overflow:hidden;padding:0 22px;position:absolute;transform:translateX(-50%);width:min(1120px,calc(100vw - 48px));z-index:50}.floating-nav,.site-header{align-items:center;display:flex}.floating-nav{height:100%;justify-content:center}.floating-nav a{color:#ffffffeb;display:grid;font-size:.64rem;font-weight:900;height:100%;letter-spacing:.1em;padding:0 27px;place-items:center;text-transform:uppercase;transition:.25s ease}.floating-nav a.active,.floating-nav a:focus,.floating-nav a:hover{background:#fff;color:var(--ink)}.header-socials{align-items:center;display:flex;gap:22px;height:100%;position:absolute;right:28px;top:0}.header-socials a{color:#fff;display:grid;height:24px;place-items:center;transition:.25s ease;width:20px}.header-socials svg{fill:currentColor;stroke:currentColor;stroke-width:1.8;height:18px;width:18px}.header-socials .brand-icon,.header-socials .github-icon{fill:currentColor;stroke:none;height:20px;width:20px}.header-socials svg circle:not(.fill-dot),.header-socials svg rect{fill:none}.header-socials .fill-dot{stroke:none}.social-text.linkedin{font-family:Arial,sans-serif;font-size:1rem;font-weight:900;line-height:1}.header-socials a:hover{opacity:.7;transform:translateY(-3px)}@media (max-width:1000px){.site-header{border-radius:3px;bottom:14px;height:60px;justify-content:flex-start;padding:0;width:calc(100vw - 28px)}.header-socials{display:none}.floating-nav{justify-content:flex-start;overflow-x:auto;scrollbar-width:none;width:100%}.floating-nav::-webkit-scrollbar{display:none}.floating-nav a{flex:0 0 auto;font-size:.64rem;padding:0 20px}}.hero{background-attachment:fixed;background-position:50%;background-size:cover;color:#fff;display:grid;isolation:isolate;min-height:100svh;padding:80px 7vw 96px;place-items:center;text-align:center}.hero-grain,.hero-overlay{inset:0;position:absolute;z-index:-1}.hero-overlay{background:radial-gradient(circle at 50% 48%,#0000 20%,#190c0324 100%),linear-gradient(180deg,#180c030f,#180c031f)}.hero-grain{display:none}.hero-content{--hero-shift:6vh;animation:heroIn .9s ease both;position:relative;width:min(1100px,100%);z-index:1}.hero h1{font-size:clamp(2.55rem,5.15vw,4.5rem);font-weight:900;letter-spacing:.13em;line-height:1;margin:0;text-shadow:0 4px 20px #0000003d;text-transform:uppercase}.hero-lines{grid-gap:16px;display:grid;gap:16px;margin-top:36px}.hero-lines p{font-family:Cormorant Garamond,Georgia,serif;font-size:clamp(1.2rem,1.7vw,1.5rem);font-style:italic;font-weight:600;margin:0;text-shadow:0 3px 12px #00000080}.scroll-indicator{animation:pulse 2.4s ease-in-out infinite;background:#0000000d;border:2px solid #ffffffd1;border-radius:999px;color:#fff;display:inline-grid;height:64px;margin-top:40px;place-items:center;width:64px}.scroll-indicator span{background:currentColor;border-radius:2px;height:24px;position:relative;width:2px}.scroll-indicator span:after{border-bottom:2px solid;border-right:2px solid;bottom:0;content:"";height:12px;left:-6px;position:absolute;transform:rotate(45deg);width:12px}@keyframes heroIn{0%{opacity:0;transform:translateY(calc(var(--hero-shift) + 24px)) scale(.98)}to{opacity:1;transform:translateY(var(--hero-shift)) scale(1)}}@keyframes pulse{0%,to{box-shadow:0 0 0 #fff0;transform:translateY(0)}50%{box-shadow:0 0 0 12px #ffffff14;transform:translateY(8px)}}@media (max-width:760px){.hero{background-attachment:scroll;background-position:47%;padding:64px 22px 92px}.hero h1{font-size:clamp(2.2rem,12vw,3.5rem);letter-spacing:.07em;line-height:1.06}.hero-lines{margin-top:28px}.hero-content{--hero-shift:1vh}.scroll-indicator{height:58px;margin-top:36px;width:58px}}.about-section{background:radial-gradient(circle at 92% 10%,var(--accent-soft),#0000 30%),var(--cream-2)}.about-grid{grid-gap:clamp(42px,7vw,76px);align-items:center;display:grid;gap:clamp(42px,7vw,76px);grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr)}.about-stats{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:34px}.stat-card{background:#ffffffb8;border:1px solid var(--line);border-radius:16px;min-height:118px;padding:21px;transition:border-color .25s ease,transform .25s ease}.stat-card:hover{border-color:var(--line-strong);transform:translateY(-3px)}.stat-card strong{display:block;font-size:1.6rem;letter-spacing:-.04em}.stat-card span{color:var(--muted);display:block;font-size:.86rem;line-height:1.45;margin-top:8px}.about-visual{grid-gap:28px;align-content:center;background:radial-gradient(circle at 20% 12%,#c9935547,#0000 32%),#ffffffb8;display:grid;gap:28px;min-height:420px;padding:24px}.code-window{background:#211b17;border-radius:16px;box-shadow:0 24px 60px #1f1b183d;color:#fff5e9;overflow:hidden}.window-dots{border-bottom:1px solid #ffffff1f;display:flex;gap:8px;padding:16px 18px}.window-dots span{background:#ffffff61;border-radius:99px;height:11px;width:11px}.code-window pre{font-size:clamp(.78rem,1.5vw,.9rem);line-height:1.75;margin:0;padding:24px;white-space:pre-wrap}.orbital{display:grid;min-height:150px;place-items:center;position:relative}.orbital:after,.orbital:before{border:1px dashed #1f1b1838;border-radius:999px;content:"";position:absolute}.orbital:before{height:90px;transform:rotate(-10deg);width:250px}.orbital:after{height:110px;transform:rotate(24deg);width:210px}.orbital span{background:#fff;border:1px solid var(--line);border-radius:999px;box-shadow:0 12px 30px #1f1b1814;color:var(--ink);display:grid;font-weight:900;height:42px;min-width:72px;padding:0 16px;place-items:center;position:absolute}.orbital span:first-child{transform:translate(-95px,-22px)}.orbital span:nth-child(2){transform:translate(98px,-8px)}.orbital span:nth-child(3){transform:translateY(58px)}@media (max-width:920px){.about-grid{grid-template-columns:1fr}}@media (max-width:620px){.about-stats{grid-template-columns:1fr}.about-visual{min-height:360px;padding:16px}.orbital{transform:scale(.86)}}.education-section{background:radial-gradient(circle at top right,var(--accent-soft),#0000 34%),var(--cream)}.timeline{grid-gap:28px;display:grid;gap:28px;margin-top:48px;position:relative}.timeline:before{background:linear-gradient(var(--accent),#c9935500);bottom:4px;content:"";left:13px;position:absolute;top:4px;width:2px}.timeline-item{padding-left:54px;position:relative}.timeline-dot{background:var(--accent);border:8px solid var(--cream-2);border-radius:999px;box-shadow:0 0 0 1px var(--line);height:28px;left:0;position:absolute;top:30px;width:28px}.timeline-card{padding:clamp(26px,4vw,38px);transition:border-color .25s ease,transform .25s ease}.timeline-card:hover{border-color:var(--line-strong);transform:translateX(4px)}.timeline-card span{color:var(--accent);display:inline-flex;font-size:.76rem;font-weight:900;letter-spacing:.08em;margin-bottom:12px;text-transform:uppercase}.timeline-card h3{font-size:clamp(1.4rem,2vw,2rem);margin:0}.timeline-card .place{color:var(--ink);font-weight:800}.timeline-card p{color:var(--muted);line-height:1.78}@media (max-width:620px){.timeline-item{padding-left:34px}.timeline:before{left:7px}.timeline-dot{left:-6px}}.skills-section{background-color:var(--cream-2)}.skills-layout{grid-gap:clamp(42px,7vw,74px);align-items:start;display:grid;gap:clamp(42px,7vw,74px);grid-template-columns:.82fr 1.18fr}.skill-cards{grid-gap:14px;display:grid;gap:14px}.skill-card{overflow:hidden;padding:28px;position:relative;transition:transform .25s ease,border-color .25s ease}.skill-card:hover{border-color:var(--line-strong);transform:translateY(-3px)}.skill-card:after{background:var(--accent-soft);border-radius:50%;content:"";height:150px;position:absolute;right:-50px;top:-50px;width:150px}.skill-card h3{font-size:1.35rem;margin:0 0 20px}.skill-tags{display:flex;flex-wrap:wrap;gap:10px}.skill-tags span{background:var(--cream-2);border:1px solid var(--line);border-radius:999px;color:var(--stone-dark);display:inline-flex;font-size:.88rem;font-weight:700;padding:10px 14px}@media (max-width:900px){.skills-layout{grid-template-columns:1fr}}.projects-section{background:linear-gradient(160deg,var(--cream),#eee5da)}.projects-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,minmax(0,1fr));margin-top:48px}.project-card{min-height:420px;overflow:hidden;padding:30px;position:relative;transition:transform .25s ease,box-shadow .25s ease}.project-card:hover{border-color:var(--line-strong);box-shadow:0 22px 52px #1f1b1824;transform:translateY(-6px)}.project-number{color:#1f1b1814;font-size:5rem;font-weight:900;letter-spacing:-.08em;line-height:1;position:absolute;right:24px;top:18px}.project-type{color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.1em;margin:0 0 16px;text-transform:uppercase}.project-card h3{font-size:1.65rem;line-height:1.1;margin:0}.project-card>p:not(.project-type){color:var(--muted);line-height:1.72}.project-stack{display:flex;flex-wrap:wrap;gap:9px;margin-top:22px}.project-stack span{background:var(--accent-soft);border-radius:999px;color:var(--stone-dark);font-size:.78rem;font-weight:800;padding:8px 11px}.project-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}.project-links a{align-items:center;background:var(--ink);border-radius:999px;color:#fff;display:inline-flex;font-size:.82rem;font-weight:900;min-height:42px;padding:0 16px;transition:transform .2s ease,background .2s ease}.project-links a:hover{background:var(--accent-strong);transform:translateY(-2px)}@media (max-width:980px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-card{min-height:auto}}@media (max-width:680px){.projects-grid{grid-template-columns:1fr}}.experience-section{background-color:var(--cream)}.split-section{grid-gap:48px;align-items:start;display:grid;gap:48px;grid-template-columns:.9fr 1.1fr}.experience-list{grid-gap:18px;display:grid;gap:18px}.experience-card{padding:32px}.experience-card h3{font-size:1.5rem;margin:0 0 12px}.experience-card strong{color:var(--accent)}.experience-card p{color:var(--muted);line-height:1.75}@media (max-width:900px){.split-section{grid-template-columns:1fr}}.certifications-section{background:var(--cream-2)}.certification-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:42px}.cert-card{padding:30px}.cert-card span{color:var(--accent);font-weight:900}.cert-card h3{margin:12px 0 8px}.cert-card p{color:var(--muted)}.languages-section{background:radial-gradient(circle at 12% 90%,var(--accent-soft),#0000 30%),var(--cream-2)}.language-shell{grid-gap:clamp(42px,7vw,74px);align-items:center;display:grid;gap:clamp(42px,7vw,74px);grid-template-columns:.9fr 1.1fr}.language-grid{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr))}.language-card{display:flex;flex-direction:column;justify-content:center;min-height:132px;padding:30px;transition:transform .25s ease,border-color .25s ease}.language-card:hover{border-color:var(--line-strong);transform:translateY(-3px)}.language-card h3{font-size:1.6rem;margin:0 0 8px}.language-card p{color:var(--muted);margin:0}@media (max-width:760px){.language-grid,.language-shell{grid-template-columns:1fr}}.contact-section{align-items:center;background:#1f1b18;color:#fff;display:grid;min-height:74vh;padding-bottom:150px;text-align:left}.contact-bg{background:radial-gradient(circle at 18% 20%,#c9935559,#0000 28%),radial-gradient(circle at 82% 30%,#ffffff1f,#0000 24%),linear-gradient(135deg,#211b17,#4a3527);inset:0;position:absolute}.contact-shell{position:relative;width:100%;z-index:1}.contact-section .section-copy{color:#ffffffbd;margin:24px 0 0}.contact-actions{grid-gap:14px;display:grid;gap:14px;justify-items:start;margin-top:38px}.contact-main{align-items:center;background:#111;border:1px solid #fff;border-radius:999px;box-shadow:0 20px 50px #0000003d;color:#fff;display:inline-flex;font-weight:900;gap:14px;justify-content:center;min-height:58px;padding:0 22px 0 26px;transition:color .2s ease,background .2s ease}.contact-main svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;height:21px;width:21px}.contact-main:hover{background:#fff;color:var(--ink)}.contact-main:hover span{color:var(--ink)}.contact-actions span{color:#ffffffc7}.contact-socials{display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start;margin-top:34px}.contact-socials a{border:1px solid #ffffff40;border-radius:999px;color:#ffffffd1;font-weight:800;padding:12px 18px;transition:.25s ease}.contact-socials a:hover{background:#fff;color:var(--ink)}.contact-copyright{border-top:1px solid #ffffff2e;color:#ffffff8f;font-size:.78rem;letter-spacing:.04em;margin:64px 0 0;padding-top:22px}
/*# sourceMappingURL=main.0d85ad97.css.map*/