
:root{
  --navy:#152642;
  --navy-2:#0e1d32;
  --green:#23C436;
  --ink:#122033;
  --muted:#667384;
  --line:#dfe5ea;
  --soft:#f5f7f8;
  --white:#ffffff;
  --max:1220px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff;line-height:1.55}
a{text-decoration:none;color:inherit}
img{max-width:100%;display:block}
button,input,textarea,select{font:inherit}
.container{width:min(var(--max),calc(100% - 44px));margin:auto}

/* HEADER */
.utility-bar{background:#0c1829;color:#c8d1da;font-size:12px;letter-spacing:.04em}
.utility-inner{height:34px;display:flex;justify-content:flex-end;align-items:center;gap:24px}
.utility-inner a:hover{color:#fff}
.search-trigger{border:0;background:none;color:inherit;cursor:pointer;padding:0}
.main-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}
.main-header-inner{height:84px;display:flex;align-items:center;gap:34px}
.brand{width:230px;flex:0 0 auto}
.brand img{width:100%;height:58px;object-fit:contain;object-position:left center}
.main-nav{display:flex;align-items:center;gap:30px;margin-left:auto;font-size:14px;font-weight:700;letter-spacing:.035em}
.main-nav>a,.dropdown-toggle{padding:31px 0 28px;position:relative}
.main-nav>a:after,.dropdown-toggle:after{content:"";position:absolute;left:0;right:100%;bottom:20px;height:2px;background:var(--green);transition:.2s}
.main-nav>a:hover:after,.main-nav>a.active:after,.dropdown:hover .dropdown-toggle:after{right:0}
.dropdown{position:relative}
.dropdown-toggle{background:none;border:0;font-weight:700;color:var(--ink);cursor:pointer}
.mega{display:none;position:absolute;top:76px;left:-250px;width:620px;background:#fff;border:1px solid var(--line);box-shadow:0 18px 42px rgba(18,32,51,.12);padding:28px}
.dropdown:hover .mega{display:grid;grid-template-columns:1fr 1fr;gap:28px}
.mega h4{margin:0 0 10px;font-size:13px;color:var(--navy)}
.mega a{display:block;color:var(--muted);padding:5px 0;font-size:13px}
.mobile-btn{display:none;margin-left:auto;background:none;border:0}
.mobile-btn span{display:block;width:25px;height:2px;background:var(--navy);margin:5px}

/* HERO */
.hero{background:linear-gradient(120deg,#0f2037 0%,#152642 66%,#10253f 100%);color:#fff;position:relative;overflow:hidden}
.hero:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 72% 28%,rgba(35,196,54,.10),transparent 32%)}
.hero-inner{min-height:650px;display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:50px;position:relative;z-index:1}
.kicker{font-size:12px;text-transform:uppercase;letter-spacing:.16em;font-weight:700;color:var(--green)}
.hero h1{font-family:Georgia,'Times New Roman',serif;font-size:clamp(52px,6vw,84px);line-height:.98;letter-spacing:-.035em;margin:16px 0 22px;font-weight:500}
.hero p{font-size:18px;max-width:610px;color:#d8e0e7}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:32px}
.btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:2px;font-size:12px;letter-spacing:.08em;font-weight:800;text-transform:uppercase;border:1px solid transparent}
.btn-green{background:var(--green);color:#06150a}
.btn-ghost{border-color:rgba(255,255,255,.55);color:#fff}
.hero-product{position:relative;height:500px;display:grid;place-items:center}
.hero-product img{max-height:430px;max-width:100%;object-fit:contain;filter:drop-shadow(0 28px 34px rgba(0,0,0,.28))}
.energy-line{position:absolute;left:4%;right:6%;top:52%;height:1px;background:rgba(255,255,255,.12)}
.energy-line:after{content:"";position:absolute;top:-2px;left:0;width:90px;height:5px;background:linear-gradient(90deg,transparent,var(--green),transparent);animation:flow 4.5s linear infinite}
@keyframes flow{from{left:-80px}to{left:100%}}

/* GENERAL */
.section{padding:92px 0}
.section.soft{background:var(--soft)}
.section.navy{background:var(--navy);color:#fff}
.section-head{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:end;margin-bottom:42px}
.section-head h2{font-family:Georgia,'Times New Roman',serif;font-size:clamp(34px,4vw,56px);line-height:1.05;margin:7px 0 0;font-weight:500;letter-spacing:-.03em}
.section-head p{margin:0;color:var(--muted);font-size:16px}
.navy .section-head p{color:#d5dee7}
.overline{color:var(--green);font-size:11px;text-transform:uppercase;letter-spacing:.15em;font-weight:800}

.sensor-gateways{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.gateway{min-height:360px;position:relative;overflow:hidden;border:1px solid var(--line);background:#fff;padding:36px}
.gateway h3{font-family:Georgia,'Times New Roman',serif;font-size:34px;margin:0 0 8px;font-weight:500}
.gateway p{color:var(--muted);max-width:420px}
.gateway img{position:absolute;right:-10px;bottom:-20px;width:55%;height:70%;object-fit:contain;object-position:right bottom}
.text-link{display:inline-block;margin-top:24px;font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--navy)}
.text-link:after{content:"  →";color:var(--green)}

.showcase{display:grid;grid-template-columns:1.15fr .85fr .85fr;grid-template-rows:270px 270px;gap:16px}
.showcase-card{background:#fff;border:1px solid var(--line);position:relative;overflow:hidden;padding:22px}
.showcase-card.big{grid-row:1/3}
.showcase-card img{width:100%;height:100%;object-fit:contain}
.showcase-label{position:absolute;left:20px;bottom:18px;background:rgba(255,255,255,.92);padding:8px 10px;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}

.application-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#dbe1e6;border:1px solid #dbe1e6}
.app{background:#fff;padding:34px;min-height:230px}
.app small{color:var(--green);font-weight:800;letter-spacing:.08em}
.app h3{font-family:Georgia,'Times New Roman',serif;font-size:25px;font-weight:500;margin:42px 0 8px}
.app p{color:var(--muted);font-size:14px}

.custom{display:grid;grid-template-columns:1.2fr .8fr;gap:50px;align-items:center}
.custom h2{font-family:Georgia,'Times New Roman',serif;font-size:50px;font-weight:500;line-height:1.03;margin:8px 0 18px}
.custom p{color:#d8e0e7}
.custom-visual{height:320px;border:1px solid rgba(255,255,255,.16);display:grid;place-items:center;position:relative;overflow:hidden}
.custom-visual img{max-height:270px;object-fit:contain}

.global-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:28px}
.world-panel{min-height:360px;background:#0e1d32;color:#fff;padding:38px;position:relative;overflow:hidden}
.world-panel:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;border:1px solid rgba(255,255,255,.08);right:-70px;top:-70px;box-shadow:0 0 0 60px rgba(255,255,255,.018),0 0 0 120px rgba(255,255,255,.012)}
.world-panel h3{font-family:Georgia,'Times New Roman',serif;font-size:36px;font-weight:500;max-width:470px}
.presence-list{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:56px}
.presence-list div{padding:16px;border-top:1px solid rgba(255,255,255,.16);font-size:13px}
.about-panel{background:#fff;border:1px solid var(--line);padding:38px}
.about-panel h3{font-family:Georgia,'Times New Roman',serif;font-size:34px;font-weight:500;margin-top:5px}
.about-panel p{color:var(--muted)}

.pillars{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.pillar{border-top:3px solid var(--green);padding:28px;border-left:1px solid var(--line);border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.pillar h3{font-family:Georgia,'Times New Roman',serif;font-size:27px;font-weight:500;margin:20px 0 8px}
.pillar p{color:var(--muted)}

.final-cta{display:flex;justify-content:space-between;align-items:center;gap:30px}
.final-cta h2{font-family:Georgia,'Times New Roman',serif;font-size:48px;font-weight:500;margin:0;line-height:1.05}

/* PAGES */
.page-hero{background:var(--navy);color:#fff;padding:78px 0 70px}
.page-hero h1{font-family:Georgia,'Times New Roman',serif;font-weight:500;font-size:58px;letter-spacing:-.03em;margin:10px 0 12px}
.page-hero p{color:#d7e0e8;max-width:760px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.card{border:1px solid var(--line);background:#fff;padding:30px}
.card h3{font-family:Georgia,'Times New Roman',serif;font-size:27px;font-weight:500;margin:0 0 10px}
.card p{color:var(--muted)}
.support-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.support-block{border:1px solid var(--line);padding:28px}
.support-block h3{margin:0 0 15px}
.support-block a{display:block;padding:8px 0;color:var(--muted);border-top:1px solid #eef1f3}
.support-block a:hover{color:var(--navy)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-grid label{font-size:13px;font-weight:700;color:var(--navy)}
.form-grid input,.form-grid textarea,.form-grid select{width:100%;border:1px solid #cad3da;padding:13px;margin-top:6px}
.form-grid textarea{min-height:140px}
.form-grid .full{grid-column:1/-1}

/* FOOTER */
.footer{background:#0d1c30;color:#fff;padding:68px 0 28px}
.footer-grid{display:grid;grid-template-columns:1.8fr repeat(4,1fr);gap:34px}
.footer-logo{width:220px;margin-bottom:18px}
.footer p,.footer a{color:#b8c6d2;font-size:13px}
.footer h4{font-size:12px;letter-spacing:.08em;text-transform:uppercase;margin:0 0 16px}
.footer a{display:block;margin:7px 0}
.footer-bottom{margin-top:42px;padding-top:22px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#91a4b4}

/* SEARCH + MOBILE */
.search-panel{display:none;position:fixed;inset:0;background:rgba(10,22,38,.92);z-index:100;align-items:flex-start;justify-content:center;padding-top:120px}
.search-panel.open{display:flex}
.search-box{width:min(720px,calc(100% - 36px));background:#fff;padding:30px}
.search-box input{width:100%;font-size:24px;border:0;border-bottom:1px solid var(--line);padding:12px 0;outline:none}
.search-close{float:right;background:none;border:0;font-size:22px}

@media(max-width:900px){
  .utility-bar{display:none}
  .main-header-inner{height:72px}
  .brand{width:190px}
  .main-nav{display:none;position:absolute;left:0;right:0;top:72px;background:#fff;border-bottom:1px solid var(--line);padding:18px 24px;flex-direction:column;align-items:flex-start;gap:0}
  .main-nav.open{display:flex}
  .main-nav>a,.dropdown-toggle{padding:11px 0}
  .dropdown:hover .mega{display:none}
  .mobile-btn{display:block}
  .hero-inner{grid-template-columns:1fr;min-height:auto;padding:80px 0}
  .hero-product{height:350px}
  .section-head,.custom,.global-grid{grid-template-columns:1fr}
  .sensor-gateways{grid-template-columns:1fr}
  .showcase{grid-template-columns:1fr 1fr;grid-template-rows:260px 260px 260px}
  .showcase-card.big{grid-row:auto;grid-column:1/3}
  .application-grid,.grid-3,.pillars{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1.5fr 1fr 1fr}
}
@media(max-width:600px){
  .container{width:min(var(--max),calc(100% - 28px))}
  .hero h1{font-size:48px}
  .section{padding:66px 0}
  .section-head{display:block}
  .section-head p{margin-top:14px}
  .showcase{display:block}
  .showcase-card{height:260px;margin-bottom:14px}
  .application-grid,.grid-3,.pillars,.support-list,.form-grid,.footer-grid{grid-template-columns:1fr}
  .form-grid .full{grid-column:auto}
  .final-cta{display:block}
  .final-cta .hero-actions{margin-top:24px}
}
