*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body,h1,h2,h3,h4,h5,h6,p,blockquote,pre,dl,dd,ol,ul,figure,hr,fieldset,legend{margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-size:16px;scroll-behavior:smooth}body{min-height:100vh;line-height:1.5;text-rendering:optimizeSpeed}ul,ol{list-style:none}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}input,button,textarea,select{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer;padding:0}a{text-decoration:none;color:inherit}textarea{resize:vertical}input,textarea,select{background:transparent;border:none;outline:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}input[type=search]::-webkit-search-decoration,input[type=search]::-webkit-search-cancel-button,input[type=search]::-webkit-search-results-button,input[type=search]::-webkit-search-results-decoration{display:none}fieldset{border:none}button:disabled,input:disabled{cursor:not-allowed}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}table{border-collapse:collapse;border-spacing:0;width:100%}:focus{outline:none}:focus-visible{outline:2px solid currentColor;outline-offset:2px}summary{display:list-item;cursor:pointer}summary::-webkit-details-marker{display:none}hr{height:1px;border:none;background:currentColor;opacity:.1}@font-face{font-family:View-Black-Roman-FTP;src:url(/fonts/View-Black-Roman-FTP.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:Fatal Trial;src:url(/fonts/fatal-trial-bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Broadleaf;src:url(/fonts/Broadleaf-Regular.woff2) format("woff2"),url(/fonts/Broadleaf-Regular.woff) format("woff"),url(/fonts/Broadleaf-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--display-hero: 6rem;--h1: 4.768rem;--h2: 3.815rem;--h3: 3.052rem;--h4: 2.441rem;--body-large: 1.563rem;--body: 1.25rem;--body-small: 1rem;--caption: .8rem;--color-black: #000000;--color-gray-950: #0a0a0a;--color-gray-900: #171717;--color-gray-800: #262626;--color-gray-700: #404040;--color-gray-600: #525252;--color-gray-500: #737373;--color-gray-400: #a3a3a3;--color-gray-300: #d4d4d4;--color-gray-200: #e5e5e5;--color-gray-100: #f5f5f5;--color-white: #ffffff;--color-accent-blue: #3b82f6;--color-accent-cyan: #06b6d4;--color-accent-purple: #8b5cf6;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--bg-primary: #000000;--bg-section: #0a0a0a;--bg-card: rgba(255,255,255,.05);--color-bg-primary: var(--color-black);--color-bg-secondary: var(--color-gray-950);--color-bg-tertiary: var(--color-gray-900);--text-primary: #ffffff;--text-secondary: #d4d4d4;--text-tertiary: #737373;--color-text-primary: var(--color-white);--color-text-secondary: var(--color-gray-300);--color-text-tertiary: var(--color-gray-500);--color-text-inverse: var(--color-black);--accent-primary: #3b82f6;--accent-glow: #06b6d4;--accent-highlight: #8b5cf6;--border-subtle: rgba(255,255,255,.1);--border-strong: rgba(255,255,255,.2);--color-border-subtle: rgba(255, 255, 255, .1);--color-border-default: rgba(255, 255, 255, .2);--color-border-strong: rgba(255, 255, 255, .3);--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px rgba(0, 0, 0, .3);--glass-blur: 10px;--glass-hover-bg: rgba(255, 255, 255, .08);--glass-hover-border: rgba(255, 255, 255, .15);--gradient-primary: linear-gradient(135deg, var(--color-accent-blue) 0%, var(--color-accent-purple) 100%);--gradient-secondary: linear-gradient(135deg, var(--color-accent-cyan) 0%, var(--color-accent-blue) 100%);--gradient-dark: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, .8) 100%);--gradient-light: linear-gradient(180deg, rgba(255, 255, 255, .1) 0%, rgba(255, 255, 255, 0) 100%);--font-primary: "Broadleaf", system-ui, -apple-system, "Segoe UI", sans-serif;--font-display: "View-Black-Roman-FTP", "Broadleaf", system-ui, sans-serif;--font-body: "Broadleaf", system-ui, -apple-system, "Segoe UI", sans-serif;--font-system: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;--font-mono: "Courier New", monospace;--font-weight-light: 300;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--text-xs: .64rem;--text-sm: .8rem;--text-base: 1rem;--text-lg: 1.25rem;--text-xl: 1.563rem;--text-2xl: 1.953rem;--text-3xl: 2.441rem;--text-4xl: 3.052rem;--text-5xl: 3.815rem;--text-6xl: 4.768rem;--text-7xl: 5.96rem;--text-xs-mobile: .7rem;--text-sm-mobile: .875rem;--text-base-mobile: 1rem;--text-lg-mobile: 1.125rem;--text-xl-mobile: 1.25rem;--text-2xl-mobile: 1.5rem;--text-3xl-mobile: 1.875rem;--text-4xl-mobile: 2.25rem;--text-5xl-mobile: 2.5rem;--section-padding: 8rem;--content-gap: 4rem;--element-gap: 2rem;--para-gap: 1.5rem;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--space-40: 10rem;--space-48: 12rem;--space-56: 14rem;--space-64: 16rem;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px;--z-base: 0;--z-dropdown: 100;--z-sticky: 200;--z-fixed: 300;--z-modal-backdrop: 400;--z-modal: 500;--z-popover: 600;--z-tooltip: 700;--z-notification: 800;--z-three-canvas: 1;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px rgba(0, 0, 0, .3);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .3);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .3);--shadow-2xl: 0 25px 50px rgba(0, 0, 0, .4);--shadow-glow-sm: 0 0 10px rgba(255, 255, 255, .1);--shadow-glow-md: 0 0 20px rgba(255, 255, 255, .15);--shadow-glow-lg: 0 0 40px rgba(255, 255, 255, .2);--radius-none: 0;--radius-sm: .25rem;--radius-md: .5rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--radius-full: 9999px;--ease-in-quad: cubic-bezier(.55, .085, .68, .53);--ease-out-quad: cubic-bezier(.25, .46, .45, .94);--ease-in-out-quad: cubic-bezier(.455, .03, .515, .955);--ease-in-cubic: cubic-bezier(.55, .055, .675, .19);--ease-out-cubic: cubic-bezier(.215, .61, .355, 1);--ease-in-out-cubic: cubic-bezier(.645, .045, .355, 1);--ease-elastic: cubic-bezier(.68, -.55, .265, 1.55);--duration-instant: 0ms;--duration-fast: .2s;--duration-normal: .4s;--duration-slow: .6s;--duration-slower: .9s;--duration-slowest: 1.4s;--container-narrow: 768px;--container-default: 1200px;--container-wide: 1440px;--container-full: 100%;--transition-fast: .4s;--transition-base: .5s;--transition-slow: .9s;--ease-smooth: cubic-bezier(.33, 1, .68, 1);--blur-sm: 4px;--blur-md: 8px;--blur-lg: 16px;--blur-xl: 24px;--opacity-disabled: .5;--opacity-hover: .8}@media (max-width: 767px){:root{--display-hero: 2.5rem;--h1: 2.25rem;--h2: 1.875rem;--body-large: 1.25rem;--body: 1.125rem;--section-padding: 5rem;--content-gap: 2rem;--text-xs: var(--text-xs-mobile);--text-sm: var(--text-sm-mobile);--text-base: var(--text-base-mobile);--text-lg: var(--text-lg-mobile);--text-xl: var(--text-xl-mobile);--text-2xl: var(--text-2xl-mobile);--text-3xl: var(--text-3xl-mobile);--text-4xl: var(--text-4xl-mobile);--text-5xl: var(--text-5xl-mobile);--text-6xl: var(--text-5xl-mobile);--text-7xl: var(--text-5xl-mobile)}}@media (prefers-contrast: high){:root{--color-border-subtle: rgba(255, 255, 255, .3);--color-border-default: rgba(255, 255, 255, .5);--color-border-strong: rgba(255, 255, 255, .7)}}html{font-size:16px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overflow-y:auto}body{font-family:var(--font-primary);font-size:var(--body);font-weight:var(--font-weight-regular);line-height:1.7;color:var(--text-primary);background-color:var(--bg-primary);overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch;touch-action:pan-y;position:relative}html,body{height:auto;min-height:100%}#three-canvas{position:fixed;top:0;left:0;width:100%;height:100%;z-index:var(--z-three-canvas);pointer-events:none;touch-action:none}main{position:relative;z-index:1;touch-action:pan-y}.container{width:100%;margin-left:auto;margin-right:auto;padding-left:var(--space-6);padding-right:var(--space-6);max-width:var(--container-default)}.container--narrow{max-width:var(--container-narrow)}.container--wide{max-width:var(--container-wide)}.container--full{max-width:var(--container-full)}@media (min-width: 768px){.container{padding-left:var(--space-8);padding-right:var(--space-8)}}@media (min-width: 1024px){.container{padding-left:var(--space-12);padding-right:var(--space-12)}}.h1,h1{font-size:var(--h1);font-family:Fatal Trial,sans-serif;font-weight:700;line-height:1.2;letter-spacing:-.02em;color:var(--text-primary)}.h2,h2{font-size:var(--h2);font-family:Fatal Trial,sans-serif;font-weight:700;line-height:1.25;letter-spacing:-.01em;color:var(--text-primary)}.h3,h3{font-size:var(--h3);font-family:Fatal Trial,sans-serif;font-weight:700;line-height:1.3;letter-spacing:0;color:var(--text-primary)}.h4,h4{font-size:var(--h4);font-family:Fatal Trial,sans-serif;font-weight:700;line-height:1.3;letter-spacing:0;color:var(--text-primary)}.body-large,.lead{font-size:var(--body-large);font-family:Broadleaf,sans-serif;font-weight:400;line-height:1.7;letter-spacing:normal;color:var(--text-secondary)}.body,p{font-size:var(--body);font-family:Broadleaf,sans-serif;font-weight:400;line-height:1.7;letter-spacing:normal;color:var(--text-secondary)}.body-small{font-size:var(--body-small);font-family:Broadleaf,sans-serif;font-weight:400;line-height:1.6;letter-spacing:normal;color:var(--text-secondary)}.caption{font-size:var(--caption);font-family:Fatal Trial,sans-serif;font-weight:700;line-height:1.4;text-transform:uppercase;letter-spacing:.1em;color:var(--text-tertiary)}.display{font-size:var(--display-hero);font-family:var(--font-display);font-weight:900;line-height:1;letter-spacing:-.03em;color:var(--text-primary)}.header{position:fixed;top:0;left:0;width:100%;z-index:var(--z-fixed);transition:transform var(--transition-base) var(--ease-smooth),background-color var(--transition-base) var(--ease-smooth)}.header--hidden{transform:translateY(-100%)}.header--scrolled{background:#000000e6;-webkit-backdrop-filter:blur(var(--blur-md));backdrop-filter:blur(var(--blur-md));box-shadow:0 2px 10px #0000004d}.nav{display:flex;align-items:center;justify-content:space-between;padding:var(--space-6) 0;position:relative}.logo,.nav__logo{font-family:View-Black-Roman-FTP,sans-serif;font-size:var(--text-2xl);font-weight:900;color:var(--color-white);text-decoration:none;letter-spacing:.05em;transition:opacity var(--transition-fast) var(--ease-smooth);z-index:calc(var(--z-fixed) + 2);position:relative}.logo:hover{opacity:var(--opacity-hover)}.nav__toggle{display:none;position:relative;width:44px;height:44px;padding:0;background:transparent;border:none;cursor:pointer;z-index:calc(var(--z-fixed) + 2);transition:opacity var(--transition-fast) var(--ease-smooth)}.nav__toggle:hover{opacity:var(--opacity-hover)}.nav__toggle-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:28px;height:3px;background-color:var(--color-white);border-radius:2px;transition:background-color var(--transition-fast) var(--ease-smooth),opacity var(--transition-fast) var(--ease-smooth)}.nav__toggle-icon:before,.nav__toggle-icon:after{content:"";position:absolute;left:0;width:100%;height:3px;background-color:var(--color-white);border-radius:2px;transition:transform var(--transition-fast) var(--ease-smooth),top var(--transition-fast) var(--ease-smooth),bottom var(--transition-fast) var(--ease-smooth)}.nav__toggle-icon:before{top:-9px}.nav__toggle-icon:after{bottom:-9px}.nav__toggle.active .nav__toggle-icon{background-color:transparent}.nav__toggle.active .nav__toggle-icon:before{top:0;transform:rotate(45deg)}.nav__toggle.active .nav__toggle-icon:after{bottom:0;transform:rotate(-45deg)}.nav__menu{display:flex;align-items:center;gap:var(--space-8);list-style:none;margin:0;padding:0}.nav__item{margin:0}.nav__link{position:relative;font-family:Fatal Trial,sans-serif;font-size:var(--body-small);font-weight:700;color:var(--color-white);text-decoration:none;padding:var(--space-2) var(--space-4);transition:color var(--transition-fast) var(--ease-smooth);display:inline-block;letter-spacing:.08em}.nav__link:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:var(--gradient-primary);transform:translate(-50%);transition:width var(--transition-fast) var(--ease-smooth)}.nav__link:hover:after,.nav__link.active:after{width:100%}.nav__link:hover,.nav__link.active{color:var(--accent-primary)}.nav__link--cta{padding:var(--space-3) var(--space-6);border:2px solid var(--color-white);border-radius:var(--radius-sm);transition:all var(--transition-fast) var(--ease-smooth)}.nav__link--cta:after{display:none}.nav__link--cta:hover{background:var(--color-white);color:var(--color-black)}body.no-scroll{overflow:hidden}@media (max-width: 768px){.nav__toggle{display:flex;align-items:center;justify-content:center}.nav__menu{position:fixed;top:0;right:0;width:100%;height:100vh;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);background:#000000fa;-webkit-backdrop-filter:blur(var(--blur-xl));backdrop-filter:blur(var(--blur-xl));transform:translate(100%);opacity:0;visibility:hidden;transition:transform var(--transition-base) var(--ease-smooth),opacity var(--transition-base) var(--ease-smooth),visibility var(--transition-base) var(--ease-smooth);z-index:calc(var(--z-fixed) + 1)}.header.menu-open .nav__menu{transform:translate(0);opacity:1;visibility:visible}.nav__item{opacity:0;transform:translateY(20px);transition:opacity var(--transition-fast) var(--ease-smooth),transform var(--transition-fast) var(--ease-smooth)}.header.menu-open .nav__item{opacity:1;transform:translateY(0)}.header.menu-open .nav__item:nth-child(1){transition-delay:.1s}.header.menu-open .nav__item:nth-child(2){transition-delay:.15s}.header.menu-open .nav__item:nth-child(3){transition-delay:.2s}.header.menu-open .nav__item:nth-child(4){transition-delay:.25s}.header.menu-open .nav__item:nth-child(5){transition-delay:.3s}.nav__link{font-size:var(--text-2xl);padding:var(--space-4)}.nav__link--cta{font-size:var(--text-xl);margin-top:var(--space-4)}}@media (min-width: 769px){.nav__toggle{display:none}}.hero{min-height:100vh;display:flex;align-items:center;justify-content:flex-start;position:relative;overflow:visible;padding-top:var(--section-padding);padding-bottom:8rem;z-index:2}.hero__content{text-align:left;max-width:1000px;margin:0;position:relative;z-index:10}.hero__tagline,.nav__tagline{display:none}.hero__title{font-family:View-Black-Roman-FTP,serif;font-size:clamp(2.5rem,8vw,6rem);line-height:1;letter-spacing:-.02em;text-align:left;margin:0;padding:0;display:inline-flex;flex-direction:column;align-items:flex-start}.hero__title-line{display:block;color:#000;-webkit-text-fill-color:#000000;-webkit-text-stroke:2px #ffffff;text-transform:uppercase;margin:.5rem 0;text-align:left;white-space:nowrap;overflow:visible}.hero__title-letter{display:inline-block;transition:transform .3s cubic-bezier(.34,1.56,.64,1);will-change:transform;cursor:default}.hero__subtitle{font-family:Fatal Trial Bold,sans-serif;font-weight:700;font-size:.9rem;color:#fff9;text-align:left;margin-top:1.5rem;letter-spacing:.1em;text-transform:uppercase;line-height:1.4}.hero__scroll-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);display:flex!important;flex-direction:column;align-items:center;gap:var(--space-3);cursor:pointer;z-index:1000;transition:all var(--transition-base) var(--ease-smooth);opacity:1!important;visibility:visible!important}.hero__scroll-indicator:hover{transform:translate(-50%) translateY(-5px)}.scroll-indicator__text{font-family:Fatal Trial,sans-serif;font-size:var(--caption);color:#fffffff2;text-transform:uppercase;letter-spacing:.15em;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.8)}.scroll-indicator__line{width:2px;height:50px;background:linear-gradient(to bottom,#ffffffe6,#ffffff4d);position:relative;overflow:hidden;box-shadow:0 0 10px #ffffff80}.scroll-indicator__line:after{content:"";position:absolute;top:0;left:0;width:100%;height:24px;background:#06b6d4;box-shadow:0 0 15px #06b6d4cc;animation:scrollDown 2s ease-in-out infinite;border-radius:2px}@keyframes scrollDown{0%{top:-24px;opacity:0}30%{opacity:1}60%{opacity:1}to{top:100%;opacity:0}}@media (max-width: 1024px){.hero{align-items:center;padding-top:6rem;padding-bottom:4rem}.hero__content{max-width:100%}.hero__title{font-size:clamp(2rem,10vw,4rem)}.hero__title-line{margin:.3rem 0;-webkit-text-stroke:1.5px #ffffff}.hero__subtitle{font-size:.75rem;margin-top:1rem}}@media (max-width: 767px){.hero{padding-top:5rem;padding-bottom:3rem}.hero__title{font-size:clamp(1.8rem,12vw,3rem)}.hero__title-line{margin:.2rem 0;-webkit-text-stroke:1px #ffffff}.hero__subtitle{font-size:.7rem}}.section{position:relative;padding-top:var(--section-padding);padding-bottom:var(--section-padding)}.section--alternate{background:var(--bg-section)}.section__header{text-align:center;margin-bottom:var(--content-gap)}.section__label{display:block;margin-bottom:var(--para-gap);color:var(--accent-primary)}.section__title{font-size:var(--h2);font-family:Fatal Trial,sans-serif;font-weight:700;line-height:1.25;letter-spacing:-.01em;margin-bottom:var(--para-gap)}.section__description{font-size:var(--body-large);font-family:Broadleaf,sans-serif;font-weight:400;line-height:1.7;letter-spacing:normal;color:var(--text-secondary);max-width:700px;margin-left:auto;margin-right:auto}.about{background:var(--bg-section)}.about__content{display:flex;gap:3rem;align-items:flex-start}.about__portrait{width:250px;height:250px;object-fit:cover;object-position:center 30%;border-radius:50%;border:3px solid rgba(255,255,255,.2);box-shadow:0 0 30px #06b6d433,0 10px 40px #0006;flex-shrink:0;transition:all var(--transition-slow) var(--ease-smooth);position:relative}.about__portrait:hover{border-color:#06b6d466;box-shadow:0 0 50px #06b6d466,0 15px 50px #00000080;transform:translateY(-5px) scale(1.02)}.about__text{flex:1}.about__text p{font-size:var(--body-large);font-family:Broadleaf,sans-serif;font-weight:400;line-height:1.7;letter-spacing:normal;margin-bottom:var(--para-gap)}.about__text p:last-child{margin-bottom:0}.about__skills{display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:var(--element-gap)}.skill-tag{padding:var(--space-3) var(--space-6);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--body-small);font-family:Fatal Trial,sans-serif;color:var(--text-secondary);transition:all var(--transition-fast) var(--ease-smooth)}.skill-tag:hover{background:var(--glass-hover-bg);border-color:var(--accent-primary);color:var(--text-primary);transform:translateY(-2px)}@media (min-width: 768px) and (max-width: 1023px){.about__portrait{width:200px;height:200px}.about__content{gap:2rem}}.about__image-wrapper{position:relative;flex-shrink:0}.about__instagram-btn{position:absolute;bottom:-20px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);background:#14141ef2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);border-radius:2rem;color:var(--text-primary);text-decoration:none;font-family:Fatal Trial,sans-serif;font-size:var(--body-small);font-weight:700;transition:all var(--transition-fast) var(--ease-smooth);box-shadow:0 4px 20px #0000004d;white-space:nowrap}.about__instagram-btn:hover{background:#e1306cf2;border-color:#e1306ccc;transform:translate(-50%) translateY(-3px);box-shadow:0 8px 30px #e1306c66}.about__instagram-btn svg{width:20px;height:20px}@media (max-width: 767px){.about__content{flex-direction:column;align-items:center;gap:var(--element-gap);text-align:center}.about__portrait{width:200px;height:200px}.about__instagram-btn{bottom:-15px;font-size:.8rem;padding:var(--space-2) var(--space-4)}.about__instagram-btn svg{width:18px;height:18px}}.projects{background:var(--bg-primary)}.projects__grid{display:flex;flex-direction:column;gap:calc(var(--content-gap) * 1.5)}.project-card{display:grid;grid-template-columns:1.2fr .8fr;gap:var(--content-gap);align-items:center;margin-bottom:var(--element-gap)}.project-card:first-child{grid-template-columns:1fr;gap:var(--element-gap)}.project-card:first-child .project__media{width:95%;max-width:none;margin:0 auto}.project-card:first-child .project__content{max-width:800px;margin:0 auto;text-align:center}.project-card:nth-child(2n){grid-template-columns:.8fr 1.2fr}.project-card:nth-child(2n) .project__media{order:2}.project-card:nth-child(2n) .project__content{order:1}.project__media{position:relative;overflow:hidden;border-radius:var(--radius-md)}.project__media video,.project__media img{width:100%;height:auto;display:block;border:2px solid var(--border-strong);border-radius:var(--radius-md);transition:all var(--transition-slow) var(--ease-smooth)}.project__video-wrapper{position:relative;width:100%;padding-bottom:56.25%;border:2px solid var(--border-strong);border-radius:var(--radius-md);overflow:hidden;background:#000;transition:all var(--transition-slow) var(--ease-smooth)}.project__video-iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-radius:var(--radius-md)}.project__media:hover video,.project__media:hover img,.project__media:hover .project__video-wrapper{transform:scale(1.02);box-shadow:0 0 40px #06b6d44d;border-color:var(--accent-glow)}.project__gallery{position:relative;width:100%;overflow:hidden;background:transparent}.project__gallery-container{display:flex;gap:var(--space-8);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:var(--space-6) 0}.project__gallery-container::-webkit-scrollbar{display:none}.project__gallery-image{flex:0 0 auto;width:100%;max-width:500px;height:500px;border-radius:var(--radius-sm);scroll-snap-align:center;transition:opacity var(--transition-fast) var(--ease-smooth);cursor:grab;object-fit:cover;aspect-ratio:1 / 1}.project__gallery-image:active{cursor:grabbing}.project__gallery-image:hover{opacity:.9}.project__gallery-nav{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);display:flex;justify-content:space-between;padding:0 var(--space-4);pointer-events:none;z-index:10}.project__gallery-btn{pointer-events:all;width:48px;height:48px;background:#000000b3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);border-radius:50%;color:var(--color-white);font-size:24px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast) var(--ease-smooth);box-shadow:0 4px 12px #0000004d}.project__gallery-btn:hover{background:#06b6d4e6;border-color:#06b6d4;transform:scale(1.1);box-shadow:0 6px 20px #06b6d466}.project__gallery-btn:active{transform:scale(.95)}.project__gallery-btn--prev{margin-left:var(--space-2)}.project__gallery-btn--next{margin-right:var(--space-2)}.project__gallery-indicators{display:flex;justify-content:center;gap:var(--space-3);padding:var(--space-6) 0;position:relative}.project__gallery-indicator{width:6px;height:6px;border-radius:50%;background:#ffffff4d;cursor:pointer;transition:all var(--transition-fast) var(--ease-smooth);border:none}.project__gallery-indicator:hover{background:#ffffff80}.project__gallery-indicator.active{background:#06b6d4e6;width:20px;border-radius:3px;box-shadow:0 0 8px #06b6d499}.project__content{display:flex;flex-direction:column;gap:var(--para-gap)}.project__label{font-size:var(--caption);font-family:Fatal Trial,sans-serif;color:var(--accent-primary);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.project__title{font-size:var(--h3);font-family:Fatal Trial,sans-serif;font-weight:700;line-height:1.3;letter-spacing:0;margin-bottom:var(--space-4)}.project__description{font-size:var(--body);color:var(--text-secondary);line-height:1.7;font-family:Broadleaf,sans-serif;font-weight:400;text-align:left}.project__description p{text-align:left;margin-bottom:var(--space-4)}.project__keyword{font-family:Fatal Trial,sans-serif;font-weight:700;display:inline}.project__text{font-family:Broadleaf,sans-serif;font-weight:400;display:inline}.project__tech{display:flex;flex-wrap:wrap;gap:var(--space-3);margin-top:var(--space-4)}.project__tech-item,.tech-tag{padding:var(--space-2) var(--space-4);background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);font-size:var(--caption);font-family:Fatal Trial,sans-serif;font-weight:700;color:var(--text-tertiary);display:inline-block;margin:var(--space-2) var(--space-2) 0 0}.project__links{display:flex;gap:var(--element-gap);margin-top:var(--para-gap)}@media (max-width: 767px){.project-card,.project-card:nth-child(2n){grid-template-columns:1fr;gap:var(--element-gap)}.project-card:nth-child(2n) .project__media,.project-card:nth-child(2n) .project__content{order:initial}}.experience{background:var(--bg-section)}.timeline{position:relative;max-width:1000px;margin:0 auto;padding:var(--content-gap) 0}.timeline__wrapper{position:relative;width:100%}.timeline__line{position:absolute;left:50%;top:0;bottom:0;width:2px;background:linear-gradient(to bottom,#06b6d41a,#06b6d44d,#06b6d41a);transform:translate(-50%);z-index:1}.timeline__progress{position:absolute;left:50%;top:0;bottom:0;width:3px;background:linear-gradient(to bottom,#06b6d4cc,#3b82f6e6);transform:translate(-50%);z-index:2;box-shadow:0 0 20px #06b6d499;border-radius:2px}.timeline__items{position:relative;z-index:3}.timeline-item{position:relative;margin-bottom:4rem;display:grid;grid-template-columns:1fr 1fr;gap:var(--content-gap);align-items:center}.timeline-item--left .timeline-item__content{grid-column:1;text-align:right;padding-right:calc(var(--content-gap) + 20px)}.timeline-item--right .timeline-item__content{grid-column:2;text-align:left;padding-left:calc(var(--content-gap) + 20px)}.timeline-item__marker{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:10;width:40px;height:40px;display:flex;align-items:center;justify-content:center}.timeline-item__marker-inner{width:16px;height:16px;background:linear-gradient(135deg,#06b6d4,#3b82f6);border:3px solid var(--bg-section);border-radius:50%;box-shadow:0 0 20px #06b6d466;transition:all .3s ease;position:relative;z-index:2}.timeline-item__marker-pulse{position:absolute;width:16px;height:16px;border-radius:50%;background:radial-gradient(circle,rgba(6,182,212,.4) 0%,transparent 70%);z-index:1}.timeline-item__content{background:#14141eb3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(6,182,212,.2);border-radius:var(--radius-md);padding:var(--element-gap);box-shadow:0 10px 30px #0003;transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.timeline-item__content:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(6,182,212,.5),transparent);opacity:0;transition:opacity .4s ease}.timeline-item__content:hover:before{opacity:1}.timeline-item__content:hover{background:#14141ed9;border-color:#06b6d480;box-shadow:0 20px 60px #06b6d426,0 0 40px #06b6d41a;transform:translateY(-8px)}.timeline-item__year{display:inline-block;font-size:var(--caption);font-family:Fatal Trial,sans-serif;color:var(--accent-primary);text-transform:uppercase;letter-spacing:.1em;font-weight:700;margin-bottom:var(--space-3);padding:var(--space-2) var(--space-4);background:#06b6d41a;border-radius:var(--radius-sm);border:1px solid rgba(6,182,212,.2)}.timeline-item__title{font-size:var(--h4);font-family:Fatal Trial,sans-serif;font-weight:700;line-height:1.3;letter-spacing:0;margin-bottom:var(--space-3);color:var(--text-primary)}.timeline-item__company{font-size:var(--body);font-family:Fatal Trial,sans-serif;font-weight:700;line-height:1.4;color:var(--text-secondary);margin-bottom:var(--space-4)}.timeline-item__type{display:inline-block;font-size:var(--caption);color:var(--text-tertiary);padding:var(--space-1) var(--space-3);background:#ffffff0d;border-radius:var(--radius-sm);margin-bottom:var(--space-3)}.timeline-item__description{font-size:var(--body-small);font-family:Broadleaf,sans-serif;font-weight:400;line-height:1.7;letter-spacing:normal;color:var(--text-secondary);margin-top:var(--space-4)}.timeline-item__highlights{margin-top:var(--space-4);padding-left:var(--space-5);list-style:none}.timeline-item__highlights li{position:relative;font-size:var(--body-small);font-family:Broadleaf,sans-serif;font-weight:400;line-height:1.6;letter-spacing:normal;color:var(--text-secondary);margin-bottom:var(--space-3);padding-left:var(--space-3)}.timeline-item__highlights li:before{content:"→";position:absolute;left:0;color:var(--accent-primary);font-weight:700}@media (max-width: 767px){.timeline__line,.timeline__progress{left:20px}.timeline-item{grid-template-columns:1fr;padding-left:calc(40px + var(--element-gap));margin-bottom:3rem}.timeline-item--left .timeline-item__content,.timeline-item--right .timeline-item__content{grid-column:1;text-align:left;padding:var(--element-gap)}.timeline-item__marker{left:20px;transform:translate(-50%,-50%)}}@media (min-width: 768px) and (max-width: 1023px){.timeline-item{margin-bottom:3.5rem}.timeline-item--left .timeline-item__content{padding-right:calc(var(--element-gap) + 10px)}.timeline-item--right .timeline-item__content{padding-left:calc(var(--element-gap) + 10px)}}.experience__craft{max-width:900px;margin:0 auto calc(var(--content-gap) * 2) auto;padding:calc(var(--content-gap) * 1.5) 0}.craft__title{font-size:var(--h2);font-family:Fatal Trial,sans-serif;font-weight:700;text-align:center;margin-bottom:calc(var(--content-gap) * 2);color:var(--text-primary);position:relative;letter-spacing:.05em}.craft__title:after{content:"";position:absolute;bottom:-15px;left:50%;transform:translate(-50%);width:60px;height:2px;background:var(--accent-primary)}.craft__grid{display:flex;flex-direction:column;gap:0}.craft-card{position:relative;padding:calc(var(--element-gap) * .8) 0;border-bottom:1px solid rgba(255,255,255,.05);transition:all .4s cubic-bezier(.4,0,.2,1)}.craft-card:last-child{border-bottom:none}.craft-card:hover{padding-left:var(--space-6)}.craft-card:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:0;background:var(--accent-primary);transition:height .4s cubic-bezier(.4,0,.2,1);box-shadow:0 0 10px #06b6d499}.craft-card:hover:before{height:80%}.craft-card__title{font-size:var(--h4);font-family:Fatal Trial,sans-serif;font-weight:700;color:var(--text-primary);margin-bottom:var(--space-3);line-height:1.3;transition:color .3s ease;letter-spacing:.02em}.craft-card:hover .craft-card__title{color:var(--accent-primary)}.craft-card__description{font-size:var(--body-small);font-family:Broadleaf,sans-serif;font-weight:400;color:var(--text-secondary);line-height:1.7;max-width:800px;transition:color .3s ease}.craft-card:hover .craft-card__description{color:var(--text-primary)}@media (max-width: 767px){.experience__craft{padding:var(--content-gap) 0;margin-bottom:var(--content-gap)}.craft__title{font-size:var(--h3);margin-bottom:var(--content-gap)}.craft-card{padding:var(--element-gap) 0}.craft-card:hover{padding-left:var(--space-4)}.craft-card__title{font-size:1.1rem}.craft-card__description{font-size:.9rem}}.experience__skills,.skills-grid{max-width:1000px;margin:0 auto;padding:var(--content-gap) 0}.skill-category{margin-bottom:calc(var(--content-gap) * .75)}.skill-category__title{font-size:var(--caption);font-family:Fatal Trial,sans-serif;text-transform:uppercase;letter-spacing:.15em;color:var(--text-tertiary);margin-bottom:var(--element-gap);font-weight:700}.skills-pills-container{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-4)}.skill-pill{display:inline-flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-3) var(--space-5);background:#14141e80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(6,182,212,.15);border-radius:2rem;font-size:var(--body-small);transition:all .3s cubic-bezier(.4,0,.2,1);cursor:default;position:relative;overflow:hidden}.skill-pill:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(6,182,212,.1),transparent);transition:left .5s ease}.skill-pill:hover:before{left:100%}.skill-pill:hover{transform:scale(1.05) translateY(-2px);background:#14141eb3;border-color:#06b6d466;box-shadow:0 8px 24px #06b6d433,0 0 20px #06b6d426}.skill-name{font-family:Fatal Trial,sans-serif;font-weight:700;line-height:1.4;color:var(--text-primary);flex:1;letter-spacing:.05em}.skill-percentage{font-family:Fatal Trial,sans-serif;font-size:.75rem;font-weight:700;line-height:1.4;color:var(--text-tertiary);padding:var(--space-1) var(--space-2);background:#06b6d41a;border-radius:var(--radius-sm);min-width:42px;text-align:center}@media (max-width: 767px){.skills-pills-container{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--space-3)}.skill-pill{padding:var(--space-2) var(--space-4);font-size:.8rem}.skill-percentage{font-size:.7rem;min-width:38px}}@media (min-width: 768px) and (max-width: 1023px){.skills-pills-container{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}.awards{background:var(--bg-primary)}.awards__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:var(--element-gap)}.award-card{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:var(--element-gap);transition:all var(--transition-base) var(--ease-smooth);display:flex;flex-direction:column;gap:var(--para-gap)}.award-card:hover{background:var(--glass-hover-bg);border-color:var(--accent-primary);transform:translateY(-10px);box-shadow:0 20px 40px #0006}.award-card__icon{width:60px;height:60px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border-radius:var(--radius-md);font-size:var(--text-3xl);margin-bottom:var(--space-4)}.award-card__year{font-size:var(--caption);font-family:Fatal Trial,sans-serif;color:var(--accent-primary);text-transform:uppercase;letter-spacing:.1em;font-weight:700}.award-card__title{font-size:var(--h4);font-family:Fatal Trial,sans-serif;font-weight:700;line-height:1.3;letter-spacing:0;margin-bottom:var(--space-3)}.award-card__organization{font-size:var(--body-small);font-family:Broadleaf,sans-serif;font-weight:400;line-height:1.6;letter-spacing:normal;color:var(--text-secondary);margin-bottom:var(--space-4)}.award-card__description{font-size:var(--body-small);font-family:Broadleaf,sans-serif;font-weight:400;line-height:1.6;letter-spacing:normal;color:var(--text-tertiary)}.contact{background:var(--bg-section)}.contact__content{max-width:700px;margin:0 auto;display:flex;flex-direction:column;gap:var(--content-gap)}.contact__info{display:flex;flex-direction:column;gap:var(--element-gap);padding:var(--element-gap);background:#14141e80;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(6,182,212,.15);border-radius:var(--radius-md)}.contact__info-item{display:flex;flex-direction:column;gap:var(--space-2)}.contact__info-item a{color:var(--text-primary);text-decoration:none;transition:color var(--transition-fast) var(--ease-smooth)}.contact__info-item a:hover{color:var(--accent-primary)}.contact__intro{text-align:center;margin-bottom:var(--content-gap)}.contact__intro h2{margin-bottom:var(--para-gap)}.contact__intro p{font-size:var(--body-large);font-family:Broadleaf,sans-serif;font-weight:400;line-height:1.7;letter-spacing:normal;color:var(--text-secondary)}.contact-form{display:flex;flex-direction:column;gap:calc(var(--element-gap) * 1.2);margin-bottom:var(--content-gap)}.form-field{display:flex;flex-direction:column;gap:var(--space-4)}.form-label{font-size:var(--caption);font-family:Fatal Trial,sans-serif;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-secondary)}.form-input,.form-textarea{width:100%;padding:var(--space-4);font-family:inherit;font-size:var(--body);background:var(--bg-card);border:1px solid var(--border-subtle);color:var(--text-primary);transition:all var(--transition-fast) var(--ease-smooth);border-radius:var(--radius-sm)}.form-input:focus,.form-textarea:focus{outline:none;border-color:var(--accent-primary);background:var(--glass-hover-bg);box-shadow:0 0 0 3px #3b82f61a}.form-input.error,.form-textarea.error{border-color:var(--color-error)}.form-textarea{resize:vertical;min-height:150px}.error-message{display:none;font-size:var(--body-small);color:var(--color-error);margin-top:var(--space-2)}.form-input.error+.error-message,.form-textarea.error+.error-message{display:block}.form-submit{margin-top:var(--space-4)}.contact__socials{display:flex;justify-content:center;gap:var(--element-gap);margin-top:var(--content-gap)}.social-link{display:flex;align-items:center;justify-content:center;width:50px;height:50px;background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:var(--text-xl);transition:all var(--transition-fast) var(--ease-smooth)}.social-link:hover{background:var(--accent-primary);border-color:var(--accent-primary);color:var(--text-primary);transform:translateY(-5px);box-shadow:0 10px 20px #3b82f64d}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-4) var(--space-8);font-size:var(--body);font-family:Fatal Trial,sans-serif;font-weight:700;line-height:1;text-decoration:none;border:2px solid transparent;border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast) var(--ease-smooth);position:relative;overflow:hidden;white-space:nowrap}.btn--primary{background:transparent;border-color:var(--color-white);color:var(--color-white)}.btn--primary:before{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:var(--color-white);transform:translate(-100%);transition:transform var(--transition-fast) var(--ease-smooth);z-index:-1}.btn--primary:hover:before{transform:translate(0)}.btn--primary:hover{color:var(--color-black)}.btn--secondary{background:transparent;border-color:var(--accent-primary);color:var(--accent-primary)}.btn--secondary:hover{background:var(--accent-primary);color:var(--text-primary)}.btn--ghost{background:transparent;color:var(--text-primary);border:none}.btn--ghost:hover{background:var(--glass-hover-bg)}.btn--large{padding:var(--space-5) var(--space-10);font-size:var(--body-large)}.btn:disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.card{background:var(--glass-bg);-webkit-backdrop-filter:blur(var(--glass-blur));backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:var(--radius-md);padding:var(--element-gap);transition:all var(--transition-slow) var(--ease-smooth)}.card:hover{background:var(--glass-hover-bg);border-color:var(--glass-hover-border);transform:translateY(-10px);box-shadow:var(--glass-shadow)}.card__title{font-size:var(--h4);font-weight:var(--font-weight-semibold);margin-bottom:var(--space-4);color:var(--text-primary)}.card__description{font-size:var(--body);font-family:Broadleaf,sans-serif;font-weight:400;line-height:1.7;letter-spacing:normal;color:var(--text-secondary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}.fade-in{animation:fadeIn var(--transition-slow) var(--ease-smooth)}.fade-up{animation:fadeUp var(--transition-slow) var(--ease-smooth)}.fade-in-up{animation:fadeInUp var(--transition-slow) var(--ease-smooth)}.scale-in{animation:scaleIn var(--transition-base) var(--ease-smooth)}.slide-in-left{animation:slideInLeft var(--transition-slow) var(--ease-smooth)}.slide-in-right{animation:slideInRight var(--transition-slow) var(--ease-smooth)}@keyframes shimmer{0%{background-position:0% center}to{background-position:200% center}}@keyframes heroTitlePulse{0%,to{box-shadow:0 8px 32px #1f26875e,inset 0 0 20px #ffffff1a,0 0 30px #06b6d44d}50%{box-shadow:0 8px 32px #1f26875e,inset 0 0 20px #ffffff1a,0 0 50px #06b6d480}}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.hidden{display:none}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.items-center{align-items:center}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.mt-0{margin-top:var(--space-0)}.mt-4{margin-top:var(--space-4)}.mt-8{margin-top:var(--space-8)}.mb-0{margin-bottom:var(--space-0)}.mb-4{margin-bottom:var(--space-4)}.mb-8{margin-bottom:var(--space-8)}.w-full{width:100%}.w-auto{width:auto}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.skip-link{position:absolute;top:-100px;left:0;background:var(--color-white);color:var(--color-black);padding:var(--space-4);text-decoration:none;z-index:9999;transition:top var(--transition-fast) var(--ease-smooth)}.skip-link:focus{top:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:focus-visible{outline:2px solid var(--accent-primary);outline-offset:4px}.btn:focus-visible{outline-offset:2px}@media (hover: hover) and (pointer: fine){.hover-lift:hover{transform:translateY(-5px)}.hover-scale:hover{transform:scale(1.05)}}@media (hover: none){.btn:active,.card:active{transform:scale(.98)}}@media (min-width: 768px) and (max-width: 1023px){.section{padding-top:calc(var(--section-padding) * .75);padding-bottom:calc(var(--section-padding) * .75)}}@media (max-width: 767px){.section{padding-top:var(--section-padding);padding-bottom:var(--section-padding)}.section__header{margin-bottom:calc(var(--content-gap) * .75)}.hero{min-height:auto;padding-top:calc(var(--section-padding) * 1.5)}.hero__cta{flex-direction:column;width:100%}.btn{width:100%}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{.header,.nav,.hero__cta,.btn,#three-canvas{display:none}body{background:#fff;color:#000}.section{padding-top:var(--space-8);padding-bottom:var(--space-8);page-break-inside:avoid}}@media (max-width: 1023px){.btn,.nav__link,button{min-height:44px;min-width:44px}}@media (max-width: 767px){.form-input,.form-textarea,input,textarea{font-size:16px!important}.container{padding-left:var(--space-4);padding-right:var(--space-4)}.section__title{font-size:var(--h3)}.section__description{font-size:var(--body)}}@media (min-width: 768px) and (max-width: 1023px){.section{padding-top:4rem;padding-bottom:4rem}}.auth-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-bg-primary);z-index:10000;display:flex;align-items:center;justify-content:center;opacity:1;transition:opacity .6s cubic-bezier(.4,0,.2,1)}.auth-overlay.fade-out{opacity:0;pointer-events:none}.auth-container{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:2rem}.auth-content{width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center;gap:4rem;animation:auth-fade-in .8s cubic-bezier(.4,0,.2,1)}@keyframes auth-fade-in{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.auth-content.shake{animation:auth-shake .4s cubic-bezier(.36,.07,.19,.97)}@keyframes auth-shake{0%,to{transform:translate(0)}25%{transform:translate(-12px)}75%{transform:translate(12px)}}.auth-content.success{animation:auth-success .8s cubic-bezier(.4,0,.2,1) forwards}@keyframes auth-success{0%{transform:scale(1);opacity:1}50%{transform:scale(1.02)}to{transform:scale(.98);opacity:0}}.auth-logo{text-align:center;margin-bottom:2rem}.auth-title{font-family:var(--font-display);font-size:clamp(3.5rem,10vw,6rem);font-weight:900;letter-spacing:.08em;color:var(--color-text-primary);margin:0;line-height:1;text-transform:uppercase;white-space:nowrap;background:linear-gradient(135deg,var(--color-text-primary) 0%,var(--color-text-secondary) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-form{width:100%;display:flex;flex-direction:column;align-items:center;gap:2.5rem}.auth-label{font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.15em;margin:0;text-align:center}.auth-code-inputs{display:flex;gap:1.25rem;justify-content:center;width:100%;padding:0 1rem;transition:all .3s cubic-bezier(.4,0,.2,1)}.auth-code-inputs.checking{opacity:.6;transform:scale(.98)}.auth-code-inputs.error{animation:inputs-error .4s cubic-bezier(.36,.07,.19,.97)}@keyframes inputs-error{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.auth-code-box{width:70px;height:85px;font-family:var(--font-display);font-size:2.5rem;font-weight:700;color:var(--color-text-primary);background:#ffffff08;border:2px solid rgba(255,255,255,.2);border-radius:0;outline:none;text-align:center;transition:all .3s cubic-bezier(.4,0,.2,1);caret-color:var(--color-accent);-webkit-appearance:none;-moz-appearance:textfield;box-shadow:0 4px 12px #0003,inset 0 1px #ffffff0d}.auth-code-box::-webkit-inner-spin-button,.auth-code-box::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.auth-code-box:focus{border-color:var(--color-accent);background:#ffffff0d;transform:translateY(-4px) scale(1.05);box-shadow:0 8px 24px #0000004d,0 0 0 2px var(--color-accent),inset 0 1px #ffffff1a}.auth-code-box:not(:placeholder-shown){border-color:#fff6;background:#ffffff0f}.auth-code-box.error{border-color:#f44;background:#ff44440d;animation:box-error .3s cubic-bezier(.36,.07,.19,.97)}@keyframes box-error{0%,to{transform:scale(1)}50%{transform:scale(.95)}}.auth-error{font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:500;color:#f44;text-align:center;padding:0;margin:0;opacity:0;max-height:0;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1);letter-spacing:.05em;text-transform:uppercase}.auth-error.show{opacity:1;max-height:50px;padding:.75rem 0}.auth-footer{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding-top:2rem;border-top:1px solid rgba(255,255,255,.05);width:100%}.auth-hint-text{font-family:var(--font-body);font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0;letter-spacing:.05em;opacity:.7}.auth-linkedin{font-family:var(--font-body);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary);text-decoration:none;letter-spacing:.05em;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;padding-bottom:2px}.auth-linkedin:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--color-accent);transform:scaleX(0);transform-origin:right;transition:transform .3s cubic-bezier(.4,0,.2,1)}.auth-linkedin:hover{color:var(--color-accent)}.auth-linkedin:hover:after{transform:scaleX(1);transform-origin:left}@media (max-width: 768px){.auth-content{gap:3rem;max-width:100%}.auth-title{font-size:clamp(2.5rem,12vw,4rem)}.auth-code-inputs{gap:.75rem;padding:0 .5rem}.auth-code-box{width:60px;height:75px;font-size:2rem}.auth-footer{padding-top:1.5rem}}@media (max-width: 480px){.auth-container{padding:1.5rem}.auth-code-inputs{gap:.5rem}.auth-code-box{width:55px;height:70px;font-size:1.75rem}}@media (prefers-reduced-motion: reduce){.auth-overlay,.auth-content,.auth-code-inputs,.auth-code-box,.auth-error,.auth-linkedin:after{animation:none;transition:none}.auth-code-box:focus{transform:none}}.auth-code-box:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px}.auth-linkedin:focus-visible{outline:2px solid var(--color-accent);outline-offset:4px;border-radius:2px}.auth-code-inputs.checking .auth-code-box{animation:box-pulse 1s ease-in-out infinite}@keyframes box-pulse{0%,to{opacity:1;border-color:var(--color-border)}50%{opacity:.6;border-color:var(--color-text-tertiary)}}
