@font-face{font-family:SF Pro Display;src:url(../assets/fonts/SFProDisplay-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:SF Pro Display;src:url(../assets/fonts/SFProDisplay-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{color-scheme:light;--bg: #ffffff;--bg-soft: #f6f7f8;--surface: #ffffff;--surface-light: #f2f4f5;--accent: #0e9ed5;--accent-strong: #0e9ed5;--text: #0b0c0d;--text-muted: #4b5563;--text-soft: #6b7280;--border: rgba(10, 10, 10, .08);--shadow: 0 24px 60px rgba(15, 23, 42, .12);--radius-lg: 28px;--radius-md: 18px;--radius-sm: 12px;--transition: .3s ease;font-family:SF Pro Display,system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);min-height:100vh;line-height:1.6;font-family:SF Pro Display,system-ui,sans-serif;font-weight:400;overflow-x:hidden}h1,h2,h3,h4,.brand-text{font-family:SF Pro Display,system-ui,sans-serif;font-weight:700;letter-spacing:-.02em}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button,input,textarea{font-family:inherit}.container{width:min(1200px,90vw);margin:0 auto}.app{min-height:100vh;display:flex;flex-direction:column}main{flex:1}.eyebrow{text-transform:uppercase;letter-spacing:.3em;font-size:.7rem;color:var(--text-soft);margin-bottom:1rem}.fade-in{opacity:0;transform:translateY(18px);animation:fadeIn .8s ease forwards}@keyframes fadeIn{to{opacity:1;transform:translateY(0)}}@keyframes glassShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes heroWordReveal{0%{opacity:0;transform:translateY(.38em)}to{opacity:1;transform:translateY(0)}}@keyframes heroWordGradientA{0%{background-position:0% 50%}50%{background-position:100% 42%}to{background-position:0% 50%}}@keyframes heroWordGradientB{0%{background-position:100% 52%}45%{background-position:12% 45%}to{background-position:100% 52%}}@keyframes heroWordGradientC{0%{background-position:35% 50%}55%{background-position:95% 58%}to{background-position:35% 50%}}.site-header{position:fixed;top:0;left:0;right:0;z-index:10;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);background:#fff;border-bottom:1px solid var(--border);transition:background .25s ease,border-color .25s ease,backdrop-filter .25s ease;color:var(--text)}.nav{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.3rem 0}.brand{display:flex;align-items:center;gap:.8rem;font-weight:600}.brand-mark{width:64px;height:64px;border-radius:0;object-fit:contain;box-shadow:none}.brand-mark.brand-mark-original{width:96px;height:auto}.brand-text{display:block;font-size:1.1rem}.brand-tag{display:block;font-size:.75rem;color:var(--text-soft)}.nav-links{display:flex;align-items:center;gap:1.5rem;font-size:.95rem;position:relative;margin-left:auto;margin-right:1rem}.nav-services-mobile,.nav-contact-mobile{display:none}.nav-links a{position:relative;color:inherit;transition:color var(--transition),opacity var(--transition)}.nav-links a.active,.nav-links a:hover{color:inherit}.nav-links a:hover{color:var(--accent)}.nav-indicator{position:absolute;bottom:-6px;left:0;height:2px;width:0;background:var(--accent);border-radius:999px;transition:transform .25s ease,width .25s ease,opacity .2s ease;opacity:0;pointer-events:none}@media (max-width: 960px){.dropdown,.dropdown-menu{display:none}.nav-services-mobile{display:grid;gap:1rem}.nav-services-mobile a{font-size:.95rem}.nav-indicator{display:none}}.dropdown{position:relative}.dropdown-toggle{background:transparent;border:none;color:inherit;display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.95rem}.dropdown-toggle:hover,.dropdown.is-open .dropdown-toggle{color:var(--accent)}.chevron{width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin-top:-2px}.dropdown-menu{position:absolute;top:calc(100% + 10px);left:0;width:max-content;min-width:280px;max-width:min(460px,calc(100vw - 3rem));background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:1rem;display:flex;flex-direction:column;gap:.75rem;box-shadow:var(--shadow);opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:20;color:var(--text)}.dropdown-menu:before{content:"";position:absolute;top:-10px;left:0;width:100%;height:10px}.dropdown.is-open .dropdown-menu,.dropdown:hover .dropdown-menu{display:flex;opacity:1;transform:translateY(0);pointer-events:auto}.dropdown-item{color:var(--text);font-size:.9rem;white-space:nowrap;transition:color var(--transition)}.dropdown-item:hover{color:var(--accent)}.dropdown-cta{margin-top:.5rem;padding:.6rem .8rem;border-radius:999px;border:1px solid var(--border);text-align:center}.cta-button{background:var(--accent);color:#fff;border:none;padding:.7rem 1.4rem;border-radius:999px;cursor:pointer;font-weight:600;transition:transform var(--transition),box-shadow var(--transition)}.cta-button:hover{transform:translateY(-1px);box-shadow:0 12px 24px #1d71f240}.cta-button.ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.cta-button.ghost.is-light{background:#fff;color:var(--text);border-color:#ffffffa6}.cta-button.primary{background:var(--accent-strong);color:#fff}.cta-button.primary.is-sent{background:linear-gradient(140deg,#17a34a,#22c55e)}.text-button{background:none;border:none;color:var(--accent);font-weight:600;cursor:pointer}.cta-link{background:none;border:none;color:var(--accent);font-weight:600;margin-top:1.2rem;cursor:pointer}.menu-toggle{display:none;width:40px;height:40px;background:transparent;border:1px solid var(--border);border-radius:12px;align-items:center;justify-content:center;gap:4px;flex-direction:column}.menu-toggle span{width:18px;height:2px;background:#0b0c0d;border-radius:999px}.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;color:#fff;background:var(--bg-soft)}.hero-media{position:absolute;top:var(--header-height, 0px);right:0;left:0;width:100%;height:calc(101% - var(--header-height, 0px));object-fit:cover;object-position:center;filter:saturate(.9) brightness(.9)}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,#00000075,#00000047)}.hero-content{position:relative;z-index:1;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;padding:7rem 0 13rem}.hero h1{font-family:SF Pro Display,system-ui,sans-serif;font-size:clamp(2.8rem,4vw,4.2rem);line-height:1.05;margin-bottom:1rem;font-weight:700}.hero .accent{color:var(--accent)}.hero .accent.accent-glass{color:transparent;background:linear-gradient(120deg,#00b8d4,#0e9ed5,#2bb673,#f5c542,#f08a24,#e54b4b,#00b8d4);background-size:220% 220%;-webkit-background-clip:text;background-clip:text;text-shadow:0 6px 18px rgba(0,0,0,.25);animation:glassShift 6s ease infinite}.hero .accent.accent-hero{display:inline-block;font-style:italic;color:transparent;background:linear-gradient(120deg,#fff,#dff6ff 18%,#8edfff 42%,#0e9ed5 68%,#dff6ff,#fff);background-size:220% 220%;-webkit-background-clip:text;background-clip:text;text-shadow:none;white-space:nowrap;vertical-align:baseline;line-height:inherit;padding:.08em .18em .18em .08em;margin:-.08em -.18em -.18em -.08em}.hero .accent.accent-hero .hero-word{display:inline-block;color:transparent;-webkit-text-fill-color:transparent;background-image:inherit;background-size:260% 260%;-webkit-background-clip:text;background-clip:text;line-height:inherit;padding:.08em .14em .18em .06em;margin:-.08em -.14em -.18em -.06em;opacity:0;transform:translateY(.38em);will-change:opacity,transform,background-position}.hero .accent.accent-hero .hero-word+.hero-word{margin-left:.22em}.hero .accent.accent-hero .hero-word:nth-child(1){animation:heroWordReveal 1.8s cubic-bezier(.2,.7,.2,1) .35s forwards,heroWordGradientA 6.2s ease-in-out .35s infinite}.hero .accent.accent-hero .hero-word:nth-child(2){animation:heroWordReveal 1.8s cubic-bezier(.2,.7,.2,1) .95s forwards,heroWordGradientB 7.4s ease-in-out .95s infinite}.hero .accent.accent-hero .hero-word:nth-child(3){animation:heroWordReveal 1.8s cubic-bezier(.2,.7,.2,1) 1.55s forwards,heroWordGradientC 5.8s ease-in-out 1.55s infinite}.hero .accent.accent-solid{color:var(--accent-strong);text-shadow:0 14px 44px rgba(0,0,0,.34)}.hero h1{text-shadow:0 12px 40px rgba(0,0,0,.28)}.hero h1.hero-title-singleline{white-space:nowrap}.hero .eyebrow{color:#ffffffb3}.hero-subtitle{color:#ffffffc7;max-width:480px}.hero-actions{display:flex;gap:1.6rem;margin-top:2.2rem;flex-wrap:wrap}.hero-actions .cta-button{padding:.85rem 1.9rem}.hero-stats-bar{position:absolute;left:0;right:0;bottom:0;z-index:2;background:var(--bg-soft);border-top:1px solid var(--border);padding:2.2rem 0}.hero-stats-bar .stats-grid p{color:var(--text)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1.5rem;text-align:center}.stats-grid span{font-size:2rem;font-weight:600;color:var(--accent)}.icon-button{width:46px;height:46px;border-radius:999px;border:1px solid rgba(255,255,255,.6);background:#fffffff2;color:#0b0c0d;display:grid;place-items:center;cursor:pointer;transition:transform var(--transition),box-shadow var(--transition),background var(--transition)}.icon-button svg{width:18px;height:18px;fill:currentColor}.icon-button:hover{transform:translateY(-1px);box-shadow:0 10px 20px #00000026;background:#fff}.hero-card{background:#ffffffc7;padding:2rem;border-radius:var(--radius-lg);border:1px solid var(--border);box-shadow:var(--shadow)}.pill-row{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:1.2rem}.pill-row span{padding:.4rem .9rem;background:var(--bg-soft);border-radius:999px;font-size:.8rem}.what-we-do{background:var(--bg);padding:5.5rem 0;position:relative;overflow:hidden}.what-we-do-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:3rem;align-items:center}.what-we-do-left{display:grid;gap:2.5rem}.what-we-do-copy p{color:var(--text-muted)}.what-we-do-steps{display:grid;gap:2rem}.what-we-do-step{padding:1.6rem 1.8rem;border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);box-shadow:0 18px 36px #0f172a14;transition:transform var(--transition),border var(--transition),box-shadow var(--transition)}.what-we-do-step:hover{border-color:#1d71f299;box-shadow:0 28px 60px #0f172a2e;transform:translateY(-6px)}.what-we-do-step:hover h3{color:var(--accent)}.what-we-do-media img{width:100%;border-radius:var(--radius-lg);box-shadow:0 24px 48px #0f172a1f;border:1px solid var(--border)}.what-we-do-video{width:100%;border-radius:var(--radius-lg);box-shadow:0 24px 48px #0f172a1f;border:1px solid var(--border);display:block;object-fit:cover}.projects-section{background:#0b0f12;color:#fff;padding:6rem 0}.projects-grid{display:grid;grid-template-columns:1fr;gap:2rem}.projects-copy p{color:#ffffffb3}.project-map{position:relative;width:100%;max-width:70%;margin:0 auto;overflow:hidden;border-radius:8px;aspect-ratio:16 / 11.2}.project-map-inner{width:100%;height:100%;position:relative;animation:mapFloat 10s ease-in-out infinite;z-index:1}.project-map-image{width:100%;height:100%;display:block;filter:brightness(.95) contrast(1.05);object-fit:cover;object-position:center 48%;position:relative;z-index:1}.project-marker{position:absolute;width:12px;height:12px;border-radius:999px;background:var(--accent);box-shadow:0 0 0 6px #1d71f233;opacity:0;transform:translate(-50%,-50%) scale(.6);z-index:5}.project-map.is-visible .project-marker{animation:markerReveal .6s ease forwards,markerPulse 2.2s ease-in-out infinite;animation-delay:var(--marker-delay, 0s),var(--marker-delay, 0s)}.project-marker:after{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border-radius:999px;border:1px solid rgba(29,113,242,.35);opacity:0;animation:markerRing 2.2s ease-in-out infinite}.project-tooltip-card{position:absolute;left:50%;top:-14px;transform:translate(-50%,-100%);background:#fffffff5;color:#0b0c0d;padding:8px 10px;border-radius:12px;font-size:.75rem;white-space:nowrap;box-shadow:0 10px 26px #0f172a2e;display:flex;align-items:center;gap:8px;opacity:0;pointer-events:none;transition:opacity .2s ease,transform .2s ease;z-index:7}.project-marker:hover .project-tooltip-card{opacity:1;transform:translate(-50%,-112%)}.project-marker:hover{z-index:10}.project-thumb{width:26px;height:26px;border-radius:8px;display:grid;place-items:center;font-size:.6rem;font-weight:700;color:#fff;background:transparent;background-size:cover;background-position:center;text-transform:uppercase}.project-thumb.has-image{color:transparent}.project-tooltip-text{font-weight:600}@keyframes markerPulse{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.15)}}@keyframes markerRing{0%{opacity:0;transform:scale(.6)}60%{opacity:.6}to{opacity:0;transform:scale(1.4)}}@keyframes markerReveal{to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes mapFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}.split-section{padding:5rem 0}.split-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:3rem;align-items:center}.split-media img{border-radius:var(--radius-lg);box-shadow:var(--shadow)}.checklist,.bullet-list{list-style:none;display:grid;gap:.7rem;margin-top:1.2rem;color:var(--text-muted)}.checklist li:before,.bullet-list li:before{content:"";width:10px;height:10px;border-radius:999px;border:1.5px solid var(--accent);display:inline-block;margin-right:.6rem;transform:translateY(1px);transition:transform var(--transition),box-shadow var(--transition),background var(--transition);box-shadow:0 0 #1d71f24d}.checklist li:hover:before,.bullet-list li:hover:before{background:var(--accent);box-shadow:0 0 0 4px #1d71f233;transform:translateY(1px) scale(1.05)}.services-preview,.services-detail,.gallery-preview,.gallery-page,.team-section,.contact-section,.values,.deliverables{padding:4.5rem 0}.section-head{max-width:620px;margin-bottom:2.5rem}.services-grid,.services-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.6rem}.services-detail-stack{display:grid;grid-template-columns:1fr;gap:2rem;max-width:860px}.services-detail{--service-media-width: 560px;--service-row-height: 362px;--service-row-gap: .9rem}.service-detail-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:2.5rem;align-items:start}.service-detail-copy{display:grid;gap:var(--service-row-gap)}.service-detail-block-with-media{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:1.85rem;align-items:start;min-height:var(--service-row-height)}.service-detail-block-copy p+p{margin-top:.85rem}.service-detail-block h2{margin-bottom:.6rem}.service-detail-block-media{width:min(100%,var(--service-media-width));max-width:var(--service-media-width);aspect-ratio:16 / 9;display:grid;place-items:center;justify-self:end;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);box-shadow:0 14px 30px #0f172a1f;background:var(--surface-light);color:var(--text-soft);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem}.service-detail-block-media.is-vertical{aspect-ratio:4 / 5}.service-detail-block-media img{grid-area:1 / 1;width:100%;height:100%;object-fit:cover}.service-detail-block-media img.is-contain{object-fit:contain;padding:.35rem}.service-detail-media{min-height:360px;aspect-ratio:3 / 4;border-radius:var(--radius-lg);border:1px solid var(--border);background:linear-gradient(135deg,#1d71f21a,#0f172a14);box-shadow:0 24px 48px #0f172a1f;display:grid;place-items:center;color:var(--text-soft);letter-spacing:.08em;text-transform:uppercase;font-size:.8rem;overflow:hidden}.service-detail-media img{width:100%;height:100%;object-fit:cover;display:block}@media (max-width: 900px){.service-detail-layout{grid-template-columns:1fr}.service-detail-block-with-media{grid-template-columns:1fr;min-height:0}.service-detail-block-media{width:100%;max-width:none;justify-self:stretch}}.service-card,.service-detail-card{background:var(--surface);padding:1.8rem;border-radius:var(--radius-md);border:1px solid var(--border);box-shadow:0 18px 36px #0f172a14;transition:transform var(--transition),border var(--transition),box-shadow var(--transition)}.service-card:hover,.service-detail-card:hover{transform:translateY(-6px);border-color:#1d71f259;box-shadow:0 24px 48px #0f172a1f}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.5rem}.gallery-grid.wide{grid-template-columns:1fr;gap:2.25rem;max-width:960px;margin:0 auto}.gallery-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.35rem;opacity:0;transform:translateY(52px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.7,.2,1)}.gallery-row.is-visible{opacity:1;transform:translateY(0)}.gallery-card{background:var(--surface);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--border);box-shadow:0 18px 36px #0f172a14;transition:transform var(--transition),box-shadow var(--transition),border var(--transition)}.gallery-media{overflow:hidden}.gallery-placeholder,.gallery-media{aspect-ratio:16 / 9;min-height:0;display:grid;place-items:center;background:linear-gradient(135deg,#1d71f214,#0f172a0d);color:var(--text-soft);font-size:.85rem;letter-spacing:.12em;text-transform:uppercase}.gallery-card img{height:100%;width:100%;object-fit:cover;display:block;transition:transform var(--transition)}.gallery-card:hover{transform:translateY(-6px);border-color:#1d71f280;box-shadow:0 28px 60px #0f172a2e,0 0 0 1px #1d71f240}.gallery-card:hover img{transform:scale(1.04)}.gallery-card figcaption{padding:1rem;color:var(--text-muted)}.partners-banner{padding:1.6rem 0 2rem;background:var(--bg);border-top:1px solid var(--border)}.marquee{overflow:hidden;border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--bg-soft)}.marquee-track{display:flex;gap:2.2rem;padding:.65rem 0;width:max-content;animation:marquee 46s linear infinite;will-change:transform}.marquee-item{white-space:nowrap;font-weight:600;color:var(--text);opacity:.7;letter-spacing:.08em;text-transform:uppercase;font-size:.85rem}.marquee-item.logo{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;min-width:380px;height:170px;padding:0 .2rem}.marquee-item.logo img{max-width:368px;max-height:170px;width:auto;height:auto;object-fit:contain;display:block;filter:none;opacity:1}@keyframes marquee{0%{transform:translateZ(0)}to{transform:translate3d(-33.333333%,0,0)}}.page-hero{position:relative;padding:9rem 0 5rem;background:linear-gradient(140deg,#f4f6f8f2,#ffffffd9);border-bottom:1px solid var(--border);overflow:hidden}.page-hero.has-video{color:#fff;background:#0b0f12;min-height:54vh;display:flex;align-items:center}.page-hero-media{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9) brightness(.9);z-index:0}.page-hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(120deg,#00000075,#00000047);z-index:1}.page-hero h1{font-family:SF Pro Display,system-ui,sans-serif;font-size:clamp(2.4rem,4vw,3.4rem);margin-bottom:1rem;font-weight:700}.page-hero p{color:var(--text-muted);max-width:640px}.page-hero.has-video p{color:#ffffffb8}.page-hero:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 20% 10%,rgba(29,113,242,.12),transparent 55%);pointer-events:none}.page-hero.has-video:after{display:none}.page-hero .container{position:relative;z-index:2;animation:fadeIn .8s ease both;padding-top:2.75rem}.team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:2rem}@media (max-width: 1100px){.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.team-card{padding:2.2rem;border-radius:var(--radius-lg);border:1px solid var(--border);background:var(--surface-light);box-shadow:0 18px 36px #0f172a14;transition:transform var(--transition),box-shadow var(--transition),border var(--transition)}.team-card:hover{transform:translateY(-6px);box-shadow:0 24px 48px #0f172a1f;border-color:#1d71f259}.team-card .avatar{width:100%;aspect-ratio:4 / 5;border-radius:18px;background:linear-gradient(135deg,#1d71f233,#0f172a14);margin-bottom:1.4rem}.team-card .role{color:var(--text-soft);margin-bottom:.5rem}.values-grid,.deliverables-grid,.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;align-items:start}.values-card,.deliverables-card,.contact-panel{background:var(--surface);border:1px solid var(--border);padding:2rem;border-radius:var(--radius-md);box-shadow:0 18px 36px #0f172a14}.contact-form{display:grid;gap:1.2rem;background:var(--surface);border-radius:var(--radius-md);padding:2rem;border:1px solid var(--border);box-shadow:0 18px 36px #0f172a14}.contact-form label{display:grid;gap:.5rem;color:var(--text-muted);font-size:.9rem}.contact-form input,.contact-form select,.contact-form textarea{background:#fff;border:1px solid var(--border);border-radius:12px;padding:.7rem .9rem;color:var(--text)}.contact-form select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-soft) 50%),linear-gradient(135deg,var(--text-soft) 50%,transparent 50%);background-position:calc(100% - 18px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:2.4rem}.legal-consent{display:flex;align-items:flex-start;gap:.65rem;color:var(--text-soft);font-size:.88rem;line-height:1.45}.legal-consent input[type=checkbox]{margin-top:.2rem;width:16px;height:16px;accent-color:var(--accent-strong);flex:0 0 auto}.legal-consent label{display:inline;margin:0;font-size:.88rem;color:var(--text-soft)}.legal-link{background:none;border:none;padding:0;color:var(--accent-strong);font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.legal-link:hover{color:#0b86b5}.legal-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#060c1494;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;padding:1rem;animation:legalFadeIn .26s ease}.legal-modal{width:min(860px,100%);max-height:min(86vh,900px);overflow:auto;border-radius:20px;border:1px solid rgba(255,255,255,.25);background:#f7f9fcf5;box-shadow:0 28px 70px #08132552;animation:legalPanelIn .3s ease}.legal-modal-head{position:sticky;top:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.25rem;border-bottom:1px solid var(--border);background:#f7f9fcfa}.legal-modal-tabs{display:inline-flex;border:1px solid var(--border);border-radius:999px;padding:.2rem;background:#fff}.legal-tab{border:none;border-radius:999px;background:transparent;color:var(--text-soft);font-weight:600;padding:.5rem .9rem;cursor:pointer;transition:background .22s ease,color .22s ease}.legal-tab.active{background:var(--accent-strong);color:#fff}.legal-close{border:1px solid var(--border);border-radius:10px;width:34px;height:34px;background:#fff;color:var(--text);font-size:1.35rem;line-height:1;cursor:pointer}.legal-modal-body{padding:1.25rem 1.4rem 1.5rem;display:grid;gap:.95rem;color:var(--text-soft)}.legal-modal-body h3{color:var(--text);margin:0 0 .15rem}.legal-modal-body p{margin:0}.legal-modal-body a{color:var(--accent-strong);font-weight:600;text-decoration:none}.legal-modal-body a:hover{text-decoration:underline}@keyframes legalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes legalPanelIn{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.form-status{margin-top:.8rem;font-size:.9rem;color:var(--text-soft)}.form-status.success{color:#1b7f3b}.form-status.error{color:#b00020}.contact-card{margin-top:1.5rem;padding-top:1.2rem;border-top:1px solid var(--border)}.cta-section{padding:4rem 0 5rem;text-align:center;background:var(--bg-soft)}.cta-section .cta-content{display:flex;flex-direction:column;align-items:center;gap:1.2rem}.cta-section p{max-width:720px}.cta-section .cta-button{padding:.95rem 2.6rem;font-size:1.05rem}.site-footer{padding:3rem 0 2rem;background:var(--bg-soft);border-top:1px solid var(--border);color:var(--text-muted)}.footer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:2rem;margin-bottom:2rem}.footer-linkedin{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;transition:color .2s ease,border-color .2s ease,transform .2s ease}.footer-linkedin svg{width:18px;height:18px;fill:currentColor}.footer-linkedin:hover{color:var(--accent);border-color:#1d71f266;transform:translateY(-1px)}.footer-legal-links{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:.8rem}.footer-legal-link{border:none;background:none;color:var(--accent-strong);font-size:.9rem;font-weight:600;padding:0;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.footer-legal-link:hover{color:#0b86b5}.footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:1rem;color:var(--text-soft);font-size:.85rem}.footer-bottom.footer-bottom-center{justify-content:center;text-align:center}@media (min-width: 1800px){.container{width:min(1320px,86vw)}.hero-content{padding:8rem 0 14rem}.hero h1{font-size:clamp(3.4rem,4.2vw,5.1rem)}.hero-subtitle{max-width:560px}.page-hero.has-video{min-height:58vh}.gallery-grid.wide{max-width:1080px}.project-map{max-width:64%}}@media (max-width: 960px){.nav-contact-mobile{display:inline-flex;align-items:center;justify-content:center;padding:.85rem 1.4rem;border-radius:999px;background:var(--accent);font-weight:600}.nav-links a.active{color:var(--accent)}.nav-links{position:fixed;inset:84px 1.2rem auto 1.2rem;background:#fffffffa;border:1px solid var(--border);border-radius:var(--radius-md);padding:1.4rem;flex-direction:column;gap:1rem;transform:translateY(-12px);transition:transform .25s ease,opacity .25s ease;opacity:0;pointer-events:none;visibility:hidden;text-align:center;will-change:transform,opacity;max-height:calc(100svh - 96px);overflow-y:auto}.nav-links.is-open{transform:translateY(0);opacity:1;pointer-events:auto;visibility:visible}.header-actions .cta-button{display:none}.menu-toggle{display:flex}.brand-mark.brand-mark-original{width:84px}.dropdown-menu{position:static;box-shadow:none;border:none;padding:.2rem 0 .6rem;display:grid;gap:.6rem;max-height:0;opacity:0;overflow:hidden;transform:translateY(-6px);pointer-events:none;transition:max-height .25s ease,opacity .2s ease,transform .25s ease}.dropdown.is-open .dropdown-menu{max-height:320px;opacity:1;transform:translateY(0);pointer-events:auto}.nav-links a,.dropdown-toggle{color:var(--text);width:100%;justify-content:center}.nav-links .nav-contact-mobile{color:#fff;width:100%;max-width:320px;margin:.2rem auto 0}.dropdown-toggle{display:flex;align-items:center;justify-content:center;width:100%}.what-we-do-grid{grid-template-columns:1fr}.project-map{max-width:100%}.search-popover{position:fixed;top:90px;left:50%;right:auto;transform:translate(-50%);width:min(92vw,420px)}.dropdown-menu{align-items:center;text-align:center}.dropdown-item{text-align:center;font-size:.92rem}.header-search{display:none}.legal-modal{border-radius:16px}.legal-modal-head{padding:.9rem .95rem}.legal-modal-tabs{max-width:calc(100% - 46px);overflow:auto}.legal-tab{white-space:nowrap;padding:.45rem .78rem;font-size:.82rem}.legal-modal-body{padding:1rem .95rem 1.2rem;font-size:.9rem}}@media (max-width: 720px){.container{width:min(1200px,calc(100vw - 2.5rem))}.hero{min-height:100svh}.hero-content{padding:6rem 0 8.5rem}.hero-card{display:none}.hero h1.hero-title-singleline{white-space:normal;font-size:clamp(2.2rem,8vw,3rem)}.hero h1.hero-title-singleline .accent.accent-solid,.hero h1.hero-title-singleline .accent.accent-hero{display:block}.hero .accent.accent-hero .hero-word+.hero-word{margin-left:.14em}.gallery-grid.wide{max-width:100%}.gallery-row{grid-template-columns:1fr;gap:1.5rem}.stats-grid{text-align:left}.page-hero{padding:7rem 0 3rem}.page-hero .container{padding-top:2rem}.page-hero.has-video{min-height:46vh}.marquee-track{gap:1.7rem;animation-duration:42s;padding:.5rem 0}.marquee-item.logo{min-width:320px;height:136px}.marquee-item.logo img{max-width:312px;max-height:136px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.team-card{padding:1.4rem}.team-card .avatar{aspect-ratio:3 / 4;margin-bottom:.9rem}.service-detail-media{min-height:280px}.header-actions{gap:.5rem}.header-search{width:38px;height:38px}.what-we-do{padding:4.5rem 0}.what-we-do-left,.what-we-do-steps,.service-detail-copy,.services-grid,.services-detail-grid,.values-grid,.deliverables-grid,.contact-grid,.footer-grid{gap:1.25rem}.what-we-do-step,.service-card,.service-detail-card,.values-card,.deliverables-card,.contact-panel,.contact-form,.team-card{padding:1.35rem}.project-map{aspect-ratio:4 / 3}.project-tooltip-card{display:none}.footer-bottom{justify-content:center;text-align:center}}@media (max-width: 560px){.nav{gap:.85rem;padding:.95rem 0}.nav-links{inset:78px .75rem auto .75rem;padding:1rem}.hero{min-height:100svh}.hero-content{padding:5.5rem 0 8rem}.hero h1{font-size:clamp(2rem,9vw,2.6rem)}.hero-subtitle,.page-hero p{max-width:none}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.stats-grid span{font-size:1.55rem}.page-hero{padding:6.4rem 0 2.5rem}.page-hero .container{padding-top:1.5rem}.page-hero h1{font-size:clamp(2rem,9vw,2.6rem)}.gallery-grid,.gallery-grid.wide,.team-grid{grid-template-columns:1fr}.gallery-placeholder,.gallery-media{aspect-ratio:16 / 9;height:auto}.gallery-card img{height:100%}.marquee-item.logo{min-width:244px;height:100px}.marquee-item.logo img{max-width:238px;max-height:100px}.legal-modal-head{flex-direction:column;align-items:stretch}.legal-modal-tabs{max-width:100%}.legal-close{align-self:flex-end}}@media (max-width: 420px){.container{width:min(1200px,calc(100vw - 2rem))}.brand-mark.brand-mark-original{width:74px}.menu-toggle{width:38px;height:38px}.hero-content{padding:5rem 0 7.5rem}.hero h1{font-size:clamp(1.8rem,9.5vw,2.35rem)}.stats-grid{gap:.75rem}.stats-grid span{font-size:1.4rem}.page-hero h1{font-size:clamp(1.8rem,10vw,2.3rem)}.what-we-do-step,.service-card,.service-detail-card,.values-card,.deliverables-card,.contact-panel,.contact-form,.team-card{padding:1.1rem}.cta-section .cta-button,.nav-links .nav-contact-mobile{width:100%;max-width:none}}.header-actions{display:flex;align-items:center;gap:.75rem}.header-search{width:42px;height:42px;padding:0;background:transparent;border:none;color:inherit;box-shadow:none}.header-search svg{width:18px;height:18px}.header-search:hover{transform:translateY(-1px);box-shadow:none;background:transparent}.header-actions{position:relative}.search-popover{position:absolute;top:calc(100% + .75rem);right:0;width:min(420px,80vw);background:#ffffffeb;border:1px solid var(--border);border-radius:16px;box-shadow:0 24px 60px #0f172a33;padding:.9rem;z-index:2000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.search-input-row{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.75rem;padding:.6rem .8rem;border-radius:14px;border:1px solid rgba(15,23,42,.08);background:#fff}.search-input-row svg{width:18px;height:18px;color:var(--text-soft)}.search-input-row input{border:none;outline:none;font-size:1rem;background:transparent;color:var(--text)}.search-clear{border:none;background:transparent;color:var(--accent);font-weight:600}.search-results{display:grid;gap:.6rem;margin-top:1.1rem}.search-result{display:flex;align-items:center;justify-content:space-between;border-radius:12px;padding:.75rem .9rem;border:1px solid rgba(15,23,42,.08);background:#ffffffeb;font-weight:600;color:var(--text);transition:transform var(--transition),border var(--transition),box-shadow var(--transition)}.search-result:hover{transform:translateY(-2px);border-color:#1d71f259;box-shadow:0 16px 30px #0f172a1f}.search-tag{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-soft)}.search-empty{color:var(--text-soft);text-align:center;padding:1.4rem .5rem .6rem}.search-target-flash{animation:searchFlash 1.1s ease}@keyframes searchFlash{0%{box-shadow:0 0 #1d71f259}50%{box-shadow:0 0 0 18px #1d71f21f}to{box-shadow:0 0 #1d71f200}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.gallery-row,.fade-in,.hero .accent.accent-hero .hero-word{opacity:1;transform:none}}
