.theme-toggle{display:grid;place-items:center;position:relative;width:40px;height:40px;flex-shrink:0;border-radius:8px;color:var(--color-text);border:1px solid var(--color-border);background:var(--color-surface);cursor:pointer;overflow:hidden;transition:border-color .15s cubic-bezier(.16,1,.3,1),color .15s cubic-bezier(.16,1,.3,1)}.theme-toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}.theme-toggle:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.theme-toggle__icon{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;transition:opacity .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1)}.theme-toggle__icon--sun{opacity:0;transform:rotate(-90deg) scale(.6)}.theme-toggle__icon--moon{opacity:1;transform:rotate(0) scale(1)}:root[data-theme=light] .theme-toggle__icon--sun{opacity:1;transform:rotate(0) scale(1)}:root[data-theme=light] .theme-toggle__icon--moon{opacity:0;transform:rotate(90deg) scale(.6)}.navbar{position:fixed;top:0;left:0;right:0;z-index:100;transition:background-color .3s cubic-bezier(.16,1,.3,1),border-color .3s cubic-bezier(.16,1,.3,1),backdrop-filter .3s cubic-bezier(.16,1,.3,1);border-bottom:1px solid transparent}.navbar.is-scrolled{background:color-mix(in srgb,var(--color-bg) 72%,transparent);backdrop-filter:blur(18px) saturate(140%);-webkit-backdrop-filter:blur(18px) saturate(140%);border-bottom-color:var(--color-border)}.navbar__inner{width:100%;max-width:1200px;margin-inline:auto;padding-inline:1rem}@media (min-width: 640px){.navbar__inner{padding-inline:1.5rem}}@media (min-width: 1024px){.navbar__inner{padding-inline:2rem}}.navbar__inner{display:flex;align-items:center;justify-content:space-between;height:64px;gap:.75rem}@media (min-width: 768px){.navbar__inner{height:72px;gap:1rem}}.navbar__brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.05rem;letter-spacing:-.01em;flex-shrink:0;min-width:0}@media (max-width: 374px){.navbar__brand-text{display:none}}.navbar__logo{display:grid;place-items:center;width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-2));color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--color-accent) 40%,transparent)}.navbar__brand-dot{color:var(--color-accent)}.navbar__nav{display:none;align-items:center;gap:.25rem;margin-inline:auto}@media (min-width: 1024px){.navbar__nav{display:flex}}.navbar__link{position:relative;padding:.5rem .75rem;font-size:.875rem;font-weight:500;color:var(--color-text-subtle);border-radius:8px;transition:color .15s cubic-bezier(.16,1,.3,1)}.navbar__link:after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:4px;height:2px;background:var(--color-accent);border-radius:2px;transform:scaleX(0);transform-origin:left;transition:transform .3s cubic-bezier(.16,1,.3,1)}.navbar__link:hover,.navbar__link.is-active{color:var(--color-text)}.navbar__link.is-active:after{transform:scaleX(1)}.navbar__actions{display:flex;align-items:center;gap:.5rem;margin-left:auto;flex-shrink:0}@media (min-width: 1024px){.navbar__actions{gap:.75rem}}.navbar__mail{position:relative;display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:8px;color:var(--color-text);border:1px solid var(--color-border);background:var(--color-surface);transition:border-color .15s cubic-bezier(.16,1,.3,1),color .15s cubic-bezier(.16,1,.3,1)}.navbar__mail:hover{border-color:var(--color-accent);color:var(--color-accent)}.navbar__mail:hover:after{opacity:1;transform:translate(0)}.navbar__mail:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.navbar__mail:after{content:"Get in touch";position:absolute;top:calc(100% + 8px);right:0;padding:.25rem .75rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:8px;font-size:.75rem;font-family:system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:var(--color-text);white-space:nowrap;opacity:0;pointer-events:none;transform:translate(4px,-4px);transition:opacity .15s cubic-bezier(.16,1,.3,1),transform .15s cubic-bezier(.16,1,.3,1);z-index:110}@media (hover: none){.navbar__mail:after{display:none}}.navbar__burger{display:grid;place-items:center;width:40px;height:40px;flex-shrink:0;border-radius:8px;color:var(--color-text);border:1px solid var(--color-border);background:var(--color-surface);transition:border-color .15s cubic-bezier(.16,1,.3,1),color .15s cubic-bezier(.16,1,.3,1)}.navbar__burger:hover{border-color:var(--color-accent);color:var(--color-accent)}@media (min-width: 1024px){.navbar__burger{display:none}}.navbar__backdrop{position:fixed;top:64px;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:-1}@media (min-width: 1024px){.navbar__backdrop{display:none}}.navbar__mobile{position:absolute;top:100%;left:0;right:0;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border);padding:1rem 1rem 2rem;transform:translateY(-8px);opacity:0;pointer-events:none;transition:transform .3s cubic-bezier(.16,1,.3,1),opacity .3s cubic-bezier(.16,1,.3,1)}.navbar__mobile.is-open{transform:translateY(0);opacity:1;pointer-events:auto}@media (min-width: 1024px){.navbar__mobile{display:none}}.navbar__mobile-nav{display:flex;flex-direction:column;gap:2px}.navbar__mobile-link{display:flex;align-items:center;gap:1rem;padding:1rem;font-size:1.15rem;font-weight:600;border-radius:14px;color:var(--color-text);transition:background-color .15s cubic-bezier(.16,1,.3,1)}.navbar__mobile-link:hover{background:var(--color-surface)}.navbar__mobile-index{font-family:ui-monospace,SF Mono,Cascadia Code,Roboto Mono,Menlo,Consolas,Courier New,monospace;font-size:.75rem;color:var(--color-accent)}.navbar__mobile-cta{width:100%;margin-top:1.5rem}.container{width:100%;max-width:1200px;margin-inline:auto;padding-inline:1rem}@media (min-width: 640px){.container{padding-inline:1.5rem}}@media (min-width: 1024px){.container{padding-inline:2rem}}.hero{position:relative;min-height:100svh;display:flex;align-items:center;padding-top:6rem;padding-bottom:6rem}.hero__inner{display:grid;grid-template-columns:1fr;gap:3rem;align-items:center}@media (min-width: 1024px){.hero__inner{grid-template-columns:1.15fr .85fr;gap:4rem}}.hero__content{max-width:640px}.hero__badge{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.875rem;font-weight:500;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;margin-bottom:1.5rem}.hero__badge-dot{width:8px;height:8px;border-radius:50%;background:var(--color-success)}.hero__prompt{display:flex;align-items:center;gap:.5rem;color:var(--color-text-subtle);font-size:.875rem;margin-bottom:.75rem}.hero__prompt-symbol{color:var(--color-text-dim)}.hero__cursor{display:inline-block;width:8px;height:16px;background:var(--color-text-subtle);animation:blink 1.1s steps(1) infinite;margin-left:2px}.hero__title{font-size:clamp(2.75rem,7vw,5.5rem);font-weight:800;line-height:1.05;letter-spacing:-.03em;color:var(--color-text);margin-bottom:1rem}.hero__role{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;font-size:clamp(1.05rem,1.4vw,1.25rem);margin-bottom:1.5rem}.hero__role-accent{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-2) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;font-weight:700}.hero__role-sep{color:var(--color-text-dim)}.hero__role-meta{color:var(--color-text-subtle);font-weight:500}.hero__lead{margin-bottom:2rem;max-width:56ch}.hero__meta{display:flex;flex-wrap:wrap;gap:.75rem 1.5rem;margin-bottom:2rem}.hero__meta li{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-subtle);font-family:ui-monospace,SF Mono,Cascadia Code,Roboto Mono,Menlo,Consolas,Courier New,monospace}.hero__meta svg{color:var(--color-text-dim)}.hero__actions{display:flex;flex-wrap:wrap;gap:.75rem}.hero__terminal{display:flex;flex-direction:column;gap:1rem;min-width:0;max-width:100%}.terminal{background:var(--color-surface);border:1px solid var(--color-border-strong);border-radius:14px;overflow:hidden;box-shadow:var(--shadow-md);max-width:100%}.terminal__bar{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border)}.terminal__dot{width:11px;height:11px;border-radius:50%}.terminal__dot--red{background:#f87171}.terminal__dot--amber{background:#fbbf24}.terminal__dot--green{background:#34d399}.terminal__title{margin-left:.75rem;font-size:.75rem;color:var(--color-text-dim)}.terminal__body{padding:1rem;font-size:clamp(.75rem,2.6vw,.875rem);line-height:1.7;color:var(--color-text-muted);overflow-x:auto;white-space:pre;-moz-tab-size:2;tab-size:2}@media (min-width: 640px){.terminal__body{padding:1.5rem}}.terminal__body code{font-family:inherit}.t-key{color:var(--color-text);font-weight:500}.t-str,.t-num{color:var(--color-text-subtle)}.hero__scroll{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);display:none;flex-direction:column;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-text-dim);z-index:1}@media (min-width: 1024px){.hero__scroll{display:flex}}.hero__scroll-line{width:1px;height:40px;background:var(--color-border-strong);animation:float 2.4s ease-in-out infinite}.section{padding-block:6rem}@media (min-width: 768px){.section{padding-block:8rem}}.section__head{margin-bottom:3rem}.about__grid{display:grid;grid-template-columns:1fr;gap:3rem}@media (min-width: 768px){.about__grid{grid-template-columns:1.5fr 1fr;gap:4rem;align-items:start}}.about__text p{color:var(--color-text-muted);line-height:1.8;font-size:1.05rem}.about__text p+p{margin-top:1rem}.about__hi{color:var(--color-text);font-weight:600;background:color-mix(in srgb,var(--color-accent) 12%,transparent);padding-inline:.5rem;border-radius:4px}.about__stats ul{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem}.about__stats li{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;transition:border-color .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);padding:1.5rem;display:flex;flex-direction:column;gap:.25rem}.about__stats li:hover{border-color:var(--color-accent);transform:translateY(-2px)}.about__stat-value{font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;letter-spacing:-.02em;background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-2) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.about__stat-label{font-size:.875rem;color:var(--color-text-subtle)}.timeline{position:relative;display:flex;flex-direction:column;gap:.75rem}.timeline:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:linear-gradient(to bottom,var(--color-accent),var(--color-border-strong) 30%,var(--color-border) 70%,transparent)}@media (min-width: 768px){.timeline:before{left:11px}}.timeline__item{position:relative;padding-left:2rem}@media (min-width: 768px){.timeline__item{padding-left:3rem}}.timeline__marker{position:absolute;left:0;top:1rem;z-index:1}.timeline__dot{display:block;width:16px;height:16px;border-radius:50%;background:var(--color-bg);border:3px solid var(--color-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 12%,transparent);transition:border-color .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1)}.timeline__item:hover .timeline__dot{border-color:var(--color-accent-hover);box-shadow:0 0 0 6px color-mix(in srgb,var(--color-accent) 20%,transparent)}@media (min-width: 768px){.timeline__dot{width:24px;height:24px;border-width:4px}}.timeline__card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;transition:border-color .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);padding:1.5rem;transition:border-color .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),background-color .3s cubic-bezier(.16,1,.3,1)}@media (min-width: 768px){.timeline__card{padding:2rem}}.timeline__card:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover)}.timeline__head{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem}@media (min-width: 768px){.timeline__head{flex-direction:row;justify-content:space-between;align-items:flex-start;gap:1rem}}.timeline__role{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:700;color:var(--color-text);letter-spacing:-.01em}.timeline__company{color:var(--color-accent);font-weight:600;font-size:.875rem}.timeline__company-meta{color:var(--color-text-dim);font-weight:400}.timeline__period{display:inline-flex;align-items:center;gap:.5rem;font-size:.75rem;color:var(--color-text-subtle);padding:.5rem .75rem;background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:999px;white-space:nowrap;align-self:flex-start}.timeline__period svg{color:var(--color-text-dim)}.timeline__current{color:var(--color-success);font-weight:600;padding-left:.5rem;border-left:1px solid var(--color-border-strong);margin-left:.25rem}.timeline__highlights{display:flex;flex-direction:column;gap:.75rem}.timeline__highlights li{position:relative;padding-left:1.5rem;color:var(--color-text-muted);line-height:1.7}.timeline__highlights li:before{content:"";position:absolute;left:0;top:.7em;width:8px;height:8px;border-right:2px solid var(--color-accent);border-bottom:2px solid var(--color-accent);transform:rotate(-45deg)}.projects__grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 640px){.projects__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.projects__grid{grid-template-columns:repeat(3,1fr);gap:1.5rem}}@media (min-width: 1280px){.projects__grid{gap:2rem}}.project{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;transition:border-color .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);padding:0;display:flex;flex-direction:column;position:relative;overflow:hidden}.project:hover{transform:translateY(-4px);border-color:var(--color-border-strong);box-shadow:var(--shadow-md)}.project:hover .project__preview img{transform:scale(1.05)}.project__preview{position:relative;aspect-ratio:16/9;overflow:hidden;background:var(--color-bg-elevated);border-bottom:1px solid var(--color-border)}.project__preview img{width:100%;height:100%;object-fit:cover;object-position:top center;display:block;transition:transform .6s cubic-bezier(.16,1,.3,1)}.project__index{position:absolute;top:.75rem;right:.75rem;z-index:1;padding:.25rem .75rem;font-size:.75rem;color:var(--color-text);background:color-mix(in srgb,var(--color-bg) 70%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--color-border-strong);border-radius:999px}.project__body{padding:1.5rem;display:flex;flex-direction:column;flex-grow:1}@media (min-width: 1280px){.project__body{padding:2rem}}.project--accent:hover .project__icon{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.project--accent .project__details li:before{background:var(--color-accent)}.project--accent-2:hover .project__icon{background:var(--color-accent-2);color:#fff;border-color:var(--color-accent-2)}.project--accent-2 .project__details li:before{background:var(--color-accent-2)}.project--accent-3:hover .project__icon{background:var(--color-accent-3);color:#fff;border-color:var(--color-accent-3)}.project--accent-3 .project__details li:before{background:var(--color-accent-3)}.project--accent-4:hover .project__icon{background:var(--color-accent-4);color:#fff;border-color:var(--color-accent-4)}.project--accent-4 .project__details li:before{background:var(--color-accent-4)}.project__top{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.project__icon{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:8px;background:var(--color-bg-elevated);color:var(--color-text-subtle);border:1px solid var(--color-border);transition:background-color .3s cubic-bezier(.16,1,.3,1),color .3s cubic-bezier(.16,1,.3,1),border-color .3s cubic-bezier(.16,1,.3,1)}.project__name{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:700;letter-spacing:-.01em}.project__tagline{color:var(--color-text-subtle);font-size:.875rem;line-height:1.6;margin-bottom:1rem}.project__details{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.5rem;flex-grow:1}.project__details li{position:relative;padding-left:1rem;color:var(--color-text-muted);font-size:.875rem;line-height:1.65}.project__details li:before{content:"";position:absolute;left:0;top:.65em;width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.project__tags{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:1rem;border-top:1px solid var(--color-border)}.skills__grid{display:grid;grid-template-columns:repeat(1,1fr);gap:1rem}@media (min-width: 640px){.skills__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 1024px){.skills__grid{grid-template-columns:repeat(3,1fr)}}.skill-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;transition:border-color .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);padding:1.5rem;transition:border-color .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1)}.skill-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.skill-card__label{display:flex;align-items:center;gap:.75rem;font-size:1.05rem;font-weight:700;margin-bottom:1rem;color:var(--color-text)}.skill-card__icon{display:grid;place-items:center;width:32px;height:32px;border-radius:8px;background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-accent);font-size:.9rem}.skill-card__list{display:flex;flex-wrap:wrap;gap:.5rem}.education__grid{display:grid;grid-template-columns:1fr;gap:1.5rem}@media (min-width: 768px){.education__grid{grid-template-columns:1.2fr 1fr;gap:2rem;align-items:stretch}}.edu-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;transition:border-color .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);padding:2rem;display:flex;gap:1rem;align-items:flex-start}.edu-card:hover{border-color:var(--color-accent);transform:translateY(-2px)}.edu-card__icon{display:grid;place-items:center;flex-shrink:0;width:52px;height:52px;border-radius:14px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-2));color:#fff;box-shadow:0 6px 18px color-mix(in srgb,var(--color-accent) 35%,transparent)}.edu-card__body{flex-grow:1}.edu-card__degree{font-size:clamp(1.2rem,2vw,1.5rem);font-weight:700;margin-block:.5rem;letter-spacing:-.01em}.edu-card__school{color:var(--color-accent);font-weight:600;margin-bottom:1rem}.edu-card__meta{display:flex;flex-wrap:wrap;gap:1rem}.edu-card__meta li{display:flex;flex-direction:column;gap:2px;padding-right:1rem;border-right:1px solid var(--color-border)}.edu-card__meta li:last-child{border-right:none}.edu-card__meta-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-dim)}.edu-card__meta-value{font-weight:600;color:var(--color-text)}.lang-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;transition:border-color .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);padding:2rem;display:flex;flex-direction:column}.lang-card:hover{border-color:var(--color-accent-2);transform:translateY(-2px)}.lang-card__title{display:flex;align-items:center;gap:.75rem;font-size:1.05rem;font-weight:700;margin-bottom:1.5rem}.lang-card__title svg{color:var(--color-accent-2)}.lang-card__list{display:flex;flex-direction:column;gap:1.5rem;margin-top:auto}.lang-item__head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.5rem}.lang-item__name{font-weight:600;color:var(--color-text)}.lang-item__level{font-size:.875rem;color:var(--color-text-subtle);font-family:ui-monospace,SF Mono,Cascadia Code,Roboto Mono,Menlo,Consolas,Courier New,monospace}.lang-item__bar{width:100%;height:8px;background:var(--color-bg-elevated);border-radius:999px;overflow:hidden;border:1px solid var(--color-border)}.lang-item__fill{display:block;height:100%;background:linear-gradient(90deg,var(--color-accent),var(--color-accent-2));border-radius:999px;transition:width 1.2s cubic-bezier(.16,1,.3,1)}.footer{position:relative;padding-top:6rem;border-top:1px solid var(--color-border);background:radial-gradient(ellipse 60% 60% at 50% 0%,color-mix(in srgb,var(--color-accent) 10%,transparent),transparent 70%),var(--color-bg-elevated)}.footer__cta{position:relative;text-align:center;padding-block:3rem 4rem;margin-bottom:4rem}.footer__label{position:relative;justify-content:center}.footer__title{position:relative;font-size:clamp(2rem,4.5vw,3.25rem);font-weight:800;letter-spacing:-.025em;margin-bottom:1rem;max-width:18ch;margin-inline:auto}.footer__title span{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-2) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.footer__lead{position:relative;color:var(--color-text-subtle);font-size:clamp(1.05rem,1.4vw,1.25rem);max-width:50ch;margin:0 auto 2rem}.footer__btn{position:relative;font-family:ui-monospace,SF Mono,Cascadia Code,Roboto Mono,Menlo,Consolas,Courier New,monospace;font-size:.875rem}.footer__contacts{display:grid;grid-template-columns:1fr;gap:.75rem;margin-bottom:4rem}@media (min-width: 640px){.footer__contacts{grid-template-columns:repeat(3,1fr)}}.footer__contact{background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px;transition:border-color .3s cubic-bezier(.16,1,.3,1),transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s cubic-bezier(.16,1,.3,1);display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;color:var(--color-text)}.footer__contact:hover{border-color:var(--color-accent);transform:translateY(-2px)}.footer__contact:hover .footer__contact-arrow{color:var(--color-accent);transform:translate(2px,-2px)}.footer__contact-icon{display:grid;place-items:center;flex-shrink:0;width:40px;height:40px;border-radius:8px;background:color-mix(in srgb,var(--color-accent) 12%,transparent);color:var(--color-accent)}.footer__contact-text{display:flex;flex-direction:column;gap:2px;min-width:0}.footer__contact-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-dim)}.footer__contact-value{font-size:.875rem;font-weight:500;color:var(--color-text);overflow:hidden;text-overflow:ellipsis}.footer__contact-arrow{margin-left:auto;color:var(--color-text-dim);transition:transform .15s cubic-bezier(.16,1,.3,1),color .15s cubic-bezier(.16,1,.3,1)}.footer__bottom{display:flex;flex-direction:column;align-items:center;gap:1rem;padding-block:2rem;border-top:1px solid var(--color-border);text-align:center}@media (min-width: 768px){.footer__bottom{flex-direction:row;justify-content:space-between;text-align:left}}.footer__brand{display:inline-flex;align-items:center;gap:.5rem;font-weight:700}.footer__brand-logo{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-2));color:#fff}.footer__copy{font-size:.75rem;color:var(--color-text-dim)}.footer__top{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-text-subtle);transition:color .15s cubic-bezier(.16,1,.3,1)}.footer__top:hover{color:var(--color-accent)}:root{color-scheme:dark;--color-bg: #0f172a;--color-bg-elevated: #131c31;--color-surface: #1e293b;--color-surface-hover: #273449;--color-border: #273449;--color-border-strong: #334155;--color-text: #f1f5f9;--color-text-muted: #cbd5e1;--color-text-subtle: #94a3b8;--color-text-dim: #64748b;--color-accent: #6366f1;--color-accent-hover: #818cf8;--color-accent-2: #8b5cf6;--color-accent-3: #14b8a6;--color-accent-4: #f97316;--color-success: #22c55e;--color-warning: #eab308;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 8px 24px rgba(0, 0, 0, .35);--shadow-lg: 0 20px 50px rgba(0, 0, 0, .45)}:root[data-theme=light]{color-scheme:light;--color-bg: #f8fafc;--color-bg-elevated: #ffffff;--color-surface: #ffffff;--color-surface-hover: #f1f5f9;--color-border: #e2e8f0;--color-border-strong: #cbd5e1;--color-text: #0f172a;--color-text-muted: #334155;--color-text-subtle: #64748b;--color-text-dim: #94a3b8;--color-accent: #4f46e5;--color-accent-hover: #4338ca;--color-accent-2: #7c3aed;--color-accent-3: #0d9488;--color-accent-4: #ea580c;--color-success: #16a34a;--color-warning: #ca8a04;--shadow-sm: 0 1px 2px rgba(15, 23, 42, .06);--shadow-md: 0 8px 24px rgba(15, 23, 42, .08);--shadow-lg: 0 20px 50px rgba(15, 23, 42, .12)}@keyframes theme-reveal-right-to-left{0%{clip-path:polygon(100% 0,100% 0,100% 100%,100% 100%)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}@keyframes theme-reveal-left-to-right{0%{clip-path:polygon(0 0,0 0,0 100%,0 100%)}to{clip-path:polygon(0 0,100% 0,100% 100%,0 100%)}}::view-transition-old(root),::view-transition-new(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2}:root[data-theme-transition=light]::view-transition-new(root){animation:theme-reveal-right-to-left 1.6s cubic-bezier(.22,1,.36,1)}:root[data-theme-transition=dark]::view-transition-new(root){animation:theme-reveal-left-to-right 1.6s cubic-bezier(.22,1,.36,1)}@media (prefers-reduced-motion: reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}}html{scroll-padding-top:90px}body{background-color:var(--color-bg)}.lead{font-size:clamp(1.05rem,1.4vw,1.25rem);color:var(--color-text-muted);line-height:1.7}.mono{font-family:ui-monospace,SF Mono,Cascadia Code,Roboto Mono,Menlo,Consolas,Courier New,monospace}.text-accent{color:var(--color-accent)}.section-label{display:inline-flex;align-items:center;gap:.5rem;font-family:ui-monospace,SF Mono,Cascadia Code,Roboto Mono,Menlo,Consolas,Courier New,monospace;font-size:.875rem;color:var(--color-accent);margin-bottom:1rem;letter-spacing:.02em}.section-label:before{content:"$";color:var(--color-text-dim)}.section-title{font-size:clamp(1.6rem,3.2vw,2.4rem);font-weight:800;margin-bottom:2rem;letter-spacing:-.02em}.section-title span{background:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-2) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.eyebrow{font-family:ui-monospace,SF Mono,Cascadia Code,Roboto Mono,Menlo,Consolas,Courier New,monospace;font-size:.75rem;text-transform:uppercase;letter-spacing:.12em;color:var(--color-text-dim)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.5rem;border-radius:8px;font-weight:600;font-size:.875rem;letter-spacing:.01em;transition:transform .15s cubic-bezier(.16,1,.3,1),background-color .15s cubic-bezier(.16,1,.3,1),border-color .15s cubic-bezier(.16,1,.3,1),box-shadow .15s cubic-bezier(.16,1,.3,1)}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--color-accent);color:#fff;box-shadow:0 4px 14px color-mix(in srgb,var(--color-accent) 35%,transparent)}.btn-primary:hover{background:var(--color-accent-hover);box-shadow:0 6px 20px color-mix(in srgb,var(--color-accent) 45%,transparent);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--color-text);border:1px solid var(--color-border-strong)}.btn-ghost:hover{border-color:var(--color-accent);color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 6%,transparent)}.chip{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.875rem;font-family:ui-monospace,SF Mono,Cascadia Code,Roboto Mono,Menlo,Consolas,Courier New,monospace;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;transition:border-color .15s cubic-bezier(.16,1,.3,1),color .15s cubic-bezier(.16,1,.3,1),transform .15s cubic-bezier(.16,1,.3,1)}.chip:hover{border-color:var(--color-accent);color:var(--color-text)}.link-arrow{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-accent);font-weight:600;font-size:.875rem}.link-arrow svg{transition:transform .15s cubic-bezier(.16,1,.3,1)}.link-arrow:hover svg{transform:translate(4px)}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes pulse-glow{0%,to{box-shadow:0 0 color-mix(in srgb,var(--color-accent) 40%,transparent)}50%{box-shadow:0 0 0 8px transparent}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1)}.reveal.is-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;scroll-behavior:smooth}@media (prefers-reduced-motion: reduce){html{scroll-behavior:auto}}body{font-family:system-ui,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:1rem;line-height:1.6;color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;min-height:100vh;overflow-x:hidden}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}a{color:inherit;text-decoration:none}ul,ol{list-style:none}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.15;text-wrap:balance}p{text-wrap:pretty}::selection{background:color-mix(in srgb,var(--color-accent) 35%,transparent);color:var(--color-text)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:4px}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:999px;border:3px solid var(--color-bg)}::-webkit-scrollbar-thumb:hover{background:var(--color-text-dim)}
