@import"https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@400;500;700&family=DM+Sans:wght@400;500;700&display=swap";:root{--bg-color: #f6efe4;--bg-secondary: #fff9f1;--surface-color: rgba(255, 255, 255, .78);--surface-strong: #ffffff;--surface-soft: #f4e7d6;--text-color: #1f2430;--muted-text-color: #5f6673;--primary-color: #c4682c;--primary-color-hover: #9f4f1d;--secondary-accent: #127a6b;--card-border-color: rgba(196, 104, 44, .18);--border-color: rgba(31, 36, 48, .1);--card-shadow: 0 20px 45px rgba(84, 63, 41, .12);--hero-glow: radial-gradient(circle at top, rgba(196, 104, 44, .2), transparent 42%);--projects-backdrop: radial-gradient(circle at top, rgba(18, 122, 107, .16), transparent 42%);--font-family: "DM Sans", sans-serif;--display-font: "Space Grotesk", sans-serif;--h1-font-size: clamp(3rem, 7vw, 5.5rem);--h2-font-size: clamp(2rem, 4vw, 3rem);--h3-font-size: 1.45rem;--normal-font-size: 1rem;--small-font-size: .875rem;--spacing-unit: 1rem;--header-height: 5rem;--theme-transition: background-color .35s ease, color .35s ease, border-color .35s ease, box-shadow .35s ease}body.dark-mode{--bg-color: #121212;--bg-secondary: #171819;--surface-color: rgba(30, 31, 34, .84);--surface-strong: #1b1d20;--surface-soft: #20242a;--text-color: #f3efe8;--muted-text-color: #b6bcc8;--primary-color: #ff8c42;--primary-color-hover: #ffb06f;--secondary-accent: #56c7b1;--card-border-color: rgba(255, 140, 66, .18);--border-color: rgba(255, 255, 255, .08);--card-shadow: 0 24px 56px rgba(0, 0, 0, .34);--hero-glow: radial-gradient(circle at top, rgba(255, 140, 66, .18), transparent 42%);--projects-backdrop: radial-gradient(circle at top, rgba(86, 199, 177, .14), transparent 42%)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-family);font-size:var(--normal-font-size);background:radial-gradient(circle at top left,rgba(196,104,44,.1),transparent 24%),radial-gradient(circle at 85% 12%,rgba(18,122,107,.12),transparent 20%),linear-gradient(180deg,var(--bg-secondary) 0%,var(--bg-color) 100%);color:var(--text-color);line-height:1.7;transition:var(--theme-transition);overflow-x:hidden}body.dark-mode{background:radial-gradient(circle at top left,rgba(255,140,66,.14),transparent 24%),radial-gradient(circle at 85% 12%,rgba(86,199,177,.12),transparent 20%),linear-gradient(180deg,#171819,#121212)}ul{list-style:none}a{text-decoration:none;color:inherit;transition:color .3s ease,transform .3s ease,background-color .3s ease,border-color .3s ease}img{max-width:100%;height:auto;display:block}button,input,textarea{font:inherit}.container{width:min(1180px,calc(100% - 2rem));margin-inline:auto}.section{position:relative;padding:6rem 0 2rem;animation:sectionReveal .8s ease both}.section__title{font-family:var(--display-font);font-size:var(--h2-font-size);line-height:1.05;letter-spacing:-.04em;margin-bottom:3rem;text-align:center;position:relative;padding-bottom:1rem}.section__title:before{content:"";position:absolute;left:50%;bottom:0;width:72px;height:6px;transform:translate(-50%);border-radius:999px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-accent))}.button{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-height:3.3rem;padding:.9rem 1.6rem;border-radius:999px;border:1px solid transparent;background:linear-gradient(135deg,var(--primary-color),color-mix(in srgb,var(--primary-color) 78%,white));color:#fff;font-weight:700;letter-spacing:.01em;box-shadow:0 14px 26px #c4682c38;cursor:pointer}.button:hover{transform:translateY(-3px);background:linear-gradient(135deg,var(--primary-color-hover),var(--primary-color))}.button--secondary{background:transparent;color:var(--text-color);border-color:var(--border-color);box-shadow:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.button--secondary:hover{color:#fff;border-color:transparent}.header{position:sticky;top:0;z-index:100;width:100%;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:color-mix(in srgb,var(--surface-color) 72%,transparent);border-bottom:1px solid var(--border-color);box-shadow:0 10px 30px #0000000a}.nav{height:var(--header-height);display:flex;align-items:center;justify-content:space-between}.nav__logo{font-family:var(--display-font);font-size:1.45rem;font-weight:700;letter-spacing:-.03em}.nav__menu{position:fixed;top:calc(var(--header-height) + .75rem);right:1rem;width:min(320px,calc(100% - 2rem));padding:1.2rem;border-radius:1.5rem;background:color-mix(in srgb,var(--surface-color) 92%,transparent);border:1px solid var(--border-color);box-shadow:var(--card-shadow);transform:translateY(-14px);opacity:0;pointer-events:none;transition:var(--theme-transition),opacity .3s ease,transform .3s ease}.nav__menu.show-menu{opacity:1;transform:translateY(0);pointer-events:auto}.nav__list{display:flex;flex-direction:column;gap:.6rem}.nav__link{display:block;padding:.85rem 1rem;border-radius:.95rem;color:var(--text-color);font-weight:600}.nav__link:hover{background:color-mix(in srgb,var(--surface-soft) 72%,transparent);color:var(--primary-color)}.nav__actions{display:flex;align-items:center;gap:.85rem}.theme__toggle,.nav__toggle{width:2.9rem;height:2.9rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--surface-color);border:1px solid var(--border-color);color:var(--text-color);cursor:pointer;box-shadow:0 10px 20px #0000000d}.theme__toggle:hover,.nav__toggle:hover{color:var(--primary-color);transform:translateY(-2px)}.hero{position:relative;min-height:calc(100vh - var(--header-height));display:grid;align-items:center;padding:5rem 0 3rem}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--hero-glow);filter:blur(12px);pointer-events:none}.hero__container{position:relative;z-index:1;max-width:880px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:1.2rem;animation:heroRise 1s ease both}.hero__title{font-family:var(--display-font);font-size:var(--h1-font-size);line-height:.95;letter-spacing:-.06em;max-width:11ch}.hero__subtitle{color:var(--primary-color);font-family:var(--display-font);font-size:clamp(1.2rem,2.5vw,1.8rem);font-weight:700;letter-spacing:-.03em}.hero__description{max-width:650px;color:var(--muted-text-color);font-size:1.1rem}.hero__buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:.8rem}.about__container,.education__container,.contact__container{position:relative;z-index:1}.about__container{display:grid;gap:2rem;align-items:center}.about__img{width:min(100%,360px);margin-inline:auto;border-radius:2rem;padding:.8rem;background:linear-gradient(145deg,#ffffff9e,#ffffff1f);border:1px solid var(--border-color);box-shadow:var(--card-shadow);animation:floatPortrait 6s ease-in-out infinite}.about__text{padding:1.8rem;border-radius:1.75rem;background:color-mix(in srgb,var(--surface-color) 86%,transparent);border:1px solid var(--border-color);box-shadow:var(--card-shadow);color:var(--muted-text-color)}.about__text p{font-size:1.05rem}.skills__container{display:flex;flex-wrap:wrap;justify-content:center;gap:.9rem}.skills__item{padding:.85rem 1.15rem;border-radius:999px;border:1px solid var(--card-border-color);background:color-mix(in srgb,var(--surface-color) 90%,transparent);color:var(--text-color);font-weight:700;letter-spacing:.01em;box-shadow:0 10px 18px #0000000a;animation:skillPop .7s ease both}.skills__item:nth-child(2n){animation-delay:.08s}.skills__item:nth-child(3n){animation-delay:.14s}.skills__item:hover{transform:translateY(-4px) scale(1.04);background:linear-gradient(135deg,var(--primary-color),var(--secondary-accent));color:#fff}.projects__shell{position:relative}.projects__shell:before{content:"";position:absolute;inset:-1rem 0 auto;height:260px;background:var(--projects-backdrop);filter:blur(16px);pointer-events:none}.projects__heading{position:relative;z-index:1;max-width:760px;margin:0 auto 3rem;text-align:center}.projects__eyebrow{display:inline-flex;padding:.4rem .9rem;margin-bottom:1rem;border-radius:999px;background:color-mix(in srgb,var(--surface-color) 92%,transparent);border:1px solid var(--card-border-color);color:var(--secondary-accent);font-size:.76rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase}.projects__intro{color:var(--muted-text-color);font-size:1.06rem}.projects__container{display:grid;gap:1.5rem}.project__card{position:relative;overflow:hidden;padding:1.6rem;border-radius:1.5rem;border:1px solid rgba(0,0,0,.22);background:linear-gradient(180deg,color-mix(in srgb,var(--surface-color) 90%,transparent),var(--surface-soft));box-shadow:var(--card-shadow);opacity:0;transform:translateY(42px) scale(.97);transition:opacity .45s ease,transform .18s ease-out,box-shadow .18s ease-out,border-color .18s ease-out}.project__card--visible{opacity:1;transform:translateY(0) scale(1)}.project__card:hover{transform:translateY(-12px) scale(1.01);box-shadow:0 26px 48px #543f292e;border-color:#000000c7}body.dark-mode .project__card:hover{box-shadow:0 26px 48px #00000061}.project__card-glow{position:absolute;top:-60px;right:-32px;width:150px;height:150px;border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.22),transparent 70%);animation:driftGlow 6s ease-in-out infinite}body.dark-mode .project__card-glow{background:radial-gradient(circle,rgba(0,0,0,.34),transparent 70%)}.project__card-content{position:relative;z-index:1;display:flex;flex-direction:column;min-height:100%}.project__title{font-family:var(--display-font);font-size:var(--h3-font-size);line-height:1.15;margin-bottom:.8rem}.project__description{color:var(--muted-text-color);margin-bottom:1.4rem;flex:1}.project__tags{display:flex;flex-wrap:wrap;gap:.6rem;margin-bottom:1.2rem}.project__tag{padding:.42rem .82rem;border-radius:999px;background:#ffffff73;border:1px solid rgba(0,0,0,.2);color:#111;font-size:var(--small-font-size);font-weight:700;transition:transform .14s ease-out,border-color .14s ease-out,background-color .14s ease-out}.project__links{display:flex;align-items:center}.project__link-icon{width:3rem;height:3rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff8f;border:1px solid rgba(0,0,0,.22);color:#111;font-size:1.25rem;transition:transform .14s ease-out,background-color .14s ease-out,border-color .14s ease-out,color .14s ease-out}.project__link-icon:hover{background:#111;color:#fff;transform:translateY(-3px) rotate(6deg);border-color:#111}.education__container{display:grid;gap:1.4rem;max-width:900px}.education__item{position:relative;padding:1.5rem 1.5rem 1.5rem 1.8rem;border-radius:1.35rem;background:color-mix(in srgb,var(--surface-color) 90%,transparent);border:1px solid var(--border-color);box-shadow:var(--card-shadow);overflow:hidden}.education__item:before{content:"";position:absolute;top:1rem;bottom:1rem;left:0;width:6px;border-radius:999px;background:linear-gradient(180deg,var(--primary-color),var(--secondary-accent))}.education__item:hover{transform:translate(6px)}.education__degree{font-family:var(--display-font);font-size:1.3rem;margin-bottom:.25rem}.education__institution{color:var(--muted-text-color);font-weight:600}.education__years{display:inline-block;margin-top:.7rem;color:var(--primary-color);font-size:var(--small-font-size);font-weight:700}.contact__container{max-width:840px;text-align:center;padding:2rem;border-radius:2rem;background:color-mix(in srgb,var(--surface-color) 88%,transparent);border:1px solid var(--border-color);box-shadow:var(--card-shadow)}.contact__container>p{color:var(--muted-text-color);max-width:620px;margin:0 auto}.contact__form{display:grid;gap:1rem;margin-top:2rem}.contact__input,.contact__textarea{width:100%;padding:1rem 1.1rem;border-radius:1rem;border:1px solid var(--border-color);background:#ffffff8c;color:var(--text-color);outline:none;transition:var(--theme-transition),transform .25s ease}body.dark-mode .contact__input,body.dark-mode .contact__textarea{background:#ffffff0a}.contact__input::placeholder,.contact__textarea::placeholder{color:var(--muted-text-color)}.contact__input:focus,.contact__textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--primary-color) 18%,transparent);transform:translateY(-2px)}.contact__textarea{min-height:170px;resize:vertical}.contact__info{margin-top:2.5rem}.contact__info p{color:var(--muted-text-color)}.contact__info a{color:var(--primary-color);font-weight:700}.contact__socials,.footer__socials{display:flex;justify-content:center;flex-wrap:wrap;gap:1rem;margin-top:1rem}.contact__social-link,.footer__social-link{width:3rem;height:3rem;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:color-mix(in srgb,var(--surface-color) 92%,transparent);border:1px solid var(--border-color);color:var(--text-color);font-size:1.2rem}.contact__social-link:hover,.footer__social-link:hover{transform:translateY(-4px);background:var(--primary-color);border-color:var(--primary-color);color:#fff}.footer{margin-top:5rem;padding:2.5rem 0 3rem;border-top:1px solid var(--border-color);background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--surface-soft) 44%,transparent))}.footer__container{text-align:center}.footer p{color:var(--muted-text-color);margin-top:1rem}@keyframes heroRise{0%{opacity:0;transform:translateY(38px)}to{opacity:1;transform:translateY(0)}}@keyframes sectionReveal{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}@keyframes floatPortrait{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes driftGlow{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(10px) scale(1.08)}}@keyframes skillPop{0%{opacity:0;transform:translateY(20px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@media screen and (min-width: 768px){.nav__menu{position:static;width:auto;padding:0;border:0;box-shadow:none;background:transparent;transform:none;opacity:1;pointer-events:auto}.nav__list{flex-direction:row;align-items:center;gap:.35rem}.nav__toggle{display:none}.about__container{grid-template-columns:minmax(260px,360px) 1fr;gap:3rem}.about__text{padding:2.2rem}.projects__container,.contact__form{grid-template-columns:repeat(2,minmax(0,1fr))}.full-width{grid-column:1 / -1}}@media screen and (min-width: 1024px){.projects__container{grid-template-columns:repeat(3,minmax(0,1fr))}}@media screen and (max-width: 767px){.section{padding-top:5rem}.contact__container{padding:1.5rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
