.universal-footer{background-color:var(--color-blue);color:var(--color-white);padding:clamp(5rem,10vw,8rem) var(--gutter) calc(8rem + var(--safe-bottom))}.footer-container{max-width:1600px;margin:0 auto}.footer-huge-text{font-size:clamp(2.6rem,6vw,6rem);font-weight:800;letter-spacing:-.02em;line-height:1.1;margin-bottom:clamp(3rem,6vw,6rem);text-transform:none}.footer-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,420px) auto;gap:clamp(2.5rem,5vw,5rem);align-items:start}.footer-offices{display:flex;flex-direction:column;gap:2rem}.office-block{font-style:normal;display:flex;flex-direction:column;gap:.5rem}.office-title{font-size:1.2rem;color:var(--color-white)}.office-lines{color:#fcfcfcbf;line-height:1.6;font-size:.95rem}.office-phone{color:#fcfcfce6;font-size:.95rem;width:fit-content;transition:color .3s}.footer-email{color:var(--color-accent);font-size:clamp(1.05rem,2vw,1.25rem);font-weight:700;display:inline-block;margin-top:2rem;word-break:break-word;transition:color .3s}@media (hover: hover){.footer-email:hover,.office-phone:hover{color:var(--color-white)}}.scroll-top-btn{width:60px;height:60px;border-radius:50%;background:transparent;border:1px solid rgba(252,252,252,.3);color:var(--color-white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease}.scroll-top-btn:hover{background:var(--color-white);color:var(--color-blue)}.footer-legal{margin-top:clamp(3rem,6vw,5rem);padding-top:2rem;border-top:1px solid rgba(252,252,252,.12);font-size:.85rem;color:#fcfcfc8c}.contact-form{display:flex;flex-direction:column;gap:1rem;width:100%}.contact-input{width:100%;padding:1rem 1.25rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:var(--color-white);font-family:inherit;font-size:1rem;transition:border-color .3s ease,background-color .3s ease}.contact-input::placeholder{color:#ffffff8c}.contact-input:focus{outline:none;border-color:var(--color-white);background:#ffffff1a}.contact-input:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.contact-textarea{resize:vertical;min-height:110px}.contact-submit{padding:1rem 2rem;min-height:48px;background:var(--color-white);color:var(--color-blue);border:none;border-radius:6px;font-weight:700;font-size:1rem;cursor:pointer;transition:background-color .3s ease,color .3s ease;align-self:flex-start;margin-top:.5rem}.contact-submit:hover{background:var(--color-accent);color:var(--color-blue-deep)}.contact-status{font-size:.9rem;color:#fcfcfccc;min-height:1.2em}@media (max-width: 1024px){.footer-content{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.footer-right{grid-column:1 / -1}}@media (max-width: 720px){.footer-content{grid-template-columns:minmax(0,1fr)}.contact-submit{align-self:stretch}}.home-page-horizontal{background-color:var(--color-white);color:var(--color-blue)}.scroll-wrapper{overflow:hidden}.scroll-container{display:flex;flex-direction:column;width:100%}.panel{position:relative;display:flex;flex-direction:column;width:100%}.huge-text{font-size:clamp(2.75rem,11vw,5.5rem);line-height:.92;font-weight:900;letter-spacing:-.03em;text-transform:none;color:var(--color-blue)}.eyebrow{color:var(--color-accent);font-weight:700;margin-bottom:1.5rem;text-transform:uppercase;font-size:.875rem;letter-spacing:.1em}.panel-1{background:var(--color-white)}.hero-split{display:flex;flex-direction:column;width:100%}.hero-text-side{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:clamp(1rem,3vw,1.8rem);text-align:center;padding:calc(var(--header-h) + 3rem) var(--gutter) 3.5rem;background-color:var(--color-white)}.hero-brand-label{font-size:clamp(2.6rem,13vw,7rem);font-weight:900;letter-spacing:-.05em;line-height:.85;color:var(--color-blue);text-transform:uppercase;white-space:nowrap}.years-excellence{color:var(--color-blue);font-size:clamp(3rem,16vw,8.5rem);font-weight:900;letter-spacing:-.05em;line-height:.85;white-space:nowrap}.hero-title{font-size:clamp(1rem,3.6vw,1.5rem);line-height:1.3;font-weight:600;letter-spacing:.02em;text-transform:none;color:var(--color-blue);opacity:.85;text-align:center;max-width:22ch;text-wrap:balance}.three-cs-container{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.5rem .9rem;margin-top:.25rem}.three-cs-item{font-size:clamp(.75rem,2.6vw,1.1rem);font-weight:800;text-transform:uppercase;letter-spacing:.15em;color:var(--color-blue);opacity:.9}.three-cs-dot{font-size:clamp(.75rem,2.6vw,1.1rem);color:var(--color-accent);opacity:.7}.hero-image-side{position:relative;height:clamp(320px,55vh,640px);background-color:var(--color-surface);overflow:hidden;isolation:isolate}.hero-image-side .reveal-wrapper{position:relative;width:100%;height:100%;border-radius:0;z-index:0}.hero-image-side .reveal-image{object-position:75% center}.panel-info{background:var(--color-white);color:var(--color-blue);padding:var(--section-y) var(--gutter);gap:2rem}.panel-info+.panel-info{background:var(--color-surface)}.info-title{font-size:clamp(2.75rem,11vw,5.5rem);line-height:.88}.about-subtext{max-width:68ch;font-size:1.05rem;line-height:1.65;color:var(--color-blue);opacity:.85;display:flex;flex-direction:column;gap:1rem}.panel-3{background:var(--color-white);display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.25rem;padding:var(--section-y) var(--gutter)}.vertical-card{position:relative;display:flex;flex-direction:column;aspect-ratio:4 / 5;max-height:70vh;border-radius:14px;overflow:hidden;isolation:isolate;text-decoration:none;color:inherit;background:var(--color-blue);transition:transform .5s var(--ease-out),box-shadow .5s var(--ease-out)}.reveal-wrapper{position:absolute;inset:0;z-index:-1;overflow:hidden;background-color:var(--color-blue-deep);transition:scale .6s var(--ease-out)}.reveal-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;will-change:transform}.dark-overlay{position:absolute;inset:0;background:linear-gradient(to top,#112244d9,#00000040 55%,#00000026);z-index:1;pointer-events:none}.card-content{position:relative;z-index:10;width:100%;height:100%;padding:clamp(1.5rem,3vw,2.5rem);display:flex;flex-direction:column;justify-content:flex-end;gap:.75rem}.card-title{font-size:clamp(1.75rem,3vw,2.25rem);font-weight:700;color:var(--color-white);line-height:1.1;text-transform:none}.card-cta{font-size:.85rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--color-accent);transition:transform .4s var(--ease-out),opacity .4s var(--ease-out)}@media (hover: hover){.vertical-card:hover{transform:translateY(-12px);box-shadow:0 30px 60px #1d3a724d}.vertical-card:hover .reveal-wrapper{scale:1.06}.card-cta{opacity:0;transform:translateY(8px)}.vertical-card:hover .card-cta,.vertical-card:focus-visible .card-cta{opacity:1;transform:translateY(0)}}.panel-achievements{background:var(--color-blue);color:var(--color-white);padding:var(--section-y) var(--gutter)}.panel-achievements .huge-text{color:var(--color-white)}.achievements-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:2.5rem;margin-top:3rem;width:100%}.achievement-card{display:flex;flex-direction:column;border-top:1px solid rgba(252,252,252,.15);padding-top:1.5rem}.counter-number{font-size:clamp(2.75rem,10vw,4.5rem);font-weight:900;color:var(--color-accent);line-height:1;letter-spacing:-.03em;margin-bottom:1rem;font-variant-numeric:tabular-nums;white-space:nowrap}.achievement-title{font-size:1.15rem;font-weight:700;color:var(--color-white);margin-bottom:.75rem;letter-spacing:-.01em}.achievement-desc{font-size:.95rem;line-height:1.55;color:#fcfcfcbf;font-weight:400}.panel-5{background:var(--color-blue);color:var(--color-white);padding:var(--section-y) var(--gutter) calc(8rem + var(--safe-bottom));border-top:1px solid rgba(252,252,252,.08)}.panel-5 .huge-text{color:var(--color-white)}.footer-details{display:grid;grid-template-columns:minmax(0,1fr);gap:2.5rem;margin-top:2.5rem;width:100%;color:#fcfcfcbf}.footer-address{display:flex;flex-direction:column;gap:.4rem;line-height:1.6}.footer-address .font-bold{color:var(--color-white);font-weight:700;font-size:1.1rem}.footer-link{color:var(--color-accent);font-weight:700;margin-top:.75rem;width:fit-content;word-break:break-word;transition:color .3s}.footer-link-muted{color:#fcfcfcbf;font-weight:500;margin-top:0}@media (hover: hover){.footer-link:hover{color:var(--color-white)}}.home-contact-form{width:100%;max-width:460px}.horizontal-scroll-progress{display:none}@media (min-width: 700px){.hero-split{min-height:100vh;min-height:100svh}.hero-text-side{flex:1}.footer-details{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);align-items:start}}@media (min-width: 1100px) and (min-height: 620px){.scroll-container{flex-direction:row;flex-wrap:nowrap;width:max-content;height:100vh}.panel{width:100vw;height:100vh;flex-shrink:0}.huge-text{font-size:clamp(3.5rem,8vmin,15rem);line-height:.9}.panel-1{padding:0}.hero-split{flex-direction:row;height:100vh;min-height:0}.hero-text-side{flex:1.2;height:100%;padding:10vh 5vw;justify-content:safe center}.hero-brand-label{font-size:clamp(3rem,10vmin,18rem)}.years-excellence{font-size:clamp(3.5rem,12vmin,20rem);margin-top:1rem}.hero-title{font-size:clamp(1rem,2.5vmin,2.5rem);white-space:nowrap;max-width:none}.three-cs-item,.three-cs-dot{font-size:clamp(.85rem,1.5vw,1.1rem)}.hero-image-side{flex:1;height:100%}.panel-info{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:4vw;padding:max(var(--header-h),11vh) 6vw max(7.5rem,13vh)}.info-title{font-size:clamp(3.2rem,6.2vw,7.5rem);line-height:.85}.about-subtext{font-size:clamp(.95rem,1.15vw,1.15rem);line-height:1.6;max-width:780px}.panel-3{display:flex;flex-direction:row;align-items:center;gap:2rem;width:max-content;padding:0 5vw}.vertical-card{width:25vw;min-width:320px;max-width:500px;height:min(75vh,calc(100vh - 230px));max-height:none;aspect-ratio:auto;flex-shrink:0}.panel-achievements{justify-content:safe center;padding:max(var(--header-h),10vh) 5vw max(7.5rem,12vh)}.achievements-grid{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:3rem;margin-top:4vh}.achievement-card{border-top:none;padding-top:0;border-left:1px solid rgba(252,252,252,.12);padding-left:1.5rem}.achievement-card:first-child{border-left:none;padding-left:0}.counter-number{font-size:clamp(3rem,8vmin,10rem)}.panel-5{justify-content:safe center;padding:max(var(--header-h),8vh) 6vw max(7rem,11vh);border-top:none}.footer-details{grid-template-columns:minmax(0,1fr) minmax(0,420px);gap:4rem;margin-top:4vh}.horizontal-scroll-progress{display:block;position:fixed;right:3rem;bottom:3rem;width:130px;height:5px;background-color:#1d3a7226;border-radius:99px;z-index:90;overflow:hidden}.progress-bar-fill{width:100%;height:100%;background-color:var(--color-accent);border-radius:99px;transform:scaleX(0);transform-origin:left center;will-change:transform}}@media (min-width: 1100px) and (min-height: 620px) and (max-height: 840px){.panel-5 .huge-text{font-size:clamp(3rem,7vmin,4.5rem)}.footer-details{margin-top:2.5vh}.contact-textarea{min-height:80px}}.custom-cursor{position:fixed;top:0;left:0;width:10px;height:10px;background-color:#e2c58d;mix-blend-mode:difference;border-radius:50%;pointer-events:none;z-index:99999;opacity:0;transform:translate3d(-100px,-100px,0);transition:width .2s var(--ease-out),height .2s var(--ease-out),background-color .2s,opacity .2s;will-change:transform}.custom-cursor.is-visible{opacity:1}.custom-cursor.cursor-hover{width:32px;height:32px;background-color:transparent;border:1.5px solid #e2c58d}.menu-toggle-btn{position:fixed;bottom:calc(1.5rem + var(--safe-bottom));left:50%;transform:translate(-50%);background:var(--color-blue);color:var(--color-white);border:1px solid rgba(252,252,252,.25);border-radius:50%;width:70px;height:70px;display:flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;letter-spacing:.02em;z-index:1000;cursor:pointer;box-shadow:0 10px 30px #11224447;transition:width .6s var(--ease-out),height .6s var(--ease-out),background-color .6s var(--ease-out),color .6s var(--ease-out),border-color .6s var(--ease-out);-webkit-tap-highlight-color:transparent}.menu-toggle-btn.is-open{background:var(--color-white);color:var(--color-blue);width:80px;height:80px;border-color:var(--color-blue)}@media (hover: hover){.menu-toggle-btn:not(.is-open):hover{background:var(--color-blue-deep)}}.slide-up-backdrop{position:fixed;inset:0;z-index:998;background:#11224440;opacity:0;pointer-events:none;transition:opacity .6s var(--ease-out)}.slide-up-backdrop.open{opacity:1;pointer-events:auto}.slide-up-overlay{position:fixed;bottom:0;left:0;width:100%;height:min(65vh,560px);background:#fcfcfcf2;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);z-index:999;transform:translateY(100%);visibility:hidden;transition:transform .6s var(--ease-out),visibility 0s linear .6s;display:flex;align-items:center;padding:0 0 calc(7.5rem + var(--safe-bottom));border-top:1px solid rgba(29,58,114,.1);border-radius:1.5rem 1.5rem 0 0;box-shadow:0 -20px 60px #1122441f}.slide-up-overlay.open{transform:translateY(0);visibility:visible;transition:transform .6s var(--ease-out),visibility 0s}.gallery-scroll-container{display:flex;gap:20px;width:100%;overflow-x:auto;align-items:center;padding:2rem var(--gutter) 1rem;scroll-snap-type:x mandatory;scroll-padding:0 var(--gutter);overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;-ms-overflow-style:none;scrollbar-width:none}.gallery-scroll-container::-webkit-scrollbar{display:none}@media (min-width: 1640px){.gallery-scroll-container{justify-content:center}}.gallery-card{position:relative;flex:0 0 auto;width:280px;height:250px;border:none;border-radius:16px;padding:1.5rem;display:flex;align-items:flex-end;text-align:left;color:var(--color-white);background:var(--color-blue);overflow:hidden;scroll-snap-align:start;cursor:pointer;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out);-webkit-tap-highlight-color:transparent}.gallery-card.is-current{box-shadow:inset 0 0 0 2px var(--color-accent)}.gallery-card-bg{position:absolute;top:0;left:0;width:100%;height:100%;background-size:cover;background-position:center;transition:transform .6s var(--ease-out);z-index:1}@media (hover: hover){.gallery-card:hover{transform:translateY(-8px);box-shadow:0 25px 50px #1d3a7259}.gallery-card:hover .gallery-card-bg{transform:scale(1.08)}}.gallery-card:active{transform:scale(.98)}.card-huge-text{position:relative;z-index:2;font-size:2.1rem;font-weight:800;line-height:1.1;letter-spacing:-.02em;color:var(--color-white);text-shadow:0 2px 10px rgba(0,0,0,.3)}@media (max-width: 768px){.slide-up-overlay{height:min(72vh,520px);height:min(72svh,520px)}.gallery-card{width:min(72vw,260px);height:280px}.card-huge-text{font-size:1.85rem}}@media (max-height: 560px){.slide-up-overlay{height:100%;border-radius:0;padding-bottom:calc(6.5rem + var(--safe-bottom))}.gallery-card{height:min(220px,45vh)}.menu-toggle-btn{width:60px;height:60px;bottom:calc(1rem + var(--safe-bottom))}}.site-header{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;padding:calc(1.25rem + env(safe-area-inset-top,0px)) var(--gutter) 0;pointer-events:none}.site-header-brand{pointer-events:auto;display:inline-flex;align-items:center;height:56px;padding:.55rem 1.1rem;border-radius:999px;background:#fcfcfcd1;backdrop-filter:blur(14px) saturate(1.4);-webkit-backdrop-filter:blur(14px) saturate(1.4);box-shadow:0 6px 24px #11224414,inset 0 0 0 1px #1d3a720f;transition:transform .4s var(--ease-out),box-shadow .4s var(--ease-out)}@media (hover: hover){.site-header-brand:hover{transform:translateY(-2px);box-shadow:0 10px 30px #11224424,inset 0 0 0 1px #1d3a7214}}@media (max-width: 600px){.site-header{padding-top:calc(.9rem + env(safe-area-inset-top,0px))}.site-header-brand{height:46px;padding:.45rem .9rem}}:root{--color-white: #fcfcfc;--color-blue: #1d3a72;--color-blue-deep: #112244;--color-accent: #8db3d8;--color-surface: #f3f4f6;--ease-out: cubic-bezier(.25, 1, .5, 1);--gutter: clamp(1.25rem, 5vw, 5rem);--section-y: clamp(4.5rem, 10vw, 8rem);--header-h: 88px;--safe-bottom: env(safe-area-inset-bottom, 0px);-webkit-text-size-adjust:100%;text-size-adjust:100%}*{box-sizing:border-box;margin:0;padding:0}html{scrollbar-gutter:stable;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis.lenis-smooth [data-lenis-prevent]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;margin:0;overflow-x:hidden;overflow-x:clip;background-color:var(--color-white);color:var(--color-blue);line-height:1.5}#root{overflow-x:clip}img,video{max-width:100%;display:block}a{text-decoration:none;color:inherit}button,input,textarea,select{font:inherit;color:inherit}::selection{background:var(--color-blue);color:var(--color-white)}.container{width:100%;max-width:1400px;margin:0 auto;padding:0 var(--gutter)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:4px}.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip-link{position:fixed;top:.75rem;left:.75rem;z-index:100000;padding:.75rem 1.25rem;background:var(--color-blue);color:var(--color-white);border-radius:999px;font-weight:700;transform:translateY(-200%);transition:transform .2s var(--ease-out)}.skip-link:focus-visible{transform:translateY(0)}.has-custom-cursor,.has-custom-cursor a,.has-custom-cursor button,.has-custom-cursor [role=button],.has-custom-cursor input,.has-custom-cursor textarea,.has-custom-cursor select{cursor:none!important}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;animation:none!important;transition:none!important}body,html,.home-page-horizontal{background-color:#fcfcfc!important;color:#1d3a72!important;height:auto!important;overflow:visible!important}.scroll-wrapper{overflow:visible!important}.scroll-container{width:100%!important;height:auto!important;display:block!important}.panel{width:100%!important;height:auto!important;min-height:100vh!important;page-break-after:always!important;display:flex!important;flex-direction:column!important;justify-content:center!important;overflow:visible!important}body,html,#root,.view-container,.view-container *,.section-page,.section-page *,.home-page-horizontal,.home-page-horizontal *,.scroll-wrapper,.scroll-wrapper *,.scroll-container,.scroll-container *,.panel,.panel *,.reveal-wrapper,.reveal-wrapper *,.reveal-image,.company-section,.company-section *,.reveal-word,.scroll-reveal-text,.scroll-reveal-text *,.universal-footer,.universal-footer *{opacity:1!important;transform:none!important;clip-path:none!important;visibility:visible!important}.vertical-card{width:100%!important;height:300px!important;min-height:auto!important;margin-bottom:2rem!important;page-break-inside:avoid!important}.custom-cursor,.horizontal-scroll-progress,.fixed-nav,.menu-toggle-btn,.slide-up-overlay,.nav-header,.close-btn,.navigation-trigger{display:none!important}}.route-loading{min-height:100vh;min-height:100svh}
