@import url("./styles.css");
@import url("./symfony-app.css");
@import url("./seo-pages.css");
@import url("./photo-content.css");

:root{--red:#cf1f2c;--header-h:84px;--radius-lg:28px;--radius-md:18px;--surface:#ffffff;--surface-dark:#111318;--soft-shadow:0 22px 70px rgb(8 10 14 / 18%)}

.site-header{position:fixed;inset:0 0 auto;z-index:1000;background:linear-gradient(180deg,rgb(255 255 255 / 96%),rgb(255 255 255 / 86%));backdrop-filter:blur(10px)}
.site-header.scrolled{background:#fff;box-shadow:0 10px 40px rgb(0 0 0 / 10%)}
.nav-shell{min-height:var(--header-h);display:flex;align-items:center;justify-content:space-between;gap:2rem}.brand{flex:0 0 auto}.brand-wordmark{display:inline-flex;align-items:center;min-width:0}.brand-logo{display:block;width:clamp(158px,20vw,300px);height:auto;border-radius:10px;background:#fff;box-shadow:0 14px 34px rgb(0 0 0 / 24%)}.brand-logo-footer{width:min(260px,88vw);box-shadow:none}.primary-nav{display:flex;align-items:center;gap:.35rem;color:#3a3f48;font-size:.92rem;font-weight:750}.nav-link,.primary-nav>a,.nav-dropdown-toggle{min-height:44px;display:inline-flex;align-items:center;padding:.65rem .9rem;border:0;background:transparent;color:inherit;font:inherit;font-weight:800;letter-spacing:.01em}.nav-link:hover,.primary-nav>a:hover,.nav-dropdown-toggle:hover,.nav-dropdown:focus-within .nav-dropdown-toggle{color:var(--red);background:rgb(0 0 0 / 5%)}.nav-cta{margin-left:.3rem;border-radius:999px;background:var(--red)!important;color:#fff!important;box-shadow:0 14px 35px rgb(207 31 44 / 28%)}
.nav-dropdown{position:relative}.nav-dropdown-toggle::after{content:"";width:.45rem;height:.45rem;margin-left:.55rem;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-.12rem) rotate(45deg)}.services-menu{position:absolute;top:calc(100% + .7rem);left:50%;width:min(92vw,720px);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem;padding:1rem;background:rgb(255 255 255 / 97%);color:#151820;border:1px solid rgb(20 22 28 / 10%);border-radius:24px;box-shadow:var(--soft-shadow);opacity:0;visibility:hidden;transform:translate(-50%,-8px);transition:opacity .18s ease,transform .18s ease,visibility .18s ease}.nav-dropdown:hover .services-menu,.nav-dropdown:focus-within .services-menu{opacity:1;visibility:visible;transform:translate(-50%,0)}.services-menu::before{content:"";position:absolute;inset:-.85rem 0 auto;height:.85rem}.services-menu a{display:grid;gap:.15rem;padding:.9rem 1rem;border-radius:16px}.services-menu a:hover,.services-menu a:focus{background:#f2f2f0;outline:none}.services-menu strong{font-size:.95rem;color:#111318}.services-menu span{font-size:.78rem;color:#656971;line-height:1.35}.services-menu .featured-service{background:#111318;color:#fff}.services-menu .featured-service strong{color:#fff}.services-menu .featured-service span{color:#c9ccd2}.nav-toggle{display:none;align-items:center;justify-content:center;border-radius:999px;color:var(--ink)}

.hero{padding:10.5rem 0 6rem}.hero-grid{gap:clamp(2rem,5vw,5rem)}.hero h1{font-size:clamp(3.2rem,7vw,4.4rem)}@media(max-width:640px){.hero h1{font-size:clamp(2rem,11vw,3.3rem)}}.why-grid span,.value-grid article>span{display:inline-flex;align-items:center;justify-content:center;width:3.2rem;height:3.2rem;margin-bottom:.6rem;border-radius:10px;background:var(--ink);color:#fff;font-size:1.05rem;font-weight:800}.contact-copy{padding:2.5rem;background:#f4f4f2;border-radius:var(--radius-lg)}.location-strip{padding:2rem 0;text-align:center;background:var(--muted)}.location-strip strong{font-size:.95rem;letter-spacing:.08em;text-transform:uppercase;color:var(--soft-text)}.hero-visual,.service-hero-media,.photo-frame{overflow:hidden;border-radius:var(--radius-lg);background:#ececea}.hero-visual img,.service-hero-media img,.service-card-media img,.capability-photo-grid img,.photo-frame img{width:100%;height:100%;object-fit:cover}.hero-visual img{aspect-ratio:16/10}.service-hero-media img{aspect-ratio:4/3}.photo-frame figcaption{padding:.85rem 1rem;color:#d7d9df;background:rgb(11 13 17 / 92%);font-size:.8rem;line-height:1.45}.service-card{border-radius:22px;padding:1.35rem}.service-card-media{margin:-.15rem -.15rem 1.15rem;border-radius:18px}.service-card-media img{aspect-ratio:16/10}.service-card h3{margin:.5rem 0 .85rem}.service-card .button{margin-top:1.15rem}.section{padding:clamp(4.5rem,7vw,7rem) 0}.section-heading{margin-bottom:clamp(2rem,4vw,3.25rem)}.split-layout,.content-layout,.innovation-grid,.contact-grid{gap:clamp(2rem,5vw,5rem)}.capability-photo-grid{margin-top:2.5rem;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.capability-photo-grid article{overflow:hidden;border-radius:22px;background:#fff;box-shadow:0 14px 45px rgb(15 17 22 / 8%)}.capability-photo-grid img{aspect-ratio:16/10}.capability-photo-grid a{display:block}.capability-photo-grid div{padding:1.05rem 1.1rem}.capability-photo-grid strong{display:block;color:#111318}.capability-photo-grid span{display:block;margin-top:.3rem;color:#686c74;font-size:.9rem}.related-grid{gap:1rem}.related-card{border-radius:18px}.page-hero{padding:10rem 0 6rem}.page-hero-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(2rem,5vw,5rem);align-items:center}.page-hero h1{margin:0;max-width:900px;font-size:clamp(2.8rem,5.5vw,5rem);line-height:1;letter-spacing:-.045em;color:var(--ink)}.page-hero .hero-lead{color:#4d5057}.page-hero .breadcrumbs{margin-bottom:1rem;font-size:.78rem;color:var(--soft-text)}.page-hero .breadcrumbs a{color:var(--red-dark)}.related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.related-card{display:block;padding:1.5rem;background:#fff;border:1px solid var(--line);box-shadow:0 14px 40px rgb(20 22 28 / 6%);color:var(--ink)}.related-card:hover{transform:translateY(-3px);box-shadow:0 20px 50px rgb(20 22 28 / 10%)}.related-card small{color:var(--red);font-size:.72rem;font-weight:850;letter-spacing:.1em;text-transform:uppercase}.related-card strong{display:block;margin:.5rem 0 .35rem;font-size:1.15rem}.related-card span{color:var(--soft-text);font-size:.9rem}@media(max-width:980px){.page-hero-grid{grid-template-columns:minmax(0,1fr)}.related-grid{grid-template-columns:minmax(0,1fr)}}.cta-band{padding:3rem 0}.cta-inner{border-radius:28px;padding:2rem;background:#1c2433;color:#fff}.contact-form,.evidence-card,.process-grid li{border-radius:18px}

@media(max-width:980px){:root{--header-h:74px}.brand-logo-header{width:clamp(132px,42vw,210px)}.nav-toggle{display:inline-flex}.primary-nav{position:absolute;top:calc(var(--header-h) - 2px);left:1rem;right:1rem;display:none;flex-direction:column;align-items:stretch;gap:.25rem;padding:1rem;background:#fff;border:1px solid rgb(0 0 0 / 10%);border-radius:22px;box-shadow:var(--soft-shadow)}.primary-nav.open{display:flex}.nav-link,.primary-nav>a,.nav-dropdown-toggle{width:100%;justify-content:space-between}.nav-cta{margin-left:0;justify-content:center}.services-menu{position:static;width:100%;grid-template-columns:1fr;max-height:44vh;overflow:auto;margin:.25rem 0 .65rem;padding:.6rem;border-radius:16px;opacity:1;visibility:visible;transform:none;box-shadow:none}.services-menu::before{display:none}.hero{min-height:auto;padding-top:7.75rem}.capability-photo-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}
@media(max-width:640px){.primary-nav{left:.7rem;right:.7rem}.brand-logo-header{width:148px}.hero{padding-top:7rem}.hero-actions{align-items:stretch}.hero-actions .button{width:100%}.service-card{padding:1.1rem}.capability-photo-grid{grid-template-columns:minmax(0,1fr)}.cta-inner{padding:1.35rem}.section-heading h2,.contact-copy h2,.innovation-grid h2{letter-spacing:-.035em}}
