

    /* =========================================================
       ACHA ATLANTIC ENERGY
       ENHANCED VISUAL SYSTEM
       Green / Lime / Electric Blue / Deep Blue
    ========================================================= */

    :root{
      --ink:#061525;
      --navy:#071d38;
      --blue:#0758d8;
      --electric:#0d75ff;
      --cyan:#10a9ed;
      --green:#05a83b;
      --lime:#55e800;
      --deep-green:#087b32;

      --paper:#f4f8f7;
      --white:#fff;
      --muted:#60717b;
      --line:#d9e3e7;

      --shadow:0 18px 60px rgba(3,30,55,.14);
      --shadow-heavy:0 25px 90px rgba(2,25,50,.28);

      --transition:cubic-bezier(.22,.61,.36,1);
    }

    *{
      box-sizing:border-box;
      margin:0;
      padding:0;
    }

    html{
      scroll-behavior:smooth;
    }

    body{
      font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
      color:var(--ink);
      background:var(--paper);
      line-height:1.6;
      overflow-x:hidden;
    }

    body.menu-open{
      overflow:hidden;
    }

    a{
      color:inherit;
      text-decoration:none;
    }

    img{
      max-width:100%;
      display:block;
    }

    button{
      font:inherit;
    }

    .wrap{
      width:min(1160px,calc(100% - 40px));
      margin:auto;
    }

    /* =========================================================
       SCROLL PROGRESS
    ========================================================= */

    .scroll-progress{
      position:fixed;
      top:0;
      left:0;
      width:0%;
      height:3px;
      z-index:9999;
      background:linear-gradient(
        90deg,
        var(--green),
        var(--lime),
        var(--electric),
        var(--cyan)
      );
      box-shadow:0 0 15px rgba(38,220,100,.7);
    }

    /* =========================================================
       GLOBAL EYEBROW
    ========================================================= */

    .eyebrow{
      /*display:flex;*/
      align-items:center;
      gap:10px;
      text-transform:uppercase;
      letter-spacing:.14em;
      font-weight:800;
      font-size:.72rem;
      color:var(--green);
    }

    .eyebrow:before{
      content:"";
      height:2px;
      width:35px;
      background:linear-gradient(
        90deg,
        var(--green),
        var(--lime)
      );
      flex:none;
    }

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

    .btn{
      display:inline-flex;
      align-items:center;
      justify-content:center;
      gap:10px;

      border:1px solid var(--lime);
      padding:14px 23px;

      background:linear-gradient(
        135deg,
        var(--green),
        var(--lime)
      );

      color:#061c24;
      font-weight:900;
      letter-spacing:.01em;

      position:relative;
      overflow:hidden;

      transition:
        transform .3s var(--transition),
        box-shadow .3s var(--transition),
        color .3s var(--transition);
    }

    .btn:before{
      content:"";
      position:absolute;
      top:0;
      left:-120%;
      width:80%;
      height:100%;

      background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.5),
        transparent
      );

      transform:skewX(-20deg);
      transition:left .7s ease;
    }

    .btn:hover:before{
      left:140%;
    }

    .btn:hover{
      transform:translateY(-3px);
      box-shadow:
        0 12px 35px rgba(27,220,91,.28);
    }

    .btn span{
      transition:transform .3s ease;
    }

    .btn:hover span{
      transform:translateX(5px);
    }

    .btn--ghost{
      border-color:rgba(255,255,255,.55);
      background:rgba(255,255,255,.04);
      color:#fff;
      backdrop-filter:blur(8px);
    }

    .btn--ghost:hover{
      background:#fff;
      color:var(--navy);
    }

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

    header{
      height:76px;
      display:flex;
      align-items:center;
      position:fixed;
      inset:0 0 auto;
      z-index:1000;

      color:#fff;

      background:rgba(3,19,34,.10);
      border-bottom:1px solid transparent;

      transition:
        background .35s ease,
        backdrop-filter .35s ease,
        border-color .35s ease,
        box-shadow .35s ease,
        height .35s ease;
    }

    header.scrolled{
      height:70px;
      background:rgba(4,20,37,.88);
      backdrop-filter:blur(18px);
      border-color:rgba(255,255,255,.12);
      box-shadow:0 10px 35px rgba(0,0,0,.18);
    }

    .nav{
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:24px;
    }

    .brand{
      display:flex;
      align-items:center;
      gap:11px;
      font-weight:900;
      font-size:.9rem;
      letter-spacing:.05em;
      line-height:1.05;
      transition:transform .3s ease;
    }

    .brand:hover{
      transform:translateY(-1px);
    }

.brand-logo {
    width: 94px;
    height: 68px;
    object-fit: contain;
    filter: drop-shadow(0 5px 12px rgba(0, 0, 0, .22));
    transition: transform .4s var(--transition);
}

    .brand:hover .brand-logo{
      transform:scale(1.07);
    }

    .brand-text{
      display:block;
      font-size:.9rem;
      font-weight:900;
      letter-spacing:.05em;
    }

    .brand-text span{
      display:block;
      font-size:.58rem;
      font-weight:600;
      letter-spacing:.13em;
      margin-top:3px;
    }

    .links{
      display:flex;
      gap:27px;
      align-items:center;
      font-size:.86rem;
      font-weight:700;
    }

    .links a{
      opacity:.84;
      position:relative;
      transition:
        opacity .25s ease,
        color .25s ease;
    }

    .links a:not(.btn):after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:-8px;
      height:2px;
      transform:scaleX(0);
      transform-origin:left;
      background:linear-gradient(
        90deg,
        var(--green),
        var(--lime)
      );
      transition:transform .3s ease;
    }

    .links a:not(.btn):hover{
      opacity:1;
      color:var(--lime);
    }

    .links a:not(.btn):hover:after{
      transform:scaleX(1);
    }

    .links .btn{
      padding:11px 17px;
      margin-left:5px;
    }

    .menu{
      display:none;
      background:transparent;
      border:0;
      color:#fff;
      font-size:1.5rem;
      cursor:pointer;
    }

    /* =========================================================
       HERO SLIDER
    ========================================================= */

    .hero{
      min-height:760px;
      display:grid;
      align-items:end;
      padding:142px 0 86px;
      color:white;
      position:relative;
      overflow:hidden;
      isolation:isolate;
      background:#061a2c;
    }

    .hero-slides{
      position:absolute;
      inset:0;
      z-index:-3;
    }

    .hero-slide{
      position:absolute;
      inset:0;

      background-position:center;
      background-size:cover;
      background-repeat:no-repeat;

      opacity:0;
      transform:scale(1.08);

      transition:
        opacity 1.2s ease,
        transform 8s ease;
    }

    .hero-slide.active{
      opacity:1;
      transform:scale(1);
    }

    /*
      01 — Offshore oil rig
    */
    .hero-slide:nth-child(1){
      background-image:url(
        "images/accha executive.jpg"
      );
    }

    /*
      02 — Oil refinery at night
    */
    .hero-slide:nth-child(2){
      background-image:url(
        "images/oil-platform-ocean-it_123827-23498.jpg"
      );
    }

    /*
      03 — Oil refinery
    */
    .hero-slide:nth-child(3){
      background-image:url(
        "images/rig.jpg"
      );
    }

    /*
      04 — Power generation / natural gas infrastructure
    */
    .hero-slide:nth-child(4){
      background-image:url(
        "images/sunrise-port_.jpg"
      );
    }

    /*
      05 — Energy / wind infrastructure
    */
    .hero-slide:nth-child(5){
      background-image:url(
        "images/cityscape_1127-4174.jpg"
      );
    }

    .hero-overlay{
      position:absolute;
      inset:0;
      z-index:-2;

      background:
        linear-gradient(
          120deg,
          rgba(2,17,30,41%) 4%,
          rgba(4,38,59,66%) 48%,
          rgba(5,72,78,.48) 100%
        );
    }

    .hero-overlay:after{
      content:"";
      position:absolute;
      inset:0;

      background:
        radial-gradient(
          circle at 80% 25%,
          rgba(75,240,0,.16),
          transparent 28%
        ),
        radial-gradient(
          circle at 15% 80%,
          rgba(0,105,255,.18),
          transparent 32%
        );
    }

    .hero:after{
      content:"";
      position:absolute;
      width:720px;
      height:720px;

      border:1px solid rgba(80,240,30,.22);
      border-radius:50%;

      right:-330px;
      bottom:-390px;

      animation:
        heroRing 14s linear infinite;
    }

    .hero:before{
      content:"";
      position:absolute;
      width:480px;
      height:480px;

      border:1px solid rgba(0,125,255,.18);
      border-radius:50%;

      right:-170px;
      bottom:-280px;

      animation:
        heroRing 18s linear infinite reverse;
    }

    @keyframes heroRing{
      from{
        transform:rotate(0deg) scale(1);
      }
      50%{
        transform:rotate(180deg) scale(1.04);
      }
      to{
        transform:rotate(360deg) scale(1);
      }
    }

    .hero-inner{
      position:relative;
      z-index:2;
    }

    .hero h1{
      font-size:clamp(3.2rem,8vw,7.2rem);
      line-height:.95;
      letter-spacing:-.025em;
      max-width:900px;
      margin:17px 0 27px;

      animation:
        heroTextIn .9s .15s both var(--transition);
    }

    .hero h1 em{
      font-style:normal;

      background:linear-gradient(
        90deg,
        var(--green),
        var(--lime),
        #8dff2e
      );

      -webkit-background-clip:text;
      background-clip:text;
      color:transparent;

      background-size:200% auto;

      animation:
        gradientFlow 5s linear infinite;
    }

    @keyframes gradientFlow{
      to{
        background-position:200% center;
      }
    }

    .hero-copy{
      max-width:660px;
      font-size:1.15rem;
      line-height:1.65;
      color:#deebef;
      margin-bottom:32px;

      animation:
        heroTextIn .9s .3s both var(--transition);
    }

    .hero .btn{
      animation:
        heroTextIn .9s .45s both var(--transition);
    }

    @keyframes heroTextIn{
      from{
        opacity:0;
        transform:translateY(30px);
      }
      to{
        opacity:1;
        transform:translateY(0);
      }
    }

    .hero-meta{
      margin-top:72px;
      display:flex;
      gap:0;
      max-width:710px;
      border-top:1px solid rgba(255,255,255,.3);

      animation:
        heroTextIn .9s .6s both var(--transition);
    }

    .hero-meta div{
      padding:18px 28px 0 0;
      margin-right:28px;
      border-right:1px solid rgba(255,255,255,.3);
    }

    .hero-meta div:last-child{
      border-right:0;
    }

    .hero-meta strong{
      display:block;
      font-size:1.55rem;
      color:var(--lime);
    }

    .hero-meta span{
      font-size:.76rem;
      text-transform:uppercase;
      letter-spacing:.08em;
      color:#cfdee4;
    }

    /* HERO CONTROLS */

    .slider-controls{
      position:absolute;
      right:40px;
      bottom:48px;
      z-index:5;

      display:flex;
      align-items:center;
      gap:9px;
    }

    .slider-arrow{
      width:44px;
      height:44px;

      border:1px solid rgba(255,255,255,.35);
      background:rgba(0,20,35,.35);
      color:#fff;

      display:grid;
      place-items:center;

      cursor:pointer;

      backdrop-filter:blur(8px);

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

    .slider-arrow:hover{
      background:var(--green);
      border-color:var(--green);
      color:#062019;
      transform:translateY(-2px);
    }

    .slider-dots{
      display:flex;
      gap:7px;
      margin:0 5px;
    }

    .slider-dot{
      width:8px;
      height:8px;
      padding:0;
      border:0;
      border-radius:50%;

      background:rgba(255,255,255,.4);
      cursor:pointer;

      transition:
        width .3s ease,
        background .3s ease,
        border-radius .3s ease;
    }

    .slider-dot.active{
      width:28px;
      border-radius:10px;
      background:linear-gradient(
        90deg,
        var(--green),
        var(--lime)
      );
    }

    /* =========================================================
       SECTION DEFAULTS
    ========================================================= */

    section{
      padding:112px 0;
      position:relative;
      overflow:hidden;
    }

    section.reveal{
      opacity:0;
      transform:translateY(45px);
      transition:
        opacity .8s ease,
        transform .8s var(--transition);
    }

    section.reveal.visible{
      opacity:1;
      transform:translateY(0);
    }

    .intro-grid{
      display:grid;
      grid-template-columns:.85fr 1.15fr;
      gap:100px;
      align-items:start;
    }

    .section-title{
      font-size:clamp(2.2rem,4vw,4rem);
      letter-spacing:-.015em;
      line-height:1.02;
      margin:15px 0 0;
    }

    .lead{
      font-size:1.2rem;
      line-height:1.7;
      margin:0 0 23px;
      color:#304957;
    }

    .quote-block{
      margin-top:32px;
      border-left:4px solid var(--green);
      padding:12px 0 12px 24px;
      font-size:1.2rem;
      font-weight:750;
      color:var(--navy);

      position:relative;
    }

    .quote-block:after{
      content:"";
      position:absolute;
      left:-4px;
      top:0;
      width:4px;
      height:100%;

      background:linear-gradient(
        var(--green),
        var(--lime),
        var(--electric)
      );

      animation:quotePulse 2.5s ease-in-out infinite;
    }

    @keyframes quotePulse{
      0%,100%{opacity:.55}
      50%{opacity:1}
    }

    /* =========================================================
       MISSION
    ========================================================= */

    .mission{
      background:#fff;
    }

    .mission:before{
      content:"";
      position:absolute;
      width:420px;
      height:420px;
      border-radius:50%;
      right:-260px;
      top:-180px;

      background:
        radial-gradient(
          circle,
          rgba(13,117,255,.10),
          transparent 70%
        );
    }

    .mission-cards{
      display:grid;
      grid-template-columns:1fr 1fr;
      gap:20px;
      margin-top:50px;
    }

    .mission-card{
      padding:42px;
      background:
        linear-gradient(
          135deg,
          #071d38,
          #073e64
        );

      color:#fff;
      min-height:255px;

      position:relative;
      overflow:hidden;

      transition:
        transform .4s var(--transition),
        box-shadow .4s ease;
    }

    .mission-card:before{
      content:"";
      position:absolute;
      width:200px;
      height:200px;
      right:-90px;
      top:-90px;
      border-radius:50%;

      border:1px solid rgba(255,255,255,.15);

      transition:transform .6s ease;
    }

    .mission-card:hover{
      transform:translateY(-8px);
      box-shadow:var(--shadow-heavy);
    }

    .mission-card:hover:before{
      transform:scale(1.8);
    }

    .mission-card:nth-child(2){
      background:
        linear-gradient(
          135deg,
          #087b32,
          #09b640
        );
    }

    .mission-card .num{
      color:var(--lime);
      font-weight:900;
      font-size:.82rem;
      letter-spacing:.13em;
    }

    .mission-card:nth-child(2) .num{
      color:#d9ffb7;
    }

    .mission-card h3{
      font-size:1.9rem;
      line-height:1.08;
      letter-spacing:-.04em;
      margin:35px 0 14px;
    }

    .mission-card p{
      color:#d8e7ea;
      margin:0;
    }

    .mission-card:nth-child(2) p{
      color:#e3ffff;
    }

    /* =========================================================
       GLOBAL PRESENCE
    ========================================================= */

    .presence{
      background:#061525;
      color:#fff;
    }

    .presence:before{
      content:"";
      position:absolute;
      inset:0;

      background:
        linear-gradient(
          rgba(3,25,44,.9),
          rgba(3,25,44,.94)
        ),
        url(
          "images/business-women.jpg"
        )
        center/cover;

      opacity:.22;
      z-index:0;
    }

    .presence > .wrap{
      position:relative;
      z-index:1;
    }

    .presence .eyebrow{
      color:#69ee93;
    }

    .presence .section-title{
      max-width:730px;
    }

    .presence-sub{
      max-width:600px;
      color:#bfd2da;
      font-size:1.05rem;
      margin:21px 0 51px;
    }

    .country-grid{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:1px;
      background:rgba(255,255,255,.18);
    }

    .country{
      background:#0c2739;
      padding:38px 32px;
      min-height:300px;

      position:relative;
      overflow:hidden;

      transition:
        transform .4s var(--transition),
        background .4s ease;
    }

    .country:before{
      content:"";
      position:absolute;
      inset:0;

      background:
        linear-gradient(
          135deg,
          rgba(0,170,65,.35),
          rgba(0,92,255,.20)
        );

      opacity:0;
      transition:opacity .4s ease;
    }

    .country:hover{
      transform:translateY(-7px);
      z-index:2;
      background:#0c3148;
    }

    .country:hover:before{
      opacity:1;
    }

    .country > *{
      position:relative;
      z-index:1;
    }

    .country:nth-child(2){
      background:#0e3447;
    }

    .country:nth-child(3){
      background:#105365;
    }

    .country-code{
      font-size:.75rem;
      color:var(--lime);
      font-weight:900;
      letter-spacing:.16em;
    }

    .country h3{
      font-size:1.6rem;
      letter-spacing:-.015em;
      margin:22px 0 12px;
    }

    .country p{
      color:#c4d6dc;
      font-size:.96rem;
      margin:0;
    }

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

    .energy-image-band{
      display:grid;
      grid-template-columns:1.3fr .7fr;
      min-height:430px;
      overflow:hidden;
      background:#061525;
    }

    .energy-image{
      min-height:430px;
      background-position:center;
      background-size:cover;
      position:relative;
      overflow:hidden;
    }

    .energy-image:before{
      content:"";
      position:absolute;
      inset:0;
      background:
        linear-gradient(
          90deg,
          rgba(3,22,38,.05),
          rgba(3,22,38,.7)
        );
    }

    .energy-image-main{
      background-image:url(
        "images/energy.jpg"
      );
    }

    .energy-image-side{
      background-image:url(
        "images/business-women.jpg"
      );
    }

    .energy-image:hover{
      animation:imageZoom 8s ease both;
    }

    @keyframes imageZoom{
      from{background-size:100%}
      to{background-size:112%}
    }

    /* =========================================================
       SERVICES
    ========================================================= */

    .services{
      background:#edf3f3;
    }

    .services:after{
      content:"";
      position:absolute;
      width:500px;
      height:500px;
      right:-300px;
      bottom:-300px;
      border-radius:50%;

      border:1px solid rgba(5,168,59,.15);
      animation:slowRotate 25s linear infinite;
    }

    @keyframes slowRotate{
      to{
        transform:rotate(360deg);
      }
    }

    .services-top{
      display:flex;
      justify-content:space-between;
      gap:60px;
      align-items:end;
      margin-bottom:48px;
    }

    .services-top p{
      max-width:480px;
      color:#48606a;
      font-size:1.05rem;
    }

    .service-list{
      border-top:1px solid #bfcdd0;
      position:relative;
      z-index:2;
    }

    .service{
      display:grid;
      grid-template-columns:70px 1fr 1.55fr;
      gap:26px;

      padding:34px 8px;

      border-bottom:1px solid #bfcdd0;

      transition:
        background .35s ease,
        transform .35s var(--transition),
        padding .35s ease,
        box-shadow .35s ease;
    }

    .service:hover{
      background:#fff;
      padding-left:20px;
      padding-right:20px;
      transform:translateX(7px);

      box-shadow:
        0 15px 35px rgba(6,35,55,.08);
    }

    .service-no{
      font-size:.9rem;
      font-weight:900;
      color:var(--green);
    }

    .service h3{
      margin:0;
      font-size:1.35rem;
      letter-spacing:-.025em;
      line-height:1.2;
    }

    .service p{
      margin:0;
      color:#52646c;
      font-size:.96rem;
    }

    /* =========================================================
       BENEFITS
    ========================================================= */

    .benefits{
      background:#fff;
    }

    .benefit-grid{
      display:grid;
      grid-template-columns:repeat(2,1fr);
      gap:0;

      margin-top:52px;

      border-top:1px solid var(--line);
      border-left:1px solid var(--line);
    }

    .benefit{
      padding:35px;
      border-right:1px solid var(--line);
      border-bottom:1px solid var(--line);

      transition:
        background .35s ease,
        transform .35s var(--transition);
    }

    .benefit:hover{
      background:
        linear-gradient(
          135deg,
          #fff,
          #f0faf4
        );

      transform:translateY(-4px);
    }

    .benefit-icon{
      color:var(--green);
      font-weight:900;
      font-size:.8rem;
      letter-spacing:.12em;
    }

    .benefit h3{
      font-size:1.35rem;
      margin:19px 0 10px;
      letter-spacing:-.025em;
    }

    .benefit p{
      margin:0;
      color:var(--muted);
    }

    /* =========================================================
       COMPLIANCE
    ========================================================= */

    .compliance{
      background:
        linear-gradient(
          110deg,
          #062f4b,
          #075c59
        );

      color:#fff;
    }

    .compliance:before{
      content:"";
      position:absolute;
      inset:0;

      background:
        linear-gradient(
          110deg,
          rgba(3,28,45,.9),
          rgba(3,91,77,.7)
        ),
        url(
          "images/gas-oil-refinery-oil.jpg"
        )
        center/cover;

      opacity:.35;
    }

    .compliance-grid{
      display:grid;
      grid-template-columns:.78fr 1.22fr;
      gap:100px;
      position:relative;
      z-index:1;
    }

    .compliance .eyebrow{
      color:#69ee93;
    }

    .compliance p{
      color:#d6e8e9;
      font-size:1.05rem;
    }

    .pill-list{
      display:flex;
      flex-wrap:wrap;
      gap:11px;
      align-content:start;
      margin-top:25px;
    }

    .pill{
      padding:10px 14px;

      border:1px solid rgba(255,255,255,.35);

      font-size:.82rem;
      font-weight:800;
      letter-spacing:.04em;

      background:rgba(255,255,255,.04);

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

    .pill:hover{
      background:rgba(81,232,0,.12);
      border-color:var(--lime);
      transform:translateY(-2px);
    }

    .status{
      margin-top:30px;
      padding:19px 21px;

      background:rgba(4,19,29,.35);

      border-left:3px solid var(--lime);

      color:#dceced;
      font-size:.92rem;
    }

    .status strong{
      color:var(--lime);
    }

    /* =========================================================
       CTA
    ========================================================= */

    .cta{
      padding:112px 0;

      background:
        linear-gradient(
          120deg,
          #08a83b,
          #54e700
        );

      color:#09252d;

      position:relative;
      overflow:hidden;
    }

    .cta:before{
      content:"";

      position:absolute;
      width:650px;
      height:650px;

      right:-250px;
      top:-330px;

      border:1px solid rgba(255,255,255,.35);
      border-radius:50%;

      animation:ctaOrbit 18s linear infinite;
    }

    .cta:after{
      content:"A";

      position:absolute;
      right:2%;
      bottom:-40%;

      font-size:32rem;
      font-weight:900;
      line-height:1;

      color:rgba(255,255,255,.12);

      animation:
        ctaFloat 7s ease-in-out infinite;
    }

    @keyframes ctaOrbit{
      to{
        transform:rotate(360deg);
      }
    }

    @keyframes ctaFloat{
      0%,100%{
        transform:translateY(0);
      }
      50%{
        transform:translateY(-20px);
      }
    }

    .cta .wrap{
      position:relative;
      z-index:1;
    }

    .cta h2{
      font-size:clamp(2.8rem,6vw,5.5rem);
      line-height:.95;
      letter-spacing:-.065em;
      max-width:800px;
      margin:17px 0 25px;
    }

    .cta p{
      font-size:1.13rem;
      max-width:640px;
      margin-bottom:31px;
    }

    .cta .btn{
      background:var(--navy);
      border-color:var(--navy);
      color:#fff;
    }

    .cta .btn:hover{
      background:#123f5a;
      box-shadow:0 15px 40px rgba(0,0,0,.18);
    }

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

    footer{
      background:#04131f;
      color:#cad8dc;
      padding:72px 0 25px;
      position:relative;
      overflow:hidden;
    }

    footer:before{
      content:"";
      position:absolute;
      width:500px;
      height:500px;
      border-radius:50%;

      right:-350px;
      top:-300px;

      border:1px solid rgba(50,230,100,.12);
    }

    .footer-grid{
      display:grid;
      grid-template-columns:1.25fr 1fr 1fr;
      gap:50px;
      padding-bottom:55px;
      border-bottom:1px solid rgba(255,255,255,.16);
      position:relative;
      z-index:1;
    }

    footer .brand{
      color:#fff;
    }

    footer .brand-logo{
      width:60px;
    }

    footer .brand p{
      font-size:.88rem;
      line-height:1.6;
      max-width:290px;
      margin-top:22px;
    }

    footer h4{
      color:var(--lime);
      text-transform:uppercase;
      font-size:.72rem;
      letter-spacing:.14em;
      margin:4px 0 20px;
    }

    .offices{
      display:grid;
      gap:15px;
    }

    .office{
      transition:transform .25s ease;
    }

    .office:hover{
      transform:translateX(5px);
    }

    .office strong{
      display:block;
      color:#fff;
      font-size:.94rem;
    }

    .office span{
      font-size:.88rem;
    }

    .footer-bottom{
      display:flex;
      justify-content:space-between;
      gap:20px;
      padding-top:24px;
      font-size:.8rem;
      color:#94aab3;
      position:relative;
      z-index:1;
    }

    .footer-bottom a{
      margin-left:18px;
      transition:color .2s ease;
    }

    .footer-bottom a:hover{
      color:var(--lime);
    }

    /* =========================================================
       FLOATING ENERGY PARTICLES
    ========================================================= */

    .energy-particles{
      position:absolute;
      inset:0;
      pointer-events:none;
      overflow:hidden;
      z-index:0;
    }

    .energy-particles span{
      position:absolute;
      width:4px;
      height:4px;
      border-radius:50%;
      background:var(--lime);
      box-shadow:0 0 15px var(--lime);
      opacity:.5;

      animation:
        particleFloat 9s linear infinite;
    }

    .energy-particles span:nth-child(1){
      left:12%;
      bottom:-20px;
      animation-delay:0s;
    }

    .energy-particles span:nth-child(2){
      left:28%;
      bottom:-20px;
      animation-delay:2s;
    }

    .energy-particles span:nth-child(3){
      left:47%;
      bottom:-20px;
      animation-delay:4s;
    }

    .energy-particles span:nth-child(4){
      left:68%;
      bottom:-20px;
      animation-delay:1s;
    }

    .energy-particles span:nth-child(5){
      left:87%;
      bottom:-20px;
      animation-delay:5s;
    }

    @keyframes particleFloat{
      0%{
        transform:translateY(0) scale(.5);
        opacity:0;
      }

      15%{
        opacity:.55;
      }

      80%{
        opacity:.2;
      }

      100%{
        transform:translateY(-750px) scale(1.2);
        opacity:0;
      }
    }

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

    @media(max-width:780px){

      .wrap{
        width:min(100% - 30px,1160px);
      }

      header{
        height:70px;
      }

      header.scrolled{
        height:64px;
      }

      .brand-logo{
        width:48px;
        height:42px;
      }

      .brand-text{
        font-size:.75rem;
      }

      .brand-text span{
        font-size:.48rem;
      }

      .links{
        display:flex;

        position:fixed;
        top:70px;
        left:0;
        right:0;

        padding:30px 20px;

        flex-direction:column;
        align-items:stretch;
        gap:0;

        background:rgba(4,20,37,.97);
        backdrop-filter:blur(20px);

        transform:translateY(-130%);
        opacity:0;

        transition:
          transform .45s var(--transition),
          opacity .35s ease;

        box-shadow:0 20px 40px rgba(0,0,0,.25);
      }

      .links.open{
        transform:translateY(0);
        opacity:1;
      }

      .links a{
        padding:17px 5px;
        border-bottom:1px solid rgba(255,255,255,.1);
      }

      .links .btn{
        margin-top:15px;
        text-align:center;
        border-bottom:0;
      }

      .menu{
        display:block;
      }

      .hero{
        min-height:730px;
        padding-bottom:50px;
      }

      .hero h1{
        font-size:clamp(3rem,16vw,5rem);
      }

      .hero-copy{
        font-size:1rem;
      }

      .hero-meta{
        margin-top:50px;
        flex-wrap:wrap;
      }

      .hero-meta div{
        margin-right:14px;
        padding-right:14px;
      }

      .hero-meta strong{
        font-size:1.25rem;
      }

      .hero-meta span{
        font-size:.62rem;
      }

      .slider-controls{
        right:15px;
        bottom:20px;
      }

      .slider-arrow{
        width:38px;
        height:38px;
      }

      .intro-grid,
      .compliance-grid{
        grid-template-columns:1fr;
        gap:42px;
      }

      .mission-cards,
      .country-grid,
      .benefit-grid{
        grid-template-columns:1fr;
      }

      .services-top{
        display:block;
      }

      .services-top p{
        margin-top:25px;
      }

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

      .service p{
        grid-column:2;
      }

      .energy-image-band{
        grid-template-columns:1fr;
      }

      .energy-image,
      .energy-image-main,
      .energy-image-side{
        min-height:300px;
      }

      .footer-grid{
        grid-template-columns:1fr;
        gap:30px;
      }

      .footer-bottom{
        display:block;
        line-height:2;
      }

      .footer-bottom a{
        margin:0 18px 0 0;
      }

      section{
        padding:78px 0;
      }

      .cta{
        padding:82px 0;
      }

      .cta:after{
        font-size:20rem;
      }
    }

    /* =========================================================
       REDUCED MOTION ACCESSIBILITY
    ========================================================= */

    @media(prefers-reduced-motion:reduce){

      *,
      *:before,
      *:after{
        scroll-behavior:auto !important;
        animation-duration:.01ms !important;
        animation-iteration-count:1 !important;
        transition-duration:.01ms !important;
      }

      .hero-slide{
        transform:none !important;
      }

    }

  