:root{--color-bg:#f8fafc;--color-bg-alt:#f1f5f9;--color-bg-surface:#fff;--color-text:#0f172a;--color-text-light:#44556a;--color-text-inverse:#fff;--color-accent-cyan:#00d4ff;--color-accent-cyan-text:#0e7490;--color-accent-blue:#4285f4;--color-accent-blue-light:#8ab4f8;--color-accent-hover:#1d4ed8;--color-border:#9ba9ba;--color-border-subtle:rgba(15,23,42,.06);--color-border-medium:rgba(15,23,42,.12);--color-success:#047857;--color-error:#b91c1c;--font-family:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;--font-weight-regular:400;--font-weight-semibold:600;--font-weight-bold:700;--spacing-xs:0.5rem;--spacing-sm:1rem;--spacing-md:1.5rem;--spacing-lg:2rem;--spacing-xl:3rem;--spacing-2xl:4rem;--spacing-3xl:6rem;--max-width:1200px;--border-radius:8px;--border-radius-sm:6px;--transition:all 0.3s ease;--transition-fast:all 0.2s ease;--transition-slow:all 0.4s ease;--circle-fill:rgba(66,133,244,.04);--circle-stroke:rgba(66,133,244,.3);--intersection-fill:rgba(66,133,244,.08);--glow-blue:rgba(66,133,244,.15);--glow-cyan:rgba(0,212,255,.12);--glow-cyan-soft:rgba(0,212,255,.03);--glow-blue-soft:rgba(66,133,244,.02)}@media (prefers-color-scheme:dark){:root{--color-bg:#060814;--color-bg-alt:#0b0d1f;--color-bg-surface:#0e1029;--color-text:#e4e8f7;--color-text-light:#a8b2e0;--color-text-inverse:#060814;--color-accent-cyan:#00d4ff;--color-accent-cyan-text:#00d4ff;--color-accent-blue:#4285f4;--color-accent-blue-light:#8ab4f8;--color-accent-hover:#4285f4;--color-border:rgba(228,232,247,.1);--color-border-subtle:rgba(228,232,247,.06);--color-border-medium:rgba(228,232,247,.12);--glow-cyan:rgba(0,212,255,.35);--glow-blue:rgba(66,133,244,.35);--glow-cyan-soft:rgba(0,212,255,.08);--glow-blue-soft:rgba(66,133,244,.06);--color-success:#34d399;--color-error:#f87171;--circle-fill:rgba(66,133,244,.06);--circle-stroke:rgba(0,212,255,.3);--intersection-fill:rgba(0,212,255,.12)}}[data-theme=dark]{--color-bg:#060814;--color-bg-alt:#0b0d1f;--color-bg-surface:#0e1029;--color-text:#e4e8f7;--color-text-light:#a8b2e0;--color-text-inverse:#060814;--color-accent-cyan:#00d4ff;--color-accent-cyan-text:#00d4ff;--color-accent-blue:#4285f4;--color-accent-blue-light:#8ab4f8;--color-accent-hover:#4285f4;--color-border:rgba(228,232,247,.1);--color-border-subtle:rgba(228,232,247,.06);--color-border-medium:rgba(228,232,247,.12);--glow-cyan:rgba(0,212,255,.35);--glow-blue:rgba(66,133,244,.35);--glow-cyan-soft:rgba(0,212,255,.08);--glow-blue-soft:rgba(66,133,244,.06);--color-success:#34d399;--color-error:#f87171;--circle-fill:rgba(66,133,244,.06);--circle-stroke:rgba(0,212,255,.3);--intersection-fill:rgba(0,212,255,.12)}[data-theme=dark] .header{background-color:rgba(6,8,20,.85)}[data-theme=dark] .card{box-shadow:0 2px 12px rgba(0,0,0,.3)}[data-theme=dark] .card:focus-within,[data-theme=dark] .card:hover{box-shadow:0 8px 32px rgba(0,212,255,.15)}[data-theme=dark] .team-photo{box-shadow:0 0 20px rgba(0,212,255,.2);filter:brightness(.9)}[data-theme=dark] .project-image img{filter:grayscale(100%) brightness(.9)}[data-theme=dark] .project-card:focus-within .project-image img,[data-theme=dark] .project-card:hover .project-image img{filter:grayscale(0) brightness(.95)}[data-theme=dark] .project-tag{background:rgba(0,212,255,.08);border-color:rgba(0,212,255,.2);color:var(--color-accent-blue-light)}[data-theme=dark] .contact-form{box-shadow:0 0 40px rgba(0,212,255,.05)}[data-theme=dark] .footer{background-color:#050710;color:var(--color-text)}[data-theme=dark] .footer-logo-link .logo-text,[data-theme=dark] .footer-member-name{color:var(--color-text)}[data-theme=light]{--color-bg:#f8fafc;--color-bg-alt:#f1f5f9;--color-bg-surface:#fff;--color-text:#0f172a;--color-text-light:#44556a;--color-text-inverse:#fff;--color-accent-cyan-text:#0e7490;--color-border:#9ba9ba;--color-border-subtle:rgba(15,23,42,.06);--color-border-medium:rgba(15,23,42,.12);--glow-cyan:rgba(0,212,255,.12);--glow-blue:rgba(66,133,244,.15);--glow-cyan-soft:rgba(0,212,255,.03);--glow-blue-soft:rgba(66,133,244,.02);--color-success:#047857;--color-error:#b91c1c;--circle-fill:rgba(66,133,244,.04);--circle-stroke:rgba(66,133,244,.3);--intersection-fill:rgba(66,133,244,.08)}[data-theme=light] .header{background-color:rgba(248,250,252,.9)}[data-theme=light] .footer{background-color:var(--color-bg)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-reduced-motion:no-preference){html{scroll-behavior:smooth}}body{background-color:var(--color-bg);color:var(--color-text);font-family:var(--font-family);font-weight:var(--font-weight-regular);line-height:1.6;overflow-x:hidden;position:relative}body:before{background:radial-gradient(ellipse 80% 60% at 35% 55%,var(--glow-cyan-soft) 0,transparent 65%),radial-gradient(ellipse 60% 50% at 65% 45%,var(--glow-blue-soft) 0,transparent 60%);content:"";inset:0;pointer-events:none;position:fixed;z-index:0}h1,h2,h3,h4,h5,h6{font-weight:var(--font-weight-bold);line-height:1.2;margin-bottom:var(--spacing-sm)}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em}h2{font-size:clamp(1.75rem,4vw,2.5rem)}h3{font-size:clamp(1.25rem,3vw,1.5rem);letter-spacing:-.01em}p{color:var(--color-text-light);margin-bottom:var(--spacing-sm)}a{color:var(--color-accent-blue);text-decoration:none;transition:color var(--transition-fast),outline .2s ease,outline-offset .2s ease}a:hover{color:var(--color-accent-cyan);text-decoration:underline}a:focus-visible{border-radius:2px;outline:2px solid var(--color-accent-cyan);outline-offset:2px}.gradient-text{background:linear-gradient(135deg,var(--color-accent-cyan) 0,var(--color-accent-blue-light) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.main{min-height:100vh;padding-top:70px;position:relative;z-index:1}.container{margin:0 auto;max-width:var(--max-width);padding:var(--spacing-2xl) var(--spacing-md)}.section-title{color:var(--color-text);font-size:clamp(1.75rem,4vw,2.5rem);letter-spacing:-.02em;margin-bottom:var(--spacing-xl);text-align:center}.header{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:rgba(248,250,252,.9);border-bottom:1px solid transparent;left:0;position:fixed;top:0;transition:box-shadow .3s ease,border-color .3s ease;width:100%;z-index:5}@media (prefers-color-scheme:dark){.header{background-color:rgba(6,8,20,.85)}}.header.scrolled{border-bottom-color:var(--color-border-subtle);box-shadow:0 2px 20px rgba(0,0,0,.1)}.nav{height:70px;justify-content:space-between;margin:0 auto;max-width:var(--max-width);padding:var(--spacing-sm) var(--spacing-md)}.logo,.nav{align-items:center;display:flex}.logo{gap:.75rem;transition:outline .2s ease,outline-offset .2s ease;z-index:6}.logo,.logo:hover{text-decoration:none}.logo:focus-visible{border-radius:4px;outline:2px solid var(--color-accent-cyan);outline-offset:4px}.nav-mark{flex-shrink:0;height:13px;position:relative;width:22px}.nav-mark:after,.nav-mark:before{border-radius:50%;content:"";height:13px;position:absolute;top:0;width:13px}.nav-mark:before{background:rgba(0,212,255,.08);border:1.5px solid var(--color-accent-cyan);right:0}.nav-mark:after{background:rgba(138,180,248,.08);border:1.5px solid var(--color-accent-blue-light);left:0}.logo-text{color:var(--color-text);font-size:.875rem;font-weight:var(--font-weight-semibold);letter-spacing:-.01em}.nav-actions{display:flex;flex-direction:row}.nav-menu{align-items:center;display:flex;gap:var(--spacing-lg)}.nav-item,.nav-menu{list-style:none}.nav-link{color:var(--color-text-light);font-size:.8rem;font-weight:var(--font-weight-regular);letter-spacing:.05em;padding:.5rem 0;position:relative;text-decoration:none;transition:color var(--transition-fast),outline .2s ease,outline-offset .2s ease}.nav-link:hover{color:var(--color-text);text-decoration:none}.nav-link[aria-current=page]{color:var(--color-text);font-weight:var(--font-weight-semibold)}.nav-link:focus-visible{border-radius:4px;outline:2px solid var(--color-accent-cyan);outline-offset:4px}.theme-toggle{align-items:center;background:none;border:1px solid var(--color-border-medium);border-radius:var(--border-radius-sm);cursor:pointer;display:flex;font-size:1rem;justify-content:center;line-height:1;margin-right:var(--spacing-lg);padding:.35rem .6rem;transition:border-color .2s ease,outline .2s ease,outline-offset .2s ease;z-index:6}.theme-toggle:hover{border-color:rgba(0,212,255,.5)}.theme-toggle:focus-visible{border-radius:4px;outline:2px solid var(--color-accent-cyan);outline-offset:4px}.theme-toggle-icon-dark{display:none}.theme-toggle-icon-light,[data-theme=dark] .theme-toggle-icon-dark{display:block}[data-theme=dark] .theme-toggle-icon-light{display:none}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .theme-toggle-icon-dark{display:block}html:not([data-theme=light]) .theme-toggle-icon-light{display:none}}.theme-toggle-icon{filter:invert(87%) sepia(9%) saturate(300%) hue-rotate(190deg) brightness(100%) contrast(90%)}.hamburger{background:none;border:none;cursor:pointer;display:none;flex-direction:column;gap:var(--spacing-xs);padding:.5rem;transition:outline .2s ease,outline-offset .2s ease;z-index:6}.hamburger:focus-visible{border-radius:4px;outline:2px solid var(--color-accent-cyan);outline-offset:4px}.hamburger-line{background-color:var(--color-text);border-radius:2px;height:2px;transition:all .3s ease;width:25px}.hamburger.active .hamburger-line:first-child{transform:rotate(45deg) translate(5px,5px)}.hamburger.active .hamburger-line:nth-child(2){opacity:0}.hamburger.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.hero{display:flex;position:relative;z-index:1}.hero,.hero-inner{align-items:center;min-height:100vh}.hero-inner{display:grid;grid-template-columns:1fr 1fr;margin:0 auto;max-width:var(--max-width);width:100%}.hero-diagram{align-items:center;display:flex;justify-content:center;padding:6rem 2rem 6rem 3rem}.diagram-container{height:220px;position:relative;width:340px}.circle-a{animation:breathe-a 6s ease-in-out infinite;background:var(--circle-fill);border:1px solid var(--circle-stroke);border-radius:50%;box-shadow:0 0 40px var(--glow-blue),inset 0 0 30px rgba(66,133,244,.03);left:0}.circle-a,.circle-b{height:220px;position:absolute;top:0;width:220px}.circle-b{animation:breathe-b 6s ease-in-out infinite;animation-delay:-3s;background:rgba(0,212,255,.05);border:1px solid rgba(0,212,255,.4);border-radius:50%;box-shadow:0 0 40px var(--glow-cyan),inset 0 0 30px rgba(0,212,255,.03);right:0}.circle-intersection{background:radial-gradient(ellipse at center,rgba(0,212,255,.2) 0,rgba(66,133,244,.1) 60%,transparent 100%);clip-path:ellipse(50px 95px at 50% 50%);height:220px;left:50%;pointer-events:none;position:absolute;top:0;transform:translateX(-50%);width:100px}.circle-letter{font-size:4.5rem;font-weight:700;letter-spacing:-.05em;line-height:1;position:absolute;top:50%;transform:translateY(-50%)}.circle-letter-a{color:var(--color-accent-blue-light);left:1.5rem;opacity:.6}.circle-letter-b{color:var(--color-accent-cyan);opacity:.6;right:1.5rem}.diagram-labels{inset:0;pointer-events:none;position:absolute}.coord-label{color:var(--color-text-light);font-size:.55rem;font-weight:var(--font-weight-regular);letter-spacing:.15em;position:absolute;text-transform:uppercase}.coord-tl{left:0;top:-1.5rem}.coord-br{bottom:-1.5rem;right:0}.diagram-axis{background:linear-gradient(90deg,transparent 0,var(--color-border-medium) 20%,var(--color-border-medium) 80%,transparent 100%);height:1px;left:-1rem;position:absolute;right:-1rem;top:50%;transform:translateY(-50%)}.hero-content{display:flex;flex-direction:column;justify-content:center;padding:7rem 3rem 6rem 2rem;position:relative}.eyebrow{align-items:center;color:var(--color-accent-hover);display:flex;font-size:.65rem;font-weight:var(--font-weight-semibold);gap:.75rem;letter-spacing:.2em;margin-bottom:1.5rem;text-transform:uppercase}.eyebrow:before{background-color:var(--color-accent-hover);content:"";display:block;flex-shrink:0;height:1px;width:24px}[data-theme=dark] .eyebrow{color:var(--color-accent-blue-light)}[data-theme=dark] .eyebrow:before{background-color:var(--color-accent-blue-light)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .eyebrow{color:var(--color-accent-blue-light)}html:not([data-theme=light]) .eyebrow:before{background-color:var(--color-accent-blue-light)}}.hero-wordmark{color:var(--color-text);font-size:clamp(3.5rem,7vw,6.5rem);letter-spacing:-.04em;line-height:.95;margin-bottom:.5rem}.hero-wordmark,.hero-wordmark-sub{display:block;font-weight:var(--font-weight-bold)}.hero-wordmark-sub{font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.03em;line-height:1;margin-bottom:2.5rem}.hero-tagline{color:var(--color-text-light);font-size:clamp(.95rem,1.5vw,1.125rem);font-weight:var(--font-weight-regular);line-height:1.7;margin-bottom:3rem;max-width:40ch}.hero-actions{align-items:center;display:flex;gap:1.5rem;margin-bottom:3rem}.hero-stats{border-top:1px solid var(--color-border-subtle);display:flex;gap:2.5rem;padding-top:2rem}.stat-item+.stat-item{border-left:1px solid var(--color-border-subtle);padding-left:2.5rem}.stat-value{color:var(--color-text);display:block;font-size:1.5rem;font-weight:var(--font-weight-bold);letter-spacing:-.03em;line-height:1;margin-bottom:.25rem}.stat-label{color:var(--color-text-light);font-size:.65rem;font-weight:var(--font-weight-regular);letter-spacing:.1em;text-transform:uppercase}.btn{border:1px solid transparent;border-radius:var(--border-radius-sm);cursor:pointer;display:inline-block;font-size:.875rem;font-weight:var(--font-weight-semibold);letter-spacing:-.01em;max-width:100%;padding:.9rem 2rem;position:relative;text-align:center;text-decoration:none;transition:transform .25s ease,box-shadow .25s ease,background-color .25s ease,border-color .2s ease,color .2s ease,outline .2s ease,outline-offset .2s ease}.btn:focus-visible{outline:2px solid var(--color-accent-cyan);outline-offset:4px}.btn:disabled{cursor:not-allowed;opacity:.6;transform:none}.btn-primary{background:linear-gradient(135deg,var(--color-accent-cyan) 0,var(--color-accent-blue) 100%);border-color:transparent;color:#fff}.btn-primary:after{border-radius:var(--border-radius-sm);box-shadow:0 0 24px rgba(0,212,255,.5);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .25s ease}.btn-primary:hover{color:#fff;text-decoration:none;transform:translateY(-2px)}.btn-primary:hover:after{opacity:1}.btn-primary:disabled:hover{transform:none}.btn-primary:disabled:hover:after{opacity:0}.btn-outline{background:transparent;border-color:var(--color-border-medium);color:var(--color-text-light)}.btn-outline:hover{border-color:rgba(0,212,255,.5);color:var(--color-text);text-decoration:none}.card{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:0 2px 8px rgba(15,23,42,.06);position:relative;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.card:hover{border-color:rgba(0,212,255,.3);box-shadow:0 8px 32px rgba(0,212,255,.12);transform:translateY(-4px)}.card:focus-within{border-color:rgba(0,212,255,.3);box-shadow:0 8px 32px rgba(0,212,255,.12);transform:translateY(-4px)}@media (prefers-color-scheme:dark){.card{box-shadow:0 2px 12px rgba(0,0,0,.3)}.card:focus-within,.card:hover{box-shadow:0 8px 32px rgba(0,212,255,.15)}}.about{background-color:var(--color-bg-alt)}.team-grid{display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:1000px}.team-card{padding:var(--spacing-xl)}.team-card-header{text-align:center}.team-card-header,.team-photo{margin-bottom:var(--spacing-md)}.team-photo{border:3px solid var(--color-accent-cyan);border-radius:50%;height:120px;object-fit:cover;transition:box-shadow .3s ease;width:120px}@media (prefers-color-scheme:dark){.team-photo{box-shadow:0 0 20px rgba(0,212,255,.2);filter:brightness(.9)}}.team-name{color:var(--color-text);font-size:clamp(1.25rem,3vw,1.5rem);letter-spacing:-.01em;margin-bottom:var(--spacing-xs)}.team-role{color:var(--color-accent-hover);font-size:1rem;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-md)}[data-theme=dark] .team-role{color:var(--color-accent-blue-light)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .team-role{color:var(--color-accent-blue-light)}}.team-bio{color:var(--color-text-light);line-height:1.7;text-align:left}.team-bio,.team-highlights{margin-bottom:var(--spacing-md)}.team-highlights{list-style:none;padding:0}.team-highlights li{align-items:center;color:var(--color-text);display:flex;font-size:.95rem;gap:.5rem;line-height:1.6;padding:var(--spacing-xs) 0}.highlight-icon{color:var(--color-accent-hover);flex-shrink:0}[data-theme=dark] .highlight-icon{color:var(--color-accent-blue-light)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .highlight-icon{color:var(--color-accent-blue-light)}}.team-links{border-top:1px solid var(--color-border);display:flex;gap:var(--spacing-md);justify-content:center;padding-top:var(--spacing-md)}.team-link{border-radius:4px;color:var(--color-accent-cyan-text);font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-sm);text-decoration:none;transition:background-color .3s ease,color .3s ease,transform .3s ease,outline .2s ease}.team-link:hover{background-color:rgba(0,212,255,.08);color:var(--color-accent-cyan);text-decoration:none;transform:translateY(-2px)}.team-link:focus-visible{outline:2px solid var(--color-accent-cyan);outline-offset:2px}.services{background-color:var(--color-bg)}.services-grid{display:grid;gap:var(--spacing-lg);grid-template-columns:repeat(2,1fr);margin:0 auto;max-width:1000px}.service-card{padding:var(--spacing-xl);text-align:center}.service-icon-wrap{align-items:center;background:linear-gradient(var(--color-bg-surface),var(--color-bg-surface)) padding-box,linear-gradient(135deg,var(--color-accent-cyan),var(--color-accent-blue)) border-box;border:1.5px solid transparent;border-radius:50%;display:flex;height:64px;justify-content:center;margin:0 auto var(--spacing-md);position:relative;width:64px}.service-icon{color:var(--color-accent-cyan);display:block;filter:invert(78%) sepia(57%) saturate(500%) hue-rotate(157deg) brightness(102%) contrast(101%);height:28px;width:28px}.service-title{color:var(--color-text);font-size:clamp(1.25rem,3vw,1.5rem);letter-spacing:-.01em;margin-bottom:var(--spacing-sm)}.service-description{color:var(--color-text-light);line-height:1.7;margin-bottom:0}.service-cta-btn{margin-top:auto}.technologies{background-color:var(--color-bg-alt)}.tech-category{margin-bottom:var(--spacing-xl)}.tech-category:last-child{margin-bottom:0}.tech-category-title{color:var(--color-text);font-family:var(--font-family)!important;font-size:1.25rem;font-weight:var(--font-weight-semibold);letter-spacing:-.01em;margin-bottom:var(--spacing-md);text-align:center}.tech-grid{display:grid;gap:var(--spacing-md);grid-template-columns:repeat(auto-fit,150px);justify-content:center}.tech-badge{align-items:center;background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);display:flex;flex-direction:column;gap:var(--spacing-xs);height:150px;justify-content:center;padding:var(--spacing-md);transform:none;transition:border-color .3s ease,outline .2s ease,outline-offset .2s ease;width:150px}.tech-badge:hover{border-color:rgba(0,212,255,.4);box-shadow:none;transform:none}.tech-badge i{filter:grayscale(100%);font-size:2.5rem;opacity:.7;transition:filter .3s ease,opacity .3s ease}.tech-badge:focus-visible i,.tech-badge:hover i{filter:grayscale(0);opacity:1}.tech-badge:focus-visible{box-shadow:0 0 0 3px rgba(0,212,255,.15);outline:2px solid var(--color-accent-cyan);outline-offset:2px}.tech-icon-svg{filter:grayscale(100%);height:40px;opacity:.7;transition:filter .3s ease,opacity .3s ease;width:40px}.tech-badge:focus-visible .tech-icon-svg,.tech-badge:hover .tech-icon-svg{filter:grayscale(0);opacity:1}.tech-icon-svg--invert{filter:grayscale(100%) invert(1)}.tech-badge:focus-visible .tech-icon-svg--invert,.tech-badge:hover .tech-icon-svg--invert{filter:grayscale(0) invert(1)}[data-theme=dark] .tech-icon-svg--invert{filter:grayscale(100%) invert(0)}[data-theme=dark] .tech-badge:focus-visible .tech-icon-svg--invert,[data-theme=dark] .tech-badge:hover .tech-icon-svg--invert{filter:grayscale(0) invert(0)}.tech-name{color:var(--color-text);font-size:.8rem;font-weight:var(--font-weight-semibold);line-height:1.2;text-align:center}.tech-name,.technologies,.technologies *{font-family:var(--font-family)!important}.technologies i[class*=devicon]{font-family:devicon!important}.devicon-loading .tech-badge i{opacity:0}.devicon-loaded .tech-badge i{animation:fadeIn .3s ease-in;opacity:.7}.devicon-loaded .tech-badge:focus-visible i,.devicon-loaded .tech-badge:hover i{opacity:1}.projects{background-color:var(--color-bg)}.projects-grid{display:grid;gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));margin:0 auto;max-width:1200px}.project-card-link{color:inherit;display:flex}.project-card-link,.project-card-link:hover{text-decoration:none}.project-card-link:hover .project-title{text-decoration:underline}.project-card{display:flex;flex-direction:column;overflow:hidden}.project-image{height:250px;overflow:hidden;position:relative;width:100%;z-index:1}.project-image img{filter:grayscale(100%);height:100%;object-fit:cover;transition:transform .3s ease,filter .3s ease;width:100%}@media (prefers-color-scheme:dark){.project-image img{filter:grayscale(100%) brightness(.9)}.project-card:focus-within .project-image img,.project-card:hover .project-image img{filter:grayscale(0) brightness(.95)}}.project-card:focus-within .project-image img,.project-card:hover .project-image img{filter:grayscale(0);transform:scale(1.05)}@media (prefers-reduced-motion:reduce){.project-image img{transition:none!important}}.project-status{background-color:var(--color-success);border-radius:4px;color:#fff;font-size:.75rem;font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-sm);position:absolute;right:var(--spacing-sm);top:var(--spacing-sm);z-index:2}.project-content{display:flex;flex-direction:column;flex-grow:1;gap:var(--spacing-sm);padding:var(--spacing-xl);position:relative;z-index:1}.project-title{color:var(--color-text);font-size:clamp(1.25rem,3vw,1.5rem);letter-spacing:-.01em;margin-bottom:0}.project-description{color:var(--color-text-light);line-height:1.7;margin-bottom:0}.project-tags{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);justify-content:center;margin-top:auto}.project-tag{background-color:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);font-size:.75rem;font-weight:var(--font-weight-semibold);padding:var(--spacing-xs) var(--spacing-sm)}@media (prefers-color-scheme:dark){.project-tag{background:rgba(0,212,255,.08);border-color:rgba(0,212,255,.2);color:var(--color-accent-blue-light)}}.project-card-cta .project-content{text-align:center}.project-card-cta .btn{align-self:center;margin-top:auto}.contact{background-color:var(--color-bg-alt)}.contact-subtitle{color:var(--color-text-light);font-size:1.125rem;margin-bottom:var(--spacing-2xl);margin-left:auto;margin-right:auto;max-width:600px;text-align:center}.contact-form{background-color:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:var(--border-radius);display:flex;flex-direction:column;margin:0 auto;max-width:800px;padding:var(--spacing-2xl)}@media (prefers-color-scheme:dark){.contact-form{box-shadow:0 0 40px rgba(0,212,255,.05)}}.form-group{margin-bottom:var(--spacing-md)}.form-label{color:var(--color-text);display:block;font-size:.875rem;font-weight:var(--font-weight-semibold);margin-bottom:var(--spacing-xs)}.form-input{background-color:var(--color-bg);border:2px solid var(--color-border);border-radius:var(--border-radius);color:var(--color-text);font-family:var(--font-family);font-size:1rem;padding:var(--spacing-sm);transition:border-color .3s ease,box-shadow .3s ease;width:100%}.form-input:focus{border-color:var(--color-accent-cyan);box-shadow:0 0 0 3px rgba(0,212,255,.2);outline:2px solid var(--color-accent-cyan);outline-offset:0}.form-input[aria-invalid=true]{border-color:var(--color-error)}.form-input[aria-invalid=true]:focus{border-color:var(--color-error);box-shadow:0 0 0 3px rgba(239,68,68,.15);outline:2px solid var(--color-error);outline-offset:0}.form-error{color:var(--color-error);display:block;font-size:.875rem;font-weight:var(--font-weight-semibold);margin-top:var(--spacing-xs);min-height:1.25rem}.form-textarea{min-height:120px;resize:vertical}.contact-form .btn{align-self:center;line-height:1.6;margin-top:var(--spacing-sm)}.btn-loading{pointer-events:none;position:relative}.btn-loading .btn-text{opacity:0}.btn-spinner{animation:spin .8s linear infinite;border:3px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;height:20px;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);width:20px}.toast{align-items:center;border-radius:var(--border-radius);box-shadow:0 8px 24px rgba(15,23,42,.25);display:flex;font-weight:var(--font-weight-semibold);gap:var(--spacing-xs);max-width:calc(100vw - 40px);opacity:0;padding:var(--spacing-sm) var(--spacing-md);pointer-events:none;position:fixed;right:20px;top:105px;transform:translateY(-20px);transition:opacity .3s ease,transform .3s ease;will-change:transform,opacity;z-index:1000}.toast.show{opacity:1;pointer-events:auto;transform:translateY(0)}.success-toast{background:linear-gradient(135deg,#00d4ff,#4285f4);color:#0f172a}.success-toast .toast-icon{color:#0f172a}.error-toast{background:linear-gradient(135deg,#e11d48,#9f1239);box-shadow:0 8px 24px rgba(225,29,72,.35);color:#fff}.error-toast .toast-icon{color:#fff}.toast-icon{flex-shrink:0;height:24px;width:24px}@media (max-width:768px){.toast{bottom:20px;left:10px;max-width:none;right:10px;top:auto}.toast-icon{height:20px;width:20px}}@media (prefers-reduced-motion:reduce){.toast{transform:none;transition:opacity .3s ease}}.footer{background-color:var(--color-bg);border-top:1px solid var(--color-border-subtle)}@media (prefers-color-scheme:dark){.footer{background-color:#050710}}.footer-content{align-items:center;display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.footer-brand{flex-shrink:0}.footer-logo-link{align-items:center;display:inline-flex;gap:.75rem;text-decoration:none;transition:opacity .2s ease,outline .2s ease,outline-offset .2s ease}.footer-logo-link:hover{opacity:.8;text-decoration:none}.footer-logo-link:focus-visible{border-radius:4px;outline:2px solid var(--color-accent-cyan);outline-offset:4px}.footer-logo-link .logo-text{color:var(--color-text);font-size:1.75rem;font-weight:var(--font-weight-bold);letter-spacing:-.02em}.footer-nav{gap:var(--spacing-lg)}.footer-member,.footer-nav{align-items:center;display:flex}.footer-member{gap:.5rem}.footer-member-name{color:var(--color-text);font-size:.8125rem;font-weight:var(--font-weight-semibold)}.footer-link{color:var(--color-accent-hover);font-size:.8125rem;text-decoration:none;transition:color var(--transition-fast)}.footer-link:hover{color:var(--color-accent-blue);text-decoration:underline}[data-theme=dark] .footer-link{color:var(--color-accent-blue-light)}[data-theme=dark] .footer-link:hover{color:var(--color-accent-cyan)}@media (prefers-color-scheme:dark){html:not([data-theme=light]) .footer-link{color:var(--color-accent-blue-light)}html:not([data-theme=light]) .footer-link:hover{color:var(--color-accent-cyan)}}.footer-link:focus-visible{border-radius:2px;outline:2px solid var(--color-accent-cyan);outline-offset:2px}.footer-bottom{border-top:1px solid var(--color-border-subtle);padding-top:var(--spacing-sm);text-align:center}.footer-copyright{color:var(--color-text-light);font-size:.75rem;margin-bottom:0}.visually-hidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0,0,0,0);border:0;white-space:nowrap}.skip-link{background:linear-gradient(135deg,var(--color-accent-cyan),var(--color-accent-blue));border-radius:0 0 var(--border-radius) 0;box-shadow:0 4px 6px rgba(0,0,0,.2);color:#fff;font-size:1rem;font-weight:var(--font-weight-semibold);left:0;padding:var(--spacing-sm) var(--spacing-md);position:fixed;text-decoration:none;top:-100px;transition:top .3s ease;z-index:9}.skip-link:focus{top:0}@keyframes breathe-a{0%,to{box-shadow:0 0 30px var(--glow-blue),inset 0 0 20px rgba(66,133,244,.03)}50%{box-shadow:0 0 60px rgba(66,133,244,.45),inset 0 0 40px rgba(66,133,244,.06)}}@keyframes breathe-b{0%,to{box-shadow:0 0 30px var(--glow-cyan),inset 0 0 20px rgba(0,212,255,.03)}50%{box-shadow:0 0 60px rgba(0,212,255,.5),inset 0 0 40px rgba(0,212,255,.06)}}@keyframes fadeIn{0%{opacity:0;transform:scale(.9)}to{opacity:.7;transform:scale(1)}}@keyframes spin{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}@media (max-width:900px){.btn{text-align:center;width:100%}.hero,.hero-inner{min-height:auto}.hero-inner{grid-template-columns:1fr;grid-template-rows:auto 1fr}.hero-diagram{justify-content:center;padding:2rem 2rem 1rem}.diagram-container{height:180px;width:280px}.circle-a,.circle-b{height:180px;width:180px}.circle-letter{font-size:3.5rem}.circle-intersection{clip-path:ellipse(40px 78px at 50% 50%);height:180px}.hero-content{padding:2rem 1.5rem 4rem}.hero-actions{align-items:stretch;flex-direction:column}}@media (max-width:768px){:root{--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem}.container{padding:var(--spacing-2xl) var(--spacing-sm)}.hamburger{display:flex}.nav-menu{background-color:var(--color-bg);box-shadow:-2px 0 20px rgba(0,0,0,.15);flex-direction:column;gap:var(--spacing-sm);height:calc(100vh - 70px);justify-content:flex-start;left:0;padding:var(--spacing-lg) var(--spacing-md);position:fixed;top:70px;transform:translateX(100%);transition:transform .3s ease;width:100%}.nav-menu.active{transform:translateX(0)}.nav-item{width:100%}.nav-link{border-radius:var(--border-radius);display:block;font-size:1.125rem;letter-spacing:.02em;padding:var(--spacing-sm)}.nav-link:hover{background-color:var(--color-bg-alt)}.team-grid{gap:var(--spacing-lg);grid-template-columns:1fr}.team-card{padding:var(--spacing-md)}.team-photo{height:100px;width:100px}.services-grid{gap:var(--spacing-md);grid-template-columns:1fr}.service-card{padding:var(--spacing-lg)}.tech-grid{grid-template-columns:repeat(auto-fit,100px);justify-content:center;margin:0 auto}.tech-badge{height:100px;padding:var(--spacing-sm);width:100px}.tech-badge i{font-size:2rem}.tech-name{font-size:.7rem}.projects-grid{gap:var(--spacing-lg);grid-template-columns:1fr}.project-card-link{display:block}.project-image{height:200px}.project-content{padding:var(--spacing-lg)}.contact-form{padding:var(--spacing-xl)}.form-textarea{max-height:200px;min-height:120px}.theme-toggle{margin-right:var(--spacing-sm)}.footer-content{flex-direction:column;gap:var(--spacing-md);text-align:center}.footer-nav{flex-direction:column;gap:var(--spacing-sm)}.footer-member{align-items:center;flex-direction:column;gap:var(--spacing-xs)}}@media (max-width:350px){.team-card{padding:var(--spacing-sm)}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.card:focus-within,.card:hover{transform:none!important}.btn-primary:hover,.btn:hover,.team-link:hover{transform:none!important}.project-card:focus-within .project-image img,.project-card:hover .project-image img{transform:none!important}.circle-a,.circle-b{animation:none}.hamburger-line{transition:none!important}.hamburger.active .hamburger-line:first-child{opacity:0!important;transform:none!important}.hamburger.active .hamburger-line:nth-child(2){background-color:var(--color-accent-cyan)!important;opacity:1!important}.hamburger.active .hamburger-line:nth-child(3){opacity:0!important;transform:none!important}.btn-spinner{animation:none!important;border:3px solid #fff!important;border-radius:50%}@keyframes fadeIn{0%,to{opacity:1;transform:none}}}