:root{--blue-50: oklch(96% .015 250);--blue-100: oklch(92% .03 250);--blue-200: oklch(85% .06 250);--blue-300: oklch(75% .09 250);--blue-400: oklch(65% .12 250);--blue-500: oklch(55% .14 250);--blue-600: oklch(48% .14 250);--blue-700: oklch(40% .12 250);--blue-800: oklch(32% .09 250);--blue-900: oklch(25% .06 250);--cyan-50: oklch(96% .015 200);--cyan-100: oklch(92% .03 200);--cyan-200: oklch(85% .06 200);--cyan-300: oklch(75% .09 200);--cyan-400: oklch(65% .11 200);--cyan-500: oklch(55% .11 200);--cyan-600: oklch(48% .1 200);--red-50: oklch(96% .015 25);--red-100: oklch(92% .035 25);--red-200: oklch(85% .07 25);--red-300: oklch(75% .11 25);--red-400: oklch(65% .15 25);--red-500: oklch(58% .18 25);--red-600: oklch(50% .17 25);--gray-50: oklch(97% .004 250);--gray-100: oklch(94% .006 250);--gray-200: oklch(88% .008 250);--gray-300: oklch(80% .01 250);--gray-400: oklch(68% .012 250);--gray-500: oklch(55% .012 250);--gray-600: oklch(45% .012 250);--gray-700: oklch(35% .01 250);--gray-800: oklch(25% .008 250);--gray-900: oklch(18% .006 250);--gray-950: oklch(13% .005 250);--success: oklch(60% .12 145);--warning: oklch(70% .14 70);--error: oklch(58% .18 25);--info: oklch(60% .12 250);--gradient-tri: linear-gradient(135deg, var(--blue-500) 0%, var(--cyan-400) 50%, var(--red-400) 100%);--gradient-tri-soft: linear-gradient(135deg, var(--blue-400) 0%, var(--cyan-300) 50%, var(--red-300) 100%);--gradient-bc: linear-gradient(135deg, var(--blue-500), var(--cyan-400));--gradient-cr: linear-gradient(135deg, var(--cyan-400), var(--red-400));--gradient-br: linear-gradient(135deg, var(--blue-500), var(--red-400))}:root,:root[data-theme=light]{--bg-base: oklch(97% .006 250);--bg-elevated: oklch(99% .003 250);--bg-sunken: oklch(94% .008 250);--glass-bg: oklch(99% .004 250 / .55);--glass-bg-hover: oklch(99% .004 250 / .7);--glass-border: oklch(99% .005 250 / .6);--glass-highlight:oklch(99% 0 250 / .8);--glass-shadow: oklch(20% .02 250 / .08);--text-primary: oklch(18% .01 250);--text-secondary: oklch(42% .01 250);--text-tertiary: oklch(58% .01 250);--text-inverse: oklch(98% .004 250);--color-primary: var(--blue-500);--color-primary-hover: var(--blue-600);--color-primary-soft: var(--blue-50);--color-secondary: var(--cyan-400);--color-secondary-soft: var(--cyan-50);--color-accent: var(--red-400);--color-accent-hover: var(--red-500);--color-accent-soft: var(--red-50);--ambient-1: oklch(70% .12 250 / .3);--ambient-2: oklch(75% .1 200 / .25);--ambient-3: oklch(72% .13 25 / .22);--border-subtle: oklch(80% .008 250 / .5);--border-strong: oklch(68% .01 250 / .6);--shadow-sm: 0 1px 3px oklch(20% .02 250 / .06);--shadow-md: 0 4px 16px oklch(20% .02 250 / .08);--shadow-lg: 0 12px 40px oklch(20% .02 250 / .1);--shadow-xl: 0 24px 64px oklch(20% .02 250 / .12);--nav-glass-bg: oklch(99% .004 250 / .65);--nav-glass-border: oklch(99% .005 250 / .5);--glow-blue: oklch(65% .14 250 / .15);--glow-cyan: oklch(70% .11 200 / .15);--glow-red: oklch(68% .15 25 / .15)}:root[data-theme=dark]{--bg-base: oklch(15% .008 250);--bg-elevated: oklch(18% .01 250);--bg-sunken: oklch(12% .006 250);--glass-bg: oklch(22% .012 250 / .5);--glass-bg-hover: oklch(26% .014 250 / .65);--glass-border: oklch(60% .018 250 / .25);--glass-highlight:oklch(80% .02 250 / .15);--glass-shadow: oklch(5% .01 250 / .3);--text-primary: oklch(92% .006 250);--text-secondary: oklch(72% .008 250);--text-tertiary: oklch(55% .01 250);--text-inverse: oklch(15% .008 250);--color-primary: oklch(70% .14 250);--color-primary-hover: oklch(75% .13 250);--color-primary-soft: oklch(25% .05 250);--color-secondary: oklch(70% .11 200);--color-secondary-soft: oklch(25% .04 200);--color-accent: oklch(70% .15 25);--color-accent-hover: oklch(75% .14 25);--color-accent-soft: oklch(25% .04 25);--ambient-1: oklch(45% .14 250 / .3);--ambient-2: oklch(42% .11 200 / .25);--ambient-3: oklch(45% .15 25 / .2);--border-subtle: oklch(45% .01 250 / .4);--border-strong: oklch(55% .012 250 / .5);--shadow-sm: 0 1px 3px oklch(5% .01 250 / .3);--shadow-md: 0 4px 16px oklch(5% .01 250 / .35);--shadow-lg: 0 12px 40px oklch(5% .01 250 / .4);--shadow-xl: 0 24px 64px oklch(5% .01 250 / .45);--nav-glass-bg: oklch(18% .01 250 / .6);--nav-glass-border: oklch(50% .015 250 / .25);--glow-blue: oklch(60% .14 250 / .2);--glow-cyan: oklch(60% .11 200 / .2);--glow-red: oklch(60% .15 25 / .2)}:root{--font-display: "Sora", "Noto Sans SC", -apple-system, BlinkMacSystemFont, sans-serif;--font-body: "Plus Jakarta Sans", "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Cascadia Code", Consolas, monospace;--text-xs: clamp(.72rem, .7rem + .1vw, .78rem);--text-sm: clamp(.84rem, .82rem + .1vw, .9rem);--text-base: clamp(.95rem, .92rem + .15vw, 1.05rem);--text-lg: clamp(1.12rem, 1.08rem + .2vw, 1.25rem);--text-xl: clamp(1.3rem, 1.22rem + .4vw, 1.56rem);--text-2xl: clamp(1.6rem, 1.48rem + .6vw, 2.05rem);--text-3xl: clamp(2rem, 1.8rem + 1vw, 2.8rem);--text-4xl: clamp(2.5rem, 2.1rem + 2vw, 3.8rem);--text-5xl: clamp(3rem, 2.4rem + 3vw, 5.2rem);--weight-light: 300;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-extrabold: 800;--leading-tight: 1.15;--leading-snug: 1.35;--leading-normal: 1.6;--leading-relaxed: 1.75;--tracking-tight: -.03em;--tracking-normal: 0;--tracking-wide: .02em;--tracking-wider: .08em;--body-weight: 400}:root[data-theme=dark]{--body-weight: 350}:root{--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;--section-py: clamp(3rem, 2rem + 5vw, 7rem);--section-px: clamp(1.25rem, .5rem + 3vw, 2.5rem);--container-max: 1200px;--container-wide: 1400px}:root{--radius-sm: 8px;--radius-md: 12px;--radius-lg: 20px;--radius-xl: 28px;--radius-2xl: 36px;--radius-full: 9999px}:root{--ease-out-quart: cubic-bezier(.25, 1, .5, 1);--ease-out-quint: cubic-bezier(.22, 1, .36, 1);--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-in-expo: cubic-bezier(.7, 0, .84, 0);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--ease-artistic: cubic-bezier(.34, 1.56, .64, 1);--dur-instant: .1s;--dur-fast: .2s;--dur-normal: .3s;--dur-moderate: .5s;--dur-slow: .8s;--stagger-base: 60ms}:root{--z-base: 1;--z-content: 10;--z-nav: 100;--z-overlay: 500;--z-modal: 1000;--z-toast: 2000}:root{--transition-color: var(--dur-fast) var(--ease-out-quart);--transition-transform: var(--dur-normal) var(--ease-out-expo);--transition-glass: var(--dur-moderate) var(--ease-out-quart)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--body-weight);line-height:var(--leading-normal);color:var(--text-primary);background:var(--bg-base);min-height:100vh;overflow-x:hidden;transition:background-color var(--transition-color),color var(--transition-color)}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;z-index:-2;background:radial-gradient(ellipse 80% 60% at 15% 10%,var(--ambient-1),transparent 60%),radial-gradient(ellipse 70% 50% at 85% 20%,var(--ambient-2),transparent 60%),radial-gradient(ellipse 60% 80% at 50% 90%,var(--ambient-3),transparent 60%),radial-gradient(ellipse 50% 40% at 90% 80%,var(--ambient-1),transparent 50%);pointer-events:none}body:after{content:"";position:fixed;top:-20%;right:-20%;bottom:-20%;left:-20%;z-index:-1;background:radial-gradient(circle 400px at var(--orb-1-x, 20%) var(--orb-1-y, 30%),var(--ambient-1),transparent),radial-gradient(circle 500px at var(--orb-2-x, 80%) var(--orb-2-y, 70%),var(--ambient-2),transparent),radial-gradient(circle 350px at var(--orb-3-x, 60%) var(--orb-3-y, 20%),var(--ambient-3),transparent);pointer-events:none;opacity:.7}@keyframes orb-drift{0%{transform:translate(0) scale(1) rotate(0)}33%{transform:translate(3%,-2%) scale(1.08) rotate(2deg)}66%{transform:translate(-2%,3%) scale(.95) rotate(-1deg)}to{transform:translate(1%,-3%) scale(1.03) rotate(1deg)}}body>.aurora-sweep{position:fixed;top:-50%;left:-50%;width:200%;height:200%;z-index:-1;pointer-events:none;background:conic-gradient(from 0deg at 50% 50%,transparent 0%,var(--ambient-2) 15%,transparent 30%,var(--ambient-1) 50%,transparent 65%,var(--ambient-3) 80%,transparent 100%);opacity:.12}@keyframes aurora-rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text-primary)}h1{font-size:var(--text-5xl);font-weight:var(--weight-extrabold)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-2xl)}h4{font-size:var(--text-xl)}h5{font-size:var(--text-lg)}h6{font-size:var(--text-base);font-weight:var(--weight-semibold)}p{line-height:var(--leading-normal)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-color)}a:hover{color:var(--color-primary-hover)}strong{font-weight:var(--weight-semibold)}ul,ol{line-height:var(--leading-normal)}img,video,svg{max-width:100%;height:auto;display:block}::selection{background:var(--color-primary);color:var(--text-inverse);text-shadow:0 0 12px var(--glow-blue)}:focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm)}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full);border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--gray-400);background-clip:content-box}.container{width:100%;max-width:var(--container-max);margin:0 auto;padding-inline:var(--section-px)}.container-wide{max-width:var(--container-wide)}.text-gradient{background:var(--gradient-tri);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-flow 8s var(--ease-in-out) infinite alternate}@keyframes gradient-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.text-accent{color:var(--color-accent)}.text-primary-color{color:var(--color-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--color-primary);margin-bottom:var(--space-4)}.eyebrow:before{content:"";width:24px;height:2px;background:var(--color-primary);border-radius:var(--radius-full)}.section{padding-block:var(--section-py);position:relative}.section-header{max-width:720px;margin-bottom:var(--space-16)}.section-header.center{margin-inline:auto;text-align:center}.section-header.center .eyebrow{justify-content:center}.lead{font-size:var(--text-lg);color:var(--text-secondary);line-height:var(--leading-relaxed)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}body:after{animation:none!important}}.glass{position:relative;background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-lg);box-shadow:inset 0 1px 1px var(--glass-highlight),inset 0 -1px 1px #5e64680d,var(--shadow-md);transition:background var(--transition-glass),border-color var(--transition-glass),box-shadow var(--transition-glass),transform var(--transition-transform)}.glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;padding:1px;background:linear-gradient(135deg,oklch(99% 0 0 / .4) 0%,oklch(99% 0 0 / .1) 30%,transparent 50%,transparent 70%,oklch(99% 0 0 / .06) 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;z-index:1}.glass-elevated{background:var(--glass-bg-hover);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:inset 0 1px 2px var(--glass-highlight),inset 0 -1px 1px #5e64680f,var(--shadow-lg)}.glass-subtle{background:#f9fcfe4d;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-color:#f9fcff66;box-shadow:inset 0 1px 1px oklch(99% 0 0 0 / .5),var(--shadow-sm)}:root[data-theme=dark] .glass-subtle{background:#292f3259;border-color:#78828833}.glass-card{cursor:pointer;overflow:hidden}.glass-card:hover{background:var(--glass-bg-hover);transform:translateY(-6px);box-shadow:inset 0 1px 2px var(--glass-highlight),inset 0 -1px 1px #5e64680f,var(--shadow-xl)}.glass-card .card-glow{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;opacity:0;background:radial-gradient(400px circle at var(--mouse-x, 50%) var(--mouse-y, 50%),var(--glow-blue),transparent 40%);transition:opacity var(--dur-normal) var(--ease-out-quart);pointer-events:none;z-index:0}.glass-card:hover .card-glow{opacity:1}.glass-card>*{position:relative;z-index:2}.glass-card .card-glow{z-index:0}.glass-pill{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);border-radius:var(--radius-full);box-shadow:inset 0 1px 1px var(--glass-highlight),var(--shadow-sm);transition:all var(--transition-color)}.glass-pill:hover{color:var(--text-primary);background:var(--glass-bg-hover)}.glass-panel{padding:var(--space-8);border-radius:var(--radius-xl)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-family:var(--font-body);font-size:var(--text-base);font-weight:var(--weight-semibold);line-height:1;border:1px solid transparent;border-radius:var(--radius-full);cursor:pointer;transition:transform var(--transition-transform),background var(--transition-color),box-shadow var(--transition-color),color var(--transition-color);white-space:nowrap}.btn:active{transform:scale(.97)}.btn-primary{background:var(--color-primary);color:var(--text-inverse);box-shadow:0 4px 14px var(--glow-blue)}.btn-primary:hover{background:var(--color-primary-hover);color:var(--text-inverse);transform:translateY(-2px);box-shadow:0 8px 24px var(--glow-blue)}.btn-glass{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--text-primary);border-color:var(--glass-border);box-shadow:inset 0 1px 1px var(--glass-highlight),var(--shadow-sm)}.btn-glass:hover{background:var(--glass-bg-hover);color:var(--text-primary);transform:translateY(-2px);box-shadow:inset 0 1px 1px var(--glass-highlight),var(--shadow-md)}.btn-accent{background:var(--color-accent);color:#fff;box-shadow:0 4px 14px var(--glow-red)}.btn-accent:hover{background:var(--color-accent-hover);color:#fff;transform:translateY(-2px);box-shadow:0 8px 24px var(--glow-red)}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-sm)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-lg)}.icon-wrap{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary);flex-shrink:0}:root[data-theme=dark] .icon-wrap{background:var(--color-primary-soft);color:var(--color-primary)}.icon-wrap.lg{width:64px;height:64px;border-radius:var(--radius-lg)}.icon-wrap.sm{width:36px;height:36px;border-radius:var(--radius-sm)}.divider{height:1px;background:linear-gradient(90deg,transparent,var(--border-subtle),transparent);border:none;margin-block:var(--space-12)}.grid{display:grid;gap:var(--space-6)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.nav{position:fixed;top:0;left:0;right:0;z-index:var(--z-nav);padding-block:var(--space-3);transition:padding var(--transition-transform)}.nav-inner{max-width:var(--container-wide);margin:0 auto;padding-inline:var(--section-px);display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);height:56px}.nav.scrolled .nav-bar{background:var(--nav-glass-bg);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-color:var(--nav-glass-border);box-shadow:inset 0 1px 1px var(--glass-highlight),var(--shadow-md)}.nav-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);width:100%;height:100%;padding:0 var(--space-5);border:1px solid transparent;border-radius:var(--radius-full);transition:all var(--transition-glass)}.nav-logo{display:flex;align-items:center;gap:var(--space-3);font-family:var(--font-display);font-weight:var(--weight-bold);font-size:var(--text-lg);color:var(--text-primary);letter-spacing:var(--tracking-tight);flex-shrink:0}.nav-logo:hover{color:var(--text-primary)}.nav-logo .logo-mark{width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);background:var(--gradient-bc);color:#fff;font-size:18px;font-weight:var(--weight-extrabold);box-shadow:0 2px 8px var(--glow-blue);flex-shrink:0}.nav-logo .logo-text{white-space:nowrap}.nav-logo .logo-text span{color:var(--color-primary)}.nav-logo .logo-img{height:38px;width:auto;display:block;flex-shrink:0}.footer-brand .nav-logo .logo-img{height:44px}.nav-links{display:flex;align-items:center;gap:var(--space-1);list-style:none}.nav-links a{display:flex;align-items:center;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);border-radius:var(--radius-full);transition:all var(--transition-color);position:relative}.nav-links a:hover{color:var(--text-primary);background:var(--glass-bg)}.nav-links a.active{color:var(--color-primary);background:var(--color-primary-soft)}:root[data-theme=dark] .nav-links a.active{background:var(--color-primary-soft)}.nav-actions{display:flex;align-items:center;gap:var(--space-3);flex-shrink:0}.theme-toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid var(--glass-border);border-radius:var(--radius-full);background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-color);overflow:hidden;position:relative}.theme-toggle:hover{color:var(--text-primary);background:var(--glass-bg-hover)}.theme-toggle svg{width:18px;height:18px;transition:transform var(--dur-moderate) var(--ease-out-expo),opacity var(--dur-normal) var(--ease-out-quart);position:absolute}.theme-toggle .icon-sun{opacity:0;transform:rotate(90deg) scale(.5)}.theme-toggle .icon-moon{opacity:1;transform:rotate(0) scale(1)}:root[data-theme=dark] .theme-toggle .icon-sun{opacity:1;transform:rotate(0) scale(1)}:root[data-theme=dark] .theme-toggle .icon-moon{opacity:0;transform:rotate(-90deg) scale(.5)}.mobile-toggle{display:none;width:40px;height:40px;border:1px solid var(--glass-border);border-radius:var(--radius-full);background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:var(--text-primary);cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px;padding:0}.mobile-toggle span{display:block;width:18px;height:2px;background:currentColor;border-radius:var(--radius-full);transition:all var(--transition-transform)}.mobile-toggle.active span:nth-child(1){transform:translateY(7px) rotate(45deg)}.mobile-toggle.active span:nth-child(2){opacity:0;transform:scaleX(0)}.mobile-toggle.active span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.mobile-menu{position:fixed;top:80px;left:var(--section-px);right:var(--section-px);z-index:var(--z-nav);padding:var(--space-4);background:var(--nav-glass-bg);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid var(--nav-glass-border);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);opacity:0;transform:translateY(-12px) scale(.97);pointer-events:none;transition:all var(--dur-normal) var(--ease-out-expo)}.mobile-menu.open{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}.mobile-menu ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-1)}.mobile-menu a{display:block;padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--text-secondary);border-radius:var(--radius-md);transition:all var(--transition-color)}.mobile-menu a:hover,.mobile-menu a.active{color:var(--color-primary);background:var(--color-primary-soft)}:root[data-theme=dark] .mobile-menu a:hover,:root[data-theme=dark] .mobile-menu a.active{background:var(--color-primary-soft)}.mobile-menu .btn{width:100%;margin-top:var(--space-3)}.footer{margin-top:var(--section-py);padding-block:var(--space-16) var(--space-8);border-top:1px solid var(--border-subtle);position:relative}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1.5fr;gap:var(--space-12);margin-bottom:var(--space-12)}.footer-brand .nav-logo{margin-bottom:var(--space-4)}.footer-brand p{color:var(--text-tertiary);font-size:var(--text-sm);max-width:280px}.footer-col h6{font-size:var(--text-sm);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:var(--tracking-wider);color:var(--text-tertiary);margin-bottom:var(--space-4)}.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.footer-col a{color:var(--text-secondary);font-size:var(--text-sm);transition:color var(--transition-color)}.footer-col a:hover{color:var(--color-primary)}.footer-contact li{display:flex;align-items:flex-start;gap:var(--space-3);color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.footer-contact svg{width:18px;height:18px;flex-shrink:0;margin-top:2px;color:var(--color-primary)}.footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding-top:var(--space-8);border-top:1px solid var(--border-subtle);font-size:var(--text-sm);color:var(--text-tertiary)}.footer-bottom a{color:var(--text-tertiary)}.footer-bottom a:hover{color:var(--color-primary)}.service-card{padding:var(--space-8);border-radius:var(--radius-xl);display:flex;flex-direction:column;gap:var(--space-4)}.service-card .service-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;background:var(--gradient-bc);color:#fff;font-size:24px;box-shadow:0 4px 12px var(--glow-blue);margin-bottom:var(--space-2)}.service-card .service-number{position:absolute;top:var(--space-6);right:var(--space-6);font-family:var(--font-display);font-size:3rem;font-weight:var(--weight-extrabold);color:var(--color-primary);opacity:.08;line-height:1}.service-card h3{font-size:var(--text-xl)}.service-card p{color:var(--text-secondary);font-size:var(--text-sm);flex-grow:1}.service-card .service-link{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-primary);margin-top:var(--space-2)}.service-card .service-link svg{width:16px;transition:transform var(--transition-transform)}.service-card:hover .service-link svg{transform:translate(4px)}.feature-item{display:flex;gap:var(--space-4);padding:var(--space-6);border-radius:var(--radius-lg)}.feature-item .feature-content h4{font-size:var(--text-lg);margin-bottom:var(--space-2)}.feature-item .feature-content p{color:var(--text-secondary);font-size:var(--text-sm)}.stat{text-align:center;padding:var(--space-6)}.stat .stat-number{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-extrabold);background:var(--gradient-tri);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-flow 8s var(--ease-in-out) infinite alternate;line-height:1;margin-bottom:var(--space-2)}.stat .stat-label{font-size:var(--text-sm);color:var(--text-secondary);font-weight:var(--weight-medium)}.form-group{margin-bottom:var(--space-5)}.form-group label{display:block;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);margin-bottom:var(--space-2)}.form-input,.form-textarea,.form-select{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-base);color:var(--text-primary);background:var(--glass-bg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:var(--radius-md);transition:all var(--transition-color);box-shadow:inset 0 1px 1px var(--glass-highlight)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-tertiary)}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--color-primary);background:var(--glass-bg-hover);box-shadow:inset 0 1px 1px var(--glass-highlight),0 0 0 3px var(--glow-blue)}.form-textarea{min-height:120px;resize:vertical}.breadcrumb{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:var(--space-6)}.breadcrumb a{color:var(--text-tertiary)}.breadcrumb a:hover{color:var(--color-primary)}.breadcrumb .separator{opacity:.5}.breadcrumb .current{color:var(--text-secondary)}.page-hero{padding-top:calc(var(--section-py) + 60px);padding-bottom:var(--section-py);text-align:center}.page-hero h1{margin-bottom:var(--space-6)}.page-hero .lead{max-width:640px;margin:0 auto}.reveal{opacity:0;transform:translateY(24px)}.reveal-up{opacity:0;transform:translateY(40px)}.reveal-left{opacity:0;transform:translate(-40px)}.reveal-right{opacity:0;transform:translate(40px)}.reveal-scale{opacity:0;transform:scale(.92)}.media-slot{position:relative;border-radius:var(--radius-xl);overflow:hidden;background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);min-height:200px;display:flex;align-items:center;justify-content:center}.media-slot:after{content:attr(data-label);font-size:var(--text-sm);color:var(--text-tertiary);font-weight:var(--weight-medium);letter-spacing:var(--tracking-wide)}@media(max-width:900px){.nav-links,.nav-actions .btn{display:none}.mobile-toggle{display:flex}}@media(max-width:768px){.footer-grid{grid-template-columns:1fr 1fr;gap:var(--space-8)}.footer-brand{grid-column:1 / -1}.footer-bottom{flex-direction:column;text-align:center}}@media(max-width:480px){.footer-grid{grid-template-columns:1fr}.nav-logo .logo-text{font-size:var(--text-base)}}.site-toast{position:fixed;left:50%;bottom:32px;transform:translate(-50%) translateY(20px);padding:12px 22px;border-radius:var(--radius-lg, 14px);background:var(--surface-2, #1e2433);color:var(--text-1, #fff);font-size:14px;font-weight:500;box-shadow:0 12px 40px #00000047;opacity:0;pointer-events:none;transition:opacity var(--dur-fast, .25s) ease,transform var(--dur-fast, .25s) ease;z-index:var(--z-toast, 2000);border:1px solid var(--border-1, rgba(255,255,255,.08))}.site-toast.show{opacity:1;transform:translate(-50%) translateY(0)}.site-toast.ok{border-color:var(--success, #2e9e6b)}.site-toast.error{border-color:var(--danger, #e5484d);color:#ffd9d9}.hero{min-height:100vh;display:flex;align-items:center;position:relative;padding-top:120px;padding-bottom:var(--section-py);overflow:hidden}.hero-wrap{width:100%;max-width:var(--container-max);margin:0 auto;padding-inline:var(--section-px);display:grid;grid-template-columns:1.1fr .9fr;gap:var(--space-12);align-items:center}.hero-inner{width:100%}.hero-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-6);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-primary);background:var(--color-primary-soft);border:1px solid var(--blue-200);border-radius:var(--radius-full)}:root[data-theme=dark] .hero-badge{background:var(--color-primary-soft);border-color:var(--blue-700)}.hero-badge .dot{width:8px;height:8px;border-radius:50%;background:var(--color-primary);animation:pulse-dot 2s var(--ease-in-out) infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.hero h1{font-size:var(--text-5xl);max-width:900px;margin-bottom:var(--space-6)}.hero h1 .highlight{position:relative;display:inline-block;background:var(--gradient-tri);background-size:200% 200%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:gradient-flow 6s var(--ease-in-out) infinite alternate}.hero-subtitle{font-size:var(--text-xl);color:var(--text-secondary);max-width:640px;margin-bottom:var(--space-10);line-height:var(--leading-relaxed)}.hero-actions{display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.hero-stats{display:flex;gap:var(--space-12);margin-top:var(--space-16);flex-wrap:wrap}.hero-stat .stat-number{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-extrabold);color:var(--text-primary);line-height:1}.hero-stat .stat-label{font-size:var(--text-sm);color:var(--text-tertiary);margin-top:var(--space-1)}.hero-visual{position:relative;width:100%;height:480px;pointer-events:none}.hero-visual .float-card{position:absolute;padding:var(--space-5);border-radius:var(--radius-lg);animation:float-card 6s var(--ease-in-out) infinite;box-shadow:inset 0 1px 1px var(--glass-highlight),var(--shadow-lg)}.hero-visual .float-card:nth-child(1){top:10%;left:5%;width:250px;animation-delay:0s}.hero-visual .float-card:nth-child(2){top:38%;right:0;width:210px;animation-delay:-2s}.hero-visual .float-card:nth-child(3){bottom:8%;left:15%;width:230px;animation-delay:-4s}.float-card.fc-blue .fc-icon{background:var(--gradient-bc);box-shadow:0 4px 16px var(--glow-blue)}.float-card.fc-cyan .fc-icon{background:var(--gradient-cr);box-shadow:0 4px 16px var(--glow-cyan)}.float-card.fc-red .fc-icon{background:var(--gradient-br);box-shadow:0 4px 16px var(--glow-red)}.float-card.fc-blue:hover{box-shadow:inset 0 1px 1px var(--glass-highlight),var(--shadow-lg),0 0 30px var(--glow-blue)}.float-card.fc-cyan:hover{box-shadow:inset 0 1px 1px var(--glass-highlight),var(--shadow-lg),0 0 30px var(--glow-cyan)}.float-card.fc-red:hover{box-shadow:inset 0 1px 1px var(--glass-highlight),var(--shadow-lg),0 0 30px var(--glow-red)}@keyframes float-card{0%,to{transform:translateY(0) rotate(-.5deg)}50%{transform:translateY(-16px) rotate(.5deg)}}.float-card .fc-icon{width:40px;height:40px;border-radius:var(--radius-md);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;margin-bottom:var(--space-3);transition:box-shadow var(--transition-color)}.float-card .fc-title{font-size:var(--text-sm);font-weight:var(--weight-semibold);margin-bottom:var(--space-1)}.float-card .fc-desc{font-size:var(--text-xs);color:var(--text-tertiary)}@media(max-width:1024px){.hero-wrap{grid-template-columns:1fr}.hero-visual{display:none}}.audience-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-5)}@media(max-width:900px){.audience-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:600px){.audience-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:400px){.audience-grid{grid-template-columns:1fr}}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}.course-grid .service-card:nth-child(4),.course-grid .service-card:nth-child(5){grid-column:span 1}.course-grid .service-card:nth-child(4){grid-column-start:1}@media(min-width:901px){.course-grid{grid-template-columns:repeat(6,1fr)}.course-grid .service-card{grid-column:span 2}.course-grid .service-card:nth-child(4){grid-column:1 / 4}.course-grid .service-card:nth-child(5){grid-column:4 / 7}}@media(max-width:900px){.course-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.course-grid{grid-template-columns:1fr}}.advantage-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}@media(max-width:900px){.advantage-grid{grid-template-columns:1fr}}.cta-banner{padding:var(--space-16);border-radius:var(--radius-2xl);text-align:center;position:relative;overflow:hidden}.cta-banner:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle 400px at 25% 50%,var(--ambient-1),transparent),radial-gradient(circle 350px at 75% 50%,var(--ambient-2),transparent),radial-gradient(circle 300px at 50% 80%,var(--ambient-3),transparent);pointer-events:none;animation:cta-glow-shift 12s var(--ease-in-out) infinite alternate}@keyframes cta-glow-shift{0%{background-position:0% 0%,100% 0%,50% 100%}to{background-position:20% 30%,80% 20%,60% 80%}}.cta-banner>*{position:relative;z-index:1}.cta-banner h2{margin-bottom:var(--space-4)}.cta-banner p{color:var(--text-secondary);font-size:var(--text-lg);margin-bottom:var(--space-8);max-width:520px;margin-inline:auto}.about-hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center;margin-top:var(--space-12)}@media(max-width:900px){.about-hero-grid{grid-template-columns:1fr}}.about-values{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}@media(max-width:900px){.about-values{grid-template-columns:1fr}}.timeline{position:relative;padding-left:var(--space-8)}.timeline:before{content:"";position:absolute;left:8px;top:8px;bottom:8px;width:2px;background:var(--gradient-tri);border-radius:var(--radius-full)}.timeline-item{position:relative;padding-bottom:var(--space-10)}.timeline-item:last-child{padding-bottom:0}.timeline-item:before{content:"";position:absolute;left:calc(-1 * var(--space-8) + 2px);top:4px;width:14px;height:14px;border-radius:50%;background:var(--color-primary);border:3px solid var(--bg-base);box-shadow:0 0 0 2px var(--color-primary)}.timeline-item .timeline-year{font-family:var(--font-display);font-size:var(--text-sm);font-weight:var(--weight-bold);color:var(--color-primary);margin-bottom:var(--space-1)}.timeline-item h4{font-size:var(--text-lg);margin-bottom:var(--space-2)}.timeline-item p{color:var(--text-secondary);font-size:var(--text-sm)}.service-detail-hero{padding-top:calc(var(--section-py) + 80px);padding-bottom:var(--section-py);position:relative}.service-detail-hero .service-detail-badge{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);margin-bottom:var(--space-6);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-primary);background:var(--color-primary-soft);border-radius:var(--radius-full)}:root[data-theme=dark] .service-detail-badge{background:var(--color-primary-soft)}.service-detail-hero h1{max-width:800px;margin-bottom:var(--space-6)}.service-detail-hero .lead{max-width:680px}.service-detail-grid{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-8);align-items:start}@media(max-width:900px){.service-detail-grid{grid-template-columns:1fr}}.curriculum-list{list-style:none;display:flex;flex-direction:column;gap:var(--space-3)}.curriculum-list li{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);background:var(--glass-bg);border:1px solid var(--glass-border);font-size:var(--text-sm);color:var(--text-secondary);transition:all var(--transition-color)}.curriculum-list li:hover{background:var(--glass-bg-hover);color:var(--text-primary);transform:translate(4px)}.curriculum-list li .check{width:20px;height:20px;border-radius:50%;background:var(--color-primary-soft);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0;font-size:12px}:root[data-theme=dark] .curriculum-list li .check{background:var(--color-primary-soft)}.audience-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.audience-tags .tag{padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-full)}.info-card{padding:var(--space-8);border-radius:var(--radius-xl);position:sticky;top:100px}.info-card h4{margin-bottom:var(--space-5)}.info-card .info-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--text-sm)}.info-card .info-row:last-child{border-bottom:none}.info-card .info-row svg{width:20px;height:20px;color:var(--color-primary);flex-shrink:0}.info-card .info-row .info-label{color:var(--text-tertiary)}.info-card .info-row .info-value{color:var(--text-primary);font-weight:var(--weight-medium);margin-left:auto}.info-card .btn{width:100%;margin-top:var(--space-5)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-8);align-items:start}@media(max-width:900px){.contact-grid{grid-template-columns:1fr}}.contact-info-card{padding:var(--space-8);border-radius:var(--radius-xl)}.contact-info-item{display:flex;gap:var(--space-4);padding:var(--space-5) 0;border-bottom:1px solid var(--border-subtle)}.contact-info-item:last-child{border-bottom:none}.contact-info-item .ci-icon{width:48px;height:48px;border-radius:var(--radius-md);background:var(--color-primary-soft);color:var(--color-primary);display:flex;align-items:center;justify-content:center;flex-shrink:0}:root[data-theme=dark] .contact-info-item .ci-icon{background:var(--color-primary-soft)}.contact-info-item .ci-label{font-size:var(--text-sm);color:var(--text-tertiary);margin-bottom:var(--space-1)}.contact-info-item .ci-value{font-size:var(--text-base);color:var(--text-primary);font-weight:var(--weight-medium)}.contact-info-item .ci-value a{color:var(--text-primary)}.contact-form-card{padding:var(--space-8);border-radius:var(--radius-xl)}.map-card{margin-top:var(--space-8);border-radius:var(--radius-xl);overflow:hidden;position:relative;box-shadow:var(--shadow-lg)}.map-card-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--ambient-1) 0%,transparent 50%),linear-gradient(225deg,var(--ambient-3) 0%,transparent 50%),radial-gradient(circle 300px at 80% 20%,var(--ambient-2),transparent);opacity:.5;z-index:0}.map-card-content{position:relative;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);padding:var(--space-8);flex-wrap:wrap}.map-card-info{display:flex;align-items:flex-start;gap:var(--space-5)}.map-card-icon{width:56px;height:56px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;flex-shrink:0;box-shadow:0 4px 14px var(--primary-glow)}.map-card-label{font-size:var(--text-sm);color:var(--text-muted);margin-bottom:var(--space-1)}.map-card-address{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--space-1)}.map-card-hint{font-size:var(--text-sm);color:var(--text-muted)}.map-card-btn{flex-shrink:0;white-space:nowrap}@media(max-width:768px){.map-card-content{flex-direction:column;align-items:flex-start;padding:var(--space-6)}.map-card-btn{width:100%;justify-content:center}}.services-overview-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-6)}@media(max-width:900px){.services-overview-grid{grid-template-columns:1fr}}.text-center{text-align:center}.mt-8{margin-top:var(--space-8)}.mt-12{margin-top:var(--space-12)}.mt-16{margin-top:var(--space-16)}.case-filters{display:flex;flex-direction:column;gap:var(--space-5);margin-bottom:var(--space-10)}.case-filter-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2)}.case-filter-label{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--text-muted);margin-right:var(--space-2);flex-shrink:0}.filter-chip{display:inline-flex;align-items:center;padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--text-secondary);background:var(--glass-bg);border:1px solid var(--glass-border);border-radius:var(--radius-full);cursor:pointer;transition:all var(--dur-fast) var(--ease-out-quart);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.filter-chip:hover{background:var(--glass-bg-hover);border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-1px)}.filter-chip.active{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;border-color:transparent;box-shadow:0 4px 14px var(--primary-glow)}.case-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-6)}@media(max-width:1024px){.case-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:640px){.case-grid{grid-template-columns:1fr}}.case-card{border-radius:var(--radius-xl);overflow:hidden;cursor:pointer;transition:transform var(--dur-normal) var(--ease-out-quart),box-shadow var(--dur-normal) var(--ease-out-quart)}.case-card:hover{transform:translateY(-6px);box-shadow:0 20px 40px -12px var(--shadow-color)}.case-card .case-cover{position:relative;aspect-ratio:16 / 10;overflow:hidden;background:linear-gradient(135deg,var(--ambient-1),var(--ambient-2))}.case-card .case-cover img{width:100%;height:100%;object-fit:cover;transition:transform var(--dur-slow) var(--ease-out-quart)}.case-card:hover .case-cover img{transform:scale(1.06)}.case-cover-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;background:linear-gradient(135deg,var(--ambient-1),var(--ambient-3))}.case-type-badge{position:absolute;top:var(--space-3);right:var(--space-3);display:inline-flex;align-items:center;gap:4px;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:#fff;background:#0f171fbf;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-full);z-index:1}.case-type-badge.video{background:#a30018cc;background:oklch(45% .2 25 / .8)}.case-card .case-body{padding:var(--space-5)}.case-card .case-category{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.case-card h3{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--space-2);line-height:1.4}.case-card .case-desc{font-size:var(--text-sm);color:var(--text-muted);line-height:1.6;margin-bottom:var(--space-3);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.case-card .case-tags{display:flex;flex-wrap:wrap;gap:var(--space-1);margin-bottom:var(--space-3)}.case-tag{font-size:var(--text-xs);padding:2px var(--space-2);border-radius:var(--radius-sm);background:var(--color-primary-soft);color:var(--color-primary)}.case-card .case-meta{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-xs);color:var(--text-muted);border-top:1px solid var(--glass-border);padding-top:var(--space-3)}.case-empty{grid-column:1 / -1;text-align:center;padding:var(--space-16) var(--space-6);color:var(--text-muted)}.case-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:none;align-items:center;justify-content:center;padding:var(--space-6);background:#010408cc;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.case-lightbox.open{display:flex;animation:lightbox-in var(--dur-normal) var(--ease-out-quart)}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.case-lightbox-inner{position:relative;width:100%;max-width:960px;max-height:90vh;border-radius:var(--radius-xl);overflow:hidden;display:flex;flex-direction:column;background:var(--bg-elevated);box-shadow:0 24px 60px -12px #01040880;animation:lightbox-scale var(--dur-normal) var(--ease-out-quart)}@keyframes lightbox-scale{0%{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}.case-lightbox-close{position:absolute;top:var(--space-4);right:var(--space-4);z-index:2;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-full);background:#0f171f99;color:#fff;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:all var(--dur-fast) var(--ease-out-quart)}.case-lightbox-close:hover{background:#a30018cc;background:oklch(45% .2 25 / .8);transform:rotate(90deg)}.case-lightbox-media{flex-shrink:0;width:100%;aspect-ratio:16 / 9;background:#010408}.case-lightbox-media.has-pdf{aspect-ratio:3 / 4;background:#fff}.case-lightbox-media.has-pdf iframe{background:#fff}.case-pdf-link{display:inline-block;margin-bottom:var(--space-4);padding:var(--space-2) var(--space-4);border-radius:var(--radius-full);background:var(--color-primary);color:#fff;font-size:var(--text-sm);font-weight:var(--weight-semibold);text-decoration:none;transition:opacity var(--dur-fast) var(--ease-out)}.case-pdf-link:hover{opacity:.85}.case-type-badge.doc{background:#0074c833;background:oklch(55% .16 250 / .2);color:#52a9fe}.case-lightbox-media iframe{width:100%;height:100%;border:0}.case-lightbox-media img{width:100%;height:100%;object-fit:contain}.case-lightbox-info{padding:var(--space-6);overflow-y:auto}.case-lightbox-info .case-category{font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-primary);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.case-lightbox-info h2{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--text-primary);margin-bottom:var(--space-3)}.case-lightbox-info p{font-size:var(--text-base);color:var(--text-secondary);line-height:1.7;margin-bottom:var(--space-4)}.case-lightbox-info .case-tags{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-4)}.case-lightbox-info .case-tag{font-size:var(--text-sm);padding:var(--space-1) var(--space-3)}.case-lightbox-info .case-meta{display:flex;gap:var(--space-6);font-size:var(--text-sm);color:var(--text-muted);border-top:1px solid var(--glass-border);padding-top:var(--space-4)}.case-preview-header{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:var(--space-8);flex-wrap:wrap;gap:var(--space-4)}.case-preview-more{display:inline-flex;align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold);color:var(--color-primary);transition:gap var(--dur-fast) var(--ease-out-quart)}.case-preview-more:hover{gap:var(--space-3)}@media(max-width:600px){.hero h1{font-size:var(--text-4xl)}.hero-subtitle{font-size:var(--text-lg)}.hero-stats{gap:var(--space-8)}.cta-banner{padding:var(--space-10)}}
