:root{--primary: #593d7a;--primary-dark: #46305f;--primary-light: #7a5ba3;--secondary: #ff7f50;--accent: #ffc961;--bg: #f5f4fc;--surface: #ffffff;--text: #17141d;--muted: #5d636a;--border: #ececf3;--shadow: 0 24px 70px rgba(89, 61, 122, .1);--shadow-strong: 0 34px 90px rgba(89, 61, 122, .18);--ease-out: cubic-bezier(.22, 1, .36, 1)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{min-width:320px;overflow-x:hidden;color:var(--text);font-family:Poppins,Arial,sans-serif;line-height:1.6}body:before{content:"";position:fixed;inset:auto -20% -45%;z-index:-1;height:55vh;background:radial-gradient(circle at 20% 40%,rgba(255,127,80,.12),transparent 32%),radial-gradient(circle at 78% 55%,rgba(255,127,80,.11),transparent 30%);pointer-events:none;transform:translateZ(0)}img{display:block;max-width:100%;height:auto}a{color:inherit}button,input,textarea{font:inherit}.container{width:min(92%,1560px);margin:0 auto}.skip-link{position:absolute;top:12px;left:12px;z-index:2000;transform:translateY(-140%);border-radius:10px;background:var(--text);color:var(--surface);padding:12px 16px;text-decoration:none;transition:transform .2s ease}.skip-link:focus{transform:translateY(0)}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}section{padding:110px 0;scroll-margin-top:130px}.reveal{opacity:0;transform:translate3d(0,34px,0);transition:opacity .75s var(--ease-out),transform .75s var(--ease-out);transition-delay:var(--reveal-delay, 0ms);will-change:opacity,transform}.reveal.reveal-left{transform:translate3d(-42px,0,0)}.reveal.reveal-right{transform:translate3d(42px,0,0)}.reveal.is-visible{opacity:1;transform:translateZ(0);will-change:auto}.stagger>*:nth-child(1){--item-index: 0}.stagger>*:nth-child(2){--item-index: 1}.stagger>*:nth-child(3){--item-index: 2}.stagger>*:nth-child(4){--item-index: 3}.stagger>*:nth-child(5){--item-index: 4}.stagger>*:nth-child(6){--item-index: 5}.stagger>*{transition-delay:calc(var(--item-index, 0) * 90ms)}.site-header{position:fixed;top:20px;z-index:1000;width:100%;pointer-events:none;transition:top .28s ease}.site-nav{width:min(94%,1600px);margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:24px;border:1px solid rgba(255,255,255,.65);border-radius:24px;background:#ffffffdb;box-shadow:0 12px 40px #593d7a1a;padding:16px 30px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);pointer-events:auto;transition:width .28s ease,padding .28s ease,border-radius .28s ease,box-shadow .28s ease,background .28s ease}.site-header.is-scrolled{top:10px}.site-header.is-scrolled .site-nav{width:min(95%,1560px);border-radius:18px;background:#fffffff0;box-shadow:0 14px 38px #161c3d1f;padding:12px 26px}.logo{display:inline-flex;align-items:center;gap:14px;min-width:0;color:var(--text);text-decoration:none}.logo-mark{width:48px;height:48px;flex:0 0 auto;border-radius:14px;background:linear-gradient(135deg,#ff7f50f2,#ff7f50b8),linear-gradient(135deg,var(--primary),#7a5ba3);box-shadow:inset 0 0 0 1px #ffffff8c;transition:transform .25s ease}.logo:hover .logo-mark,.logo:focus-visible .logo-mark{transform:rotate(6deg) scale(1.04)}.logo-title{display:block;font-size:18px;font-weight:800;line-height:1.15}.logo-subtitle{display:block;color:var(--muted);font-size:11px;font-weight:500;line-height:1.3}.nav-links{display:flex;align-items:center;gap:30px;list-style:none}.nav-links a{position:relative;color:#1f2544;font-weight:500;text-decoration:none;transition:color .2s ease}.nav-links a:after{content:"";position:absolute;right:0;bottom:-8px;left:0;height:2px;border-radius:999px;background:linear-gradient(90deg,var(--secondary),var(--primary),var(--accent));transform:scaleX(0);transform-origin:right;transition:transform .25s ease}.nav-links a:hover,.nav-links a:focus-visible{color:var(--primary)}.nav-links a:hover:after,.nav-links a:focus-visible:after{transform:scaleX(1);transform-origin:left}.nav-right{display:flex;align-items:center;gap:20px}.phone-link{color:var(--text);font-weight:600;text-decoration:none;white-space:nowrap}.btn{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;border:0;border-radius:14px;padding:14px 26px;cursor:pointer;font-weight:700;text-decoration:none;transition:box-shadow .25s ease,transform .25s ease,background .25s ease}.btn:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.28),transparent);transform:translate(-120%);transition:transform .55s ease}.btn:hover:before,.btn:focus-visible:before{transform:translate(120%)}.btn>*{position:relative;z-index:1}.btn .ripple{position:absolute;width:12px;height:12px;border-radius:50%;background:#ffffff6b;pointer-events:none;transform:translate(-50%,-50%) scale(0);animation:ripple .62s ease-out}.btn:disabled{cursor:wait;opacity:.72}.btn-primary{background:linear-gradient(135deg,var(--primary),#7a5ba3);color:var(--surface);box-shadow:0 14px 30px #593d7a3d}.btn-primary:hover,.btn-primary:focus-visible{transform:translateY(-3px);box-shadow:0 20px 42px #593d7a52}.btn-outline{border:1px solid var(--border);background:var(--surface);color:var(--text)}.btn-outline:hover,.btn-outline:focus-visible{transform:translateY(-3px);box-shadow:0 14px 28px #593d7a1f}.menu-toggle{display:none;width:46px;height:46px;flex:0 0 auto;border:1px solid var(--border);border-radius:14px;background:var(--surface);color:var(--text);cursor:pointer;transition:transform .2s ease,box-shadow .2s ease}.menu-toggle:hover,.menu-toggle:focus-visible{transform:translateY(-2px);box-shadow:0 10px 24px #593d7a24}.hero{position:relative;overflow:hidden;padding-top:180px}.hero:before{content:"";position:absolute;top:-250px;right:-150px;width:650px;height:650px;border-radius:50%;background:#593d7a14;filter:blur(120px);animation:gradientGlow 8s ease-in-out infinite alternate}.hero:after{content:"";position:absolute;top:18%;left:4%;width:310px;height:310px;border-radius:50%;background:#ff7f501a;filter:blur(92px);animation:softPulse 9s ease-in-out infinite;pointer-events:none}.hero-wrapper{position:relative;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);align-items:center;gap:78px}.eyebrow{color:var(--primary);font-size:13px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}h1{max-width:780px;margin:24px 0;font-size:clamp(3rem,6vw,4.875rem);line-height:1.1}h1 span,.contact-section-title span{color:var(--primary)}.hero-text p{max-width:650px;margin-bottom:38px;color:var(--muted);font-size:18px;line-height:1.9}.hero-text .eyebrow,.hero-text h1,.hero-text p,.hero-buttons{opacity:0;transform:translate3d(0,28px,0);animation:heroIntro .8s var(--ease-out) forwards}.hero-text h1{animation-delay:.12s}.hero-text p{animation-delay:.24s}.hero-buttons{animation-delay:.36s}.hero-buttons{display:flex;flex-wrap:wrap;gap:18px}.hero-card{position:relative;isolation:isolate;border-radius:32px;background:#ffffffdb;box-shadow:var(--shadow);padding:24px;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);animation:heroFloat 6s ease-in-out infinite;transform:translateZ(0)}.hero-card:after{content:"";position:absolute;inset:18px;z-index:-1;border-radius:28px;background:linear-gradient(135deg,#593d7a3d,#ff7f501f);filter:blur(32px);opacity:.65}.floating-card{position:absolute;right:-18px;bottom:44px;display:inline-flex;align-items:center;gap:10px;border-radius:18px;background:#fffffff0;box-shadow:0 16px 40px #593d7a29;padding:16px 20px;font-weight:700;animation:miniFloat 4.8s ease-in-out infinite .2s}.floating-card svg{color:var(--accent)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);margin-top:70px;overflow:hidden;border-radius:28px;background:#ffffffe6;box-shadow:var(--shadow)}.stat-card{border-right:1px solid rgba(89,61,122,.08);padding:40px 28px;text-align:center}.stat-card:last-child{border-right:0}.stat-card strong{display:block;margin-bottom:8px;color:var(--primary);font-size:42px;line-height:1;font-variant-numeric:tabular-nums}.stat-card span{color:var(--muted)}.section-title{max-width:760px;margin:0 auto 64px;text-align:center}.section-title h2,.about-content h2,.contact-section-title{margin:18px 0;font-size:clamp(2.25rem,4.4vw,3.5rem);line-height:1.18}.section-title p,.about-content p,.project-content p,.service-card p{color:var(--muted);line-height:1.85}.services-grid,.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.service-card,.project-card{position:relative;border:1px solid rgba(89,61,122,.08);border-radius:24px;background:var(--surface);box-shadow:0 12px 30px #593d7a0d;transition:box-shadow .3s ease,transform .3s ease,border-color .3s ease}.service-card{padding:36px}.service-card:hover,.project-card:hover{transform:translateY(-10px);box-shadow:var(--shadow-strong)}.service-card:hover .service-icon,.service-card:focus-within .service-icon{transform:scale(1.08) rotate(2deg);background:#593d7a21}.service-icon,.contact-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--primary);background:#593d7a14}.service-icon{width:72px;height:72px;margin-bottom:24px;border-radius:22px;transition:transform .3s ease,background .3s ease}.service-icon svg{width:32px;height:32px}.service-card h3,.project-content h3{margin-bottom:14px;font-size:23px}.about-wrapper{display:grid;grid-template-columns:minmax(320px,.92fr) minmax(0,1.08fr);align-items:center;gap:64px;border-radius:32px;background:var(--surface);box-shadow:var(--shadow);padding:64px}.about-image{overflow:hidden;border-radius:24px}.about-image img{transition:transform .6s var(--ease-out)}.about-image:hover img,.about-image:focus-within img{transform:scale(1.045)}.features{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:32px 0 38px}.feature-item{display:flex;align-items:center;gap:10px;border-radius:14px;background:var(--bg);padding:16px;font-weight:600}.feature-item svg{color:var(--secondary);flex-shrink:0}.project-card{overflow:hidden}.project-card:before{content:"";position:absolute;inset:0;z-index:1;border-radius:inherit;padding:1px;background:linear-gradient(135deg,#593d7ad9,#ff7f508c,#ff7f508c);opacity:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;pointer-events:none;transition:opacity .3s ease}.project-card:hover:before,.project-card:focus-within:before{opacity:1}.project-card img{width:100%;height:240px;object-fit:contain;padding:20px 20px 0;background:radial-gradient(ellipse at 50% 30%,rgba(89,61,122,.1),transparent 70%);transition:transform .5s var(--ease-out)}.project-card:hover img,.project-card:focus-within img{transform:scale(1.045)}.project-content{padding:28px}.tag{display:inline-block;margin-top:16px;border-radius:999px;background:#593d7a14;color:var(--primary);padding:9px 16px;font-size:14px;font-weight:700}#techstack{background:var(--surface)}.tech-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:20px}.tech-item{display:flex;flex-direction:column;align-items:center;gap:12px;border:1px solid rgba(89,61,122,.08);border-radius:20px;background:var(--bg);padding:24px 16px;text-align:center;font-size:13px;font-weight:600;color:var(--muted);transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease}.tech-item:hover{transform:translateY(-6px);border-color:#593d7a38;box-shadow:0 16px 40px #593d7a1a}.tech-item svg{width:36px;height:36px;color:var(--primary)}#why{background:var(--bg)}.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}.why-card{border:1px solid rgba(89,61,122,.08);border-radius:24px;background:var(--surface);padding:36px 32px;box-shadow:0 12px 30px #593d7a0d;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;position:relative;overflow:hidden}.why-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--secondary));opacity:0;transition:opacity .3s ease}.why-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-strong);border-color:#593d7a29}.why-card:hover:before{opacity:1}.why-icon{width:60px;height:60px;border-radius:18px;background:#593d7a14;display:flex;align-items:center;justify-content:center;color:var(--primary);margin-bottom:22px;transition:background .3s ease,transform .3s ease}.why-card:hover .why-icon{background:#593d7a24;transform:scale(1.08) rotate(2deg)}.why-icon svg{width:28px;height:28px}.why-card h3{font-size:20px;font-weight:700;margin-bottom:12px}.why-card p{color:var(--muted);line-height:1.85;font-size:15px}#contact{overflow:hidden;background:var(--bg)}.contact-form-wrapper{max-width:700px;margin:0 auto 72px}.contact-form-card{border:1px solid rgba(89,61,122,.12);border-radius:28px;background:linear-gradient(180deg,#fffffff5,#f8f7fffc);box-shadow:0 20px 60px #593d7a1f;padding:48px 44px;transition:box-shadow .3s ease,transform .3s ease,border-color .3s ease}.contact-form-card:hover{box-shadow:0 20px 60px #593d7a26;transform:translateY(-3px)}.form-header{margin-bottom:36px;text-align:center}.form-header h3{font-size:26px;font-weight:800;color:var(--text);margin-bottom:8px}.form-header p{color:var(--muted);font-size:15px;line-height:1.6}.form-header-divider{width:56px;height:3px;background:linear-gradient(90deg,var(--primary),var(--secondary));border-radius:999px;margin:16px auto 0}.contact-form{display:flex;flex-direction:column;gap:16px}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field-wrap{position:relative}.field-wrap label{position:absolute;top:50%;left:16px;transform:translateY(-50%);font-size:14px;font-weight:500;color:var(--muted);pointer-events:none;background:transparent;padding:0 4px;transition:top .18s var(--ease-out),font-size .18s var(--ease-out),color .18s ease,transform .18s var(--ease-out)}.field-wrap.textarea-wrap label{top:20px;transform:none}.field-wrap input:focus~label,.field-wrap input:not(:placeholder-shown)~label,.field-wrap textarea:focus~label,.field-wrap textarea:not(:placeholder-shown)~label{top:0;transform:translateY(-50%);font-size:11px;color:var(--primary);background:var(--surface);padding:0 5px}.field-wrap.textarea-wrap textarea:focus~label,.field-wrap.textarea-wrap textarea:not(:placeholder-shown)~label{top:0;transform:translateY(-50%);font-size:11px;color:var(--primary);background:var(--surface);padding:0 5px}.contact-form input,.contact-form textarea{width:100%;border:1.5px solid rgba(89,61,122,.14);border-radius:12px;outline:none;background:#f8f7ff;padding:16px 18px;color:var(--text);font-size:15px;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease}.contact-form input::placeholder,.contact-form textarea::placeholder{color:transparent}.contact-form textarea{min-height:140px;resize:vertical}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px #593d7a1a;background:var(--surface)}.field-wrap.is-error input,.field-wrap.is-error textarea{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a;background:var(--surface)}.field-wrap.is-error label{color:#e53e3e}.field-wrap.is-valid input,.field-wrap.is-valid textarea{border-color:#38a169;box-shadow:0 0 0 3px #38a16914}.field-error-msg{display:none;font-size:12px;font-weight:600;color:#e53e3e;margin-top:5px;padding-left:2px}.field-wrap.is-error .field-error-msg{display:block}.btn-submit{width:100%;min-height:56px;border-radius:14px;background:linear-gradient(135deg,var(--primary) 0%,var(--primary-light) 100%);color:var(--surface);font-size:16px;font-weight:700;border:0;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;position:relative;overflow:hidden;margin-top:4px;box-shadow:0 10px 30px #593d7a47;transition:transform .25s ease,box-shadow .25s ease,opacity .2s ease}.btn-submit:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.2),transparent);transform:translate(-120%);transition:transform .5s ease}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 18px 40px #593d7a5c}.btn-submit:hover:not(:disabled):before{transform:translate(120%)}.btn-submit:focus-visible{outline:3px solid var(--primary);outline-offset:3px}.btn-submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.btn-submit svg{flex-shrink:0}.btn-submit .spinner{width:20px;height:20px;border-radius:50%;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;animation:spin .7s linear infinite;flex-shrink:0}@keyframes spin{to{transform:rotate(360deg)}}.form-status{display:none;border-radius:12px;padding:15px 18px;font-size:14px;font-weight:600;line-height:1.5}.form-status.is-visible{display:flex;align-items:flex-start;gap:10px;animation:statusPop .3s var(--ease-out)}.form-status svg{flex-shrink:0;margin-top:1px}.form-status.success{background:#38a16917;color:#276749;border:1px solid rgba(56,161,105,.2)}.form-status.error{background:#e53e3e12;color:#c53030;border:1px solid rgba(229,62,62,.16)}.form-note{margin-top:18px;font-size:14px;color:var(--muted);text-align:center}.contact-cards-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:64px}.contact-card{background:var(--surface);border:1px solid rgba(89,61,122,.09);border-radius:18px;padding:20px 22px;display:flex;flex-direction:row;align-items:center;gap:16px;box-shadow:0 2px 12px #593d7a0d;transition:transform .3s ease,box-shadow .3s ease,border-color .3s ease;position:relative;overflow:hidden}.contact-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary),var(--secondary));opacity:0;transition:opacity .3s ease}.contact-card:hover{transform:translateY(-5px);box-shadow:0 18px 44px #593d7a21;border-color:#593d7a33}.contact-card:hover:before{opacity:1}.contact-card-icon{width:52px;height:52px;flex-shrink:0;border-radius:14px;background:#593d7a14;display:flex;align-items:center;justify-content:center;color:var(--primary);transition:background .3s ease,transform .3s ease}.contact-card:hover .contact-card-icon{background:#593d7a26;transform:scale(1.1) rotate(3deg)}.contact-card-icon svg{width:24px;height:24px}.contact-card-body{display:flex;flex-direction:column;gap:3px;min-width:0}.contact-card-label{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;line-height:1}.contact-card-value{font-size:15px;font-weight:700;color:var(--text);text-decoration:none;line-height:1.35;transition:color .2s ease;display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}a.contact-card-value:hover{color:var(--primary)}.contact-card-hours{display:flex;flex-direction:column;gap:4px}.hours-row{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}.hours-days{font-size:13px;font-weight:700;color:var(--text);white-space:nowrap}.hours-sep{font-size:12px;color:var(--muted)}.hours-time{font-size:12px;color:var(--muted);font-weight:500}.contact-social-section{margin-top:36px;display:flex;flex-direction:column;align-items:center;gap:6px}.contact-social-heading{font-size:16px;font-weight:800;color:var(--text)}.contact-social-desc{font-size:13px;color:var(--muted);text-align:center;max-width:420px;line-height:1.6}.contact-social-icons{display:flex;align-items:center;gap:12px;margin-top:16px}.contact-social-icons a{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border-radius:50%;border:1.5px solid rgba(89,61,122,.14);background:var(--surface);color:var(--primary);text-decoration:none;transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease,border-color .25s ease}.contact-social-icons a svg{width:18px;height:18px}.contact-social-icons a:hover,.contact-social-icons a:focus-visible{transform:translateY(-4px) scale(1.1);background:var(--primary);color:var(--surface);border-color:var(--primary);box-shadow:0 12px 24px #593d7a3d}.contact-social-icons a[aria-label*=LinkedIn]:hover{background:#0077b5;border-color:#0077b5;box-shadow:0 12px 24px #0077b547}.contact-social-icons a[aria-label*=Instagram]:hover{background:#e1306c;border-color:#e1306c;box-shadow:0 12px 24px #e1306c47}.contact-social-icons a[aria-label*=Facebook]:hover{background:#1877f2;border-color:#1877f2;box-shadow:0 12px 24px #1877f247}.contact-social-icons a[aria-label*=YouTube]:hover{background:red;border-color:red;box-shadow:0 12px 24px #ff000038}.social-links{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-top:20px}.social-links a{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:40px;height:40px;border-radius:50%;border:1px solid rgba(89,61,122,.18);background:var(--bg);color:var(--primary);text-decoration:none;transition:background .22s ease,color .22s ease,transform .22s ease,box-shadow .22s ease}.social-links a:hover,.social-links a:focus-visible{background:var(--primary);color:var(--surface);transform:translateY(-3px);box-shadow:0 10px 22px #593d7a38;outline:none}.social-links a svg{display:block;width:18px;height:18px;max-width:18px;max-height:18px;flex-shrink:0;pointer-events:none}footer{background:var(--surface);padding:86px 0 34px}.footer-grid{display:grid;grid-template-columns:minmax(260px,2fr) repeat(3,minmax(150px,1fr));gap:44px}.footer-grid h2,.footer-grid h3{margin-bottom:18px;font-size:18px}.footer-grid p,.footer-grid li,.footer-grid a{color:var(--muted)}.footer-grid p{line-height:1.8}.footer-description{margin-top:20px}.footer-grid ul{list-style:none}.footer-grid li{margin-bottom:12px}.footer-grid a{text-decoration:none;transition:color .2s ease}.footer-grid a:hover,.footer-grid a:focus-visible{color:var(--primary)}.footer-bottom{margin-top:40px;border-top:1px solid rgba(89,61,122,.08);padding-top:28px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px}.footer-legal{display:flex;flex-wrap:wrap;gap:20px;align-items:center}.footer-legal a{color:var(--muted);font-size:13px;text-decoration:none;transition:color .2s ease}.footer-legal a:hover,.footer-legal a:focus-visible{color:var(--primary)}.footer-legal span{color:#593d7a33}.copyright-text{color:var(--muted);font-size:13px}:focus-visible{outline:2px solid var(--primary);outline-offset:3px;border-radius:4px}:focus:not(:focus-visible){outline:none}@keyframes heroIntro{to{opacity:1;transform:translateZ(0)}}@keyframes heroFloat{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-14px,0)}}@keyframes miniFloat{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,-8px,0)}}@keyframes gradientGlow{0%{transform:translateZ(0) scale(1);opacity:.75}to{transform:translate3d(-24px,28px,0) scale(1.08);opacity:1}}@keyframes softPulse{0%,to{transform:scale(.96);opacity:.42}50%{transform:scale(1.08);opacity:.72}}@keyframes statusPop{0%{opacity:0;transform:translate3d(0,8px,0) scale(.98)}to{opacity:1;transform:translateZ(0) scale(1)}}@keyframes ripple{to{opacity:0;transform:translate(-50%,-50%) scale(28)}}@media(max-width:1100px){.hero-wrapper,.about-wrapper{grid-template-columns:1fr}.services-grid,.projects-grid,.footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tech-grid{grid-template-columns:repeat(4,1fr)}.stats-grid{grid-template-columns:repeat(2,1fr)}.hero-wrapper{gap:48px}.why-grid,.contact-cards-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:860px){.site-nav{position:relative;padding:14px 16px}.menu-toggle{display:inline-flex;align-items:center;justify-content:center}.nav-right{display:none}.nav-links{position:absolute;top:calc(100% + 14px);right:0;left:0;display:flex;flex-direction:column;align-items:stretch;gap:10px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);padding:18px;opacity:0;pointer-events:none;transform:translate3d(0,-12px,0) scale(.98);transform-origin:top;visibility:hidden;transition:opacity .24s ease,transform .24s ease,visibility .24s ease}.nav-links.is-open{opacity:1;pointer-events:auto;transform:translateZ(0) scale(1);visibility:visible}.nav-links a{display:block;border-radius:12px;padding:10px 12px}.nav-links a:after{bottom:4px;left:12px;right:12px}section{padding:84px 0}.hero{padding-top:150px}.floating-card{right:14px;bottom:22px}.about-wrapper{padding:32px}.tech-grid{grid-template-columns:repeat(3,1fr)}.contact-form-card{padding:40px 36px}}@media(max-width:640px){.logo-title{font-size:16px}.logo-subtitle{max-width:160px;font-size:10px}.hero-buttons,.btn{width:100%}.stats-grid,.services-grid,.projects-grid,.features,.footer-grid,.tech-grid,.why-grid{grid-template-columns:1fr}.stat-card{border-right:0;border-bottom:1px solid rgba(89,61,122,.08)}.stat-card:last-child{border-bottom:0}.form-row{grid-template-columns:1fr}.contact-form-card{padding:28px 22px}.contact-cards-grid{grid-template-columns:1fr}.contact-social-icons{flex-wrap:wrap;justify-content:center}.footer-bottom{flex-direction:column;align-items:flex-start}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.reveal,.reveal.reveal-left,.reveal.reveal-right{opacity:1;transform:none}}.scroll-progress{position:fixed;top:0;left:0;height:3px;width:100%;transform:scaleX(var(--scroll, 0));transform-origin:left;background:linear-gradient(90deg,var(--secondary),var(--primary),var(--accent));z-index:3000;pointer-events:none;box-shadow:0 1px 8px #593d7a66}.hero{isolation:isolate}.hero .container{position:relative;z-index:1}h1 span,.contact-section-title span,.section-title h2 span{background:linear-gradient(120deg,var(--primary) 0%,#6b4e93 45%,var(--secondary) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.tilt{transform-style:preserve-3d;transition:transform .3s var(--ease-out),box-shadow .3s ease;will-change:transform}.tilt>*{transform:translateZ(.01px)}.tilt-glare{position:absolute;inset:0;border-radius:inherit;opacity:0;transition:opacity .3s ease;pointer-events:none;mix-blend-mode:soft-light;z-index:4}.hero-card{transform-style:preserve-3d;box-shadow:0 40px 90px #593d7a38,0 8px 24px #161c3d14}.hero-card img{border-radius:22px;transform:translateZ(40px)}.service-card,.project-card,.why-card,.tech-item{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}@media(prefers-reduced-motion:reduce){.scroll-progress{display:none}.hero-card img{transform:none}}::selection{background:#593d7a38;color:var(--text)}html{scrollbar-color:var(--primary) transparent;scrollbar-width:thin}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--bg)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--primary),var(--secondary));border-radius:99px;border:3px solid var(--bg)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,var(--primary-dark),var(--primary))}section{position:relative}section>.container{position:relative;z-index:1}#services:before,#projects:before,#contact:before{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(89,61,122,.08),transparent 68%);top:-140px;right:-160px;pointer-events:none;z-index:0}#projects:before{inset:auto auto -160px -180px;background:radial-gradient(circle,rgba(255,127,80,.09),transparent 68%)}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:7px 16px 7px 13px;border-radius:999px;background:#593d7a12;border:1px solid rgba(89,61,122,.16);color:var(--primary);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.eyebrow:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 3px #593d7a2e}.section-title h2{position:relative}.section-title h2:after{content:"";display:block;width:66px;height:4px;margin:22px auto 0;border-radius:999px;background:linear-gradient(90deg,var(--primary),var(--secondary))}.btn-primary{background:linear-gradient(135deg,var(--primary) 0%,#593d7a 55%,var(--secondary) 130%);box-shadow:0 14px 30px #593d7a42,inset 0 1px #ffffff40}.btn-outline{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffffb3}.stats-grid{background:linear-gradient(135deg,#fffffff5,#f4f2fff5);border:1px solid rgba(89,61,122,.1);box-shadow:0 30px 70px #593d7a1f;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.stat-card{transition:background .3s ease}.stat-card:hover{background:#593d7a0a}.stat-card strong{background:linear-gradient(120deg,var(--primary),var(--secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent}.service-icon{background:linear-gradient(135deg,#593d7a1f,#ff7f5014);box-shadow:inset 0 1px #fff9}.service-card:hover{border-color:#593d7a33}.service-card:hover .service-icon{box-shadow:0 12px 30px #593d7a33;color:var(--primary)}.feature-item{border:1px solid rgba(89,61,122,.08);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.feature-item:hover{transform:translateY(-3px);border-color:#593d7a33;box-shadow:0 10px 26px #593d7a1a}.about-image{position:relative;box-shadow:0 30px 70px #593d7a29}.about-image:after{content:"";position:absolute;inset:0;border-radius:inherit;padding:2px;pointer-events:none;background:linear-gradient(135deg,rgba(89,61,122,.6),rgba(255,127,80,.4),transparent 70%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude}.project-card img{filter:saturate(1.05)}.tag{border:1px solid rgba(89,61,122,.16);box-shadow:0 4px 14px #593d7a14}.tech-marquee{position:relative;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent);mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent)}.tech-track{display:flex;gap:20px;width:max-content;animation:techScroll 34s linear infinite}.tech-marquee:hover .tech-track{animation-play-state:paused}.tech-track .tech-item{flex:0 0 auto;width:180px}@keyframes techScroll{to{transform:translate(-50%)}}.to-top{position:fixed;right:26px;bottom:26px;z-index:2500;width:52px;height:52px;border-radius:16px;border:0;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;color:#fff;background:linear-gradient(135deg,var(--primary),var(--primary-light));box-shadow:0 16px 36px #593d7a66;opacity:0;visibility:hidden;transform:translateY(16px) scale(.9);transition:opacity .3s ease,transform .3s var(--ease-out),visibility .3s ease,box-shadow .3s ease}.to-top.is-shown{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.to-top:hover{transform:translateY(-4px) scale(1.05);box-shadow:0 22px 48px #593d7a80}.to-top svg{width:22px;height:22px}footer{position:relative;border-top:1px solid rgba(89,61,122,.08)}footer:before{content:"";position:absolute;top:-1px;left:0;right:0;height:3px;background:linear-gradient(90deg,transparent,var(--primary),var(--secondary),transparent)}.footer-grid .logo-mark{box-shadow:inset 0 0 0 1px #ffffff8c,0 8px 20px #593d7a40}@media(max-width:640px){.to-top{right:16px;bottom:16px;width:46px;height:46px}}@media(max-width:1024px){.site-nav{position:relative;padding:14px 16px}.menu-toggle{display:inline-flex;align-items:center;justify-content:center}.nav-right{display:none}.nav-links{position:absolute;top:calc(100% + 14px);right:0;left:0;display:flex;flex-direction:column;align-items:stretch;gap:10px;border:1px solid var(--border);border-radius:20px;background:var(--surface);box-shadow:var(--shadow);padding:18px;opacity:0;pointer-events:none;transform:translate3d(0,-12px,0) scale(.98);transform-origin:top;visibility:hidden;transition:opacity .24s ease,transform .24s ease,visibility .24s ease}.nav-links.is-open{opacity:1;pointer-events:auto;transform:translateZ(0) scale(1);visibility:visible}.nav-links a{display:block;border-radius:12px;padding:10px 12px}}.site-nav{background:#ffffffb8;-webkit-backdrop-filter:blur(22px) saturate(1.4);backdrop-filter:blur(22px) saturate(1.4);box-shadow:0 10px 30px #161c3d14,inset 0 1px #ffffffb3}.site-header.is-scrolled .site-nav{background:#ffffffe6;box-shadow:0 14px 38px #161c3d1f,inset 0 1px #fffc}.logo-mark{position:relative}.logo-mark:after{content:"P";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:900;font-size:24px;line-height:1;text-shadow:0 2px 6px rgba(22,28,61,.25)}.nav-links a{padding:6px 2px;font-weight:600}.nav-links a.is-active{color:var(--primary)}.nav-links a.is-active:after{transform:scaleX(1);transform-origin:left}.nav-cta{padding:12px 22px;min-height:46px}.nav-cta svg{transition:transform .25s ease}.nav-cta:hover svg,.nav-cta:focus-visible svg{transform:translate(4px)}.menu-toggle[aria-expanded=true]{background:linear-gradient(135deg,var(--primary),var(--primary-light));color:#fff;border-color:transparent}@media(max-width:1024px){.nav-links a.is-active{background:#593d7a17;color:var(--primary)}}.nav-links{gap:26px}.nav-links a,.nav-cta{white-space:nowrap}@media(min-width:1025px)and (max-width:1180px){.nav-links{gap:18px}.nav-right{gap:14px}.phone-link{display:none}}html{background:var(--bg)}body{background:transparent}app-bg3d{position:fixed;inset:0;z-index:-1;display:block;pointer-events:none}#services,#about,#projects,#why,#contact,#why-join,#process,.hero{background:transparent}#techstack,#openings{background:#fff9}p.eyebrow{color:var(--primary)}.service-card:hover,.project-card:hover,.why-card:hover,.process-step:hover,.job-card:hover{border-color:#593d7a47;box-shadow:0 30px 70px #593d7a29}.tech-item:hover,.contact-card:hover,.feature-item:hover{border-color:#593d7a3d}.hero-solo{grid-template-columns:1fr;text-align:center;min-height:62vh;align-content:center}.hero-solo .hero-text{display:flex;flex-direction:column;align-items:center}.hero-solo .hero-text h1,.hero-solo .hero-text p{margin-left:auto;margin-right:auto}.hero-solo .hero-buttons{justify-content:center}.has-dropdown{position:relative}.nav-drop-toggle{display:inline-flex;align-items:center;gap:6px;background:none;border:0;cursor:pointer;font:inherit;font-weight:600;color:#1f2544;padding:6px 2px;white-space:nowrap}.nav-drop-toggle .chevron{transition:transform .25s ease}.has-dropdown.is-open .nav-drop-toggle .chevron{transform:rotate(180deg)}.nav-drop-toggle:hover,.nav-drop-toggle:focus-visible{color:var(--primary)}.dropdown{position:absolute;top:calc(100% + 16px);left:50%;transform:translate(-50%) translateY(8px);min-width:320px;list-style:none;background:#fffffff0;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-strong);padding:10px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .22s ease,transform .22s var(--ease-out),visibility .22s ease;z-index:100}.dropdown:before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}.dropdown li{margin:0}.dropdown a{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-radius:12px;text-decoration:none;color:var(--text);font-weight:600;font-size:15px;transition:background .18s ease,color .18s ease}.dropdown a:hover,.dropdown a:focus-visible{background:#593d7a14;color:var(--primary)}.dropdown-cat{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}.dropdown a:hover .dropdown-cat,.dropdown a:focus-visible .dropdown-cat{color:var(--primary)}.dropdown-all{border-top:1px solid var(--border);margin-top:6px;padding-top:4px}.dropdown-all a{color:var(--primary);font-weight:800}.dropdown.is-open{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(0)}@media(min-width:1025px){.has-dropdown:hover .dropdown,.has-dropdown:focus-within .dropdown{opacity:1;visibility:visible;pointer-events:auto;transform:translate(-50%) translateY(0)}}@media(max-width:1024px){.has-dropdown{position:static}.nav-drop-toggle{width:100%;justify-content:space-between;padding:10px 12px;color:var(--text);border-radius:12px}.dropdown{position:static;transform:none;min-width:0;width:100%;background:#593d7a0d;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:4px;margin-top:6px;max-height:0;overflow:hidden;opacity:1;visibility:visible;pointer-events:auto;transition:max-height .3s ease}.dropdown.is-open{max-height:560px;transform:none}}a.project-card{text-decoration:none;color:inherit;display:block}
