: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; }

.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; }
.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; background:rgba(255,255,255,.5); }

.services { position:relative; overflow:hidden; }
.technical-grid { position:absolute; inset:0; opacity:.36; background-image:linear-gradient(#e9ebef 1px,transparent 1px),linear-gradient(90deg,#e9ebef 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; }
.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,1fr); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.service-item { padding:45px 32px 38px; border-left:1px solid var(--line); position:relative; min-height:300px; }
.service-item:last-child { border-left:0; }
.service-no { position:absolute; top:21px; left:22px; font:800 55px/1 Arial; color:transparent; -webkit-text-stroke:1px #d4d7de; }
.service-icon { width:54px; height:54px; display:grid; place-items:center; border:1px solid var(--line); border-radius:50%; font-size:24px; margin-bottom:28px; }
.service-item h3 { font-size:20px; margin:0 0 10px; }
.service-item p { color:var(--muted); font-size:13px; margin:0 0 25px; }
.service-item a { color:var(--red); font-size:22px; }
.all-link { display:flex; justify-content:center; gap:15px; margin-top:35px; color:var(--red); font-weight:750; position:relative; z-index:2; }

.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; }
.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; }
.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:50%; transform:translateY(-50%); width:min(520px,42vw); padding:25px 32px; background:rgba(255,255,255,.97); border-radius:12px; box-shadow:0 30px 70px rgba(0,0,0,.18); }
.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); }

.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% - 44px)/3); min-width:260px; min-height:450px; border:1px solid rgba(255,255,255,.42); border-radius:8px; padding:32px 24px; text-align:center; display:flex; flex-direction:column; position:relative; background:linear-gradient(150deg,rgba(255,255,255,.08),rgba(255,255,255,0)); }
.product-card:before { content:"+"; position:absolute; top:14px; right:17px; font-size:20px; }
.product-image { height:250px; display:grid; place-items:center; margin-bottom:18px; }
.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; }
.product-card p { font-size:13px; margin:4px 0 18px; }
.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; }

.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 { aspect-ratio:1.28; 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; }
.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; gap:8px; direction:ltr; }
.socials a { width:34px; height:34px; border:1px solid rgba(255,255,255,.35); border-radius:50%; display:grid; place-items:center; color:#fff; font:bold 12px Arial; }
.legal { display:flex; gap:18px; align-items:center; }
.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); }
  .service-item:nth-child(2) { border-left:0; }
  .service-item:nth-child(-n+2) { border-bottom:1px solid var(--line); }
  .products-layout { grid-template-columns:230px 1fr; gap:30px; }
  .product-card { flex-basis:calc((100% - 22px)/2); }
  .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 .search-button,
  .site-header .lang-button { display:none!important; }
  .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; }
  .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:1px solid var(--line)!important; border-radius:12px; margin-left:13px; scroll-snap-align:start; background:#fff; }
  .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:auto; bottom:30px; right:15px; left:15px; width:auto; transform:none; padding:12px 18px; }
  .category-tab { min-height:57px; }
  .category-tab span { font-size:14px; }
  .floating-menu { top:20px; left:18px; }
  .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:82%; min-width:0; min-height:420px; }
  .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-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; }
}

/* 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: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 { width:100%; aspect-ratio:1.8; object-fit:cover; border-radius:11px; margin:0 0 35px; }
.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%; aspect-ratio:1.12; object-fit:contain; background:#fff; border:1px solid var(--line); border-radius:14px; }
.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; }
.tabs-nav button.active { color:var(--red); border-bottom:2px solid var(--red); }
.tab-panel { padding:35px 0; }
.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; }

@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; }
}
@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; }
}
