/* R10: approved panoramic hero. Keep later sections and their layout intact. */
:root{--brand-accent:#d7eb82;--brand-dark:#073d29;--yellow:var(--brand-accent)}
.btn:hover,.native-demo-form .submit:hover,.film-contact:hover{background:#e2f1a7;color:var(--forest-deep)}
.btn:active,.native-demo-form .submit:active{background:#c9df70}
.header{position:relative;height:84px;background:var(--brand-dark);border-bottom:1px solid #ffffff26}
.header>.wrap{gap:24px}
.logo,.footer-logo{display:inline-flex;flex-shrink:0;text-decoration:none;max-width:100%;color:#fff}
.brand-lockup{display:flex;align-items:center;gap:9px;width:250px;max-width:100%;color:inherit;line-height:1}
.logo .brand-mark,.footer-brand .brand-mark{display:block;flex:0 0 60px;width:60px;height:50px;object-fit:contain;margin:0}
.brand-type{display:flex;flex-direction:column;align-items:flex-start;gap:5px;min-width:0}
.brand-wordmark{font-size:32px;font-weight:750;line-height:1;letter-spacing:-.045em}
.brand-tagline{display:block;font-size:9px;font-weight:500;line-height:1.3;letter-spacing:-.02em;white-space:nowrap}
.header .nav{position:static;display:flex;flex-direction:row;gap:24px;padding:0;border:0;background:transparent}
.header .nav a{width:auto;min-height:44px;padding:8px 0;font-size:13px;font-weight:500;line-height:1.3;text-transform:none;letter-spacing:0;color:#fff}
.header .nav a:hover{color:var(--brand-accent)}
.header-right{gap:16px;flex-shrink:0}
.header .lang{gap:0;background:none;border:0;border-radius:0;color:#fff}
.header .lang button{min-width:30px;min-height:44px;padding:8px 4px;background:transparent;border:0;border-radius:0;color:#e4ecdf;font-size:12px;line-height:1;font-weight:500}
.header .lang button[aria-pressed=true]{color:#fff;font-weight:750;text-decoration:underline;text-decoration-color:var(--brand-accent);text-underline-offset:5px}
.header .lang>span{color:#bacabd;font-size:12px}
.header-right>.btn{display:inline-flex;font-size:13px;min-height:42px;padding:10px 17px;border-radius:10px;gap:12px}
.header .menu{display:none;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:9px;color:#fff;background:transparent;border-radius:6px}
.header .menu svg{width:26px;height:26px;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.menu-line{transform-origin:12px 12px;transition:transform .18s,opacity .18s}
.menu[aria-expanded=true] .menu-line-top{transform:translateY(5px) rotate(45deg);transform-origin:12px 7px}
.menu[aria-expanded=true] .menu-line-middle{opacity:0}
.menu[aria-expanded=true] .menu-line-bottom{transform:translateY(-5px) rotate(-45deg);transform-origin:12px 17px}
.hero{display:block;place-items:normal;min-height:0;padding:0;overflow:hidden;background:var(--brand-dark)}
.hero-background img{object-position:57% center}
.hero-shade{background:linear-gradient(90deg,rgba(3,42,26,.94) 0%,rgba(3,42,26,.79) 28%,rgba(3,42,26,.29) 68%,rgba(3,42,26,.14) 100%)}
.hero-inner{width:100%;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:40px;align-items:end;min-height:610px;padding-block:112px 84px}
.hero-copy{width:100%;text-align:left;align-self:center;min-width:0}
.hero .eyebrow{display:block;justify-content:flex-start;color:#edf3e8;font-size:11px;font-weight:600;line-height:1.65;letter-spacing:.14em;margin:0 0 26px}
.hero .eyebrow::after{content:'';display:block;width:54px;height:4px;margin-top:15px;background:var(--brand-accent)}
.hero h1{font-size:clamp(44px,4.2vw,56px);font-weight:600;line-height:1.1;letter-spacing:-.035em;max-width:none;margin:0 0 25px;color:#fff}
.hero h1 em{color:var(--brand-accent);font-style:normal;font-weight:inherit;letter-spacing:inherit}
.hero .intro{max-width:510px;margin:0;font-size:18px;line-height:1.6;color:#f0f5eb}
.hero-actions{display:flex;flex-direction:row;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:14px;margin-top:30px}
.hero-actions .btn,.hero-actions .text-link{min-height:50px;padding:12px 22px;font-size:15px;font-weight:600;line-height:1.35;border-radius:12px;gap:12px}
.hero-actions .text-link{border:1px solid #e6eddf;background:#063c2955;color:#fff}
.hero-actions .text-link:hover{background:#ffffff14;text-decoration:none}
.hero-play-icon{flex:0 0 24px;width:24px;height:24px;stroke:currentColor;stroke-width:1.5}
.hero-inner>.hero-technology{justify-self:end;align-self:end;min-width:0;margin:0}
.hero-capabilities{width:100%;position:relative;border-top:1px solid #c7dbbd40;background:#063d2aeb}
.hero-capabilities>.wrap{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;margin:0 auto;min-height:82px;padding-block:20px}
.hero-capabilities li{display:flex;justify-content:center;align-items:center;gap:18px;padding-inline:20px;min-width:0;font-size:14px;font-weight:500;line-height:1.45;color:#f5f8ed}
.hero-capabilities li+li{border-left:1px solid #b8d3b25c}
.hero-capabilities svg{flex:0 0 28px;width:28px;height:28px;stroke:#d7eb82;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.footer-brand{min-width:0}
.footer-brand .brand-lockup{width:230px;gap:8px}
.footer-brand .brand-wordmark{font-size:29px}
.footer-brand .brand-tagline{font-size:8px}
.footer-brand .brand-mark{flex-basis:54px;width:54px;height:46px}
.footer-logo{margin-bottom:15px}
.footer-company-slogan{font-size:13px!important;color:#d7eb82!important;line-height:1.5!important;margin:0 0 15px}
.footer .footer-company{margin-bottom:4px}
@media(max-width:1200px){
 .header>.wrap{gap:18px}.header .nav{gap:18px}.brand-lockup{width:230px}.brand-wordmark{font-size:30px}.brand-tagline{font-size:8.5px}.logo .brand-mark{flex-basis:54px;width:54px;height:48px}
 .hero-inner{gap:28px;min-height:570px;padding-block:96px 72px}.hero h1{font-size:50px}
}
@media(max-width:1100px){
 .header .menu{display:inline-flex}.header-right>.btn{display:none}.header-right{gap:14px}
 .header .nav{display:none;position:absolute;top:100%;left:0;right:0;z-index:30;padding:16px 32px 22px;background:var(--brand-dark);border-bottom:1px solid #ffffff30;box-shadow:0 12px 20px #03251630}
 .header .nav.open{display:flex;flex-direction:column;align-items:stretch;gap:4px}.header .nav a{width:100%;min-height:44px;padding:11px 0;font-size:16px}
 .hero-inner{grid-template-columns:minmax(0,1.2fr) minmax(0,.9fr);gap:28px;min-height:540px;padding-block:80px 62px}
 .hero h1{font-size:46px}.hero .intro{font-size:17px}.hero-actions .btn,.hero-actions .text-link{padding-inline:18px;font-size:14px}
 .hero-inner>.hero-technology{padding-inline:11px}.hero-technology figcaption{font-size:12px}
}
@media(max-width:900px){
 .hero-inner{grid-template-columns:minmax(0,1fr);gap:36px;min-height:0;padding-block:64px 58px}
 .hero-copy{max-width:620px}.hero h1{font-size:48px;max-width:650px}.hero .intro{max-width:540px;font-size:18px}
 .hero-inner>.hero-technology{width:min(100%,460px);justify-self:end;padding:13px 15px 18px}
 .hero-technology figcaption{font-size:13px}.hero-shade{background:linear-gradient(90deg,rgba(3,42,26,.9),rgba(3,42,26,.6) 63%,rgba(3,42,26,.25))}
 .hero-capabilities li{gap:12px;padding-inline:14px;font-size:13px}.hero-capabilities svg{flex-basis:26px;width:26px;height:26px}
}
@media(max-width:600px){
 .header{height:76px}.header>.wrap{padding-inline:20px;gap:8px}.header-right{gap:8px}
 .logo .brand-lockup{width:218px;gap:8px}.logo .brand-mark{flex-basis:45px;width:45px;height:42px}.logo .brand-wordmark{font-size:28px}.logo .brand-tagline{font-size:8px;letter-spacing:-.025em}.brand-type{gap:5px}
 .header .lang button{min-width:26px;min-height:44px;padding-inline:2px;font-size:11px}.header .lang>span{font-size:11px}.header .menu{min-width:40px;padding:7px}.header .menu svg{width:25px;height:25px}
 .header .nav{padding-inline:22px}
 .hero-background img{object-position:62% top}
 .hero-shade{background:linear-gradient(90deg,rgba(3,42,26,.94),rgba(3,42,26,.67) 65%,rgba(3,42,26,.38))}
 .hero-inner{display:grid;grid-template-columns:minmax(0,1fr);gap:26px;padding:72px 24px 72px;min-height:0}
 .hero-copy{max-width:none}.hero .eyebrow{font-size:11px;line-height:1.6;letter-spacing:.12em;max-width:260px;margin-bottom:22px}.hero .eyebrow::after{width:44px;height:3px;margin-top:16px}
 .hero h1{font-size:32px;line-height:1.12;letter-spacing:-.035em;margin-bottom:21px;max-width:none}
 .hero .intro{font-size:16px;line-height:1.6;max-width:440px}
 .hero-actions{display:flex;flex-direction:column;align-items:stretch;gap:11px;margin-top:24px}
 .hero-actions .btn,.hero-actions .text-link{width:100%;justify-content:center;min-height:50px;padding:12px 16px;gap:12px;font-size:15px;line-height:1.4;border-radius:14px}
 .hero-actions .arrow{font-size:22px}.hero-play-icon{width:23px;height:23px;flex-basis:23px}
 .hero-inner>.hero-technology{justify-self:stretch;width:100%;max-width:none;padding:10px 10px 16px;border-radius:15px}
 .hero-technology figcaption{font-size:13px}
 .hero-capabilities>.wrap{min-height:108px;padding:19px 14px 20px}
 .hero-capabilities li{flex-direction:column;justify-content:flex-start;gap:8px;text-align:center;font-size:13px;line-height:1.35;padding-inline:10px}
 .hero-capabilities svg{flex-basis:27px;width:27px;height:27px}.hero-capabilities li>span{max-width:105px}
 .footer-brand{display:block}.footer-brand .brand-lockup{width:250px}.footer-brand .brand-wordmark{font-size:32px}.footer-brand .brand-tagline{font-size:9px}.footer-brand .brand-mark{flex-basis:60px;width:60px;height:50px}.footer-brand p{max-width:310px}.footer-logo{margin:0 0 14px}
}
@media(max-width:380px){
 .header>.wrap{padding-inline:16px;gap:5px}.header-right{gap:4px}.logo .brand-lockup{width:210px;gap:7px}.logo .brand-mark{flex-basis:42px;width:42px;height:40px}.logo .brand-wordmark{font-size:27px}.logo .brand-tagline{font-size:8px;letter-spacing:-.03em}
 .hero-inner{padding-inline:20px;padding-top:64px;padding-bottom:56px}.hero h1{font-size:31px}.hero-capabilities li{font-size:12px;padding-inline:8px}
}
@media(prefers-reduced-motion:reduce){.menu-line{transition:none}.hero *{animation:none!important}}
