/*
Theme Name: Sonergy
Theme URI: https://sonergy.kz
Author: Sonergy LLP
Description: One-page trilingual (EN/RU/KZ) hybrid clean-energy site for Sonergy LLP.
Version: 1.2
Requires at least: 6.0
Requires PHP: 7.4
License: Proprietary
Text Domain: sonergy
*/

  :root{
    --bg:#f6f8fb;
    --bg2:#ffffff;
    --navy:#1F3B73;
    --navy-deep:#152a52;
    --ink:#1a2540;
    --gold:#F6A800;
    --gold-deep:#d99400;
    --gold-light:#FFC544;
    --grey:#5d6b84;
    --line:rgba(31,59,115,.12);
    --card:#ffffff;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  html{scroll-behavior:smooth}
  body{
    font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,Helvetica,Arial,sans-serif;
    background:var(--bg);color:var(--ink);overflow-x:hidden;
  }
  ::selection{background:var(--gold);color:#fff}

  /* ---------- canvas background ---------- */
  #energy{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
  .bgfx{position:fixed;inset:0;z-index:0;pointer-events:none;overflow:hidden}
  .blob{position:absolute;border-radius:50%;filter:blur(80px)}
  .b1{width:56vw;height:56vw;background:radial-gradient(circle,rgba(246,168,0,.30),transparent 65%);top:-16vw;right:-12vw;animation:drift1 16s ease-in-out infinite alternate}
  .b2{width:48vw;height:48vw;background:radial-gradient(circle,rgba(31,59,115,.22),transparent 65%);bottom:-14vw;left:-12vw;animation:drift2 20s ease-in-out infinite alternate}
  .b3{width:38vw;height:38vw;background:radial-gradient(circle,rgba(55,200,240,.18),transparent 65%);top:26vh;left:20vw;animation:drift1 24s ease-in-out infinite alternate-reverse}
  .b4{width:30vw;height:30vw;background:radial-gradient(circle,rgba(246,168,0,.18),transparent 65%);top:60vh;right:14vw;animation:drift2 28s ease-in-out infinite alternate-reverse}
  @keyframes drift1{to{transform:translate(-9vw,7vh) scale(1.16)}}
  @keyframes drift2{to{transform:translate(7vw,-7vh) scale(1.12)}}
  .vignette{position:fixed;inset:0;z-index:1;pointer-events:none;
    background:radial-gradient(ellipse at 50% 30%,transparent 0%,rgba(246,248,251,.4) 70%,rgba(246,248,251,.85) 100%)}

  /* ---------- nav ---------- */
  nav{
    position:fixed;top:0;left:0;right:0;z-index:50;
    display:flex;align-items:center;justify-content:space-between;
    padding:14px 5vw;
    background:rgba(255,255,255,.75);
    backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);
    border-bottom:1px solid var(--line);
    transition:box-shadow .4s;
  }
  nav.scrolled{box-shadow:0 6px 24px rgba(21,42,82,.08)}
  .nav-logo{display:flex;align-items:center;gap:10px;text-decoration:none}
  .nav-word{display:inline-flex;align-items:center;font-weight:800;letter-spacing:.2em;color:var(--gold);font-size:19px}
  .nav-word svg{width:.88em;height:.88em;margin:0 .14em;transform:translateY(.03em)}
  .fx{display:inline-flex;align-items:center;font-weight:800;letter-spacing:.18em;color:var(--gold-deep)}
  .fx svg{width:.85em;height:.85em;margin:0 .13em;transform:translateY(.05em)}
  .nav-links{display:flex;gap:34px;align-items:center}
  .nav-links a{color:var(--grey);text-decoration:none;font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;font-weight:600;transition:color .25s}
  .nav-links a:hover{color:var(--gold-deep)}
  .nav-cta{padding:9px 22px;border:1.5px solid var(--gold);border-radius:40px;color:var(--gold-deep)!important}
  .nav-cta:hover{background:var(--gold);color:#fff!important}
  @media(max-width:820px){.nav-links a:not(.nav-cta){display:none}}
  .lang-sw{display:inline-flex;gap:4px;margin-left:10px}
  .lang-sw button{border:1px solid var(--line);background:#fff;color:var(--grey);font-size:11.5px;font-weight:800;
    letter-spacing:.08em;padding:6px 10px;border-radius:8px;cursor:pointer;transition:all .2s}
  .lang-sw button:hover{color:var(--gold-deep);border-color:var(--gold)}
  .lang-sw button.on{background:var(--navy);border-color:var(--navy);color:#fff}
  @media(max-width:480px){
    nav{padding:10px 3.5vw}
    .nav-logo{gap:6px}
    .nav-word{font-size:14px;letter-spacing:.12em}
    .nav-word svg{width:.8em;height:.8em}
    .nav-cta{padding:6px 12px;font-size:10px;letter-spacing:.06em}
    .lang-sw{gap:3px;margin-left:5px}
    .lang-sw button{padding:5px 6px;font-size:9.5px}
  }

  /* ---------- hero ---------- */
  header{
    position:relative;z-index:2;min-height:100vh;
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    text-align:center;padding:120px 6vw 80px;overflow:hidden;
  }
  .hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
  .hero-overlay{position:absolute;inset:0;z-index:-1;
    background:linear-gradient(180deg,rgba(246,248,251,.94) 0%,rgba(246,248,251,.78) 45%,rgba(246,248,251,.97) 100%)}
  .power-hero{width:min(160px,32vw);height:auto;margin-bottom:32px;filter:drop-shadow(0 10px 30px rgba(246,168,0,.35))}
  .wordmark{font-size:clamp(44px,9vw,104px);font-weight:800;letter-spacing:.14em;line-height:1;
    color:var(--gold);display:flex;align-items:center;justify-content:center;gap:.02em;user-select:none}
  .wordmark .o-icon{width:.82em;height:.82em;margin:0 .06em;transform:translateY(.04em)}
  .subbrand{margin-top:18px;font-size:clamp(11px,1.6vw,15px);letter-spacing:.52em;color:var(--grey);text-transform:uppercase;font-weight:600}
  .tagline{margin-top:44px;font-size:clamp(22px,3.4vw,40px);font-weight:300;max-width:920px;line-height:1.3;color:var(--navy-deep)}
  .tagline b{font-weight:800;background:linear-gradient(90deg,var(--gold-deep),var(--gold),var(--navy));
    -webkit-background-clip:text;background-clip:text;color:transparent}
  .herosub{margin-top:20px;color:var(--grey);font-size:clamp(15px,1.8vw,18px);max-width:700px;line-height:1.7}
  .hybrid-pills{margin-top:30px;display:flex;gap:14px;flex-wrap:wrap;justify-content:center}
  .pill{display:flex;align-items:center;gap:9px;padding:10px 22px;border-radius:40px;
    background:#fff;border:1.5px solid var(--line);color:var(--navy);font-weight:700;font-size:14.5px;
    letter-spacing:.06em;box-shadow:0 4px 16px rgba(21,42,82,.06)}
  .pill .dot{width:10px;height:10px;border-radius:50%}
  .cta-row{margin-top:42px;display:flex;gap:18px;flex-wrap:wrap;justify-content:center}
  .btn{padding:15px 38px;border-radius:50px;font-size:15px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
    text-decoration:none;transition:all .3s;cursor:pointer}
  .btn-gold{background:linear-gradient(135deg,var(--gold),var(--gold-deep));color:#fff;box-shadow:0 8px 28px rgba(246,168,0,.4)}
  .btn-gold:hover{transform:translateY(-3px);box-shadow:0 14px 40px rgba(246,168,0,.55)}
  .btn-ghost{border:1.5px solid var(--navy);color:var(--navy)}
  .btn-ghost:hover{background:var(--navy);color:#fff;transform:translateY(-3px)}
  .scroll-hint{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);color:var(--grey);font-size:22px;animation:bob 2.2s ease-in-out infinite}
  @keyframes bob{0%,100%{transform:translate(-50%,0);opacity:.5}50%{transform:translate(-50%,10px);opacity:1}}

  /* ---------- sections ---------- */
  section{position:relative;z-index:2;padding:100px 6vw;max-width:1250px;margin:0 auto}
  .kicker{color:var(--gold-deep);letter-spacing:.4em;text-transform:uppercase;font-size:12.5px;font-weight:800;margin-bottom:16px}
  h2{font-size:clamp(30px,4.4vw,50px);font-weight:800;line-height:1.15;margin-bottom:22px;color:var(--navy-deep)}
  .lead{color:var(--grey);font-size:17.5px;line-height:1.85;max-width:840px}
  .lead b{color:var(--navy-deep)}

  /* stats */
  .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:22px;margin-top:26px}
  .stat{
    background:var(--card);border:1px solid var(--line);border-radius:20px;
    padding:34px 26px;text-align:center;transition:transform .35s,box-shadow .35s;
    box-shadow:0 6px 24px rgba(21,42,82,.06);
  }
  .stat:hover{transform:translateY(-6px);box-shadow:0 16px 40px rgba(21,42,82,.12)}
  .stat .num{font-size:44px;font-weight:800;color:var(--gold-deep);line-height:1}
  .stat .num span{font-size:22px;font-weight:600}
  .stat .lbl{margin-top:12px;color:var(--grey);font-size:14px;letter-spacing:.06em;line-height:1.5}

  /* cards */
  .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:24px;margin-top:48px}
  .card{
    background:var(--card);border:1px solid var(--line);border-radius:22px;padding:38px 32px;
    transition:transform .35s,box-shadow .35s;box-shadow:0 6px 24px rgba(21,42,82,.05);
  }
  .card:hover{transform:translateY(-7px);box-shadow:0 20px 46px rgba(21,42,82,.13)}
  .card .ico{width:52px;height:52px;margin-bottom:22px}
  .card h3{font-size:21px;margin-bottom:13px;color:var(--navy-deep)}
  .card p{color:var(--grey);font-size:15px;line-height:1.75}
  .card p b{color:var(--gold-deep);font-weight:700}

  /* imagery */
  .split{display:grid;grid-template-columns:1.1fr 1fr;gap:52px;align-items:stretch;margin-top:20px}
  @media(max-width:900px){.split{grid-template-columns:1fr}}
  .imgframe{border-radius:26px;overflow:hidden;box-shadow:0 24px 60px rgba(21,42,82,.18);border:1px solid var(--line);position:relative}
  .imgframe img{display:block;width:100%;height:auto}
  .split .imgframe{min-height:380px}
  .split .imgframe img{width:100%;height:100%;object-fit:cover}
  @media(max-width:900px){.split .imgframe{min-height:0;max-height:340px}}
  .imgframe .cap{position:absolute;left:0;right:0;bottom:0;padding:14px 22px;font-size:13px;letter-spacing:.06em;
    color:#fff;background:linear-gradient(180deg,transparent,rgba(21,42,82,.85));font-weight:600}
  .wide-img{margin-top:48px}
  .wide-img .caption{margin-top:14px;color:var(--grey);font-size:14px;text-align:center;letter-spacing:.04em}

  .fit-natural img{width:100%!important;height:auto!important;object-fit:unset!important}
  .photo-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px;margin-top:44px}
  .photo-grid .imgframe img{width:100%;height:260px;object-fit:cover}

  /* reveal */
  .reveal{opacity:0;transform:translateY(36px);transition:opacity .9s ease,transform .9s ease}
  .reveal.on{opacity:1;transform:none}

  /* contact */
  .contact-box{margin-top:44px;display:flex;flex-wrap:wrap;gap:26px}
  .contact-item{
    flex:1;min-width:250px;background:var(--card);border:1px solid var(--line);
    border-radius:20px;padding:32px;box-shadow:0 6px 24px rgba(21,42,82,.06);
  }
  .contact-item .ci-lbl{color:var(--gold-deep);font-size:12px;letter-spacing:.3em;text-transform:uppercase;font-weight:800;margin-bottom:12px}
  .contact-item a{color:var(--navy-deep);text-decoration:none;font-size:19px;font-weight:700}
  .contact-item a:hover{color:var(--gold-deep)}
  .contact-item p{color:var(--grey);font-size:15.5px;line-height:1.65}

  footer{
    position:relative;z-index:2;text-align:center;padding:46px 6vw 40px;
    border-top:1px solid var(--line);color:var(--grey);font-size:13.5px;letter-spacing:.05em;line-height:2;
    background:#fff;
  }
  footer .fx{color:var(--gold-deep);font-weight:800;letter-spacing:.18em}

  /* ---------- animated power icon ---------- */
  .pwr-ring{transform-origin:50% 50%;animation:spin 14s linear infinite}
  @keyframes spin{to{transform:rotate(360deg)}}
  .pwr-glow{animation:pulse 2.6s ease-in-out infinite;transform-origin:50% 50%}
  @keyframes pulse{0%,100%{opacity:.2;transform:scale(.94)}50%{opacity:.6;transform:scale(1.06)}}
  .pwr-line{animation:linepulse 2.6s ease-in-out infinite}
  @keyframes linepulse{0%,100%{opacity:.85}50%{opacity:1}}
