/* =====================================================================
   ULH Hydro — merged stylesheet
   Theme tokens unified to index.php. Rules merged & de-duplicated from
   index, about, services, case-studies and the contact form.
   ===================================================================== */

.heading-rule {
    display: none;
}

:root{
    /* Theme tokens — sourced from index.php (Tailwind config) */
    --hydro-blue:  #005ca9;
    --hydro-teal:  #25306d;
    --hydro-green: #05BFDB;
    --hydro-light: #EFFFFB;
    --nature-green:#2D5A27;
    --green-button:#00FF66;
    --slate-800:   #1e293b;
    --slate-600:   #475569;
    --slate-500:   #64748b;
    --slate-400:   #94a3b8;
    --border-soft: #e2efec;
}

::-webkit-scrollbar { display: none; }
body { scroll-behavior: smooth; }
.organic-shape-1 { border-radius: 60% 40% 30% 70% / 60% 30% 70% 40%; }
.organic-shape-2 { border-radius: 40% 60% 70% 30% / 40% 50% 60% 50%; }
.water-gradient {
            background: linear-gradient(135deg, #f0fdfa 0%, #e0f2fe 100%);
        }
.reveal { opacity: 0; transform: translateY(30px); transition: all 0.8s ease-out; }
.reveal.active { opacity: 1; transform: translateY(0); }
@keyframes wave {
            0% { transform: translateX(0) translateZ(0) scaleY(1) }
            50% { transform: translateX(-25%) translateZ(0) scaleY(0.8) }
            100% { transform: translateX(-50%) translateZ(0) scaleY(1) }
        }
.wave-animation { animation: wave 15s linear infinite; }
.green-button{
			background-color:#00FF66;
			color:#000!important;
		
		}
.section-heading { font-family:'Playfair Display', serif; font-weight:600; color: var(--hydro-blue); }
.ulh-nav { position: fixed; width: 100%; z-index: 1050; top: 1.25rem; left: 0; padding: 0 1rem; transition: top .3s ease; }

@media (max-width: 560px){
footer#footer .btm-text {
    text-align: center;
}
h1, h1[class] {
    line-height: 55px !important;
    font-size: 41px !important;
}
}

@media (max-width: 767px){
.ulh-nav-inner .home-btn {
display:none!important;
    padding: 10px;
    font-size: 8px!important;
}

.ulh-nav-inner img {
    height: 47px!important;
}
.home-impact h2 {
    font-size: 22px;
}
}
div#mobileMenu {
    z-index: 9999;
}
.offcanvas-header.border-bottom {
    justify-content: space-between;
}

@media (min-width: 768px){ .ulh-nav { padding: 0 2rem; } }
@media (min-width: 992px){ .ulh-nav { padding: 0 3rem; } }
.ulh-nav-inner {
            max-width: 80rem; margin: 0 auto; border-radius: 9999px;
            padding: .6rem 1.5rem;
            background: rgba(255,255,255,.75);
            backdrop-filter: blur(12px);
            border: 1px solid var(--border-soft);
            box-shadow: 0 8px 30px rgba(10,77,104,.08);
        }
.ulh-nav-link {
            color: var(--slate-600); text-decoration: none; font-weight: 500;
            font-size: .9rem; transition: color .2s ease;
        }
.ulh-nav-link:hover { color: var(--hydro-teal); }
.ulh-nav-link.active { color: var(--hydro-teal); font-weight: 700; }
.btn-pill { border-radius: 9999px; transition: all .25s ease; font-weight: 700; }
.btn-hydro { background: var(--hydro-blue); color: #fff; border: 1px solid var(--hydro-blue); }
.btn-hydro:hover { background: var(--hydro-teal); border-color: var(--hydro-teal); color: #fff; box-shadow: 0 10px 24px rgba(8,131,149,.25); }
.btn-outline-hydro { background: transparent; color: var(--hydro-teal); border: 2px solid var(--hydro-teal); }
.btn-outline-hydro:hover { background: var(--hydro-teal); color: #fff; }
.badge-pill {
            display:inline-flex; align-items:center; gap:.6rem;
            padding:.4rem 1rem; border-radius:9999px;
            font-size:.72rem; text-transform:uppercase; letter-spacing:.16em; font-weight:700;
            background: var(--hydro-light); color: var(--hydro-teal);
            border: 1px solid rgba(8,131,149,.18);
        }
.pulse-dot { width:.5rem; height:.5rem; border-radius:50%; background: var(--hydro-teal); animation: pulse 2s infinite; }
@keyframes pulse { 0%,100%{opacity:1;} 50%{opacity:.3;} }
.border-l-accent { border-left: 2px solid var(--hydro-teal); }
/* hero-section consolidated below to a single flexible (min-height) rule */
.hero-bg-img { width:100%; height:100%; object-fit:cover; opacity:1; mix-blend-mode:luminosity; }
.hero-wash {
            position:absolute; inset:0;
            background: linear-gradient(to bottom, rgba(239,255,251,.82), rgba(255,255,255,.9), #ffffff);
        }
.gradient-text {
            background: linear-gradient(100deg, var(--hydro-teal), var(--hydro-green));
            -webkit-background-clip: text; background-clip: text; color: transparent;
        }
.panel-card { background:#fff; border:1px solid var(--border-soft); border-radius:1rem; transition: all .3s ease; }
.feature-card:hover { border-color: var(--hydro-teal) !important; box-shadow: 0 18px 40px rgba(10,77,104,.10); transform: translateY(-4px); }
.icon-tile {
            width:3.5rem; height:3.5rem; border-radius:1rem; display:flex; align-items:center; justify-content:center; font-size:1.5rem;
        }
.icon-tile.teal  { background: rgba(8,131,149,.10);  color: var(--hydro-teal); }
.icon-tile.green { background: rgba(5,191,219,.12);  color: var(--hydro-green); }
.eco-stage { position:relative; min-height:600px; display:flex; align-items:center; justify-content:center; }
.hub-center {
            z-index:20; width:12rem; height:12rem; border-radius:50%;
            background: var(--hydro-blue);
            display:flex; flex-direction:column; align-items:center; justify-content:center;
            text-align:center; padding:1rem; color:#fff;
            box-shadow: 0 20px 50px rgba(10,77,104,.30);
        }
.spoke {
            position:absolute; width:12rem; padding:1rem; border-radius:.75rem;
            background:#fff; border:1px solid var(--border-soft); text-align:center;
            box-shadow: 0 8px 24px rgba(10,77,104,.06);
        }
.spoke-tl { transform: translate(-16rem,-12rem); }
.spoke-tr { transform: translate(16rem,-12rem); }
.spoke-mr { transform: translate(20rem,0); }
.spoke-br { transform: translate(16rem,12rem); }
.spoke-bl { transform: translate(-16rem,12rem); }
.spoke-ml { transform: translate(-20rem,0); }
.hub-line { stroke: rgba(8,131,149,.45); stroke-dasharray:4; animation: dash 20s linear infinite; }
@keyframes dash { to { stroke-dashoffset:-1000; } }
@media (max-width: 991.98px){
            .eco-stage { flex-direction:column; min-height:auto; gap:1rem; }
            .spoke { position:relative; transform:none !important; width:100%; max-width:22rem; }
            .hub-center { margin-bottom:1rem; }
            .eco-lines { display:none; }
        }
.type-panel { height:12rem; background: var(--hydro-light); display:flex; align-items:center; justify-content:center; }
.type-panel i { font-size:3.75rem; color: var(--hydro-teal); }
.flow-chip {
            padding:.9rem 1.1rem; border-radius:.75rem; font-size:.7rem; text-transform:uppercase;
            letter-spacing:.08em; font-weight:700; background:#fff; border:1px solid var(--border-soft);
            color: var(--hydro-blue);
        }
.flow-chip.active { color:#fff; background: var(--hydro-teal); border-color: var(--hydro-teal); }
.serve-card { background:#fff; border:1px solid var(--border-soft); transition: background .25s ease, transform .25s ease; }
.serve-card:hover { background: var(--hydro-light); transform: translateY(-3px); }
.serve-card i { color: var(--hydro-teal); }
.serve-card h5 { color: var(--hydro-blue); }
.footer-wrap { position:relative; padding-top:8rem; overflow:hidden; background: var(--hydro-light); }
.footer-bg-img { width:100%; height:100%; object-fit:cover; opacity:.10; mix-blend-mode:luminosity; }
.grad-footer { position:absolute; inset:0; background: linear-gradient(to bottom, rgba(239,255,251,.6), var(--hydro-light)); }
.footer-link { color: var(--slate-600); text-decoration:none; transition: color .2s ease; }
.footer-link:hover { color: var(--hydro-teal); }
.cta-bolt {
            width:4rem; height:4rem; border-radius:50%;
            background: rgba(8,131,149,.10); border:1px solid rgba(8,131,149,.30);
            display:inline-flex; align-items:center; justify-content:center;
        }
.ulh-offcanvas { background:#fff; }
.ulh-offcanvas .ulh-nav-link { display:block; padding:.5rem 0; }
@media (prefers-reduced-motion: reduce) {
            .hub-line, .pulse-dot { animation: none !important; }
            .feature-card:hover, .serve-card:hover { transform: none; }
        }
body { font-family:'Plus Jakarta Sans',sans-serif; color:var(--slate-800); background:#fff; overflow-x:hidden; }
html { scroll-behavior:smooth; }
.font-display { font-family:'Playfair Display',serif; }
.mono-label { font-family:'Plus Jakarta Sans',sans-serif; letter-spacing:.15em; }
.tracking-widest { letter-spacing:.18em; }
.tracking-wider  { letter-spacing:.12em; }
.text-hydro-blue  { color:var(--hydro-blue) !important; }
.text-hydro-teal  { color:var(--hydro-teal) !important; }
.text-hydro-green { color:var(--hydro-green) !important; }
.text-slate       { color:var(--slate-600) !important; }
.bg-hydro-light   { background:var(--hydro-light) !important; }
.bg-light-tint    { background: rgb(234 248 255) !important; }
.section-heading { font-family:'Playfair Display',serif; font-weight:600; color:var(--hydro-blue); }
.heading-rule { width:6rem; height:4px; border-radius:2px; background:linear-gradient(to right,var(--hydro-teal),transparent); }
.heading-rule.green { background:linear-gradient(to right,var(--hydro-green),transparent); }
.btn-outline-blue { background:transparent; color:var(--hydro-blue); border:2px solid var(--hydro-blue); }
.btn-outline-blue:hover { background:var(--hydro-blue); color:#fff; }
.badge-pill.green { color:var(--hydro-green); border-color:rgba(5,191,219,.25); }
.pulse-dot.green { background:var(--hydro-green); }
.hero-section { position:relative; min-height:70vh; padding-top:10rem; padding-bottom:5rem; display:flex; align-items:center; }
.hero-wash { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(239,255,251,.82),rgba(255,255,255,.9),#fff); }
.gradient-text { background:linear-gradient(100deg,var(--hydro-teal),var(--hydro-green)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.stats-panel { position:relative; background:#fff; border:1px solid rgba(8,131,149,.25); border-radius:1rem; padding:1.5rem; box-shadow:0 18px 50px rgba(10,77,104,.10); }
.hud-corner { position:absolute; width:1.25rem; height:1.25rem; }
.stat-box { padding:1rem; border-radius:.75rem; }
.stat-box.teal  { background:rgba(8,131,149,.06);  border:1px solid rgba(8,131,149,.15); }
.stat-box.green { background:rgba(5,191,219,.08); border:1px solid rgba(5,191,219,.18); }
.stat-num { font-family:'Playfair Display',serif; font-weight:700; font-size:2rem; }
.icon-box { width:3.25rem; height:3.25rem; border-radius:.75rem; display:flex; align-items:center; justify-content:center; font-size:1.25rem; }
.icon-box.teal  { background:rgba(8,131,149,.10);  color:var(--hydro-teal);  border:1px solid rgba(8,131,149,.25); }
.icon-box.green { background:rgba(5,191,219,.12); color:var(--hydro-green); border:1px solid rgba(5,191,219,.30); }
.icon-sm { width:2.5rem; height:2.5rem; border-radius:.6rem; display:flex; align-items:center; justify-content:center; font-size:1rem; }
.icon-sm.teal  { background:rgba(8,131,149,.10);  color:var(--hydro-teal);  border:1px solid rgba(8,131,149,.25); }
.icon-sm.green { background:rgba(5,191,219,.12); color:var(--hydro-green); border:1px solid rgba(5,191,219,.30); }
.img-grayscale { filter:grayscale(100%); transition:filter .4s ease; }
.img-grayscale:hover { filter:grayscale(0%); }
.img-badge { position:absolute; bottom:1.5rem; left:1.5rem; background:#fff; border:1px solid rgba(8,131,149,.25); border-radius:.6rem; padding:.6rem .9rem; box-shadow:0 10px 24px rgba(10,77,104,.12); }
.step-row { background:#fff; border:1px solid var(--border-soft); border-radius:.75rem; transition:all .25s ease; }
.step-row:hover { border-color:rgba(8,131,149,.4); box-shadow:0 12px 30px rgba(10,77,104,.08); }
.step-num { font-family:'Playfair Display',serif; font-weight:700; font-size:1.6rem; color:rgba(8,131,149,.35); min-width:2.5rem; }
.tl-line { width:2px; background:linear-gradient(to bottom,transparent,rgba(8,131,149,.35),transparent); transform:translateX(-50%); }
.tl-card { background:#fff; border:1px solid var(--border-soft); border-radius:.75rem; padding:1.25rem; box-shadow:0 10px 26px rgba(10,77,104,.07); }
.tl-card.teal  { border-color:rgba(8,131,149,.22); }
.tl-card.green { border-color:rgba(5,191,219,.25); }
.tl-year { font-weight:700; font-size:.8rem; letter-spacing:.1em; }
.tl-dot { width:2.5rem; height:2.5rem; border-radius:50%; display:flex; align-items:center; justify-content:center; z-index:1; }
.tl-dot.teal  { background:rgba(8,131,149,.16); border:2px solid rgba(8,131,149,.55); color:var(--hydro-teal); }
.tl-dot.green { background:rgba(5,191,219,.18); border:2px solid rgba(5,191,219,.6); color:var(--hydro-green); }
.cta-band { position:relative; overflow:hidden; padding:5rem 0; background:var(--hydro-light); }
.cta-band-img { width:100%; height:100%; object-fit:cover; opacity:.10; mix-blend-mode:luminosity; }
.cta-band-grad { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(239,255,251,.55),rgba(239,255,251,.85)); }
.grad-footer { position:absolute; inset:0; background:linear-gradient(to bottom,rgba(239,255,251,.6),var(--hydro-light)); }
@media (prefers-reduced-motion: reduce) { .pulse-dot { animation:none !important; } .feature-card:hover, .step-row:hover { transform:none; } }
body {
            font-family: 'Plus Jakarta Sans', sans-serif;
            color: var(--slate-800);
            background: #ffffff;
            overflow-x: hidden;
        }
.font-display { font-family: 'Playfair Display', serif; }
.font-sans    { font-family: 'Plus Jakarta Sans', sans-serif; }
/* hero-section: flexible min-height rule (defined above) used site-wide */
.cs-card {
            background:#fff; border:1px solid var(--border-soft); border-radius:1rem; overflow:hidden;
            box-shadow: 0 14px 40px rgba(10,77,104,.08); transition: all .3s ease;
        }
.cs-card:hover { border-color: rgba(8,131,149,.45); box-shadow: 0 22px 50px rgba(10,77,104,.13); }
.cs-img-col { position:relative; overflow:hidden; min-height:24rem; }
.cs-img-col img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.cs-img-overlay { position:absolute; inset:0; background: linear-gradient(to top, rgba(10,77,104,.85), rgba(10,77,104,.15) 55%, transparent); }
.cs-img-caption { position:absolute; bottom:2rem; left:2rem; right:1.5rem; z-index:2; }
.cs-chip {
            display:inline-block; background: var(--hydro-teal); color:#fff; font-weight:700;
            font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; padding:.35rem .85rem; border-radius:9999px;
        }
.cs-title { font-family:'Playfair Display', serif; color:#fff; font-weight:700; margin-top:.6rem; font-size:1.6rem; }
.cs-detail { border-bottom:1px solid var(--border-soft); padding-bottom:.85rem; }
.cs-detail-label { font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color: var(--slate-500); margin-bottom:.25rem; font-weight:600; }
.cs-detail-value { color: var(--hydro-blue); font-weight:600; margin-bottom:0; }
.cs-detail-value.status { color: var(--hydro-teal); }
.cs-check { font-size:.78rem; color: var(--slate-600); font-weight:600; }
.cs-check i { color: var(--hydro-teal); }
.cta-band { position:relative; overflow:hidden; padding:8rem 0; background: var(--hydro-light); }
.cta-band-grad { position:absolute; inset:0; background: linear-gradient(to bottom, rgba(239,255,251,.55), rgba(239,255,251,.85)); }
@media (prefers-reduced-motion: reduce) { .pulse-dot { animation: none !important; } }
.icon-box.teal  { background:rgba(37,48,109,.10); color:var(--hydro-teal); border:1px solid rgba(37,48,109,.25); }
.form-panel { background:#fff; border:1px solid var(--border-soft); border-radius:1rem; box-shadow:0 18px 50px rgba(10,77,104,.08); }
.ulh-label { display:block; font-weight:600; font-size:.85rem; color:var(--hydro-blue); margin-bottom:.4rem; letter-spacing:.01em; }
.ulh-label .req, .req { color:#e11d48; }
.ulh-input, .ulh-select {
    width:100%; padding:.7rem .9rem; border:1px solid var(--border-soft); border-radius:.6rem;
    background:#fff; color:var(--slate-800); font-size:.95rem; font-family:'Plus Jakarta Sans',sans-serif;
    transition:border-color .2s ease, box-shadow .2s ease;
}
.ulh-input:focus, .ulh-select:focus {
    outline:none; border-color:var(--hydro-teal); box-shadow:0 0 0 3px rgba(37,48,109,.12);
}
.ulh-input::placeholder { color:var(--slate-400); }
.ulh-file { padding:.55rem .9rem; }
.ulh-input.is-invalid, .ulh-input.is-invalid-ulh, .ulh-select.is-invalid, .ulh-select.is-invalid-ulh {
    border-color:#e11d48; box-shadow:0 0 0 3px rgba(225,29,72,.10);
}
.field-msg { min-height:1.1rem; font-size:.78rem; color:#e11d48; margin-top:.3rem; }
.form-alert { border-radius:.6rem; padding:.9rem 1.1rem; font-weight:600; font-size:.92rem; }
.form-alert.success { background:rgba(5,191,219,.12); color:var(--hydro-blue); border:1px solid rgba(5,191,219,.35); }
.form-alert.error   { background:rgba(225,29,72,.08); color:#be123c; border:1px solid rgba(225,29,72,.30); }
.detail-item { display:flex; align-items:center; gap:.6rem; color:var(--slate-600); font-size:.92rem; padding:.5rem 0; }
.detail-item i { color:var(--hydro-teal); width:1.25rem; text-align:center; }
.consult-circle { width:4rem; height:4rem; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
    background:rgba(37,48,109,.10); border:1px solid rgba(37,48,109,.30); }
.map-frame { position:relative; border-radius:1rem; overflow:hidden; border:1px solid var(--border-soft); box-shadow:0 18px 50px rgba(10,77,104,.10); }
.map-frame iframe { display:block; width:100%; border:0; }
.hud-c { position:absolute; width:1.5rem; height:1.5rem; }
.req { font-weight:700; }

/* =====================================================================
   index.php — Bootstrap 5 build (design pinned to original Tailwind look)
   ===================================================================== */
.container-7xl { max-width:80rem; margin-left:auto; margin-right:auto; padding-left:1.5rem; padding-right:1.5rem; }

/* Hero */
.home-hero { position:relative; padding:8rem 0 5rem; min-height:800px; display:flex; align-items:center; overflow:hidden; }
.home-hero-bg { position:absolute; top:0; right:0; width:50%; height:100%; z-index:-10; opacity:.2; pointer-events:none; }
.home-hero-bg .blob { position:absolute; filter:blur(64px); }
.home-hero-bg .blob-teal  { top:5rem; right:-10%; width:600px; height:600px; background:var(--hydro-teal); border-radius:60% 40% 30% 70% / 60% 30% 70% 40%; }
.home-hero-bg .blob-green { bottom:2.5rem; right:5%; width:400px; height:400px; background:var(--hydro-green); border-radius:40% 60% 70% 30% / 40% 50% 60% 50%; }
.home-badge { display:inline-block; padding:.25rem 1rem; border-radius:9999px; background:var(--hydro-light); color:var(--hydro-teal); font-size:.75rem; font-weight:700; text-transform:uppercase; letter-spacing:.1em; margin-bottom:1.5rem; }
.home-h1 { font-size:3.75rem; line-height:1.25; color:var(--hydro-blue); margin-bottom:2rem; }
@media (min-width:768px){ .home-h1 { font-size:4.5rem; } }
.home-lead { font-size:1.125rem; color:var(--slate-600); margin-bottom:2.5rem; max-width:32rem; line-height:1.625; }
.home-avatars img { width:3rem; height:3rem; border-radius:50%; border:4px solid #fff; object-fit:cover; }
.home-avatars img + img { margin-left:-1rem; }
.home-trust-text { font-size:.875rem; color:var(--slate-500); font-weight:500; }
.home-hero-media { position:relative; height:600px; }
.home-hero-img { position:absolute; inset:0; overflow:hidden; box-shadow:0 25px 50px -12px rgba(0,0,0,.25); }
.home-hero-img img { width:100%; height:100%; object-fit:cover; }
.home-stat-card { position:absolute; bottom:-1.5rem; left:-1.5rem; background:#fff; padding:1.5rem; border-radius:1.5rem; box-shadow:0 20px 25px -5px rgba(0,0,0,.1); border:1px solid var(--hydro-light); display:flex; align-items:center; gap:1rem; }
.home-stat-icon { width:3rem; height:3rem; background:#dcfce7; color:#16a34a; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:1.25rem; }
.home-stat-num { font-size:1.5rem; font-weight:700; color:var(--hydro-blue); }
.home-stat-label { font-size:.75rem; color:var(--slate-500); text-transform:uppercase; letter-spacing:.05em; font-weight:700; }

/* Section heading helpers */
.home-h2 { font-size:3rem; line-height:1.1; color:var(--hydro-blue); margin-bottom:1.5rem; }
.home-link { color:var(--hydro-teal); font-weight:700; border-bottom:2px solid var(--hydro-teal); padding-bottom:.25rem; text-decoration:none; white-space:nowrap; transition:color .2s ease, border-color .2s ease; }
.home-link:hover { color:var(--hydro-blue); border-color:var(--hydro-blue); }

/* Project Segments */
.home-segments { padding:2.5rem 0; background:rgba(239,255,251,.3); }
.home-seg-block { margin-bottom:6rem; }
.home-seg-pill {
    width: 20rem;
    border-radius: 20px !important;
    max-width: 100%;
    height: 329px;
   
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 2rem;
    color: var(--hydro-teal);
    overflow: hidden;
}
.home-seg-pill.is-pill { border-radius:9999px; }
.home-seg-pill img { border-radius:1rem; max-height:100%; }
.home-h3 { font-size:1.25rem; margin-bottom:.75rem; color:var(--hydro-blue); }
.home-muted { color:var(--slate-600); margin-bottom:0; }

/* Projects */
.home-projects { padding:6rem 0; }
.home-proj-media { position:relative; }
.home-proj-img { height:500px; overflow:hidden; box-shadow:0 25px 50px -12px rgba(0,0,0,.25); }
.home-proj-img img { width:100%; height:100%; object-fit:cover; transition:transform .7s ease; }
.home-proj-img:hover img { transform:scale(1.1); }
.home-proj-accent { position:absolute; top:-1rem; right:-1rem; width:6rem; height:6rem; background:rgba(5,191,219,.2); z-index:-1; }
.home-eyebrow { color:var(--hydro-teal); font-weight:700; margin-bottom:1rem; }
.home-proj-h3 { font-size:2.25rem; margin-bottom:1.5rem; color:var(--hydro-blue); }
.home-proj-p { color:var(--slate-600); margin-bottom:2rem; line-height:1.625; }
.home-stat-n { font-size:1.5rem; font-weight:700; color:var(--hydro-blue); }
.home-stat-c { font-size:.75rem; color:var(--slate-400); text-transform:uppercase; }
.home-textbtn { display:inline-flex; align-items:center; gap:.5rem; font-weight:700; color:var(--hydro-blue); background:none; border:0; padding:0; }
.home-textbtn i { transition:transform .25s ease; }
.home-textbtn:hover i { transform:translateX(.5rem); }

/* Impact */
.home-impact { padding:6rem 0; background:var(--hydro-teal); color:#fff; position:relative; overflow:hidden; }
.home-impact-particles { position:absolute; inset:0; opacity:.1; pointer-events:none; }
.home-impact-particles span { position:absolute; border-radius:50%; }
.home-impact-particles .p1 { top:2.5rem; left:2.5rem; width:1rem; height:1rem; background:#fff; }
.home-impact-particles .p2 { top:50%; right:5rem; width:2rem; height:2rem; background:var(--hydro-green); filter:blur(6px); }
.home-impact-particles .p3 { bottom:5rem; left:33%; width:.75rem; height:.75rem; background:var(--hydro-teal); }
.home-bolt { color:var(--green-button); font-size:1.75rem; }
.home-h2-light { color:#fff; font-size:3rem; line-height:1.1; margin-bottom:1.5rem; }
.home-impact-p { color:rgba(239,255,251,.7); max-width:42rem; }
.home-btn { padding:.75rem 2rem; }

@media (max-width:991.98px){
    .home-hero { min-height:auto; padding-top:7rem; }
    .home-hero-media { height:420px; margin-top:3rem; }
    .home-h1 { font-size:3rem; }
    .home-seg-pill { margin-bottom:2.5rem; }
	.home-seg-pill {
	width: 100%; height:auto;}
}

/* =====================================================================
   Headings — unified to index.php (family + weight)
   ===================================================================== */
h1, h1[class] { font-family:'Playfair Display', serif !important; font-weight:500 !important; }
h2, h2[class] { font-family:'Playfair Display', serif !important; font-weight:400 !important; }
h3, h3[class] { font-family:'Plus Jakarta Sans', sans-serif !important; font-weight:700 !important; }

/* =====================================================================
   Buttons — unified to the index.php home button
   (green fill / black text, hover blue / white, pill, bold, capitalized,
    trailing arrow SVG icon)
   ===================================================================== */
a.btn-pill, button.btn-pill,
a.btn-hydro, button.btn-hydro,
a.btn-outline-hydro, button.btn-outline-hydro,
a.btn-outline-blue, button.btn-outline-blue,
a.bg-green-button, button.bg-green-button,
a.home-btn, button.home-btn {
    background-color: var(--green-button) !important;
    color: #000 !important;
    border: 1px solid var(--green-button) !important;
    border-radius: 9999px !important;
    font-weight: 700 !important;
    font-size: 1rem !important;
    line-height: 1.2 !important;
    text-transform: capitalize !important;
    text-decoration: none !important;
    transition: background-color .25s ease, color .25s ease !important;
}
a.btn-pill:hover, button.btn-pill:hover,
a.btn-hydro:hover, button.btn-hydro:hover,
a.btn-outline-hydro:hover, button.btn-outline-hydro:hover,
a.btn-outline-blue:hover, button.btn-outline-blue:hover,
a.bg-green-button:hover, button.bg-green-button:hover,
a.home-btn:hover, button.home-btn:hover {
    background-color: var(--hydro-blue) !important;
    color: #fff !important;
    border-color: var(--hydro-blue) !important;
}
a.btn-pill::after, button.btn-pill::after,
a.btn-hydro::after, button.btn-hydro::after,
a.btn-outline-hydro::after, button.btn-outline-hydro::after,
a.btn-outline-blue::after, button.btn-outline-blue::after,
a.bg-green-button::after, button.bg-green-button::after,
a.home-btn::after, button.home-btn::after {
    content:"";
    display:inline-block;
    width:1em; height:1em;
    margin-left:.5em;
    vertical-align:-0.125em;
    background-color:currentColor;
    -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 11h12.17l-5.59-5.59L12 4l8 8-8 8-1.41-1.41L16.17 13H4z'/%3E%3C/svg%3E") no-repeat center / contain;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4 11h12.17l-5.59-5.59L12 4l8 8-8 8-1.41-1.41L16.17 13H4z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.home-impact h2 {
    text-transform: uppercase;
}

  /* ===== Micro Hydro Power Projects — self-contained section styles ===== */
        #micro-hydro-projects .mhp-note{
            border-left:4px solid var(--hydro-teal,#12a6a0);
            background:var(--bg-light-tint,#f4f9fb);
            border-radius:1rem;
        }
        #micro-hydro-projects .project-card{
            position:relative;
            overflow:hidden;
            border:1px solid var(--border-soft,#e4ecf2);
            transition:transform .3s ease, box-shadow .3s ease;
        }
        #micro-hydro-projects .project-card:hover{
            transform:translateY(-6px);
            box-shadow:0 18px 40px -18px rgba(10,42,67,.28);
        }
        #micro-hydro-projects .project-tag{
            display:inline-block;
            font-size:.62rem;
            font-weight:700;
            letter-spacing:.12em;
            padding:.35rem .75rem;
            border-radius:999px;
            margin-bottom:1.25rem;
        }
        #micro-hydro-projects .project-tag.teal{color:var(--hydro-teal,#12a6a0);background:rgba(18,166,160,.10);}
        #micro-hydro-projects .project-tag.green{color:var(--hydro-green,#2bae66);background:rgba(43,174,102,.10);}
        #micro-hydro-projects .project-cap{
            font-weight:800;
            font-size:2.4rem;
            line-height:1;
            margin-bottom:.35rem;
        }
        #micro-hydro-projects .project-list{
            list-style:none;
            padding:0;
            margin:0 0 1.25rem;
            display:flex;
            flex-direction:column;
            gap:.65rem;
        }
        #micro-hydro-projects .project-list li{
            display:flex;
            align-items:center;
            gap:.6rem;
            font-size:.85rem;
            color:var(--text-slate,#5a6b7b);
        }
        #micro-hydro-projects .project-list li i{font-size:.72rem;}
        #micro-hydro-projects .project-meta{
            font-size:.75rem;
            color:var(--text-slate,#5a6b7b);
            border-top:1px dashed var(--border-soft,#e4ecf2);
            padding-top:1rem;
            margin-bottom:1.25rem;
            line-height:1.6;
        }
        #micro-hydro-projects .project-link{
            display:inline-flex;
            align-items:center;
            gap:.5rem;
            font-size:.86rem;
            font-weight:700;
			border-bottom:1px solid #ccc;
            letter-spacing:.06em;
            text-transform:uppercase;
            text-decoration:none;
            color:var(--hydro-teal,#12a6a0);
            transition:gap .25s ease;
        }
        #micro-hydro-projects .project-link:hover{gap:.85rem;}
        #micro-hydro-projects .mhp-highlight{
            border-radius:1.25rem;
            padding:2.25rem;
            border:1px solid var(--border-soft,#e4ecf2);
            background:linear-gradient(135deg,rgba(18,166,160,.08),rgba(43,174,102,.08));
        }
        #micro-hydro-projects .mhp-inquiry{
            font-size:.9rem;
            color:var(--text-slate,#5a6b7b);
        }
		
		#prj-section .project-img {
    width: 100%;
    height: 180px;
    overflow: hidden;
    border-radius: 12px;
}

#prj-section  .project-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .3s ease;
}

#prj-section  .project-card:hover .project-img img {
    transform: scale(1.05);
}
#projectTabsContent h3.cs-title{
	border-bottom: 1px solid #ccc;
	padding-bottom:15px;
	color:#000;
}

#projectTabs button {
color:#ccc;
    border: 1px solid #e8dada;
    border-radius: 100px;
}
#projectTabs button.active {
    color: #fff;
    background: #005cae;
    border: 1px solid #e8dada;
    border-radius: 100px;
}

div#projectTabsContent .tab-pane:focus-visible {
    outline: none !important;
 
}
h3.cs-title + .row.g-3 .col-12{display:none;}
