*,::after,::before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-body);line-height:1.7;color:var(--color-ink);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}img,video{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}ol,ul{list-style:none}button{cursor:pointer;font-family:inherit;border:none;background:0 0}input,select,textarea{font-family:inherit}:root{--color-ink:#1d1d1f;--color-ink-soft:#424245;--color-mid:#86868b;--color-border:#d2d2d7;--color-border-soft:#e8e8ed;--color-bg:#ffffff;--color-bg-alt:#f5f5f7;--color-bg-dark:#1d1d1f;--color-text:#1d1d1f;--color-text-soft:#6e6e73;--color-accent:#0071e3;--color-accent-dark:#0057b0;--color-white:#ffffff;--font-display:-apple-system,"SF Pro Display","Inter",BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--font-body:-apple-system,"SF Pro Text","Inter",BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--font-mono:"SF Mono","Fira Code","Cascadia Code","Consolas",monospace;--text-mega:clamp(3.25rem, 8vw, 5.5rem);--text-hero:clamp(2.25rem, 5vw, 3.75rem);--text-h2:clamp(1.875rem, 3.5vw, 2.75rem);--text-h3:clamp(1.25rem, 2.2vw, 1.625rem);--text-h4:1.125rem;--text-lead:clamp(1.0625rem, 1.8vw, 1.25rem);--text-body:1.0625rem;--text-small:0.875rem;--text-micro:0.75rem;--space-2xs:0.25rem;--space-xs:0.5rem;--space-sm:0.75rem;--space-md:1rem;--space-lg:1.5rem;--space-xl:2rem;--space-2xl:3rem;--space-3xl:4rem;--space-4xl:6rem;--space-5xl:8rem;--radius-sm:8px;--radius-md:12px;--radius-lg:18px;--radius-xl:24px;--radius-full:9999px;--shadow-xs:0 1px 4px rgba(0,0,0,.04);--shadow-sm:0 4px 16px rgba(0,0,0,.06);--shadow-md:0 8px 30px rgba(0,0,0,.08);--shadow-lg:0 20px 60px rgba(0,0,0,.08);--shadow-xl:0 32px 80px rgba(0,0,0,.12);--ease:cubic-bezier(0.16, 1, 0.3, 1);--ease-in:cubic-bezier(0.4, 0, 1, 1);--ease-out:cubic-bezier(0, 0, 0.2, 1);--t-fast:200ms var(--ease);--t-base:400ms var(--ease);--t-slow:700ms var(--ease);--t-reveal:900ms var(--ease);--max-width:1440px;--grid-gap:clamp(1.25rem, 2.5vw, 2.5rem);--section-pad:clamp(5rem, 10vw, 8rem);--nav-h:64px}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;line-height:1.1;letter-spacing:-.025em;color:var(--color-ink)}h1{font-size:var(--text-hero)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3);letter-spacing:-.02em}h4{font-size:var(--text-h4);letter-spacing:-.01em}p{font-size:var(--text-body);line-height:1.75;color:var(--color-text-soft)}strong{font-weight:600;color:var(--color-ink)}.container{width:100%;max-width:var(--max-width);margin:0 auto;padding:0 clamp(1.25rem,5vw,4rem)}section{padding:var(--section-pad) 0}.section--dark{background:var(--color-bg-dark);color:var(--color-white)}.section--alt{background:var(--color-bg-alt)}.section-eyebrow{display:inline-block;font-size:var(--text-micro);font-weight:700;letter-spacing:.12em;text-transform:uppercase;background:linear-gradient(90deg,#0071e3 0,#5ac8fa 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-lg)}.section-title{font-size:var(--text-h2);font-weight:700;letter-spacing:-.025em;color:var(--color-ink);margin-bottom:var(--space-lg)}.section-description{font-size:var(--text-lead);color:var(--color-text-soft);max-width:640px;line-height:1.7}.section-header{margin-bottom:var(--space-3xl)}.section-header--center{text-align:center}.section-header--center .section-description{margin:0 auto}.section--dark .section-title{color:var(--color-white)}.section--dark .section-eyebrow{background:linear-gradient(90deg,rgba(90,200,250,.9) 0,rgba(180,215,255,.65) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section--dark .section-description{color:rgba(255,255,255,.6)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.75rem;font-size:.9375rem;font-weight:600;font-family:var(--font-body);border-radius:var(--radius-full);text-decoration:none;transition:transform var(--t-fast),box-shadow var(--t-fast),background var(--t-fast),color var(--t-fast),border-color var(--t-fast);cursor:pointer;border:1.5px solid transparent;white-space:nowrap;-webkit-tap-highlight-color:transparent;line-height:1;position:relative;overflow:hidden;isolation:isolate}.btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.btn::before{content:"";position:absolute;inset:1px;border-radius:inherit;background:linear-gradient(180deg,rgba(255,255,255,.22) 0,rgba(255,255,255,0) 55%);opacity:.55;pointer-events:none;z-index:0}.btn::after{content:"";position:absolute;top:-120%;left:-40%;width:34%;height:340%;transform:translateX(-220%) rotate(18deg);background:linear-gradient(90deg,rgba(255,255,255,0) 0,rgba(255,255,255,.32) 52%,rgba(255,255,255,0) 100%);opacity:0;pointer-events:none;z-index:0;transition:transform .8s cubic-bezier(.19,1,.22,1),opacity .45s ease}.btn>*{position:relative;z-index:1}.btn-primary{background:linear-gradient(145deg,#1f2228 0,#0a0c10 100%);color:var(--color-white);border-color:#232833;box-shadow:0 10px 24px rgba(0,0,0,.24),0 1px 0 rgba(255,255,255,.08) inset}.btn-primary:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 16px 34px rgba(0,0,0,.3),0 0 0 1px rgba(130,170,255,.22),0 1px 0 rgba(255,255,255,.1) inset;background:linear-gradient(145deg,#282d36 0,#0f1319 100%)}.btn:hover::after{opacity:.9;transform:translateX(410%) rotate(18deg)}.btn-light{background:var(--color-white);color:var(--color-ink);border-color:var(--color-white)}.btn-light:hover{transform:scale(1.02);box-shadow:var(--shadow-md)}.btn-ghost{background:linear-gradient(180deg,rgba(255,255,255,.7) 0,rgba(255,255,255,.45) 100%);color:var(--color-ink);border-color:rgba(17,20,26,.18);box-shadow:0 10px 26px rgba(15,23,42,.08),0 1px 0 rgba(255,255,255,.9) inset}.btn-ghost:hover{background:linear-gradient(145deg,#1f2228 0,#0a0c10 100%);color:var(--color-white);border-color:#232833;transform:translateY(-1px) scale(1.015);box-shadow:0 14px 30px rgba(0,0,0,.28),0 0 0 1px rgba(130,170,255,.18)}.btn-ghost--light{background:0 0;color:rgba(255,255,255,.8);border-color:rgba(255,255,255,.3)}.btn-ghost--light:hover{background:rgba(255,255,255,.12);color:var(--color-white);border-color:rgba(255,255,255,.5)}.btn--large{padding:1rem 2.25rem;font-size:1rem}.btn-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:50%;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.22);color:var(--color-white);cursor:pointer;transition:background var(--t-fast),transform var(--t-fast);font-size:.8125rem;opacity:0;transform:translateY(8px)}.portfolio-item:hover .btn-icon{opacity:1;transform:translateY(0)}.btn-icon:hover{background:rgba(255,255,255,.28);transform:scale(1.08)!important}.navbar{position:fixed;top:0;left:0;right:0;height:var(--nav-h);z-index:1000;background:rgba(8,8,14,.55);backdrop-filter:saturate(150%) blur(20px);-webkit-backdrop-filter:saturate(150%) blur(20px);border-bottom:1px solid rgba(255,255,255,.07);transition:background var(--t-base),border-color var(--t-base)}.navbar.scrolled{background:rgba(255,255,255,.88);border-bottom-color:rgba(0,0,0,.1)}.navbar.scrolled .brand-name{color:var(--color-ink)}.navbar.scrolled .brand-tagline{color:var(--color-mid)}.navbar.scrolled .nav-link{color:var(--color-ink-soft)}.navbar.scrolled .nav-link.active,.navbar.scrolled .nav-link:hover{color:var(--color-ink)}.navbar.scrolled .nav-link--cta{background:linear-gradient(145deg,#1f2228 0,#0a0c10 100%)!important;color:var(--color-white)!important;border-color:#232833;box-shadow:0 12px 28px rgba(0,0,0,.22),0 1px 0 rgba(255,255,255,.08) inset}.navbar.scrolled .nav-link--cta:hover{background:linear-gradient(145deg,#2a303a 0,#12161d 100%)!important;color:var(--color-white)!important;border-color:#2b3340;box-shadow:0 16px 34px rgba(0,0,0,.28),0 0 0 1px rgba(130,170,255,.16),0 1px 0 rgba(255,255,255,.1) inset}.navbar.scrolled .nav-toggle span{background:var(--color-ink)}.navbar:not(.scrolled) .brand-name{color:rgba(255,255,255,.94)}.navbar:not(.scrolled) .brand-tagline{color:rgba(255,255,255,.72)}.navbar:not(.scrolled) .nav-menu:not(.active) .nav-link{color:rgba(255,255,255,.84)}.navbar:not(.scrolled) .nav-menu:not(.active) .nav-link.active,.navbar:not(.scrolled) .nav-menu:not(.active) .nav-link:hover{color:rgba(255,255,255,.98)}.navbar:not(.scrolled) .nav-toggle span{background:rgba(255,255,255,.9)}.navbar .container{display:flex;justify-content:space-between;align-items:center;height:100%}.nav-brand{display:flex;flex-direction:column;gap:1px;text-decoration:none}.brand-name{font-family:var(--font-display);font-size:1rem;font-weight:700;letter-spacing:-.02em;color:var(--color-ink);line-height:1.2}.brand-tagline{font-size:.6875rem;font-weight:500;color:var(--color-mid);letter-spacing:.02em;line-height:1}.nav-menu{display:flex;align-items:center;gap:var(--space-lg)}.nav-link{font-size:var(--text-small);font-weight:500;color:var(--color-ink-soft);text-decoration:none;transition:color var(--t-fast);letter-spacing:-.01em}.nav-link.active,.nav-link:hover{color:var(--color-ink)}.nav-link--cta{background:linear-gradient(140deg,rgba(255,255,255,.24) 0,rgba(255,255,255,.1) 100%);color:var(--color-white)!important;display:inline-flex;align-items:center;justify-content:center;white-space:nowrap;line-height:1;padding:.5rem 1.125rem;border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.3);font-size:var(--text-small);font-weight:600;box-shadow:0 8px 24px rgba(4,9,20,.28),0 1px 0 rgba(255,255,255,.2) inset;position:relative;transition:transform var(--t-fast),background var(--t-fast),border-color var(--t-fast),box-shadow var(--t-fast)}.navbar:not(.scrolled) .nav-link--cta:hover{transform:translateY(-1px) scale(1.03);background:linear-gradient(140deg,rgba(255,255,255,.3) 0,rgba(255,255,255,.14) 100%);border-color:rgba(255,255,255,.42);box-shadow:0 14px 30px rgba(4,9,20,.34),0 1px 0 rgba(255,255,255,.28) inset}.nav-toggle{display:none;flex-direction:column;gap:5px;background:0 0;border:none;cursor:pointer;padding:.5rem;-webkit-tap-highlight-color:transparent}.nav-toggle span{display:block;width:22px;height:2px;background:var(--color-ink);border-radius:2px;transition:transform var(--t-base),opacity var(--t-base)}.hero-section{position:relative;min-height:100svh;display:flex;align-items:center;padding-top:var(--nav-h);background:radial-gradient(ellipse 90% 80% at 70% 30%,rgba(0,113,227,.12) 0,transparent 60%),radial-gradient(ellipse 60% 50% at 10% 80%,rgba(100,100,255,.06) 0,transparent 50%),linear-gradient(180deg,#08080e 0,#0f0f18 55%,#14141e 100%);overflow:hidden}.hero-section::before{content:'';position:absolute;inset:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.025'/%3E%3C/svg%3E");background-size:200px 200px;pointer-events:none;z-index:0}.hero-section .container{position:relative;z-index:1}.hero-content{display:grid;grid-template-columns:1fr 0.9fr;gap:var(--space-4xl);align-items:center;padding:var(--space-4xl) 0}.hero-text{max-width:680px}.hero-eyebrow{display:inline-flex;align-items:center;gap:var(--space-xs);font-size:var(--text-micro);font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:rgba(255,255,255,.45);margin-bottom:var(--space-xl)}.hero-eyebrow-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#34c759;flex-shrink:0;animation:dot-pulse 2.4s ease infinite}@keyframes dot-pulse{0%,100%{opacity:1}50%{opacity:.35}}.hero-title{font-family:var(--font-display);font-size:var(--text-mega);font-weight:700;letter-spacing:-.035em;line-height:1.04;background:linear-gradient(160deg,#fff 30%,rgba(200,220,255,.88) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-xl)}.hero-subtitle{font-size:var(--text-lead);color:rgba(255,255,255,.58);line-height:1.65;margin-bottom:var(--space-2xl);max-width:520px;font-weight:400}.hero-subtitle strong{color:rgba(255,255,255,.82);font-weight:600}.hero-cta{display:flex;align-items:center;gap:var(--space-md);flex-wrap:wrap}.hero-cta .btn-primary{background:linear-gradient(150deg,#fff 0,#eef4ff 100%);color:var(--color-ink);border-color:rgba(255,255,255,.95);box-shadow:0 14px 36px rgba(6,12,24,.28),0 0 0 1px rgba(255,255,255,.45)}.hero-cta .btn-primary:hover{background:linear-gradient(150deg,#fff 0,#e8f1ff 100%);transform:translateY(-1px) scale(1.02);box-shadow:0 18px 44px rgba(8,14,30,.35),0 0 0 1px rgba(255,255,255,.58)}.hero-cta .btn-ghost{background:linear-gradient(140deg,rgba(255,255,255,.2) 0,rgba(255,255,255,.08) 100%);color:rgba(255,255,255,.92);border-color:rgba(255,255,255,.34);box-shadow:0 10px 30px rgba(5,10,20,.24),0 1px 0 rgba(255,255,255,.2) inset}.hero-cta .btn-ghost:hover{background:linear-gradient(140deg,rgba(255,255,255,.28) 0,rgba(255,255,255,.12) 100%);color:var(--color-white);border-color:rgba(255,255,255,.5);transform:translateY(-1px) scale(1.015);box-shadow:0 16px 38px rgba(5,10,20,.3),0 1px 0 rgba(255,255,255,.26) inset}.hero-stats{display:flex;gap:var(--space-3xl);margin-top:var(--space-3xl);padding-top:var(--space-2xl);border-top:1px solid rgba(255,255,255,.1)}.hero-stat-number{font-family:var(--font-display);font-size:2.25rem;font-weight:700;letter-spacing:-.04em;color:var(--color-white);line-height:1;display:block}.hero-stat-label{font-size:var(--text-small);color:rgba(255,255,255,.45);margin-top:var(--space-xs);display:block;font-weight:400}.hero-visual{display:flex;justify-content:flex-end;align-items:center}.code-card{background:#0d0d12;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 0 0 1px rgba(255,255,255,.07),0 32px 80px rgba(0,0,0,.6),0 0 80px rgba(0,113,227,.18);width:100%;max-width:460px;border:1px solid rgba(90,200,250,.12)}.code-card-header{display:flex;align-items:center;gap:6px;padding:var(--space-md) var(--space-lg);background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.06)}.code-dot{width:11px;height:11px;border-radius:50%;flex-shrink:0}.code-dot--red{background:#ff5f57}.code-dot--yellow{background:#febc2e}.code-dot--green{background:#28c840}.code-card-body{padding:var(--space-xl)}.code-card-body pre{margin:0;overflow-x:auto}.code-card-body code{font-family:var(--font-mono);font-size:.8125rem;line-height:1.85;color:#c9d1d9;white-space:pre;tab-size:2}.scroll-indicator{position:absolute;bottom:2.5rem;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-xs);color:rgba(255,255,255,.3);font-size:var(--text-micro);font-weight:600;letter-spacing:.08em;text-transform:uppercase}.scroll-line{width:1px;height:36px;background:linear-gradient(to bottom,rgba(255,255,255,.4),transparent);animation:scroll-anim 2s ease-in-out infinite}@keyframes scroll-anim{0%,100%{opacity:0;transform:scaleY(0);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}.about-section{background:linear-gradient(180deg,#f0f0f5 0,#f5f5f7 100%)}.about-content{display:grid;grid-template-columns:0.75fr 1.25fr;gap:var(--space-4xl);align-items:center}.profile-card{display:flex;justify-content:center}.profile-image-wrapper{position:relative;width:clamp(180px,28vw,300px);aspect-ratio:1}.profile-image{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-xl);display:block}.profile-badge{position:absolute;bottom:-.75rem;right:-.75rem;width:2.75rem;height:2.75rem;background:var(--color-ink);color:var(--color-white);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.875rem;border:3px solid var(--color-bg-alt)}.about-description{color:var(--color-text-soft);line-height:1.8;margin-bottom:var(--space-lg);font-size:var(--text-body)}.about-cta{display:flex;gap:var(--space-md);flex-wrap:wrap;margin-top:var(--space-2xl)}.competences-section{background:var(--color-bg)}.skills-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-lg);margin-bottom:var(--space-3xl)}@media (max-width:1100px){.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.skill-category{background:var(--color-bg);border:1px solid var(--color-border-soft);padding:var(--space-2xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);transition:transform var(--t-base),box-shadow var(--t-base),border-color var(--t-base)}.skill-category:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-border)}.skill-category.featured{background:linear-gradient(145deg,#1a1a2e 0,#0d0d1a 60%,#1a1a22 100%);border-color:rgba(90,200,250,.2);box-shadow:0 0 0 1px rgba(90,200,250,.1),var(--shadow-lg)}.skill-category.featured .category-title{color:var(--color-white)}.skill-category.featured .skill-name{color:var(--color-white)}.skill-category.featured .skill-level{color:rgba(255,255,255,.5)}.skill-category.featured .skill-bar{background:rgba(255,255,255,.15)}.skill-category.featured .skill-progress{background:var(--color-white)}.skill-category.featured .category-icon{background:rgba(255,255,255,.1);color:var(--color-white)}.category-icon{width:2.75rem;height:2.75rem;display:flex;align-items:center;justify-content:center;background:var(--color-bg-alt);color:var(--color-ink);border-radius:var(--radius-md);font-size:1rem;margin-bottom:var(--space-lg);flex-shrink:0}.category-icon img{width:1.6rem;height:1.6rem;display:block}.skill-category.featured .category-icon img{filter:invert(1)}.category-title{font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--color-ink);margin-bottom:var(--space-xl)}.skills-list{display:flex;flex-direction:column;gap:var(--space-lg)}.skill-item{display:flex;flex-direction:column;gap:var(--space-xs)}.skill-info{display:flex;justify-content:space-between;align-items:center}.skill-name{font-size:var(--text-small);font-weight:600;color:var(--color-ink)}.skill-level{font-size:var(--text-micro);font-weight:500;color:var(--color-mid)}.skill-bar{height:4px;background:var(--color-bg-alt);border-radius:var(--radius-full);overflow:hidden}.skill-progress{height:100%;background:var(--color-ink);border-radius:var(--radius-full);width:100%;transform:scaleX(0);transform-origin:left center;transition:transform 1.1s var(--ease);will-change:transform}.skill-progress.animated{transform:scaleX(var(--skill-scale,1))}.technologies-cloud{text-align:center;padding:var(--space-3xl);background:var(--color-bg);border-radius:var(--radius-xl);border:1px solid var(--color-border-soft)}.tech-title{font-size:var(--text-h4);font-weight:700;letter-spacing:-.02em;color:var(--color-ink);margin-bottom:var(--space-xl)}.tech-tags{display:flex;flex-wrap:wrap;gap:var(--space-sm);justify-content:center}.tech-tag{padding:.4375rem .875rem;background:var(--color-bg-alt);color:var(--color-ink-soft);border-radius:var(--radius-full);font-size:var(--text-small);font-weight:500;border:1px solid var(--color-border-soft);transition:background var(--t-fast),color var(--t-fast),transform var(--t-fast)}.tech-tag:hover{background:var(--color-ink);color:var(--color-white);border-color:var(--color-ink);transform:translateY(-2px)}.ai-expertise-section{background:radial-gradient(ellipse 70% 60% at 80% 20%,rgba(0,113,227,.18) 0,transparent 55%),radial-gradient(ellipse 50% 40% at 15% 85%,rgba(90,200,250,.1) 0,transparent 50%),linear-gradient(180deg,#06060f 0,#0e0e1c 50%,#080810 100%);color:var(--color-white)}.ai-main-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);padding:var(--space-3xl);border-radius:var(--radius-xl);margin-bottom:var(--space-2xl)}.ai-card-header{display:flex;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-lg)}.ai-card-header .ai-icon{font-size:1.625rem;color:rgba(255,255,255,.7)}.ai-card-header h3{font-size:var(--text-h3);color:var(--color-white);letter-spacing:-.025em}.ai-card-desc{font-size:var(--text-lead);line-height:1.7;color:rgba(255,255,255,.65);max-width:720px;margin:0}.ai-services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(270px,1fr));gap:var(--space-lg);margin-bottom:var(--space-2xl)}.ai-service-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:var(--space-2xl);border-radius:var(--radius-xl);transition:background var(--t-base),border-color var(--t-base),transform var(--t-base)}.ai-service-card:hover{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14);transform:translateY(-4px)}.ai-service-card .service-icon{width:2.5rem;height:2.5rem;background:rgba(255,255,255,.08);color:rgba(255,255,255,.75);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:.9375rem;margin-bottom:var(--space-lg)}.ai-service-card h4{font-size:var(--text-h4);font-weight:600;color:var(--color-white);margin-bottom:var(--space-md);letter-spacing:-.02em}.ai-service-card>p{color:rgba(255,255,255,.55);font-size:var(--text-small);line-height:1.7;margin-bottom:var(--space-lg)}.service-features{list-style:none;display:flex;flex-direction:column;gap:var(--space-xs)}.service-features li{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-small);color:rgba(255,255,255,.5);padding:var(--space-2xs) 0}.service-features li::before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.35);flex-shrink:0}.ai-technologies{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);padding:var(--space-2xl);border-radius:var(--radius-xl)}.ai-technologies h3{font-size:var(--text-h4);font-weight:600;color:var(--color-white);text-align:center;margin-bottom:var(--space-xl);letter-spacing:-.02em}.ai-tech-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(175px,1fr));gap:var(--space-md)}.ai-tech-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:var(--radius-md);transition:background var(--t-fast),border-color var(--t-fast)}.ai-tech-item:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.13)}.ai-tech-item .ai-icon{font-size:1rem;color:rgba(255,255,255,.5);flex-shrink:0}.ai-tech-item span{font-size:var(--text-small);font-weight:500;color:rgba(255,255,255,.75)}.portfolio-section{background:linear-gradient(180deg,#f5f5f7 0,#efeff4 100%)}.portfolio-filters{display:flex;justify-content:center;gap:var(--space-xs);margin-bottom:var(--space-3xl);flex-wrap:wrap}.filter-btn{padding:.5rem 1.125rem;background:0 0;border:1.5px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--text-small);font-weight:500;color:var(--color-ink-soft);cursor:pointer;transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}.filter-btn:hover{border-color:var(--color-ink);color:var(--color-ink)}.filter-btn.active{background:var(--color-ink);color:var(--color-white);border-color:var(--color-ink)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-xl);width:100%}.portfolio-item{position:relative;border-radius:var(--radius-xl);overflow:hidden;background:var(--color-bg);box-shadow:var(--shadow-sm);transition:transform var(--t-base),box-shadow var(--t-base),opacity .3s ease;will-change:transform}.portfolio-item.hidden{display:none;opacity:0}.portfolio-image{position:relative;overflow:hidden;aspect-ratio:16/11}.portfolio-image img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease);display:block}.portfolio-item:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg)}.portfolio-item:hover .portfolio-image img{transform:scale(1.04)}.portfolio-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.82) 0,rgba(0,0,0,0) 58%);opacity:0;transition:opacity var(--t-base);display:flex;flex-direction:column;justify-content:flex-end;padding:var(--space-xl)}.portfolio-item:hover .portfolio-overlay{opacity:1}.portfolio-info h3{font-size:1rem;font-weight:600;color:var(--color-white);margin-bottom:var(--space-xs);letter-spacing:-.01em}.portfolio-info p{font-size:var(--text-small);color:rgba(255,255,255,.72);margin-bottom:var(--space-md);line-height:1.4}.portfolio-tags{display:flex;gap:var(--space-xs);flex-wrap:wrap}.tag{padding:.25rem .625rem;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius-full);font-size:var(--text-micro);font-weight:500;color:rgba(255,255,255,.88);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.portfolio-actions{margin-top:var(--space-md)}.services-section{background:var(--color-bg)}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:var(--space-lg);margin-bottom:var(--space-3xl)}.service-card{position:relative;background:var(--color-bg);border:1px solid var(--color-border-soft);padding:var(--space-2xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);transition:transform var(--t-base),box-shadow var(--t-base),border-color var(--t-base)}.service-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-border)}.service-card.featured{background:linear-gradient(145deg,#1a1a2e 0,#0f0f1c 100%);border-color:rgba(90,200,250,.18);box-shadow:0 0 0 1px rgba(90,200,250,.08),var(--shadow-lg)}.service-card.featured .service-title{color:var(--color-white)}.service-card.featured .service-description{color:rgba(255,255,255,.6)}.service-card.featured .service-features-list li{color:rgba(255,255,255,.6)}.service-card.featured .service-features-list li::before{background:rgba(255,255,255,.35)}.service-card.featured .service-icon{background:rgba(255,255,255,.1);color:var(--color-white)}.service-badge{position:absolute;top:var(--space-lg);right:var(--space-lg);padding:.25rem .75rem;background:var(--color-accent);color:var(--color-white);border-radius:var(--radius-full);font-size:var(--text-micro);font-weight:600;letter-spacing:.04em}.service-card.featured .service-badge{background:rgba(255,255,255,.18)}.service-icon-wrapper{margin-bottom:var(--space-xl)}.service-icon{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;background:var(--color-bg-alt);color:var(--color-ink);border-radius:var(--radius-md);font-size:.9375rem}.service-title{font-size:1rem;font-weight:600;letter-spacing:-.02em;color:var(--color-ink);margin-bottom:var(--space-md)}.service-description{color:var(--color-text-soft);font-size:var(--text-small);line-height:1.7;margin-bottom:var(--space-lg)}.service-features-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-xs)}.service-features-list li{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-small);color:var(--color-text-soft);padding:var(--space-2xs) 0}.service-features-list li::before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:var(--color-mid);flex-shrink:0}.maintenance-plans{padding-top:var(--space-4xl);border-top:1px solid var(--color-border-soft);margin-top:var(--space-3xl)}.plans-title{font-size:var(--text-h3);font-weight:700;letter-spacing:-.025em;text-align:center;margin-bottom:var(--space-md);color:var(--color-ink)}.plans-subtitle{text-align:center;color:var(--color-text-soft);margin-bottom:var(--space-3xl);font-size:var(--text-lead)}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:var(--space-lg)}.pricing-card{position:relative;background:var(--color-bg);border:1.5px solid var(--color-border-soft);border-radius:var(--radius-xl);padding:var(--space-2xl);transition:transform var(--t-base),box-shadow var(--t-base)}.pricing-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.pricing-card.featured{border-color:var(--color-ink);box-shadow:var(--shadow-md)}.pricing-badge{position:absolute;top:-.875rem;left:50%;transform:translateX(-50%);padding:.3125rem .875rem;background:var(--color-ink);color:var(--color-white);border-radius:var(--radius-full);font-size:var(--text-micro);font-weight:600;letter-spacing:.05em;white-space:nowrap}.pricing-header{text-align:center;margin-bottom:var(--space-xl)}.plan-name{font-size:1.25rem;font-weight:700;letter-spacing:-.025em;color:var(--color-ink);margin-bottom:var(--space-xs)}.plan-subtitle{font-size:var(--text-small);color:var(--color-text-soft)}.pricing-price{text-align:center;margin-bottom:var(--space-xl)}.price{font-family:var(--font-display);font-size:3rem;font-weight:700;letter-spacing:-.04em;color:var(--color-ink);line-height:1}.period{font-size:var(--text-small);color:var(--color-text-soft)}.pricing-features{list-style:none;margin-bottom:var(--space-xl);display:flex;flex-direction:column}.pricing-features li{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--text-small);color:var(--color-text-soft);padding:var(--space-sm) 0;border-bottom:1px solid var(--color-border-soft)}.pricing-features li:last-child{border-bottom:none}.pricing-features li::before{content:'✓';color:var(--color-accent);font-weight:700;font-size:.6875rem;flex-shrink:0}.pricing-card .btn{width:100%;justify-content:center}.cv-section{background:var(--color-bg-alt)}.cv-content{display:flex;flex-direction:column;gap:var(--space-2xl)}.cv-section-block{background:var(--color-bg);border:1px solid var(--color-border-soft);border-radius:var(--radius-xl);padding:var(--space-3xl);box-shadow:var(--shadow-xs)}.cv-section-title{display:flex;align-items:center;gap:var(--space-md);font-size:1rem;font-weight:700;letter-spacing:-.01em;color:var(--color-ink);margin-bottom:var(--space-2xl);padding-bottom:var(--space-lg);border-bottom:1px solid var(--color-border-soft)}.cv-section-title .cv-icon{font-size:.875rem;color:var(--color-mid)}.cv-item{display:grid;grid-template-columns:130px 1fr;gap:var(--space-2xl);padding:var(--space-xl) 0;border-bottom:1px solid var(--color-border-soft)}.cv-item:last-child{border-bottom:none}.cv-date{font-size:var(--text-small);font-weight:600;color:var(--color-mid);padding-top:3px}.cv-title{font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--color-ink);margin-bottom:var(--space-xs)}.cv-company{font-size:var(--text-small);color:var(--color-text-soft);margin-bottom:var(--space-md);font-weight:500}.cv-description{list-style:none;display:flex;flex-direction:column;gap:var(--space-xs)}.cv-description li{font-size:var(--text-small);color:var(--color-text-soft);line-height:1.65;padding-left:var(--space-md);position:relative}.cv-description li::before{content:'–';position:absolute;left:0;color:var(--color-border);font-size:.75rem;top:2px}.cv-skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:var(--space-xl)}.cv-skill-category h4{font-size:var(--text-micro);font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--color-mid);margin-bottom:var(--space-md)}.cv-skill-category ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.cv-skill-category li{font-size:var(--text-small);color:var(--color-ink-soft)}.cv-achievements{display:flex;flex-direction:column;gap:var(--space-md)}.achievement-item{display:flex;gap:var(--space-lg);align-items:flex-start;padding:var(--space-lg);background:var(--color-bg-alt);border-radius:var(--radius-md);font-size:var(--text-small);color:var(--color-text-soft);line-height:1.7}.achievement-item .cv-icon{color:var(--color-mid);font-size:.8125rem;margin-top:2px;flex-shrink:0}.cv-locations{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:var(--space-lg)}.location-item{display:flex;gap:var(--space-md);align-items:flex-start}.location-item .cv-icon{font-size:.8125rem;color:var(--color-mid);margin-top:3px;flex-shrink:0}.location-item strong{display:block;font-size:var(--text-small);font-weight:600;color:var(--color-ink);margin-bottom:var(--space-xs)}.location-item p{font-size:var(--text-small);color:var(--color-text-soft);line-height:1.5;margin:0}.cv-media{margin-top:var(--space-xl)}.cv-media-image{width:100%;max-width:540px;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:block;margin-inline:auto}.cv-media-caption{color:var(--color-mid);font-size:var(--text-small);margin-top:var(--space-md);font-style:italic;line-height:1.5;text-align:center}.cv-video-wrapper{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);margin-top:var(--space-xl)}.cv-video-wrapper iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none}.cv-subsection-title{font-size:1rem;font-weight:600;letter-spacing:-.01em;color:var(--color-ink);margin:var(--space-2xl) 0 var(--space-lg);display:flex;align-items:center;gap:var(--space-sm)}.cv-subsection-title .cv-icon{color:var(--color-mid);font-size:.875rem}.cv-sports-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:var(--space-lg)}.cv-download{text-align:center;margin-top:var(--space-3xl)}.achievement-item p,.cv-sports-grid .achievement-item p,.location-item p{margin-top:var(--space-xs)}.achievement-item+.achievement-item{margin-top:0}.cv-video-wrapper-spaced{margin-top:var(--space-xl)}.footer-info-label{color:rgba(255,255,255,.6)}.footer-info-link{color:rgba(255,255,255,.48);text-decoration:none;transition:color var(--t-fast)}.footer-info-link:hover{color:rgba(255,255,255,.8)}.form-hint{font-weight:400;color:var(--color-mid)}.contact-section{background:var(--color-bg)}.contact-wrapper{display:grid;grid-template-columns:1fr 1.55fr;gap:var(--space-4xl);align-items:start}.contact-info{position:sticky;top:calc(var(--nav-h) + 2rem)}.contact-intro{margin-bottom:var(--space-2xl)}.contact-intro h2{font-size:var(--text-h2);letter-spacing:-.03em;color:var(--color-ink);margin-bottom:var(--space-lg)}.contact-intro p{color:var(--color-text-soft);line-height:1.8}.contact-details{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-xl)}.contact-detail-card{display:flex;gap:var(--space-md);padding:var(--space-lg);background:var(--color-bg-alt);border-radius:var(--radius-lg);transition:background var(--t-fast)}.contact-detail-card:hover{background:#ebebed}.detail-icon{width:2.375rem;height:2.375rem;display:flex;align-items:center;justify-content:center;background:var(--color-bg);color:var(--color-mid);border-radius:var(--radius-md);font-size:.8125rem;flex-shrink:0;border:1px solid var(--color-border-soft)}.detail-icon img,.detail-icon svg{width:1.25rem;height:1.25rem;display:block}.detail-content h4{font-size:var(--text-small);font-weight:600;color:var(--color-ink);margin-bottom:2px;letter-spacing:-.01em}.detail-content p{font-size:var(--text-small);color:var(--color-text-soft);line-height:1.5;margin:0}.detail-content a{color:var(--color-text-soft);text-decoration:none;transition:color var(--t-fast)}.detail-content a:hover{color:var(--color-accent)}.response-time{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md) var(--space-lg);background:var(--color-bg-alt);border-radius:var(--radius-md);font-size:var(--text-small);font-weight:500;color:var(--color-text-soft)}.response-time .cv-icon{color:var(--color-mid);font-size:.8125rem}.availability-dot{display:inline-block;width:8px;height:8px;background:#34c759;border-radius:50%;flex-shrink:0;animation:dot-pulse 2.4s ease infinite}.contact-form-wrapper{background:var(--color-bg);border:1px solid var(--color-border-soft);padding:var(--space-3xl);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.contact-form{display:flex;flex-direction:column;gap:var(--space-xl)}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-lg)}.form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.form-group label{font-size:var(--text-small);font-weight:600;color:var(--color-ink);letter-spacing:-.01em}.form-control{padding:.875rem 1rem;border:1.5px solid var(--color-border-soft);border-radius:var(--radius-md);font-size:var(--text-body);font-family:var(--font-body);color:var(--color-ink);background:var(--color-bg);transition:border-color var(--t-fast),box-shadow var(--t-fast);appearance:none;-webkit-appearance:none}.form-control::placeholder{color:var(--color-mid)}.form-control:focus{outline:0;border-color:var(--color-ink);box-shadow:0 0 0 3px rgba(29,29,31,.07)}textarea.form-control{resize:vertical;min-height:140px}select.form-control{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' fill='none'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%2386868b' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem;cursor:pointer}.checkbox-label{display:flex;align-items:flex-start;gap:var(--space-md);font-size:var(--text-small);color:var(--color-text-soft);cursor:pointer;line-height:1.65}.checkbox-label input[type=checkbox]{width:1rem;height:1rem;margin-top:2px;flex-shrink:0;accent-color:var(--color-ink);cursor:pointer}.form-message{display:none;padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);font-size:var(--text-small);font-weight:500}.form-message.success{display:block;background:rgba(52,199,89,.1);color:#1a7a30;border:1px solid rgba(52,199,89,.28)}.form-message.error{display:block;background:rgba(255,59,48,.08);color:#b5271e;border:1px solid rgba(255,59,48,.22)}.footer{background:linear-gradient(180deg,#0a0a12 0,#06060c 100%);color:rgba(255,255,255,.55);padding:var(--space-4xl) 0 var(--space-2xl)}.footer-content{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:var(--space-3xl);padding-bottom:var(--space-3xl);border-bottom:1px solid rgba(255,255,255,.09);margin-bottom:var(--space-xl)}.footer-title{font-size:1rem;font-weight:700;color:var(--color-white);margin-bottom:var(--space-md);letter-spacing:-.02em}.footer-desc{font-size:var(--text-small);line-height:1.7;color:rgba(255,255,255,.48);margin-bottom:var(--space-md)}.footer-subtitle{font-size:var(--text-micro);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.3);margin-bottom:var(--space-lg)}.footer-section>p{font-size:var(--text-small);color:rgba(255,255,255,.48);line-height:1.8;margin-bottom:var(--space-sm)}.footer-links{display:flex;flex-direction:column;gap:var(--space-sm)}.footer-links li a{font-size:var(--text-small);color:rgba(255,255,255,.48);text-decoration:none;transition:color var(--t-fast)}.footer-links li a:hover{color:var(--color-white)}.social-links{display:flex;gap:var(--space-sm);margin-top:var(--space-lg)}.social-link{display:inline-flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.09);border-radius:50%;color:rgba(255,255,255,.55);font-size:.8125rem;text-decoration:none;transition:background var(--t-fast),color var(--t-fast)}.social-link:hover{background:rgba(255,255,255,.14);color:var(--color-white)}.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);flex-wrap:wrap}.footer-bottom p{font-size:var(--text-micro);color:rgba(255,255,255,.3);margin:0}.footer-bottom a{color:rgba(255,255,255,.3);text-decoration:none;transition:color var(--t-fast)}.footer-bottom a:hover{color:rgba(255,255,255,.6)}.modal{position:fixed;inset:0;z-index:9000;display:flex;align-items:center;justify-content:center;padding:var(--space-lg);visibility:hidden;opacity:0;transition:opacity var(--t-base),visibility var(--t-base)}.modal.active{visibility:visible;opacity:1}.modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);cursor:pointer}.modal-content{position:relative;background:var(--color-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);max-width:660px;width:100%;max-height:90svh;overflow-y:auto;transform:translateY(16px) scale(.97);transition:transform var(--t-slow);overscroll-behavior:contain}.modal.active .modal-content{transform:translateY(0) scale(1)}.modal-close{position:absolute;top:var(--space-lg);right:var(--space-lg);width:2rem;height:2rem;border-radius:50%;background:var(--color-bg-alt);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--color-mid);font-size:.6875rem;transition:background var(--t-fast),color var(--t-fast);z-index:1}.modal-close:hover{background:#e0e0e4;color:var(--color-ink)}.modal-body{padding:var(--space-2xl)}.modal-image{width:100%;height:auto;border-radius:var(--radius-lg);display:block;margin-bottom:var(--space-xl);aspect-ratio:16/11;object-fit:cover}.modal-title{font-size:var(--text-h3);letter-spacing:-.025em;color:var(--color-ink);margin-bottom:var(--space-md)}.modal-tags{display:flex;gap:var(--space-xs);flex-wrap:wrap;margin-bottom:var(--space-xl)}.modal-tags .tag{background:var(--color-bg-alt);color:var(--color-ink-soft);border:1px solid var(--color-border-soft);backdrop-filter:none;-webkit-backdrop-filter:none}.modal-description{font-size:var(--text-body);color:var(--color-text-soft);line-height:1.8;margin-bottom:var(--space-xl)}.modal-features h3{font-size:.9375rem;font-weight:600;color:var(--color-ink);margin-bottom:var(--space-md);letter-spacing:-.01em}.modal-features ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-sm)}.modal-features li{font-size:var(--text-small);color:var(--color-text-soft);display:flex;align-items:center;gap:var(--space-sm)}.modal-features li::before{content:'✓';color:var(--color-accent);font-weight:700;font-size:.6875rem;flex-shrink:0}.whatsapp-chat-widget{position:fixed;bottom:var(--space-xl);right:var(--space-xl);z-index:8000}.whatsapp-float{width:3.25rem;height:3.25rem;border-radius:50%;background:#25d366;color:var(--color-white);display:flex;align-items:center;justify-content:center;font-size:1.375rem;border:none;cursor:pointer;box-shadow:0 4px 20px rgba(37,211,102,.38);transition:transform var(--t-fast),box-shadow var(--t-fast)}.whatsapp-float:hover{transform:scale(1.08);box-shadow:0 8px 28px rgba(37,211,102,.44)}.whatsapp-chat-box{position:absolute;bottom:calc(100% + var(--space-md));right:0;width:310px;background:var(--color-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);border:1px solid var(--color-border-soft);overflow:hidden;opacity:0;transform:translateY(12px) scale(.97);pointer-events:none;transition:opacity var(--t-base),transform var(--t-base)}.whatsapp-chat-box.active{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.whatsapp-chat-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-md) var(--space-lg);background:#075e54;color:var(--color-white)}.whatsapp-chat-header-content{display:flex;align-items:center;gap:var(--space-md)}.whatsapp-avatar{width:2.25rem;height:2.25rem;border-radius:50%;object-fit:cover;flex-shrink:0}.whatsapp-header-info h4{font-size:.9375rem;font-weight:600;color:var(--color-white);margin-bottom:1px;letter-spacing:-.01em}.whatsapp-header-info p{font-size:var(--text-micro);color:rgba(255,255,255,.7);margin:0}.whatsapp-close{background:0 0;border:none;color:rgba(255,255,255,.65);cursor:pointer;padding:var(--space-xs);font-size:.8125rem;transition:color var(--t-fast)}.whatsapp-close:hover{color:var(--color-white)}.whatsapp-chat-messages{padding:var(--space-lg);background:#ece5dd;min-height:100px;display:flex;flex-direction:column;gap:var(--space-sm)}.whatsapp-message{max-width:88%}.whatsapp-message-received{align-self:flex-start}.whatsapp-message p{background:var(--color-white);border-radius:0 var(--radius-md) var(--radius-md) var(--radius-md);padding:var(--space-sm) var(--space-md);font-size:var(--text-small);color:var(--color-ink);box-shadow:0 1px 2px rgba(0,0,0,.08);line-height:1.5;margin:0}.whatsapp-chat-footer{padding:var(--space-lg);border-top:1px solid var(--color-border-soft);display:flex;flex-direction:column;gap:var(--space-sm)}.whatsapp-start-chat{display:flex;align-items:center;justify-content:center;gap:var(--space-sm);background:#25d366;color:var(--color-white);padding:var(--space-md) var(--space-lg);border-radius:var(--radius-full);font-size:var(--text-small);font-weight:600;text-decoration:none;transition:background var(--t-fast),transform var(--t-fast)}.whatsapp-start-chat:hover{background:#1da851;transform:scale(1.02)}.whatsapp-footer-note{text-align:center;font-size:var(--text-micro);color:var(--color-mid);margin:0}.reveal{opacity:0;transform:translateY(22px);transition:opacity var(--t-reveal),transform var(--t-reveal)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal--delay-1{transition-delay:80ms}.reveal--delay-2{transition-delay:160ms}.reveal--delay-3{transition-delay:240ms}.reveal--delay-4{transition-delay:320ms}.reveal--delay-5{transition-delay:0.4s}.stagger>*{opacity:0;transform:translateY(16px);transition:opacity .6s var(--ease),transform .6s var(--ease)}.stagger.is-visible>:first-child{opacity:1;transform:none;transition-delay:0s}.stagger.is-visible>:nth-child(2){opacity:1;transform:none;transition-delay:80ms}.stagger.is-visible>:nth-child(3){opacity:1;transform:none;transition-delay:160ms}.stagger.is-visible>:nth-child(4){opacity:1;transform:none;transition-delay:240ms}.stagger.is-visible>:nth-child(5){opacity:1;transform:none;transition-delay:320ms}.stagger.is-visible>:nth-child(6){opacity:1;transform:none;transition-delay:0.4s}.stagger.is-visible>:nth-child(7){opacity:1;transform:none;transition-delay:480ms}.stagger.is-visible>:nth-child(8){opacity:1;transform:none;transition-delay:560ms}.stagger.is-visible>:nth-child(9){opacity:1;transform:none;transition-delay:640ms}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;transition-duration:0s!important}.reveal,.stagger>*{opacity:1!important;transform:none!important}}@media (max-width:1024px){.hero-content{grid-template-columns:1fr;text-align:center;padding:var(--space-3xl) 0}.hero-text{max-width:100%}.hero-subtitle{max-width:100%;margin:0 auto var(--space-2xl)}.hero-cta{justify-content:center}.hero-stats{justify-content:center}.hero-visual{justify-content:center}.about-content{grid-template-columns:1fr;text-align:center}.profile-card{justify-content:center}.about-cta{justify-content:center}.contact-wrapper{grid-template-columns:1fr}.contact-info{position:static}.footer-content{grid-template-columns:1fr 1fr;gap:var(--space-2xl)}.cv-item{grid-template-columns:110px 1fr;gap:var(--space-xl)}}@media (max-width:768px){:root{--section-pad:4rem}.nav-menu{position:fixed;top:var(--nav-h);left:0;right:0;background:rgba(255,255,255,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);flex-direction:column;align-items:flex-start;padding:var(--space-xl);gap:var(--space-sm);border-bottom:1px solid var(--color-border-soft);transform:translateY(-100%);opacity:0;pointer-events:none;transition:transform var(--t-base),opacity var(--t-base)}.nav-menu.active{transform:translateY(0);opacity:1;pointer-events:auto}.nav-toggle{display:flex}.nav-link{font-size:1rem;padding:var(--space-xs) 0}.hero-stats{gap:var(--space-xl)}.services-grid,.skills-grid{grid-template-columns:1fr}.portfolio-grid{grid-template-columns:1fr}.cv-item{grid-template-columns:1fr;gap:var(--space-md)}.cv-date{padding-top:0}.form-row{grid-template-columns:1fr}.ai-services-grid{grid-template-columns:1fr}.ai-tech-grid{grid-template-columns:1fr 1fr}.footer-content{grid-template-columns:1fr}.footer-bottom{flex-direction:column;text-align:center;gap:var(--space-md)}}@media (max-width:480px){.container{padding:0 var(--space-lg)}.hero-stats{flex-direction:column;gap:var(--space-lg);align-items:center}.hero-stat-number{font-size:2rem}.btn--large{padding:.875rem 1.5rem}.contact-form-wrapper{padding:var(--space-xl)}.cv-section-block{padding:var(--space-xl)}.ai-tech-grid{grid-template-columns:1fr}.whatsapp-chat-box{width:calc(100vw - 3rem);right:calc(-1 * var(--space-xl) + var(--space-xl))}}.error-page{min-height:100svh;display:flex;align-items:center;justify-content:center;background:var(--color-bg-alt);padding:var(--space-2xl)}.error-content{text-align:center;max-width:560px}.error-code{font-family:var(--font-display);font-size:clamp(5rem, 18vw, 9rem);font-weight:700;letter-spacing:-.05em;color:var(--color-ink);line-height:1;margin-bottom:var(--space-xl);opacity:.08}.error-title{font-size:var(--text-h2);font-weight:700;letter-spacing:-.03em;color:var(--color-ink);margin-bottom:var(--space-lg)}.error-description{font-size:var(--text-lead);color:var(--color-text-soft);margin-bottom:var(--space-2xl);line-height:1.6}.error-actions{display:flex;gap:var(--space-md);justify-content:center;flex-wrap:wrap;margin-bottom:var(--space-3xl)}.error-links{padding-top:var(--space-2xl);border-top:1px solid var(--color-border-soft)}.error-links h3{font-size:.9375rem;color:var(--color-text-soft);font-weight:600;margin-bottom:var(--space-md)}.error-links ul{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-md)}.error-links a{font-size:var(--text-small);color:var(--color-accent);text-decoration:none;transition:color var(--t-fast)}.error-links a:hover{text-decoration:underline}@media (max-width:768px){.error-actions{flex-direction:column}.error-actions .btn{width:100%;justify-content:center}}