:root{--green:#17cf5a;--deep:#04331f;--ink:#10212b;--muted:#61727c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--ink);background:#fff}.container{width:min(1350px,calc(100% - 80px));margin:auto}.topbar{height:29px;background:#004827;color:#fff;font-size:10px}.topbar-in{height:100%;display:flex;align-items:center;justify-content:space-between}.header{height:66px;background:#fff;position:sticky;top:0;z-index:20;box-shadow:0 1px 9px #00000012}.nav{height:100%;display:flex;align-items:center;gap:28px}.logo{width:205px;display:block}.logo img{width:190px;height:auto;display:block}.nav nav{margin-left:auto;display:flex;gap:32px}.nav nav a{font-size:12px;font-weight:800;color:#14222a;position:relative;white-space:nowrap}.nav nav a:hover,.nav nav .active{color:#078f3c}.nav nav .active:after{content:"";position:absolute;left:0;right:0;bottom:-22px;height:3px;background:var(--green)}.btn{display:inline-flex;align-items:center;gap:13px;background:#078e3d;color:#fff;border-radius:26px;padding:13px 20px;font-size:11px;font-weight:900;white-space:nowrap}.btn b{font-size:18px;line-height:0}.big{padding:15px 22px}.menu{display:none;border:0;background:none;font-size:24px}.hero{height:650px;position:relative;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url("../images/generated-hero.jpg") center 40%/cover no-repeat}.hero-dark{position:absolute;inset:0;background:linear-gradient(90deg,#03140fe8 0%,#03150fa8 38%,#03150f35 73%,#03150f18),linear-gradient(0deg,#03120df0,transparent 40%)}.hero-grid{height:100%;position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center}.hero-copy{padding-top:15px}.eyebrow{font-size:10px;font-weight:800;letter-spacing:.25em;margin-bottom:14px}.hero h1{font-size:clamp(50px,6vw,82px);line-height:.92;letter-spacing:-.055em;margin:0 0 20px;font-weight:900}.hero h1 span,.contact h2 span,.about-copy h2 span{color:#5bf887}.hero-copy p{font-size:16px;line-height:1.65;max-width:570px;margin:0 0 25px}.actions{display:flex;align-items:center;gap:28px}.watch{display:flex;gap:10px;align-items:center;font-size:11px;font-weight:800}.watch i{width:32px;height:32px;border:2px solid #fff;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:9px}.trust{display:flex;gap:28px;margin-top:34px}.trust>div{display:flex;align-items:center;gap:10px;padding-right:25px;border-right:1px solid #ffffff55}.trust>div:last-child{border:0}.trust strong{font-size:25px;color:#52ff86}.trust span{font-size:10px;font-weight:600;line-height:1.4}.hero-float{position:relative;height:100%}.hud{position:absolute;right:95px;top:105px;width:300px;height:190px;border:1px solid #54ff8b66;border-radius:20px;background:#063d2980;backdrop-filter:blur(9px);display:flex;align-items:center;justify-content:center;gap:10px;transform:perspective(700px) rotateY(-8deg)}.hud-ring{font-size:78px;color:#55ff89;text-shadow:0 0 25px #33ff75}.hud b{font-size:26px;display:block}.hud small{font-size:8px;letter-spacing:.15em}.bars{display:flex;height:30px;align-items:end;gap:3px;margin-top:8px}.bars i{width:8px;background:#4cff85}.bars i:nth-child(1){height:9px}.bars i:nth-child(2){height:14px}.bars i:nth-child(3){height:19px}.bars i:nth-child(4){height:25px}.bars i:nth-child(5){height:30px}.side{position:absolute;right:10px;top:95px;font-size:11px;line-height:1.5;letter-spacing:.2em}.side div{width:38px;height:2px;background:#51ff84;margin-top:13px}.cards{position:relative;z-index:5;margin-top:-42px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.card{height:225px;position:relative;border-radius:13px;overflow:hidden;color:#fff;box-shadow:0 14px 32px #0003;background:#062117}.card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:.5s}.card:hover img{transform:scale(1.06)}.shade{position:absolute;inset:0;background:linear-gradient(0deg,#03130cf0 0%,#03130c55 70%)}.cardbody{position:absolute;left:25px;right:20px;bottom:18px;display:flex;gap:16px;align-items:end}.ico{font-size:38px;color:#52ff85}.card h2{font-size:23px;margin:0 0 5px}.card p{font-size:11px;line-height:1.45;margin:0 0 7px;max-width:285px}.card b{font-size:10px;color:#51ff84}.stats{background:#032519;color:#fff;background-image:linear-gradient(90deg,#032519ed,#032519ed),url("../images/generated-about.jpg");background-size:cover;background-position:center}.stats-in{height:110px;display:grid;grid-template-columns:1.2fr 1fr 1fr 1fr 1.2fr;align-items:center}.stats-in>div{height:50px;display:flex;justify-content:center;align-items:center;gap:12px;border-right:1px solid #ffffff38}.stats-in>div:last-child{border:0}.stats-in b{font-size:30px}.stats-in span{font-size:10px}.planet strong{font-size:40px;color:#52ff85}.about{padding-top:88px;padding-bottom:88px;display:grid;grid-template-columns:1fr 1.1fr .8fr;gap:35px;align-items:center}.green{color:#0b9b46}.about-copy h2{font-size:40px;line-height:1.05;letter-spacing:-.045em;margin:7px 0 17px}.about-copy p{font-size:13px;line-height:1.8;color:var(--muted);margin-bottom:24px}.about-pic{height:320px;border-radius:19px;background:url("../images/generated-about.jpg") center/cover;position:relative;overflow:hidden}.about-glass{position:absolute;left:24px;bottom:23px;padding:18px;border:1px solid #ffffff88;border-radius:11px;background:#073c27aa;backdrop-filter:blur(8px);color:#fff;font-size:13px;letter-spacing:.08em}.about-glass em{display:block;width:32px;height:2px;background:#50ff84;margin-top:11px}.values{display:grid;gap:23px}.values>div{display:flex;gap:14px}.values i{width:43px;height:43px;border-radius:50%;background:#d2ffde;color:#099845;display:grid;place-items:center;font-style:normal;font-size:21px;flex:none}.values b{font-size:13px}.values small{display:block;color:#647680;font-size:10px;line-height:1.5;margin-top:4px}.contact{background:#032016;color:#fff;padding:75px 0;background-image:radial-gradient(circle at 80% 50%,#14d85a28,transparent 35%)}.contact-in{display:flex;justify-content:space-between;align-items:center}.contact h2{font-size:50px;line-height:1;letter-spacing:-.05em;margin:5px 0 0}.wa{position:fixed;left:20px;bottom:20px;width:54px;height:54px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;font-size:27px;z-index:30;box-shadow:0 8px 25px #0004}
@media(max-width:1050px){.nav nav{gap:16px}.nav nav a{font-size:10px}.hero-grid{grid-template-columns:1fr}.hero-float{display:none}.about{grid-template-columns:1fr 1fr}.values{grid-column:1/-1;grid-template-columns:repeat(3,1fr)}}@media(max-width:700px){.container{width:calc(100% - 28px)}.topcontact{display:none}.nav{justify-content:space-between}.menu{display:block}.nav nav{display:none;position:absolute;top:66px;left:14px;right:14px;background:#fff;padding:20px;flex-direction:column;gap:18px;box-shadow:0 14px 28px #0002}.nav nav.open{display:flex}.nav nav .active:after{display:none}.nav>.btn{display:none}.logo{width:160px}.logo img{width:155px}.hero{height:auto;min-height:720px}.hero-grid{padding:70px 0}.hero h1{font-size:52px}.actions{flex-wrap:wrap}.trust{gap:12px}.trust>div{padding-right:12px}.trust span{font-size:8px}.cards{grid-template-columns:1fr;margin-top:-25px}.stats-in{height:auto;grid-template-columns:1fr 1fr;padding:18px 0}.stats-in>div{border:0;border-bottom:1px solid #ffffff25;margin:5px 0}.about{grid-template-columns:1fr;padding-top:65px;padding-bottom:65px}.about-copy h2{font-size:35px}.values{grid-template-columns:1fr}.contact-in{display:block}.contact h2{font-size:40px}.contact-in .btn{margin-top:22px}}


/* ================= RMITHA PHASE 2A ================= */
.btn{position:relative;overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}
.btn::before{content:"";position:absolute;top:0;bottom:0;left:-120%;width:70%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);transition:left .65s ease;pointer-events:none}
.btn:hover::before{left:150%}.btn:hover{transform:translateY(-3px);box-shadow:0 12px 28px rgba(7,142,61,.25)}
.btn b{display:inline-block;transition:transform .3s ease}.btn:hover b{transform:translateX(5px)}
.hero-bg{transform:scale(1.03);animation:rmithaHeroZoom 14s ease-in-out infinite alternate;will-change:transform}
@keyframes rmithaHeroZoom{from{transform:scale(1.03)}to{transform:scale(1.10)}}
.hero-copy .eyebrow,.hero-copy h1,.hero-copy>p,.hero-copy .actions,.hero-copy .trust{opacity:0;animation:rmithaFadeUp .8s ease forwards}
.hero-copy h1{animation-delay:.12s}.hero-copy>p{animation-delay:.24s}.hero-copy .actions{animation-delay:.36s}.hero-copy .trust{animation-delay:.48s}
@keyframes rmithaFadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
.hero-float{animation:rmithaFloat 5s ease-in-out infinite}
@keyframes rmithaFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-9px)}}
.hud-ring{animation:rmithaPulse 2.8s ease-in-out infinite}
@keyframes rmithaPulse{0%,100%{opacity:.75;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}
.card{transition:transform .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s ease}
.card img{transition:transform .75s cubic-bezier(.2,.8,.2,1),filter .45s ease}
.card:hover{transform:translateY(-9px);box-shadow:0 24px 50px rgba(0,0,0,.22)}
.card:hover img{transform:scale(1.09);filter:saturate(1.08)}
.cardbody b{display:inline-block;transition:transform .3s ease,letter-spacing .3s ease}
.card:hover .cardbody b{transform:translateX(6px);letter-spacing:.04em}
.nav nav a::after{content:"";position:absolute;left:0;right:100%;bottom:-7px;height:2px;background:var(--green);transition:right .3s ease}
.nav nav a:hover::after{right:0}
.wa{animation:rmithaWhatsApp 2.5s ease-in-out infinite}
@keyframes rmithaWhatsApp{0%,100%{box-shadow:0 8px 25px #0004,0 0 0 0 rgba(37,211,102,.35)}50%{box-shadow:0 8px 25px #0004,0 0 0 10px rgba(37,211,102,0)}}
@media(prefers-reduced-motion:reduce){.hero-bg,.hero-float,.hud-ring,.wa,.hero-copy .eyebrow,.hero-copy h1,.hero-copy>p,.hero-copy .actions,.hero-copy .trust{animation:none!important;opacity:1!important;transform:none!important}}
@media(max-width:700px){.hero-bg{animation-duration:20s}.hero-float{display:none}.card:hover{transform:translateY(-5px)}}
/* ================= RMITHA PHASE 2D ================= */

/* Scroll Progress Bar */

#rmitha-scroll-progress {
    position: fixed;
    top: 0;
    left: 0;
    width: 0%;
    height: 3px;
    background: var(--green);
    z-index: 99999;
    transition: width 0.08s linear;
}


/* Back To Top Button */

#rmitha-back-top {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 46px;
    height: 46px;
    border: 0;
    border-radius: 50%;
    background: var(--deep);
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    cursor: pointer;
    opacity: 0;
    visibility: hidden;
    transform: translateY(15px);
    transition:
        opacity .3s ease,
        visibility .3s ease,
        transform .3s ease,
        background .3s ease;
    z-index: 9998;
    box-shadow: 0 8px 25px rgba(0,0,0,.25);
}

#rmitha-back-top.show {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

#rmitha-back-top:hover {
    background: var(--green);
    transform: translateY(-4px);
}


/* Mobile */

@media (max-width: 700px) {

    #rmitha-back-top {
        right: 16px;
        bottom: 16px;
        width: 42px;
        height: 42px;
        font-size: 18px;
    }

    #rmitha-scroll-progress {
        height: 2px;
    }
}
/* ================= RMITHA PARALLAX ================= */

.hero-bg {
    --hero-parallax: 0px;
    transform: translateY(var(--hero-parallax)) scale(1.03);
}

/* Keep the existing slow zoom effect while allowing parallax */
@keyframes rmithaHeroZoom {
    from {
        transform: translateY(var(--hero-parallax)) scale(1.03);
    }

    to {
        transform: translateY(var(--hero-parallax)) scale(1.10);
    }
}

/* Disable parallax on small screens for better performance */
@media (max-width: 700px) {
    .hero-bg {
        --hero-parallax: 0px;
    }
}

/* ================= RMITHA PHASE 2E - MOBILE ================= */

@media (max-width: 700px) {

    /* Prevent horizontal scrolling */
    html,
    body {
        max-width: 100%;
        overflow-x: hidden;
    }

    /* Header */
    .header {
        min-height: 70px;
    }

    .nav {
        padding: 0 16px;
    }

    .logo img {
        max-width: 145px;
        height: auto;
    }

    /* Mobile navigation */
    .nav nav {
        position: absolute;
        top: 70px;
        left: 12px;
        right: 12px;
        width: auto;
        padding: 18px;
        background: #ffffff;
        border-radius: 12px;
        box-shadow: 0 15px 40px rgba(0,0,0,.18);
        z-index: 9999;
    }

    .nav nav a {
        padding: 12px 8px;
        display: block;
    }

    .nav > .btn {
        display: none;
    }

    .menu {
        display: block;
        cursor: pointer;
    }


    /* Hero */
    .hero {
        min-height: 680px;
    }

    .hero-grid {
        min-height: 680px;
        display: flex;
        align-items: center;
    }

    .hero-copy {
        width: 100%;
        padding: 80px 20px 40px;
    }

    .hero-copy h1 {
        font-size: clamp(42px, 12vw, 62px);
        line-height: .95;
        letter-spacing: -.045em;
    }

    .hero-copy p {
        font-size: 15px;
        line-height: 1.65;
        max-width: 100%;
    }

    .hero-copy .eyebrow {
        font-size: 10px;
        letter-spacing: .12em;
    }

    /* Hero buttons */
    .actions {
        flex-direction: column;
        align-items: flex-start;
        gap: 14px;
    }

    .actions .btn.big {
        width: auto;
    }

    /* Hero trust items */
    .trust {
        gap: 16px;
        flex-wrap: wrap;
    }

    .trust div {
        font-size: 11px;
    }

    /* Hide desktop floating HUD */
    .hero-float {
        display: none;
    }


    /* Service cards */
    .cards {
        grid-template-columns: 1fr;
        gap: 16px;
        padding-left: 16px;
        padding-right: 16px;
    }

    .card {
        min-height: 300px;
    }


    /* Statistics */
    .stats-in {
        grid-template-columns: repeat(2, 1fr);
        gap: 25px 15px;
        text-align: center;
    }

    .stats-in .planet {
        display: none;
    }

    .stats-in > div {
        padding: 10px;
    }


    /* About */
    .about {
        padding-left: 20px;
        padding-right: 20px;
    }

    .about-copy h2 {
        font-size: clamp(34px, 9vw, 48px);
        line-height: 1;
    }

    .values {
        gap: 16px;
    }


    /* Contact */
    .contact-in {
        padding: 50px 20px;
        flex-direction: column;
        align-items: flex-start;
        gap: 25px;
    }

    .contact h2 {
        font-size: clamp(38px, 10vw, 55px);
    }


    /* WhatsApp */
    .wa {
        right: 16px;
        bottom: 72px;
    }


    /* Back to top */
    #rmitha-back-top {
        right: 16px;
        bottom: 16px;
    }
}
/* ================= RMITHA MOBILE HERO ================= */

@media (max-width: 700px) {

    .hero {
        background: #03140f;
    }

    /* Hide the desktop hero image on mobile */
    .hero-bg {
        display: none !important;
    }

    /* Clean mobile background */
    .hero-dark {
        display: block !important;
        background:
            radial-gradient(
                circle at 80% 20%,
                rgba(23,207,90,.18),
                transparent 40%
            ),
            linear-gradient(
                180deg,
                #06261a 0%,
                #03140f 100%
            ) !important;
    }

    /* Give the mobile hero a little more breathing room */
    .hero-grid {
        min-height: 680px;
    }

    .hero-copy {
        padding-top: 100px;
        padding-bottom: 60px;
    }

    /* RMITHA branding above the hero text */
    .hero-copy::before {
        content: "RMITHA";
        display: block;
        color: #17cf5a;
        font-size: 22px;
        font-weight: 900;
        letter-spacing: .12em;
        margin-bottom: 28px;
    }

    .hero-copy h1 {
        font-size: clamp(40px, 11vw, 58px);
    }

}


/* ===== RMITHA PREMIUM FOOTER ===== */

.rmitha-footer {
    position: relative;
    overflow: hidden;
    background: linear-gradient(135deg, #03140f 0%, #082b1e 55%, #041a12 100%);
    color: #f5fff8;
    padding: 76px 0 0;
    margin-top: 0;
    border-top: 3px solid #17cf5a;
}

.rmitha-footer::before {
    content: "";
    position: absolute;
    width: 420px;
    height: 420px;
    right: -160px;
    top: -230px;
    border-radius: 50%;
    border: 1px solid rgba(23,207,90,.16);
    box-shadow: 0 0 0 45px rgba(23,207,90,.035),
                0 0 0 90px rgba(23,207,90,.025);
    pointer-events: none;
}

.rmitha-footer .footer-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1.25fr 1.45fr 1fr 1fr;
    gap: 42px;
    padding: 0 24px 55px;
}

.rmitha-footer h2 {
    color: #20db68;
    font-size: 34px;
    font-weight: 900;
    letter-spacing: -1.5px;
    margin: 0 0 5px;
}

.rmitha-footer h3 {
    color: #ffffff;
    font-size: 16px;
    font-weight: 750;
    margin: 5px 0 24px;
    position: relative;
    padding-bottom: 13px;
}

.rmitha-footer h3::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 38px;
    height: 3px;
    border-radius: 3px;
    background: #20db68;
}

.rmitha-footer p {
    color: #b8cec1;
    font-size: 13.5px;
    line-height: 1.9;
    margin: 0 0 14px;
    overflow-wrap: anywhere;
}

.rmitha-footer .footer-about > p:first-of-type {
    color: #20db68;
    font-size: 14px;
    font-weight: 650;
    margin-bottom: 18px;
}

.rmitha-footer a {
    color: #c9dbd0;
    text-decoration: none;
    overflow-wrap: anywhere;
    transition: color .25s ease, transform .25s ease;
}

.rmitha-footer a:hover {
    color: #20db68;
}

.rmitha-footer .footer-address > a {
    display: inline-block;
    color: #20db68;
    font-size: 13px;
    font-weight: 650;
    margin-top: 4px;
}

.rmitha-footer .footer-contact a {
    color: #e8f6ed;
}

.rmitha-footer .footer-services a {
    display: block;
    position: relative;
    font-size: 13.5px;
    line-height: 1.6;
    padding: 0 0 13px 17px;
}

.rmitha-footer .footer-services a::before {
    content: "→";
    position: absolute;
    left: 0;
    color: #20db68;
    transition: transform .25s ease;
}

.rmitha-footer .footer-services a:hover::before {
    transform: translateX(4px);
}

.rmitha-footer .footer-bottom {
    position: relative;
    z-index: 1;
    border-top: 1px solid rgba(255,255,255,.11);
    padding: 22px 20px;
    text-align: center;
    color: #91ab9b;
    font-size: 12px;
    letter-spacing: .3px;
}

@media (max-width: 1000px) {
    .rmitha-footer .footer-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 38px;
    }
}

@media (max-width: 600px) {
    .rmitha-footer {
        padding-top: 48px;
    }

    .rmitha-footer .footer-grid {
        grid-template-columns: 1fr;
        gap: 28px;
        padding: 0 22px 35px;
    }

    .rmitha-footer h2 {
        font-size: 31px;
    }

    .rmitha-footer h3 {
        margin-bottom: 17px;
    }

    .rmitha-footer .footer-bottom {
        line-height: 1.8;
        padding: 18px 16px;
    }
}

footer.rmitha-footer {
    background: #03140f !important;
    color: #ffffff !important;
    min-height: 300px !important;
}

footer.rmitha-footer h2,
footer.rmitha-footer h3 {
    color: #20db68 !important;
}

footer.rmitha-footer p,
footer.rmitha-footer a {
    color: #ffffff !important;
}



/* Solar hero heading alignment fix */
.hero h1,
.hero-title {
    font-size: clamp(32px, 3.8vw, 52px);
    line-height: 1.08;
    max-width: 720px;
    margin-bottom: 20px;
    overflow-wrap: break-word;
    word-break: normal;
}

.hero {
    min-height: 600px;
    height: auto;
    overflow: visible;
}

@media (max-width: 768px) {
    .hero h1,
    .hero-title {
        font-size: clamp(30px, 7vw, 40px);
        line-height: 1.12;
        max-width: 100%;
    }

    .hero {
        min-height: 620px;
        height: auto;
    }
}

/* RMITHA solar hero - layout correction */
.service-hero {
    height: auto !important;
    min-height: 680px;
    overflow: visible !important;
    display: flex;
    align-items: center;
    padding: 90px 0 100px;
    box-sizing: border-box;
}

.service-hero .service-copy {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 28px;
    box-sizing: border-box;
}

.service-hero h1 {
    max-width: 780px;
    font-size: clamp(34px, 4.2vw, 58px);
    line-height: 1.08;
    margin: 18px 0 22px;
    overflow-wrap: normal;
    word-break: normal;
}

.service-hero p {
    max-width: 700px;
    font-size: 16px;
    line-height: 1.75;
    margin-bottom: 28px;
}

@media (max-width: 768px) {
    .service-hero {
        min-height: 0;
        padding: 90px 0 70px;
    }

    .service-hero .service-copy {
        padding: 0 22px;
    }

    .service-hero h1 {
        font-size: clamp(32px, 8vw, 42px);
        line-height: 1.12;
    }

    .service-hero p {
        font-size: 15px;
        line-height: 1.7;
    }
}
