:root{--primary-blue:#1e40af;--secondary-blue:#3b82f6;--accent-cyan:#06b6d4;--accent-orange:#f59e0b;--accent-orange-deep:#ea580c;--dark-bg:#0f172a;--darker-bg:#020617;--card-bg:#1e293b;--text-light:#f1f5f9;--text-muted:#cbd5e1;--success-green:#10b981;--error-red:#ef4444;--border-color:rgba(59, 130, 246, 0.2);--color-bg:var(--dark-bg);--color-bg-deeper:var(--darker-bg);--color-surface:var(--card-bg);--color-surface-raised:rgba(30, 58, 138, 0.15);--color-surface-raised-strong:rgba(30, 58, 138, 0.3);--color-text:var(--text-light);--color-text-muted:var(--text-muted);--color-text-subtle:rgba(241, 245, 249, 0.6);--color-border:var(--border-color);--color-border-strong:rgba(59, 130, 246, 0.5);--color-accent:var(--secondary-blue);--color-accent-strong:var(--primary-blue);--color-accent-soft:var(--accent-cyan);--color-cta:var(--accent-orange);--color-cta-strong:var(--accent-orange-deep);--color-success:var(--success-green);--color-error:var(--error-red);--font-display:'Bricolage Grotesque','Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:clamp(1.25rem, 0.85rem + 1.5vw, 1.563rem);--text-2xl:clamp(1.5rem, 1rem + 2vw, 1.953rem);--text-3xl:clamp(2rem, 1.4rem + 2.5vw, 2.441rem);--text-4xl:clamp(2.5rem, 1.6rem + 4vw, 3.052rem);--leading-tight:1.15;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.7;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-black:800;--tracking-tight:0;--tracking-normal:0;--tracking-wide:0.05em;--tracking-wider:0.1em;--space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--space-7:2.5rem;--space-8:3rem;--space-9:4rem;--space-10:6rem;--space-11:8rem;--radius-xs:0.25rem;--radius-sm:0.5rem;--radius-md:0.75rem;--radius-lg:1rem;--radius-xl:1.25rem;--radius-pill:9999px;--radius-circle:50%;--motion-quick:150ms;--motion-base:250ms;--motion-slow:400ms;--motion-emphasis:600ms;--ease-standard:cubic-bezier(0.4, 0, 0.2, 1);--ease-emphasized:cubic-bezier(0.2, 0, 0, 1);--ease-emphasized-accelerate:cubic-bezier(0.3, 0, 1, 1);--shadow-sm:0 2px 8px rgba(0, 0, 0, 0.2);--shadow-md:0 8px 24px rgba(0, 0, 0, 0.25);--shadow-lg:0 20px 60px rgba(0, 0, 0, 0.4);--shadow-glow-accent:0 8px 28px rgba(59, 130, 246, 0.3);--shadow-glow-accent-lg:0 20px 50px rgba(59, 130, 246, 0.35);--shadow-glow-cta:0 6px 24px rgba(245, 158, 11, 0.35);--shadow-glow-cta-lg:0 12px 40px rgba(245, 158, 11, 0.45);--header-height:90px;--project-card-min-height:600px;--section-pad-block:clamp(var(--space-9), 8vw, var(--space-10));--section-pad-inline:var(--space-6);--container-max:1400px;--content-max:1100px;--reading-max:800px;--z-header:1000;--z-modal:10000;--z-modal-overlay:10001;--z-skip-link:10002;--focus-ring:0 0 0 2px var(--color-bg),0 0 0 4px var(--color-accent)}*,::after,::before{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{font-family:var(--font-body);font-size:var(--text-base);line-height:var(--leading-relaxed);color:var(--color-text);background:var(--color-bg);overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}img,svg,video{display:block;max-width:100%;height:auto}button{font-family:inherit;cursor:pointer}input,select,textarea{font-family:inherit}a{color:var(--color-accent);text-decoration:none;transition:color var(--motion-base) var(--ease-standard)}:focus-visible{outline:3px solid var(--color-cta);outline-offset:3px;border-radius:var(--radius-xs)}#main-content{scroll-margin-top:calc(var(--header-height) + var(--space-2))}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}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(--color-text)}p{line-height:var(--leading-relaxed)}.skip-to-content{position:absolute;top:0;left:0;transform:translateY(-100%);background:var(--color-accent);color:#fff;padding:var(--space-3) var(--space-5);text-decoration:none;font-weight:var(--weight-semibold);border-radius:0 0 var(--radius-sm) 0;z-index:var(--z-skip-link);transition:transform var(--motion-base) var(--ease-standard)}.skip-to-content:focus{transform:translateY(0);outline:3px solid var(--color-cta);outline-offset:2px}header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:rgba(15,23,42,.95);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:var(--z-header);border-bottom:1px solid var(--color-border);box-shadow:0 4px 30px rgba(0,0,0,.3)}nav{max-width:var(--container-max);height:100%;margin:0 auto;padding:0 var(--section-pad-inline);display:flex;justify-content:space-between;align-items:center}.logo-container{display:flex;align-items:center;gap:var(--space-4)}.logo-picture{display:block;flex:0 0 auto}.logo-img{height:60px;width:60px;transition:transform var(--motion-base) var(--ease-standard)}.logo-img:hover{transform:scale(1.05)}.company-name{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-bold);background:linear-gradient(135deg,#fff 0,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;letter-spacing:var(--tracking-tight);white-space:nowrap}@supports not ((background-clip:text) or (-webkit-background-clip:text)){.company-name{background:0 0;-webkit-text-fill-color:initial;color:#fff}}.nav-menu{display:flex;list-style:none;gap:var(--space-7);align-items:center}.nav-menu a{color:var(--color-text);text-decoration:none;font-weight:var(--weight-medium);font-size:var(--text-sm);transition:color var(--motion-base) var(--ease-standard);position:relative;padding:var(--space-1) 0}.nav-menu a:hover{color:var(--color-accent)}.nav-menu a:not(.cta-nav-btn)::after{content:'';position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--color-accent);transition:width var(--motion-base) var(--ease-standard)}.nav-menu a.active::after,.nav-menu a:not(.cta-nav-btn):hover::after{width:100%}.nav-menu a.active{color:var(--color-accent);font-weight:var(--weight-semibold)}.mobile-toggle{display:none;background:0 0;border:2px solid transparent;color:var(--color-text);font-size:var(--text-xl);padding:var(--space-2);border-radius:var(--radius-xs);transition:background var(--motion-base) var(--ease-standard),border-color var(--motion-base) var(--ease-standard)}.mobile-toggle:hover{background:rgba(59,130,246,.1);border-color:var(--color-accent)}.hamburger-icon{display:block;line-height:1}.btn,.cta-nav-btn,.modal-close-btn,.project-cta,.submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-4) var(--space-7);border:0;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-semibold);line-height:1;text-decoration:none;cursor:pointer;transition:transform var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard),background var(--motion-base) var(--ease-standard);will-change:transform}.btn:disabled,.btn[aria-busy=true],.submit-btn:disabled,.submit-btn[aria-busy=true]{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn-primary{background:linear-gradient(135deg,var(--color-cta),var(--color-cta-strong));color:#fff;box-shadow:var(--shadow-glow-cta)}@media (hover:hover){.btn-primary:hover{transform:translateY(-3px);box-shadow:var(--shadow-glow-cta-lg)}}.btn-primary:active{transform:translateY(-1px)}.btn-secondary{background:rgba(59,130,246,.15);color:#fff;border:2px solid var(--color-accent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@media (hover:hover){.btn-secondary:hover{background:rgba(59,130,246,.25);transform:translateY(-3px);box-shadow:var(--shadow-glow-accent)}}.btn-secondary:active{transform:translateY(-1px)}.cta-nav-btn{background:linear-gradient(135deg,var(--color-cta),var(--color-cta-strong));color:#fff;padding:var(--space-3) var(--space-5);font-size:var(--text-sm);box-shadow:var(--shadow-glow-cta)}.submit-btn{width:100%;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-strong));color:#fff;box-shadow:var(--shadow-glow-accent)}.project-cta{width:100%;background:linear-gradient(135deg,var(--color-accent),var(--color-accent-strong));color:#fff;padding:var(--space-4);font-size:var(--text-base)}.modal-close-btn{background:linear-gradient(135deg,var(--color-accent-strong),#2563eb);color:#fff;padding:var(--space-3) var(--space-7);font-size:var(--text-base);box-shadow:var(--shadow-glow-accent)}.hero{min-height:100vh;padding-top:calc(var(--header-height) + var(--space-9));padding-bottom:var(--space-9);padding-inline:var(--section-pad-inline);display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(15,23,42,.98) 0,rgba(30,58,138,.92) 50%,rgba(15,23,42,.98) 100%);position:relative;overflow:hidden}.hero::before{content:'';position:absolute;inset:0;background:radial-gradient(circle at 20% 30%,rgba(59,130,246,.18) 0,transparent 55%),radial-gradient(circle at 80% 70%,rgba(245,158,11,.1) 0,transparent 55%);animation:pulseGlow 8s var(--ease-standard) infinite;pointer-events:none}@keyframes pulseGlow{0%,100%{opacity:.55}50%{opacity:1}}.hero-content{max-width:var(--content-max);text-align:center;position:relative;z-index:1}.hero-badge{display:inline-block;background:rgba(59,130,246,.15);color:var(--color-accent);padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);border:1px solid var(--color-accent);font-size:var(--text-sm);font-weight:var(--weight-semibold);margin-bottom:var(--space-5);letter-spacing:var(--tracking-wide)}.hero h1{font-size:var(--text-4xl);font-weight:var(--weight-black);margin-bottom:var(--space-5);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);background:linear-gradient(135deg,#fff 0,var(--color-accent) 60%,var(--color-accent-soft) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;animation:fadeInUp var(--motion-emphasis) var(--ease-emphasized) .2s both}@keyframes fadeInUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}.hero-subtitle{font-size:var(--text-lg);color:var(--color-text);margin-bottom:var(--space-3);animation:fadeInUp var(--motion-emphasis) var(--ease-emphasized) .4s both}.hero-description{font-size:var(--text-md);color:var(--color-text-muted);margin-bottom:var(--space-8);max-width:var(--reading-max);margin-inline:auto;line-height:var(--leading-relaxed);animation:fadeInUp var(--motion-emphasis) var(--ease-emphasized) .6s both}.hero-buttons{display:flex;gap:var(--space-5);justify-content:center;flex-wrap:wrap;animation:fadeInUp var(--motion-emphasis) var(--ease-emphasized) .8s both}section:not(.project-modal-section):not(.project-modal-testimonial){padding:var(--section-pad-block) var(--section-pad-inline);position:relative}.container{max-width:var(--container-max);margin:0 auto}.section-header{text-align:center;margin-bottom:var(--space-9)}.section-tag{display:inline-block;color:var(--color-accent-soft);font-weight:var(--weight-semibold);text-transform:uppercase;font-size:var(--text-xs);letter-spacing:var(--tracking-wider);margin-bottom:var(--space-4)}.section-title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);margin-bottom:var(--space-4);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);background:linear-gradient(135deg,#fff 0,var(--color-accent) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}@supports not ((background-clip:text) or (-webkit-background-clip:text)){.hero h1{background:0 0;-webkit-text-fill-color:initial;color:#fff}.section-title{background:0 0;-webkit-text-fill-color:initial;color:var(--color-text)}}.section-subtitle{font-size:var(--text-md);color:var(--color-text-muted);max-width:700px;margin:0 auto;line-height:var(--leading-relaxed)}.services{background:var(--color-surface);border-top:1px solid var(--color-border)}.services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-7)}.service-card{background:linear-gradient(135deg,rgba(30,58,138,.15),rgba(15,23,42,.5));padding:var(--space-8);border-radius:var(--radius-xl);border:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform var(--motion-slow) var(--ease-standard),border-color var(--motion-slow) var(--ease-standard),box-shadow var(--motion-slow) var(--ease-standard);position:relative;overflow:hidden}.service-card::before{content:'';position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.1),transparent);transition:left var(--motion-emphasis) var(--ease-standard)}@media (hover:hover){.cta-nav-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow-cta-lg)}.submit-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow-accent-lg)}.project-cta:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow-accent)}.modal-close-btn:hover{transform:translateY(-2px);box-shadow:var(--shadow-glow-accent-lg)}.service-card:hover::before{left:100%}.service-card:hover{transform:translateY(-10px);border-color:var(--color-border-strong);box-shadow:var(--shadow-glow-accent-lg)}}.service-card h3{font-size:var(--text-xl);font-weight:var(--weight-bold);margin-bottom:var(--space-3);color:var(--color-text);border-left:4px solid var(--color-accent-strong);padding-left:var(--space-4);line-height:var(--leading-snug)}.service-card p{color:var(--color-text-muted);margin-bottom:var(--space-5);line-height:var(--leading-relaxed)}.service-features{list-style:none}.service-features li{color:var(--color-text);padding:var(--space-2) 0;display:flex;align-items:center;gap:var(--space-3)}.service-features li::before{content:"✓";color:var(--color-success);font-weight:700;font-size:var(--text-md);text-shadow:0 0 10px rgba(16,185,129,.5)}.stats{background:var(--color-bg)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--space-7)}.stat-card{text-align:center;padding:var(--space-8) var(--space-6);background:linear-gradient(135deg,rgba(59,130,246,.1),rgba(6,182,212,.05));border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:transform var(--motion-slow) var(--ease-standard),border-color var(--motion-slow) var(--ease-standard),box-shadow var(--motion-slow) var(--ease-standard)}@media (hover:hover){.stat-card:hover{transform:translateY(-8px);border-color:var(--color-border-strong);box-shadow:var(--shadow-glow-accent)}}.stat-number{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-black);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);background:linear-gradient(135deg,var(--color-accent),var(--color-accent-soft));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;margin-bottom:var(--space-2)}@supports not ((background-clip:text) or (-webkit-background-clip:text)){.stat-number{background:0 0;-webkit-text-fill-color:initial;color:var(--color-accent)}}.stat-label{font-size:var(--text-base);color:var(--color-text-muted);font-weight:var(--weight-medium)}.portfolio-hero{background:linear-gradient(135deg,var(--color-bg-deeper),var(--color-bg));padding-top:calc(var(--header-height) + var(--space-8));padding-bottom:var(--space-9);padding-inline:var(--section-pad-inline);text-align:center;border-bottom:1px solid var(--color-border)}.portfolio-hero-content{max-width:900px;margin:0 auto}.portfolio-hero-title{font-family:var(--font-display);font-size:var(--text-4xl);font-weight:var(--weight-black);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);background:linear-gradient(135deg,var(--color-accent),var(--color-accent-soft));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;margin-bottom:var(--space-5)}@supports not ((background-clip:text) or (-webkit-background-clip:text)){.portfolio-hero-title{background:0 0;-webkit-text-fill-color:initial;color:var(--color-accent)}}.portfolio-hero-subtitle{font-size:var(--text-md);color:var(--color-text-muted);line-height:var(--leading-relaxed);margin-bottom:var(--space-6);max-width:var(--reading-max);margin-inline:auto}.portfolio-cta-section{background:linear-gradient(135deg,rgba(30,58,138,.3),rgba(15,23,42,.8));text-align:center;border-top:1px solid var(--color-border)}.portfolio-cta-content h2{font-family:var(--font-display);font-size:var(--text-3xl);color:var(--color-text);margin-bottom:var(--space-4);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.portfolio-cta-content p{font-size:var(--text-md);color:var(--color-text-muted);margin:0 auto var(--space-7);max-width:var(--reading-max);line-height:var(--leading-relaxed)}.portfolio-cta-buttons{display:flex;gap:var(--space-5);justify-content:center;flex-wrap:wrap}.portfolio{background:var(--color-surface);border-top:1px solid var(--color-border)}.portfolio-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-6);margin:var(--space-8) 0;padding:var(--space-7);background:linear-gradient(135deg,rgba(30,58,138,.2),rgba(15,23,42,.6));border-radius:var(--radius-xl);border:1px solid var(--color-border)}.portfolio-stat{text-align:center;padding:var(--space-3)}.portfolio-stat-number{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-black);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);background:linear-gradient(135deg,var(--color-accent),var(--color-accent-soft));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;margin-bottom:var(--space-2)}@supports not ((background-clip:text) or (-webkit-background-clip:text)){.portfolio-stat-number{background:0 0;-webkit-text-fill-color:initial;color:var(--color-accent)}}.portfolio-stat-label{font-size:var(--text-sm);color:var(--color-text-muted);font-weight:var(--weight-medium)}.portfolio-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:var(--space-7);margin-top:var(--space-8);min-height:calc((var(--project-card-min-height) * 3) + (var(--space-7) * 2))}.project-card{background:linear-gradient(135deg,rgba(30,58,138,.15),rgba(15,23,42,.5));border-radius:var(--radius-xl);border:1px solid var(--color-border);overflow:hidden;transition:transform var(--motion-slow) var(--ease-standard),border-color var(--motion-slow) var(--ease-standard),box-shadow var(--motion-slow) var(--ease-standard),opacity var(--motion-slow) var(--ease-emphasized);opacity:0;transform:translateY(20px);min-height:var(--project-card-min-height);display:flex;flex-direction:column}.project-card .project-content{flex:1 1 auto}.project-card.animate-in{opacity:1;transform:translateY(0)}.project-image-container{position:relative;width:100%;aspect-ratio:16/10;overflow:hidden}.project-image{width:100%;height:100%;object-fit:cover;transition:transform var(--motion-slow) var(--ease-standard)}.project-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(0deg,rgba(0,0,0,.9) 0,transparent 100%);padding:var(--space-5);display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-3)}.project-badge,.project-type{color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-wide);line-height:1}.project-badge{background:var(--color-bg);color:var(--color-cta);border:1px solid var(--color-cta);box-shadow:0 2px 10px rgba(245,158,11,.35)}.project-type{background:rgba(59,130,246,.9);font-weight:var(--weight-medium)}.project-content{padding:var(--space-7)}.project-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text);margin-bottom:var(--space-2);line-height:var(--leading-snug);letter-spacing:var(--tracking-tight)}.project-location{color:var(--color-text-muted);font-size:var(--text-sm);margin-bottom:var(--space-4)}.project-description{color:var(--color-text);line-height:var(--leading-relaxed);margin-bottom:var(--space-5);font-size:var(--text-sm)}.project-meta{display:flex;gap:var(--space-3);margin-bottom:var(--space-5);flex-wrap:wrap}.project-detail{font-size:var(--text-xs);color:var(--color-text-muted);padding:var(--space-2) var(--space-3);background:rgba(59,130,246,.1);border-radius:var(--radius-sm);border:1px solid rgba(59,130,246,.2);letter-spacing:var(--tracking-wide)}.project-modal{display:none;position:fixed;inset:0;z-index:var(--z-modal-overlay);align-items:center;justify-content:center;opacity:0;transition:opacity var(--motion-base) var(--ease-standard)}.project-modal.show{display:flex;opacity:1}.project-modal-overlay{position:absolute;inset:0;background:rgba(0,0,0,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.project-modal-content{position:relative;background:var(--color-surface);width:90%;max-width:1000px;max-height:90vh;overflow-y:auto;border-radius:var(--radius-xl);border:2px solid var(--color-border);box-shadow:var(--shadow-lg);animation:modalSlideUp var(--motion-slow) var(--ease-emphasized);z-index:1}@keyframes modalSlideUp{from{transform:translateY(50px);opacity:0}to{transform:translateY(0);opacity:1}}.project-modal-close{position:sticky;top:var(--space-4);right:var(--space-4);float:right;background:rgba(239,68,68,.9);color:#fff;border:0;width:44px;height:44px;border-radius:var(--radius-circle);font-size:var(--text-lg);cursor:pointer;transition:background var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard);z-index:10;display:flex;align-items:center;justify-content:center;font-weight:700}@media (hover:hover){.project-card:hover{transform:translateY(-10px);border-color:var(--color-border-strong);box-shadow:var(--shadow-glow-accent-lg)}.project-card:hover .project-image{transform:scale(1.05)}.project-modal-close:hover{background:#dc2626;transform:rotate(90deg)}.gallery-nav:hover{background:rgba(59,130,246,.9);transform:translateY(-50%) scale(1.1)}}.project-modal-close:focus{outline:white solid 2px;outline-offset:2px}.project-modal-header{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-6);padding:var(--space-6);border-bottom:1px solid var(--color-border)}.project-modal-image-container{position:relative;border-radius:var(--radius-md);overflow:hidden}.project-modal-image{width:100%;height:300px;object-fit:cover;transition:opacity var(--motion-base) var(--ease-standard)}.project-gallery{position:relative}.gallery-main{position:relative;width:100%}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(0,0,0,.7);color:#fff;border:0;width:44px;height:44px;border-radius:var(--radius-circle);font-size:var(--text-2xl);cursor:pointer;transition:background var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard),opacity var(--motion-base) var(--ease-standard);z-index:10;display:flex;align-items:center;justify-content:center;opacity:0;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.gallery-main:hover .gallery-nav{opacity:1}.gallery-nav:active{transform:translateY(-50%) scale(.95)}.gallery-prev{left:var(--space-4)}.gallery-next{right:var(--space-4)}.gallery-nav.hidden{display:none}.gallery-counter{position:absolute;bottom:var(--space-4);right:var(--space-4);background:rgba(0,0,0,.7);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);font-size:var(--text-sm);font-weight:var(--weight-semibold);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:10}.gallery-counter.hidden{display:none}.gallery-thumbnails{display:flex;gap:var(--space-3);margin-top:var(--space-4);overflow-x:auto;padding-bottom:var(--space-2);scrollbar-width:thin;scrollbar-color:var(--color-accent) var(--color-surface)}.gallery-thumbnails::-webkit-scrollbar{height:6px}.gallery-thumbnails::-webkit-scrollbar-track{background:var(--color-surface);border-radius:3px}.gallery-thumbnails::-webkit-scrollbar-thumb{background:var(--color-accent);border-radius:3px}.gallery-thumbnails.hidden{display:none}.gallery-thumbnail{flex-shrink:0;width:80px;height:60px;border-radius:var(--radius-sm);overflow:hidden;cursor:pointer;border:2px solid transparent;transition:opacity var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard);opacity:.6}@media (hover:hover){.gallery-thumbnail:hover{opacity:1;transform:translateY(-2px);box-shadow:0 4px 12px rgba(59,130,246,.3)}}.gallery-thumbnail.active{border-color:var(--color-accent);opacity:1;box-shadow:0 0 0 2px rgba(59,130,246,.3)}.gallery-thumbnail img{width:100%;height:100%;object-fit:cover;display:block}.project-value-badge{position:absolute;top:var(--space-4);right:var(--space-4);background:var(--color-cta);color:#fff;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);font-weight:var(--weight-bold);font-size:var(--text-md);box-shadow:0 4px 15px rgba(245,158,11,.4)}.project-modal-intro{display:flex;flex-direction:column;justify-content:center}.project-modal-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-black);color:var(--color-text);margin-bottom:var(--space-2);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.project-modal-location{color:var(--color-text-muted);font-size:var(--text-md);margin-bottom:var(--space-5)}.project-modal-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-5)}.modal-stat-item{display:flex;flex-direction:column;gap:var(--space-1)}.modal-stat-item strong{color:var(--color-accent);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:var(--tracking-wider)}.modal-stat-item span{color:var(--color-text);font-size:var(--text-md);font-weight:var(--weight-semibold)}.project-modal-body{padding:var(--space-5) var(--space-6)}.project-modal-section{margin-bottom:var(--space-5)}.project-modal-section h3{font-family:var(--font-display);font-size:var(--text-xl);color:var(--color-accent);margin-bottom:var(--space-3);font-weight:var(--weight-bold);line-height:var(--leading-snug)}.project-modal-section p{color:var(--color-text);line-height:var(--leading-relaxed);font-size:var(--text-base);margin:0}.modal-results-list,.modal-services-list{list-style:none;padding:0}.modal-services-list li{color:var(--color-text);padding:var(--space-2) 0 var(--space-2) var(--space-6);position:relative;font-size:var(--text-base)}.modal-services-list li::before{content:"▸";position:absolute;left:0;color:var(--color-accent);font-size:var(--text-md)}.modal-results-list li{color:var(--color-text);padding:var(--space-2) 0;font-size:var(--text-base)}.project-team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4)}.team-item{padding:var(--space-4);background:rgba(59,130,246,.1);border-radius:var(--radius-sm);border:1px solid rgba(59,130,246,.2)}.team-item strong{color:var(--color-accent);font-size:var(--text-sm);display:block;margin-bottom:var(--space-1);letter-spacing:var(--tracking-wide)}.team-item span{color:var(--color-text);font-size:var(--text-base)}.project-modal-testimonial{display:none;background:linear-gradient(135deg,rgba(30,58,138,.2),rgba(15,23,42,.6));padding:var(--space-6);border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-top:var(--space-6);text-align:center}.testimonial-icon{font-size:var(--text-3xl);margin-bottom:var(--space-4)}.project-modal-testimonial blockquote{font-size:var(--text-md);font-style:italic;color:var(--color-text);line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}.project-modal-testimonial cite{color:var(--color-text-muted);font-style:normal;font-size:var(--text-base)}.project-modal-footer{padding:var(--space-6);background:rgba(30,58,138,.1);border-top:1px solid var(--color-border);text-align:center}.project-modal-footer p{color:var(--color-text);font-size:var(--text-md);margin-bottom:var(--space-4);font-weight:var(--weight-medium)}.contact{background:var(--color-bg)}.contact-wrapper{display:grid;grid-template-columns:1fr 1.2fr;gap:var(--space-9);margin-top:var(--space-8)}.contact-info-list{display:flex;flex-direction:column;gap:var(--space-5)}.contact-info-title{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-accent);margin-bottom:var(--space-5);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.contact-item{padding:var(--space-5) var(--space-5) var(--space-5) var(--space-6);background:rgba(30,58,138,.1);border-radius:var(--radius-md);border-left:4px solid var(--color-accent-strong);transition:border-color var(--motion-base) var(--ease-standard),transform var(--motion-base) var(--ease-standard),background var(--motion-base) var(--ease-standard)}@media (hover:hover){.contact-item:hover{border-color:var(--color-accent);transform:translateX(5px);background:rgba(30,58,138,.15)}}.contact-item-content strong{display:block;color:var(--color-accent);font-size:var(--text-md);margin-bottom:var(--space-1);font-weight:var(--weight-semibold)}.contact-item-content a{color:var(--color-accent-soft);text-decoration:none}.contact-item-content a:hover{color:var(--color-accent)}.contact-form{background:linear-gradient(135deg,rgba(30,58,138,.2),rgba(15,23,42,.6));padding:var(--space-8);border-radius:var(--radius-xl);border:1px solid var(--color-border)}.contact-form h3{font-family:var(--font-display);font-size:var(--text-2xl);color:var(--color-accent);margin-bottom:var(--space-6);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.form-group{margin-bottom:var(--space-5)}.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.form-group label{display:block;color:var(--color-text);font-weight:var(--weight-medium);font-size:var(--text-sm);margin-bottom:var(--space-2);letter-spacing:var(--tracking-wide)}.form-group input,.form-group textarea{width:100%;min-height:44px;padding:var(--space-3) var(--space-4);background:rgba(15,23,42,.8);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);font-size:var(--text-base);line-height:var(--leading-snug);transition:border-color var(--motion-base) var(--ease-standard),box-shadow var(--motion-base) var(--ease-standard)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-subtle)}.form-group input:focus-visible,.form-group textarea:focus-visible{outline:0;border-color:var(--color-accent);box-shadow:var(--focus-ring)}.form-group textarea{resize:vertical;min-height:140px;padding:var(--space-4)}.error-message{display:block;color:var(--color-error);font-size:var(--text-sm);margin-top:var(--space-2);min-height:1.25rem;font-weight:var(--weight-medium)}.message-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.8);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:var(--z-modal);align-items:center;justify-content:center;opacity:0;transition:opacity var(--motion-base) var(--ease-standard)}.message-modal.show{display:flex;opacity:1;animation:fadeIn var(--motion-base) var(--ease-standard)}@keyframes fadeIn{from{opacity:0}to{opacity:1}}.modal-content{background:var(--color-surface);padding:var(--space-8) var(--space-6);border-radius:var(--radius-xl);text-align:center;max-width:500px;width:90%;position:relative;border:2px solid var(--color-border);box-shadow:var(--shadow-lg);animation:modalSlideUp var(--motion-slow) var(--ease-emphasized)}.modal-icon{width:80px;height:80px;margin:0 auto var(--space-5);border-radius:var(--radius-circle);display:flex;align-items:center;justify-content:center;font-size:var(--text-3xl);font-weight:700;animation:scaleIn .5s var(--ease-emphasized)}@keyframes scaleIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}.success-icon{background:linear-gradient(135deg,var(--color-success),#059669);color:#fff;box-shadow:0 10px 30px rgba(16,185,129,.4)}.error-icon{background:linear-gradient(135deg,var(--color-error),#dc2626);color:#fff;box-shadow:0 10px 30px rgba(239,68,68,.4)}.modal-title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);margin-bottom:var(--space-4);color:var(--color-text);line-height:var(--leading-tight)}.success-modal .modal-title{color:var(--color-success)}.error-modal .modal-title{color:var(--color-error)}.modal-message{color:var(--color-text-muted);font-size:var(--text-md);line-height:var(--leading-relaxed);margin-bottom:var(--space-6)}footer{background:var(--color-bg-deeper);padding:var(--space-8) var(--section-pad-inline);text-align:center;border-top:1px solid var(--color-border)}footer p{color:var(--color-text-muted);margin:var(--space-2) 0;font-size:var(--text-sm)}footer strong{color:var(--color-accent);font-size:var(--text-base)}footer a{color:var(--color-accent);text-decoration:none;transition:color var(--motion-base) var(--ease-standard)}footer a:hover{color:var(--color-accent-soft);text-decoration:underline}@media (max-width:1024px){.contact-wrapper{grid-template-columns:1fr;gap:var(--space-8)}.portfolio-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));min-height:calc((var(--project-card-min-height) * 5) + (var(--space-7) * 4))}.project-modal-header{grid-template-columns:1fr}.project-modal-image{height:250px}}@media (max-width:768px){:root{--header-height:80px;--section-pad-inline:var(--space-5);--project-card-min-height:680px}.mobile-toggle{display:block}.nav-menu{position:fixed;top:var(--header-height);left:-100%;width:100%;flex-direction:column;background:rgba(15,23,42,.98);padding:var(--space-6);gap:var(--space-5);transition:left var(--motion-base) var(--ease-standard);border-bottom:1px solid var(--color-border);visibility:hidden}.nav-menu.active{left:0;visibility:visible}.services-grid,.stats-grid{grid-template-columns:1fr}.logo-img{height:50px;width:50px}.company-name{font-size:var(--text-base)}.modal-content{padding:var(--space-7) var(--space-5);width:95%}.modal-icon{width:70px;height:70px;font-size:var(--text-2xl)}.portfolio-stats{grid-template-columns:repeat(2,1fr);gap:var(--space-4);padding:var(--space-5)}.portfolio-grid{grid-template-columns:1fr;gap:var(--space-5);min-height:calc((var(--project-card-min-height) * 9) + (var(--space-5) * 8))}.project-content{padding:var(--space-5)}.project-meta{gap:var(--space-2)}.project-modal-content{width:100%;max-height:100vh;border-radius:0;margin:0}.project-modal-header{grid-template-columns:1fr;padding:var(--space-5)}.project-modal-image{height:200px}.gallery-nav{opacity:1}.gallery-prev{left:var(--space-2)}.gallery-next{right:var(--space-2)}.gallery-counter{bottom:var(--space-2);right:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.gallery-thumbnail{width:70px;height:50px}.project-modal-stats{grid-template-columns:1fr;gap:var(--space-4)}.project-modal-body{padding:var(--space-4) var(--space-5)}.project-team-grid{grid-template-columns:1fr}.portfolio-cta-buttons{flex-direction:column;gap:var(--space-4)}.portfolio-cta-buttons .btn{width:100%}}@media (prefers-reduced-motion:reduce){*,::after,::before{animation-duration:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;scroll-behavior:auto!important}}@media print{.contact-form,.gallery-counter,.gallery-nav,.gallery-thumbnails,.hero-buttons,.message-modal,.mobile-toggle,.project-modal,.skip-to-content,header{display:none!important}body{background:#fff;color:#000}.contact,.hero,.portfolio,.portfolio-cta-section,.portfolio-hero,.services,.stats{background:#fff;color:#000;page-break-inside:avoid}.project-card,.service-card,.stat-card{border:1px solid #333;page-break-inside:avoid}a[href]:after{content:" (" attr(href) ")"}a[href^="#"]:after,a[href^="javascript:"]:after{content:""}}