.header{position:sticky;top:0;background-color:#fffc;-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);z-index:1000;border-bottom:1px solid transparent;transition:border-bottom-color .3s ease}.header.scrolled{border-bottom-color:var(--color-border)}.header-content{display:flex;justify-content:space-between;align-items:center;padding-top:32px;padding-bottom:32px;max-width:var(--container-wide)}.logo{display:flex;align-items:center;gap:12px}.logo-img{height:32px;width:auto;display:block}.logo h3{font-size:21px;font-weight:600;letter-spacing:-.003em;color:var(--color-dark-grey)}.nav ul{display:flex;gap:40px;list-style:none;align-items:center}.nav a{font-size:12px;color:var(--color-dark-grey);opacity:.8;transition:opacity .2s ease;cursor:pointer;font-weight:400;letter-spacing:-.01em}.nav a:hover{opacity:1}@media (max-width: 1068px){.header-content{padding-top:16px;padding-bottom:16px}}@media (max-width: 734px){.nav ul{gap:24px}.nav a{font-size:11px}.logo-img{height:28px}.logo h3{font-size:18px}}.hero{min-height:90vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:var(--spacing-hero) 0;background-color:var(--color-white)}.hero-content{max-width:980px}.hero h1{margin-bottom:var(--spacing-sm);background:linear-gradient(90deg,var(--color-dark-grey) 0%,var(--color-medium-grey) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero .tagline{font-size:28px;line-height:1.14286;font-weight:400;color:var(--color-dark-grey);margin-bottom:var(--spacing-xl);letter-spacing:.007em}@media (max-width: 1068px){.hero{min-height:80vh;padding:var(--spacing-xl) 0}.hero .tagline{font-size:24px}}@media (max-width: 734px){.hero{min-height:70vh}.hero .tagline{font-size:21px;line-height:1.19048}}.services{padding:var(--spacing-xxl) 0;background-color:var(--color-off-white)}.section-title{text-align:center;margin-bottom:var(--spacing-xl);font-size:48px;font-weight:700}.services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);max-width:var(--container-wide);margin:0 auto}.service-card{text-align:center;padding:var(--spacing-xl);background-color:var(--color-white);border-radius:18px;transition:transform .3s ease}.service-card:hover{transform:translateY(-4px)}.service-icon{font-size:56px;margin-bottom:var(--spacing-md);filter:grayscale(0)}.service-card h3{margin-bottom:var(--spacing-sm);font-size:24px;font-weight:600}.service-card p{font-size:17px;line-height:1.47059;color:var(--color-medium-grey);margin-bottom:0}@media (max-width: 1068px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 734px){.services-grid{grid-template-columns:1fr;gap:var(--spacing-sm)}.service-card{padding:var(--spacing-lg)}}.portfolio{padding:var(--spacing-xxl) 0;position:relative;background-color:var(--color-white)}.portfolio-subtitle{text-align:center;font-size:17px;color:var(--color-medium-grey);opacity:.8;margin-top:calc(-1 * var(--spacing-md));margin-bottom:var(--spacing-xl);letter-spacing:-.022em}.bento-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(3,280px);gap:var(--spacing-md);max-width:1200px;margin:0 auto}.bento-large{grid-column:span 2;grid-row:span 2}.bento-medium{grid-column:span 2;grid-row:span 1}.bento-small{grid-column:span 1;grid-row:span 1}.bento-item{position:relative;overflow:hidden;cursor:pointer;border:1px solid var(--color-border);background-color:var(--color-white);border-radius:18px;transition:all .3s cubic-bezier(.4,0,.2,1)}.bento-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,transparent 0%,rgba(0,113,227,.05) 100%);opacity:0;transition:opacity .3s ease;z-index:1}.bento-item:hover{transform:translateY(-8px);border-color:var(--color-blue);box-shadow:0 20px 40px #0000001a}.bento-item:hover:before{opacity:1}.bento-content{position:relative;width:100%;height:100%;display:flex;flex-direction:column}.bento-image{position:relative;flex:1;overflow:hidden}.bento-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.4,0,.2,1)}.bento-item:hover .bento-image img{transform:scale(1.1)}.image-shine{position:absolute;top:-100%;left:-100%;width:100%;height:100%;background:linear-gradient(45deg,transparent,rgba(255,255,255,.3),transparent);transition:all .6s ease}.bento-item:hover .image-shine{top:100%;left:100%}.bento-info{position:absolute;bottom:0;left:0;right:0;padding:var(--spacing-md);background:linear-gradient(to top,rgba(255,255,255,.98) 0%,rgba(255,255,255,.95) 70%,transparent 100%);transform:translateY(0);transition:transform .3s ease;z-index:2}.bento-item:hover .bento-info{transform:translateY(-4px)}.project-number{display:inline-block;font-family:var(--font-primary);font-size:12px;color:var(--color-medium-grey);margin-bottom:var(--spacing-xs);opacity:.7;font-weight:600}.bento-info h3{font-size:21px;margin-bottom:6px;transition:color .2s ease;font-weight:600}.bento-item:hover .bento-info h3{color:var(--color-blue)}.bento-info p{font-size:14px;line-height:1.42857;color:var(--color-medium-grey);margin:0;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bento-large .bento-info h3{font-size:32px;margin-bottom:var(--spacing-xs)}.bento-large .bento-info p{font-size:17px;-webkit-line-clamp:3;line-clamp:3}.project-modal{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;align-items:center;justify-content:center;z-index:2000;padding:var(--spacing-lg);animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background-color:var(--color-white);max-width:900px;width:100%;max-height:90vh;display:grid;grid-template-columns:1fr 1fr;overflow:hidden;position:relative;border:1px solid var(--color-border);border-radius:28px;animation:slideUp .4s cubic-bezier(.4,0,.2,1)}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:36px;height:36px;border-radius:50%;background-color:#0000000d;color:var(--color-dark-grey);border:none;font-size:24px;cursor:pointer;z-index:10;transition:all .2s ease;display:flex;align-items:center;justify-content:center;line-height:1;font-weight:300}.modal-close:hover{background-color:#0000001a;transform:rotate(90deg)}.modal-image{position:relative;overflow:hidden}.modal-image img{width:100%;height:100%;object-fit:cover}.modal-details{padding:var(--spacing-xl);overflow-y:auto}.modal-number{display:inline-block;font-family:var(--font-primary);font-size:14px;color:var(--color-medium-grey);margin-bottom:var(--spacing-sm);font-weight:600}.modal-details h2{margin-bottom:var(--spacing-sm);font-weight:700}.modal-tagline{font-size:17px;line-height:1.47059;color:var(--color-medium-grey);margin-bottom:var(--spacing-md)}.modal-description{font-size:17px;line-height:1.47059;color:var(--color-dark-grey);margin-bottom:var(--spacing-lg)}.modal-tags{display:flex;gap:var(--spacing-xs);flex-wrap:wrap;margin-bottom:var(--spacing-lg)}.tag{background-color:var(--color-off-white);color:var(--color-dark-grey);padding:6px 14px;border-radius:980px;font-size:12px;border:1px solid var(--color-border)}.modal-cta{width:100%}@media (max-width: 968px){.bento-grid{grid-template-columns:repeat(2,1fr);grid-template-rows:auto;gap:var(--spacing-sm)}.bento-large,.bento-medium{grid-column:span 2;grid-row:span 1;min-height:300px}.bento-small{grid-column:span 1;grid-row:span 1;min-height:250px}.modal-content{grid-template-columns:1fr;max-height:95vh}.modal-image{max-height:300px}.modal-details{padding:var(--spacing-lg)}}@media (max-width: 480px){.bento-grid{grid-template-columns:1fr}.bento-large,.bento-medium,.bento-small{grid-column:span 1;min-height:280px}}.team{padding:var(--spacing-xxl) 0;background-color:var(--color-off-white)}.team-subtitle{text-align:center;font-size:17px;color:var(--color-medium-grey);margin-top:calc(-1 * var(--spacing-md));margin-bottom:var(--spacing-xl);letter-spacing:-.022em}.team-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl);max-width:900px;margin:0 auto}.team-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:var(--spacing-xl);background-color:var(--color-white);border-radius:18px;transition:transform .3s ease}.team-card:hover{transform:translateY(-4px)}.team-image-wrapper{width:200px;height:200px;border-radius:50%;overflow:hidden;margin-bottom:var(--spacing-md);border:3px solid var(--color-border);transition:border-color .2s ease}.team-card:hover .team-image-wrapper{border-color:var(--color-blue)}.team-image{width:100%;height:100%;object-fit:cover;display:block}.team-info{width:100%}.team-info h3{margin-bottom:var(--spacing-xs);font-size:24px;font-weight:600}.team-role{font-size:17px;color:var(--color-blue);margin-bottom:var(--spacing-sm);font-weight:400}.team-bio{font-size:17px;line-height:1.47059;color:var(--color-medium-grey);margin-bottom:var(--spacing-md)}.team-social{display:flex;gap:var(--spacing-sm);justify-content:center}.social-link{color:var(--color-dark-grey);display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background-color:var(--color-off-white);transition:all .2s ease}.social-link:hover{color:var(--color-white);background-color:var(--color-blue)}@media (max-width: 734px){.team-grid{grid-template-columns:1fr;gap:var(--spacing-md)}.team-image-wrapper{width:160px;height:160px}.team-card{padding:var(--spacing-lg)}}.process{padding:var(--spacing-xxl) 0;background-color:var(--color-white)}.process-timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-lg);position:relative;max-width:var(--container-wide);margin:0 auto}.process-timeline:before{content:"";position:absolute;top:40px;left:10%;right:10%;height:2px;background:linear-gradient(90deg,var(--color-border),var(--color-blue),var(--color-border));z-index:0}.process-step{text-align:center;position:relative;z-index:1}.step-number{width:80px;height:80px;border-radius:50%;background-color:var(--color-blue);color:var(--color-white);font-family:var(--font-primary);font-size:32px;font-weight:600;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-md);position:relative;box-shadow:0 4px 20px #0071e34d}.process-step h3{margin-bottom:var(--spacing-sm);font-weight:600}.process-step p{font-size:17px;line-height:1.47059;color:var(--color-medium-grey);margin-bottom:0}@media (max-width: 1068px){.process-timeline{grid-template-columns:repeat(2,1fr)}.process-timeline:before{display:none}}@media (max-width: 734px){.process-timeline{grid-template-columns:1fr;gap:var(--spacing-xl)}}.contact{padding:var(--spacing-xxl) 0;background-color:var(--color-off-white)}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-xxl);align-items:center;max-width:var(--container-wide);margin:0 auto}.contact-info h2{margin-bottom:var(--spacing-md);font-weight:700}.contact-info p{font-size:21px;line-height:1.381;color:var(--color-medium-grey)}.contact-form{display:flex;flex-direction:column;gap:var(--spacing-lg);background-color:var(--color-white);padding:var(--spacing-xl);border-radius:18px}.form-field{position:relative;padding-top:var(--spacing-sm)}.form-field input,.form-field textarea{width:100%;padding:12px 0;border:none;border-bottom:1px solid var(--color-border);background:transparent;font-family:var(--font-primary);font-size:17px;color:var(--color-dark-grey);outline:none;transition:border-color .2s ease;letter-spacing:-.022em}.form-field textarea{resize:vertical;min-height:100px}.form-field label{position:absolute;left:0;bottom:12px;font-size:17px;color:var(--color-medium-grey);pointer-events:none;transition:all .2s ease;letter-spacing:-.022em}.form-field.active label{bottom:calc(100% - 4px);font-size:12px;color:var(--color-blue)}.form-field.active input,.form-field.active textarea{border-bottom-color:var(--color-blue)}.contact-form button{align-self:flex-start;margin-top:var(--spacing-sm)}@media (max-width: 1068px){.contact-grid{grid-template-columns:1fr;gap:var(--spacing-xl)}}@media (max-width: 734px){.contact-form{padding:var(--spacing-lg)}}.footer{padding:var(--spacing-lg) 0;border-top:1px solid var(--color-border);background-color:var(--color-white)}.footer-content{display:flex;justify-content:space-between;align-items:center;max-width:var(--container-wide);margin:0 auto;padding:0 var(--spacing-lg)}.copyright{font-size:12px;color:var(--color-medium-grey);margin:0;letter-spacing:-.01em}.social-links{display:flex;gap:var(--spacing-md)}.social-icon{color:var(--color-dark-grey);transition:color .2s ease;display:flex;align-items:center;justify-content:center;opacity:.6}.social-icon:hover{opacity:1;color:var(--color-blue)}@media (max-width: 734px){.footer-content{flex-direction:column;gap:var(--spacing-md);text-align:center}}.App{min-height:100vh;display:flex;flex-direction:column}main{flex:1}*{margin:0;padding:0;box-sizing:border-box}:root{--color-white: #FFFFFF;--color-off-white: #F5F5F7;--color-light-grey: #F2F2F2;--color-medium-grey: #86868B;--color-dark-grey: #1D1D1F;--color-black: #000000;--color-blue: #0071E3;--color-blue-hover: #0077ED;--color-border: #D2D2D7;--font-primary: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", "Segoe UI", "Helvetica Neue", Arial, sans-serif;--spacing-xs: 8px;--spacing-sm: 16px;--spacing-md: 24px;--spacing-lg: 40px;--spacing-xl: 64px;--spacing-xxl: 88px;--spacing-hero: 120px;--container-max-width: 1024px;--container-wide: 1440px}body{font-family:var(--font-primary);font-size:17px;line-height:1.47059;font-weight:400;color:var(--color-dark-grey);background-color:var(--color-white);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.022em}body:before{display:none}h1,h2,h3,h4,h5,h6{font-family:var(--font-primary);font-weight:600;letter-spacing:-.015em;color:var(--color-dark-grey)}h1{font-size:64px;line-height:1.0625;font-weight:700;letter-spacing:-.015em}h2{font-size:48px;line-height:1.08349;font-weight:700;letter-spacing:-.003em}h3{font-size:32px;line-height:1.125;font-weight:600;letter-spacing:.004em}h4{font-size:24px;line-height:1.16667;font-weight:600;letter-spacing:.009em}p{margin-bottom:var(--spacing-sm);line-height:1.47059}a{color:var(--color-blue);text-decoration:none;transition:color .2s ease}a:hover{color:var(--color-blue-hover)}button{font-family:var(--font-primary);cursor:pointer;border:none;outline:none;font-weight:400}.container{max-width:var(--container-max-width);margin:0 auto;padding:0 var(--spacing-md)}.container-wide{max-width:var(--container-wide);margin:0 auto;padding:0 var(--spacing-lg)}.section-white{background-color:var(--color-white)}.section-grey{background-color:var(--color-off-white)}.btn{padding:12px 22px;font-size:17px;line-height:1.17648;font-weight:400;border-radius:980px;transition:all .2s ease;display:inline-block;text-align:center;letter-spacing:-.022em;min-width:28px;white-space:nowrap}.btn-primary{background-color:var(--color-blue);color:var(--color-white)}.btn-primary:hover{background-color:var(--color-blue-hover)}.btn-secondary{background-color:transparent;border:1px solid var(--color-blue);color:var(--color-blue)}.btn-secondary:hover{background-color:var(--color-blue);color:var(--color-white)}.link-arrow:after{content:" ›";font-size:1.2em;transition:transform .2s ease;display:inline-block}.link-arrow:hover:after{transform:translate(3px)}@media (max-width: 1068px){h1{font-size:56px}h2{font-size:40px}h3{font-size:28px}}@media (max-width: 734px){h1{font-size:40px;line-height:1.1}h2{font-size:32px;line-height:1.125}h3{font-size:24px}body{font-size:17px}.container,.container-wide{padding:0 var(--spacing-sm)}}
