:root{font-family:Inter,Arial,sans-serif;color:#214a7c;background:#fff;--blue:#204b7f;--blue-dark:#143864}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;min-width:320px}
body.menu-open{overflow:hidden}
a{color:inherit;text-decoration:none}
button,input{font:inherit}
button{cursor:pointer}
a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid #72b7ff;outline-offset:4px}
img{max-width:100%}
.page-container{max-width:1140px;width:calc(100% - 48px);margin-inline:auto}

.site-header{position:absolute;z-index:20;top:0;left:0;right:0;height:95px;padding:0 clamp(24px,3.8vw,58px);display:flex;align-items:center;gap:35px;color:white}
.site-logo{flex:none;display:flex;align-items:center}
.site-logo img{width:145px;height:auto;display:block}
.desktop-nav{display:flex;align-items:center;gap:clamp(15px,1.6vw,28px);white-space:nowrap}
.desktop-nav a{font-size:12px;font-weight:800}
.desktop-nav a:hover,.footer-links a:hover{opacity:.72}
.header-actions{margin-left:auto;display:flex;align-items:center;gap:18px;white-space:nowrap}
.language-button{height:48px;min-width:76px;border:1px solid rgba(255,255,255,.75);border-radius:9px;background:rgba(255,255,255,.14);color:white;font-size:12px;font-weight:800}
.request-button{display:grid;place-items:center;height:48px;min-width:156px;padding:0 18px;border-radius:3px;background:var(--blue);color:white;font-size:13px;font-weight:800}
.request-button:hover,.blue-bar-link:hover{background:#173963}
.mobile-menu-button{display:none;border:0;background:none;color:#fff;font-size:15px;font-weight:800;align-items:center;gap:13px}
.menu-bars{width:27px;height:16px;display:block;position:relative;border-top:2px solid currentColor;border-bottom:2px solid currentColor}
.menu-bars:after{content:"";position:absolute;left:0;right:0;top:6px;border-top:2px solid currentColor}
.compact-header{position:fixed;top:22px;left:clamp(18px,3vw,50px);z-index:30;height:62px;display:flex;align-items:center;background:rgba(32,75,127,.96);box-shadow:0 8px 26px rgba(12,34,61,.18);opacity:0;visibility:hidden;transform:translateY(-15px);transition:opacity .25s,visibility .25s,transform .25s}
.is-scrolled .compact-header{opacity:1;visibility:visible;transform:none}
.compact-header a{display:flex;align-items:center;padding:0 17px}
.compact-header img{width:117px;height:auto;display:block}
.compact-header button{width:56px;height:62px;border:0;background:none;color:white;display:grid;place-items:center}

.home-hero{height:min(730px,90svh);min-height:610px;position:relative;overflow:hidden;background:#bfc0c1;color:#fff}
.hero-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 52%}
.hero-wash{position:absolute;inset:0;background:rgba(33,34,35,.32)}
.hero-content{position:absolute;z-index:1;left:max(calc((100vw - 1200px)/2),8.2vw);top:32%;max-width:550px}
.hero-content h1{margin:0 0 43px;font-size:clamp(34px,3.25vw,47px);font-weight:800;line-height:1.18;letter-spacing:-.04em}
.hero-content h1 .underlined{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:6px}
.hero-button{min-width:224px;display:inline-grid;place-items:center;height:52px;padding:0 24px;border-radius:30px;background:#272d2e;color:#fff;font-size:13px;font-weight:800}
.hero-button:hover{background:#101617}

.about-section{padding:135px 0 85px;background:#fff}
.about-layout{display:grid;grid-template-columns:26% 1fr;gap:7%}
.about-layout h2,.projects-section h2,.specialization-section h2,.faq-section h2{margin:0;color:var(--blue);font-size:30px;font-weight:800;letter-spacing:-.045em;line-height:1.25}
.about-layout h2{padding-top:2px}
.about-body p{max-width:770px;margin:0 0 28px;color:#254c7b;font-size:15px;font-weight:600;line-height:1.72}
.blue-bar-link{min-height:48px;display:grid;place-items:center;background:var(--blue);color:#fff;font-size:13px;font-weight:800}

.projects-section{padding:25px 0 70px;background:#fff}
.projects-section h2{margin-bottom:35px}
.project-row{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.image-tile{position:relative;margin:0;overflow:hidden;background:#e9ecf0}
.image-tile img{display:block;width:100%;height:100%;object-fit:cover}
.project-row .image-tile{height:510px}
.project-row .image-tile:after,.specialization-grid .image-tile:after{content:"";position:absolute;inset:48% 0 0;background:linear-gradient(transparent,rgba(9,20,37,.64));pointer-events:none}
.project-row .project-caption,.specialization-grid h3,.specialization-grid .tile-link span{position:absolute;z-index:1;left:28px;right:20px;bottom:24px;margin:0;color:white;font-size:23px;font-weight:800;line-height:1.25;letter-spacing:-.04em}
.project-action{margin:30px 12px 0}

.specialization-section{padding:25px 0 70px}
.specialization-section h2{margin:0 0 38px}
.specialization-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px}
.specialization-grid .image-tile{height:450px}
.specialization-grid .image-tile img{object-position:center}
.specialization-grid .tile-link{display:block}

.faq-section{padding:25px 0 80px;display:grid;grid-template-columns:42% 1fr;gap:8%}
.faq-intro p{max-width:410px;margin:25px 0;color:#254c7b;font-size:15px;font-weight:600;line-height:1.7}
.faq-contact{font-size:14px;font-weight:800}
.faq-items details{border-bottom:1px solid #d6dee8}
.faq-items summary{display:block;position:relative;cursor:pointer;list-style:none;padding:18px 30px 18px 0;color:#31557e;font-size:15px;font-weight:800;line-height:1.45}
.faq-items summary::-webkit-details-marker{display:none}
.faq-items summary:after{content:"+";position:absolute;right:4px;top:17px;font-size:19px;font-weight:400}
.faq-items details[open] summary:after{content:"−"}
.faq-answer{padding:0 25px 20px 0;color:#466386;font-size:14px;line-height:1.55}
.faq-answer p{margin:14px 0}
.faq-answer strong{color:#274d79}

.site-footer{background:var(--blue);color:#fff;padding:70px 0 25px}
.footer-grid{display:grid;grid-template-columns:31% 29% 1fr;gap:45px;padding-bottom:75px}
.footer-brand img{width:150px;height:auto}
.footer-links,.footer-contact{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.footer-links h2,.footer-contact h2{margin:0 0 12px;font-size:15px;font-weight:800}
.footer-links a,.footer-contact span,.footer-contact p{margin:0;color:#d2e0ed;font-size:13px;line-height:1.5}
.footer-contact a{font-size:15px;font-weight:800}
.footer-contact span:not(:first-of-type){margin-top:18px}
.footer-bottom{border-top:1px solid rgba(255,255,255,.22);padding-top:22px;color:#d2e0ed;font-size:12px}

.mobile-menu[hidden]{display:none}
.mobile-menu{position:fixed;z-index:50;inset:0;background:rgba(5,24,48,.67)}
.mobile-menu-panel{position:absolute;right:0;top:0;bottom:0;width:min(430px,100%);padding:28px;background:var(--blue-dark);color:#fff;overflow:auto}
.mobile-menu-top{display:flex;justify-content:space-between;align-items:center}
.mobile-menu-top img{width:135px}
.mobile-menu-top button{border:0;background:none;color:white;font-size:38px;line-height:1}
.mobile-menu nav{display:flex;flex-direction:column;margin-top:55px}
.mobile-menu nav a{padding:15px 0;border-bottom:1px solid rgba(255,255,255,.23);font-size:20px;font-weight:700}
.mobile-language{margin-top:40px;border:1px solid #fff;border-radius:5px;padding:9px 20px;background:none;color:#fff;font-size:14px;font-weight:800}

.inner-page .site-header{position:relative;background:var(--blue)}
.inner-page .compact-header{display:none}
.page-banner{background:#eff3f8;padding:90px 0 70px}
.page-banner h1{margin:0;color:var(--blue);font-size:clamp(38px,5vw,62px);letter-spacing:-.055em}
.page-banner p{max-width:600px;margin:15px 0 0;color:#527092;line-height:1.65}
.catalog-section,.certificates-section{padding:65px 0 100px}
.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:25px}
.product-card{background:#fff;border:1px solid #e0e8f0}
.product-picture{position:relative;aspect-ratio:1.42;overflow:hidden;background:#f0f0f0}
.product-picture img{display:block;width:100%;height:100%;object-fit:cover}
.product-next-image{position:absolute;right:15px;bottom:15px;padding:8px 12px;border:0;border-radius:3px;background:var(--blue);color:white;font-size:12px;font-weight:800}
.product-details{padding:21px 23px 25px}
.product-category{margin:0 0 7px;color:#6883a0;font-size:12px;font-weight:700}
.product-details h2{margin:0 0 18px;font-size:23px;letter-spacing:-.04em}
.product-details a{border-bottom:1px solid currentColor;padding-bottom:5px;font-size:13px;font-weight:800}
.certificates-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px}
.certificates-grid figure{margin:0;border:1px solid #dbe5ef;background:#f5f7fa}
.certificates-grid img{display:block;width:100%;aspect-ratio:3/4;object-fit:contain;background:#fff}
.certificates-grid figcaption{padding:14px 18px;color:var(--blue);font-size:14px;font-weight:800}

@media(max-width:1270px){.site-header{gap:22px}.desktop-nav{gap:13px}.desktop-nav a{font-size:11px}.request-button{min-width:135px}.site-logo img{width:125px}}
@media(max-width:1050px){.desktop-nav,.header-actions{display:none}.site-header{justify-content:space-between}.mobile-menu-button{display:flex}.hero-content{left:7vw}.about-section{padding-top:105px}.project-row .image-tile{height:440px}.specialization-grid .image-tile{height:390px}}
@media(max-width:700px){
  .page-container{width:calc(100% - 40px)}
  .site-header{height:75px;padding:0 20px}
  .site-logo img{width:122px}
  .home-hero{height:600px;min-height:0}
  .hero-photo{object-position:51% center}
  .hero-content{left:24px;right:24px;top:30%;max-width:440px}
  .hero-content h1{font-size:clamp(28px,8vw,42px);margin-bottom:27px}
  .hero-button{min-width:155px;height:45px;font-size:11px}
  .compact-header{top:14px;left:14px;height:54px}
  .compact-header button{height:54px}
  .about-section{padding:85px 0 58px}
  .about-layout{display:block}
  .about-layout h2,.projects-section h2,.specialization-section h2,.faq-section h2{font-size:28px}
  .about-layout h2{margin-bottom:25px}
  .about-body p{font-size:14px;margin-bottom:22px}
  .projects-section{padding:25px 0 55px}
  .projects-section h2{margin-bottom:30px}
  .project-row{display:block}
  .project-row .image-tile{height:330px;margin:0 20px 15px}
  .project-row .project-caption{font-size:22px;left:22px;bottom:20px}
  .project-action{margin:18px 20px 0}
  .specialization-section{padding:22px 0 65px}
  .specialization-grid{grid-template-columns:1fr;gap:17px}
  .specialization-grid .image-tile{height:350px}
  .specialization-grid h3,.specialization-grid .tile-link span{font-size:22px;left:20px;bottom:20px}
  .faq-section{display:block;padding:15px 0 78px}
  .faq-intro{margin-bottom:30px}
  .faq-intro p{font-size:14px}
  .faq-items summary{font-size:14px}
  .site-footer{padding-top:60px}
  .footer-grid{grid-template-columns:1fr;gap:35px;padding-bottom:55px}
  .footer-links,.footer-contact{gap:10px}
  .catalog-grid,.certificates-grid{grid-template-columns:1fr}
  .page-banner{padding:60px 0 50px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}

/* The Proven word remains assembled on load; scroll positions control its scene. */
.proven-story{height:250svh;position:relative;background:#103c78;color:#fff}
.story-stage{position:sticky;top:0;height:100svh;min-height:560px;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse 66% 70% at 70% 80%,#417bbf 0%,#225690 45%,#143e78 78%,#103769 100%)}
.story-atmosphere{position:absolute;inset:0;pointer-events:none;background:linear-gradient(127deg,transparent 38%,rgba(168,210,255,.09) 48%,transparent 58%),radial-gradient(ellipse 48% 30% at 66% 85%,rgba(198,224,255,.18),transparent 70%)}
.story-model{position:absolute;z-index:1;left:25%;top:28%;width:76%;height:65%;transform:translateX(var(--model-shift,0%)) scale(var(--model-scale,1)) rotate(var(--model-angle,0deg));transform-origin:center center;pointer-events:none}
.story-model canvas,.story-poster{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:contain}
.model-ready .story-poster{display:none}
.story-intro{position:absolute;z-index:2;top:19%;left:max(calc((100vw - 1200px)/2),8%);max-width:690px;pointer-events:auto}
.story-intro h1{margin:0 0 40px;font-size:clamp(44px,5.35vw,78px);line-height:1.05;font-weight:800;letter-spacing:-.055em;text-wrap:balance}
.story-link{display:inline-flex;align-items:center;justify-content:space-between;gap:42px;min-width:215px;padding:16px 20px;border:1px solid rgba(255,255,255,.65);border-radius:4px;background:rgba(255,255,255,.1);color:#fff;font-size:13px;font-weight:800}
.story-link:after{content:'↗';font-size:20px;font-weight:400;line-height:1}
.story-link:hover{background:rgba(255,255,255,.22)}
.story-about{position:absolute;z-index:2;top:18%;right:7%;width:min(41%,590px);opacity:0;visibility:hidden;pointer-events:auto}
.story-about h2{margin:0 0 26px;font-size:clamp(48px,5vw,76px);line-height:1.06;letter-spacing:-.055em}
.story-about p{max-width:560px;margin:0 0 21px;font-size:clamp(15px,1.12vw,18px);line-height:1.75;font-weight:500;color:#e5f0fb}
.story-about .story-link{margin-top:17px}
.story-scroll-cue{position:absolute;z-index:2;left:8%;bottom:38px;display:flex;align-items:center;gap:14px;color:#d7e9fb;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.scroll-cue-icon{display:grid;width:27px;height:27px;flex:0 0 27px;place-items:center;border:1px solid rgba(215,233,251,.55);border-radius:50%;animation:scroll-cue-bob 1.7s ease-in-out infinite}
.scroll-cue-icon img{display:block;width:12px;height:12px;filter:brightness(0) invert(1)}
@keyframes scroll-cue-bob{0%,100%{transform:translateY(-2px)}50%{transform:translateY(3px)}}
@media(prefers-reduced-motion:reduce){.scroll-cue-icon{animation:none}}
.story-about-anchor{position:absolute;top:135svh;left:0;width:1px;height:1px;pointer-events:none}
.proven-story + .projects-section{padding-top:95px}
@media(max-width:1050px){.story-intro{left:6%;top:17%;max-width:66%}.story-intro h1{font-size:clamp(40px,6vw,65px)}.story-model{left:22%;width:83%}.story-about{right:5%;width:46%;top:18%}}
@media(max-width:700px){
 .proven-story{height:255svh}
 .story-stage{min-height:560px}
 .story-intro{top:16%;left:6%;right:6%;max-width:none}
 .story-intro h1{font-size:clamp(36px,10vw,58px);margin-bottom:24px}
 .story-link{min-width:176px;padding:12px 14px;font-size:11px}
 .story-model{left:0;top:34%;width:100%;height:48%;transform:translate(var(--model-shift,0%),var(--model-rise,0svh)) scale(calc(var(--model-scale,1) * .95)) rotate(var(--model-angle,0deg))}
 .story-about{top:55%;left:6%;right:6%;width:auto}
 .story-about h2{font-size:clamp(35px,9vw,52px);margin-bottom:13px}
 .story-about p{font-size:13px;line-height:1.55;margin-bottom:11px}
 .story-about .story-link{margin-top:3px}
 .story-scroll-cue{left:6%;bottom:23px}
 .story-about-anchor{top:138svh}
 .proven-story + .projects-section{padding-top:65px}
}
