*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}body{min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}a{color:inherit;text-decoration:none}ul,ol{list-style:none}:root{--color-factory: #635BFF;--color-laboratory: #7CCA62;--color-services: #4FA3FF;--color-academy: #F79646;--color-success: #7CCA62;--color-error: #C0504D;--color-bg-primary: #1a1a1a;--color-bg-secondary: #262626;--color-bg-tertiary: #303030;--color-bg-muted: #44546A;--color-bg-glass: rgba(26, 26, 26, .85);--color-text-primary: #F5F5F5;--color-text-secondary: #B0B0B0;--color-text-muted: #808080;--color-text-inverse: #1a1a1a;--color-border: rgba(255, 255, 255, .08);--color-border-hover: rgba(255, 255, 255, .15);--font-body: "Open Sans", system-ui, sans-serif;--font-heading: "Poppins", system-ui, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-hero: clamp(2.25rem, 5vw + 1rem, 3.75rem);--text-h1: clamp(2rem, 4vw + .75rem, 3rem);--text-h2: clamp(1.5rem, 3vw + .5rem, 2.25rem);--text-h3: clamp(1.25rem, 2vw + .5rem, 1.5rem);--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;--container-max: 1200px;--container-padding: var(--space-5);--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--ease-out: cubic-bezier(.22, 1, .36, 1);--ease-in-out: cubic-bezier(.65, 0, .35, 1);--transition-fast: .15s var(--ease-out);--transition-base: .3s var(--ease-out);--transition-slow: .5s var(--ease-out);--transition-theme: .4s var(--ease-in-out);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .5);--shadow-glow-factory: 0 0 24px rgba(99, 91, 255, .25);--shadow-glow-laboratory: 0 0 24px rgba(124, 202, 98, .25);--shadow-glow-services: 0 0 24px rgba(79, 163, 255, .25);--shadow-glow-academy: 0 0 24px rgba(247, 150, 70, .25);--z-header: 100;--z-overlay: 200;--z-modal: 300}[data-theme=light]{--color-bg-primary: #FAFAFA;--color-bg-secondary: #FFFFFF;--color-bg-tertiary: #F0F0F0;--color-bg-muted: #E0E4EA;--color-bg-glass: rgba(250, 250, 250, .85);--color-text-primary: #1a1a1a;--color-text-secondary: #555555;--color-text-muted: #888888;--color-text-inverse: #F5F5F5;--color-border: rgba(0, 0, 0, .08);--color-border-hover: rgba(0, 0, 0, .15);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08);--shadow-md: 0 4px 12px rgba(0, 0, 0, .1);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .12);--shadow-glow-factory: 0 0 24px rgba(99, 91, 255, .15);--shadow-glow-laboratory: 0 0 24px rgba(124, 202, 98, .15);--shadow-glow-services: 0 0 24px rgba(79, 163, 255, .15);--shadow-glow-academy: 0 0 24px rgba(247, 150, 70, .15)}body{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-primary);background-color:var(--color-bg-primary);transition:background-color var(--transition-theme),color var(--transition-theme)}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2;color:var(--color-text-primary)}h1{font-size:var(--text-h1)}h2{font-size:var(--text-h2)}h3{font-size:var(--text-h3)}p{color:var(--color-text-secondary);line-height:1.7;max-width:72ch}strong{font-weight:600;color:var(--color-text-primary)}.container{width:100%;max-width:var(--container-max);margin-inline:auto;padding-inline:var(--container-padding)}.section{padding-block:var(--space-16)}@media(min-width:768px){.section{padding-block:var(--space-24)}}.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}.text-factory{color:var(--color-factory)}.text-laboratory{color:var(--color-laboratory)}.text-services{color:var(--color-services)}.text-academy{color:var(--color-academy)}.bg-gradient-subtle{background:linear-gradient(180deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 50%,var(--color-bg-primary) 100%)}.glass{background:var(--color-bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--color-border)}:focus-visible{outline:2px solid var(--color-factory);outline-offset:2px;border-radius:var(--radius-sm)}::selection{background:var(--color-factory);color:#fff}.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.reveal.is-visible{opacity:1;transform:translateY(0)}.reveal-stagger>.reveal:nth-child(1){transition-delay:0ms}.reveal-stagger>.reveal:nth-child(2){transition-delay:.1s}.reveal-stagger>.reveal:nth-child(3){transition-delay:.2s}.reveal-stagger>.reveal:nth-child(4){transition-delay:.3s}.reveal-stagger>.reveal:nth-child(5){transition-delay:.4s}.reveal-stagger>.reveal:nth-child(6){transition-delay:.5s}.reveal-stagger>.reveal:nth-child(7){transition-delay:.6s}.reveal-stagger>.reveal:nth-child(8){transition-delay:.7s}.reveal-left{opacity:0;transform:translate(-32px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.reveal-left.is-visible{opacity:1;transform:translate(0)}.reveal-right{opacity:0;transform:translate(32px);transition:opacity .7s var(--ease-out),transform .7s var(--ease-out)}.reveal-right.is-visible{opacity:1;transform:translate(0)}.reveal-scale{opacity:0;transform:scale(.92);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}.reveal-scale.is-visible{opacity:1;transform:scale(1)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.hero-animate{animation:fadeInUp .8s var(--ease-out) forwards;opacity:0}.hero-animate-delay-1{animation-delay:.1s}.hero-animate-delay-2{animation-delay:.25s}.hero-animate-delay-3{animation-delay:.4s}.hero-animate-delay-4{animation-delay:.55s}.card-hover{transition:transform var(--transition-base),box-shadow var(--transition-base)}.card-hover:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.card-hover[data-branch=factory]:hover{box-shadow:var(--shadow-glow-factory)}.card-hover[data-branch=laboratory]:hover{box-shadow:var(--shadow-glow-laboratory)}.card-hover[data-branch=services]:hover{box-shadow:var(--shadow-glow-services)}.card-hover[data-branch=academy]:hover{box-shadow:var(--shadow-glow-academy)}.btn-glow{position:relative;overflow:hidden}.btn-glow:after{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.15) 50%,transparent 60%);transform:translate(-100%);transition:transform .5s var(--ease-out)}.btn-glow:hover:after{transform:translate(100%)}@keyframes subtlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.icon-pulse:hover{animation:subtlePulse 1.5s ease-in-out infinite}@keyframes countUp{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.count-animate{animation:countUp .5s var(--ease-out) forwards}.text-gradient-factory{background:linear-gradient(135deg,var(--color-factory),#8B83FF);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.text-gradient-brand{background:linear-gradient(135deg,var(--color-factory),var(--color-services));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.line-accent{position:relative}.line-accent:after{content:"";display:block;width:48px;height:3px;margin-top:var(--space-3);border-radius:var(--radius-full);background:var(--color-factory)}.line-accent[data-branch=laboratory]:after{background:var(--color-laboratory)}.line-accent[data-branch=services]:after{background:var(--color-services)}.line-accent[data-branch=academy]:after{background:var(--color-academy)}@media(prefers-reduced-motion:reduce){.reveal,.reveal-left,.reveal-right,.reveal-scale{opacity:1;transform:none;transition:none}.hero-animate{opacity:1;animation:none}.card-hover{transition:none}.icon-pulse:hover{animation:none}}
