:root {
  --bg: #041321;
  --bg-2: #061c2f;
  --panel: rgba(7, 31, 50, .78);
  --panel-strong: rgba(7, 27, 44, .95);
  --line: rgba(91, 203, 255, .28);
  --line-strong: rgba(96, 218, 255, .56);
  --cyan: #55d8ff;
  --cyan-2: #18b7ff;
  --gold: #f0d59a;
  --white: #f7fbff;
  --muted: #aac0cf;
  --muted-2: #7f9aae;
  --shadow: 0 18px 80px rgba(0, 0, 0, .34);
  --radius: 18px;
  --shell: 1380px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--white);
  background:
    radial-gradient(circle at 78% 4%, rgba(20, 172, 255, .11), transparent 30%),
    linear-gradient(180deg, #041321 0%, #03101c 52%, #061728 100%);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 50;
  opacity: .18;
  background-image: linear-gradient(rgba(255,255,255,.012) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.012) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(to bottom, black, transparent 70%);
}
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
img { max-width: 100%; display: block; }
.shell { width: min(calc(100% - 48px), var(--shell)); margin-inline: auto; position: relative; z-index: 2; }
.ambient { position: fixed; width: 520px; height: 520px; border-radius: 50%; filter: blur(110px); pointer-events: none; opacity: .07; z-index: 0; }
.ambient-a { top: 20%; left: -200px; background: #00a7ff; }
.ambient-b { bottom: 10%; right: -220px; background: #20d6ff; }

.site-header {
  position: fixed; inset: 0 0 auto 0; height: 78px; z-index: 60;
  border-bottom: 1px solid rgba(96, 205, 255, .18);
  background: rgba(2, 15, 27, .72);
  backdrop-filter: blur(20px) saturate(135%);
}
.nav-shell { height: 100%; display: flex; align-items: center; gap: 34px; }
.brand { display: inline-flex; align-items: center; gap: 12px; font-weight: 850; font-size: 24px; letter-spacing: .04em; white-space: nowrap; }
.brand-mark { width: 20px; height: 5px; border-radius: 999px; background: linear-gradient(90deg, var(--cyan), #fff); box-shadow: 0 0 18px rgba(85, 216, 255, .65); }
.main-nav { display: flex; align-items: center; gap: 26px; margin-left: auto; }
.main-nav a { color: #d7e7f1; font-size: 14px; transition: color .2s ease; }
.main-nav a:hover { color: var(--cyan); }
.nav-actions { display: flex; align-items: center; gap: 10px; }
.lang-switch { border: 1px solid rgba(115,202,240,.25); background: rgba(12,40,60,.62); color: #dbeef9; border-radius: 12px; padding: 10px 12px; cursor: pointer; }
.menu-toggle { display:none; margin-left:auto; width:42px;height:42px;border:1px solid var(--line);background:rgba(10,40,60,.7);border-radius:12px; }
.menu-toggle span { display:block;width:18px;height:2px;background:#d9effa;margin:4px auto; }

.button { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:0 22px; border-radius:12px; border:1px solid transparent; font-weight:750; font-size:14px; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease; }
.button:hover { transform: translateY(-2px); }
.button-primary { color:#00101b; background:linear-gradient(135deg,#7be7ff,#28bfff); box-shadow:0 12px 36px rgba(22,190,255,.22), 0 0 0 1px rgba(255,255,255,.2) inset; }
.button-primary:hover { box-shadow:0 16px 46px rgba(22,190,255,.35); }
.button-secondary,.button-ghost { border-color:rgba(97,205,249,.42); background:rgba(5,28,45,.68); color:#eaf8ff; }
.button-small { min-height:42px; padding-inline:16px; }

.hero { min-height: 830px; padding: 150px 0 80px; position:relative; overflow:hidden; border-bottom:1px solid rgba(86,199,245,.18); }
.hero-bg { position:absolute; inset:0; background-image:
    linear-gradient(90deg, rgba(2,17,29,.98) 0%, rgba(2,17,29,.88) 35%, rgba(2,17,29,.18) 69%, rgba(2,17,29,.48) 100%),
    linear-gradient(180deg, rgba(2,17,29,.2), rgba(2,17,29,.76)),
    url('../assets/hero-network.webp');
  background-size:cover; background-position:center; transform:scale(1.03); }
.hero-bg::after { content:"";position:absolute;inset:0;background:radial-gradient(circle at 67% 37%,transparent 0,rgba(0,183,255,.07) 18%,transparent 38%); }
.hero-grid-overlay { position:absolute; inset:0; opacity:.14; background-image:linear-gradient(30deg,rgba(104,217,255,.2) 1px,transparent 1px),linear-gradient(150deg,rgba(104,217,255,.15) 1px,transparent 1px); background-size:70px 40px; mask-image:linear-gradient(90deg,transparent 30%,black); }
.hero-shell { display:grid;grid-template-columns: 1.02fr .98fr; gap:70px; align-items:center; min-height:600px; }
.hero-copy { max-width:700px; }
.eyebrow { color:var(--cyan); font-size:12px; font-weight:850; letter-spacing:.26em; margin-bottom:18px; }
h1,h2,p { margin-top:0; }
h1 { margin-bottom:22px; font-size:clamp(46px,5.3vw,82px); line-height:.98; letter-spacing:-.045em; max-width:800px; }
h1 em { color:var(--cyan); font-style:normal; }
.hero-lead { color:#d2e2ec; max-width:660px; font-size:18px; line-height:1.65; margin-bottom:30px; text-shadow:0 2px 18px rgba(0,0,0,.3); }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; }
.stats { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); margin-top:44px; border-top:1px solid rgba(106,207,249,.18); padding-top:24px; gap:10px; }
.stat { min-width:0; padding-right:14px; border-right:1px solid rgba(115,207,246,.22); }
.stat:last-child { border-right:0; }
.stat strong { display:block; color:#75e2ff; font-size:22px; line-height:1.1; margin-bottom:5px; }
.stat span { display:block; color:#a9c1d0; font-size:12px; line-height:1.25; }
.hero-visual { align-self:stretch; display:flex; justify-content:flex-end; align-items:flex-end; pointer-events:none; }
.hero-map-card { width:260px; min-height:190px; margin-bottom:28px; border-left:1px solid rgba(98,204,246,.35); padding:24px 0 0 26px; background:linear-gradient(90deg,rgba(3,22,35,.42),transparent); }
.hero-map-caption { color:#bdd7e5; font-size:11px; line-height:1.7; letter-spacing:.18em; text-transform:uppercase; white-space:pre-line; }
.hero-bottom-line { position:absolute; bottom:0; left:50%; width:min(94%,1450px); transform:translateX(-50%); height:1px; background:linear-gradient(90deg,transparent,var(--cyan-2),transparent); opacity:.35; }

.section { position:relative; padding:92px 0; }
.section-heading { display:flex;align-items:flex-end;justify-content:space-between;gap:36px;margin-bottom:34px; }
h2 { margin-bottom:10px; font-size:clamp(34px,4vw,58px); line-height:1.02; letter-spacing:-.035em; }
.section-heading p { color:var(--muted); font-size:17px; max-width:760px; margin-bottom:0; line-height:1.6; }
.text-link { flex:none; border:1px solid rgba(89,198,241,.34); border-radius:12px; padding:13px 16px; color:#dbeff8; font-size:13px; transition:.2s ease; }
.text-link:hover { border-color:var(--cyan); color:var(--cyan); }

.solution-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.solution-card,.platform-card { position:relative; overflow:hidden; border:1px solid rgba(91,199,241,.3); background:linear-gradient(180deg,rgba(10,42,64,.88),rgba(4,25,42,.92)); box-shadow:0 18px 50px rgba(0,0,0,.16); transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease; }
.solution-card:hover,.platform-card:hover { transform:translateY(-5px); border-color:rgba(93,220,255,.65); box-shadow:0 24px 60px rgba(0,0,0,.26),0 0 32px rgba(27,174,232,.08); }
.solution-card { border-radius:16px; min-height:350px; display:flex;flex-direction:column; }
.solution-image { aspect-ratio:1.45/1; overflow:hidden; }
.solution-image img,.platform-image img { width:100%;height:100%;object-fit:cover; transition:transform .55s ease,filter .3s ease; }
.solution-card:hover img,.platform-card:hover img { transform:scale(1.045); }
.solution-body { padding:20px 18px 22px;display:flex;flex-direction:column;flex:1; }
.solution-card h3,.platform-card h3 { font-size:18px;margin:0 0 8px;line-height:1.18;letter-spacing:-.015em; }
.solution-card p,.platform-card p { color:#b7ccd8;font-size:13px;line-height:1.48;margin:0; }
.card-arrow { margin-top:auto;padding-top:18px;color:var(--cyan);font-size:21px;align-self:flex-end; }

.platforms-section { overflow:hidden; padding-top:80px; }
.section-network-bg { position:absolute;inset:15% 0 0;background:linear-gradient(180deg,rgba(2,16,27,.45),rgba(2,16,27,.82)),url('../assets/network-terrain.webp') center bottom/cover no-repeat;opacity:.75; }
.micro-kicker { color:#91aebf;font-size:11px;letter-spacing:.2em;text-align:right; }
.platform-grid { display:grid; grid-template-columns:repeat(12,minmax(0,1fr)); gap:14px; }
.platform-card { grid-column:span 3; border-radius:16px; min-height:330px; display:flex;flex-direction:column; }
.platform-card.featured { min-height:410px; }
.platform-card.secondary { grid-column:span 2; min-height:310px; }
.platform-image { aspect-ratio:1.62/1; overflow:hidden; position:relative; background:#092941; }
.platform-card.featured .platform-image { aspect-ratio:1.55/1; }
.platform-overlay { position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(2,18,31,.78)); }
.platform-body { padding:18px 18px 20px; display:flex; flex-direction:column; flex:1; }
.platform-card.secondary .platform-body { padding:16px; }
.platform-card.secondary h3 { font-size:16px; }
.platform-card.secondary p { font-size:12px; }
.badge { display:inline-flex; align-items:center; width:max-content; margin-bottom:9px; padding:5px 8px; border-radius:999px; border:1px solid rgba(113,217,255,.28); background:rgba(15,80,107,.28); color:#8de8ff; font-size:10px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }

.industries { padding-top:40px; padding-bottom:60px; }
.industries-inner { display:grid;grid-template-columns:1.1fr 1.3fr;gap:60px;align-items:center;border-top:1px solid rgba(104,204,244,.18);border-bottom:1px solid rgba(104,204,244,.18);padding:48px 0; }
.industry-pills { display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end; }
.industry-pill { border:1px solid rgba(98,202,242,.3);background:rgba(7,34,53,.72);border-radius:999px;padding:11px 15px;color:#cae0eb;font-size:13px; }

.technology { padding-top:70px; background:linear-gradient(180deg,transparent,rgba(3,25,42,.5)); }
.tech-grid { display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border-top:1px solid rgba(97,203,245,.17);border-bottom:1px solid rgba(97,203,245,.17); }
.tech-card { padding:28px 16px;text-align:center;border-right:1px solid rgba(97,203,245,.14); }
.tech-card:last-child { border-right:0; }
.tech-icon { width:44px;height:44px;margin:0 auto 14px;display:grid;place-items:center;color:var(--cyan);filter:drop-shadow(0 0 11px rgba(69,214,255,.22)); }
.tech-icon svg { width:36px;height:36px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.tech-card strong { display:block;font-size:14px;margin-bottom:7px; }
.tech-card span { display:block;color:#8da8b9;font-size:11px;line-height:1.4; }

.about { padding-top:90px; }
.about-grid { display:grid;grid-template-columns:.85fr 1.15fr;gap:80px;align-items:start;padding:58px;border:1px solid rgba(93,196,239,.18);border-radius:22px;background:linear-gradient(135deg,rgba(8,37,58,.82),rgba(4,21,35,.76));box-shadow:var(--shadow); }
.about-copy > p { color:#c6d9e4;font-size:19px;line-height:1.65;margin-bottom:26px; }
.about-lines { display:grid;grid-template-columns:repeat(3,1fr);gap:12px; }
.about-line { padding:17px;border:1px solid rgba(91,202,244,.18);border-radius:14px;background:rgba(5,28,44,.58);color:#9eb7c7;font-size:12px;line-height:1.5; }

.mission { position:relative;overflow:hidden;margin-top:40px;border-top:1px solid rgba(80,199,243,.24);border-bottom:1px solid rgba(80,199,243,.18); }
.mission-bg { position:absolute;inset:0;background:linear-gradient(90deg,rgba(3,19,31,.96),rgba(3,19,31,.65)),url('../assets/network-terrain.webp') center/cover; }
.mission-grid { min-height:320px;display:grid;grid-template-columns:1.15fr .85fr;gap:70px;align-items:center; }
.mission h2 { max-width:760px; }
.mission h2 em { font-style:normal;color:var(--cyan); }
.mission-side p { color:#bed2de;line-height:1.7;font-size:15px;max-width:560px; }

.footer { padding:30px 0 36px; background:#020f1a; }
.footer-grid { display:grid;grid-template-columns:auto 1fr auto;gap:30px;align-items:center; }
.footer-brand { font-size:20px; }
.footer-links { display:flex;flex-wrap:wrap;gap:20px;color:#9eb4c2;font-size:12px; }
.footer-links a:hover { color:var(--cyan); }
.footer-meta { display:flex;gap:16px;color:#617f92;font-size:11px;white-space:nowrap; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .65s ease,transform .65s ease; }
.reveal.visible { opacity:1; transform:none; }

@media (max-width: 1180px) {
  .main-nav { gap:16px; }
  .platform-card,.platform-card.secondary { grid-column:span 4; }
  .solution-grid { grid-template-columns:repeat(3,1fr); }
  .tech-grid { grid-template-columns:repeat(4,1fr); }
  .tech-card:nth-child(4) { border-right:0; }
}
@media (max-width: 900px) {
  .site-header { height:70px; }
  .shell { width:min(calc(100% - 28px),var(--shell)); }
  .menu-toggle { display:block; }
  .main-nav { position:absolute;top:70px;left:14px;right:14px;display:none;flex-direction:column;align-items:stretch;gap:0;padding:12px;border:1px solid var(--line);border-radius:16px;background:rgba(3,20,32,.97);box-shadow:var(--shadow); }
  .main-nav.open { display:flex; }
  .main-nav a { padding:13px 10px;border-bottom:1px solid rgba(99,194,233,.12); }
  .main-nav a:last-child { border-bottom:0; }
  .nav-actions .button { display:none; }
  .hero { min-height:auto;padding-top:118px; }
  .hero-shell { grid-template-columns:1fr;min-height:auto;gap:20px; }
  .hero-visual { display:none; }
  .hero-bg { background-position:62% center; }
  .hero-bg::before { content:"";position:absolute;inset:0;background:rgba(2,16,27,.34); }
  h1 { font-size:clamp(42px,9.5vw,68px); }
  .stats { grid-template-columns:repeat(2,1fr); }
  .solution-grid { grid-template-columns:repeat(2,1fr); }
  .section-heading { align-items:flex-start;flex-direction:column; }
  .platform-card,.platform-card.secondary { grid-column:span 6; }
  .industries-inner,.about-grid,.mission-grid { grid-template-columns:1fr;gap:32px; }
  .industry-pills { justify-content:flex-start; }
  .about-grid { padding:30px; }
  .about-lines { grid-template-columns:1fr; }
  .mission-grid { padding:55px 0;min-height:auto; }
  .footer-grid { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .brand { font-size:20px; }
  .hero { padding-bottom:58px; }
  .hero-lead { font-size:16px; }
  .hero-actions { flex-direction:column;align-items:stretch; }
  .hero-actions .button { width:100%; }
  .section { padding:68px 0; }
  .solution-grid { grid-template-columns:1fr; }
  .solution-card { min-height:0; }
  .platform-card,.platform-card.secondary { grid-column:span 12;min-height:0; }
  .tech-grid { grid-template-columns:repeat(2,1fr); }
  .tech-card:nth-child(even) { border-right:0; }
  .about-grid { padding:24px; }
  .footer-meta { flex-wrap:wrap; }
}

/* ==========================================================
   V2 — brand / layout refinement
   ========================================================== */
:root { --shell: 1320px; }
.site-header { height:82px; }
.nav-shell { gap:24px; }
.brand {
  position:relative;
  min-width:168px;
  flex-direction:column;
  align-items:flex-start;
  gap:0;
  line-height:1;
  padding:7px 0 5px;
}
.brand-word {
  display:inline-flex;
  align-items:baseline;
  font-size:27px;
  font-weight:920;
  letter-spacing:.035em;
  filter:drop-shadow(0 0 12px rgba(72,207,255,.18));
}
.brand-d {
  display:inline-grid;
  place-items:center;
  color:#061725;
  width:31px;
  height:29px;
  margin-right:1px;
  border-radius:7px 3px 7px 3px;
  background:linear-gradient(145deg,#f8fdff 8%,#76e6ff 54%,#1eb8ff 100%);
  box-shadow:0 0 0 1px rgba(189,240,255,.7) inset,0 0 22px rgba(35,190,255,.26);
  transform:skewX(-7deg);
}
.brand-d::first-letter { transform:skewX(7deg); }
.brand-rest { color:#f6fbff; text-shadow:0 0 18px rgba(88,209,255,.18); }
.brand-by {
  margin:4px 0 0 35px;
  color:#6f9bb4;
  font-size:9px;
  font-weight:750;
  letter-spacing:.23em;
  text-transform:uppercase;
}
.footer-brand { min-width:150px; }
.footer-brand .brand-word { font-size:20px; }
.footer-brand .brand-d { width:24px;height:23px;border-radius:5px 2px 5px 2px; }
.footer-brand .brand-by { margin-left:28px;font-size:7px; }
.main-nav { gap:16px; }
.main-nav a { font-size:13px; }

.hero { min-height:740px; padding:132px 0 62px; }
.hero-bg {
  background-image:
    linear-gradient(90deg, rgba(2,17,29,.99) 0%, rgba(2,17,29,.93) 31%, rgba(2,17,29,.32) 56%, rgba(2,17,29,.20) 78%, rgba(2,17,29,.62) 100%),
    linear-gradient(180deg, rgba(2,17,29,.10), rgba(2,17,29,.72)),
    url('../assets/hero-world-hd.webp');
  background-position:center center;
  background-size:cover;
  transform:none;
}
.hero-shell { grid-template-columns:.94fr 1.06fr; gap:40px; min-height:555px; }
.hero-copy { max-width:600px; }
h1 { font-size:clamp(45px,4.6vw,70px); max-width:650px; }
.hero-lead { font-size:16px; max-width:610px; }
.stats { margin-top:32px; padding-top:19px; }
.stat strong { font-size:20px; }
.stat span { font-size:11px; }
.hero-map-card { width:220px; min-height:170px; margin-bottom:22px; }

.section { padding:76px 0; }
.section-heading { margin-bottom:27px; }
h2 { font-size:clamp(34px,3.5vw,52px); }
.section-heading p { font-size:15px; }
.solution-grid { gap:12px; }
.solution-card { min-height:315px; }
.solution-image { aspect-ratio:16/9; }
.solution-body { padding:16px 15px 18px; }
.solution-card h3,.platform-card h3 { font-size:17px; }
.solution-card p,.platform-card p { font-size:12.5px; line-height:1.45; }

.platforms-section { padding-top:68px; }
.platform-grid { gap:12px; }
.platform-card { min-height:300px; }
.platform-card.featured { min-height:360px; }
.platform-card.secondary { min-height:270px; }
.platform-image,.platform-card.featured .platform-image { aspect-ratio:16/9; }
.platform-image img,.solution-image img {
  object-fit:cover;
  object-position:center;
  image-rendering:auto;
  filter:saturate(1.04) contrast(1.035);
}
.platform-body { padding:15px 15px 17px; }
.platform-card.secondary .platform-body { padding:14px; }
.platform-card.secondary h3 { font-size:15px; }
.platform-card.secondary p { font-size:11.5px; }
.card-arrow { padding-top:12px; font-size:19px; }
.platform-link { cursor:pointer; }
.platform-link:hover .product-url { color:#83e8ff; }
.product-url {
  display:inline-flex;
  width:max-content;
  max-width:100%;
  margin-top:12px;
  color:#83e8ff;
  font-size:13px;
  font-weight:820;
  letter-spacing:.02em;
  border-bottom:1px solid rgba(131,232,255,.35);
}
.contact-purpose {
  color:#77cfe9;
  font-size:11px;
  font-weight:750;
  letter-spacing:.08em;
  margin:0 0 16px;
}
.mission-grid { min-height:290px; }
.about-grid { padding:48px; }
.contact-email {
  display:inline-flex;
  align-items:center;
  width:max-content;
  margin:0 0 18px;
  color:#8cecff;
  font-weight:760;
  border-bottom:1px solid rgba(140,236,255,.34);
}
.contact-email:hover,.footer-email:hover { color:#c8f6ff; }
.footer-email { color:#77cfe9; }


@media (max-width: 1180px) {
  :root { --shell: 1040px; }
  .brand { min-width:154px; }
  .main-nav { gap:13px; }
  .main-nav a { font-size:12px; }
}
@media (max-width: 900px) {
  .site-header { height:70px; }
  .brand { min-width:0; padding:0; }
  .brand-word { font-size:21px; }
  .brand-d { width:25px;height:24px; }
  .brand-by { display:none; }
  .hero { padding-top:112px; }
}

/* ==========================================================
   V3 — crisp media, stronger portfolio presentation
   ========================================================== */
:root { --shell: 1460px; }
.site-header { height: 84px; }
.brand { min-width: 190px; }
.brand-word { font-size: 30px; letter-spacing:.025em; }
.brand-d { width:34px; height:31px; }
.brand-by { margin-left:39px; font-size:9px; color:#83afc6; }
.main-nav { gap:19px; }
.main-nav a { font-size:13.5px; }

.hero { min-height: 760px; padding-top: 138px; }
.hero-bg {
  background-image:
    linear-gradient(90deg, rgba(2,17,29,.995) 0%, rgba(2,17,29,.94) 28%, rgba(2,17,29,.36) 51%, rgba(2,17,29,.12) 76%, rgba(2,17,29,.40) 100%),
    linear-gradient(180deg, rgba(2,17,29,.03), rgba(2,17,29,.56)),
    url('../assets/hero-world-hd.webp');
  background-size: cover;
  background-position: center center;
  image-rendering: auto;
}
.hero-copy { max-width: 650px; }
h1 { font-size:clamp(49px,4.4vw,76px); max-width:760px; }
.hero-lead { max-width:650px; font-size:16.5px; line-height:1.62; }
.hero-shell { grid-template-columns:1fr 1.05fr; min-height:575px; }
.hero-map-card { opacity:.88; }

.section { padding:82px 0; }
.section-heading { margin-bottom:30px; }
.solution-grid { gap:16px; }
.solution-card { min-height:340px; }
.solution-image { aspect-ratio:16/8.8; }

.platforms-section { padding-top:76px; }
.platform-grid { gap:14px; }
.platform-card.featured { min-height:390px; }
.platform-card.secondary { min-height:300px; }
.platform-image { background:#061b2c; }
.platform-image img,
.solution-image img { transform:translateZ(0); backface-visibility:hidden; }
.platform-card:hover .platform-image img,
.solution-card:hover .solution-image img { transform:scale(1.025); }
.platform-body { gap:0; }
.platform-logo {
  display:block;
  width:auto;
  height:auto;
  max-width:142px;
  max-height:44px;
  object-fit:contain;
  margin:0 0 10px;
  filter:drop-shadow(0 5px 12px rgba(0,0,0,.28));
}
.platform-card.secondary .platform-logo { max-width:128px; max-height:40px; }
.product-url {
  margin-top:14px;
  font-size:17px;
  line-height:1.1;
  font-weight:850;
  letter-spacing:.01em;
}
.platform-card.secondary .product-url { font-size:15.5px; }
.platform-link:hover .product-url { color:#c9f8ff; border-color:rgba(201,248,255,.75); }

/* The two utility sites use deliberately clean brand visuals, not upscaled screenshots. */
.platform-card:has(.platform-logo) .platform-image img { filter:saturate(1.08) contrast(1.06); }

/* Presentation-inspired system grouping without turning the page into a slide deck. */
.platforms-section::after {
  content:"GIS  ·  AI  ·  3D  ·  CAD  ·  OPERÁCIÓ  ·  INFRASTRUKTÚRA";
  position:absolute;
  left:50%; bottom:22px;
  transform:translateX(-50%);
  width:min(calc(100% - 48px), var(--shell));
  color:rgba(111,207,238,.22);
  font-size:11px;
  font-weight:800;
  letter-spacing:.28em;
  text-align:right;
  pointer-events:none;
}

@media (max-width: 1180px) {
  :root { --shell: 1060px; }
  .brand { min-width:156px; }
  .brand-word { font-size:25px; }
  .brand-d { width:28px;height:26px; }
  .brand-by { margin-left:32px;font-size:7.5px; }
  .main-nav { gap:13px; }
  .main-nav a { font-size:12px; }
}
@media (max-width: 900px) {
  .hero { min-height:auto; }
  .platform-logo { max-width:135px; }
  .platforms-section::after { display:none; }
}
