:root{--color-primary:#3b82f6;--color-primary-light:#60a5fa;--color-primary-dark:#2563eb;--color-primary-subtle:#dbeafe;--color-secondary:#64748b;--color-secondary-light:#94a3b8;--color-secondary-dark:#475569;--color-accent:#0d9488;--color-accent-hover:#0f766e;--color-accent-subtle:#ccfbf1;--color-white:#fff;--color-off-white:#f8fafc;--color-gray-50:#f8fafc;--color-gray-100:#f1f5f9;--color-gray-200:#e2e8f0;--color-gray-300:#cbd5e1;--color-gray-400:#94a3b8;--color-gray-500:#64748b;--color-gray-600:#475569;--color-gray-700:#334155;--color-gray-800:#1e293b;--color-gray-900:#0f172a;--color-black:#020617;--color-success:#10b981;--color-success-light:#d1fae5;--color-success-dark:#059669;--color-warning:#f59e0b;--color-warning-light:#fef3c7;--color-warning-dark:#d97706;--color-error:#ef4444;--color-error-light:#fee2e2;--color-error-dark:#dc2626;--color-info:#3b82f6;--color-info-light:#dbeafe;--color-info-dark:#1d4ed8;--color-text-on-primary:var(--color-white);--color-text-on-secondary:var(--color-white);--color-text-on-accent:var(--color-white);--color-text-body:var(--color-gray-700);--color-text-heading:var(--color-gray-900);--color-text-muted:var(--color-gray-500);--color-bg-body:var(--color-off-white);--color-bg-card:var(--color-white);--color-bg-elevated:var(--color-white);--color-bg-hover:var(--color-gray-100);--color-bg-active:var(--color-gray-200);--color-border-default:var(--color-gray-200);--color-border-strong:var(--color-gray-300);--color-background:var(--color-bg-body);--color-foreground:var(--color-text-body);--color-muted:var(--color-gray-100);--color-muted-foreground:var(--color-text-muted);--color-border:var(--color-border-default);--color-input:var(--color-bg-card);--color-ring:var(--color-primary);--color-card:var(--color-bg-card);--color-popover:var(--color-bg-elevated);--color-destructive:var(--color-error);--color-destructive-foreground:var(--color-white);--color-transparent:transparent;--spacing-0:0;--spacing-1:.25rem;--spacing-2:.5rem;--spacing-3:.75rem;--spacing-4:1rem;--spacing-5:1.25rem;--spacing-6:1.5rem;--spacing-8:2rem;--spacing-10:2.5rem;--spacing-12:3rem;--spacing-16:4rem;--spacing-20:5rem;--spacing-24:6rem;--spacing-32:8rem;--spacing-40:10rem;--spacing-48:12rem;--spacing-56:14rem;--spacing-64:16rem;--font-sans:"Inter",system-ui,-apple-system,sans-serif;--font-mono:"JetBrains Mono","Fira Code",Consolas,monospace;--font-serif:Georgia,serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.25rem;--font-size-5xl:3rem;--font-size-6xl:3.75rem;--line-height-tight:1.25;--line-height-normal:1.5;--line-height-relaxed:1.75;--line-height-loose:2;--font-weight-thin:100;--font-weight-light:300;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--font-weight-black:900;--letter-spacing-tighter:-.05em;--letter-spacing-tight:-.025em;--letter-spacing-normal:0em;--letter-spacing-wide:.025em;--letter-spacing-wider:.05em;--letter-spacing-widest:.1em;--shadow-soft:0 4px 6px -1px rgba(59,130,246,.15),0 2px 4px -1px rgba(0,0,0,.06);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow-base:0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px 0 rgba(0,0,0,.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -1px rgba(0,0,0,.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -2px rgba(0,0,0,.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.1),0 10px 10px -5px rgba(0,0,0,.04);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.25);--shadow-inner:inset 0 2px 4px 0 rgba(0,0,0,.06);--shadow-none:none;--radius-none:0;--radius-sm:.125rem;--radius-base:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px}*,:after,:before{box-sizing:border-box}*,blockquote,body,dd,dl,figure,h1,h2,h3,h4,h5,h6,p{margin:0}body{background-color:var(--color-background);color:var(--color-foreground);font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);min-height:100vh;text-rendering:optimizeSpeed}canvas,img,picture,svg,video{display:block;max-width:100%}button,input,select,textarea{font:inherit}h1,h2,h3,h4,h5,h6,p{overflow-wrap:break-word}#__next,#root{isolation:isolate}body,html{height:100%}h1,h2,h3,h4,h5,h6{color:var(--color-foreground);font-weight:var(--font-weight-semibold);line-height:var(--line-height-tight)}h1{font-size:var(--font-size-5xl)}h2{font-size:var(--font-size-4xl)}h3{font-size:var(--font-size-3xl)}h4{font-size:var(--font-size-2xl)}h5{font-size:var(--font-size-xl)}h6{font-size:var(--font-size-lg)}p{color:var(--color-foreground);margin-bottom:var(--spacing-4)}a{color:var(--color-secondary-dark);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-secondary)}a:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}ol,ul{margin-bottom:var(--spacing-4);padding-left:var(--spacing-6)}li{margin-bottom:var(--spacing-1)}code{border-radius:var(--radius-sm);color:var(--color-foreground);font-size:.875em;padding:.125rem .25rem}code,pre{background-color:var(--color-muted);font-family:var(--font-mono)}pre{border-radius:var(--radius-md);margin-bottom:var(--spacing-4);overflow-x:auto;padding:var(--spacing-4)}pre code{background:none;padding:0}blockquote{border-left:4px solid var(--color-border);color:var(--color-muted-foreground);font-style:italic;margin:var(--spacing-6) 0;padding-left:var(--spacing-4)}table{border-collapse:collapse;margin-bottom:var(--spacing-6);width:100%}td,th{border-bottom:1px solid var(--color-border);padding:var(--spacing-3) var(--spacing-4);text-align:left}th{color:var(--color-foreground);font-weight:var(--font-weight-semibold)}hr{background-color:var(--color-border);border:none;height:1px;margin:var(--spacing-8) 0}::-moz-selection{background-color:var(--color-primary-light);color:var(--color-secondary-dark)}::selection{background-color:var(--color-primary-light);color:var(--color-secondary-dark)}:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:var(--color-muted)}::-webkit-scrollbar-thumb{background:var(--color-muted-foreground);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-foreground)}.container,.nav-container{margin-left:auto;margin-right:auto;padding-left:var(--spacing-4);padding-right:var(--spacing-4)}@media(min-width:640px){.container,.nav-container{max-width:640px}}@media(min-width:768px){.container,.nav-container{max-width:768px;padding-left:var(--spacing-6);padding-right:var(--spacing-6)}}@media(min-width:1024px){.container,.nav-container{max-width:1024px;padding-left:var(--spacing-8);padding-right:var(--spacing-8)}}@media(min-width:1280px){.container,.nav-container{max-width:1280px}}@media(min-width:1536px){.container,.nav-container{max-width:1536px}}.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.flex-nowrap{flex-wrap:nowrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-end{align-items:flex-end}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.flex-1{flex:1 1 0%}.flex-auto{flex:1 1 auto}.flex-none{flex:none}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.gap-0{gap:var(--spacing-0)}.gap-1{gap:var(--spacing-1)}.gap-2{gap:var(--spacing-2)}.gap-3{gap:var(--spacing-3)}.gap-4{gap:var(--spacing-4)}.gap-5{gap:var(--spacing-5)}.gap-6{gap:var(--spacing-6)}.gap-8{gap:var(--spacing-8)}.gap-10{gap:var(--spacing-10)}.gap-12{gap:var(--spacing-12)}.gap-x-0{-moz-column-gap:var(--spacing-0);column-gap:var(--spacing-0)}.gap-y-0{row-gap:var(--spacing-0)}.gap-x-1{-moz-column-gap:var(--spacing-1);column-gap:var(--spacing-1)}.gap-y-1{row-gap:var(--spacing-1)}.gap-x-2{-moz-column-gap:var(--spacing-2);column-gap:var(--spacing-2)}.gap-y-2{row-gap:var(--spacing-2)}.gap-x-3{-moz-column-gap:var(--spacing-3);column-gap:var(--spacing-3)}.gap-y-3{row-gap:var(--spacing-3)}.gap-x-4{-moz-column-gap:var(--spacing-4);column-gap:var(--spacing-4)}.gap-y-4{row-gap:var(--spacing-4)}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.hidden{display:none}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.p-0{padding:var(--spacing-0)}.p-1{padding:var(--spacing-1)}.p-2{padding:var(--spacing-2)}.p-3{padding:var(--spacing-3)}.p-4{padding:var(--spacing-4)}.p-5{padding:var(--spacing-5)}.p-6{padding:var(--spacing-6)}.p-8{padding:var(--spacing-8)}.p-10{padding:var(--spacing-10)}.p-12{padding:var(--spacing-12)}.px-0{padding-left:var(--spacing-0);padding-right:var(--spacing-0)}.px-1{padding-left:var(--spacing-1);padding-right:var(--spacing-1)}.px-2{padding-left:var(--spacing-2);padding-right:var(--spacing-2)}.px-3{padding-left:var(--spacing-3);padding-right:var(--spacing-3)}.px-4{padding-left:var(--spacing-4);padding-right:var(--spacing-4)}.px-5{padding-left:var(--spacing-5);padding-right:var(--spacing-5)}.px-6{padding-left:var(--spacing-6);padding-right:var(--spacing-6)}.px-8{padding-left:var(--spacing-8);padding-right:var(--spacing-8)}.py-0{padding-bottom:var(--spacing-0);padding-top:var(--spacing-0)}.py-1{padding-bottom:var(--spacing-1);padding-top:var(--spacing-1)}.py-2{padding-bottom:var(--spacing-2);padding-top:var(--spacing-2)}.py-3{padding-bottom:var(--spacing-3);padding-top:var(--spacing-3)}.py-4{padding-bottom:var(--spacing-4);padding-top:var(--spacing-4)}.py-5{padding-bottom:var(--spacing-5);padding-top:var(--spacing-5)}.py-6{padding-bottom:var(--spacing-6);padding-top:var(--spacing-6)}.py-8{padding-bottom:var(--spacing-8);padding-top:var(--spacing-8)}.m-0{margin:var(--spacing-0)}.m-1{margin:var(--spacing-1)}.m-2{margin:var(--spacing-2)}.m-3{margin:var(--spacing-3)}.m-4{margin:var(--spacing-4)}.m-5{margin:var(--spacing-5)}.m-6{margin:var(--spacing-6)}.m-8{margin:var(--spacing-8)}.m-10{margin:var(--spacing-10)}.m-12{margin:var(--spacing-12)}.mx-auto{margin-left:auto;margin-right:auto}.my-0{margin-bottom:var(--spacing-0);margin-top:var(--spacing-0)}.my-1{margin-bottom:var(--spacing-1);margin-top:var(--spacing-1)}.my-2{margin-bottom:var(--spacing-2);margin-top:var(--spacing-2)}.my-3{margin-bottom:var(--spacing-3);margin-top:var(--spacing-3)}.my-4{margin-bottom:var(--spacing-4);margin-top:var(--spacing-4)}.my-5{margin-bottom:var(--spacing-5);margin-top:var(--spacing-5)}.my-6{margin-bottom:var(--spacing-6);margin-top:var(--spacing-6)}.my-8{margin-bottom:var(--spacing-8);margin-top:var(--spacing-8)}.w-full{width:100%}.w-screen{width:100vw}.w-auto{width:auto}.h-full{height:100%}.h-screen{height:100vh}.h-auto{height:auto}.min-h-screen{min-height:100vh}.max-w-full{max-width:100%}.max-w-none{max-width:none}.btn{background-color:var(--color-background);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-foreground);font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);gap:var(--spacing-2);line-height:var(--line-height-normal);padding:var(--spacing-2) var(--spacing-4);transition:all .2s ease}.btn:hover{background-color:var(--color-muted)}.btn:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}.btn:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background-color:var(--color-secondary-dark);border-color:var(--color-secondary-dark);color:#fff}.btn-primary:hover{background-color:var(--color-secondary);border-color:var(--color-secondary)}.btn-secondary{background-color:var(--color-muted);border-color:var(--color-border);color:var(--color-foreground)}.btn-secondary:hover{background-color:var(--color-gray-200)}.btn-ghost{background-color:transparent;border-color:transparent}.btn-ghost:hover{background-color:var(--color-muted)}.btn-sm{font-size:var(--font-size-xs);padding:var(--spacing-1) var(--spacing-3)}.btn-lg{font-size:var(--font-size-base);padding:var(--spacing-3) var(--spacing-6)}.card{background-color:var(--color-background);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--spacing-6);transition:box-shadow .2s ease}.card:hover{box-shadow:var(--shadow-md)}.card-header{border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-4);padding-bottom:var(--spacing-4)}.card-title{color:var(--color-foreground);font-size:var(--font-size-lg);font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-1)}.card-description{color:var(--color-muted-foreground);font-size:var(--font-size-sm)}.card-content{margin-bottom:var(--spacing-4)}.card-footer{align-items:center;border-top:1px solid var(--color-border);display:flex;justify-content:space-between;padding-top:var(--spacing-4)}.input{background-color:var(--color-input);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-foreground);display:flex;font-size:var(--font-size-sm);padding:var(--spacing-2) var(--spacing-3);transition:border-color .2s ease,box-shadow .2s ease;width:100%}.input:focus{border-color:var(--color-secondary);box-shadow:0 0 0 1px var(--color-secondary);outline:none}.input:disabled{cursor:not-allowed;opacity:.5}.input::-moz-placeholder{color:var(--color-muted-foreground)}.input::placeholder{color:var(--color-muted-foreground)}.input-error,.input-error:focus{border-color:#dc2626}.input-error:focus{box-shadow:0 0 0 1px #dc2626}.badge{align-items:center;background-color:var(--color-muted);border-radius:var(--radius-full);color:var(--color-foreground);display:inline-flex;font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:var(--line-height-normal);padding:.125rem .5rem}.badge-primary{background-color:var(--color-primary);color:var(--color-secondary-dark)}.badge-secondary{background-color:var(--color-gray-100);color:var(--color-gray-800)}.badge-success{background-color:#dcfce7;color:#166534}.badge-warning{background-color:#fef3c7;color:#92400e}.badge-error{background-color:#fecaca;color:#991b1b}.skeleton{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite;background-color:var(--color-muted);border-radius:var(--radius-sm);display:inline-block;height:1em;width:100%}.sr-only{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.focus-visible:focus-visible{outline:2px solid var(--color-ring);outline-offset:2px}.visually-hidden{height:1px!important;margin:-1px!important;overflow:hidden!important;padding:0!important;position:absolute!important;width:1px!important;clip:rect(0,0,0,0)!important;border:0!important;white-space:nowrap!important}@keyframes lazy-fade-in{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes image-fade-in{0%{opacity:0}to{opacity:1}}@keyframes skeleton-loading{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes font-fade-in{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(1turn)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideInFromTop{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-10px)}20%,40%,60%,80%{transform:translate(10px)}}:root:not([data-theme=dark]),[data-theme=light]{--color-background:var(--color-bg-body);--color-foreground:var(--color-text-body);--color-muted:var(--color-gray-100);--color-muted-foreground:var(--color-text-muted);--color-border:var(--color-border-default);--color-input:var(--color-bg-card);--color-ring:var(--color-primary);--color-card:var(--color-bg-card);--color-popover:var(--color-bg-card);--color-accent:var(--color-gray-100);--color-destructive:var(--color-error);--color-destructive-foreground:var(--color-white)}[data-theme=dark]{--color-bg-body:#0f172a;--color-bg-card:#1e293b;--color-bg-elevated:#334155;--color-bg-hover:#334155;--color-bg-active:#475569;--color-border-default:#334155;--color-border-strong:#475569;--color-background:var(--color-bg-body);--color-foreground:#f1f5f9;--color-muted:#1e293b;--color-muted-foreground:#94a3b8;--color-border:var(--color-border-default);--color-input:#1e293b;--color-ring:#60a5fa;--color-card:var(--color-bg-card);--color-popover:var(--color-bg-elevated);--color-text-body:#e2e8f0;--color-text-heading:#f8fafc;--color-text-muted:#94a3b8;--color-primary:#60a5fa;--color-primary-light:#93c5fd;--color-primary-dark:#3b82f6;--color-primary-subtle:#1e3a8a;--color-accent:#2dd4bf;--color-accent-hover:#14b8a6;--color-accent-subtle:#134e4a;--shadow-soft:0 4px 6px -1px rgba(59,130,246,.1),0 2px 4px -1px rgba(0,0,0,.4);--shadow-sm:0 1px 2px 0 rgba(0,0,0,.4);--shadow-base:0 1px 3px 0 rgba(0,0,0,.5),0 1px 2px 0 rgba(0,0,0,.4);--shadow-md:0 4px 6px -1px rgba(0,0,0,.5),0 2px 4px -1px rgba(0,0,0,.4);--shadow-lg:0 10px 15px -3px rgba(0,0,0,.5),0 4px 6px -2px rgba(0,0,0,.4);--shadow-xl:0 20px 25px -5px rgba(0,0,0,.5),0 10px 10px -5px rgba(0,0,0,.4);--shadow-2xl:0 25px 50px -12px rgba(0,0,0,.6)}:root{--animation-fast:.2s;--animation-normal:.3s;--animation-slow:.5s;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--gradient-primary:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);--gradient-hero:linear-gradient(135deg,var(--color-gray-900) 0%,var(--color-secondary-dark) 50%,var(--color-primary) 100%);--gradient-accent:linear-gradient(135deg,var(--color-accent) 0%,var(--color-accent-hover) 100%);--hero-height:100vh;--nav-height:70px;--section-padding:clamp(4rem,10vw,8rem);color-scheme:light}[data-theme=dark]{color-scheme:dark}html{scroll-behavior:smooth}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background-color:var(--color-bg-body);color:var(--color-text-body);font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body::-webkit-scrollbar{height:8px;width:8px}body::-webkit-scrollbar-track{background:var(--color-gray-100);border-radius:4px}body::-webkit-scrollbar-thumb{background:var(--color-primary-dark);border:2px solid var(--color-gray-100);border-radius:4px}body::-webkit-scrollbar-thumb:hover{background:var(--color-secondary)}body::-webkit-scrollbar-thumb:active{background:var(--color-secondary-dark)}body{scrollbar-color:var(--color-primary-dark) var(--color-gray-100);scrollbar-width:thin}[data-theme=dark] body::-webkit-scrollbar-track{background:var(--color-gray-900)}[data-theme=dark] body::-webkit-scrollbar-thumb{background:var(--color-gray-600);border-color:var(--color-gray-900)}[data-theme=dark] body::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}[data-theme=dark] body{scrollbar-color:var(--color-gray-600) var(--color-gray-900)}.container,.nav-container{margin:0 auto;max-width:1200px;padding:0 1rem;width:100%}@media(min-width:768px){.container,.nav-container{padding:0 2rem}}.main-nav{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffc;border-bottom:1px solid var(--color-border);left:0;position:fixed;right:0;top:0;transition:all var(--animation-normal) ease;z-index:var(--z-fixed)}[data-theme=dark] .main-nav{background:#0f172ae6;border-bottom-color:var(--color-gray-700)}.main-nav[data-nav=scrolled]{background:#fffffff2;box-shadow:0 2px 20px #0000001a}[data-theme=dark] .main-nav[data-nav=scrolled]{background:#0f172afa;box-shadow:0 2px 20px #0000004d}.nav-container{height:var(--nav-height);justify-content:space-between}.nav-brand,.nav-brand .brand-link,.nav-container{align-items:center;display:flex}.nav-brand .brand-link{color:var(--color-text-heading);font-size:1.125rem;font-weight:600;gap:.75rem;text-decoration:none;transition:color var(--animation-fast) ease}.nav-brand .brand-icon,.nav-brand .brand-link:hover{color:var(--color-primary)}.nav-brand .brand-icon{height:32px;transition:transform var(--animation-fast) ease;width:32px}.brand-link:hover .nav-brand .brand-icon{transform:rotate(5deg) scale(1.1)}.nav-menu{align-items:center;display:flex;gap:2rem;list-style:none;margin:0;padding:0}@media(min-width:1024px){.nav-menu{gap:3rem}}.nav-link{color:var(--color-text-body);font-weight:500;padding:.5rem 0;position:relative;text-decoration:none;transition:color var(--animation-fast) ease}.nav-link:after{background:var(--color-primary);bottom:0;content:"";height:2px;left:0;position:absolute;transform:scaleX(0);transform-origin:right;transition:transform var(--animation-normal) ease;width:100%}.nav-link:hover{color:var(--color-primary)}.nav-link:hover:after{transform:scaleX(1);transform-origin:left}.nav-link--active{color:var(--color-primary)}.nav-link--active:after{transform:scaleX(1)}.nav-link--external{align-items:center;background:var(--color-primary);border-radius:8px;color:var(--color-text-on-primary);display:inline-flex;gap:.5rem;padding:.5rem 1.25rem;transition:all var(--animation-normal) ease}.nav-link--external:after{display:none}.nav-link--external:hover{background:var(--color-primary-dark);box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.nav-toggle{align-items:center;background:none;border:none;cursor:pointer;display:none;flex-direction:column;height:44px;justify-content:center;margin:0;padding:0;width:44px}.nav-toggle .hamburger{background:var(--color-text-body);height:2px;position:relative;transition:all var(--animation-normal) ease;width:24px}.nav-toggle .hamburger:after,.nav-toggle .hamburger:before{background:currentColor;content:"";height:100%;left:0;position:absolute;transition:all var(--animation-normal) ease;width:100%}.nav-toggle .hamburger:before{transform:translateY(-8px)}.nav-toggle .hamburger:after{transform:translateY(8px)}.nav-toggle[aria-expanded=true] .hamburger{background:transparent}.nav-toggle[aria-expanded=true] .hamburger:before{transform:rotate(45deg)}.nav-toggle[aria-expanded=true] .hamburger:after{transform:rotate(-45deg)}@media(min-width:768px){.nav-toggle{display:none}}.hero{align-items:center;background:var(--gradient-hero);color:var(--color-white);display:flex;justify-content:center;min-height:var(--hero-height);overflow:hidden;position:relative}.hero:before{background-image:radial-gradient(circle at 20% 80%,rgba(59,130,246,.15) 0,transparent 50%),radial-gradient(circle at 80% 20%,rgba(13,148,136,.1) 0,transparent 50%);bottom:0;content:"";right:0;z-index:2}.hero:before,.hero__canvas{left:0;position:absolute;top:0}.hero__canvas{height:100%;width:100%;z-index:1}.hero__content{margin:0 auto;max-width:900px;padding:2rem;position:relative;text-align:center;z-index:3}.hero__title{font-size:clamp(2.5rem,8vw,5rem);font-weight:800;line-height:1.1;margin:0 0 1.5rem;text-shadow:0 2px 20px rgba(0,0,0,.3)}.hero__title-line{display:block}.hero__title-line--accent{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero__subtitle{font-size:clamp(1.125rem,2.5vw,1.375rem);margin-bottom:3rem;margin-left:auto;margin-right:auto;max-width:600px;opacity:.9;text-shadow:0 1px 10px rgba(0,0,0,.2)}.hero__nav{display:flex;flex-wrap:wrap;gap:1.5rem;justify-content:center}.hero__scroll-indicator{animation:bounce 2s infinite;bottom:2rem;left:50%;opacity:.6;position:absolute;transform:translate(-50%);z-index:3}.hero__scroll-indicator .scroll-indicator{border:2px solid var(--color-white);border-radius:25px;display:block;height:50px;position:relative;width:30px}.hero__scroll-indicator .scroll-indicator:before{animation:scroll 2s infinite;background:var(--color-white);border-radius:2px;content:"";height:10px;left:50%;position:absolute;top:8px;transform:translate(-50%);width:4px}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%) translateY(0)}40%{transform:translate(-50%) translateY(-10px)}60%{transform:translate(-50%) translateY(-5px)}}@keyframes scroll{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(15px)}}.btn{align-items:center;border:none;border-radius:12px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;line-height:1;overflow:hidden;padding:.875rem 2.5rem;position:relative;text-decoration:none;transition:all var(--animation-normal) cubic-bezier(.4,0,.2,1);white-space:nowrap}.btn:before{background:#fff3;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s ease,height .6s ease;width:0}.btn:active:before{height:300px;width:300px}.btn:focus-visible{box-shadow:0 0 0 2px var(--color-ring);outline:none}@media(forced-colors:active){.btn:focus-visible{outline:2px solid Highlight;outline-offset:2px}}.btn--large{border-radius:16px;font-size:1.125rem;padding:1.125rem 3rem}.btn--primary{background:var(--color-white);box-shadow:0 4px 15px #3b82f633;color:var(--color-gray-900)}.btn--primary:hover{background:var(--color-off-white);box-shadow:0 8px 25px #3b82f64d;transform:translateY(-3px)}.btn--primary:active{transform:translateY(-1px)}.btn--outline{background:transparent;border:2px solid var(--color-white);color:var(--color-white)}.btn--outline:hover{background:var(--color-white);box-shadow:0 8px 25px #0003;color:var(--color-gray-900);transform:translateY(-3px)}.btn--outline:active{transform:translateY(-1px)}.section{padding:var(--section-padding) 0}.section--about{background:var(--color-bg-body)}.section--skills{background:var(--color-gray-100)}[data-theme=dark] .section--skills{background:var(--color-gray-900)}.section__title{color:var(--color-text-heading);font-size:clamp(2rem,5vw,3rem);font-weight:700;line-height:1.2;margin:0 0 1rem;text-align:center}.section__subtitle{color:var(--color-text-muted);font-size:1.125rem;margin:0 auto 4rem;max-width:600px;text-align:center}.about-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:4rem}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden;padding:2rem;position:relative;transition:all var(--animation-normal) ease}.card:before{background:var(--gradient-primary);content:"";height:4px;left:0;position:absolute;right:0;top:0}.card:hover{border-color:var(--color-primary-light);box-shadow:0 10px 40px #3b82f61f;transform:translateY(-5px)}[data-theme=dark] .card{background:var(--color-gray-800);border-color:var(--color-gray-700)}[data-theme=dark] .card:hover{border-color:var(--color-primary)}.card__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.card__title{color:var(--color-text-heading);font-size:1.375rem;font-weight:600;margin:0}.card__icon{color:var(--color-primary);height:48px;opacity:.8;transition:all var(--animation-normal) ease;width:48px}.card:hover .card__icon{opacity:1;transform:scale(1.1)}.card__content{color:var(--color-text-body);line-height:1.7}.card__content p{margin:0}.skills-grid{display:grid;gap:3rem;margin-top:4rem}@media(min-width:768px){.skills-grid{grid-template-columns:repeat(3,1fr)}}.skill-category{text-align:center}.skill-category__title{align-items:center;color:var(--color-text-heading);display:flex;font-size:1.5rem;font-weight:600;gap:.75rem;justify-content:center;margin:0 0 1.5rem}.skill-category__title:before{background:var(--gradient-primary);border-radius:10px;content:"";height:40px;opacity:.1;width:40px}.skill-tags{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.skill-tag{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:25px;color:var(--color-text-body);cursor:default;display:inline-block;font-size:.875rem;font-weight:500;padding:.5rem 1.25rem;transition:all var(--animation-normal) ease}.skill-tag:hover{background:var(--color-primary);border-color:var(--color-primary);color:var(--color-text-on-primary);transform:translateY(-2px)}[data-theme=dark] .skill-tag{background:var(--color-gray-800);border-color:var(--color-gray-700)}.footer{background:var(--color-gray-900);color:var(--color-gray-400);padding:3rem 0;text-align:center}.footer p{margin:0 0 1.5rem;opacity:.9}.footer-links{display:flex;gap:1.5rem;justify-content:center}.footer-links .footer-link{color:var(--color-white);opacity:.8;transition:all var(--animation-normal) ease}.footer-links .footer-link:hover{color:var(--color-primary-light);opacity:1;transform:translateY(-3px)}.footer-links .footer-link svg{height:24px;width:24px}.skip-link{background:var(--color-primary);border-radius:8px;color:var(--color-text-on-primary);font-weight:500;left:6px;padding:.75rem 1rem;position:absolute;text-decoration:none;top:-40px;transition:top var(--animation-fast) ease;z-index:var(--z-tooltip)}.skip-link:focus{top:6px}.skip-link:focus:focus-visible{box-shadow:0 0 0 2px var(--color-ring);outline:none}@media(forced-colors:active){.skip-link:focus:focus-visible{outline:2px solid Highlight;outline-offset:2px}}.loading{animation:fadeIn .5s ease forwards;opacity:0}@keyframes fadeIn{to{opacity:1}}[data-reveal]{opacity:0;transform:translateY(30px);transition:all .6s cubic-bezier(.4,0,.2,1)}[data-reveal].revealed{opacity:1;transform:translateY(0)}@media(min-width:768px){.nav-menu{display:flex!important}}@media(max-width:767px){.nav-container{position:relative}.nav-menu{background:var(--color-bg-card);border-top:1px solid var(--color-border);box-shadow:0 4px 20px #0000001a;flex-direction:column;gap:0;left:0;opacity:0;padding:2rem;position:fixed;right:0;top:var(--nav-height);transform:translateY(-100%);transition:all var(--animation-normal) ease;visibility:hidden}.nav-menu[data-menu-open=true]{opacity:1;transform:translateY(0);visibility:visible}.nav-menu .nav-link{border-bottom:1px solid var(--color-border);padding:1rem 0;width:100%}.nav-menu .nav-link:last-child{border-bottom:none}.nav-menu .nav-link--external{justify-content:center;margin-top:1rem}.nav-toggle{display:flex}.hero__nav{align-items:center;flex-direction:column;gap:1rem}.hero__nav .btn{max-width:280px;width:100%}}@media print{.hero__canvas,.hero__scroll-indicator,.nav-toggle,[data-reveal]{display:none!important}.main-nav{background:none;border:none;position:static}.hero{min-height:auto;padding:2rem 0}}
