:root {
  --red: #f11d25;
  --red-dark: #b50d17;
  --navy: #071345;
  --blue: #0d2cad;
  --ink: #161927;
  --muted: #717582;
  --line: #e5e7ec;
  --paper: #fff;
  --soft: #f7f8fa;
  --container: 1240px;
  --header-h: 92px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--ink);
  background: var(--paper);
  font-family: Vazirmatn, Tahoma, Arial, sans-serif;
  line-height: 1.8;
  overflow-x: hidden;
}
body.menu-open { overflow: hidden; }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button { cursor: pointer; }
img, video { display: block; max-width: 100%; }
.container { width: min(calc(100% - 48px), var(--container)); margin-inline: auto; }
.section { padding: 112px 0; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
.skip-link { position: fixed; top: -80px; right: 24px; z-index: 9999; background: #fff; padding: 12px 18px; border-radius: 8px; }
.skip-link:focus { top: 20px; }

/* محافظ اولیه: تا زمان دریافت موفق API هیچ داده ثابت یا نمونه دیده نشود. */
html.api-pending body { min-height:100vh; overflow:hidden; background:#fff; }
html.api-pending body > * { visibility:hidden!important; }
html.api-pending body::before {
  content:"";
  position:fixed;
  z-index:99998;
  inset:0;
  visibility:visible;
  background:#fff;
}
html.api-pending body::after {
  content:"";
  position:fixed;
  z-index:99999;
  top:50%;
  left:50%;
  width:52px;
  height:52px;
  margin:-26px 0 0 -26px;
  visibility:visible;
  border:4px solid #eceef3;
  border-top-color:var(--red);
  border-radius:50%;
  animation:api-page-spin .8s linear infinite;
}
html.api-pending.api-load-error body::after {
  content:"دریافت اطلاعات سایت انجام نشد؛ لطفاً صفحه را دوباره بارگذاری کنید.";
  width:min(420px,calc(100vw - 40px));
  height:auto;
  margin:0;
  padding:22px;
  border:1px solid rgba(241,29,37,.2);
  border-radius:14px;
  background:#fff;
  color:#9d1018;
  text-align:center;
  transform:translate(-50%,-50%);
  animation:none;
}
@keyframes api-page-spin { to { transform:rotate(360deg); } }

/* Scroll motion system */
.scroll-progress { position:fixed; z-index:1000; top:0; right:0; width:100%; height:3px; transform:scaleX(var(--scroll-progress,0)); transform-origin:right center; background:linear-gradient(90deg,#ff5a62,var(--red)); box-shadow:0 0 14px rgba(241,29,37,.55); pointer-events:none; }
.motion-ready .reveal { opacity:0; filter:blur(7px); transform:translate3d(0,72px,0) scale(.97); transition:opacity 1s cubic-bezier(.16,1,.3,1),transform 1s cubic-bezier(.16,1,.3,1),filter .9s ease; transition-delay:var(--reveal-delay,0ms); will-change:opacity,transform; }
.motion-ready .reveal.reveal-left { transform:translate3d(90px,0,0) rotate(1.5deg); }
.motion-ready .reveal.reveal-scale { transform:scale(.88) translate3d(0,45px,0); }
.motion-ready .reveal.is-visible { opacity:1; transform:none; }
.motion-ready .reveal.is-visible { filter:none; }
.motion-ready .service-item.reveal:nth-child(odd),.motion-ready .news-card.reveal:nth-child(odd),.motion-ready .catalog-card.reveal:nth-child(odd) { transform:translate3d(0,85px,0) rotate(1.3deg); }
.motion-ready .service-item.reveal:nth-child(even),.motion-ready .news-card.reveal:nth-child(even),.motion-ready .catalog-card.reveal:nth-child(even) { transform:translate3d(0,85px,0) rotate(-1.3deg); }
.motion-ready .service-item.reveal.is-visible,.motion-ready .news-card.reveal.is-visible,.motion-ready .catalog-card.reveal.is-visible { transform:none; }
.service-item,.product-card,.news-card,.catalog-card { transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .4s; }
.service-item:hover { transform:translateY(-9px); box-shadow:0 24px 55px rgba(7,19,69,.09); border-color:rgba(241,29,37,.22); z-index:3; }
.product-card:hover { transform:translateY(-10px); box-shadow:0 28px 55px rgba(105,0,8,.22); }
.news-card:hover,.catalog-card:hover { transform:translateY(-7px); }
.motion-ready .section-intro h2,.motion-ready .section-heading h2 { background:linear-gradient(currentColor,currentColor) right bottom/0 2px no-repeat; transition:background-size 1s .25s ease; }
.motion-ready .is-visible .section-intro h2,.motion-ready .section-intro.is-visible h2,.motion-ready .section-heading.is-visible h2 { background-size:72px 2px; }
.motion-ready .product-card.reveal .product-image { opacity:0; transform:translateY(35px) scale(.78) rotate(-4deg); transition:opacity .75s .25s,transform 1.05s .2s cubic-bezier(.16,1,.3,1); }
.motion-ready .product-card.reveal.is-visible .product-image { opacity:1; transform:none; }
.product-card:hover .product-image img { transform:scale(1.08) rotate(-2deg); }
.product-image img { transition:transform .55s cubic-bezier(.2,.8,.2,1); }
.motion-section { position:relative; overflow:hidden; }
.motion-ready .service-item.reveal.is-visible:nth-child(n),.motion-ready .news-card.reveal.is-visible:nth-child(n),.motion-ready .catalog-card.reveal.is-visible:nth-child(n) { transform:none; }

/* Global search */
.search-button { display:grid; place-items:center; font-size:29px; line-height:1; transition:transform .25s,color .25s; }
.search-button:hover { transform:scale(1.14) rotate(-8deg); color:#ff5961; }
.search-overlay { position:fixed; z-index:1200; inset:0; display:grid; place-items:start center; padding:clamp(70px,11vh,120px) 18px 30px; background:rgba(2,7,29,.88); backdrop-filter:blur(18px); opacity:0; visibility:hidden; transition:opacity .35s,visibility .35s; }
.search-overlay.open { opacity:1; visibility:visible; }
.search-dialog { width:min(760px,100%); max-height:calc(100vh - 130px); overflow:hidden; border:1px solid rgba(255,255,255,.18); border-radius:24px; color:#fff; background:linear-gradient(145deg,rgba(15,35,99,.98),rgba(5,13,49,.98)); box-shadow:0 35px 100px rgba(0,0,0,.5); transform:translateY(-28px) scale(.96); transition:transform .45s cubic-bezier(.16,1,.3,1); }
.search-overlay.open .search-dialog { transform:none; }
.search-head { display:flex; gap:12px; align-items:center; padding:20px; border-bottom:1px solid rgba(255,255,255,.12); }
.search-head input { flex:1; min-width:0; height:58px; border:0; outline:0; border-radius:14px; padding:0 20px; color:#fff; background:rgba(255,255,255,.08); font:500 17px Vazirmatn,sans-serif; }
.search-head input::placeholder { color:rgba(255,255,255,.43); }
.search-close { width:50px; height:50px; border:0; border-radius:50%; background:var(--red); color:#fff; font-size:28px; }
.search-results { max-height:55vh; overflow:auto; padding:12px 20px 22px; }
.search-empty { padding:38px 12px; text-align:center; color:rgba(255,255,255,.55); }
.search-result { display:grid; grid-template-columns:46px 1fr auto; gap:14px; align-items:center; padding:14px 10px; border-bottom:1px solid rgba(255,255,255,.09); transition:.25s; }
.search-result:hover,.search-result:focus { padding-right:18px; color:#fff; background:rgba(255,255,255,.055); outline:0; }
.search-result__icon { width:42px; height:42px; border-radius:12px; display:grid; place-items:center; background:rgba(241,29,37,.16); color:#ff5a62; }
.search-result strong,.search-result small { display:block; }
.search-result small { margin-top:3px; color:rgba(255,255,255,.45); }
.search-result>span:last-child { color:#ff5a62; font-size:20px; }
body.search-open { overflow:hidden; }

.site-header {
  position: absolute;
  z-index: 100;
  top: 0;
  right: 0;
  left: 0;
  height: var(--header-h);
  padding-inline: clamp(24px, 5vw, 82px);
  display: grid;
  grid-template-columns: 210px 1fr 210px;
  align-items: center;
  color: #fff;
  transition: background .3s, height .3s, box-shadow .3s, transform .3s;
}
.site-header.scrolled {
  position: fixed;
  height: 72px;
  background: rgba(7,19,69,.94);
  backdrop-filter: blur(18px);
  box-shadow: 0 8px 40px rgba(0,0,0,.12);
  animation: headerIn .35s ease both;
}
@keyframes headerIn { from { transform: translateY(-100%); } to { transform: translateY(0); } }
.brand { display: inline-flex; align-items: center; gap: 10px; direction: ltr; color: #fff; font: 800 28px/1 Arial,sans-serif; letter-spacing: -.5px; }
.brand-mark { width: 25px; height: 34px; position: relative; display: inline-block; }
.brand-mark i { position: absolute; width: 12px; height: 12px; border-radius: 50%; background: currentColor; right: 0; }
.brand-mark i:nth-child(1) { top: 0; }
.brand-mark i:nth-child(2) { top: 11px; left: 0; right: auto; }
.brand-mark i:nth-child(3) { bottom: 0; }
.desktop-nav { display: flex; justify-content: center; align-items: center; gap: 34px; }
.desktop-nav>div { position:relative; height:var(--header-h); display:flex; align-items:center; }
.desktop-nav a { position: relative; font-size: 14px; font-weight: 500; opacity: .82; transition: .25s; }
.desktop-nav a:hover, .desktop-nav a.active { opacity: 1; }
.desktop-nav a.active:after { content:""; position:absolute; height:2px; right:0; left:0; bottom:-12px; background:var(--red); }
.desktop-nav .has-submenu>a { display:flex; align-items:center; gap:7px; }
.desktop-nav .has-submenu>a:before { content:"⌄"; order:2; font-size:12px; opacity:.7; transition:transform .25s; }
.desktop-nav .has-submenu:hover>a:before,
.desktop-nav .has-submenu:focus-within>a:before { transform:rotate(180deg); }
.submenu {
  position:absolute; top:calc(100% - 10px); right:50%; width:260px; padding:14px;
  background:rgba(255,255,255,.98); color:var(--ink); border:1px solid rgba(7,19,69,.08);
  border-radius:12px; box-shadow:0 24px 65px rgba(7,19,69,.16); transform:translate(50%,12px);
  opacity:0; visibility:hidden; pointer-events:none; transition:.25s; backdrop-filter:blur(18px);
}
.has-submenu:hover>.submenu,.has-submenu:focus-within>.submenu { opacity:1; visibility:visible; pointer-events:auto; transform:translate(50%,0); }
.submenu:before { content:""; position:absolute; top:-7px; right:50%; width:13px; height:13px; background:#fff; border-right:1px solid rgba(7,19,69,.08); border-top:1px solid rgba(7,19,69,.08); transform:translateX(50%) rotate(-45deg); }
.submenu a { display:block; padding:10px 12px; border-radius:7px; opacity:.72; white-space:nowrap; }
.submenu a:hover,.submenu a:focus { color:var(--red); background:#f7f7fa; opacity:1; outline:0; }
.submenu a:after { display:none!important; }
.header-tools { display: flex; align-items: center; justify-content: flex-end; gap: 15px; direction: ltr; }
.plain-button, .lang-button { border: 0; color: inherit; background: transparent; }
.search-button { width: 40px; font-size: 25px; }
.lang-button { padding: 8px; font-size: 13px; }
.menu-button, .floating-menu {
  width: 50px; height: 50px; border: 0; border-radius: 50%; background: var(--red); color: #fff;
  display: grid; place-content: center; gap: 7px; box-shadow: 0 12px 30px rgba(241,29,37,.28);
}
.menu-button span { display:block; width:19px; height:2px; background:#fff; transition:.25s; }
.menu-button span:last-child { width:13px; justify-self:end; }
.site-header .menu-button { display:none; }

.menu-drawer {
  position: fixed; z-index: 300; inset: 0 0 0 auto; width: min(100%, 480px); padding: 90px 55px;
  background: var(--navy); color: #fff; transform: translateX(105%); transition: transform .4s cubic-bezier(.77,0,.18,1); overflow-y:auto;
}
.menu-drawer.open { transform: translateX(0); }
.drawer-close { position:absolute; top:25px; left:25px; border:0; background:transparent; color:#fff; font-size:42px; }
.menu-drawer nav { display:flex; flex-direction:column; }
.menu-drawer nav a { font-size: clamp(27px,5vw,43px); font-weight:700; padding:9px 0; color:rgba(255,255,255,.76); }
.menu-drawer nav a:hover { color:#fff; padding-right:10px; }
.menu-drawer details { border-bottom:1px solid rgba(255,255,255,.1); }
.menu-drawer summary { list-style:none; cursor:pointer; font-size:clamp(27px,5vw,43px); font-weight:700; padding:9px 0; color:rgba(255,255,255,.76); display:flex; justify-content:space-between; }
.menu-drawer summary::-webkit-details-marker { display:none; }
.menu-drawer summary:after { content:"+"; font-weight:300; }
.menu-drawer details[open] summary:after { content:"−"; }
.menu-drawer details div { padding:0 18px 12px; }
.menu-drawer details div a { font-size:16px; padding:5px 0; color:rgba(255,255,255,.55); }
.menu-drawer p { position:absolute; bottom:35px; color:rgba(255,255,255,.5); }
.site-header.scrolled .desktop-nav>div { height:72px; }

.hero { position: relative; height: 100svh; min-height: 650px; overflow: hidden; color:#fff; isolation:isolate; }
.hero-media, .hero-poster, .hero-shade { position:absolute; inset:0; width:100%; height:100%; }
.hero-media { object-fit:cover; z-index:-4; }
.hero-poster { z-index:-5; background-size:cover; background-position:center; background-color:#192037; }
.hero-shade { z-index:-3; background: linear-gradient(90deg,rgba(0,0,0,.64) 0%,rgba(2,8,27,.22) 54%,rgba(2,8,27,.44) 100%), linear-gradient(0deg,rgba(2,6,22,.4),transparent 45%); }
.hero-content { position:absolute; top:50%; right:clamp(24px,11vw,180px); transform:translateY(-42%); max-width:610px; }
.hero-poster { transition:opacity .65s,transform 7s ease; }
.hero-changing .hero-poster { animation:hero-media-in 1s ease both,hero-zoom 7s ease-out both; }
.hero-changing .hero-content>* { animation:hero-copy-in .85s cubic-bezier(.16,1,.3,1) both; }
.hero-changing .hero-content>*:nth-child(2){animation-delay:.09s}.hero-changing .hero-content>*:nth-child(3){animation-delay:.17s}.hero-changing .hero-content>*:nth-child(4){animation-delay:.24s}
@keyframes hero-media-in { from{opacity:.2} to{opacity:1} }
@keyframes hero-zoom { from{transform:scale(1.06)} to{transform:scale(1)} }
@keyframes hero-copy-in { from{opacity:0;filter:blur(8px);transform:translateY(42px)} to{opacity:1;filter:none;transform:none} }
.kicker { display:flex; align-items:center; gap:12px; color:#fff; font-size:13px; letter-spacing:3px; font-family:Arial,sans-serif; }
.kicker:before { content:""; width:36px; height:2px; background:var(--red); }
.hero h1 { margin:14px 0 18px; font-size:clamp(60px,7vw,108px); line-height:1.05; letter-spacing:-4px; text-shadow:0 10px 40px rgba(0,0,0,.2); }
.hero-content > p:not(.kicker) { font-size:18px; color:rgba(255,255,255,.74); max-width:520px; }
.hero-cta { display:inline-flex; align-items:center; gap:25px; margin-top:20px; padding:12px 0; border-bottom:1px solid rgba(255,255,255,.5); font-weight:700; }
.hero-cta span { color:var(--red); font-size:22px; }
.scroll-cue { position:absolute; bottom:30px; left:50%; transform:translateX(-50%); display:grid; justify-items:center; gap:7px; font-size:11px; }
.scroll-cue span { width:24px; height:38px; border:1px solid rgba(255,255,255,.65); border-radius:20px; position:relative; }
.scroll-cue span:after { content:""; position:absolute; top:8px; left:50%; width:3px; height:7px; border-radius:2px; background:#fff; animation:scroll 1.6s infinite; }
@keyframes scroll { 0% { transform:translate(-50%,0); opacity:0; } 35% { opacity:1; } 100% { transform:translate(-50%,13px); opacity:0; } }
.hero-status { position:absolute; left:clamp(25px,7vw,110px); bottom:42px; display:flex; gap:12px; align-items:center; font:12px Arial; }
.hero-status i { width:75px; height:1px; overflow:hidden; background:rgba(255,255,255,.35); }
.hero-status i b { display:block; width:100%; height:100%; background:#fff; transform-origin:right; }
.hero-changing .hero-status i b { animation:hero-progress 6.5s linear both; }
@keyframes hero-progress { from{transform:scaleX(0)} to{transform:scaleX(1)} }
.hero-controls { position:absolute; z-index:5; right:clamp(24px,11vw,180px); bottom:38px; display:flex; align-items:center; gap:13px; }
.hero-controls>button { width:44px; height:44px; border-radius:50%; border:1px solid rgba(255,255,255,.45); background:rgba(3,10,35,.18); color:#fff; backdrop-filter:blur(8px); font-size:18px; transition:.25s; }
.hero-controls>button:hover { border-color:var(--red); background:var(--red); transform:scale(1.08); }
.hero-dots { display:flex; gap:8px; direction:ltr; }
.hero-dot { width:8px; height:8px; padding:0; border:0; border-radius:8px; background:rgba(255,255,255,.42); transition:.35s; }
.hero-dot.active { width:28px; background:var(--red); }

/* ترتیب نهایی بخش‌های صفحه اصلی */
#main { display:flex; flex-direction:column; }
#hero { order:1; }
#videoCategories { order:2; }
#services { order:3; }
#products { order:4; }
#news { order:5; }
#energyLab { order:6; }

.services { position:relative; overflow:hidden; isolation:isolate; background:linear-gradient(135deg,#eef3ff 0%,#fff 51%,#fff7f7 100%); }
.services::before,.services::after { content:""; position:absolute; z-index:0; width:420px; height:420px; border-radius:50%; pointer-events:none; filter:blur(18px); }
.services::before { top:-230px; right:-130px; background:radial-gradient(circle,rgba(241,29,37,.12),transparent 70%); }
.services::after { width:720px; height:720px; bottom:-330px; left:-170px; filter:blur(12px); background:radial-gradient(circle,rgba(13,44,173,.32) 0%,rgba(48,103,235,.18) 38%,transparent 74%); }
.technical-grid { position:absolute; inset:0; opacity:.28; background-image:linear-gradient(#dce3f2 1px,transparent 1px),linear-gradient(90deg,#dce3f2 1px,transparent 1px); background-size:42px 42px; mask-image:linear-gradient(90deg,#000,transparent 26%,transparent 74%,#000); }
.section-intro { position:relative; z-index:2; }
.section-intro.centered { max-width:700px; text-align:center; margin:0 auto 65px; }
.services .section-intro.centered { margin-bottom:48px; }
.services .section-intro>span { display:inline-block; padding:6px 16px; border:1px solid rgba(241,29,37,.15); border-radius:999px; background:#fff; box-shadow:0 8px 25px rgba(241,29,37,.06); }
.section-intro span,.section-heading span,.product-copy>span { color:var(--red); font-size:13px; font-weight:800; }
.section-intro h2,.section-heading h2,.product-copy h2 { margin:8px 0 10px; font-size:clamp(38px,4.5vw,62px); line-height:1.2; letter-spacing:-2px; }
.section-intro p { color:var(--muted); }
.services-list { position:relative; z-index:2; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; border:0; }
.service-item { padding:44px 28px 30px; position:relative; min-height:310px; overflow:hidden; border:1px solid #e6eaf3; border-radius:22px; background:#fff; box-shadow:0 16px 42px rgba(7,19,69,.055); }
.service-item::before { content:""; position:absolute; inset:0 0 auto; height:4px; background:linear-gradient(90deg,var(--red),#ff8b75); transform:scaleX(.22); transform-origin:right; transition:transform .45s ease; }
.service-item:hover::before,.service-item:focus-within::before { transform:scaleX(1); }
.service-item:nth-child(4n+1) { color:#fff; border-color:transparent; background:radial-gradient(circle at 12% 8%,rgba(241,29,37,.75),transparent 47%),linear-gradient(145deg,#0c2d84,#071345 82%); box-shadow:0 22px 55px rgba(7,19,69,.2); }
.service-item:nth-child(4n+1)::before { background:linear-gradient(90deg,#ff5260,#ffb1a5); transform:scaleX(1); }
.service-item:nth-child(4n+3)::before { background:linear-gradient(90deg,#0d2cad,#86aaff); }
.service-no { position:absolute; top:19px; left:20px; font:800 54px/1 Arial; color:transparent; -webkit-text-stroke:1px #d8deed; }
.service-item:nth-child(4n+1) .service-no { -webkit-text-stroke-color:rgba(255,255,255,.35); }
.service-icon { width:60px; height:60px; display:grid; place-items:center; border:1px solid rgba(241,29,37,.1); border-radius:18px; background:#fff1f2; color:var(--red); font-size:27px; margin-bottom:27px; transition:transform .4s ease,background .4s ease; }
.service-item:nth-child(4n+1) .service-icon { color:#fff; border-color:rgba(255,255,255,.27); background:rgba(255,255,255,.13); }
.service-item:hover .service-icon { transform:rotate(-8deg) scale(1.08); }
.service-item h3 { font-size:20px; margin:0 0 10px; }
.service-item p { color:#6e7687; font-size:13px; margin:0 0 25px; }
.service-item:nth-child(4n+1) p { color:rgba(255,255,255,.78); }
.service-item a { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:#fff0f1; color:var(--red); font-size:20px; transition:background .25s,color .25s,transform .25s; }
.service-item a:hover,.service-item a:focus-visible { background:var(--red); color:#fff; transform:translateX(-4px); }
.service-item:nth-child(4n+1) a { color:#fff; background:rgba(255,255,255,.16); }
.service-item:nth-child(4n+1) a:hover,.service-item:nth-child(4n+1) a:focus-visible { background:#fff; color:var(--navy); }
.all-link { display:flex; justify-content:center; gap:15px; width:max-content; max-width:100%; margin:38px auto 0; padding:11px 22px; border:1px solid rgba(241,29,37,.22); border-radius:999px; background:#fff; color:var(--red); box-shadow:0 10px 30px rgba(241,29,37,.08); font-weight:750; position:relative; z-index:2; transition:background .25s,color .25s,transform .25s; }
.all-link:hover,.all-link:focus-visible { background:var(--red); color:#fff; transform:translateY(-3px); }

.energy-lab { min-height:850px; padding:120px 0; position:relative; overflow:hidden; color:#fff; background:radial-gradient(circle at 72% 45%,#182b77 0,rgba(13,44,173,.22) 28%,transparent 53%),linear-gradient(135deg,#040a29 0%,#071345 52%,#03071f 100%); isolation:isolate; }
.energy-lab:before { content:""; position:absolute; inset:0; opacity:.22; background-image:linear-gradient(rgba(255,255,255,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.055) 1px,transparent 1px); background-size:55px 55px; mask-image:linear-gradient(90deg,transparent,#000 30%,#000 75%,transparent); }
.energy-lab__glow { position:absolute; width:560px; height:560px; left:12%; top:50%; transform:translateY(-50%); border-radius:50%; background:rgba(31,87,255,.12); filter:blur(90px); }
.energy-lab__layout { min-height:610px; display:grid; grid-template-columns:.82fr 1.25fr; align-items:center; gap:60px; position:relative; z-index:2; }
.energy-lab__copy { max-width:470px; }
.energy-lab__eyebrow { color:#ff5a62; font-size:13px; font-weight:800; display:flex; align-items:center; gap:12px; }
.energy-lab__eyebrow:before { content:""; width:38px; height:2px; background:var(--red); }
.energy-lab h2 { margin:18px 0 22px; font-size:clamp(48px,5vw,74px); line-height:1.15; letter-spacing:-3px; }
.energy-lab__copy>p { color:rgba(255,255,255,.59); max-width:450px; }
.energy-lab__metrics { display:grid; grid-template-columns:repeat(3,1fr); margin:42px 0; border-top:1px solid rgba(255,255,255,.14); border-bottom:1px solid rgba(255,255,255,.14); }
.energy-lab__metrics div { padding:20px 0; border-left:1px solid rgba(255,255,255,.14); }
.energy-lab__metrics div:last-child { border-left:0; }
.energy-lab__metrics strong,.energy-lab__metrics small { display:block; }
.energy-lab__metrics strong { font:700 23px Arial,sans-serif; }
.energy-lab__metrics small { margin-top:5px; color:rgba(255,255,255,.42); font-size:10px; }
.energy-lab__link { display:inline-flex; align-items:center; gap:35px; border-bottom:1px solid rgba(255,255,255,.4); padding:10px 0; font-weight:750; }
.energy-lab__link span { color:var(--red); font-size:23px; }
.energy-stage { height:650px; position:relative; perspective:1200px; cursor:grab; touch-action:pan-y; }
.energy-stage:active { cursor:grabbing; }
.energy-stage__hint { position:absolute; left:10px; bottom:5px; color:rgba(255,255,255,.3); font-size:10px; letter-spacing:.2px; }
.energy-scene { --rx:-9deg; --ry:-18deg; width:100%; height:100%; position:relative; transform-style:preserve-3d; transform:rotateX(var(--rx)) rotateY(var(--ry)); transition:transform .18s ease-out; }
.energy-orbit { position:absolute; top:50%; left:50%; border:1px solid rgba(104,151,255,.25); border-radius:50%; transform-style:preserve-3d; }
.orbit-a { width:520px; height:520px; margin:-260px; transform:rotateX(70deg) translateZ(-50px); animation:orbit-spin 18s linear infinite; }
.orbit-b { width:410px; height:410px; margin:-205px; border-style:dashed; transform:rotateY(68deg) rotateZ(25deg); animation:orbit-spin-reverse 14s linear infinite; }
.orbit-c { width:620px; height:230px; margin:-115px -310px; transform:rotateX(70deg) rotateZ(-22deg); box-shadow:0 0 40px rgba(44,98,255,.08) inset; }
.energy-core { position:absolute; left:50%; top:50%; width:180px; height:180px; margin:-90px; border-radius:50%; transform:translateZ(-20px); background:radial-gradient(circle,#dce7ff 0 3%,#406cff 4%,rgba(35,78,213,.28) 20%,rgba(4,10,41,.1) 60%); box-shadow:0 0 55px rgba(62,108,255,.7),0 0 130px rgba(27,67,210,.35); animation:core-pulse 3.2s ease-in-out infinite; }
.energy-core i { position:absolute; inset:20px; border:1px solid rgba(255,255,255,.28); border-radius:50%; }
.energy-core i:nth-child(2){inset:40px}.energy-core i:nth-child(3){inset:62px;background:#fff;box-shadow:0 0 35px #78a0ff}
.busbar { position:absolute; left:50%; top:50%; width:390px; height:94px; margin:-47px -195px; transform-style:preserve-3d; transform:translateZ(85px) rotateZ(-17deg); filter:drop-shadow(0 35px 28px rgba(0,0,0,.45)); }
.busbar-cross { width:280px; height:70px; margin:-35px -140px; transform:translateZ(135px) rotateZ(68deg) translateX(45px); opacity:.92; }
.metal-face { position:absolute; display:block; background:linear-gradient(90deg,#6e7689,#e7edf7 24%,#788195 48%,#d6deeb 74%,#626b7c); border:1px solid rgba(255,255,255,.45); }
.face-front { inset:0; clip-path:polygon(0 16%,100% 0,100% 78%,0 100%); }
.face-top { height:26px; left:4px; right:0; top:-19px; transform-origin:bottom; transform:skewX(-18deg); background:linear-gradient(#f7faff,#7c879c); }
.face-side { width:28px; top:0; bottom:0; left:-20px; transform:skewY(-28deg); background:linear-gradient(90deg,#3d4658,#aeb8c8); }
.busbar b { position:absolute; z-index:3; right:48px; top:31px; width:185px; height:6px; border-radius:5px; background:#c87937; box-shadow:0 15px #d48b43,0 30px #b8662d; transform:rotate(-2deg); }
.energy-node { position:absolute; z-index:5; min-width:125px; padding:10px 13px; border:1px solid rgba(255,255,255,.22); border-radius:8px; background:rgba(7,19,69,.48); backdrop-filter:blur(12px); box-shadow:0 15px 35px rgba(0,0,0,.2); }
.energy-node:before { content:""; position:absolute; width:55px; height:1px; background:linear-gradient(90deg,rgba(255,255,255,.5),transparent); }
.energy-node span { color:#ff4d56; font:700 11px Arial; }
.energy-node small { display:block; margin-top:3px; color:rgba(255,255,255,.72); }
.node-one { right:4%; top:18%; transform:translateZ(170px); }.node-one:before{left:-56px;top:50%}
.node-two { left:3%; top:46%; transform:translateZ(90px); }.node-two:before{right:-56px;top:50%;transform:rotate(180deg)}
.node-three { right:11%; bottom:10%; transform:translateZ(130px); }.node-three:before{left:-56px;top:50%}
.energy-particle { position:absolute; width:5px; height:5px; border-radius:50%; background:#fff; box-shadow:0 0 14px #6d96ff; animation:particle-float 5s ease-in-out infinite; }
.p1{left:21%;top:22%}.p2{right:18%;top:38%;animation-delay:-1.3s}.p3{left:32%;bottom:18%;animation-delay:-2.5s}.p4{right:35%;bottom:27%;animation-delay:-3.7s}
@keyframes orbit-spin { to{transform:rotateX(70deg) rotateZ(360deg) translateZ(-50px)} }
@keyframes orbit-spin-reverse { to{transform:rotateY(68deg) rotateZ(-335deg)} }
@keyframes core-pulse { 50%{transform:translateZ(-20px) scale(1.08);opacity:.78} }
@keyframes particle-float { 50%{transform:translate3d(18px,-28px,80px);opacity:.35} }

/* Architectural energy sketch */
.building-stage { perspective:1450px; }
.building-scene { transform-origin:50% 55%; }
.building-ground { position:absolute; left:50%; top:69%; width:660px; height:340px; margin:-170px -330px; border:1px solid rgba(94,136,255,.28); border-radius:50%; transform:rotateX(72deg) translateZ(-120px); background:radial-gradient(circle at 50% 45%,rgba(76,122,255,.2),rgba(7,19,69,0) 56%),repeating-linear-gradient(0deg,transparent 0 39px,rgba(105,145,255,.12) 40px),repeating-linear-gradient(90deg,transparent 0 39px,rgba(105,145,255,.12) 40px); box-shadow:0 0 100px rgba(48,91,226,.15) inset,0 0 90px rgba(15,45,145,.18); }
.building-ground i { position:absolute; width:9px; height:9px; border-radius:50%; background:#77a0ff; box-shadow:0 0 18px #477bff; }
.building-ground i:nth-child(1){right:18%;top:25%}.building-ground i:nth-child(2){left:22%;bottom:20%}.building-ground i:nth-child(3){right:44%;bottom:12%}
.building-reflection { position:absolute; left:50%; top:75%; width:430px; height:90px; margin-left:-210px; border-radius:50%; transform:rotateX(70deg) translateZ(-80px); background:radial-gradient(ellipse,rgba(55,101,235,.28),transparent 68%); filter:blur(14px); }
.building-frame { position:absolute; left:50%; top:49%; width:390px; height:470px; margin:-235px -195px; transform-style:preserve-3d; transform:translateZ(35px); filter:drop-shadow(0 36px 32px rgba(0,4,25,.42)); }
.building-front { position:absolute; inset:0; overflow:hidden; border:1px solid rgba(191,211,255,.8); border-radius:5px 5px 2px 2px; background:linear-gradient(112deg,rgba(255,255,255,.18) 0 5%,transparent 5% 35%,rgba(113,160,255,.13) 36% 42%,transparent 43%),linear-gradient(90deg,rgba(13,38,105,.5),rgba(39,78,177,.2) 48%,rgba(5,22,74,.55)); box-shadow:0 0 0 5px rgba(100,145,255,.045) inset,0 0 55px rgba(55,99,230,.17) inset; backdrop-filter:blur(3px); }
.building-front:after { content:""; position:absolute; z-index:2; inset:0; pointer-events:none; background:linear-gradient(106deg,transparent 20%,rgba(210,231,255,.18) 30%,transparent 39% 62%,rgba(148,190,255,.09) 70%,transparent 78%); transform:translateX(-80%); animation:glass-shine 8s ease-in-out infinite; }
.building-side { position:absolute; right:-112px; top:55px; width:112px; height:415px; overflow:hidden; border:1px solid rgba(126,161,247,.58); transform-origin:left; transform:skewY(-26deg); background:linear-gradient(90deg,rgba(9,30,88,.72),rgba(36,76,170,.22)); box-shadow:inset 22px 0 35px rgba(2,12,49,.3); }
.building-side i { display:block; height:calc(100% / 6); border-bottom:1px solid rgba(140,176,255,.32); background:repeating-linear-gradient(90deg,transparent 0 26px,rgba(159,190,255,.24) 27px 28px); }
.building-side i:nth-child(2),.building-side i:nth-child(5) { background-color:rgba(255,205,105,.045); box-shadow:inset 0 0 25px rgba(255,199,94,.06); }
.building-roof { position:absolute; top:-55px; right:-56px; width:445px; height:57px; overflow:hidden; border:1px solid rgba(187,207,255,.7); transform:skewX(-64deg); transform-origin:bottom; background:linear-gradient(145deg,rgba(126,163,255,.22),rgba(8,28,86,.5)); box-shadow:inset 0 0 24px rgba(123,164,255,.16); }
.building-roof i { position:absolute; top:15px; width:105px; height:25px; border:1px solid rgba(175,202,255,.45); background:rgba(6,23,72,.4); }
.building-roof i:first-child{left:70px}.building-roof i:last-child{right:78px}
.floor { height:calc(100% / 6); display:grid; grid-template-columns:repeat(3,1fr); border-bottom:1px solid rgba(139,173,255,.52); position:relative; }
.floor span { position:relative; border-left:1px solid rgba(155,185,255,.31); background:linear-gradient(145deg,rgba(110,158,255,.09),rgba(2,16,59,.18)); }
.floor span:after { content:""; position:absolute; inset:9px 12px; border-radius:2px; background:linear-gradient(135deg,rgba(183,214,255,.1),rgba(33,74,164,.04)); box-shadow:inset 0 0 12px rgba(124,170,255,.07); }
.floor:nth-child(2) span:nth-child(2):after,.floor:nth-child(3) span:nth-child(1):after,.floor:nth-child(4) span:nth-child(3):after,.floor:nth-child(5) span:nth-child(2):after { background:linear-gradient(135deg,rgba(255,224,163,.2),rgba(255,177,65,.045)); box-shadow:0 0 22px rgba(255,191,89,.09) inset; }
.building-spine { position:absolute; z-index:3; inset:0; pointer-events:none; }
.building-spine i { position:absolute; top:-2px; bottom:-1px; width:5px; background:linear-gradient(90deg,rgba(207,224,255,.7),rgba(70,111,211,.25),rgba(222,234,255,.55)); box-shadow:0 0 8px rgba(92,139,255,.2); }
.building-spine i:nth-child(1){left:0}.building-spine i:nth-child(2){left:33.33%}.building-spine i:nth-child(3){left:66.66%}
.building-crown { position:absolute; z-index:7; top:13px; left:20px; display:flex; align-items:center; gap:8px; color:rgba(225,235,255,.85); font:600 7px Arial; letter-spacing:1.5px; }
.building-crown b { width:21px; height:21px; display:grid; place-items:center; border:1px solid rgba(178,204,255,.6); border-radius:50%; color:#fff; font-size:11px; background:rgba(50,97,211,.22); box-shadow:0 0 14px rgba(88,139,255,.3); }
.building-lobby { position:absolute; z-index:6; bottom:0; left:112px; width:150px; height:77px; border:1px solid rgba(198,218,255,.54); background:linear-gradient(180deg,rgba(136,179,255,.13),rgba(3,19,65,.48)); box-shadow:0 -18px 35px rgba(78,126,255,.06) inset; }
.building-lobby i { position:absolute; bottom:0; width:50%; height:58px; border:1px solid rgba(179,205,255,.42); background:linear-gradient(120deg,rgba(190,219,255,.12),transparent); }
.building-lobby i:first-child{left:0}.building-lobby i:nth-child(2){right:0}.building-lobby span { position:absolute; left:50%; top:0; width:1px; height:100%; background:rgba(211,226,255,.48); }
.power-riser { position:absolute; z-index:4; right:50px; top:31px; bottom:24px; width:5px; border-radius:6px; background:rgba(255,52,65,.22); box-shadow:0 0 12px rgba(255,49,63,.9),0 0 32px rgba(255,35,51,.42); }
.power-riser:before { content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(0deg,transparent,#fff,transparent); background-size:100% 90px; animation:power-rise 2.2s linear infinite; }
.power-riser i { position:absolute; right:-5px; width:15px; height:15px; border:2px solid #ff5360; border-radius:50%; background:#071345; box-shadow:0 0 15px rgba(255,43,58,.8); }
.power-riser i:nth-child(1){top:7%}.power-riser i:nth-child(2){top:25%}.power-riser i:nth-child(3){top:43%}.power-riser i:nth-child(4){top:61%}.power-riser i:nth-child(5){top:80%}
.power-branch { position:absolute; z-index:3; right:52px; width:175px; height:2px; background:linear-gradient(90deg,transparent,#ff4552); box-shadow:0 0 10px rgba(255,55,68,.65); transform-origin:right; }
.power-branch:after { content:""; position:absolute; left:0; top:-3px; width:7px; height:7px; border-radius:50%; background:#fff; box-shadow:0 0 15px #ff4350; animation:branch-pulse 1.8s ease-in-out infinite; }
.branch-1{top:87px}.branch-2{top:160px}.branch-3{top:234px}.branch-4{top:308px}.branch-5{top:382px}
.main-panel { position:absolute; z-index:5; right:25px; bottom:16px; width:58px; height:75px; border:1px solid rgba(255,255,255,.65); background:linear-gradient(135deg,#8f9ab0,#3f485d); box-shadow:0 15px 24px rgba(0,0,0,.3),0 0 26px rgba(255,40,55,.25); display:grid; place-items:center; }
.main-panel b { width:17px; height:24px; border:2px solid #f64b56; border-radius:3px; }
.main-panel small { position:absolute; bottom:3px; font:7px Arial; }
.earth-line { position:absolute; z-index:3; right:52px; bottom:-60px; width:3px; height:78px; background:linear-gradient(#7df2a5,#279e52); box-shadow:0 0 12px rgba(74,231,126,.5); }
.earth-line i,.earth-line:before,.earth-line:after { content:""; position:absolute; height:2px; background:#62dd8d; left:50%; transform:translateX(-50%); }
.earth-line i{width:38px;bottom:0}.earth-line:before{width:26px;bottom:8px}.earth-line:after{width:14px;bottom:16px}
.safety-shield { position:absolute; z-index:8; left:16%; top:16%; width:74px; height:86px; clip-path:polygon(50% 0,92% 17%,85% 70%,50% 100%,15% 70%,8% 17%); display:grid; place-items:center; background:linear-gradient(145deg,rgba(62,116,255,.9),rgba(18,49,146,.35)); border:1px solid rgba(255,255,255,.5); filter:drop-shadow(0 0 24px rgba(70,119,255,.45)); animation:shield-float 4s ease-in-out infinite; }
.safety-shield:before { content:""; position:absolute; inset:5px; clip-path:inherit; border:1px solid rgba(255,255,255,.35); }
.safety-shield span { font-size:26px; }
@keyframes power-rise { to{background-position:0 -180px} }
@keyframes branch-pulse { 50%{transform:translateX(150px);opacity:.25} }
@keyframes shield-float { 50%{transform:translateY(-12px) rotateY(12deg)} }
@keyframes glass-shine { 0%,18%{transform:translateX(-85%)} 58%,100%{transform:translateX(95%)} }

.video-categories { height: min(820px, 86svh); min-height:620px; position:relative; overflow:hidden; background:#17212a; }

/* ورود سینمایی بخش ویدئو از داخل صفحه و بزرگ‌شدن هنگام اسکرول */
.motion-ready .video-categories {
  transform-origin:50% 0;
  will-change:transform,opacity,border-radius,box-shadow;
}
.category-video,.category-poster,.category-overlay { position:absolute; inset:0; width:100%; height:100%; }
.category-video { object-fit:cover; z-index:1; }
.category-poster { background-size:cover; background-position:center; z-index:0; transition:opacity .55s ease,transform 1.2s cubic-bezier(.2,.8,.2,1); }
.category-overlay { z-index:2; background:linear-gradient(90deg,rgba(30,206,231,.22),transparent 18%,transparent 76%,rgba(30,206,231,.22)); pointer-events:none; }
.floating-menu { position:absolute; z-index:5; top:32px; left:40px; font-size:0; }
.floating-menu:before { content:"☰"; font-size:19px; }
.category-panel { position:absolute; z-index:4; right:max(24px,6vw); top:clamp(28px,6vh,64px); transform:none; width:min(520px,42vw); max-height:calc(100% - 56px); overflow-y:auto; overscroll-behavior:contain; scrollbar-width:thin; scrollbar-color:rgba(241,29,37,.55) transparent; box-sizing:border-box; padding:25px 32px; background:rgba(255,255,255,.97); border-radius:12px; box-shadow:0 30px 70px rgba(0,0,0,.18); }
.category-panel::-webkit-scrollbar { width:5px; }
.category-panel::-webkit-scrollbar-thumb { background:rgba(241,29,37,.55); border-radius:10px; }
.category-panel { transition:opacity .45s ease,transform .55s cubic-bezier(.16,1,.3,1),visibility .45s; }
.video-categories.video-mode .category-panel { opacity:0; visibility:hidden; pointer-events:none; transform:translateX(70px); }
.video-categories.video-mode .category-poster { opacity:0; transform:scale(1.035); }
.video-categories.returning .category-video { animation:return-video-soften .45s ease both; }
@keyframes return-video-soften { from{filter:saturate(1)} to{filter:saturate(.9)} }
.category-tab { width:100%; min-height:73px; display:grid; grid-template-columns:1fr auto; align-items:center; gap:15px; border:0; border-bottom:1px solid #e5e5e5; background:transparent; color:#838383; text-align:right; padding:0 7px; transition:.25s; }
.category-tab:last-child { border-bottom:0; }
.category-tab span { display:flex; align-items:center; gap:17px; font-size:18px; }
.category-tab span:before { content:"↖"; color:#bfc1c5; font-size:20px; }
.category-tab small { font:11px Arial; color:#b0b2b7; }
.category-tab.active { color:var(--red); font-weight:700; }
.category-tab.active span:before { content:"Ⅱ"; color:var(--red); }
.video-toggle { position:absolute; z-index:5; bottom:28px; left:50%; transform:translateX(-50%); width:52px; height:52px; border-radius:50%; border:1px solid rgba(255,255,255,.6); color:#fff; background:rgba(0,0,0,.14); backdrop-filter:blur(8px); }
.category-back { position:absolute; z-index:6; top:34px; right:max(24px,6vw); min-height:52px; padding:7px 9px 7px 20px; display:flex; align-items:center; gap:12px; border:1px solid rgba(255,255,255,.35); border-radius:28px; color:#fff; background:rgba(4,13,47,.42); backdrop-filter:blur(14px); box-shadow:0 16px 40px rgba(0,0,0,.2); opacity:0; visibility:hidden; transform:translateY(-15px); transition:.4s; }
.category-back span { width:38px; height:38px; display:grid; place-items:center; border-radius:50%; background:var(--red); font-size:18px; }
.category-back strong { font-size:12px; }.category-back:disabled{cursor:wait;opacity:.65}
.video-categories.video-mode .category-back { opacity:1; visibility:visible; transform:none; }
.video-categories:not(.video-mode) .video-toggle { opacity:0; visibility:hidden; }

.products { position:relative; overflow:hidden; background:linear-gradient(125deg,#f51c24 0%,#e8131b 52%,#be0914 100%); color:#fff; }
.product-orbit { position:absolute; border:1px solid rgba(255,255,255,.09); border-radius:50%; }
.product-orbit.one { width:600px; height:600px; right:-160px; top:-260px; }
.product-orbit.two { width:420px; height:420px; left:-120px; bottom:-210px; }
.products-layout { display:grid; grid-template-columns:280px 1fr; gap:55px; position:relative; z-index:2; }
.product-copy h2 { font-size:48px; }
.product-copy>span { color:rgba(255,255,255,.7); }
.product-tabs { margin-top:32px; display:flex; flex-direction:column; align-items:flex-start; }
.product-tab { border:0; background:transparent; color:rgba(255,255,255,.6); padding:8px 0; text-align:right; transition:.2s; }
.product-tab.active { color:#fff; font-weight:800; }
.product-tab.active:before { content:""; display:inline-block; width:6px; height:6px; border-radius:50%; background:#fff; margin-left:10px; }
.slider-controls { display:flex; gap:10px; margin-top:30px; }
.slider-controls button { width:48px; height:48px; border-radius:50%; color:#fff; background:transparent; border:1px solid rgba(255,255,255,.45); font-size:20px; }
.product-track-wrap { overflow:hidden; }
.product-track { display:flex; gap:22px; transition:transform .45s cubic-bezier(.2,.8,.2,1); direction:rtl; }
.product-card { flex:0 0 calc((100% - 22px)/2); min-width:320px; min-height:520px; border:1px solid rgba(255,255,255,.42); border-radius:12px; padding:34px 26px; text-align:center; display:flex; flex-direction:column; position:relative; overflow:hidden; isolation:isolate; background:linear-gradient(150deg,rgba(255,255,255,.08),rgba(255,255,255,0)); transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s,border-color .45s,color .45s; }
.product-card:before { content:"+"; position:absolute; z-index:3; top:14px; right:17px; font-size:20px; transition:color .45s,transform .55s cubic-bezier(.16,1,.3,1); }
.product-card:after { content:""; position:absolute; z-index:0; inset:-2px; border-radius:inherit; background:#fff; transform:translateY(104%); transition:transform .72s cubic-bezier(.16,1,.3,1); }
.product-card>* { position:relative; z-index:2; }
.product-card:hover:after { transform:translateY(0); }
.product-card:hover:before { color:var(--red); transform:rotate(90deg); }
.product-card:hover h3 { color:#121726; }
.product-card:hover p { color:#6c7180; }
.product-card:hover a { color:#fff; border-color:var(--red); background:var(--red); box-shadow:0 10px 25px rgba(190,9,20,.22); }
.product-image { height:330px; display:grid; place-items:center; margin-bottom:20px; overflow:hidden; border-radius:8px; }
.product-image img { width:100%; height:100%; object-fit:contain; filter:drop-shadow(0 24px 25px rgba(76,0,0,.22)); }
.product-card h3 { font:800 24px Arial; margin:0; transition:color .45s; }
.product-card p { font-size:13px; margin:4px 0 18px; transition:color .45s; }
.product-card a { align-self:center; margin-top:auto; border:1px solid rgba(255,255,255,.7); padding:8px 24px; border-radius:24px; font-size:12px; transition:color .35s,background-color .35s,border-color .35s,box-shadow .35s,transform .35s; }
.product-card:hover a:hover { transform:translateY(-3px); }

.news { background:#fff; }
.section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:50px; }
.section-heading h2 { font-size:48px; }
.section-heading>a { color:var(--red); font-size:14px; font-weight:700; }
.news-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.news-card { min-width:0; }
.news-image { display:block; width:100%; aspect-ratio:2/1; overflow:hidden; border-radius:8px; background:#e9ebef; }
.news-image img { width:100%; height:100%; object-fit:cover; transition:transform .45s; }
.news-card:hover img { transform:scale(1.045); }
.news-card time { display:block; margin-top:17px; color:#999; font-size:11px; direction:ltr; text-align:right; }
.news-card h3 { margin:8px 0; font-size:17px; line-height:1.75; }
.news-card>a:last-child { color:var(--red); font-size:12px; font-weight:700; }

.footer { background:var(--navy); color:#fff; padding:0 0 25px; position:relative; }
.consultation { transform:translateY(-50%); margin-bottom:-25px; padding:34px 45px; border:1px solid rgba(255,255,255,.2); border-radius:20px; background:linear-gradient(110deg,#8f0611,#d70e1a 60%,#8e0612); box-shadow:0 30px 70px rgba(0,0,0,.22); display:flex; align-items:center; justify-content:space-between; gap:30px; overflow:hidden; position:relative; }
.consultation:after { content:""; position:absolute; width:480px; height:170px; border:1px solid rgba(255,255,255,.09); border-radius:50%; left:15%; bottom:-110px; }
.consultation span,.consultation p { color:rgba(255,255,255,.7); }
.consultation h2 { margin:3px 0; font-size:32px; }
.consultation p { margin:0; font-size:13px; }
.consultation-actions { display:flex; gap:12px; position:relative; z-index:2; }
.button { min-height:48px; padding:0 24px; border-radius:28px; display:inline-flex; align-items:center; gap:24px; font-size:13px; font-weight:700; }
.button.light { background:#fff; color:var(--red); }
.button.outline { border:1px solid rgba(255,255,255,.55); }
.footer-main { display:grid; grid-template-columns:1.8fr repeat(3,1fr); gap:55px; padding:55px 0 45px; }
.footer-brand p { color:rgba(255,255,255,.62); font-size:13px; max-width:350px; }
.official { display:block; margin:20px 0; }
.certs { display:flex; gap:9px; flex-wrap:wrap; direction:ltr; }
.certs span { padding:5px 8px; border:1px solid rgba(255,255,255,.25); border-radius:4px; font:700 10px Arial; }
.footer-column { border-right:1px solid rgba(255,255,255,.13); padding-right:30px; }
.footer-column h3 { margin:0 0 18px; font-size:16px; }
.footer-column a { display:block; color:rgba(255,255,255,.56); font-size:13px; padding:4px 0; }
.footer-column a:hover { color:#fff; }
.newsletter { border:1px solid rgba(255,255,255,.2); border-radius:16px; padding:24px 30px; display:flex; align-items:center; justify-content:space-between; gap:35px; }
.newsletter h3 { margin:0; }
.newsletter p { margin:3px 0 0; color:rgba(255,255,255,.55); font-size:12px; }
.newsletter form { width:min(100%,450px); height:53px; border:1px solid rgba(255,255,255,.25); border-radius:27px; display:flex; padding:4px; }
.newsletter input { flex:1; min-width:0; border:0; outline:0; background:transparent; color:#fff; padding:0 18px; }
.newsletter button { width:43px; height:43px; border:0; border-radius:50%; color:#fff; background:var(--red); font-size:20px; }
.contact-row { display:grid; grid-template-columns:repeat(4,1fr); margin:35px 0; }
.contact-item { padding:0 25px; border-left:1px solid rgba(255,255,255,.15); }
.contact-item:last-child { border-left:0; }
.contact-item small { display:block; color:rgba(255,255,255,.45); }
.contact-item span { font-size:13px; }
.contact-item .footer-mobile{display:block;width:fit-content;margin-top:6px;color:#fff;font-size:13px;text-decoration:none;direction:ltr;unicode-bidi:isolate}
.contact-item .footer-mobile:hover,.contact-item .footer-mobile:focus-visible{color:var(--red)}
.footer-bottom { border-top:1px solid rgba(255,255,255,.15); padding-top:20px; display:flex; align-items:center; justify-content:space-between; gap:20px; color:rgba(255,255,255,.42); font-size:11px; }
.socials { display:flex; flex-wrap:wrap; gap:10px; direction:rtl; }
.socials a { min-height:54px; padding:9px 15px; border:1px solid rgba(255,255,255,.42); border-radius:14px; display:inline-flex; align-items:center; justify-content:center; gap:9px; color:#fff; background:rgba(255,255,255,.1); font-size:13px; font-weight:800; text-decoration:none; box-shadow:0 8px 24px rgba(0,0,0,.12); transition:background .2s,border-color .2s,transform .2s,box-shadow .2s; }
.socials a svg{width:25px;height:25px;flex:none}
.socials a:hover,.socials a:focus-visible { background:var(--red); border-color:var(--red); transform:translateY(-3px); box-shadow:0 12px 28px rgba(241,29,37,.25); }
@media(max-width:600px){.socials{justify-content:center}.socials a{min-width:calc(50% - 5px)}}
.legal { display:flex; gap:18px; align-items:center; }
.footer-credit{display:flex;align-items:center;gap:4px;white-space:nowrap;color:rgba(255,255,255,.68);font-size:12px;font-weight:500}
.footer-credit a{color:#fff;font-weight:800;text-decoration:none;transition:color .2s}
.footer-credit a:hover,.footer-credit a:focus-visible{color:var(--red)}
.legal button { border:0; background:transparent; color:#fff; }
.toast { position:fixed; z-index:500; bottom:24px; left:50%; transform:translate(-50%,30px); background:#fff; color:var(--ink); padding:13px 22px; border-radius:10px; box-shadow:0 20px 50px rgba(0,0,0,.22); opacity:0; pointer-events:none; transition:.3s; }
.toast.show { opacity:1; transform:translate(-50%,0); }

@media (max-width: 1100px) {
  .site-header { grid-template-columns:180px 1fr 160px; padding-inline:28px; }
  .desktop-nav { gap:20px; }
  .services-list { grid-template-columns:repeat(2,1fr); }
  .products-layout { grid-template-columns:230px 1fr; gap:30px; }
  .product-card { flex-basis:calc((100% - 22px)/2); min-width:280px; }
  .news-grid { grid-template-columns:repeat(2,1fr); }
  .footer-main { grid-template-columns:1.5fr repeat(3,1fr); gap:25px; }
}

@media (max-width: 820px) {
  :root { --header-h:76px; }
  .container { width:min(calc(100% - 30px),var(--container)); }
  .section { padding:82px 0; }
  .site-header { grid-template-columns:1fr auto; padding-inline:18px; }
  .site-header .brand { grid-column:1; }
  .site-header .desktop-nav,
  .site-header .lang-button { display:none!important; }
  .site-header .search-button { display:grid!important; width:42px; height:42px; }
  .header-tools { grid-column:2; }
  .site-header .menu-button { display:grid!important; visibility:visible!important; opacity:1!important; width:46px; height:46px; background:var(--red); position:relative; z-index:3; }
  .hero { min-height:600px; }
  .hero-content { right:22px; left:22px; }
  .hero h1 { font-size:clamp(52px,15vw,80px); letter-spacing:-3px; }
  .hero-content>p:not(.kicker) { font-size:15px; }
  .hero-status { display:none; }
  .hero-controls { right:20px; bottom:24px; }
  .services .services-list { display:flex!important; overflow-x:auto; scroll-snap-type:x mandatory; margin-left:-15px; padding-left:15px; scrollbar-width:none; border-bottom:0; }
  .services-list::-webkit-scrollbar { display:none; }
  .service-item { flex:0 0 82%; min-height:290px; border-radius:20px; margin-left:13px; scroll-snap-align:start; }
  .energy-lab { min-height:auto; padding:85px 0 60px; }
  .energy-lab__layout { grid-template-columns:1fr; gap:15px; }
  .energy-lab__copy { max-width:none; }
  .energy-lab h2 { font-size:48px; }
  .energy-stage { height:520px; margin-inline:-15px; overflow:hidden; }
  .energy-scene { transform:scale(.78) rotateX(var(--rx)) rotateY(var(--ry)); }
  .energy-stage__hint { display:none; }
  .video-categories { height:780px; }
  .category-panel { top:70px; bottom:auto; right:15px; left:15px; width:auto; max-height:calc(100% - 100px); transform:none; padding:12px 18px; }
  .video-categories.video-mode .category-panel { transform:translateY(45px); }
  .category-tab { min-height:57px; }
  .category-tab span { font-size:14px; }
  .floating-menu { top:20px; left:18px; }
  .category-back { top:20px; right:15px; min-height:46px; padding:5px 7px 5px 14px; }.category-back span{width:34px;height:34px}.category-back strong{font-size:11px}
  .video-toggle { display:none; }
  .products-layout { grid-template-columns:1fr; }
  .product-copy { display:grid; grid-template-columns:1fr auto; align-items:end; }
  .product-copy>span { grid-column:1/-1; }
  .product-copy h2 { margin:5px 0 22px; }
  .product-tabs { grid-column:1/-1; flex-direction:row; overflow-x:auto; gap:22px; margin:0 0 25px; padding-bottom:6px; scrollbar-width:none; }
  .product-tab { flex:0 0 auto; }
  .slider-controls { margin:0 0 22px; }
  .product-card { flex-basis:88%; min-width:0; min-height:450px; }
  .product-image { height:285px; }
  .news-grid { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:10px; scrollbar-width:none; }
  .news-card { flex:0 0 82%; scroll-snap-align:start; }
  .section-heading { align-items:start; }
  .section-heading h2 { font-size:38px; }
  .section-heading>a { display:none; }
  .consultation { transform:translateY(-35%); margin-bottom:-35px; padding:26px 22px; display:block; }
  .consultation h2 { font-size:26px; }
  .consultation-actions { margin-top:22px; flex-wrap:wrap; }
  .footer-main { grid-template-columns:1fr 1fr; }
  .footer-brand { grid-column:1/-1; }
  .newsletter { align-items:stretch; flex-direction:column; }
  .newsletter form { width:100%; }
  .contact-row { grid-template-columns:1fr 1fr; gap:25px 0; }
  .contact-item:nth-child(2) { border-left:0; }
  .footer-bottom { flex-direction:column; text-align:center; }
}

@media (max-height: 680px) {
  .category-panel { padding-block:12px; max-height:calc(100% - 36px); }
  .category-tab { min-height:54px; }
}

@media (max-width: 820px) and (max-height: 680px) {
  .category-panel { max-height:calc(100% - 110px); padding-block:8px; }
  .category-tab { min-height:49px; }
  .category-tab span { font-size:13px; }
}

@media (max-width: 520px) {
  .brand { font-size:23px; }
  .brand-mark { transform:scale(.85); transform-origin:right center; }
  .hero h1 { font-size:56px; }
  .section-intro h2 { font-size:38px; }
  .energy-lab h2 { font-size:41px; letter-spacing:-2px; }
  .energy-lab__metrics strong { font-size:18px; }
  .energy-stage { height:430px; }
  .energy-scene { transform:scale(.64) rotateX(-8deg) rotateY(-14deg); }
  .energy-node { display:none; }
  .category-panel { padding:8px 13px; }
  .category-tab { min-height:54px; }
  .category-tab span { gap:8px; font-size:12px; }
  .product-copy { display:block; }
  .product-card { flex-basis:88%; }
  .news-card { flex-basis:88%; }
  .footer-main { grid-template-columns:1fr; }
  .footer-brand { grid-column:auto; }
  .footer-column { border-right:0; border-top:1px solid rgba(255,255,255,.12); padding:22px 0 0; }
  .footer-column a { display:inline-block; margin-left:18px; }
  .contact-row { grid-template-columns:1fr; }
  .contact-item { border-left:0; border-bottom:1px solid rgba(255,255,255,.12); padding:12px 0; }
  .legal { flex-wrap:wrap; justify-content:center; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior:auto; }
  *,*:before,*:after { animation-duration:.01ms!important; transition-duration:.01ms!important; }
  .energy-scene { transform:rotateX(-8deg) rotateY(-15deg)!important; }
  .motion-ready .reveal { opacity:1!important; transform:none!important; }
  .scroll-progress { display:none; }
}

/* Inner pages */
.inner-page { background:var(--soft); }
.inner-page .site-header { position:fixed; height:76px; background:rgba(7,19,69,.97); backdrop-filter:blur(18px); }
.page-hero { padding:150px 0 75px; color:#fff; background:linear-gradient(125deg,#071345,#0d2cad); position:relative; overflow:hidden; }
.page-hero.has-hero-image { background-image:linear-gradient(90deg,rgba(3,9,33,.88),rgba(7,19,69,.62)),var(--page-hero-image); background-position:center,center; background-size:cover,cover; background-repeat:no-repeat; }
.page-hero:after { content:""; position:absolute; width:520px; height:520px; border:1px solid rgba(255,255,255,.08); border-radius:50%; left:-170px; top:-260px; box-shadow:0 0 0 90px rgba(255,255,255,.025); }
.breadcrumbs { display:flex; flex-wrap:wrap; gap:9px; align-items:center; color:rgba(255,255,255,.58); font-size:12px; position:relative; z-index:2; }
.breadcrumbs a:hover { color:#fff; }
.page-hero h1 { position:relative; z-index:2; margin:22px 0 7px; font-size:clamp(42px,6vw,76px); line-height:1.15; letter-spacing:-3px; }
.page-hero p { position:relative; z-index:2; max-width:680px; color:rgba(255,255,255,.67); }
.archive-tools { display:flex; justify-content:space-between; align-items:center; gap:25px; margin-bottom:42px; }
.filter-list { display:flex; gap:10px; overflow:auto; scrollbar-width:none; }
.filter-list button { flex:0 0 auto; border:1px solid var(--line); background:#fff; padding:10px 18px; border-radius:25px; color:var(--muted); }
.filter-list button.active { background:var(--red); border-color:var(--red); color:#fff; }
.archive-search { display:flex; width:min(100%,340px); border:1px solid var(--line); background:#fff; border-radius:25px; overflow:hidden; }
.archive-search input { flex:1; min-width:0; border:0; outline:0; padding:10px 17px; background:transparent; }
.archive-search button { border:0; background:transparent; padding:0 16px; }
.catalog-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.catalog-card { background:#fff; border:1px solid var(--line); border-radius:12px; overflow:hidden; transition:.3s; }
.catalog-card:hover { transform:translateY(-6px); box-shadow:0 22px 50px rgba(7,19,69,.09); }
.catalog-card__image { aspect-ratio:1.25; display:block; background:#f0f1f3; overflow:hidden; }
.catalog-card__image img { width:100%; height:100%; object-fit:cover; transition:.4s; }
.catalog-card:hover img { transform:scale(1.035); }
.catalog-card__body { padding:24px; }
.catalog-card__body small { color:var(--red); }
.catalog-card__body h2,.catalog-card__body h3 { margin:7px 0 9px; font-size:22px; line-height:1.5; }
.catalog-card__body p { color:var(--muted); font-size:13px; }
.catalog-card__body>a { color:var(--red); font-weight:750; font-size:13px; }
.pagination { display:flex; justify-content:center; gap:8px; margin-top:45px; }
.pagination a,.pagination span { width:42px; height:42px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; background:#fff; }
.pagination .current { background:var(--red); color:#fff; border-color:var(--red); }
.detail-shell { display:grid; grid-template-columns:minmax(0,1fr) 310px; gap:50px; align-items:start; }
.article-body,.detail-main,.contact-card,.contact-form-card { background:#fff; border:1px solid var(--line); border-radius:14px; }
.article-body,.detail-main { padding:clamp(25px,5vw,64px); }
.article-body h2,.article-body h3,.detail-main h2,.detail-main h3 { margin-top:40px; line-height:1.5; }
.article-body p,.detail-main p { color:#4f5360; }
.article-cover { display:block; width:100%; height:auto; aspect-ratio:3/1; object-fit:cover; object-position:center; border-radius:11px; margin:0 0 35px; }
[data-page="news"] .catalog-card__image { aspect-ratio:2/1; }
.article-meta { display:flex; gap:20px; flex-wrap:wrap; color:var(--muted); font-size:12px; margin-bottom:25px; }
.article-tags { display:flex; gap:8px; flex-wrap:wrap; margin-top:40px; padding-top:25px; border-top:1px solid var(--line); }
.article-tags a { background:var(--soft); padding:6px 12px; border-radius:20px; font-size:12px; }
.side-card { background:#fff; border:1px solid var(--line); border-radius:12px; padding:25px; margin-bottom:20px; }
.side-card h3 { margin-top:0; }
.side-card a { display:block; padding:10px 0; border-bottom:1px solid var(--line); font-size:13px; }
.side-card a:last-child { border-bottom:0; }
.side-cta { background:linear-gradient(145deg,var(--red),var(--red-dark)); color:#fff; }
.side-cta p { color:rgba(255,255,255,.75); font-size:13px; }
.side-cta .button { background:#fff; color:var(--red); padding-inline:18px; }
.product-detail { display:grid; grid-template-columns:1.05fr 1fr; gap:55px; align-items:start; }
.product-gallery { position:sticky; top:100px; }
.product-hero-image { width:100%; object-fit:contain; background:#fff; border:1px solid var(--line); border-radius:14px; }
.product-image-button{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;cursor:zoom-in}.product-image-button span{position:absolute;right:18px;bottom:18px;padding:9px 14px;border-radius:999px;background:rgba(7,19,69,.86);color:#fff;font:inherit;font-size:12px;opacity:0;transform:translateY(6px);transition:.25s}.product-image-button:hover span,.product-image-button:focus-visible span{opacity:1;transform:none}
.product-summary>span { color:var(--red); font-weight:800; font:14px Arial; }
.product-summary h1 { font-size:clamp(40px,5vw,64px); line-height:1.2; margin:8px 0 16px; }
.product-summary .lead { color:var(--muted); font-size:16px; }
.spec-list { display:grid; grid-template-columns:1fr 1fr; margin:30px 0; border-top:1px solid var(--line); border-right:1px solid var(--line); }
.spec { padding:17px; border-left:1px solid var(--line); border-bottom:1px solid var(--line); }
.spec small { display:block; color:var(--muted); }
.product-actions { display:flex; gap:10px; flex-wrap:wrap; }
.primary-action,.secondary-action { min-height:52px; padding:0 25px; border-radius:27px; display:inline-flex; align-items:center; gap:15px; font-weight:750; }
.primary-action { background:var(--red); color:#fff; }
.secondary-action { border:1px solid var(--line); background:#fff; }
.tabs-shell { margin-top:70px; }
.tabs-nav { display:flex; gap:30px; border-bottom:1px solid var(--line); overflow:auto; }
.tabs-nav button { border:0; background:transparent; padding:17px 0; flex:0 0 auto; cursor:pointer; }
.tabs-nav button.active { color:var(--red); border-bottom:2px solid var(--red); }
.tabs-nav button:focus-visible{outline:3px solid rgba(239,34,42,.25);outline-offset:4px}.tab-panel { padding:35px 0; animation:tabReveal .35s ease both; }.tab-panel[hidden]{display:none}.technical-table{display:grid;border:1px solid var(--line);border-radius:16px;overflow:hidden}.technical-table>div{display:grid;grid-template-columns:minmax(140px,.7fr) 1.3fr;gap:24px;padding:17px 20px;border-bottom:1px solid var(--line)}.technical-table>div:last-child{border-bottom:0}.technical-table span{color:#737785}.download-list{display:grid;gap:12px}.download-item{display:flex;align-items:center;justify-content:space-between;padding:18px 20px;border:1px solid var(--line);border-radius:14px;color:var(--ink);transition:.25s}.download-item:hover{border-color:var(--red);transform:translateY(-2px)}.download-item span{display:grid;gap:4px}.download-item small{color:#777}.download-item b{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:var(--red);color:#fff}.certificate-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.certificate-card{display:grid;gap:8px;min-height:130px;padding:22px;border:1px solid var(--line);border-radius:16px;color:var(--ink);background:linear-gradient(145deg,#fff,#f6f7fb)}.certificate-card span,.empty-state{color:#777}.product-lightbox{width:min(1100px,92vw);max-width:none;padding:0;border:0;border-radius:20px;background:#fff;box-shadow:0 30px 100px rgba(0,0,0,.45);overflow:visible}.product-lightbox::backdrop{background:rgba(3,8,28,.82);backdrop-filter:blur(8px)}.product-lightbox img{display:block;width:100%;max-height:80vh;object-fit:contain;border-radius:20px}.product-lightbox p{margin:0;padding:14px 20px;text-align:center}.lightbox-close{position:absolute;left:-14px;top:-14px;width:44px;height:44px;border:0;border-radius:50%;background:var(--red);color:#fff;font-size:28px;cursor:pointer;box-shadow:0 8px 24px rgba(239,34,42,.35)}@keyframes tabReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.contact-layout { display:grid; grid-template-columns:.9fr 1.4fr; gap:30px; }
.contact-card,.contact-form-card { padding:clamp(25px,4vw,48px); }
.contact-card { color:#fff; background:linear-gradient(150deg,#071345,#0d2cad); }
.contact-card p { color:rgba(255,255,255,.65); }
.contact-list { margin-top:35px; }
.contact-list div { padding:15px 0; border-bottom:1px solid rgba(255,255,255,.14); }
.contact-list small { display:block; color:rgba(255,255,255,.45); }
.contact-form { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.field { display:flex; flex-direction:column; gap:6px; }
.field.wide { grid-column:1/-1; }
.field label { font-size:12px; font-weight:700; }
.field input,.field textarea,.field select { width:100%; border:1px solid var(--line); border-radius:8px; padding:12px 14px; background:#fff; outline:0; }
.field input:focus,.field textarea:focus,.field select:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(13,44,173,.08); }
.contact-form button { justify-self:start; border:0; }
.map-placeholder { min-height:340px; margin-top:30px; border-radius:14px; background:linear-gradient(135deg,#dfe9ec,#c6d7da); display:grid; place-items:center; color:#53636a; }
.inner-footer { padding-top:90px; }

/* Premium inner pages */
.hero-eyebrow { position:relative; z-index:2; display:inline-flex; align-items:center; gap:12px; margin-top:42px; color:#ff636b; font-size:12px; font-weight:800; letter-spacing:.3px; }
.hero-eyebrow:before { content:""; width:34px; height:2px; background:var(--red); }
.products-hero { min-height:650px; padding-bottom:95px; background:radial-gradient(circle at 20% 50%,rgba(55,99,230,.45),transparent 34%),linear-gradient(125deg,#030921,#071345 48%,#0b2a9f); }
.page-hero.products-hero.has-hero-image { background-image:linear-gradient(125deg,rgba(3,9,33,.95),rgba(7,19,69,.95)),var(--page-hero-image); }
.products-hero__grid { display:grid; grid-template-columns:1fr .9fr; align-items:center; gap:60px; }
.products-hero__visual { height:430px; position:relative; display:grid; place-items:center; isolation:isolate; }
.products-hero__visual:before,.products-hero__visual:after { content:""; position:absolute; pointer-events:none; }
.products-hero__visual:before { z-index:0; width:115%; height:125%; border-radius:50%; background:radial-gradient(circle,rgba(63,147,255,.56) 0%,rgba(34,84,231,.34) 35%,rgba(14,53,158,.08) 65%,transparent 75%); filter:blur(35px); animation:product-hero-glow 6s ease-in-out infinite alternate; }
.products-hero__visual:after { z-index:1; inset:7% 4%; border:1px solid rgba(162,208,255,.25); border-radius:30px; transform:rotate(-3deg); box-shadow:0 0 48px rgba(79,147,255,.12); }
.products-hero__visual img { position:relative; z-index:2; width:100%; max-width:560px; height:360px; object-fit:cover; border:1px solid rgba(197,225,255,.4); border-radius:24px; box-shadow:0 30px 75px rgba(0,8,46,.42),0 0 38px rgba(92,160,255,.26); }
@keyframes product-hero-glow { from { transform:scale(.93); opacity:.72; } to { transform:scale(1.07); opacity:1; } }
@media (prefers-reduced-motion: reduce) { .products-hero__visual:before { animation:none; } }
.products-hero__visual i { position:absolute; z-index:3; width:10px; height:10px; border-radius:50%; background:#fff; box-shadow:0 0 20px #78a0ff; }.products-hero__visual i:first-of-type{top:15%;right:13%}.products-hero__visual i:last-of-type{bottom:20%;left:8%}
.hero-mini-stats { display:flex; gap:0; margin-top:38px; border-top:1px solid rgba(255,255,255,.16); border-bottom:1px solid rgba(255,255,255,.16); }
.hero-mini-stats div { min-width:120px; padding:18px 0; border-left:1px solid rgba(255,255,255,.16); }.hero-mini-stats div:last-child{border-left:0}
.hero-mini-stats strong,.hero-mini-stats small { display:block; }.hero-mini-stats strong{font:800 24px Arial}.hero-mini-stats small{margin-top:4px;color:rgba(255,255,255,.48);font-size:10px}
.products-archive { background:linear-gradient(#f7f8fb,#fff); }
.archive-title { margin-bottom:34px; }.archive-title>span,.form-eyebrow,.side-eyebrow{color:var(--red);font-size:12px;font-weight:800}.archive-title h2{margin:7px 0;font-size:clamp(30px,4vw,48px)}
[data-page="products"] .archive-tools { padding:15px; border:1px solid var(--line); border-radius:40px; background:#fff; box-shadow:0 18px 45px rgba(7,19,69,.06); }
[data-page="products"] .catalog-grid { gap:28px; }
[data-page="products"] .catalog-card { border:0; border-radius:20px; box-shadow:0 12px 35px rgba(7,19,69,.07); }
[data-page="products"] .catalog-card__image { aspect-ratio:1.35; background:radial-gradient(circle at 50% 45%,#fff,#e9edf5); }
[data-page="products"] .catalog-card__image img { object-fit:contain; object-position:center; transform:scale(1); transition:transform .45s ease; }
[data-page="products"] .catalog-card:hover .catalog-card__image img { transform:scale(.97); }
[data-page="products"] .catalog-card__body { padding:28px; }
[data-page="products"] .catalog-card__body>a { display:inline-flex; margin-top:8px; padding:9px 16px; border-radius:22px; background:rgba(241,29,37,.08); }

.contact-hero { min-height:690px; background:linear-gradient(90deg,rgba(3,9,33,.9),rgba(7,19,69,.66)),url("assets/images/headquarters.png") center/cover; }
.contact-hero h1 { font-size:clamp(58px,7vw,92px); max-width:850px; }
.contact-channels { position:relative; z-index:2; display:flex; gap:14px; flex-wrap:wrap; margin-top:34px; }
.contact-channels a { min-width:250px; display:flex; align-items:center; gap:14px; padding:13px 16px; border:1px solid rgba(255,255,255,.22); border-radius:15px; background:rgba(255,255,255,.07); backdrop-filter:blur(12px); }
.contact-channels b { width:42px; height:42px; display:grid; place-items:center; border-radius:12px; background:var(--red); }.contact-channels span,.contact-channels small{display:block}.contact-channels small{color:rgba(255,255,255,.45);font-size:10px}
.contact-section {  position:relative; z-index:3; padding-top:0; }
.contact-layout { gap:0; box-shadow:0 35px 90px rgba(7,19,69,.14); border-radius:24px; overflow:hidden; }
.contact-card,.contact-form-card { border:0; border-radius:0; padding:clamp(32px,5vw,64px); }
.contact-card { position:relative; overflow:hidden; background:radial-gradient(circle at 20% 85%,rgba(55,100,238,.6),transparent 35%),linear-gradient(150deg,#050c32,#0a246f); }
.contact-card:after { content:""; position:absolute; width:300px;height:300px;border:1px solid rgba(255,255,255,.08);border-radius:50%;left:-150px;top:-120px;box-shadow:0 0 0 65px rgba(255,255,255,.025); }
.contact-card h2 { font-size:clamp(34px,4vw,51px); line-height:1.25; }
.contact-list div { position:relative; padding:18px 42px 18px 0; }.contact-list i{position:absolute;right:0;top:21px;color:#ff5d65;font:800 10px Arial}.contact-list strong{display:block;font-size:14px}.contact-list small{font-size:10px}
.contact-form-card { background:#fff; }.contact-form-card>h2{margin:8px 0;font-size:clamp(32px,4vw,46px)}.contact-form-card>p{margin:0 0 30px;color:var(--muted);font-size:12px}
.field input,.field textarea,.field select { border-radius:12px; padding:14px 16px; background:#fafbfc; transition:.25s; }.field textarea{resize:vertical}
.form-submit { flex-direction:row; align-items:center; gap:18px; }.form-submit button{min-width:175px;justify-content:space-between;box-shadow:0 14px 30px rgba(241,29,37,.22)}
.map-placeholder { min-height:410px; position:relative; display:block; overflow:hidden; background:#dfe6e8; color:var(--ink); }
.map-placeholder iframe { display:block; width:100%; height:clamp(410px,42vw,520px); border:0; }
.map-links{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:22px clamp(22px,4vw,48px);background:#fff;border:1px solid #e5e9f2;border-top:0;border-radius:0 0 20px 20px}
.map-links>span{color:#0b1538;font-size:15px;font-weight:800}
.map-links>div{display:flex;gap:10px;flex-wrap:wrap}
.map-links a{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:44px;padding:10px 20px;border:1px solid #dce2ee;border-radius:12px;color:#0b1538;background:#f7f9fd;font-size:13px;font-weight:800;text-decoration:none;transition:background .2s,border-color .2s,color .2s,transform .2s}
.map-links a:hover,.map-links a:focus-visible{background:var(--red);border-color:var(--red);color:#fff;transform:translateY(-2px)}
@media(max-width:600px){.map-links{align-items:stretch}.map-links>div{width:100%}.map-links a{flex:1;min-width:125px}}

.article-hero { min-height:590px; display:flex; align-items:end; padding-bottom:90px; background:radial-gradient(circle at 12% 25%,rgba(55,100,238,.38),transparent 30%),linear-gradient(135deg,#030820,#071345 60%,#0b2a9f); }
.article-hero__inner { max-width:1050px; margin-inline:auto; }.article-hero h1{max-width:1000px;font-size:clamp(48px,7vw,86px)}
.article-hero-meta { position:relative; z-index:2; display:flex; gap:22px; flex-wrap:wrap; margin-top:28px; color:rgba(255,255,255,.55); font-size:12px }.article-hero-meta span+span:before{content:"•";margin-left:22px;color:var(--red)}
.article-section { padding-top:75px; background:linear-gradient(90deg,#f7f8fb,#fff 40%,#f7f8fb); }
[data-page="article"] .detail-shell { grid-template-columns:minmax(0,850px) 290px; justify-content:center; gap:35px; }
[data-page="article"] .detail-shell { display:block; width:min(calc(100% - 48px),1200px); }
[data-page="article"] .article-body { width:100%; min-width:0; }
[data-page="article"] #articleContent { overflow-wrap:anywhere; }
[data-page="article"] #articleContent img,[data-page="article"] #articleContent video,[data-page="article"] #articleContent iframe { max-width:100%; height:auto; }
.article-hero-consultation { display:inline-flex; align-items:center; flex-wrap:wrap; gap:12px; margin-top:28px; padding:12px 15px 12px 12px; border:1px solid rgba(255,255,255,.24); border-radius:999px; color:#fff; background:rgba(255,255,255,.09); font-size:13px; backdrop-filter:blur(10px); transition:background .25s,border-color .25s,transform .25s; }
.article-hero-consultation strong { display:inline-flex; padding:9px 16px; border-radius:999px; background:var(--red); color:#fff; font-weight:800; }
.article-hero-consultation:hover { background:rgba(255,255,255,.16); border-color:rgba(255,255,255,.5); transform:translateY(-3px); }
[data-page="article"] .article-share { margin:28px 0 0; border:0; border-top:1px solid var(--line); border-radius:0; padding:22px 0 0; box-shadow:none; }
@media(max-width:600px){[data-page="article"] .detail-shell{width:min(calc(100% - 30px),1200px)}.article-hero-consultation{border-radius:18px}.article-hero-consultation strong{width:100%;justify-content:center}}
.article-body { border:0; border-radius:22px; box-shadow:0 20px 65px rgba(7,19,69,.08); font-size:16px; line-height:2.15; }
.article-cover { margin-top:-105px; border-radius:18px; box-shadow:0 25px 55px rgba(7,19,69,.18); }
.article-lead { font-size:20px!important; line-height:2!important; color:#222938!important; font-weight:600; }
.article-divider { display:flex; align-items:center; gap:18px; margin:38px 0; color:#a1a5ad; font:10px Arial; letter-spacing:2px }.article-divider:before,.article-divider:after{content:"";height:1px;flex:1;background:var(--line)}
.article-body blockquote { margin:40px 0; padding:30px 35px; border-right:4px solid var(--red); border-radius:14px 0 0 14px; background:linear-gradient(90deg,#f7f8fb,#fff); color:#17203c; font-size:20px; font-weight:700; line-height:1.9; }
.article-body ul { margin:22px 0; padding-right:24px; color:#4f5360; }.article-body li{margin:8px 0}.article-body li::marker{color:var(--red)}
.article-body figure { margin:38px 0; }.article-body figure img{width:100%;height:auto;border-radius:14px}.article-body figcaption{margin-top:9px;color:var(--muted);font-size:11px;text-align:center}
.tab-panel ul { padding-right:20px; color:#4f5360; }.tab-panel li{margin:8px 0}.tab-panel li::marker{color:var(--red)}
.article-tags>span { align-self:center; font-weight:800; font-size:12px; }
.detail-sidebar { position:sticky; top:100px; }.share-card{padding:18px 22px;margin-bottom:18px;border:1px solid var(--line);border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:space-between}.share-card small{color:var(--muted)}.share-card div{display:flex;gap:7px}.share-card button{width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:#fff}.share-card button:hover{color:#fff;background:var(--red);border-color:var(--red)}
[data-page="article"] .side-card { border:0; border-radius:18px; box-shadow:0 15px 45px rgba(7,19,69,.07); }
[data-page="article"] .side-cta { padding:32px; background:radial-gradient(circle at 0 100%,rgba(255,255,255,.14),transparent 45%),linear-gradient(145deg,var(--red),#a90410); }
.services-hero{background:radial-gradient(circle at 15% 35%,rgba(36,86,255,.35),transparent 32%),linear-gradient(135deg,#071345,#0b1f69);color:#fff}.services-hero p{color:rgba(255,255,255,.72);max-width:650px}.services-archive-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;margin-top:40px}.service-detail-card{scroll-margin-top:110px;padding:clamp(26px,4vw,44px);border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:0 18px 55px rgba(7,19,69,.06);transition:.3s}.service-detail-card:hover{transform:translateY(-7px);box-shadow:0 28px 70px rgba(7,19,69,.12)}.service-detail-head{display:flex;align-items:center;justify-content:space-between}.service-detail-head>span{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:var(--red);color:#fff;font-size:25px}.service-detail-head small{font:700 12px Arial;color:#a4a7b0}.service-detail-card h2{margin:25px 0 12px}.service-detail-card p{color:var(--muted);line-height:2}.service-detail-card ul{padding-right:20px;color:#3f4554}.service-detail-card li{margin:9px 0}.service-detail-card li::marker{color:var(--red)}.service-detail-card>a{display:inline-flex;gap:12px;margin-top:14px;color:var(--red);font-weight:800}.services-process{padding:100px 0;background:#071345;color:#fff}.services-process>.container>span{color:#ff5960;font-weight:800}.services-process h2{font-size:clamp(32px,5vw,56px);max-width:700px}.process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin-top:45px;background:rgba(255,255,255,.12)}.process-grid article{padding:30px;background:#071345}.process-grid b{color:#ff4a52;font:700 12px Arial}.process-grid p{color:rgba(255,255,255,.58)}
.content-hero{position:relative;display:flex;align-items:flex-end;min-height:min(720px,82vh);padding:155px 0 85px;overflow:hidden;background:#071345;color:#fff}.content-hero__media,.content-hero__shade{position:absolute;inset:0}.content-hero__media{background-position:center;background-size:cover;transform:scale(1.02)}.content-hero__shade{background:linear-gradient(90deg,rgba(4,10,36,.28),rgba(4,10,36,.9) 74%),linear-gradient(0deg,rgba(4,10,36,.7),transparent 55%)}.content-hero__inner{position:relative;z-index:1}.content-hero .breadcrumbs,.content-hero .breadcrumbs a{color:rgba(255,255,255,.7)}.content-hero h1{max-width:920px;margin:18px 0;font-size:clamp(46px,7vw,92px);line-height:1.12;letter-spacing:-3px}.content-hero p{max-width:720px;color:rgba(255,255,255,.75);font-size:18px;line-height:2}.content-meta{display:flex;gap:24px;margin-top:24px;color:rgba(255,255,255,.55);font-size:12px}.content-document{padding:clamp(65px,9vw,120px) 0;background:#fff}.content-body{width:min(100%,1040px);margin:auto;font-size:17px;line-height:2.2;color:#394052}.content-body>p,.content-body>h2,.content-body>h3,.content-body>ul,.content-body>blockquote{max-width:820px;margin-right:auto;margin-left:auto}.content-body>h2{margin-top:65px;color:#0d1637;font-size:clamp(30px,4vw,48px);line-height:1.35}.content-body>h3{margin-top:38px;color:#17203c;font-size:26px}.content-body>blockquote{margin-top:45px;margin-bottom:45px;padding:30px 35px;border-right:4px solid var(--red);border-radius:14px 0 0 14px;background:#f6f7fb;color:#17203c;font-size:20px;font-weight:700}.content-body>figure{margin:55px 0}.content-body>figure img{width:100%;border-radius:22px}.content-body figcaption{text-align:center;color:#858995;font-size:12px}.content-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;margin:60px 0;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden}.content-stats div{display:grid;gap:8px;padding:34px 20px;text-align:center;background:#fff}.content-stats strong{color:var(--red);font-size:36px}.content-stats span{color:#686d7a}.content-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin:55px 0}.content-cards article{padding:30px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,#fff,#f8f9fc)}.content-cards article>span{display:grid;place-items:center;width:48px;height:48px;border-radius:14px;background:#071345;color:#fff}.content-cards h3{font-size:21px}.content-cards p{color:#676c79}.content-cards a{color:var(--red);font-weight:800}.content-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin:55px 0}.content-gallery figure{margin:0}.content-gallery img{width:100%;aspect-ratio:1.35;object-fit:cover;border-radius:18px}.content-video{margin:55px 0}.content-video video{display:block;width:100%;max-height:680px;border-radius:20px;background:#06102e}.content-table-wrap{margin:50px 0;overflow:auto;border:1px solid var(--line);border-radius:18px}.content-table-wrap table{width:100%;border-collapse:collapse;min-width:620px}.content-table-wrap th,.content-table-wrap td{padding:17px 20px;text-align:right;border-bottom:1px solid var(--line)}.content-table-wrap th{background:#071345;color:#fff}.content-faq{margin:65px 0}.content-faq details{border-bottom:1px solid var(--line)}.content-faq summary{padding:22px 0;color:#17203c;font-weight:800;cursor:pointer}.content-faq details p{margin:0 0 22px;color:#666d7c}.content-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;margin:70px 0 0;padding:clamp(30px,5vw,58px);border-radius:24px;background:radial-gradient(circle at 0 100%,rgba(255,255,255,.16),transparent 42%),linear-gradient(135deg,var(--red),#b20813);color:#fff}.content-cta h2{margin:7px 0;font-size:clamp(28px,4vw,45px)}.content-cta p{margin:0;color:rgba(255,255,255,.72)}.content-divider{margin:65px auto;border:0;border-top:1px solid var(--line)}

@media (max-width:900px) {
  .catalog-grid { grid-template-columns:repeat(2,1fr); }
  .detail-shell,.product-detail,.contact-layout { grid-template-columns:1fr; }
  .product-gallery { position:static; }
  .detail-sidebar { display:grid; grid-template-columns:1fr 1fr; gap:18px; }
  .products-hero__grid { grid-template-columns:1fr; }.products-hero__visual{height:310px}.products-hero__visual img{height:280px}
  .contact-section { margin-top:-45px; }.detail-sidebar{position:static}.share-card{grid-column:1/-1}
  .process-grid{grid-template-columns:repeat(2,1fr)}
  .content-stats{grid-template-columns:repeat(2,1fr)}.content-cards{grid-template-columns:1fr 1fr}
}
@media (max-width:600px) {
  .page-hero { padding:125px 0 55px; }
  .page-hero h1 { font-size:43px; letter-spacing:-2px; }
  .archive-tools { align-items:stretch; flex-direction:column; }
  .archive-search { width:100%; }
  .catalog-grid { grid-template-columns:1fr; }
  .detail-sidebar { grid-template-columns:1fr; }
  .spec-list { grid-template-columns:1fr; }
  .contact-form { grid-template-columns:1fr; }
  .field.wide { grid-column:auto; }
  .products-hero { padding-bottom:55px }.products-hero__visual{display:grid;height:250px}.products-hero__visual img{height:225px;border-radius:18px}.hero-mini-stats div{min-width:0;flex:1}.hero-mini-stats strong{font-size:18px}
  [data-page="products"] .archive-tools{border-radius:20px}.contact-channels a{width:100%}.contact-section{margin-top:0;padding-top:55px}.contact-layout{border-radius:18px}.contact-form-card,.contact-card{padding:30px 22px}.form-submit{align-items:flex-start;flex-direction:column}
  .article-hero{min-height:510px}.article-hero h1{font-size:42px}.article-section{padding-top:45px}.article-cover{margin-top:-70px}.article-body{padding:22px}.article-lead{font-size:17px!important}.article-body blockquote{padding:22px;font-size:17px}
  .certificate-grid{grid-template-columns:1fr}.technical-table>div{grid-template-columns:1fr;gap:5px}.product-image-button span{opacity:1;transform:none}.lightbox-close{left:8px;top:8px}
  .services-archive-grid,.process-grid{grid-template-columns:1fr}
  .content-hero{min-height:640px;padding-bottom:65px}.content-hero h1{font-size:45px;letter-spacing:-2px}.content-gallery,.content-cards,.content-stats{grid-template-columns:1fr}.content-cta{align-items:flex-start;flex-direction:column}.content-body{font-size:16px}
}

/* Independent API loaders */
.api-section-loading {
  position: relative;
  min-height: 180px;
  isolation: isolate;
  pointer-events: none;
}
.brand-logo {
    display: block;
    width: auto;
    height: clamp(82px,9vw,75px);
    max-width: 220px;
    object-fit: contain;
    margin-top: -14px;
}
.footer .brand-logo { height: 50px; max-width: 210px; }
.api-section-loading::before {
  content: "";
  position: absolute;
  z-index: 90;
  inset: 0;
  background: rgba(255,255,255,.78);
  backdrop-filter: blur(5px);
}
.api-section-loading::after {
  content: "⚡";
  position: absolute;
  z-index: 91;
  top: 50%;
  left: 50%;
  display: grid;
  place-items: center;
  width: 58px;
  height: 58px;
  margin: -29px 0 0 -29px;
  border: 1px solid rgba(255,255,255,.7);
  border-radius: 18px;
  background: linear-gradient(145deg,var(--red),#b60713);
  color: #fff;
  font-size: 25px;
  box-shadow: 0 16px 38px rgba(241,29,37,.3),0 0 0 0 rgba(241,29,37,.3);
  animation: api-loader-energy 1.15s ease-in-out infinite;
}
.hero.api-section-loading::before,
.video-categories.api-section-loading::before,
.footer.api-section-loading::before {
  background: rgba(4,10,36,.7);
}
.api-section-error::before {
  content: attr(data-error-label);
  display: block;
  padding: 22px;
  border: 1px solid rgba(241,29,37,.2);
  border-radius: 14px;
  background: rgba(241,29,37,.06);
  color: #9d1018;
  text-align: center;
}
@keyframes api-loader-energy {
  0%,100% { transform: translateY(0) scale(.94); box-shadow:0 12px 28px rgba(241,29,37,.2),0 0 0 0 rgba(241,29,37,.28); filter:brightness(.9); }
  50% { transform: translateY(-5px) scale(1.04); box-shadow:0 20px 45px rgba(241,29,37,.36),0 0 0 18px rgba(241,29,37,0); filter:brightness(1.18); }
}
@media (prefers-reduced-motion: reduce) {
  .api-section-loading::after { animation:none; }
}

/* Dynamic page gallery and form */
.page-gallery-section{padding:clamp(70px,9vw,120px) 0;background:#f5f7fb}.page-section-heading span,.page-form-intro>span{color:var(--red);font-size:12px;font-weight:800}.page-section-heading h2,.page-form-intro h2{margin:8px 0 35px;color:#0b1538;font-size:clamp(32px,5vw,58px)}.page-dynamic-gallery{display:grid;grid-template-columns:repeat(12,1fr);gap:18px}.page-gallery-item{position:relative;grid-column:span 4;min-height:330px;padding:0;overflow:hidden;border:0;border-radius:22px;background:#071345;cursor:zoom-in}.page-gallery-item:nth-child(5n+1),.page-gallery-item:nth-child(5n+2){grid-column:span 6}.page-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,opacity .4s}.page-gallery-item:hover img{transform:scale(1.06);opacity:.8}.page-gallery-item span{position:absolute;right:20px;bottom:18px;color:#fff;font-weight:800;text-shadow:0 2px 14px #000}.page-gallery-lightbox{width:min(1180px,94vw);max-width:none;padding:0;border:0;border-radius:22px;background:#07102e;overflow:visible}.page-gallery-lightbox::backdrop{background:rgba(2,7,25,.88);backdrop-filter:blur(8px)}.page-gallery-lightbox img{display:block;width:100%;max-height:86vh;object-fit:contain;border-radius:22px}.page-gallery-lightbox button{position:absolute;top:-17px;left:-17px;width:46px;height:46px;border:0;border-radius:50%;background:var(--red);color:#fff;font-size:28px;cursor:pointer}.page-form-section{padding:clamp(75px,10vw,135px) 0;background:radial-gradient(circle at 15% 90%,rgba(38,79,210,.35),transparent 30%),#071345}.page-form-shell{display:grid;grid-template-columns:.72fr 1.28fr;gap:clamp(35px,7vw,90px);align-items:start;padding:clamp(30px,5vw,65px);border:1px solid rgba(255,255,255,.13);border-radius:30px;background:rgba(255,255,255,.06);box-shadow:0 35px 90px rgba(0,0,0,.22)}.page-form-intro h2{color:#fff}.page-form-intro p{color:rgba(255,255,255,.62);line-height:2}.page-dynamic-form{padding:clamp(24px,4vw,42px);border-radius:22px;background:#fff}.page-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.page-form-fields .field small,.dynamic-form-heading small{color:#777;line-height:1.7}.page-form-fields .field b{color:var(--red)}.dynamic-form-heading{grid-column:1/-1;border-bottom:1px solid var(--line)}.dynamic-form-heading h3{margin:0 0 10px}.dynamic-choice{padding:15px;border:1px solid var(--line);border-radius:10px}.dynamic-choice legend{padding:0 8px;font-size:12px;font-weight:700}.dynamic-choice label{display:inline-flex;align-items:center;gap:7px;margin:7px 0 7px 18px}.page-form-actions{display:flex;align-items:center;gap:20px;margin-top:25px}.page-form-actions button{border:0}.page-form-actions button:disabled{opacity:.55;cursor:wait}.page-form-status{margin:0;font-size:13px}.page-form-status.is-success{color:#15834c}.page-form-status.is-error{color:#c41520}.page-form-status.is-loading{color:#536078}
@media(max-width:700px){.page-gallery-item,.page-gallery-item:nth-child(n){grid-column:span 12;min-height:270px}.page-form-shell{grid-template-columns:1fr;padding:24px}.page-form-fields{grid-template-columns:1fr}.page-form-fields .field{grid-column:1/-1}.page-form-actions{align-items:flex-start;flex-direction:column}}

/* Page form visual alignment */
.page-form-section{background:linear-gradient(180deg,#f5f7fb 0,#fff 100%);border-top:1px solid var(--line)}.page-form-shell{display:block;width:min(100%,960px);margin:auto;padding:clamp(10px,2vw,18px);border:1px solid #e5e9f2;border-radius:28px;background:#fff;box-shadow:0 28px 80px rgba(7,19,69,.1);backdrop-filter:none}.page-dynamic-form{position:relative;padding:clamp(28px,5vw,58px);border:0;border-radius:20px;background:linear-gradient(145deg,#fff 65%,#f7f9fd)}.page-dynamic-form:before{content:"";position:absolute;top:0;right:clamp(28px,5vw,58px);width:72px;height:4px;border-radius:0 0 8px 8px;background:var(--red)}.dynamic-form-heading{padding:0 0 24px;margin-bottom:10px}.dynamic-form-heading h3{color:#0b1538;font-size:clamp(25px,4vw,38px);line-height:1.4}.page-form-fields{gap:22px}.page-form-fields .field{gap:9px}.page-form-fields .field label,.dynamic-choice legend{color:#26304e;font-size:13px}.page-form-fields .field input,.page-form-fields .field textarea,.page-form-fields .field select{min-height:54px;padding:14px 17px;border:1px solid #dfe4ee;border-radius:13px;background:#fafbfe;transition:border-color .25s,box-shadow .25s,background .25s}.page-form-fields .field textarea{min-height:145px;resize:vertical}.page-form-fields .field input:focus,.page-form-fields .field textarea:focus,.page-form-fields .field select:focus{border-color:var(--red);background:#fff;box-shadow:0 0 0 4px rgba(239,34,42,.08)}.page-form-actions{padding-top:8px}.page-form-actions .button{min-width:180px;justify-content:center;box-shadow:0 12px 28px rgba(239,34,42,.2)}
@media(max-width:700px){.page-form-section{padding:55px 0}.page-form-shell{padding:8px;border-radius:20px}.page-dynamic-form{padding:28px 20px;border-radius:15px}}

/* Dynamic product fields and properties */
.product-thumbnails{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:14px}.product-thumbnails button{padding:4px;overflow:hidden;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;transition:.25s}.product-thumbnails button.active,.product-thumbnails button:hover{border-color:var(--red);box-shadow:0 0 0 3px rgba(239,34,42,.08)}.product-thumbnails img{display:block;width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}.product-dynamic-panels .tab-panel{min-height:220px}.product-dynamic-panels .tab-panel>p,.product-dynamic-panels .tab-panel>ul,.product-dynamic-panels .tab-panel>ol{line-height:2.1}.product-dynamic-panels .tab-panel img{max-width:100%;height:auto;border-radius:16px}.product-dynamic-panels .tab-panel table{width:100%;border-collapse:collapse}.product-dynamic-panels .tab-panel td,.product-dynamic-panels .tab-panel th{padding:14px;border:1px solid var(--line);text-align:right}.product-empty-state{padding:45px;text-align:center;border:1px dashed var(--line);border-radius:16px}.product-summary .spec-list:empty{display:none}.product-summary .lead:empty{display:none}
@media(max-width:700px){.product-thumbnails{grid-template-columns:repeat(4,minmax(0,1fr))}.tabs-nav{gap:22px}.product-dynamic-panels .tab-panel{padding:25px 0}}

/* Inner-page gallery lightbox navigation and captions */
.page-gallery-lightbox{max-height:calc(100dvh - 32px);overflow:visible;color:#fff}
.page-gallery-lightbox__figure{margin:0}
.page-gallery-lightbox__figure img{max-height:calc(100dvh - 160px);border-radius:22px 22px 0 0}
.page-gallery-lightbox__caption{display:grid;gap:5px;padding:17px 28px 20px;text-align:center;line-height:1.7}
.page-gallery-lightbox__caption.is-empty{display:none}
.page-gallery-lightbox__caption strong{font-size:17px}
.page-gallery-lightbox__caption span{color:rgba(255,255,255,.7);font-size:14px}
.page-gallery-lightbox__caption [hidden]{display:none}
.page-gallery-lightbox .page-gallery-nav{position:absolute;top:50%;left:auto;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:rgba(7,16,46,.78);color:#fff;font-size:23px;line-height:1;cursor:pointer;transform:translateY(-50%);transition:background .2s,transform .2s}
.page-gallery-lightbox .page-gallery-prev{right:16px}
.page-gallery-lightbox .page-gallery-next{left:16px}
.page-gallery-lightbox .page-gallery-nav:hover,.page-gallery-lightbox .page-gallery-nav:focus-visible{background:var(--red);transform:translateY(-50%) scale(1.08)}
.page-gallery-lightbox .page-gallery-close{z-index:2}
@media(max-width:700px){.page-gallery-lightbox{width:calc(100vw - 20px)}.page-gallery-lightbox__figure img{max-height:calc(100dvh - 140px)}.page-gallery-lightbox__caption{padding:12px 18px 15px}.page-gallery-lightbox .page-gallery-nav{width:38px;height:38px;font-size:18px}.page-gallery-lightbox .page-gallery-prev{right:8px}.page-gallery-lightbox .page-gallery-next{left:8px}}
