:root{
--bg:#07110f;--surface:#0d1b18;--text:#eef7f3;--muted:#a9bbb5;
--accent:#54e0a5;--border:rgba(255,255,255,.1);--max:1180px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}
body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,sans-serif;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}.container{width:min(92%,var(--max));margin:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(7,17,15,.9);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.nav{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{font-weight:800;font-size:20px}.brand span{display:block;font-size:10px;letter-spacing:2px;color:var(--muted)}
.nav-links{display:flex;gap:20px;align-items:center;font-size:14px}.nav-links a:hover{color:var(--accent)}
.nav-cta,.btn{background:var(--accent);color:#03110b;padding:11px 18px;border-radius:6px;font-weight:700}
.nav-toggle{display:none;background:none;border:0;color:white;font-size:25px}
section{padding:100px 0}.hero{min-height:calc(100vh - 72px);display:grid;place-items:center;position:relative;overflow:hidden}
.hero-inner{position:relative;z-index:2;max-width:780px;padding:80px 0}.eyebrow{color:var(--accent);font-size:13px;letter-spacing:3px;font-weight:700}
h1{font-size:clamp(48px,7vw,88px);line-height:1.02;margin:18px 0}h2{font-size:clamp(34px,5vw,58px);line-height:1.1;margin:12px 0 24px}
h3{font-size:22px}.lead{font-size:19px;color:var(--muted);max-width:760px}.buttons{display:flex;gap:12px;flex-wrap:wrap;margin-top:30px}
.btn.secondary{background:transparent;color:var(--text);border:1px solid var(--border)}
.grid{display:grid;gap:22px}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}
.card{background:var(--surface);border:1px solid var(--border);padding:28px;border-radius:12px}
.muted{color:var(--muted)}.section-head{max-width:800px;margin-bottom:45px}
.footer{padding:70px 0 20px;border-top:1px solid var(--border);color:var(--muted)}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1.5fr;gap:50px}.footer a{display:block;margin:8px 0}.copyright{border-top:1px solid var(--border);margin-top:45px;padding-top:20px;font-size:13px}
.responsive-image { display: block; max-width: 100%;height: auto;}
/* =========================================================
   HEADER
   ========================================================= */
.site-header {position: fixed;top: 0; left: 0;right: 0;width: 100%; height: 78px; z-index: 9999;background: #ffffff; border-bottom: 1px solid #e7ebe9; transition: box-shadow 0.25s ease, border-color 0.25s ease;}
.site-header.scrolled {background: #ffffff;border-bottom-color: #dfe6e2; box-shadow:0 8px 25px rgba(0, 0, 0, 0.07);}
/* =========================================================
   HEADER CONTAINER
   ========================================================= */
.header-container {width: 92%;max-width: 1240px;height: 78px;margin: 0 auto;display: flex;align-items: center;justify-content: space-between; position: relative;}
/* =========================================================
   BRAND AREA
   ========================================================= */
.header-brand {width: 190px;height: 78px;display: flex;align-items: center;flex-shrink: 0;overflow: hidden;}
.brand-link {display: flex;align-items: center;width: 100%;height: 100%;text-decoration: none;}
/*
|--------------------------------------------------------------------------
| Logo
|--------------------------------------------------------------------------
|
| Original logo is vertically tall.
| We keep it inside a controlled header area.
|
*/
.site-logo {display: block;width: 185px;height: 72px;max-width: 100%;object-fit: contain;object-position: center;}
/* =========================================================
   NAVIGATION
   ========================================================= */
.main-navigation {display: flex;align-items: center;justify-content: flex-end;gap: 29px;height: 100%;}
.nav-link {position: relative;display: inline-flex;align-items: center;gap: 5px;height: 100%;padding: 0;color: #35413c;font-size: 15px;font-weight: 600;line-height: 1;text-decoration: none;white-space: nowrap;transition:color 0.2s ease;}
.nav-link::after {content: ""; position: absolute;left: 0;bottom: 21px;width: 0;height: 2px;background: #16875b;transition:width 0.2s ease;}
.nav-link:hover {color: #16875b;}
.nav-link:hover::after {width: 100%;}
.nav-link.active {color: #16875b;}
.nav-link.active::after {width: 100%;}
/* =========================================================
   ENQUIRE BUTTON
   ========================================================= */
.nav-enquire {height: auto;min-height: 40px;padding: 0 17px;border: 1px solid #16875b;border-radius: 3px;color: #16875b;justify-content: center;transition:
        background 0.2s ease,
        color 0.2s ease,
        transform 0.2s ease;
}
.nav-enquire::after { display: none;}
.nav-enquire:hover {color: #ffffff;background: #16875b;transform: translateY(-1px);}
.nav-arrow {font-size: 14px;line-height: 1;transition:transform 0.2s ease;}
.nav-enquire:hover .nav-arrow {transform: translate(2px, -2px);}
/* =========================================================
   MOBILE MENU BUTTON
   ========================================================= */
.mobile-menu-toggle {display: none;width: 42px;height: 42px;padding: 0;margin: 0;border: 1px solid #dce3df;border-radius: 4px;background: #ffffff;cursor: pointer;align-items: center;justify-content: center;flex-direction: column;gap: 5px;}
.mobile-menu-toggle span {display: block;width: 19px;height: 2px;background: #1d2923;transition:transform 0.2s ease,opacity 0.2s ease;}
/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 1100px) {
    .main-navigation {gap: 20px;}
    .nav-link {font-size: 13px; }
    .header-brand {width: 165px; }
    .site-logo { width: 160px;  height: 68px;   }
}
/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 850px) {.site-header {height: 68px;}
   .header-container {width: 90%;height: 68px;}
    .header-brand {width: 145px;height: 68px;}
    .site-logo {width: 145px;height: 62px;}
    /* Mobile button */
    .mobile-menu-toggle {display: flex;}
    /* Mobile navigation */
    .main-navigation {
        position: absolute;
        top: 68px;
        left: 0;
        width: 100%;
        height: auto;
        max-height: calc(100vh - 68px);
        overflow-y: auto;
        display: none;
        flex-direction: column;
        align-items: stretch;
        justify-content: flex-start;
        gap: 0;
        padding: 10px 5% 22px;
        background: #ffffff;
        border-bottom: 1px solid #e4eae6;
        box-shadow:
            0 15px 35px rgba(0, 0, 0, 0.08);
    }
.main-navigation.open {display: flex;}
.nav-link {width: 100%;height: auto;min-height: 48px;padding: 14px 0;border-bottom: 1px solid #edf1ef;font-size: 16px;color: #28352f;}
.nav-link::after {display: none;}
.nav-link.active {color: #16875b;}
    /* Enquire button */
.nav-enquire {width: 100%;min-height: 44px;margin-top: 15px;border: 1px solid #16875b;justify-content: center;}
}
/* =========================================================
   SMALL MOBILE
   ========================================================= */
@media (max-width: 480px) {.header-container {width: 88%;}
    .header-brand {width: 130px;}
   .site-logo {width: 130px;height: 58px;}
   .mobile-menu-toggle {width: 40px;height: 40px;}
}
/* =========================================================
   APURVA ENERGY
   REVSLIDER STYLE HERO
   ========================================================= */
/* =========================================================
   HERO WRAPPER
   ========================================================= */
.hero-slider {position: relative;width: 100%;min-height: calc(100vh - 78px);overflow: hidden;background: #03111d;color: #ffffff;}
/* =========================================================
   SLIDES
   ========================================================= */
.hero-slides {position: relative;width: 100%;min-height: calc(100vh - 78px);}
.hero-slide {position: absolute;inset: 0;width: 100%;min-height: calc(100vh - 78px);opacity: 0;visibility: hidden;pointer-events: none;transition:opacity 0.8s ease,visibility 0.8s ease;}
.hero-slide.active {opacity: 1;    visibility: visible;    pointer-events: auto;    z-index: 2;}
/* =========================================================
   BACKGROUND
   ========================================================= */
.hero-slide-bg {    position: absolute;    inset: 0;    width: 100%;    height: 100%;    background-position: center;    background-repeat: no-repeat;    background-size: cover;    transform: scale(1.04);    transition:        transform 7s ease;}
.hero-slide.active .hero-slide-bg {transform: scale(1);}
/* =========================================================
   DARK OVERLAY
   ========================================================= */
.hero-overlay { position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, rgba(2, 15, 30, 0.96) 0%, rgba(2, 15, 30, 0.88) 32%, rgba(2, 15, 30, 0.58) 60%, rgba(2, 15, 30, 0.72) 100%       );}
/* Additional bottom fade */
.hero-overlay::after {content: "";position: absolute;inset: auto 0 0 0;height: 35%;background:linear-gradient( to top,rgba(2, 15, 30, 0.75),transparent);}
/* =========================================================
   HERO CONTAINER
   ========================================================= */
.hero-container {position: relative;z-index: 3;width: 92%;max-width: 1240px;min-height: calc(100vh - 78px);margin: 0 auto;display: flex;align-items: center;}

/* =========================================================
   CONTENT
   ========================================================= */
.hero-content {width: min(100%, 850px);padding-top: 35px;padding-bottom: 100px;}
/* =========================================================
   KICKER
   ========================================================= */
.hero-kicker {display: inline-flex;align-items: center;gap: 11px;padding: 10px 16px;margin-bottom: 28px;border: 1px solid rgba(255, 255, 255, 0.25);background: rgba(0, 0, 0, 0.08);color: #ffffff;font-size: 13px;font-weight: 700;letter-spacing: 2.2px;line-height: 1;text-transform: uppercase;}
.kicker-dot {

    width: 6px;

    height: 6px;

    flex: 0 0 6px;

    border-radius: 50%;

    background: #00c978;

    box-shadow:
        0 0 12px rgba(0, 201, 120, 0.7);
}


/* =========================================================
   TITLE
   ========================================================= */

.hero-title {

    max-width: 850px;

    margin: 0 0 22px;

    color: #ffffff;

    font-size: clamp(48px, 5.2vw, 76px);

    font-weight: 800;

    line-height: 0.98;

    letter-spacing: -2.8px;

    text-transform: uppercase;
}


.hero-title span {

    display: block;
}


/* =========================================================
   GREEN HIGHLIGHT
   ========================================================= */

.hero-highlight {

    margin: 0 0 14px;

    color: #00c978;

    font-size: clamp(17px, 1.5vw, 22px);

    font-weight: 700;

    line-height: 1.45;
}


/* =========================================================
   DESCRIPTION
   ========================================================= */

.hero-description {

    max-width: 680px;

    margin: 0;

    color: rgba(255, 255, 255, 0.82);

    font-size: 18px;

    font-weight: 400;

    line-height: 1.65;
}


/* =========================================================
   BUTTONS
   ========================================================= */

.hero-actions {

    display: flex;

    align-items: center;

    gap: 12px;

    margin-top: 35px;
}


.hero-btn {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 10px;

    min-height: 48px;

    padding: 0 23px;

    border: 1px solid transparent;

    border-radius: 2px;

    font-size: 13px;

    font-weight: 700;

    text-decoration: none;

    transition:
        background 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease,
        transform 0.2s ease;
}


.hero-btn span {

    font-size: 16px;
}


.hero-btn:hover {

    transform: translateY(-2px);
}


/* Primary */

.hero-btn-primary {

    background: #078fd3;

    border-color: #078fd3;

    color: #ffffff;
}


.hero-btn-primary:hover {

    background: #00a6ed;

    border-color: #00a6ed;

    color: #ffffff;
}


/* Outline */

.hero-btn-outline {

    background: transparent;

    border-color: rgba(255, 255, 255, 0.35);

    color: #ffffff;
}


.hero-btn-outline:hover {

    background: #ffffff;

    border-color: #ffffff;

    color: #061a2b;
}


/* =========================================================
   SLIDE TEXT ANIMATION
   ========================================================= */
.hero-animate {opacity: 0;transform: translateY(30px);transition:opacity 0.7s ease,transform 0.7s ease;}
.hero-slide.active .hero-animate { opacity: 1;transform: translateY(0);}
.hero-slide.active .hero-kicker {transition-delay: 0.15s;}
.hero-slide.active .hero-title {transition-delay: 0.28s;}
.hero-slide.active .hero-highlight {transition-delay: 0.40s;}
.hero-slide.active .hero-description {transition-delay: 0.52s;}
.hero-slide.active .hero-actions {transition-delay: 0.64s;}


/* =========================================================
   NAVIGATION
   ========================================================= */

.hero-navigation {position: absolute;z-index: 10;right: 5%;bottom: 85px;display: flex;align-items: center;gap: 14px;}
.hero-arrow {width: 42px;height: 42px;display: flex;align-items: center;justify-content: center;border: 1px solid rgba(255, 255, 255, 0.30);border-radius: 50%;background: rgba(0, 0, 0, 0.15);color: #ffffff;cursor: pointer;font-size: 17px;transition:background 0.2s ease,border-color 0.2s ease;}
.hero-arrow:hover {background: #00c978;border-color: #00c978;}
.hero-counter {display: flex;align-items: center;gap: 9px;color: #ffffff;font-size: 13px;font-weight: 700;letter-spacing: 1px;}
.hero-counter-line {width: 35px; height: 1px; background: rgba(255, 255, 255, 0.45);}
/* =========================================================
   PROGRESS
   ========================================================= */

.hero-progress {position: absolute;z-index: 10;left: 0;bottom: 0;width: 100%;height: 3px;background: rgba(255, 255, 255, 0.15);}
.hero-progress-bar {display: block;width: 0;height: 100%;background: #00c978;}
/* =========================================================
   DOTS
   ========================================================= */
.hero-dots { position: absolute;z-index: 10;left: 5%;bottom: 55px;display: flex;align-items: center;gap: 8px;}
.hero-dot { width: 25px; height: 3px; padding: 0; border: 0; background: rgba(255, 255, 255, 0.30);cursor: pointer;transition: width 0.25s ease, background 0.25s ease;}
.hero-dot.active {    width: 50px;    background: #00c978;}
/* =========================================================
   TABLET
   ========================================================= */
@media (max-width: 1000px) {    .hero-title {        font-size: clamp(44px, 6vw, 65px);    }
    .hero-content {        width: 75%;    }
    .hero-navigation {        right: 4%;    }

}
/* =========================================================
   MOBILE
   ========================================================= */
@media (max-width: 850px) {.hero-slider {min-height: calc(100svh - 68px); }
    .hero-slides {min-height: calc(100svh - 68px);}
    .hero-slide {min-height: calc(100svh - 68px);}
    .hero-container { width: 90%;min-height: calc(100svh - 68px); align-items: center;}
    .hero-content {width: 100%;padding-top: 35px; padding-bottom: 110px;}
    .hero-kicker { padding: 9px 12px;margin-bottom: 22px;font-size: 11px;letter-spacing: 1.4px;   }
    .hero-title {max-width: 100%;margin-bottom: 18px;font-size: clamp(39px, 10vw, 56px);line-height: 1; letter-spacing: -1.8px;    }
    .hero-highlight {  font-size: 16px;    }
   .hero-description {font-size: 15px; line-height: 1.55;}
    .hero-actions {flex-wrap: wrap;  margin-top: 28px; }
    .hero-btn {min-height: 45px;padding: 0 17px;font-size: 12px;}
    .hero-navigation {right: 5%;bottom: 42px;}
    .hero-arrow {width: 36px;height: 36px; font-size: 15px;}
    .hero-dots {left: 5%; bottom: 60px;}
    .hero-overlay { background: linear-gradient( 90deg,rgba(2, 15, 30, 0.95) 0%,   rgba(2, 15, 30, 0.78) 60%, rgba(2, 15, 30, 0.68) 100%  );}
}
/* =========================================================
   SMALL MOBILE
   ========================================================= */

@media (max-width: 480px) {
    .hero-title {font-size: 39px; letter-spacing: -1.4px; }
    .hero-description { max-width: 330px;}
    .hero-actions {flex-direction: column;align-items: stretch;}
    .hero-btn {width: 100%;}
    .hero-navigation {display: none;}
    .hero-dots {bottom: 35px;}
}
/* =========================================================
   REDUCED MOTION
   ========================================================= */
@media (prefers-reduced-motion: reduce) {  .hero-slide,    .hero-slide-bg,    .hero-animate,    .hero-btn,    .hero-dot {transition: none !important;}}
/* =========================================
   ABOUT / WHO WE ARE SECTION
========================================= */
.about-section { background: #ffffff;padding: 110px 0 100px; overflow: hidden;}
.about-row {  min-height: 500px;}
.about-grid {display: grid;grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);align-items: center;gap: 64px;}
.about-content {    max-width: 600px;}
.section-label { display: inline-block; margin-bottom: 18px;font-size: 13px; font-weight: 700; letter-spacing: 4px;text-transform: uppercase; color: #0087d8;}
.about-title {    margin: 0 0 28px;color: #071b3a; font-size: 42px;line-height: 1.15;font-weight: 700;letter-spacing: -1.2px;}
.about-content p { margin-bottom: 20px; color: #536987;font-size: 16px; line-height: 1.65;font-weight: 400;}
/* =========================================
   IMAGE
========================================= */
.about-image-wrap {position: relative;margin-left: 35px;padding: 0 0 15px 15px;}
.about-image { position: relative;z-index: 2;display: block;width: 100%;height: 414px;object-fit: cover;border-radius: 2px;box-shadow: 0 20px 45px rgba(8, 27, 58, 0.12);}
/* Green decorative corner */
.about-image-wrap::before {content: ""; position: absolute;left: 0;bottom: 0;width: 96px;height: 96px;border-left: 2px solid #00b86b;border-bottom: 2px solid #00b86b;z-index: 1;}
/* Small extra green line */
.about-image-line {position: absolute;left: 0;bottom: 0;width: 95px;height: 2px;background: #00b86b;z-index: 3;}
/* =========================================
   LARGE DESKTOP
========================================= */
@media (min-width: 1200px) {.about-section {padding-top: 115px;padding-bottom: 110px;}
    .about-title {font-size: 42px;}}
/* =========================================
   TABLET
========================================= */
@media (max-width: 767px) {.about-section {padding: 80px 0;}
    .about-grid {grid-template-columns: 1fr;gap: 0;}
    .about-content {max-width: 100%;margin-bottom: 50px;}
    .about-title {font-size: 36px;}
    .about-image-wrap {margin-left: 0;}
    .about-image {height: 420px;}}
@media (min-width: 601px) and (max-width: 991px) {
    .about-grid {grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);gap: 32px;}
    .about-content {margin-bottom: 0;}
    .about-title {font-size: 34px;}
    .about-image-wrap {margin-left: 0;}
    .about-image {height: 360px;}
}
/* =========================================
   MOBILE
========================================= */
@media (max-width: 767px) {
    .about-section {        padding: 65px 0;    }
    .section-label {font-size: 12px;letter-spacing: 3px;margin-bottom: 14px;}
    .about-title {font-size: 30px;line-height: 1.2;letter-spacing: -0.5px;margin-bottom: 22px;}
    .about-content p {font-size: 15px;line-height: 1.65;margin-bottom: 17px; }
    .about-content {margin-bottom: 35px;}
   .about-image-wrap {margin-left: 0;padding-left: 10px;padding-bottom: 10px;}
    .about-image {
        height: 300px;
        width: 100%;
    }
    .about-image-wrap::before {        width: 65px;        height: 65px;    }
    .about-image-line {        width: 65px;    }}
/* =========================================
   SMALL MOBILE
========================================= */
@media (max-width: 480px) {
    .about-section {padding: 55px 0;}
    .about-title {font-size: 27px;
    .about-image {height: 250px;}
}
}
/* =========================================
   WHY HYDROGEN - VALUE PROPOSITION
========================================= */
.why-hydrogen-section {background: #f4f6f8;padding: 105px 0 115px;}
.why-hydrogen-heading {max-width: 820px;margin-bottom: 50px;}
.section-eyebrow {display: block;margin-bottom: 18px;color: #0088e8;font-size: 12px;font-weight: 700;letter-spacing: 3px;line-height: 1.2;}
.why-hydrogen-heading h2 {margin: 0 0 20px;color: #001d45;font-size: 36px;font-weight: 500;line-height: 1.2;}
.why-hydrogen-heading p {margin: 0;color: #45617f;font-size: 18px;line-height: 1.55;}
/* =========================================
   CARDS GRID
========================================= */
.why-hydrogen-cards {display: grid !important;grid-template-columns: repeat(5, minmax(0, 1fr));width: 100%;gap: 20px;margin: 0;padding: 0;}
/* Remove Bootstrap column behaviour */
.why-hydrogen-cards > div {width: auto !important;max-width: none !important; flex: none !important;margin: 0; padding: 0 !important;}
/* =========================================
   FEATURE CARD
========================================= */
.hydrogen-feature-card {position: relative;height: 292px;min-height: 292px;padding:10px 10px;background: #ffffff;border: 1px solid #d9e0e7;overflow: hidden;transition:transform 0.3s ease,border-color 0.3s ease,box-shadow 0.3s ease;}
/* Bottom hover line */
.hydrogen-feature-card::after {content: "";position: absolute;left: 0;bottom: 0;width: 0;height: 3px;background: #0088e8;transition: width 0.3s ease;}
/* =========================================
   ICON
========================================= */
.feature-icon {width: 30px;height: 30px;margin-bottom: 25px;color: #0088e8;}
.feature-icon svg {display: block;width: 100%;height: 100%;fill: none;stroke: currentColor;stroke-width: 1.5;stroke-linecap: round;stroke-linejoin: round;}
.green-icon {color: #00b86b;}
/* =========================================
   CARD CONTENT
========================================= */
.hydrogen-feature-card h3 {margin: 0 0 14px;color: #001d45;font-size: 16px;font-weight: 600;line-height: 1.35;}
.hydrogen-feature-card p {margin: 0;color: #45617f;font-size: 15px;line-height: 1.55;}
/* =========================================
   HOVER
========================================= */
.hydrogen-feature-card:hover {border-color: #0088e8;transform: translateY(-4px);box-shadow: 0 18px 35px rgba(0, 29, 69, 0.12);}
.hydrogen-feature-card:hover::after {width: 100%;}

/* =========================================
   SOLUTIONS SECTION
========================================= */

.solutions-section {
    padding: 100px 0;
    background: #ffffff;
}

.solutions-heading {
    max-width: 850px;
    margin-bottom: 60px;
}

.section-label {
    display: block;
    margin-bottom: 14px;

    color: #0088e8;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 4px;
    text-transform: uppercase;
}

.solutions-heading h2 {
    margin: 0 0 14px;

    color: #061a3a;
    font-size: 38px;
    line-height: 1.2;
    font-weight: 600;
}

.solutions-heading p {
    max-width: 760px;
    margin: 0;

    color: #526b8d;
    font-size: 15px;
    line-height: 1.7;
}


/* =========================================
   SOLUTION ROW
========================================= */

.solution-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    gap: 65px;

    margin-bottom: 90px;
}

.solution-row:last-child {
    margin-bottom: 0;
}

.solution-row-reverse .solution-content {
    order: 2;
}

.solution-row-reverse .solution-image {
    order: 1;
}


/* =========================================
   CONTENT
========================================= */

.solution-content {
    padding: 10px 0;
}

.solution-number {
    display: block;
    margin-bottom: 14px;

    color: #0088e8;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3px;
    text-transform: uppercase;
}

.solution-content h3 {
    margin: 0 0 14px;

    color: #061a3a;
    font-size: 25px;
    line-height: 1.25;
    font-weight: 600;
}

.solution-content > p {
    max-width: 600px;
    margin: 0 0 20px;

    color: #526b8d;
    font-size: 14px;
    line-height: 1.7;
}


/* =========================================
   FEATURES
========================================= */

.solution-features {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px 35px;

    margin: 20px 0 25px;
}

.solution-features ul {
    margin: 0;
    padding: 0;

    list-style: none;
}

.solution-features li {
    position: relative;

    margin-bottom: 9px;
    padding-left: 18px;

    color: #19385d;
    font-size: 12px;
    line-height: 1.5;
}

.solution-features li::before {
    content: "✓";

    position: absolute;
    left: 0;
    top: 0;

    color: #00b875;
    font-weight: 700;
}


/* =========================================
   BUTTON
========================================= */

.solution-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 40px;
    padding: 0 18px;

    border: 1px solid #d5deea;

    color: #061a3a;
    background: #ffffff;

    font-size: 13px;
    font-weight: 600;
    text-decoration: none;

    transition:
        color 0.3s ease,
        background 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease;
}

.solution-btn:hover {
    color: #ffffff;
    background: #0088e8;
    border-color: #0088e8;

    transform: translateY(-2px);
}


/* =========================================
   IMAGE
========================================= */

.solution-image {
    position: relative;
    overflow: hidden;
}

.solution-image img {
    display: block;

    width: 100%;
    height: 340px;

    object-fit: cover;

    box-shadow: 0 18px 40px rgba(6, 26, 58, 0.10);

    transition:
        transform 0.5s ease,
        box-shadow 0.5s ease;
}

.solution-image:hover img {
    transform: scale(1.025);

    box-shadow: 0 22px 45px rgba(6, 26, 58, 0.16);
}


/* =========================================
   STATS
========================================= */

.solution-stats {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;

    margin: 25px 0;
}

.solution-stat {
    min-height: 70px;
    padding: 12px;

    border: 1px solid #d9e1ea;
    background: #f8fafc;
}

.solution-stat strong {
    display: block;

    margin-bottom: 5px;

    color: #061a3a;
    font-size: 17px;
    font-weight: 600;
}

.solution-stat span {
    display: block;

    color: #627894;
    font-size: 11px;
    line-height: 1.3;
    letter-spacing: 0.8px;
}

/* =========================================
   TECHNOLOGY SECTION
========================================= */

.technology-section {
    position: relative;
    width: 100%;
    padding: 110px 0 120px;
    background-color: #06152e;
    color: #ffffff;
    overflow: hidden;
}


/* Background Grid */

.technology-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;

    background-image:
        linear-gradient(
            rgba(255, 255, 255, 0.055) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(255, 255, 255, 0.055) 1px,
            transparent 1px
        );

    background-size: 44px 44px;
}


/* Main Container */

.technology-container {
    position: relative;
    z-index: 2;

    width: 100%;
    max-width: 1260px;

    margin: 0 auto;
    padding: 0 30px;
}


/* =========================================
   HEADING
========================================= */

.technology-heading {
    max-width: 760px;
    margin: 0 auto 38px;
}

.technology-label {
    display: block;

    margin-bottom: 12px;

    color: #00d879;

    font-size: 13px;
    line-height: 1.4;

    font-weight: 700;

    letter-spacing: 3px;
    text-transform: uppercase;
}


.technology-heading h2 {
    margin: 0 0 14px;

    color: #ffffff;

    font-size: 30px;
    line-height: 1.2;

    font-weight: 700;

    letter-spacing: -0.5px;
}


.technology-heading p {
    max-width: 690px;

    margin: 0;

    color: #c5d2e5;

    font-size: 14px;
    line-height: 1.7;
}


/* =========================================
   TECHNOLOGY GRID
========================================= */

.technology-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    width: 100%;

    border: 1px solid rgba(159, 181, 211, 0.38);
}


/* =========================================
   TECHNOLOGY CARD
========================================= */

.technology-card {
    position: relative;

    min-height: 190px;

    padding: 28px 20px 24px;

    background: rgba(6, 21, 46, 0.72);

    border-right: 1px solid rgba(159, 181, 211, 0.38);
    border-bottom: 1px solid rgba(159, 181, 211, 0.38);

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease;
}


/* Remove right border from every 3rd card */

.technology-card:nth-child(3n) {
    border-right: none;
}


/* Remove bottom border from last row */

.technology-card:nth-child(n + 4) {
    border-bottom: none;
}


/* =========================================
   HOVER EFFECT
========================================= */

.technology-card:hover {
    background-color: #132a4b;

    border-color: rgba(159, 181, 211, 0.48);

    transform: translateY(0);
}


/* =========================================
   ICON
========================================= */

.technology-icon {
    width: 26px;
    height: 26px;

    margin-bottom: 18px;

    display: flex;
    align-items: center;
    justify-content: flex-start;

    color: #00dc82;
}


/* Simple technical icons */

.tech-icon {
    position: relative;

    display: block;

    width: 20px;
    height: 20px;
}


/* Two Wheeler */

.tech-two-wheel::before,
.tech-two-wheel::after {
    content: "";

    position: absolute;

    width: 6px;
    height: 6px;

    border: 1.5px solid #00dc82;

    border-radius: 50%;

    bottom: 1px;
}

.tech-two-wheel::before {
    left: 1px;
}

.tech-two-wheel::after {
    right: 1px;
}


/* Three Wheeler */

.tech-three-wheel::before {
    content: "";

    position: absolute;

    width: 17px;
    height: 9px;

    left: 1px;
    top: 5px;

    border: 1.5px solid #00dc82;

    border-radius: 3px;
}

.tech-three-wheel::after {
    content: "";

    position: absolute;

    width: 4px;
    height: 4px;

    border: 1.5px solid #00dc82;

    border-radius: 50%;

    right: 0;
    bottom: 1px;

    box-shadow: -11px 0 0 -1px #06152e,
                -11px 0 0 0 #00dc82;
}


/* Engine */

.tech-engine {
    border: 1.5px solid #00dc82;
    border-radius: 50%;
}

.tech-engine::before {
    content: "";

    position: absolute;

    inset: 4px;

    border: 1px solid #00dc82;
    border-radius: 50%;
}

.tech-engine::after {
    content: "";

    position: absolute;

    width: 4px;
    height: 4px;

    top: -3px;
    left: 7px;

    border-radius: 50%;

    background: #00dc82;
}


/* Transient */

.tech-transient::before {
    content: "";

    position: absolute;

    left: 0;
    top: 10px;

    width: 20px;
    height: 1.5px;

    background: #00dc82;

    transform: rotate(-8deg);
}

.tech-transient::after {
    content: "";

    position: absolute;

    left: 4px;
    top: 4px;

    width: 7px;
    height: 12px;

    border-left: 1.5px solid #00dc82;
    border-bottom: 1.5px solid #00dc82;

    transform: skewY(-30deg);
}


/* Combustion */

.tech-combustion {
    width: 15px;
    height: 19px;

    border-left: 1.5px solid #00dc82;
    border-right: 1.5px solid #00dc82;

    border-bottom: 1.5px solid #00dc82;

    clip-path: polygon(
        20% 0,
        80% 0,
        65% 40%,
        100% 100%,
        0 100%,
        35% 40%
    );
}


/* Emission */

.tech-emission::before {
    content: "";

    position: absolute;

    left: 1px;
    top: 5px;

    width: 7px;
    height: 10px;

    border-top: 1.5px solid #00dc82;
    border-bottom: 1.5px solid #00dc82;
}

.tech-emission::after {
    content: ")))";

    position: absolute;

    left: 7px;
    top: 0;

    color: #00dc82;

    font-size: 12px;
    letter-spacing: -3px;
}


/* =========================================
   CARD TYPOGRAPHY
========================================= */

.technology-card h3 {
    margin: 0 0 10px;

    color: #ffffff;

    font-size: 14px;
    line-height: 1.4;

    font-weight: 700;
}


.technology-card p {
    max-width: 230px;

    margin: 0;

    color: #b7c6dc;

    font-size: 13px;
    line-height: 1.65;
}


/* =========================================
   CARD HOVER CONTENT
========================================= */

.technology-card:hover .technology-icon {
    transform: translateY(-2px);
}

.technology-icon {
    transition: transform 0.3s ease;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 991px) {

    .technology-section {
        padding: 85px 0 90px;
    }

    .technology-container {
        padding: 0 24px;
    }

    .technology-heading {
        max-width: 700px;
        margin-bottom: 30px;
    }

    .technology-heading h2 {
        font-size: 28px;
    }

    .technology-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .technology-card:nth-child(3n) {
        border-right: 1px solid rgba(159, 181, 211, 0.38);
    }

    .technology-card:nth-child(2n) {
        border-right: none;
    }

    .technology-card:nth-child(n + 4) {
        border-bottom: 1px solid rgba(159, 181, 211, 0.38);
    }

    .technology-card:nth-child(n + 5) {
        border-bottom: none;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .technology-section {
        padding: 70px 0 75px;
    }

    .technology-container {
        padding: 0 18px;
    }

    .technology-heading {
        margin-bottom: 25px;
    }

    .technology-label {
        font-size: 11px;
        letter-spacing: 2.3px;
    }

    .technology-heading h2 {
        font-size: 25px;
        line-height: 1.25;
    }

    .technology-heading p {
        font-size: 13px;
        line-height: 1.65;
    }

    .technology-grid {
        grid-template-columns: 1fr;
    }

    .technology-card,
    .technology-card:nth-child(2n),
    .technology-card:nth-child(3n) {
        min-height: auto;

        padding: 25px 20px;

        border-right: none;
        border-bottom: 1px solid rgba(159, 181, 211, 0.38);
    }

    .technology-card:last-child {
        border-bottom: none;
    }

    .technology-card p {
        max-width: 100%;
        font-size: 12px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .technology-section {
        padding: 55px 0 60px;
    }

    .technology-container {
        padding: 0 15px;
    }

    .technology-heading h2 {
        font-size: 23px;
    }

    .technology-card {
        padding: 23px 18px;
    }

}

/* =========================================
   ENGINEERING & TESTING PROCESS
========================================= */

.process-section {
    width: 100%;
    background: #f4f6f8;
    padding: 92px 0 100px;
}

.process-container {
    width: 100%;
    max-width: 1220px;
    margin: 0 auto;
    padding: 0 20px;
    box-sizing: border-box;
}


/* =========================================
   HEADING
========================================= */

.process-heading {
    max-width: 1000px;
    margin-bottom: 48px;
}

.process-eyebrow {
    display: block;

    margin-bottom: 15px;

    color: #0087e8;

    font-size: 12px;
    font-weight: 700;

    line-height: 1.4;

    letter-spacing: 3.5px;

    text-transform: uppercase;
}

.process-heading h2 {
    margin: 0 0 17px;

    color: #061b3a;

    font-size: 36px;
    font-weight: 500;

    line-height: 1.2;

    letter-spacing: -0.8px;
}

.process-heading p {
    max-width: 850px;

    margin: 0;

    color: #536b89;

    font-size: 17px;

    line-height: 1.7;
}


/* =========================================
   GRID
========================================= */

.process-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 20px;
}


/* =========================================
   CARD
========================================= */

.process-card {
    position: relative;

    min-height: 180px;

    padding: 28px 24px 25px;

    background: #ffffff;

    border-top: 2px solid #d7e1eb;

    box-sizing: border-box;

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}


/* =========================================
   CARD TOP
========================================= */

.process-card-top {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;

    min-height: 43px;

    margin-bottom: 13px;
}


/* =========================================
   ICON
========================================= */

.process-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 25px;
    height: 25px;

    color: #0087e8;

    font-size: 20px;

    line-height: 1;
}

.process-icon i {
    line-height: 1;
}


/* =========================================
   NUMBER
========================================= */

.process-number {
    color: #dce3ec;

    font-size: 30px;
    font-weight: 700;

    line-height: 1;

    letter-spacing: -1px;

    transition: color 0.3s ease;
}


/* =========================================
   CONTENT
========================================= */

.process-card-content h3 {
    margin: 0 0 9px;

    color: #061b3a;

    font-size: 16px;
    font-weight: 600;

    line-height: 1.35;
}

.process-card-content p {
    max-width: 340px;

    margin: 0;

    color: #536b89;

    font-size: 15px;

    line-height: 1.6;
}


/* =========================================
   HOVER EFFECT
========================================= */

.process-card:hover {
    transform: translateY(-3px);

    border-top-color: #0087e8;

    box-shadow: 0 14px 32px rgba(6, 27, 58, 0.09);
}

.process-card:hover .process-number {
    color: #0087e8;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .process-section {
        padding: 75px 0 80px;
    }

    .process-heading {
        margin-bottom: 38px;
    }

    .process-heading h2 {
        font-size: 32px;
    }

    .process-heading p {
        font-size: 16px;
    }

    .process-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .process-section {
        padding: 60px 0 65px;
    }

    .process-container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .process-heading {
        margin-bottom: 32px;
    }

    .process-eyebrow {
        font-size: 12px;
        letter-spacing: 2.5px;
    }

    .process-heading h2 {
        font-size: 28px;
        line-height: 1.25;
    }

    .process-heading p {
        font-size: 15px;
        line-height: 1.65;
    }

    .process-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .process-card {
        min-height: 175px;
        padding: 24px 20px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .process-section {
        padding: 50px 0 55px;
    }

    .process-heading h2 {
        font-size: 25px;
    }

    .process-card {
        min-height: auto;
        padding: 22px 18px;
    }

    .process-number {
        font-size: 27px;
    }

    .process-card-content h3 {
        font-size: 16px;
    }

    .process-card-content p {
        font-size: 14px;
    }

}

/* =========================================
   APPLICATIONS SECTION
========================================= */

.applications-section {
    background: #ffffff;
    padding: 95px 0 105px;
    width: 100%;
}

.applications-section .container {
    width: 100%;
    max-width: 1220px;
    margin: 0 auto;
    padding-left: 20px;
    padding-right: 20px;
}


/* -----------------------------------------
   SECTION HEADING
----------------------------------------- */

.applications-heading {
    max-width: 850px;
    margin-bottom: 48px;
}

.applications-heading .section-eyebrow {
    display: block;
    margin-bottom: 14px;

    color: #0087e8;

    font-size: 12px;
    font-weight: 700;

    letter-spacing: 4px;
    line-height: 1.4;

    text-transform: uppercase;
}

.applications-heading h2 {
    margin: 0 0 18px;

    color: #061b3a;

    font-size: 36px;
    font-weight: 500;

    line-height: 1.2;
    letter-spacing: -0.8px;
}

.applications-heading p {
    max-width: 820px;

    margin: 0;

    color: #536b89;

    font-size: 17px;
    line-height: 1.7;
}


/* -----------------------------------------
   APPLICATION GRID
----------------------------------------- */

.applications-grid {
    display: grid;

    grid-template-columns: repeat(3, 1fr);

    gap: 20px;
}


/* -----------------------------------------
   APPLICATION CARD
----------------------------------------- */

.application-card {
    display: flex;
    align-items: flex-start;

    min-height: 126px;

    padding: 25px 24px;

    background: #ffffff;

    border: 1px solid #d9e1e9;

    transition:
        border-color 0.3s ease,
        box-shadow 0.3s ease,
        transform 0.3s ease;

    box-sizing: border-box;
}


/* -----------------------------------------
   ICON
----------------------------------------- */

.application-icon {
    flex: 0 0 44px;

    width: 44px;
    height: 44px;

    margin-right: 16px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #dff1ff;

    color: #0087e8;

    transition:
        background 0.3s ease,
        color 0.3s ease;
}

.application-icon i {
    font-size: 17px;
    line-height: 1;
}


/* -----------------------------------------
   CONTENT
----------------------------------------- */

.application-content {
    flex: 1;
}

.application-content h3 {
    margin: 3px 0 8px;

    color: #061b3a;

    font-size: 17px;
    font-weight: 600;

    line-height: 1.3;
}

.application-content p {
    margin: 0;

    color: #536b89;

    font-size: 15px;
    line-height: 1.55;
}


/* -----------------------------------------
   HOVER EFFECT
   Same effect for every card
----------------------------------------- */

.application-card:hover {
    border-color: #0087e8;

    box-shadow: 0 15px 35px rgba(7, 45, 85, 0.10);

    transform: translateY(-2px);
}

.application-card:hover .application-icon {
    background: #0087e8;
    color: #ffffff;
}


/* -----------------------------------------
   KEYBOARD ACCESSIBILITY
----------------------------------------- */

.application-card:focus-within {
    border-color: #0087e8;
    box-shadow: 0 15px 35px rgba(7, 45, 85, 0.10);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 991px) {

    .applications-section {
        padding: 75px 0 85px;
    }

    .applications-heading {
        margin-bottom: 38px;
    }

    .applications-heading h2 {
        font-size: 32px;
    }

    .applications-heading p {
        font-size: 16px;
    }

    .applications-grid {
        grid-template-columns: repeat(2, 1fr);
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .applications-section {
        padding: 60px 0 65px;
    }

    .applications-section .container {
        padding-left: 18px;
        padding-right: 18px;
    }

    .applications-heading {
        margin-bottom: 32px;
    }

    .applications-heading .section-eyebrow {
        font-size: 12px;
        letter-spacing: 3px;
        margin-bottom: 12px;
    }

    .applications-heading h2 {
        font-size: 28px;
        line-height: 1.25;
        letter-spacing: -0.5px;
    }

    .applications-heading p {
        font-size: 15px;
        line-height: 1.65;
    }

    .applications-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .application-card {
        min-height: auto;
        padding: 22px 20px;
    }

}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .applications-section {
        padding: 50px 0 55px;
    }

    .applications-heading h2 {
        font-size: 25px;
    }

    .application-card {
        padding: 20px 17px;
    }

    .application-icon {
        flex: 0 0 40px;

        width: 40px;
        height: 40px;

        margin-right: 13px;
    }

    .application-icon i {
        font-size: 15px;
    }

    .application-content h3 {
        font-size: 16px;
    }

    .application-content p {
        font-size: 14px;
    }

}

/* =========================================
   HYDROGEN ECOSYSTEM SECTION
========================================= */

.ecosystem-section {
    position: relative;
    width: 100%;
    background: #06152d;
    color: #ffffff;
    padding: 105px 0 110px;
    overflow: hidden;
}

/* Subtle technical grid */
.ecosystem-section::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;

    background-image:
        linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);

    background-size: 32px 32px;
}

.ecosystem-container {
    position: relative;
    z-index: 1;

    width: min(1215px, calc(100% - 48px));
    margin: 0 auto;
}


/* =========================================
   HEADING
========================================= */

.ecosystem-heading {
    max-width: 800px;
    margin-bottom: 52px;
}

.ecosystem-eyebrow {
    display: block;

    margin-bottom: 18px;

    color: #00c982;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 3px;
}

.ecosystem-heading h2 {
    margin: 0 0 18px;

    color: #ffffff;
    font-size: clamp(34px, 4vw, 48px);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -1.2px;
}

.ecosystem-heading p {
    max-width: 760px;

    margin: 0;

    color: #b8c8df;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.65;
}


/* =========================================
   FLOW
========================================= */

.ecosystem-flow {
    display: flex;
    align-items: center;
    width: 100%;
}


/* =========================================
   CARD
========================================= */

.ecosystem-item {
    flex: 1 1 0;
    min-width: 0;
}

.ecosystem-card {
    position: relative;

    min-height: 200px;
    padding: 27px 24px 25px;

    background: #132b4b;
    border: 1px solid #31506f;

    transition:
        background-color 0.3s ease,
        border-color 0.3s ease,
        transform 0.3s ease,
        box-shadow 0.3s ease;
}


/* Hover effect */
.ecosystem-card:hover {
    background: #193657;
    border-color: #00c982;

    transform: translateY(-7px);

    box-shadow:
        0 18px 40px rgba(0, 0, 0, 0.25),
        0 0 0 1px rgba(0, 201, 130, 0.12);
}


/* Green top line on hover */
.ecosystem-card::before {
    content: "";

    position: absolute;
    top: -1px;
    left: -1px;

    width: 0;
    height: 2px;

    background: #00c982;

    transition: width 0.35s ease;
}

.ecosystem-card:hover::before {
    width: calc(100% + 2px);
}


/* =========================================
   ICON
========================================= */

.ecosystem-icon {
    width: 25px;
    height: 25px;

    margin-bottom: 24px;

    color: #00d38a;
}

.ecosystem-icon svg {
    display: block;

    width: 100%;
    height: 100%;

    fill: none;
    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================
   CARD TEXT
========================================= */

.ecosystem-card h3 {
    margin: 0 0 11px;

    color: #ffffff;

    font-size: 17px;
    font-weight: 600;
    line-height: 1.3;
    text-transform: uppercase;
}

.ecosystem-card p {
    margin: 0;

    color: #b8c8df;

    font-size: 15px;
    line-height: 1.55;
}


/* =========================================
   ARROWS
========================================= */

.ecosystem-arrow {
    flex: 0 0 43px;

    display: flex;
    align-items: center;
    justify-content: center;

    color: #00c982;
}

.ecosystem-arrow span {
    display: block;

    font-size: 30px;
    font-weight: 300;
    line-height: 1;

    transition:
        transform 0.3s ease,
        color 0.3s ease;
}


/* Arrow responds when nearby card is hovered */
.ecosystem-item:hover + .ecosystem-arrow span {
    transform: translateX(5px);
    color: #ffffff;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 1100px) {

    .ecosystem-container {
        width: min(940px, calc(100% - 40px));
    }

    .ecosystem-flow {
        flex-wrap: wrap;
        gap: 16px;
    }

    .ecosystem-item {
        flex: 0 0 calc(50% - 8px);
    }

    .ecosystem-arrow {
        display: none;
    }

    .ecosystem-card {
        min-height: 210px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .ecosystem-section {
        padding: 70px 0 75px;
    }

    .ecosystem-container {
        width: calc(100% - 32px);
    }

    .ecosystem-heading {
        margin-bottom: 35px;
    }

    .ecosystem-eyebrow {
        font-size: 12px;
        letter-spacing: 2.5px;
        margin-bottom: 14px;
    }

    .ecosystem-heading h2 {
        font-size: 32px;
        line-height: 1.15;
        letter-spacing: -0.6px;
    }

    .ecosystem-heading p {
        font-size: 15px;
        line-height: 1.6;
    }

    .ecosystem-flow {
        display: flex;
        flex-direction: column;
        gap: 14px;
    }

    .ecosystem-item {
        width: 100%;
        flex: none;
    }

    .ecosystem-card {
        width: 100%;
        min-height: auto;

        padding: 25px 22px;
    }

    .ecosystem-card h3 {
        font-size: 16px;
    }

    .ecosystem-card p {
        font-size: 14px;
    }

    .ecosystem-icon {
        margin-bottom: 19px;
    }
}

/* =========================================
   PRODUCTS & TECHNOLOGIES
========================================= */

.products-section {
    width: 100%;
    background: #f4f6f8;
    padding: 105px 0 110px;
}

.products-container {
    width: min(1215px, calc(100% - 48px));
    margin: 0 auto;
}


/* =========================================
   HEADING
========================================= */

.products-heading {
    max-width: 850px;
    margin-bottom: 48px;
}

.products-eyebrow {
    display: block;
    margin-bottom: 16px;

    color: #007fe5;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 3px;
}

.products-heading h2 {
    margin: 0 0 17px;

    color: #061b3d;
    font-size: clamp(34px, 4vw, 42px);
    font-weight: 600;
    line-height: 1.15;
    letter-spacing: -1px;
}

.products-heading > p {
    max-width: 780px;
    margin: 0;

    color: #50698a;
    font-size: 18px;
    line-height: 1.65;
}


/* =========================================
   PRODUCTS GRID
========================================= */

.products-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}


/* =========================================
   PRODUCT CARD
========================================= */

.product-card {
    position: relative;

    background: #ffffff;
    border: 1px solid #d8e0e8;

    overflow: hidden;

    transition:
        transform 0.3s ease,
        border-color 0.3s ease,
        box-shadow 0.3s ease;
}


/* Card hover */
.product-card:hover {
    transform: translateY(-5px);

    border-color: #0085e8;

    box-shadow:
        0 18px 40px rgba(6, 27, 61, 0.10);
}


/* =========================================
   PRODUCT IMAGE
========================================= */

.product-image {
    position: relative;

    width: 100%;
    height: 255px;

    overflow: hidden;
    background: #e9eef3;
}

.product-image img {
    display: block;

    width: 100%;
    height: 100%;

    object-fit: cover;

    transition:
        transform 0.5s ease,
        filter 0.4s ease;
}


/* Image hover */
.product-card:hover .product-image img {
    transform: scale(1.035);
}


/* =========================================
   PRODUCT CONTENT
========================================= */

.product-content {
    padding: 25px 23px 25px;
}

.product-content h3 {
    margin: 0 0 10px;

    color: #061b3d;
    font-size: 21px;
    font-weight: 600;
    line-height: 1.3;
}

.product-description {
    margin: 0 0 17px;

    color: #526b8b;
    font-size: 15px;
    line-height: 1.55;
}


/* =========================================
   TAGS
========================================= */

.product-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;

    margin-bottom: 30px;
}

.product-tags span {
    display: inline-flex;
    align-items: center;

    min-height: 30px;
    padding: 6px 11px;

    background: #f5f7f9;
    border: 1px solid #d8e0e8;

    color: #48627f;

    font-size: 12px;
    font-weight: 400;
    line-height: 1.3;
}


/* =========================================
   ENQUIRE BUTTON
========================================= */

.product-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 100px;
    min-height: 45px;

    padding: 10px 20px;

    background: #ffffff;
    border: 1px solid #d4dde6;

    color: #061b3d;

    font-size: 14px;
    font-weight: 600;
    line-height: 1;

    text-decoration: none;

    transition:
        background-color 0.25s ease,
        border-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}

.product-button:hover {
    background: #007fe5;
    border-color: #007fe5;
    color: #ffffff;

    transform: translateY(-1px);
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

    .products-section {
        padding: 80px 0 85px;
    }

    .products-container {
        width: min(720px, calc(100% - 40px));
    }

    .products-grid {
        grid-template-columns: 1fr;
        gap: 22px;
    }

    .product-image {
        height: 300px;
    }
}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 767px) {

    .products-section {
        padding: 65px 0 70px;
    }

    .products-container {
        width: calc(100% - 32px);
    }

    .products-heading {
        margin-bottom: 32px;
    }

    .products-eyebrow {
        margin-bottom: 13px;

        font-size: 12px;
        letter-spacing: 2.5px;
    }

    .products-heading h2 {
        margin-bottom: 14px;

        font-size: 31px;
        line-height: 1.15;
        letter-spacing: -0.5px;
    }

    .products-heading > p {
        font-size: 15px;
        line-height: 1.6;
    }

    .products-grid {
        gap: 18px;
    }

    .product-image {
        height: 220px;
    }

    .product-content {
        padding: 22px 20px 23px;
    }

    .product-content h3 {
        font-size: 19px;
    }

    .product-description {
        font-size: 14px;
    }

    .product-tags {
        gap: 7px;
        margin-bottom: 25px;
    }

    .product-tags span {
        font-size: 12px;
    }

    .product-button {
        min-height: 43px;
    }
}


/* =========================================
   SMALL MOBILE
========================================= */

@media (max-width: 480px) {

    .product-image {
        height: 200px;
    }

    .product-content h3 {
        font-size: 18px;
    }
}

/* =========================================
   FUTURE TECHNOLOGY SECTION
========================================= */

.future-technology-section {
    position: relative;
    width: 100%;
    overflow: hidden;
    background:
        linear-gradient(
            90deg,
            rgba(3, 20, 43, 0.98),
            rgba(4, 25, 52, 0.96)
        );
    color: #ffffff;
    padding: 120px 0 125px;
}

/* subtle background image / glow */
.future-technology-section::before {
    content: "";
    position: absolute;
    inset: 0;

    background:
        radial-gradient(
            circle at 50% 40%,
            rgba(19, 62, 104, 0.25),
            transparent 55%
        );

    pointer-events: none;
}

/* Optional dark image layer */
.future-tech-overlay {
    position: absolute;
    inset: 0;
    background: rgba(3, 18, 38, 0.30);
    pointer-events: none;
}

.future-tech-container {
    position: relative;
    z-index: 2;

    width: min(100% - 40px, 1230px);
    margin: 0 auto;
}

/* =========================================
   HEADER
========================================= */

.future-tech-header {
    max-width: 820px;
    margin-bottom: 48px;
}

.future-tech-label {
    margin-bottom: 16px;

    color: #00d58a;

    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3px;
    line-height: 1.2;
}

.future-tech-header h2 {
    margin: 0 0 22px;

    color: #ffffff;

    font-size: clamp(38px, 4vw, 50px);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -1.5px;
}

.future-tech-header p {
    max-width: 790px;
    margin: 0;

    color: #b8c8dc;

    font-size: 18px;
    line-height: 1.7;
}

/* =========================================
   CARDS
========================================= */

.future-tech-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;

    background: rgba(45, 73, 106, 0.55);
}

.future-tech-card {
    position: relative;

    min-height: 130px;

    background: rgba(16, 39, 70, 0.88);

    border-left: 2px solid #00d58a;

    transition:
        transform 0.3s ease,
        background 0.3s ease,
        box-shadow 0.3s ease;
}

.future-tech-card-content {
    padding: 27px 24px 25px;
}

.future-tech-card h3 {
    margin: 0 0 12px;

    color: #ffffff;

    font-size: 19px;
    font-weight: 600;
    line-height: 1.3;
}

.future-tech-card p {
    margin: 0;

    color: #aebed2;

    font-size: 15px;
    line-height: 1.55;
}

/* =========================================
   HOVER EFFECT
========================================= */

.future-tech-card:hover {
    background: rgba(25, 53, 88, 0.98);

    transform: translateY(-4px);

    box-shadow:
        0 14px 35px rgba(0, 0, 0, 0.18);
}

.future-tech-card:hover h3 {
    color: #ffffff;
}

.future-tech-card:hover p {
    color: #d0dbea;
}

/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

    .future-technology-section {
        padding: 90px 0;
    }

    .future-tech-grid {
        grid-template-columns: 1fr;
        gap: 1px;
    }

    .future-tech-card {
        min-height: auto;
    }

    .future-tech-header h2 {
        font-size: 38px;
    }

}

/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .future-technology-section {
        padding: 70px 0;
    }

    .future-tech-container {
        width: min(100% - 30px, 1230px);
    }

    .future-tech-header {
        margin-bottom: 35px;
    }

    .future-tech-label {
        font-size: 12px;
        letter-spacing: 2.5px;
    }

    .future-tech-header h2 {
        font-size: 32px;
        line-height: 1.15;
        letter-spacing: -0.8px;
    }

    .future-tech-header p {
        font-size: 16px;
        line-height: 1.6;
    }

    .future-tech-card-content {
        padding: 23px 20px;
    }

    .future-tech-card h3 {
        font-size: 18px;
    }

    .future-tech-card p {
        font-size: 14px;
    }
}

/* =========================================
   CONTACT SECTION
========================================= */

.aer-contact-section {
    width: 100%;
    background: #f4f6f8;
    padding: 80px 0 100px;
}

.aer-contact-container {
    width: min(100% - 40px, 1230px);
    margin: 0 auto;

    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(380px, 0.9fr);
    gap: 62px;
}


/* =========================================
   LEFT CONTENT
========================================= */

.aer-contact-left {
    min-width: 0;
}

.aer-section-label {
    margin-bottom: 16px;

    color: #087fd3;

    font-size: 13px;
    font-weight: 700;
    letter-spacing: 3px;
    line-height: 1.2;
}

.aer-contact-left h2 {
    max-width: 700px;

    margin: 0 0 20px;

    color: #001b43;

    font-size: clamp(38px, 4vw, 48px);
    font-weight: 500;
    line-height: 1.08;
    letter-spacing: -1.5px;
}

.aer-contact-intro {
    max-width: 700px;

    margin: 0 0 34px;

    color: #526b89;

    font-size: 18px;
    line-height: 1.55;
}


/* =========================================
   FORM
========================================= */

.aer-contact-form {
    width: 100%;
}

.aer-form-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.aer-form-group {
    margin-bottom: 20px;
}

.aer-form-group label {
    display: block;

    margin-bottom: 8px;

    color: #48627f;

    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.3px;
}

.aer-form-group label span {
    color: #e32626;
}

.aer-form-group input,
.aer-form-group textarea {
    width: 100%;

    box-sizing: border-box;

    border: 1px solid #d2dce6;
    border-radius: 0;

    background: #ffffff;

    color: #102c4d;

    font-family: inherit;
    font-size: 15px;

    outline: none;

    transition:
        border-color 0.2s ease,
        box-shadow 0.2s ease;
}

.aer-form-group input {
    height: 42px;
    padding: 0 13px;
}

.aer-form-group textarea {
    min-height: 120px;

    padding: 12px 13px;

    resize: vertical;
}

.aer-form-group input:focus,
.aer-form-group textarea:focus {
    border-color: #0786d8;

    box-shadow: 0 0 0 2px rgba(8, 134, 216, 0.08);
}


/* =========================================
   BUTTON
========================================= */

.aer-submit-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-height: 44px;

    padding: 0 23px;

    border: 0;
    border-radius: 0;

    background: #0786d8;
    color: #ffffff;

    font-family: inherit;
    font-size: 14px;
    font-weight: 600;

    cursor: pointer;

    transition:
        background 0.25s ease,
        transform 0.25s ease;
}

.aer-submit-btn:hover {
    background: #006fb8;
    transform: translateY(-1px);
}


/* =========================================
   RIGHT CARD
========================================= */

.aer-contact-card {
    min-height: 650px;

    box-sizing: border-box;

    padding: 30px 28px;

    background: #ffffff;

    border: 1px solid #d5dee7;
}

.aer-contact-card h3 {
    margin: 0 0 28px;

    color: #071f40;

    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
}


/* =========================================
   CONTACT DETAILS
========================================= */

.aer-contact-detail {
    display: flex;
    align-items: flex-start;

    gap: 14px;

    margin-bottom: 20px;
}

.aer-detail-icon {
    flex: 0 0 20px;

    width: 20px;
    height: 20px;

    margin-top: 1px;

    color: #0087df;
}

.aer-detail-icon svg {
    display: block;

    width: 20px;
    height: 20px;

    fill: none;

    stroke: currentColor;
    stroke-width: 1.6;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.aer-contact-detail p {
    margin: 0;

    color: #526b89;

    font-size: 14px;
    line-height: 1.6;
}

.aer-contact-detail a {
    color: #173b62;
    text-decoration: none;
}

.aer-contact-detail a:hover {
    color: #0087df;
}


/* =========================================
   MAP
========================================= */

.aer-map-box {
    position: relative;

    display: flex;
    align-items: center;
    justify-content: center;

    height: 205px;

    margin-top: 28px;

    overflow: hidden;

    background: #061a36;

    text-decoration: none;
}

.aer-map-grid {
    position: absolute;
    inset: 0;

    background-image:
        linear-gradient(
            rgba(110, 142, 178, 0.16) 1px,
            transparent 1px
        ),
        linear-gradient(
            90deg,
            rgba(110, 142, 178, 0.16) 1px,
            transparent 1px
        );

    background-size: 62px 62px;
}

.aer-map-content {
    position: relative;
    z-index: 2;

    display: flex;
    flex-direction: column;
    align-items: center;

    text-align: center;

    padding: 20px;
}

.aer-map-content strong {
    margin-bottom: 7px;

    color: #ffffff;

    font-size: 16px;
    font-weight: 600;
}

.aer-map-content span {
    color: #a9bfd8;

    font-size: 12px;
    line-height: 1.5;
}

.aer-map-box:hover .aer-map-grid {
    background-size: 68px 68px;
}

.aer-map-box:hover .aer-map-content strong {
    color: #00d58a;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 950px) {

    .aer-contact-container {
        grid-template-columns: 1fr;
        gap: 45px;
    }

    .aer-contact-card {
        min-height: auto;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .aer-contact-section {
        padding: 65px 0 75px;
    }

    .aer-contact-container {
        width: min(100% - 30px, 1230px);
    }

    .aer-contact-left h2 {
        font-size: 34px;
        letter-spacing: -0.8px;
    }

    .aer-contact-intro {
        font-size: 16px;
    }

    .aer-form-row {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .aer-contact-card {
        padding: 25px 20px;
    }

    .aer-map-box {
        height: 190px;
    }

}





/* ================================
   APURVA FOOTER
================================ */

.apurva-footer {
    background: #06142d;
    color: #ffffff;
    width: 100%;
    font-family: inherit;
}

.apurva-footer-inner {
    max-width: 1220px;
    margin: 0 auto;
    padding: 54px 0 48px;

    display: grid;
    grid-template-columns: 1.35fr 1.25fr 1fr;
    column-gap: 80px;
}


/* ================================
   BRAND
================================ */

.footer-logo {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 20px;
}

.h2-box {
    width: 36px;
    height: 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: linear-gradient(135deg, #08a8c9, #08d38c);
    color: #ffffff;

    font-size: 16px;
    font-weight: 700;
}

.footer-logo strong {
    display: block;
    font-size: 17px;
    line-height: 18px;
    letter-spacing: 2px;
    color: #ffffff;
}

.footer-logo small {
    display: block;
    margin-top: 2px;

    font-size: 11px;
    letter-spacing: 2px;
    color: #9ba9c0;
}


.footer-tagline {
    margin: 0 0 18px;

    font-size: 14px;
    line-height: 1.6;
    color: #d2d9e5;
}

.footer-tagline span {
    color: #6f809b;
    padding: 0 4px;
}

.footer-brand > a {
    color: #00d891;
    text-decoration: none;
    font-size: 13px;

    transition: color .25s ease;
}

.footer-brand > a:hover {
    color: #ffffff;
}


/* ================================
   FOOTER HEADINGS
================================ */

.footer-column h4,
.footer-connect h4 {
    margin: 0 0 20px;

    color: #8797b2;

    font-size: 12px;
    font-weight: 600;

    letter-spacing: 2px;
}


/* ================================
   NAVIGATION
================================ */

.footer-navigation {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 35px;
}

.footer-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.footer-column a,
.footer-connect a {
    position: relative;

    display: inline-block;

    margin-bottom: 15px;

    color: #e0e6ef;
    text-decoration: none;

    font-size: 14px;
    line-height: 1.4;

    transition:
        color .25s ease,
        transform .25s ease;
}

.footer-column a:hover,
.footer-connect a:hover {
    color: #00d891;
    transform: translateX(4px);
}


/* ================================
   CONNECT
================================ */

.footer-connect p {
    max-width: 330px;

    margin: 8px 0 0;

    color: #9daac0;

    font-size: 14px;
    line-height: 1.65;
}


/* ================================
   BOTTOM
================================ */

.footer-bottom {
    max-width: 1220px;
    margin: 0 auto;

    border-top: 1px solid rgba(150, 170, 195, 0.20);

    padding: 24px 0 22px;
}

.footer-bottom p {
    margin: 0;

    color: #8d9bb2;

    font-size: 12px;
    line-height: 1.5;
}


/* ================================
   TABLET
================================ */

@media (max-width: 1024px) {

    .apurva-footer-inner {
        padding-left: 35px;
        padding-right: 35px;

        grid-template-columns: 1fr 1fr;
        row-gap: 45px;
        column-gap: 50px;
    }

    .footer-brand {
        grid-column: span 2;
    }

    .footer-bottom {
        margin-left: 35px;
        margin-right: 35px;
    }
}


/* ================================
   MOBILE
================================ */

@media (max-width: 767px) {

    .apurva-footer-inner {
        padding: 45px 22px 35px;

        display: flex;
        flex-direction: column;

        gap: 38px;
    }

    .footer-brand {
        width: 100%;
    }

    .footer-navigation {
        width: 100%;

        grid-template-columns: 1fr 1fr;

        gap: 20px;
    }

    .footer-nav-second h4 {
        display: none;
    }

    .footer-connect {
        width: 100%;
    }

    .footer-bottom {
        margin: 0 22px;

        padding: 20px 0;
    }

    .footer-bottom p {
        font-size: 13px;
    }
}
