:root{font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.5;font-weight:400;--color-bg: #f8fafc;--color-surface: #ffffff;--color-text: #2d2d2d;--color-text-muted: #6b7280;--color-border: #e5e7eb;--color-accent: #1e5a8c;--color-accent-hover: #2d7ab5;--color-header-bg: #0f172a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:var(--color-bg);color:var(--color-text)}@media(prefers-color-scheme:dark){:root{--color-bg: #1a1d21;--color-surface: #252a30;--color-text: #e5e7eb;--color-text-muted: #9ca3af;--color-border: #374151;--color-accent: #3b82c4;--color-accent-hover: #60a5fa}}.modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:var(--color-bg);border-radius:12px;padding:2rem;max-width:480px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px -12px #00000040;position:relative;animation:slideUp .3s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:1.75rem;line-height:1;cursor:pointer;color:var(--color-text-muted);padding:.25rem;transition:color .2s}.modal-close:hover{color:var(--color-text)}.modal-content h2{margin:0 0 .5rem;font-size:1.5rem;color:var(--color-accent)}.modal-subtitle{margin:0 0 1.5rem;color:var(--color-text-muted);font-size:.95rem}.contact-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.375rem}.form-group label{font-size:.875rem;font-weight:500;color:var(--color-text)}.form-group input,.form-group textarea{padding:.625rem .875rem;border:1px solid var(--color-border);border-radius:8px;font-size:1rem;font-family:inherit;background:var(--color-bg);color:var(--color-text);transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--color-accent)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-muted);opacity:.7}.form-group input:disabled,.form-group textarea:disabled{opacity:.7;cursor:not-allowed}.form-error{padding:.75rem;background:#dc26261a;border:1px solid rgba(220,38,38,.3);border-radius:8px;color:#dc2626;font-size:.9rem}.form-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.5rem}.btn-primary,.btn-secondary{padding:.625rem 1.25rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s;border:none}.btn-primary{background:var(--color-accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.7;cursor:not-allowed}.btn-secondary{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text-muted)}.modal-success{text-align:center;padding:1rem 0}.modal-success p{margin:0 0 1.5rem;color:var(--color-text);font-size:1.1rem}.app{min-height:100vh;display:flex;flex-direction:column}.header{position:fixed;top:0;left:0;right:0;padding:1.5rem 2rem;z-index:100;background:transparent;transition:background .3s ease}.header.scrolled{background:#0f172aeb}.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}.header-brand{display:flex;align-items:center;gap:.75rem;text-decoration:none}.header-logo{height:58px;width:auto;display:block}.header-company-name{font-size:1.5rem;font-weight:700;color:#fff;letter-spacing:.02em}.header-nav-desktop{display:flex;align-items:center;gap:2rem}.header-menu-toggle{display:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border:none;border-radius:8px;background:transparent;cursor:pointer;z-index:210;flex-shrink:0}.header-menu-toggle:focus-visible{outline:2px solid rgba(255,255,255,.8);outline-offset:2px}.header-menu-toggle-lines{display:flex;flex-direction:column;justify-content:center;gap:6px;width:22px}.header-menu-toggle-line{display:block;height:2px;width:100%;background:#fff;border-radius:1px;transition:transform .2s ease,opacity .2s ease}.header-menu-toggle-open .header-menu-toggle-line:nth-child(1){transform:translateY(8px) rotate(45deg)}.header-menu-toggle-open .header-menu-toggle-line:nth-child(2){opacity:0}.header-menu-toggle-open .header-menu-toggle-line:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-nav-backdrop{display:none;position:fixed;inset:0;z-index:198;background:#00000073;opacity:0;visibility:hidden;transition:opacity .25s ease,visibility .25s ease}.mobile-nav-backdrop-visible{opacity:1;visibility:visible}.mobile-nav-drawer{display:none;position:fixed;top:0;right:0;z-index:199;width:min(18.5rem,88vw);height:100vh;height:100dvh;padding:calc(5rem + env(safe-area-inset-top,0px)) 1.5rem 2rem;background:#0f172a;box-shadow:-12px 0 40px #00000040;transform:translate(100%);transition:transform .28s ease;overflow-y:auto}.mobile-nav-drawer-open{transform:translate(0)}.mobile-nav-drawer-inner{display:flex;flex-direction:column;gap:.25rem}.mobile-nav-link{display:block;padding:1rem .25rem;font-size:1rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#fffffff2;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.1);transition:color .2s,background .2s}.mobile-nav-link:hover,.mobile-nav-link:focus-visible{color:#fff;background:#ffffff0f}.mobile-nav-cta{margin-top:1.25rem;padding:.85rem 1.25rem;width:100%;border:none;border-radius:999px;background:#000;color:#fff;font-size:.9rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-family:inherit;cursor:pointer;transition:background .2s}.mobile-nav-cta:hover{background:#1a1a1a}.nav-link{font-size:.85rem;font-weight:500;color:#ffffffe6;text-decoration:none;letter-spacing:.05em;transition:color .2s}.nav-link:hover{color:#fff}.btn-header-cta{padding:.6rem 1.5rem;background:#000;color:#fff;border:none;border-radius:999px;font-size:.85rem;font-weight:600;letter-spacing:.05em;cursor:pointer;transition:background .2s,transform .2s}.btn-header-cta:hover{background:#1a1a1a;transform:translateY(-1px)}main{flex:1}.hero{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#1e3a5f 40%,#2d1b4e);text-align:center;overflow:hidden}.hero-shapes{position:absolute;inset:0;background:radial-gradient(ellipse 80% 50% at 20% 30%,rgba(30,90,140,.15) 0%,transparent 50%),radial-gradient(ellipse 60% 40% at 80% 70%,rgba(100,60,140,.12) 0%,transparent 50%),radial-gradient(ellipse 50% 30% at 50% 50%,rgba(30,90,140,.08) 0%,transparent 60%)}.hero-content{position:relative;z-index:1;max-width:900px;padding:6rem 1.5rem 4rem}.hero-tagline{font-size:.9rem;font-weight:500;color:#ffffffe6;letter-spacing:.15em;margin:0 0 1.5rem;text-transform:uppercase}.hero-headline{font-size:clamp(2.5rem,6vw,4.5rem);font-weight:700;color:#fff;line-height:1.1;margin:0 0 2rem;letter-spacing:.02em;text-transform:uppercase;text-shadow:0 2px 20px rgba(0,0,0,.2)}.btn-hero{padding:1rem 2.5rem;background:#000;color:#fff;border:none;border-radius:999px;font-size:1rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:background .2s,transform .2s}.btn-hero:hover{background:#1a1a1a;transform:translateY(-2px)}.projects-teaser{max-width:1200px;margin:0 auto;padding:4rem 1.5rem 2rem}.projects-teaser-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.projects-teaser-header h2{margin:0;font-size:2rem;color:var(--color-text)}.projects-teaser-link{color:var(--color-accent);text-decoration:none;font-weight:600}.projects-teaser-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.projects-teaser-image-link{border-radius:14px;overflow:hidden;display:block}.projects-teaser-image{width:100%;height:280px;object-fit:cover;display:block;transition:transform .35s ease}.projects-teaser-image-link:hover .projects-teaser-image{transform:scale(1.03)}.services{max-width:1200px;margin:0 auto;padding:4rem 1.5rem;background:var(--color-surface)}.services-enterprise{background:linear-gradient(180deg,var(--color-bg) 0%,var(--color-surface) 18%);border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.services-head{text-align:center;max-width:640px;margin:0 auto 2.75rem}.services-head h2{margin:0 0 .75rem;font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;color:var(--color-text);letter-spacing:-.02em}.services-subtitle{margin:0;font-size:1.05rem;line-height:1.6;color:var(--color-text-muted)}.services-grid-enterprise{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;align-items:stretch}.service-card-enterprise{min-height:100%;padding:2rem 1.75rem 2.125rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:10px;border-left:3px solid var(--color-accent);box-shadow:0 1px 2px #0f172a0a;transition:box-shadow .2s ease,border-color .2s ease}.service-card-enterprise:hover{border-color:#d1d9e6;box-shadow:0 1px 2px #0f172a0d,0 12px 28px #0f172a12}.service-card-enterprise h3{margin:0 0 .875rem;font-size:1.25rem;font-weight:600;letter-spacing:-.02em;color:var(--color-text)}.service-card-enterprise p{margin:0;font-size:.9375rem;line-height:1.65;color:var(--color-text-muted)}.services-enterprise-footnote{margin:2.25rem 0 0;text-align:center;font-size:.95rem;color:var(--color-text-muted)}.services-enterprise-footnote-link{padding:0;border:none;background:none;color:var(--color-accent);font-weight:600;font-size:inherit;font-family:inherit;cursor:pointer;text-decoration:underline;text-underline-offset:3px}.services-enterprise-footnote-link:hover{color:var(--color-accent-hover)}@media(prefers-color-scheme:dark){.service-card-enterprise:hover{border-color:#4b5563}}.cta{max-width:1200px;margin:0 auto;padding:4rem 1.5rem;text-align:center}.cta h2{font-size:2rem;margin:0 0 .5rem;color:var(--color-text)}.cta p{margin:0 0 1.5rem;color:var(--color-text-muted);font-size:1.1rem}.btn-cta{padding:.875rem 2rem;background:var(--color-accent);color:#fff;border:none;border-radius:8px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:background .2s,transform .2s}.btn-cta:hover{background:var(--color-accent-hover);transform:translateY(-1px)}.footer{padding:1.5rem;text-align:center;border-top:1px solid var(--color-border);background:var(--color-surface)}.footer p{margin:0;font-size:.9rem;color:var(--color-text-muted)}@media(max-width:900px){.projects-teaser-grid,.services-grid-enterprise{grid-template-columns:1fr}}@media(max-width:768px){.header{padding:1rem 1.25rem}.header-nav-desktop{display:none!important}.header-menu-toggle{display:flex}.mobile-nav-backdrop,.mobile-nav-drawer{display:block}.mobile-nav-backdrop{pointer-events:none}.mobile-nav-backdrop-visible{pointer-events:auto}.mobile-nav-drawer{pointer-events:none}.mobile-nav-drawer-open{pointer-events:auto}.header-company-name{font-size:1.25rem}.header-logo{height:48px}}.about-page{padding:7rem 1.5rem 4.5rem;min-height:100vh;background:var(--color-bg)}.about-page-inner{max-width:900px;margin:0 auto}.about-hero-photo{margin:0 0 2.75rem}.about-hero-photo img{display:block;width:100%;max-height:min(52vh,520px);object-fit:cover;object-position:center;border-radius:12px;box-shadow:0 12px 40px #0f172a1f}.about-prose{max-width:42rem;margin:0 auto}.about-prose h1{font-size:clamp(1.875rem,4vw,2.5rem);margin:0 0 1rem;color:var(--color-text);letter-spacing:-.02em}.about-lead{font-size:1.2rem;line-height:1.65;color:var(--color-text);margin:0 0 1.75rem;font-weight:500}.about-blurb{font-size:1.0625rem;line-height:1.75;color:var(--color-text-muted);margin:0 0 1.35rem}.about-blurb:last-child{margin-bottom:0}@media(max-width:768px){.about-page{padding-top:6.5rem}.about-hero-photo{margin-bottom:2rem}.about-hero-photo img{max-height:42vh}}.projects-page{padding-top:6rem;background:var(--color-bg)}.projects-hero{max-width:1200px;margin:0 auto;padding:3rem 1.5rem 2rem;text-align:center}.projects-hero p{margin:0 0 .75rem;text-transform:uppercase;letter-spacing:.14em;color:var(--color-text-muted);font-size:.8rem}.projects-hero h1{margin:0;font-size:clamp(2rem,4vw,3rem);color:var(--color-text)}.projects-collections{max-width:1200px;margin:0 auto;padding:1rem 1.5rem 4rem;display:grid;gap:2.5rem}.project-group{border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface);padding:1.25rem}.project-group-title{margin:0 0 .85rem;font-size:1rem;font-weight:600;color:var(--color-text-muted);letter-spacing:.06em;text-transform:uppercase}.project-group-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.project-group-grid-single{grid-template-columns:1fr}.project-group-grid:not(.project-group-grid-single) .project-image-button:last-child:nth-child(odd){grid-column:1 / -1}.project-group-grid:not(.project-group-grid-single) .project-image-button:last-child:nth-child(odd) .project-group-image{min-height:280px;max-height:520px}.project-image-button{padding:0;border:none;border-radius:12px;overflow:hidden;cursor:pointer;background:transparent;display:block}.project-image{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.project-group-image{min-height:240px;max-height:460px}.project-image-button:hover .project-image{transform:scale(1.03)}.projects-cta{text-align:center;padding:0 1.5rem 4.5rem}.projects-cta h2{margin:0 0 1.5rem;color:var(--color-text)}.lightbox{position:fixed;inset:0;background:#000000eb;display:flex;align-items:center;justify-content:center;z-index:150;padding:2rem}.lightbox-image{max-width:min(1200px,90vw);max-height:86vh;object-fit:contain}.lightbox-counter{position:absolute;bottom:1.5rem;left:50%;transform:translate(-50%);color:#ffffffd9;font-size:.85rem;letter-spacing:.08em}.lightbox-close{position:absolute;top:1.25rem;right:1.25rem;background:transparent;border:none;color:#fff;font-size:2rem;cursor:pointer}.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.35);color:#fff;background:#0000004d;font-size:2rem;line-height:1;display:grid;place-items:center;cursor:pointer}.lightbox-prev{left:1.25rem}.lightbox-next{right:1.25rem}@media(max-width:768px){.project-group-grid{grid-template-columns:1fr}.project-group-image{min-height:220px}.lightbox-nav{width:40px;height:40px;font-size:1.5rem}}
