@import url(https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0}:root{--espresso:#1e1008;--dark-roast:#3b1f0d;--roast:#6b3a1f;--latte:#b8875a;--caramel:#d4a46a;--cream:#f2e6d0;--foam:#faf4e8;--milk:#fffcf7;--font-display:"Cormorant Garamond",serif;--font-body:"DM Sans",sans-serif;--radius:3px;--transition:0.25s ease}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:#fffcf7;background:var(--milk);color:#3b1f0d;color:var(--dark-roast);font-family:DM Sans,sans-serif;font-family:var(--font-body);font-weight:300;overflow-x:hidden}.section-label{color:#b8875a;color:var(--latte);font-size:.72rem;letter-spacing:.25em;margin-bottom:.5rem;text-transform:uppercase}.section-title{color:#1e1008;color:var(--espresso);font-family:Cormorant Garamond,serif;font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:400;line-height:1.2;margin-bottom:3.5rem}.section-title em{color:#6b3a1f;color:var(--roast);font-style:italic}.btn{border:none;border-radius:3px;border-radius:var(--radius);cursor:pointer;display:inline-block;font-family:DM Sans,sans-serif;font-family:var(--font-body);font-size:.78rem;letter-spacing:.15em;padding:.82rem 2.2rem;text-decoration:none;text-transform:uppercase;transition:all .25s ease;transition:all var(--transition)}.btn-primary{background:#3b1f0d;background:var(--dark-roast);color:#f2e6d0;color:var(--cream)}.btn-primary:hover{background:#1e1008;background:var(--espresso);transform:translateY(-2px)}.btn-outline{background:#0000;border:1px solid #d4a46a;border:1px solid var(--caramel);color:#6b3a1f;color:var(--roast)}.btn-outline:hover{background:#f2e6d0;background:var(--cream)}.fade-in{opacity:0;transform:translateY(16px);transition:opacity .6s ease,transform .6s ease}.fade-in.visible{opacity:1;transform:none}.navbar{align-items:center;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffcf7eb;border-bottom:1px solid #b8875a33;display:flex;justify-content:space-between;left:0;padding:1.2rem 5%;position:fixed;right:0;top:0;z-index:200}.navbar__logo{color:var(--dark-roast);font-family:var(--font-display);font-size:1.15rem;font-weight:400;letter-spacing:.04em;text-decoration:none}.navbar__links{display:flex;gap:2.2rem;list-style:none}.navbar__links a{color:var(--roast);font-size:.77rem;letter-spacing:.15em;text-decoration:none;text-transform:uppercase;transition:color var(--transition)}.navbar__links a:hover{color:var(--espresso)}.navbar__resume-btn{background:var(--dark-roast);border:none;border-radius:var(--radius);color:var(--cream);cursor:pointer;font-family:var(--font-body);font-size:.77rem;letter-spacing:.15em;padding:.45rem 1.1rem;text-transform:uppercase;transition:background var(--transition),transform var(--transition)}.navbar__resume-btn:hover{background:var(--espresso);transform:translateY(-1px)}@media (max-width:600px){.navbar{padding:1rem 5%}.navbar__links{gap:1.2rem}.navbar__links a{font-size:.7rem}}.hero{grid-gap:5rem;align-items:center;display:grid;gap:5rem;grid-template-columns:1.1fr .9fr;min-height:100vh;overflow:hidden;padding:6rem 5% 4rem;position:relative}.hero:after{background:radial-gradient(circle,#d4a46a1a 0,#0000 68%);border-radius:50%;content:"";height:650px;pointer-events:none;position:absolute;right:-200px;top:-120px;width:650px}.hero__text{position:relative;z-index:1}.hero__eyebrow{align-items:center;color:var(--latte);display:flex;font-size:1.25rem;gap:.8rem;letter-spacing:.25em;margin-bottom:1.4rem;text-transform:uppercase}.hero__eyebrow:before{background:var(--caramel);content:"";display:inline-block;height:1px;width:32px}.hero__name{color:var(--espresso);font-family:var(--font-display);font-size:clamp(3rem,5.5vw,5.2rem);font-weight:300;line-height:1.05;margin-bottom:1rem}.hero__name .first{display:block}.hero__name .middle{color:var(--latte);display:block;font-size:.72em;font-style:italic;letter-spacing:.08em;margin:.1em 0}.hero__name .last{color:var(--roast);display:block;font-style:italic}.hero__role{color:var(--latte);font-size:1rem;letter-spacing:.07em;margin-bottom:1.8rem}.hero__btns{display:flex;flex-wrap:wrap;gap:1rem}.hero__photo-wrap{display:flex;justify-content:center;position:relative;z-index:1}.photo-frame{max-width:100%;position:relative;width:300px}.photo-frame:before{border:1px solid #b8875a59;border-radius:50%;bottom:-10px;content:"";left:10px;position:absolute;right:-10px;top:10px;z-index:0}.photo-frame__img{box-shadow:0 8px 32px #1e100826;display:block;object-fit:cover}.photo-frame__img,.photo-frame__placeholder{aspect-ratio:1/1;border-radius:50%;position:relative;width:100%;z-index:1}.photo-frame__placeholder{align-items:center;background:linear-gradient(160deg,var(--cream) 0,#e0c9a8 100%);border:1px dashed #b8875a66;display:flex;flex-direction:column;gap:.7rem;justify-content:center}.photo-frame__placeholder p{color:var(--roast);font-size:.85rem;letter-spacing:.1em;opacity:.75;text-transform:uppercase}.photo-frame__placeholder span{color:var(--latte);font-size:.68rem;font-style:italic;letter-spacing:.06em;opacity:.7}@media (max-width:800px){.hero{gap:2.5rem;grid-template-columns:1fr;padding-top:7rem}.hero__photo-wrap{order:-1}.photo-frame{width:200px}}.skills{background:var(--milk);padding:5.5rem 5%}.skills__inner{margin:0 auto;max-width:960px}.skills__group{margin-bottom:3rem}.skills__group-label{border-bottom:1px solid #b8875a33;color:var(--latte);font-size:.74rem;letter-spacing:.2em;margin-bottom:1.4rem;padding-bottom:.6rem;text-transform:uppercase}.skill-grid{display:flex;flex-wrap:wrap;gap:1rem}.skill-card{align-items:center;background:var(--foam);border:1px solid #b8875a2e;border-radius:var(--radius);display:flex;flex-direction:column;gap:.5rem;padding:1rem 1.1rem .85rem;transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition);width:88px}.skill-card:hover{border-color:#b8875a73;box-shadow:0 10px 28px #1e10081a;transform:translateY(-4px)}.skill-card__icon{height:42px;object-fit:contain;width:42px}.skill-card__name{color:var(--roast);font-size:.68rem;letter-spacing:.04em;line-height:1.3;text-align:center}@media (max-width:600px){.skill-card{padding:.85rem .8rem .7rem;width:76px}.skill-card__icon{height:36px;width:36px}}.experience{background:var(--foam);border-bottom:1px solid #b8875a2e;border-top:1px solid #b8875a2e;padding:5.5rem 5%}.experience__inner{margin:0 auto;max-width:800px}.timeline{padding-left:1.8rem;position:relative}.timeline:before{background:linear-gradient(to bottom,var(--caramel),#0000);bottom:0;content:"";left:0;position:absolute;top:10px;width:1px}.timeline-item{margin-bottom:2.8rem;padding-left:1.8rem;position:relative;transition:opacity .3s,transform .3s}.timeline-item:before{background:var(--caramel);border:2px solid var(--foam);border-radius:50%;box-shadow:0 0 0 2px var(--caramel);content:"";height:10px;left:-5px;position:absolute;top:8px;width:10px}.timeline-item__date{color:var(--latte);font-size:.73rem;letter-spacing:.18em;margin-bottom:.3rem;text-transform:uppercase}.timeline-item__role{color:var(--espresso);font-family:var(--font-display);font-size:1.3rem;font-weight:600;margin-bottom:.1rem}.timeline-item__company{color:var(--roast);font-size:.86rem;margin-bottom:.65rem}.timeline-item__desc{color:var(--roast);font-size:.9rem;line-height:1.8;max-width:560px}.timeline-item__actions{align-items:center;display:flex;gap:.6rem;margin-top:.75rem}.edit-btn{background:none;border:1px solid #b8875a59;border-radius:var(--radius);color:var(--latte);cursor:pointer;font-size:.7rem;letter-spacing:.12em;padding:.32rem .85rem;text-transform:uppercase;transition:all var(--transition)}.edit-btn:hover{background:var(--cream);color:var(--dark-roast)}.delete-btn{background:none;border:1px solid #b8875a33;border-radius:var(--radius);color:#b8875a8c;cursor:pointer;font-size:.78rem;line-height:1;padding:.32rem .65rem;transition:all var(--transition)}.delete-btn:hover{background:#fde8e8;border-color:#c0392b;color:#c0392b}.add-btn{align-items:center;background:none;border:1px dashed #b8875a66;border-radius:var(--radius);color:var(--latte);cursor:pointer;display:flex;font-size:.78rem;gap:.55rem;letter-spacing:.12em;margin-top:.5rem;padding:.65rem 1.4rem;text-transform:uppercase;transition:all var(--transition)}.add-btn:hover{background:var(--cream);border-color:var(--latte);color:var(--dark-roast)}.education{background:var(--espresso);padding:5.5rem 5%}.education__inner{grid-gap:5rem;align-items:start;display:grid;gap:5rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:1000px}.education__left .section-label{color:var(--caramel)}.education__left .section-title{color:var(--foam);margin-bottom:2rem}.education__card{align-items:flex-start;background:#fffcf70d;border:1px solid #b8875a40;border-radius:var(--radius);display:flex;gap:1.2rem;padding:1.6rem}.education__badge{align-items:center;background:linear-gradient(135deg,var(--latte),var(--caramel));border-radius:50%;display:flex;flex-shrink:0;height:54px;justify-content:center;width:54px}.education__badge span{color:var(--espresso);font-family:var(--font-display);font-size:.75rem;font-weight:600;letter-spacing:.04em}.education__meta{display:flex;flex-direction:column;gap:.35rem}.education__school{color:var(--foam);font-family:var(--font-display);font-size:1rem;font-weight:600;line-height:1.3}.education__degree{color:var(--latte);font-size:.85rem;line-height:1.4}.education__tags{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.4rem}.education__tag{background:#d4a46a1f;border:1px solid #d4a46a40;border-radius:20px;color:var(--caramel);font-size:.68rem;letter-spacing:.12em;padding:.25rem .7rem;text-transform:uppercase}.education__group{margin-bottom:2rem}.education__group-label{border-bottom:1px solid #b8875a33;color:var(--caramel);font-size:.72rem;letter-spacing:.22em;margin-bottom:1rem;padding-bottom:.5rem;text-transform:uppercase}.education__list{display:flex;flex-direction:column;gap:.55rem;list-style:none}.education__list-item{align-items:center;color:#f2e6d0bf;display:flex;font-size:.88rem;gap:.7rem;line-height:1.5}.education__dot{background:var(--latte);border-radius:50%;flex-shrink:0;height:5px;opacity:.7;width:5px}@media (max-width:800px){.education__inner{gap:2.5rem;grid-template-columns:1fr}}.projects{overflow:hidden;padding:5.5rem 5%}.projects__inner{margin:0 auto;max-width:1160px}.carousel{-webkit-overflow-scrolling:touch;display:flex;gap:1.6rem;overflow-x:auto;padding-bottom:.5rem;scroll-snap-type:x mandatory;scrollbar-width:none}.carousel::-webkit-scrollbar{display:none}.project-card{background:var(--foam);border:1px solid #b8875a33;border-radius:var(--radius);flex:0 0 300px;overflow:hidden;scroll-snap-align:start;transition:transform var(--transition),box-shadow var(--transition)}.project-card:hover{box-shadow:0 16px 42px #1e10081f;transform:translateY(-5px)}.project-card__thumb{display:block;height:180px;object-fit:cover;width:100%}.project-card__thumb-placeholder{align-items:center;border:none;color:#fffcf766;cursor:default;display:flex;font-family:var(--font-display);font-size:.85rem;height:180px;justify-content:center;letter-spacing:.14em;text-transform:uppercase;transition:opacity var(--transition);width:100%}.project-card__body{padding:1.3rem 1.4rem 1.5rem}.project-card__tag{color:var(--latte);font-size:.68rem;letter-spacing:.18em;margin-bottom:.35rem;text-transform:uppercase}.project-card__title{color:var(--espresso);font-family:var(--font-display);font-size:1.18rem;font-weight:600;margin-bottom:.45rem}.project-card__desc{color:var(--roast);font-size:.85rem;line-height:1.7;margin-bottom:1rem}.project-card__link{border-bottom:1px solid var(--caramel);color:var(--dark-roast);font-size:.75rem;letter-spacing:.13em;padding-bottom:1px;text-decoration:none;text-transform:uppercase;transition:color var(--transition)}.project-card__link:hover{color:var(--roast)}.carousel-controls{display:flex;gap:.75rem;margin-top:1.8rem}.carousel-btn{align-items:center;background:#0000;border:1px solid #b8875a59;border-radius:50%;color:var(--roast);cursor:pointer;display:flex;font-size:1rem;height:42px;justify-content:center;transition:all var(--transition);width:42px}.carousel-btn:hover{background:var(--dark-roast);border-color:var(--dark-roast);color:var(--cream)}.contact{background:var(--espresso);color:var(--cream);padding:5.5rem 5%;text-align:center}.contact .section-label{color:var(--caramel)}.contact .section-title{color:var(--foam);margin-bottom:1.4rem}.contact__sub{color:#f2e6d099;font-size:.94rem;line-height:1.8;margin:0 auto 2rem;max-width:420px}.contact__email{color:var(--caramel);display:block;font-family:var(--font-display);font-size:1.5rem;margin-bottom:2.4rem;text-decoration:none;transition:color var(--transition)}.contact__email:hover{color:var(--cream)}.contact__socials{display:flex;gap:2rem;justify-content:center;list-style:none}.contact__socials a{color:#f2e6d073;font-size:.74rem;letter-spacing:.16em;text-decoration:none;text-transform:uppercase;transition:color var(--transition)}.contact__socials a:hover{color:var(--caramel)}.footer{background:var(--espresso);border-top:1px solid #b8875a1f;color:#b8875a59;font-size:.74rem;letter-spacing:.1em;padding:1.4rem;text-align:center}.resume-page{background:var(--milk);display:flex;flex-direction:column;min-height:100vh}.resume-page__header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffcf7f2;border-bottom:1px solid #b8875a33;padding:1.6rem 5%;position:sticky;top:0;z-index:100}.resume-page__header-inner{align-items:center;display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:space-between;margin:0 auto;max-width:1100px}.resume-page__back{background:none;border:none;color:var(--latte);cursor:pointer;font-family:var(--font-body);font-size:.78rem;letter-spacing:.14em;padding:0;text-decoration:none;text-transform:uppercase;transition:color var(--transition);white-space:nowrap}.resume-page__back:hover{color:var(--dark-roast)}.resume-page__title-wrap{flex:1 1;text-align:center}.resume-page__title{color:var(--espresso);font-family:var(--font-display);font-size:clamp(1.4rem,3vw,2rem);font-weight:400;line-height:1.2}.resume-page__title em{color:var(--roast);font-style:italic}.resume-page__download{font-size:.74rem;white-space:nowrap}.resume-page__viewer{align-items:stretch;background:var(--foam);display:flex;flex:1 1;justify-content:center;padding:2.5rem 5%}.resume-page__iframe{background:#fff;border:none;border-radius:var(--radius);box-shadow:0 8px 40px #1e10081f;max-width:900px;min-height:calc(100vh - 120px);width:100%}.resume-page__placeholder{align-items:center;background:var(--milk);border:1px dashed #b8875a66;border-radius:var(--radius);color:var(--roast);display:flex;flex-direction:column;gap:.8rem;justify-content:center;max-width:900px;min-height:500px;width:100%}.resume-page__placeholder p{color:var(--roast);font-size:.95rem;letter-spacing:.06em;opacity:.75}.resume-page__placeholder span{color:var(--latte);font-size:.74rem;font-style:italic;opacity:.7}@media (max-width:600px){.resume-page__header-inner{flex-direction:column;gap:.8rem;text-align:center}.resume-page__viewer{padding:1.2rem 3%}}
/*# sourceMappingURL=main.0efa76dc.css.map*/