/* ════════════════════════════════════════════════
   RBharat Industries — style.css  v2
   Brand: #04214A #184C7D #098AC3 #76B72C #1E6B22
════════════════════════════════════════════════ */

/* ── Reset ── */
*, ::before, ::after { box-sizing: border-box; margin: 0; padding: 0; border: 0 solid currentColor; }
html { line-height: 1.5; -webkit-text-size-adjust: 100%; font-family: 'Inter', ui-sans-serif, system-ui, sans-serif; scroll-behavior: smooth; overflow-x: hidden; }
body { margin: 0; color: #1f2937; overflow-x: hidden; }
img, svg { display: block; max-width: 100%; }
a { text-decoration: none; color: inherit; }
button { cursor: pointer; background: none; border: none; font: inherit; }
ul, ol { list-style: none; }
input, select, textarea { font: inherit; outline: none; }

/* ── Utilities ── */
.bg-white   { background: #fff; }
.bg-gray-50 { background: #f9fafb; }
.hidden     { display: none !important; }
.mt-3  { margin-top: .75rem; }
.mt-4  { margin-top: 1rem; }
.mt-5  { margin-top: 1.25rem; }
.mt-8  { margin-top: 2rem; }
.mt-10 { margin-top: 2.5rem; }
.mt-12 { margin-top: 3rem; }
.mb-5  { margin-bottom: 1.25rem; }
.mb-8  { margin-bottom: 2rem; }

/* ══════════════════════════════════════
   TOP BAR
══════════════════════════════════════ */
.rb-topbar {
    background: #1E6B22;
    color: #d1fae5;
    font-size: .8125rem;
    padding: .5rem 1rem;
    overflow: hidden;
}
.rb-topbar-inner {
    max-width: 90rem;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 1rem;
}
.rb-marquee-wrap { flex: 1; overflow: hidden; }
@keyframes marquee { 0% { transform: translateX(0); } 100% { transform: translateX(-50%); } }
.marquee-track { display: inline-block; white-space: nowrap; animation: marquee 35s linear infinite; }
.marquee-track:hover { animation-play-state: paused; }
.marquee-track span { margin-right: 2rem; }
.rb-topbar-cta {
    flex-shrink: 0;
    background: #76B72C;
    color: #fff;
    font-weight: 700;
    font-size: .8rem;
    padding: .35rem 1rem;
    border-radius: .25rem;
    white-space: nowrap;
    transition: background .15s;
}
.rb-topbar-cta:hover { background: #04214A; }

/* ══════════════════════════════════════
   HEADER  (logo | nav | phone + btn)
══════════════════════════════════════ */
.rb-header {
    background: #fff;
    box-shadow: 0 1px 6px rgba(4,33,74,.10);
    position: sticky;
    top: 0;
    z-index: 100;
    transition: box-shadow .2s;
}
.rb-header.scrolled { box-shadow: 0 4px 20px rgba(4,33,74,.14); }

.rb-header-inner {
    max-width: 90rem;
    margin: 0 auto;
    padding: 0 1.25rem;
    height: 72px;
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

/* Logo */
.rb-logo-link { display: flex; align-items: center; gap: .75rem; flex-shrink: 0; }
.rb-logo-img  { height: 60px; width: auto; object-fit: contain; transform: scale(1.28); transform-origin: left center; }
.rb-logo-text { display: flex; flex-direction: column; margin-left: 8px; }
.rb-logo-name { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: 1.125rem; color: #04214A; line-height: 1.2; }
.rb-logo-name em { color: #76B72C; font-style: normal; }
.rb-logo-tagline { font-size: .7rem; color: #098AC3; font-weight: 500; letter-spacing: .02em; }

/* Nav (center) */
.rb-nav { display: none; flex: 1; justify-content: center; align-items: center; gap: .125rem; }
@media (min-width: 1100px) { .rb-nav { display: flex; } }

.rb-nav-item {
    padding: .5rem .875rem;
    font-size: .875rem;
    font-weight: 700;
    color: #374151;
    border-radius: .375rem;
    white-space: nowrap;
    display: flex;
    align-items: center;
    gap: .25rem;
    transition: color .15s, background .15s;
    position: relative;
}
.rb-nav-item:hover, .rb-nav-item.rb-active { color: #1E6B22; }
.rb-nav-item.rb-active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 50%;
    transform: translateX(-50%);
    width: 60%;
    height: 2px;
    background: #76B72C;
    border-radius: 2px;
}
.rb-chevron { width: 14px; height: 14px; stroke: currentColor; stroke-width: 2; fill: none; }

/* Dropdown */
.rb-nav-dropdown-wrap { position: relative; }
.rb-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    left: 50%;
    transform: translateX(-50%);
    min-width: 15rem;
    background: #fff;
    border-radius: .75rem;
    box-shadow: 0 12px 40px rgba(4,33,74,.14);
    border: 1px solid #f1f5f9;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .2s, transform .2s;
    transform: translateX(-50%) translateY(-6px);
    z-index: 200;
}
.rb-nav-dropdown-wrap:hover .rb-dropdown {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateX(-50%) translateY(0);
}
.rb-dd-item { display: block; padding: .625rem 1.25rem; font-size: .875rem; color: #374151; transition: background .12s, color .12s; }
.rb-dd-item:first-child { border-radius: .75rem .75rem 0 0; }
.rb-dd-item:last-child  { border-radius: 0 0 .75rem .75rem; }
.rb-dd-item:hover { background: #f0fdf4; color: #1E6B22; }

/* Right side */
.rb-header-right { display: flex; align-items: center; gap: .875rem; margin-left: auto; flex-shrink: 0; }

.rb-phones { display: none; align-items: center; gap: .625rem; }
@media (min-width: 1100px) { .rb-phones { display: flex; } }
.rb-phone-icon { width: 2.25rem; height: 2.25rem; padding: .375rem; background: #f0fdf4; border-radius: 50%; color: #1E6B22; stroke: currentColor; stroke-width: 2; fill: none; flex-shrink: 0; }
.rb-phone-nums { display: flex; flex-direction: column; gap: .125rem; }
.rb-phone-nums a { font-size: .875rem; font-weight: 600; color: #04214A; line-height: 1.4; transition: color .15s; }
.rb-phone-nums a:hover { color: #76B72C; }

.rb-enquiry-btn {
    background: #1E6B22;
    color: #fff;
    font-weight: 700;
    font-size: .875rem;
    padding: .55rem 1.25rem;
    border-radius: .375rem;
    white-space: nowrap;
    transition: background .15s;
    display: none;
}
@media (min-width: 768px) { .rb-enquiry-btn { display: inline-block; } }
.rb-enquiry-btn:hover { background: #76B72C; }

/* Mobile hamburger */
.rb-mob-btn { display: flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; color: #374151; border-radius: .375rem; transition: background .15s; }
.rb-mob-btn:hover { background: #f3f4f6; }
.rb-mob-btn svg { width: 22px; height: 22px; }
@media (min-width: 1100px) { .rb-mob-btn { display: none; } }

/* ══════════════════════════════════════
   MOBILE DRAWER
══════════════════════════════════════ */
.mob-backdrop { position: fixed; inset: 0; background: rgba(4,33,74,.5); z-index: 98; opacity: 0; visibility: hidden; transition: all .25s; }
.mob-backdrop.open { opacity: 1; visibility: visible; }
.mob-drawer { position: fixed; top: 0; right: -100%; width: min(300px, 88vw); height: 100%; background: #fff; z-index: 99; box-shadow: -4px 0 30px rgba(4,33,74,.18); display: flex; flex-direction: column; transition: right .3s cubic-bezier(.4,0,.2,1); overflow-y: auto; }
.mob-drawer.open { right: 0; }
.mob-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: .875rem 1rem; background: #f8fafc; border-bottom: 2px solid #e2e8f0; }
.mob-drawer-logo { display: flex; align-items: center; gap: .5rem; text-decoration: none; }
.mob-drawer-logo-img { height: 40px; width: auto; object-fit: contain; }
.mob-close-btn { padding: .4rem; color: #64748b; border-radius: .375rem; transition: background .15s; flex-shrink: 0; }
.mob-close-btn:hover { background: #e2e8f0; color: #04214A; }
.mob-drawer-nav { display: flex; flex-direction: column; padding: .75rem .625rem; gap: .125rem; }
.mob-link { display: flex; align-items: center; justify-content: space-between; padding: .75rem 1rem; font-weight: 600; color: #04214A; border-radius: .5rem; transition: all .15s; font-size: .9375rem; border-left: 3px solid transparent; }
.mob-link:hover { color: #1E6B22; background: #f0fdf4; border-left-color: #76B72C; }
.mob-chevron { flex-shrink: 0; transition: transform .25s; color: #94a3b8; }
.mob-sub-link { display: block; padding: .5rem 1rem .5rem 1.75rem; font-size: .875rem; color: #475569; border-radius: .375rem; transition: all .15s; position: relative; }
.mob-sub-link::before { content: '›'; position: absolute; left: .875rem; color: #76B72C; font-weight: 700; }
.mob-sub-link:hover { color: #1E6B22; background: #f0fdf4; }
.mobile-accordion-content { display: flex; flex-direction: column; background: #f8fafc; border-radius: .375rem; margin: .125rem 0; }
.mobile-accordion-content.hidden { display: none; }
.mobile-accordion-btn { text-align: left; width: 100%; }

/* ══════════════════════════════════════
   HERO SLIDER  — full viewport height
══════════════════════════════════════ */
.rb-hero-section { position: relative; overflow: hidden; }
.hero-swiper { height: 72vh; min-height: 480px; max-height: 640px; overflow: hidden; }
@media (max-width: 640px) { .hero-swiper { height: 55vh; min-height: 340px; max-height: 420px; } }
@media (max-width: 640px) {
    .hero-swiper .rb-swiper-prev,
    .hero-swiper .rb-swiper-next,
    .hero-swiper .swiper-button-prev,
    .hero-swiper .swiper-button-next { display: none !important; visibility: hidden !important; opacity: 0 !important; pointer-events: none !important; }
}
.rb-slide { position: relative; overflow: hidden; }

.rb-slide-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    transform: scale(1.04);
    transition: transform 8s ease;
}
.swiper-slide-active .rb-slide-bg { transform: scale(1); }

.rb-slide-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(105deg,
        rgba(0,0,0,.78) 0%,
        rgba(0,0,0,.60) 45%,
        rgba(0,0,0,.28) 72%,
        rgba(0,0,0,.08) 100%);
}

.rb-slide-content {
    position: relative;
    z-index: 10;
    height: 100%;
    display: flex;
    align-items: center;
}
.rb-slide-inner {
    width: 100%;
    max-width: 620px;
    padding-left: clamp(3.5rem, 8vw, 8rem);
    padding-right: 1.5rem;
}
.rb-slide-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 800;
    color: #fff;
    line-height: 1.15;
    margin-bottom: 1.25rem;
    font-size: clamp(2rem, 4.5vw, 3.5rem);
}
.rb-slide-tagline {
    font-size: .875rem;
    font-weight: 500;
    color: rgba(255,255,255,.8);
    font-style: italic;
    letter-spacing: .04em;
    margin-bottom: .6rem;
    display: block;
}
.rb-slide-colored { color: #76B72C; }
.rb-slide-subtitle {
    color: rgba(255,255,255,.88);
    font-size: clamp(.875rem, 1.6vw, 1.05rem);
    line-height: 1.7;
    max-width: 500px;
    margin-bottom: 2rem;
}
.rb-slide-btns { display: flex; flex-wrap: wrap; gap: 1rem; }

/* Karparivartan-style outline button */
.rb-btn-outline {
    display: inline-flex;
    align-items: center;
    gap: .5rem;
    border: 2px solid #fff;
    color: #fff;
    font-weight: 600;
    font-size: clamp(.875rem, 1.5vw, 1rem);
    padding: .75rem 1.75rem;
    border-radius: .375rem;
    transition: background .2s, color .2s;
    background: transparent;
}
.rb-btn-outline:hover { background: #76B72C; border-color: #76B72C; }

/* Swiper nav */
.rb-swiper-prev,
.rb-swiper-next {
    width: 52px !important;
    height: 52px !important;
    background: rgba(255,255,255,.18) !important;
    border-radius: 50% !important;
    border: 2px solid rgba(255,255,255,.5) !important;
    color: #fff !important;
    transition: background .25s, border-color .25s, transform .2s !important;
    backdrop-filter: blur(6px);
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    left: 24px !important;
    box-shadow: 0 2px 12px rgba(0,0,0,.25) !important;
}
.rb-swiper-next { left: auto !important; right: 24px !important; }
.rb-swiper-prev:hover,
.rb-swiper-next:hover { background: #76B72C !important; border-color: #76B72C !important; transform: scale(1.08); }
.rb-swiper-prev::after,
.rb-swiper-next::after { display: none !important; }

.rb-swiper-pag { bottom: 1.5rem !important; }
.rb-swiper-pag .swiper-pagination-bullet { background: rgba(255,255,255,.5); opacity: 1; width: 8px; height: 8px; }
.rb-swiper-pag .swiper-pagination-bullet-active { background: #76B72C; width: 24px; border-radius: 4px; transition: width .3s; }

/* ══════════════════════════════════════
   SERVICE STRIP  (karparivartan style)
══════════════════════════════════════ */
/* ══════════════════════════════════════
   CARD SLIDER SECTION
══════════════════════════════════════ */
.rb-card-slider-section { background: #fff; padding: clamp(2.5rem, 5vw, 4rem) 0; border-top: 1px solid #e5e7eb; }
.rb-csl-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; margin-bottom: 1.5rem; flex-wrap: wrap; }
.rb-csl-title { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(1.5rem, 3vw, 2.25rem); color: #04214A; line-height: 1.2; margin-bottom: .75rem; }
.rb-csl-desc { color: #4b5563; font-size: .9375rem; line-height: 1.7; margin-bottom: .4rem; max-width: 50%; }
@media (max-width: 768px) { .rb-csl-desc { max-width: 100%; } }
.rb-csl-services-label { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 1.1rem; color: #1E6B22; margin-bottom: 1.5rem; }
.rb-csl-swiper-wrap { position: relative; padding: 0 4px; }
.rb-csl-swiper { overflow: visible !important; padding-bottom: 20px; }
.rb-csl-swiper .swiper-wrapper { align-items: stretch; }
.rb-card-slider-section { overflow: hidden; }
/* slide wrapper gives room for the stack shadow */
.rb-csl-slide { padding: 0 10px 14px 0; height: auto; }

.rb-csl-card {
    background: #fff;
    border-radius: .875rem;
    overflow: visible;
    display: flex;
    flex-direction: column;
    height: 100%;
    position: relative;
}
/* stacked card behind */
.rb-csl-card::after {
    content: '';
    position: absolute;
    top: 10px;
    left: 10px;
    right: -10px;
    bottom: -10px;
    border: 1.5px solid #b8d9bc;
    border-radius: .875rem;
    z-index: -1;
    pointer-events: none;
    transition: border-color .25s;
}
.rb-csl-card:hover::after { border-color: #76B72C; }

/* top image box */
.rb-csl-img-box {
    background: #eef4ea;
    border: 1.5px solid #c2dcc5;
    border-radius: .875rem .875rem 0 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 2rem 1.5rem;
    min-height: 190px;
    overflow: hidden;
}
.rb-csl-img-box img { max-height: 130px; width: auto; object-fit: contain; }

/* white body */
.rb-csl-body {
    background: #fff;
    border: 1.5px solid #c2dcc5;
    border-top: none;
    border-radius: 0 0 .875rem .875rem;
    padding: 1.25rem 1.25rem 1.5rem;
    flex: 1;
}
.rb-csl-card-title { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 1rem; color: #1E6B22; line-height: 1.35; margin-bottom: 1rem; }
.rb-csl-list { list-style: none; display: flex; flex-direction: column; gap: .625rem; }
.rb-csl-list li { font-size: .875rem; color: #374151; display: flex; align-items: flex-start; gap: .5rem; line-height: 1.5; }
.rb-csl-list li::before { content: ''; display: inline-block; width: 18px; height: 18px; flex-shrink: 0; margin-top: 1px; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath fill='%231E6B22' d='M256 8C119.033 8 8 119.033 8 256s111.033 248 248 248 248-111.033 248-248S392.967 8 256 8zm0 48c110.532 0 200 89.451 200 200 0 110.532-89.451 200-200 200-110.532 0-200-89.451-200-200 0-110.532 89.451-200 200-200m140.204 130.267l-22.536-22.718c-4.667-4.705-12.265-4.736-16.97-.068L215.346 303.697l-59.792-60.277c-4.667-4.705-12.265-4.736-16.97-.069l-22.719 22.536c-4.705 4.667-4.736 12.265-.068 16.971l90.781 91.516c4.667 4.705 12.265 4.736 16.97.068l172.589-171.204c4.704-4.668 4.734-12.266.067-16.971z'/%3E%3C/svg%3E") center/contain no-repeat; }
.rb-csl-prev, .rb-csl-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background: #fff;
    border: 1.5px solid #d1d5db;
    color: #04214A;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 8px rgba(0,0,0,.1);
    cursor: pointer;
    transition: background .2s, border-color .2s;
}
.rb-csl-prev { left: -20px; }
.rb-csl-next { right: -20px; }
.rb-csl-prev:hover, .rb-csl-next:hover { background: #76B72C; border-color: #76B72C; color: #fff; }
.rb-csl-prev.swiper-button-disabled, .rb-csl-next.swiper-button-disabled { opacity: .35; pointer-events: none; }
@media (max-width: 768px) { .rb-csl-prev { left: 0; } .rb-csl-next { right: 0; } }

/* ══════════════════════════════════════
   SERVICES ACCORDION
══════════════════════════════════════ */
.rb-acc-section { background: #fff; padding: clamp(3.5rem,7vw,6rem) 0; }

/* top heading row */
.rb-acc-top-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; margin-bottom: 1rem; flex-wrap: wrap; }
.rb-acc-eyebrow { display: inline-block; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #76B72C; background: rgba(118,183,44,.1); padding: .3rem .875rem; border-radius: 2rem; margin-bottom: .75rem; }
.rb-acc-heading { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(1.75rem, 3vw, 2.5rem); color: #04214A; line-height: 1.2; }
.rb-acc-subtext { color: #4b5563; font-size: .9375rem; line-height: 1.75; max-width: 55%; margin-bottom: 2.5rem; }
@media (max-width: 768px) { .rb-acc-subtext { max-width: 100%; } }

/* image + accordion row */
.rb-acc-main { display: grid; grid-template-columns: 1fr 1.2fr; gap: 3.5rem; align-items: start; }
@media (max-width: 900px) { .rb-acc-main { grid-template-columns: 1fr; gap: 2rem; } }
.rb-acc-img-wrap { border-radius: 1rem; overflow: hidden; position: sticky; top: 100px; }
.rb-acc-img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; max-height: 520px; border-radius: 1rem; }

/* accordion list */
.rb-acc-list { display: flex; flex-direction: column; }
.rb-acc-item { border-bottom: 1px solid #e2e8f0; }
.rb-acc-item:first-child { border-top: 1px solid #e2e8f0; }

.rb-acc-trigger {
    width: 100%;
    display: flex;
    align-items: center;
    gap: 1rem;
    padding: 1.625rem 0;
    background: none;
    border: none;
    cursor: pointer;
    text-align: left;
    transition: color .2s;
}
.rb-acc-trigger:hover .rb-acc-title { color: #1E6B22; }
.rb-acc-num { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 1rem; color: #76B72C; min-width: 36px; }
.rb-acc-title { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: clamp(1.0625rem, 2vw, 1.25rem); color: #04214A; flex: 1; transition: color .2s; }
.rb-acc-icon { width: 22px; height: 22px; flex-shrink: 0; color: #9ca3af; transition: transform .3s, color .2s; }

/* active state */
.rb-acc-item.active .rb-acc-num { color: #1E6B22; }
.rb-acc-item.active .rb-acc-title { color: #1E6B22; }
.rb-acc-item.active .rb-acc-icon { transform: rotate(180deg); color: #76B72C; }
.rb-acc-item.active { border-left: 3px solid #76B72C; padding-left: .75rem; margin-left: -3px; }

/* collapsible body */
.rb-acc-body { max-height: 0; overflow: hidden; transition: max-height .4s cubic-bezier(.4,0,.2,1); }
.rb-acc-item.active .rb-acc-body { max-height: 600px; }
.rb-acc-content { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; padding: 0 0 1.75rem; }
@media (max-width: 640px) { .rb-acc-content { grid-template-columns: 1fr; gap: 1rem; } }

.rb-acc-desc { font-size: .9rem; color: #4b5563; line-height: 1.7; }
.rb-acc-checklist { list-style: none; display: flex; flex-direction: column; gap: .5rem; }
.rb-acc-checklist li { font-size: .875rem; color: #374151; display: flex; align-items: center; gap: .5rem; }
.rb-acc-checklist li::before { content: ''; display: inline-block; width: 18px; height: 18px; flex-shrink: 0; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231E6B22' stroke-width='2.5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat; }

/* ══════════════════════════════════════
   ABOUT SECTION
══════════════════════════════════════ */
.rb-about-section { background: #fff; padding: clamp(3.5rem, 7vw, 6rem) 0; }
.rb-about-top { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; margin-bottom: 3rem; flex-wrap: wrap; }
.rb-about-heading { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(2rem, 4vw, 3.25rem); color: #04214A; line-height: 1.15; }
.rb-about-subtitle { color: #4b5563; font-size: 1rem; line-height: 1.7; margin-top: .875rem; max-width: 520px; }
.rb-about-cta { display: inline-flex; align-items: center; gap: .5rem; border: 1.5px solid #04214A; color: #04214A; font-family: 'Poppins', sans-serif; font-weight: 600; font-size: .9rem; padding: .75rem 1.5rem; border-radius: .375rem; text-decoration: none; white-space: nowrap; flex-shrink: 0; transition: background .2s, color .2s; }
.rb-about-cta:hover { background: #04214A; color: #fff; }
.rb-about-cta svg { width: 16px; height: 16px; }
.rb-about-main { display: grid; grid-template-columns: 1fr 1.15fr; gap: 3.5rem; align-items: start; }
@media (max-width: 900px) { .rb-about-main { grid-template-columns: 1fr; gap: 2rem; } }
.rb-about-img { border-radius: .875rem; overflow: hidden; }
.rb-about-img img { width: 100%; height: 500px; object-fit: cover; display: block; border-radius: .875rem; }
@media (max-width: 900px) { .rb-about-img img { height: 280px; } }

/* about accordion */
.rb-abt-item { border-top: 1px solid #e2e8f0; }
.rb-abt-item:last-child { border-bottom: 1px solid #e2e8f0; }
.rb-abt-trigger { width: 100%; display: flex; align-items: center; justify-content: space-between; padding: 1.25rem 0; background: none; border: none; cursor: pointer; }
.rb-abt-name { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 1.125rem; color: #04214A; transition: color .2s; }
.rb-abt-icon { width: 22px; height: 22px; flex-shrink: 0; color: #6b7280; transition: transform .3s, color .2s; }
.rb-abt-item.active .rb-abt-name { color: #1E6B22; }
.rb-abt-item.active .rb-abt-icon { transform: rotate(45deg); color: #76B72C; }
.rb-abt-body { max-height: 0; overflow: hidden; transition: max-height .45s cubic-bezier(.4,0,.2,1); }
.rb-abt-item.active .rb-abt-body { max-height: 700px; }
.rb-abt-text { font-size: .9375rem; color: #4b5563; line-height: 1.85; padding-bottom: 1.5rem; }
.rb-abt-text p { margin-bottom: .75rem; }
.rb-abt-text p:last-child { margin-bottom: 0; }
.rb-abt-text strong { color: #04214A; font-weight: 700; }

/* ══════════════════════════════════════
   WASTE CATEGORIES SECTION
══════════════════════════════════════ */
.rb-waste-section { background: #fff; padding: clamp(3rem, 6vw, 5rem) 0; }
.rb-waste-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 2rem; margin-bottom: 3rem; flex-wrap: wrap; }
.rb-waste-header-left { max-width: 55%; }
@media (max-width: 768px) { .rb-waste-header-left { max-width: 100%; } }
.rb-waste-title { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(1.75rem, 3.5vw, 2.75rem); color: #04214A; line-height: 1.2; margin-bottom: 1rem; }
.rb-waste-desc { color: #4b5563; font-size: .9375rem; line-height: 1.75; }
.rb-waste-btn { align-self: flex-start; margin-top: .5rem; flex-shrink: 0; }

/* staggered image grid */
.rb-waste-grid { display: flex; align-items: flex-end; gap: 1.25rem; }
.rb-waste-item {
    flex: 1;
    position: relative;
    border-radius: 1rem;
    overflow: hidden;
    cursor: pointer;
    flex-shrink: 0;
}
.rb-waste-tall { height: 420px; }
.rb-waste-short { height: 320px; margin-bottom: 0; align-self: flex-end; }
.rb-waste-item img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.rb-waste-item:hover img { transform: scale(1.05); }
.rb-waste-label {
    position: absolute;
    bottom: 1rem;
    left: 50%;
    transform: translateX(-50%);
    background: #fff;
    color: #04214A;
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: .9rem;
    white-space: nowrap;
    padding: .5rem 1.25rem;
    border-radius: .5rem;
    box-shadow: 0 2px 12px rgba(0,0,0,.15);
}
@media (max-width: 768px) {
    .rb-waste-grid { flex-direction: column; gap: .875rem; }
    .rb-waste-item { width: 100%; flex: none; }
    .rb-waste-tall, .rb-waste-short { height: 220px; align-self: auto; }
}

.rb-service-strip { background: #fff; border-top: 1px solid #e5e7eb; }
.rb-strip-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding: 2rem clamp(1.5rem, 5vw, 5rem);
    border-bottom: 1px solid #f1f5f9;
    transition: background .15s;
}
.rb-strip-item:hover { background: #f9fafb; }
.rb-strip-text { flex: 1; }
.rb-strip-heading {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    font-size: clamp(1.125rem, 2vw, 1.5rem);
    color: #04214A;
    line-height: 1.3;
    margin-bottom: .375rem;
}
.rb-text-green { color: #76B72C; }
.rb-strip-sub { color: #6b7280; font-size: .9375rem; line-height: 1.6; max-width: 640px; }
.rb-know-more {
    display: inline-flex;
    align-items: center;
    gap: .375rem;
    border: 1.5px solid #04214A;
    color: #04214A;
    font-weight: 600;
    font-size: .875rem;
    padding: .625rem 1.25rem;
    border-radius: .375rem;
    white-space: nowrap;
    flex-shrink: 0;
    transition: background .15s, color .15s, border-color .15s;
}
.rb-know-more svg { width: 16px; height: 16px; stroke: currentColor; stroke-width: 2; fill: none; }
.rb-know-more:hover { background: #76B72C; border-color: #76B72C; color: #fff; }

/* ══════════════════════════════════════
   SHARED LAYOUT HELPERS
══════════════════════════════════════ */
.rb-section  { padding: 5rem 0; }
.rb-container { max-width: 90rem; margin: 0 auto; padding: 0 clamp(1rem, 4vw, 2rem); }
.rb-section-head { text-align: center; }

.rb-badge {
    display: inline-block;
    background: rgba(118,183,44,.12);
    color: #1E6B22;
    font-size: .75rem;
    font-weight: 700;
    padding: .375rem 1rem;
    border-radius: 9999px;
    text-transform: uppercase;
    letter-spacing: .06em;
    border: 1px solid rgba(118,183,44,.3);
}
.rb-sec-title {
    font-family: 'Poppins', sans-serif;
    font-weight: 700;
    color: #04214A;
    font-size: clamp(1.4rem, 3vw, 2.25rem);
}
.rb-sec-sub { color: #6b7280; font-size: 1.0625rem; max-width: 540px; margin: 0 auto; }
.rb-body-text { color: #4b5563; line-height: 1.7; font-size: 1.0625rem; }

/* Grid systems */
.rb-grid-2 { display: grid; grid-template-columns: 1fr; gap: 2rem; }
.rb-grid-3 { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.rb-grid-4 { display: grid; grid-template-columns: 1fr; gap: 1.5rem; }
.rb-two-col { display: grid; grid-template-columns: 1fr; gap: 3rem; align-items: center; }
@media (min-width: 768px) {
    .rb-grid-2 { grid-template-columns: repeat(2,1fr); }
    .rb-grid-4 { grid-template-columns: repeat(2,1fr); }
    .rb-two-col { grid-template-columns: repeat(2,1fr); }
}
@media (min-width: 1024px) {
    .rb-grid-3 { grid-template-columns: repeat(3,1fr); }
    .rb-grid-4 { grid-template-columns: repeat(4,1fr); }
}

/* ══════════════════════════════════════
   SERVICE CARDS
══════════════════════════════════════ */
.rb-card {
    background: #fff;
    border-radius: .875rem;
    padding: 1.75rem 1.5rem;
    box-shadow: 0 2px 12px rgba(4,33,74,.06);
    border: 1px solid #f1f5f9;
    transition: transform .25s, box-shadow .25s;
}
.rb-card:hover { transform: translateY(-4px); box-shadow: 0 8px 32px rgba(4,33,74,.12); }
.rb-card-icon { width: 3.5rem; height: 3.5rem; border-radius: .875rem; display: flex; align-items: center; justify-content: center; margin-bottom: 1.25rem; }
.rb-card-icon svg { width: 1.75rem; height: 1.75rem; }
.rb-card-title { font-family: 'Poppins',sans-serif; font-weight: 700; color: #04214A; font-size: 1.0625rem; margin-bottom: .625rem; }
.rb-card-desc  { color: #6b7280; font-size: .9375rem; line-height: 1.65; margin-bottom: 1.25rem; }
.rb-card-link  { font-size: .875rem; font-weight: 600; transition: color .15s; }

/* ══════════════════════════════════════
   ABOUT
══════════════════════════════════════ */
.rb-stats-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1rem; }
.rb-stat-box   { background: #f8fafc; border-radius: .75rem; padding: 1rem 1.25rem; border: 1px solid #e2e8f0; }
.rb-stat-num   { display: block; font-family: 'Poppins',sans-serif; font-weight: 800; font-size: 1.75rem; line-height: 1; }
.rb-stat-label { display: block; font-size: .8125rem; color: #64748b; margin-top: .25rem; }
.rb-btn-primary {
    display: inline-flex; align-items: center; gap: .5rem;
    background: #76B72C; color: #fff; font-weight: 600;
    font-family: 'Poppins',sans-serif; padding: .75rem 1.75rem;
    border-radius: .5rem; transition: background .15s;
    box-shadow: 0 4px 14px rgba(118,183,44,.35);
}
.rb-btn-primary:hover { background: #1E6B22; }

.rb-about-img-wrap {
    position: relative;
    background: linear-gradient(135deg,rgba(118,183,44,.08),rgba(9,138,195,.08));
    border-radius: 1.5rem;
    padding: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
}
.rb-about-img-wrap img { max-width: 20rem; width: 100%; margin: 0 auto; }
.rb-about-badge-1 {
    position: absolute; top: 1rem; right: 1rem;
    background: #04214A; color: #fff;
    display: flex; align-items: center; gap: .5rem;
    font-size: .75rem; font-weight: 600;
    padding: .375rem .875rem; border-radius: 9999px;
}
.rb-about-badge-1 svg { width: 1rem; height: 1rem; fill: currentColor; }
.rb-about-badge-2 {
    position: absolute; bottom: 1rem; left: 1rem;
    background: #fff; border-radius: .75rem; padding: .625rem 1rem;
    box-shadow: 0 4px 12px rgba(4,33,74,.12);
    display: flex; flex-direction: column;
}

/* ══════════════════════════════════════
   VISION CARDS
══════════════════════════════════════ */
.rb-vm-card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 1rem; padding: 2rem; }
.rb-vm-icon  { width: 3.5rem; height: 3.5rem; border-radius: .875rem; display: flex; align-items: center; justify-content: center; margin-bottom: 1.25rem; }
.rb-vm-icon svg { width: 1.75rem; height: 1.75rem; stroke: currentColor; fill: none; }

/* ══════════════════════════════════════
   WHY US
══════════════════════════════════════ */
.rb-why-card  { background: #fff; border-radius: .875rem; padding: 2rem 1.5rem; text-align: center; box-shadow: 0 2px 12px rgba(4,33,74,.06); border: 1px solid #f1f5f9; transition: transform .25s, box-shadow .25s; }
.rb-why-card:hover { transform: translateY(-3px); box-shadow: 0 8px 28px rgba(4,33,74,.1); }
.rb-why-icon  { width: 3.5rem; height: 3.5rem; border-radius: 1rem; display: flex; align-items: center; justify-content: center; margin: 0 auto 1rem; }
.rb-why-icon svg { width: 1.75rem; height: 1.75rem; stroke: currentColor; fill: none; }
.rb-why-title { font-family: 'Poppins',sans-serif; font-weight: 700; color: #04214A; margin-bottom: .5rem; font-size: 1rem; }
.rb-why-desc  { color: #6b7280; font-size: .9rem; line-height: 1.65; }

/* ══════════════════════════════════════
   CERTIFICATIONS
══════════════════════════════════════ */
.rb-cert-row { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 1.5rem; }
.rb-cert-box { background: #f8fafc; border: 1px solid #e2e8f0; border-radius: .875rem; padding: 1rem 1.5rem; text-align: center; min-width: 160px; }
.rb-cert-label { display: block; font-size: .7rem; font-weight: 700; color: #94a3b8; text-transform: uppercase; letter-spacing: .08em; margin-bottom: .25rem; }
.rb-cert-value { display: block; font-family: 'Poppins',sans-serif; font-weight: 700; color: #04214A; font-size: 1rem; }

/* ══════════════════════════════════════
   CONTACT
══════════════════════════════════════ */
.rb-contact-item { display: flex; align-items: flex-start; gap: 1rem; padding: 1rem 1.25rem; background: #f8fafc; border-radius: .875rem; border: 1px solid #e9edf3; }
.rb-contact-icon { width: 2.5rem; height: 2.5rem; border-radius: .625rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rb-contact-icon svg { width: 1.25rem; height: 1.25rem; }
.rb-contact-form { display: flex; flex-direction: column; gap: 1rem; }
.rb-form-row { display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media (min-width: 640px) { .rb-form-row { grid-template-columns: 1fr 1fr; } }
.rb-form-group { display: flex; flex-direction: column; gap: .375rem; }
.rb-form-group label { font-size: .875rem; font-weight: 500; color: #374151; }
.rb-form-group input,
.rb-form-group select,
.rb-form-group textarea {
    width: 100%;
    border: 1.5px solid #e2e8f0;
    border-radius: .5rem;
    padding: .6875rem 1rem;
    font-size: .9375rem;
    color: #374151;
    background: #fff;
    transition: border-color .15s, box-shadow .15s;
    resize: none;
}
.rb-form-group input:focus,
.rb-form-group select:focus,
.rb-form-group textarea:focus {
    border-color: #76B72C;
    box-shadow: 0 0 0 3px rgba(118,183,44,.15);
}

/* ══════════════════════════════════════
   S2P PROCESS SECTION
══════════════════════════════════════ */
.rb-s2p-section { background: #f0f7eb; padding: clamp(3.5rem, 7vw, 6rem) 0; }
.rb-s2p-header { margin-bottom: 3rem; }
.rb-s2p-label { display: inline-block; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #76B72C; background: rgba(118,183,44,.12); padding: .3rem .875rem; border-radius: 2rem; margin-bottom: 1rem; }
.rb-s2p-heading { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(1.75rem, 3.5vw, 2.75rem); color: #04214A; line-height: 1.2; margin-bottom: 1rem; }
.rb-s2p-sub { color: #4b5563; font-size: .9375rem; line-height: 1.75; max-width: 72ch; }
.rb-s2p-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1.25rem; }
@media (max-width: 1100px) { .rb-s2p-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px)  { .rb-s2p-grid { grid-template-columns: repeat(2, 1fr); gap: .875rem; } }
.rb-s2p-card { background: #fff; border-radius: 1rem; overflow: hidden; box-shadow: 0 2px 12px rgba(4,33,74,.07); transition: transform .3s, box-shadow .3s; }
.rb-s2p-card:hover { transform: translateY(-4px); box-shadow: 0 8px 24px rgba(4,33,74,.13); }
.rb-s2p-img { width: 100%; aspect-ratio: 16/10; overflow: hidden; }
.rb-s2p-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.rb-s2p-card:hover .rb-s2p-img img { transform: scale(1.05); }
.rb-s2p-body { padding: 1rem 1.125rem 1.25rem; }
.rb-s2p-title { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: .875rem; color: #1E6B22; line-height: 1.3; margin-bottom: .5rem; }
.rb-s2p-text { font-size: .8rem; color: #4b5563; line-height: 1.65; }

/* ══════════════════════════════════════
   TEAM SECTION
══════════════════════════════════════ */
.rb-team-section { background: #fff; padding: clamp(3.5rem, 7vw, 6rem) 0; }
.rb-team-header { margin-bottom: 3rem; }
.rb-team-heading { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(1.875rem, 4vw, 3rem); color: #04214A; line-height: 1.2; margin-bottom: 1rem; }
.rb-team-sub { color: #4b5563; font-size: .9375rem; line-height: 1.75; max-width: 72ch; }
.rb-team-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1.5rem 1rem; }
@media (max-width: 1024px) { .rb-team-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px)  { .rb-team-grid { grid-template-columns: repeat(2, 1fr); } }
.rb-team-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 1rem; }
.rb-team-img-wrap { width: 160px; height: 160px; border-radius: 50%; overflow: hidden; flex-shrink: 0; box-shadow: 0 4px 18px rgba(4,33,74,.12); transition: transform .3s, box-shadow .3s; }
@media (max-width: 1100px) { .rb-team-img-wrap { width: 140px; height: 140px; } }
@media (max-width: 640px)  { .rb-team-img-wrap { width: 120px; height: 120px; } }
.rb-team-card:hover .rb-team-img-wrap { transform: translateY(-4px); box-shadow: 0 8px 28px rgba(4,33,74,.18); }
.rb-team-img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; }
.rb-team-role { font-family: 'Poppins', sans-serif; font-weight: 600; font-size: .9rem; color: #04214A; line-height: 1.3; }

/* ══════════════════════════════════════
   CONTACT PAGE
══════════════════════════════════════ */
.ct-hero { position: relative; min-height: 360px; display: flex; align-items: center; background: #04214A; overflow: hidden; }
.ct-hero-overlay { position: absolute; inset: 0; background: radial-gradient(ellipse at 70% 50%, rgba(118,183,44,.18) 0%, transparent 65%); }
.ct-hero-inner { position: relative; z-index: 1; padding-top: 6rem; padding-bottom: 4rem; }
.ct-hero-title { font-family: 'Poppins',sans-serif; font-weight: 800; font-size: clamp(2.5rem,6vw,4.5rem); color: #fff; line-height: 1.1; margin-bottom: .875rem; }
.ct-hero-green { color: #76B72C; }
.ct-hero-sub { color: rgba(255,255,255,.75); font-size: 1rem; max-width: 48ch; }

/* Layout */
.ct-section { background: #f8fafc; padding: clamp(3rem,6vw,5rem) 0; }
.ct-grid { display: grid; grid-template-columns: 1fr 1.2fr; gap: 4rem; align-items: start; }
@media (max-width: 960px) { .ct-grid { grid-template-columns: 1fr; gap: 2.5rem; } }

/* Info side */
.ct-info-heading { font-family: 'Poppins',sans-serif; font-weight: 800; font-size: clamp(1.75rem,3vw,2.5rem); color: #04214A; line-height: 1.2; margin-bottom: .75rem; }
.ct-info-sub { color: #4b5563; font-size: .9375rem; line-height: 1.7; margin-bottom: 2rem; }
.ct-cards { display: flex; flex-direction: column; gap: 1rem; margin-bottom: 1.5rem; }
.ct-card { display: flex; align-items: flex-start; gap: 1rem; background: #fff; border-radius: .875rem; padding: 1.25rem; border: 1px solid #e2e8f0; }
.ct-card-icon { width: 48px; height: 48px; min-width: 48px; border-radius: .625rem; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.ct-card-icon svg { width: 22px; height: 22px; }
.ct-icon-green { background: rgba(118,183,44,.12); color: #1E6B22; }
.ct-icon-blue  { background: rgba(9,138,195,.12);  color: #098AC3; }
.ct-card-title { font-family: 'Poppins',sans-serif; font-weight: 700; font-size: .9rem; color: #04214A; margin-bottom: .375rem; }
.ct-card-text { font-size: .8375rem; color: #4b5563; line-height: 1.65; margin: 0; }
.ct-card-link { display: block; font-size: .8375rem; color: #4b5563; transition: color .15s; }
.ct-card-link:hover { color: #04214A; }
.ct-gst-box { background: rgba(118,183,44,.08); border: 1px solid rgba(118,183,44,.25); border-radius: .75rem; padding: 1rem 1.25rem; display: flex; align-items: center; gap: 1.25rem; margin-bottom: 1.5rem; }
.ct-gst-label { font-size: .7rem; font-weight: 700; color: #76B72C; text-transform: uppercase; letter-spacing: .08em; white-space: nowrap; }
.ct-gst-val { font-family: ui-monospace,monospace; font-size: .9rem; color: #04214A; font-weight: 700; letter-spacing: .05em; }
.ct-socials { display: flex; gap: .75rem; }
.ct-social { display: inline-flex; align-items: center; gap: .5rem; padding: .625rem 1.25rem; border-radius: 2rem; font-size: .8375rem; font-weight: 600; transition: opacity .2s; }
.ct-social svg { width: 1rem; height: 1rem; }
.ct-social:hover { opacity: .85; }
.ct-social-wa { background: #25D366; color: #fff; }
.ct-social-li { background: #0A66C2; color: #fff; }

/* Form side */
.ct-form-wrap { background: #fff; border-radius: 1.25rem; padding: 2.5rem; box-shadow: 0 4px 32px rgba(4,33,74,.08); border: 1px solid #e2e8f0; }
.ct-form-head { margin-bottom: 2rem; }
.ct-form-title { font-family: 'Poppins',sans-serif; font-weight: 800; font-size: 1.5rem; color: #04214A; margin-bottom: .5rem; }
.ct-form-sub { font-size: .875rem; color: #6b7280; line-height: 1.6; }
.ct-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; margin-bottom: 1.25rem; }
@media (max-width: 560px) { .ct-row { grid-template-columns: 1fr; } }
.ct-field { display: flex; flex-direction: column; gap: .375rem; margin-bottom: 1.25rem; }
.ct-field-full { margin-bottom: 1.25rem; }
.ct-row .ct-field { margin-bottom: 0; }
.ct-field label { font-size: .8125rem; font-weight: 600; color: #374151; }
.ct-field label span { color: #ef4444; margin-left: .1rem; }
.ct-field input, .ct-field select, .ct-field textarea { width: 100%; padding: .75rem 1rem; border: 1.5px solid #e2e8f0; border-radius: .625rem; font-size: .9rem; color: #1e293b; background: #f8fafc; transition: border-color .2s, box-shadow .2s; outline: none; font-family: inherit; }
.ct-field input:focus, .ct-field select:focus, .ct-field textarea:focus { border-color: #76B72C; box-shadow: 0 0 0 3px rgba(118,183,44,.12); background: #fff; }
.ct-field textarea { resize: vertical; min-height: 130px; }
.ct-field select { cursor: pointer; appearance: none; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M19 9l-7 7-7-7'/%3E%3C/svg%3E"); background-repeat: no-repeat; background-position: right 1rem center; background-size: 16px; padding-right: 2.5rem; }
/* Validation states */
.ct-field.ct-valid input, .ct-field.ct-valid textarea, .ct-field.ct-valid select,
.ct-field-full.ct-valid input, .ct-field-full.ct-valid textarea { border-color: #76B72C; background: #fff; }
.ct-field.ct-invalid input, .ct-field.ct-invalid textarea, .ct-field.ct-invalid select,
.ct-field-full.ct-invalid input, .ct-field-full.ct-invalid textarea { border-color: #ef4444; background: #fff9f9; }
.ct-field.ct-invalid input:focus, .ct-field.ct-invalid textarea:focus { box-shadow: 0 0 0 3px rgba(239,68,68,.12); }
.ct-field.ct-valid input:focus, .ct-field.ct-valid textarea:focus { box-shadow: 0 0 0 3px rgba(118,183,44,.12); }
.ct-field-err { font-size: .75rem; color: #ef4444; margin-top: .25rem; display: block; min-height: 1rem; }
/* valid tick inside input */
.ct-field.ct-valid::after, .ct-field-full.ct-valid::after { content: ''; }

.ct-submit-btn { width: 100%; display: flex; align-items: center; justify-content: center; gap: .625rem; background: #76B72C; color: #fff; font-family: 'Poppins',sans-serif; font-weight: 700; font-size: 1rem; padding: 1rem 2rem; border-radius: .625rem; border: none; cursor: pointer; transition: background .2s, transform .15s; }
.ct-submit-btn svg { width: 1.125rem; height: 1.125rem; }
.ct-submit-btn:hover { background: #5a9120; transform: translateY(-1px); }
.ct-submit-btn:active { transform: translateY(0); }
.ct-submit-btn:disabled { background: #94a3b8; cursor: not-allowed; transform: none; }
/* spinner */
@keyframes ct-spin { to { transform: rotate(360deg); } }
.ct-spin { animation: ct-spin .8s linear infinite; }

/* Success state */
.ct-success { text-align: center; padding: 3.5rem 2rem; }
.ct-success-icon { width: 5rem; height: 5rem; background: rgba(118,183,44,.12); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 1.5rem; }
.ct-success-icon svg { width: 2.5rem; height: 2.5rem; color: #1E6B22; }
.ct-success h3 { font-family: 'Poppins',sans-serif; font-weight: 800; font-size: 1.75rem; color: #04214A; margin-bottom: .75rem; }
.ct-success p { color: #4b5563; font-size: .9375rem; line-height: 1.7; margin-bottom: 2rem; }
.ct-back-btn { display: inline-flex; align-items: center; gap: .5rem; background: #76B72C; color: #fff; font-weight: 700; padding: .75rem 1.75rem; border-radius: .5rem; transition: background .2s; }
.ct-back-btn:hover { background: #5a9120; }

/* Error msg */
.ct-error-msg { display: flex; align-items: center; gap: .625rem; background: #fef2f2; border: 1px solid #fecaca; border-radius: .625rem; padding: .875rem 1.125rem; color: #dc2626; font-size: .875rem; margin-bottom: 1.5rem; }
.ct-error-msg svg { width: 1.125rem; height: 1.125rem; flex-shrink: 0; }

/* Map */
.ct-map-wrap { line-height: 0; }
.ct-map-wrap iframe { display: block; filter: grayscale(20%); }

/* ══════════════════════════════════════
   GALLERY PAGE
══════════════════════════════════════ */
.gl-hero { position: relative; min-height: 380px; display: flex; align-items: center; background: linear-gradient(135deg, #04214A 0%, #0a3a6b 100%); }
.gl-hero-overlay { position: absolute; inset: 0; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%2376B72C' fill-opacity='0.06'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); }
.gl-hero-inner { position: relative; z-index: 1; padding-top: 6rem; padding-bottom: 4rem; }
.gl-hero-title { font-family: 'Poppins',sans-serif; font-weight: 800; font-size: clamp(2.5rem,6vw,4.5rem); color: #fff; line-height: 1.1; margin-bottom: .875rem; }
.gl-hero-sub { color: rgba(255,255,255,.75); font-size: 1rem; max-width: 52ch; }

/* Gallery grid */
.gl-section { background: #f8fafc; padding: clamp(3rem,6vw,5rem) 0; }
.gl-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1rem; }
@media (max-width: 1024px) { .gl-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px)  { .gl-grid { grid-template-columns: repeat(2, 1fr); gap: .625rem; } }

.gl-item { cursor: pointer; border-radius: .75rem; overflow: hidden; }
.gl-img-wrap { position: relative; aspect-ratio: 4/3; overflow: hidden; background: #e2e8f0; }
.gl-img-wrap img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s ease; }
.gl-item:hover .gl-img-wrap img { transform: scale(1.07); }
.gl-overlay { position: absolute; inset: 0; background: rgba(4,33,74,.6); opacity: 0; transition: opacity .3s; display: flex; align-items: center; justify-content: center; }
.gl-item:hover .gl-overlay { opacity: 1; }
.gl-overlay-inner { display: flex; flex-direction: column; align-items: center; gap: .75rem; text-align: center; padding: 1rem; }
.gl-zoom-icon { width: 2.5rem; height: 2.5rem; color: #fff; }
.gl-item-title { color: #fff; font-weight: 600; font-size: .875rem; line-height: 1.3; }

/* Empty state */
.gl-empty { text-align: center; padding: 5rem 2rem; color: #6b7280; }
.gl-empty svg { width: 4rem; height: 4rem; margin: 0 auto 1.25rem; color: #d1d5db; display: block; }
.gl-empty h3 { font-family: 'Poppins',sans-serif; font-weight: 700; font-size: 1.25rem; color: #374151; margin-bottom: .5rem; }
.gl-empty p { font-size: .9rem; }

/* Lightbox */
.gl-lightbox { position: fixed; inset: 0; z-index: 9999; background: rgba(0,0,0,.95); display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: opacity .3s, visibility .3s; }
.gl-lightbox.open { opacity: 1; visibility: visible; }
.gl-lb-close { position: absolute; top: 1.25rem; right: 1.25rem; width: 2.75rem; height: 2.75rem; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; cursor: pointer; transition: background .2s; z-index: 10; }
.gl-lb-close:hover { background: rgba(255,255,255,.25); }
.gl-lb-close svg { width: 1.25rem; height: 1.25rem; }
.gl-lb-prev, .gl-lb-next { position: absolute; top: 50%; transform: translateY(-50%); width: 3rem; height: 3rem; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.2); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: #fff; cursor: pointer; transition: background .2s; z-index: 10; }
.gl-lb-prev { left: 1.25rem; }
.gl-lb-next { right: 1.25rem; }
.gl-lb-prev:hover, .gl-lb-next:hover { background: #76B72C; border-color: #76B72C; }
.gl-lb-prev svg, .gl-lb-next svg { width: 1.25rem; height: 1.25rem; }
.gl-lb-content { max-width: 90vw; max-height: 90vh; display: flex; flex-direction: column; align-items: center; gap: 1rem; }
.gl-lb-img-wrap { display: flex; align-items: center; justify-content: center; }
.gl-lb-img-wrap img { max-width: 88vw; max-height: 78vh; object-fit: contain; border-radius: .5rem; display: block; }
.gl-lb-info { text-align: center; }
.gl-lb-title { display: block; font-family: 'Poppins',sans-serif; font-weight: 700; font-size: 1rem; color: #fff; margin-bottom: .25rem; }
.gl-lb-caption { display: block; font-size: .8125rem; color: rgba(255,255,255,.6); }
.gl-lb-counter { position: absolute; bottom: 1.25rem; left: 50%; transform: translateX(-50%); font-size: .75rem; color: rgba(255,255,255,.5); letter-spacing: .05em; }

/* ══════════════════════════════════════
   SERVICE PAGES
══════════════════════════════════════ */
/* Hero */
.sv-hero { position: relative; min-height: 500px; display: flex; align-items: center; background-size: cover; background-position: center; }
.sv-hero-overlay { position: absolute; inset: 0; background: linear-gradient(135deg,rgba(4,33,74,.9) 0%,rgba(4,33,74,.55) 100%); }
.sv-hero-inner { position: relative; z-index: 1; padding-top: 6rem; padding-bottom: 4rem; }
.sv-hero-eyebrow { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #76B72C; background: rgba(118,183,44,.15); padding: .3rem .875rem; border-radius: 2rem; margin-bottom: 1rem; }
.sv-hero-title { font-family: 'Poppins',sans-serif; font-weight: 800; font-size: clamp(2rem,5vw,3.75rem); color: #fff; line-height: 1.1; margin-bottom: .875rem; }
.sv-hero-sub { color: rgba(255,255,255,.8); font-size: clamp(.9rem,2vw,1.125rem); margin-bottom: 2rem; max-width: 52ch; }
.sv-hero-btn { display: inline-block; border: 2px solid #76B72C; color: #76B72C; padding: .75rem 2rem; border-radius: .375rem; font-weight: 600; font-size: .9rem; transition: background .2s,color .2s; }
.sv-hero-btn:hover { background: #76B72C; color: #fff; }

/* Shared */
.sv-section-eyebrow { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #76B72C; background: rgba(118,183,44,.1); padding: .3rem .875rem; border-radius: 2rem; margin-bottom: .875rem; }
.sv-sec-header { margin-bottom: 3rem; }
.sv-sec-title { font-family: 'Poppins',sans-serif; font-weight: 800; font-size: clamp(1.75rem,3.5vw,2.5rem); color: #04214A; line-height: 1.2; }

/* Intro */
.sv-intro-section { background: #fff; padding: clamp(3rem,6vw,5rem) 0; }
.sv-intro-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
@media (max-width: 900px) { .sv-intro-grid { grid-template-columns: 1fr; gap: 2rem; } }
.sv-intro-heading { font-family: 'Poppins',sans-serif; font-weight: 800; font-size: clamp(1.75rem,3vw,2.5rem); color: #04214A; line-height: 1.2; margin-bottom: 1.25rem; }
.sv-intro-text { font-size: .9375rem; color: #374151; line-height: 1.85; margin-bottom: 2rem; }
.sv-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 1rem; }
@media (max-width: 600px) { .sv-stats { grid-template-columns: repeat(2,1fr); } }
.sv-stat { background: #f0f7eb; border-radius: .75rem; padding: 1rem; text-align: center; border: 1px solid rgba(118,183,44,.2); }
.sv-stat-val { display: block; font-family: 'Poppins',sans-serif; font-weight: 800; font-size: 1.25rem; color: #1E6B22; }
.sv-stat-label { display: block; font-size: .75rem; color: #4b5563; margin-top: .25rem; }
.sv-intro-img { border-radius: 1rem; overflow: hidden; }
.sv-intro-img img { width: 100%; height: 420px; object-fit: cover; border-radius: 1rem; display: block; }
@media (max-width: 900px) { .sv-intro-img img { height: 260px; } }

/* Offerings — horizontal feature cards */
.sv-offerings-section { background: #f8fafc; padding: clamp(3rem,6vw,5rem) 0; }
.sv-feat-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem; }
@media (max-width: 768px) { .sv-feat-grid { grid-template-columns: 1fr; } }
.sv-feat-item { display: flex; align-items: flex-start; gap: 1.25rem; background: #fff; border-radius: 1rem; padding: 1.5rem; box-shadow: 0 1px 8px rgba(4,33,74,.06); transition: box-shadow .25s, transform .25s; border: 1px solid #f0f4f8; }
.sv-feat-item:hover { box-shadow: 0 6px 24px rgba(4,33,74,.11); transform: translateY(-3px); }
.sv-feat-icon { width: 52px; height: 52px; min-width: 52px; border-radius: .75rem; background: #04214A; display: flex; align-items: center; justify-content: center; }
.sv-feat-icon svg { width: 26px; height: 26px; color: #76B72C; stroke: #76B72C; }
.sv-feat-num { font-family: 'Poppins',sans-serif; font-weight: 800; font-size: .7rem; color: #76B72C; letter-spacing: .08em; display: block; margin-bottom: .25rem; }
.sv-feat-title { font-family: 'Poppins',sans-serif; font-weight: 700; font-size: .9375rem; color: #04214A; margin-bottom: .375rem; }
.sv-feat-desc { font-size: .8125rem; color: #4b5563; line-height: 1.7; margin: 0; }

/* How we work */
.sv-how-section { background: #fff; padding: clamp(3rem,6vw,5rem) 0; }
.sv-how-steps { display: grid; grid-template-columns: repeat(6,1fr); gap: 1.25rem; }
@media (max-width: 1100px) { .sv-how-steps { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 600px)  { .sv-how-steps { grid-template-columns: repeat(2,1fr); } }
.sv-step { background: #f8fafc; border-radius: 1rem; padding: 1.5rem 1.25rem; border-left: 3px solid #76B72C; }
.sv-step-num { font-family: 'Poppins',sans-serif; font-weight: 800; font-size: 1.5rem; color: rgba(118,183,44,.3); display: block; margin-bottom: .5rem; }
.sv-step-title { font-family: 'Poppins',sans-serif; font-weight: 700; font-size: .9rem; color: #04214A; margin-bottom: .4rem; }
.sv-step-desc { font-size: .8rem; color: #4b5563; line-height: 1.6; }

/* Why Choose */
.sv-why-section { background: #f0f7eb; padding: clamp(3rem,6vw,5rem) 0; }
.sv-why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
@media (max-width: 900px) { .sv-why-grid { grid-template-columns: 1fr; gap: 2rem; } }
.sv-why-title { font-family: 'Poppins',sans-serif; font-weight: 800; font-size: clamp(1.75rem,3.5vw,2.5rem); color: #04214A; line-height: 1.2; margin-bottom: 1.75rem; }
.sv-why-list { list-style: none; display: flex; flex-direction: column; gap: .875rem; }
.sv-why-list li { display: flex; align-items: flex-start; gap: .75rem; font-size: .9375rem; color: #374151; }
.sv-why-list li::before { content: ''; width: 20px; height: 20px; flex-shrink: 0; margin-top: .1rem; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231E6B22' stroke-width='2.5' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat; }
.sv-why-img { position: relative; }
.sv-why-img img { width: 100%; border-radius: 1rem; object-fit: cover; max-height: 460px; }
.sv-why-img-card { position: absolute; bottom: 1.5rem; left: 1.5rem; background: #fff; border-radius: .75rem; padding: .875rem 1.25rem; display: flex; align-items: center; gap: .75rem; box-shadow: 0 4px 20px rgba(4,33,74,.15); }
.sv-why-img-card svg { width: 2rem; height: 2rem; flex-shrink: 0; }
.sv-why-img-card span { font-size: .8rem; font-weight: 700; color: #04214A; line-height: 1.4; }

/* Industries */
.sv-industries-section { background: #fff; padding: clamp(3rem,6vw,5rem) 0; }
.sv-ind-row { display: grid; grid-template-columns: repeat(5,1fr); gap: 1.25rem; }
@media (max-width: 900px) { .sv-ind-row { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 560px) { .sv-ind-row { grid-template-columns: repeat(2,1fr); } }
.sv-ind-card { position: relative; border-radius: 1rem; overflow: hidden; aspect-ratio: 3/4; }
.sv-ind-card img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.sv-ind-card:hover img { transform: scale(1.06); }
.sv-ind-card span { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(0deg,rgba(4,33,74,.9) 0%,transparent 100%); color: #fff; font-weight: 700; font-size: .875rem; padding: 1.5rem .75rem .875rem; display: block; }

/* CTA section */
.sv-cta-section { position: relative; background-size: cover; background-position: center; padding: clamp(4rem,8vw,7rem) 0; }
.sv-cta-overlay { position: absolute; inset: 0; background: rgba(4,33,74,.82); }
.sv-cta-inner { position: relative; z-index: 1; text-align: center; }
.sv-cta-title { font-family: 'Poppins',sans-serif; font-weight: 800; font-size: clamp(1.75rem,4vw,3rem); color: #fff; margin-bottom: 1rem; }
.sv-cta-green { color: #76B72C; }
.sv-cta-sub { color: rgba(255,255,255,.75); font-size: 1rem; line-height: 1.7; margin-bottom: 2rem; max-width: 56ch; margin-left: auto; margin-right: auto; }
.sv-cta-btns { display: flex; gap: 1rem; justify-content: center; flex-wrap: wrap; margin-bottom: 2.5rem; }
.sv-btn-primary { display: inline-flex; align-items: center; gap: .5rem; background: #76B72C; color: #fff; font-weight: 700; padding: .875rem 2rem; border-radius: .375rem; transition: background .2s; }
.sv-btn-primary svg { width: 1rem; height: 1rem; flex-shrink: 0; }
.sv-btn-primary:hover { background: #5a9120; }
.sv-btn-outline { display: inline-flex; align-items: center; gap: .5rem; border: 2px solid rgba(255,255,255,.4); color: #fff; font-weight: 600; padding: .875rem 2rem; border-radius: .375rem; transition: border-color .2s,background .2s; }
.sv-btn-outline svg { width: 1rem; height: 1rem; flex-shrink: 0; }
.sv-btn-outline:hover { border-color: #76B72C; background: rgba(118,183,44,.1); }
.sv-other-links { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: center; }
.sv-other-links a { font-size: .8rem; color: rgba(255,255,255,.6); border: 1px solid rgba(255,255,255,.2); padding: .3rem .875rem; border-radius: 2rem; transition: color .15s,border-color .15s; }
.sv-other-links a:hover { color: #76B72C; border-color: #76B72C; }

/* ══════════════════════════════════════
   ABOUT PAGE
══════════════════════════════════════ */

/* Hero */
.ab-hero { position: relative; min-height: 560px; display: flex; align-items: center; background-size: cover; background-position: center; }
.ab-hero-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(4,33,74,.85) 0%, rgba(4,33,74,.55) 100%); }
.ab-hero-inner { position: relative; z-index: 1; padding-top: 6rem; padding-bottom: 4rem; }
.ab-hero-title { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(2.5rem, 6vw, 4.5rem); color: #fff; line-height: 1.1; margin-bottom: 1rem; }
.ab-hero-green { color: #76B72C; }
.ab-hero-sub { color: rgba(255,255,255,.85); font-size: clamp(.9rem, 2vw, 1.125rem); margin-bottom: 2rem; max-width: 48ch; }
.ab-hero-btn { display: inline-block; border: 2px solid #fff; color: #fff; padding: .75rem 2rem; border-radius: .375rem; font-weight: 600; font-size: .9rem; transition: background .2s, color .2s; }
.ab-hero-btn:hover { background: #fff; color: #04214A; }

/* Breadcrumb */
.ab-breadcrumb { background: #04214A; }
.ab-breadcrumb-inner { display: flex; align-items: center; gap: .75rem; padding-top: .875rem; padding-bottom: .875rem; font-size: .85rem; }
.ab-breadcrumb-inner a { color: rgba(255,255,255,.7); transition: color .15s; }
.ab-breadcrumb-inner a:hover { color: #76B72C; }
.ab-breadcrumb-inner span { color: rgba(255,255,255,.5); }
.ab-breadcrumb-inner span:last-child { color: #76B72C; }

/* Intro */
.ab-intro-section { background: #fff; padding: clamp(3rem, 6vw, 5rem) 0; }
.ab-intro-text { max-width: 900px; }
.ab-intro-text p { color: #374151; font-size: 1rem; line-height: 1.9; margin-bottom: 1.25rem; text-align: justify; }
.ab-intro-text p:last-child { margin-bottom: 0; }

/* How We Support */
.ab-support-section { background: #f8fafc; padding: clamp(3rem, 6vw, 5rem) 0; }
.ab-support-heading { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(1.75rem, 3.5vw, 2.5rem); color: #04214A; margin-bottom: 2.5rem; }
.ab-support-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin-bottom: 2.5rem; }
@media (max-width: 768px) { .ab-support-grid { grid-template-columns: 1fr; } }
.ab-support-col { background: #fff; border-radius: 1rem; padding: 2rem; box-shadow: 0 2px 16px rgba(4,33,74,.06); }
.ab-support-col-title { font-weight: 700; font-size: .9375rem; color: #04214A; margin-bottom: 1.5rem; text-align: center; line-height: 1.5; }
.ab-support-list { display: flex; flex-direction: column; gap: 1.5rem; list-style: none; }
.ab-support-list li { display: flex; align-items: flex-start; gap: 1rem; }
.ab-sup-img { width: 70px; height: 70px; border-radius: 50%; overflow: hidden; flex-shrink: 0; }
.ab-sup-img img { width: 100%; height: 100%; object-fit: cover; }
.ab-support-list li strong { display: block; font-weight: 700; font-size: .9rem; color: #04214A; margin-bottom: .25rem; }
.ab-support-list li p { font-size: .8125rem; color: #4b5563; line-height: 1.65; margin: 0; }
.ab-support-left .ab-support-col-title { color: #04214A; }
.ab-support-right { border-top: 3px solid #76B72C; }
.ab-support-right .ab-support-col-title { color: #1E6B22; }
.ab-support-tagline { text-align: center; font-weight: 700; font-size: 1.0625rem; color: #04214A; padding: 1.5rem 0 0; }

/* History / About */
.ab-history-section { background: #fff; padding: clamp(3rem, 6vw, 5rem) 0; }
.ab-history-top { margin-bottom: 3rem; }
.ab-history-heading { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(1.875rem, 4vw, 3rem); color: #04214A; line-height: 1.15; margin-bottom: .75rem; }
.ab-history-sub { color: #4b5563; font-size: 1rem; line-height: 1.7; }
.ab-history-main { display: grid; grid-template-columns: 1fr 1.15fr; gap: 3.5rem; align-items: start; }
@media (max-width: 900px) { .ab-history-main { grid-template-columns: 1fr; } }
.ab-history-img { border-radius: .875rem; overflow: hidden; }
.ab-history-img img { width: 100%; height: 500px; object-fit: cover; display: block; border-radius: .875rem; }
@media (max-width: 900px) { .ab-history-img img { height: 280px; } }

/* Who We Work With */
.ab-work-section { background: #f8fafc; padding: clamp(3rem, 6vw, 5rem) 0; }
.ab-work-heading { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(1.875rem, 4vw, 3rem); color: #04214A; text-align: center; margin-bottom: 3rem; }
.ab-work-grid { display: flex; align-items: flex-end; gap: 1.25rem; }
.ab-work-card { flex: 1; position: relative; border-radius: 1rem; overflow: hidden; cursor: pointer; }
.ab-work-card img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.ab-work-card:hover img { transform: scale(1.05); }
.ab-work-tall { height: 480px; }
.ab-work-short { height: 360px; }
.ab-work-label { position: absolute; bottom: 1rem; left: 50%; transform: translateX(-50%); background: #fff; color: #04214A; font-weight: 700; font-size: .85rem; padding: .5rem 1.25rem; border-radius: 2rem; white-space: nowrap; box-shadow: 0 2px 12px rgba(0,0,0,.15); text-align: center; }
@media (max-width: 768px) { .ab-work-grid { flex-direction: column; } .ab-work-tall, .ab-work-short { width: 100%; height: 220px; } }

/* Why Choose */
.ab-why-section { background: #fff; padding: clamp(3rem, 6vw, 5rem) 0; }
.ab-why-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
@media (max-width: 768px) { .ab-why-grid { grid-template-columns: 1fr; gap: 2rem; } }
.ab-why-heading { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(1.75rem, 3.5vw, 2.75rem); color: #04214A; line-height: 1.2; margin-bottom: 2rem; }
.ab-why-list { list-style: none; display: flex; flex-direction: column; gap: .875rem; }
.ab-why-list li { display: flex; align-items: center; gap: .75rem; font-size: .9375rem; color: #374151; }
.ab-why-list li::before { content: ''; width: 20px; height: 20px; flex-shrink: 0; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231E6B22' stroke-width='2.5' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat; }
.ab-why-right img { width: 100%; border-radius: 1rem; object-fit: cover; }

/* Industries */
.ab-industries-section { background: #f8fafc; padding: clamp(3rem, 6vw, 5rem) 0; }
.ab-ind-heading { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(1.875rem, 4vw, 3rem); text-align: center; color: #04214A; margin-bottom: 2.5rem; }
.ab-ind-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 1rem; }
@media (max-width: 1024px) { .ab-ind-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 560px)  { .ab-ind-grid { grid-template-columns: repeat(2, 1fr); } }
.ab-ind-card { position: relative; border-radius: 1rem; overflow: hidden; aspect-ratio: 3/4; }
.ab-ind-card img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.ab-ind-card:hover img { transform: scale(1.06); }
.ab-ind-card span { position: absolute; bottom: 0; left: 0; right: 0; background: linear-gradient(0deg, rgba(4,33,74,.9) 0%, transparent 100%); color: #fff; font-weight: 700; font-size: .875rem; padding: 1.5rem .75rem .875rem; }

/* CTA Banner */
.ab-cta-section { position: relative; background-size: cover; background-position: center; padding: clamp(4rem, 8vw, 7rem) 0; }
.ab-cta-overlay { position: absolute; inset: 0; background: rgba(118,183,44,.75); }
.ab-cta-inner { position: relative; z-index: 1; text-align: center; }
.ab-cta-heading { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(1.75rem, 4vw, 3rem); color: #04214A; line-height: 1.2; margin-bottom: 1.25rem; }
.ab-cta-green { color: #04214A; }
.ab-cta-sub { color: rgba(4,33,74,.8); font-size: 1rem; line-height: 1.7; margin-bottom: 2rem; max-width: 52ch; margin-left: auto; margin-right: auto; }
.ab-cta-btn { display: inline-flex; align-items: center; gap: .5rem; background: #fff; color: #04214A; font-weight: 700; font-size: .9375rem; padding: .875rem 2rem; border-radius: .375rem; transition: background .2s, color .2s; }
.ab-cta-btn svg { width: 16px; height: 16px; }
.ab-cta-btn:hover { background: #04214A; color: #fff; }

/* FAQs */
.ab-faq-section { background: #fff; padding: clamp(3rem, 6vw, 5rem) 0; }
.ab-faq-heading { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(2rem, 4vw, 3rem); color: #04214A; margin-bottom: 2.5rem; }
.ab-faq-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 3rem; }
@media (max-width: 768px) { .ab-faq-grid { grid-template-columns: 1fr; } }
.ab-faq-item { border-bottom: 1px solid #e2e8f0; }
.ab-faq-item:first-child { border-top: 1px solid #e2e8f0; }
.ab-faq-trigger { width: 100%; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1.25rem 0; background: none; border: none; cursor: pointer; text-align: left; }
.ab-faq-trigger span { font-weight: 600; font-size: .9375rem; color: #04214A; transition: color .2s; }
.ab-faq-item.active .ab-faq-trigger span { color: #1E6B22; }
.ab-faq-icon { width: 18px; height: 18px; flex-shrink: 0; color: #9ca3af; transition: transform .3s, color .2s; }
.ab-faq-item.active .ab-faq-icon { transform: rotate(180deg); color: #76B72C; }
.ab-faq-body { max-height: 0; overflow: hidden; transition: max-height .4s cubic-bezier(.4,0,.2,1); }
.ab-faq-item.active .ab-faq-body { max-height: 300px; }
.ab-faq-body p { font-size: .9rem; color: #4b5563; line-height: 1.75; padding-bottom: 1.25rem; }

/* ══════════════════════════════════════
   BIS CERTIFICATION PAGE
══════════════════════════════════════ */
/* Hero */
.bis-hero { position: relative; background-size: cover; background-position: center; padding: 7rem 0 4rem; }
.bis-hero-overlay { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(4,33,74,.92) 0%, rgba(4,33,74,.7) 55%, rgba(4,33,74,.3) 100%); }
.bis-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.1fr 1fr; gap: 4rem; align-items: center; }
@media (max-width: 900px) { .bis-hero-grid { grid-template-columns: 1fr; } }
.bis-hero-title { font-family: 'Poppins',sans-serif; font-weight: 800; font-size: clamp(2rem,5vw,3.5rem); color: #fff; line-height: 1.15; margin-bottom: 1.25rem; }
.bis-hero-text { color: rgba(255,255,255,.82); font-size: .9375rem; line-height: 1.8; margin-bottom: 1rem; }
.bis-hero-bold { color: #fff; font-weight: 700; font-size: .9375rem; margin-bottom: .5rem; }
.bis-hero-list { list-style: none; margin-bottom: 1rem; display: flex; flex-direction: column; gap: .4rem; }
.bis-hero-list li { color: rgba(255,255,255,.85); font-size: .875rem; display: flex; align-items: center; gap: .625rem; }
.bis-hero-list li::before { content: ''; width: 18px; height: 18px; flex-shrink: 0; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%2376B72C' stroke-width='2.5' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat; }
.bis-hero-note { color: rgba(255,255,255,.7); font-size: .8375rem; line-height: 1.7; margin-bottom: 2rem; }
.bis-hero-btn { display: inline-block; border: 2px solid #fff; color: #fff; padding: .75rem 2rem; border-radius: .375rem; font-weight: 600; font-size: .9rem; transition: background .2s, color .2s; }
.bis-hero-btn:hover { background: #fff; color: #04214A; }
.bis-hero-img { display: flex; align-items: center; justify-content: center; }
.bis-hero-img img { max-width: 100%; max-height: 380px; object-fit: contain; filter: drop-shadow(0 8px 32px rgba(0,0,0,.3)); }
@media (max-width: 900px) { .bis-hero-img { display: none; } }

/* Shared section head */
.bis-intro-section { background: #fff; padding: clamp(3rem,6vw,5rem) 0; }
.bis-intro-heading { font-family: 'Poppins',sans-serif; font-weight: 800; font-size: clamp(1.5rem,3.5vw,2.5rem); color: #04214A; line-height: 1.25; margin-bottom: 1.5rem; }
.bis-intro-body p { color: #374151; font-size: .9375rem; line-height: 1.85; margin-bottom: .875rem; }
.bis-sec-head { margin-bottom: 2.5rem; }
.bis-sec-title { font-family: 'Poppins',sans-serif; font-weight: 800; font-size: clamp(1.625rem,3.5vw,2.5rem); color: #04214A; line-height: 1.2; margin-bottom: .75rem; }
.bis-sec-sub { color: #4b5563; font-size: .9375rem; line-height: 1.75; }

/* Schemes */
.bis-schemes-section { background: #f8fafc; padding: clamp(3rem,6vw,5rem) 0; }
.bis-schemes-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1.5rem; }
@media (max-width: 1024px) { .bis-schemes-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 560px)  { .bis-schemes-grid { grid-template-columns: 1fr; } }
.bis-scheme-card { background: #fff; border-radius: 1rem; overflow: hidden; box-shadow: 0 2px 16px rgba(4,33,74,.07); border: 1px solid #e2e8f0; transition: transform .25s, box-shadow .25s; }
.bis-scheme-card:hover { transform: translateY(-4px); box-shadow: 0 8px 28px rgba(4,33,74,.13); }
.bis-scheme-logo { background: #f0f7eb; padding: 1.75rem; display: flex; align-items: center; justify-content: center; min-height: 140px; border-bottom: 1px solid #e2e8f0; }
.bis-scheme-logo img { max-height: 100px; max-width: 100%; object-fit: contain; }
.bis-scheme-body { padding: 1.5rem; }
.bis-scheme-body h3 { font-family: 'Poppins',sans-serif; font-weight: 700; font-size: .9375rem; color: #04214A; margin-bottom: .75rem; line-height: 1.35; }
.bis-scheme-body p { font-size: .8375rem; color: #4b5563; margin-bottom: .5rem; line-height: 1.6; }
.bis-scheme-bold { font-weight: 700; color: #04214A !important; }
.bis-scheme-body ul { list-style: none; display: flex; flex-direction: column; gap: .35rem; }
.bis-scheme-body ul li { font-size: .8125rem; color: #374151; display: flex; align-items: flex-start; gap: .5rem; }
.bis-scheme-body ul li::before { content: ''; width: 16px; height: 16px; min-width: 16px; margin-top: .1rem; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231E6B22' stroke-width='2.5' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat; }

/* Who needs */
.bis-who-section { background: #fff; padding: clamp(3rem,6vw,5rem) 0; }
.bis-who-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.25rem; margin-bottom: 2rem; }
@media (max-width: 900px) { .bis-who-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 480px)  { .bis-who-grid { grid-template-columns: 1fr; } }
.bis-who-card { position: relative; border-radius: 1rem; overflow: hidden; min-height: 360px; background-size: cover; background-position: center; display: flex; align-items: flex-end; cursor: default; }
.bis-who-overlay { position: absolute; inset: 0; background: linear-gradient(0deg, rgba(4,33,74,.9) 0%, rgba(4,33,74,.3) 60%, transparent 100%); }
.bis-who-body { position: relative; z-index: 1; padding: 1.5rem; }
.bis-who-body h3 { font-family: 'Poppins',sans-serif; font-weight: 700; font-size: .9375rem; color: #fff; margin-bottom: .75rem; line-height: 1.3; }
.bis-who-body ul { list-style: none; display: flex; flex-direction: column; gap: .3rem; }
.bis-who-body ul li { font-size: .8rem; color: rgba(255,255,255,.85); display: flex; align-items: flex-start; gap: .5rem; }
.bis-who-body ul li::before { content: ''; width: 14px; height: 14px; min-width: 14px; margin-top: .15rem; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%2376B72C' stroke-width='2.5' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat; }
.bis-who-note { font-size: .9375rem; color: #374151; line-height: 1.7; font-style: italic; }

/* Expertise */
.bis-exp-section { background: #f8fafc; padding: clamp(3rem,6vw,5rem) 0; }
.bis-exp-grid { display: grid; grid-template-columns: repeat(5,1fr); gap: 1.5rem; margin-bottom: 1.5rem; }
@media (max-width: 1024px) { .bis-exp-grid { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 560px)  { .bis-exp-grid { grid-template-columns: repeat(2,1fr); } }
.bis-exp-item { text-align: center; }
.bis-exp-img { width: 160px; height: 160px; border-radius: 50%; overflow: hidden; margin: 0 auto 1rem; box-shadow: 0 4px 18px rgba(4,33,74,.12); }
.bis-exp-img img { width: 100%; height: 100%; object-fit: cover; }
.bis-exp-item p { font-size: .8125rem; color: #4b5563; line-height: 1.6; }
.bis-exp-note { text-align: center; font-size: .9375rem; color: #374151; }

/* BIS + EPR table */
.bis-epr-section { background: #fff; padding: clamp(3rem,6vw,5rem) 0; }
.bis-compare-table { border: 1.5px solid rgba(118,183,44,.4); border-radius: .875rem; overflow: hidden; margin-bottom: 1.5rem; }
.bis-compare-head { display: grid; grid-template-columns: 1fr 1fr; background: #04214A; }
.bis-compare-head div { padding: 1rem 1.5rem; font-family: 'Poppins',sans-serif; font-weight: 700; font-size: .9375rem; color: #76B72C; }
.bis-compare-row { display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid #e2e8f0; }
.bis-compare-row:nth-child(even) { background: #f8fafc; }
.bis-compare-row div { padding: .875rem 1.5rem; font-size: .875rem; color: #374151; display: flex; align-items: center; gap: .625rem; border-right: 1px solid #e2e8f0; }
.bis-compare-row div:last-child { border-right: none; }
.bis-compare-row div::before { content: ''; width: 16px; height: 16px; min-width: 16px; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231E6B22' stroke-width='2.5' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat; }
.bis-epr-note { font-weight: 700; color: #04214A; font-size: .9375rem; }
@media (max-width: 640px) { .bis-compare-head, .bis-compare-row { grid-template-columns: 1fr; } .bis-compare-row div { border-right: none; border-bottom: 1px solid #e2e8f0; } }

/* Why started */
.bis-why-started-section { background: #f8fafc; padding: clamp(3rem,6vw,5rem) 0; }
.bis-why-started-grid { display: grid; grid-template-columns: 1.2fr 1fr; gap: 4rem; align-items: center; }
@media (max-width: 900px) { .bis-why-started-grid { grid-template-columns: 1fr; } }
.bis-why-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin: 1.5rem 0; }
@media (max-width: 640px) { .bis-why-cols { grid-template-columns: 1fr; } }
.bis-why-col-head { font-size: .875rem; color: #374151; line-height: 1.65; margin-bottom: .75rem; }
.bis-why-list { list-style: none; display: flex; flex-direction: column; gap: .5rem; }
.bis-why-list li { font-size: .875rem; color: #374151; display: flex; align-items: flex-start; gap: .625rem; }
.bis-why-list li::before { content: ''; width: 18px; height: 18px; min-width: 18px; margin-top: .1rem; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231E6B22' stroke-width='2.5' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat; }
.bis-goal-box { background: #fff; border: 1.5px solid rgba(118,183,44,.3); border-radius: .75rem; padding: 1.25rem 1.5rem; }
.bis-goal-box p { font-size: .9375rem; color: #374151; line-height: 1.7; margin: 0; }
.bis-goal-box strong { color: #04214A; }
.bis-why-started-img img { width: 100%; border-radius: 1rem; object-fit: contain; }

/* Process */
.bis-process-section { background: #fff; padding: clamp(3rem,6vw,5rem) 0; }
.bis-process-steps { display: grid; grid-template-columns: repeat(6,1fr); gap: 1.25rem; margin-bottom: 1.5rem; }
@media (max-width: 1100px) { .bis-process-steps { grid-template-columns: repeat(3,1fr); } }
@media (max-width: 560px)  { .bis-process-steps { grid-template-columns: repeat(2,1fr); } }
.bis-proc-step { background: #f8fafc; border-radius: 1rem; padding: 1.5rem 1.25rem; border-left: 3px solid #76B72C; }
.bis-proc-num { font-family: 'Poppins',sans-serif; font-weight: 800; font-size: 1.5rem; color: rgba(118,183,44,.3); display: block; margin-bottom: .5rem; }
.bis-proc-step h3 { font-family: 'Poppins',sans-serif; font-weight: 700; font-size: .875rem; color: #04214A; margin-bottom: .375rem; }
.bis-proc-step p { font-size: .7875rem; color: #4b5563; line-height: 1.65; margin: 0; }
.bis-process-note { font-size: .9375rem; color: #374151; font-style: italic; }

/* Why choose */
.bis-whychoose-section { background: #f0f7eb; padding: clamp(3rem,6vw,5rem) 0; }
.bis-whychoose-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 4rem; align-items: center; }
@media (max-width: 900px) { .bis-whychoose-grid { grid-template-columns: 1fr; gap: 2rem; } }
.bis-wc-list { list-style: none; display: flex; flex-direction: column; gap: .875rem; margin-top: 1.75rem; }
.bis-wc-list li { display: flex; align-items: center; gap: .75rem; font-size: .9375rem; color: #374151; }
.bis-wc-list li::before { content: ''; width: 20px; height: 20px; flex-shrink: 0; background: url("data:image/svg+xml,%3Csvg viewBox='0 0 24 24' fill='none' stroke='%231E6B22' stroke-width='2.5' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M9 12l2 2 4-4'/%3E%3C/svg%3E") center/contain no-repeat; }
.bis-wc-img img { width: 100%; border-radius: 1rem; object-fit: cover; max-height: 420px; }

/* CTA */
.bis-cta-section { position: relative; background-size: cover; background-position: center; padding: clamp(4rem,8vw,7rem) 0; }
.bis-cta-overlay { position: absolute; inset: 0; background: rgba(4,33,74,.82); }
.bis-cta-inner { position: relative; z-index: 1; text-align: center; }
.bis-cta-inner h2 { font-family: 'Poppins',sans-serif; font-weight: 800; font-size: clamp(1.75rem,4vw,3rem); color: #fff; margin-bottom: 1rem; line-height: 1.25; }
.bis-cta-green { color: #76B72C; }
.bis-cta-inner p { color: rgba(255,255,255,.75); font-size: 1rem; line-height: 1.7; margin-bottom: 2rem; max-width: 56ch; margin-left: auto; margin-right: auto; }
.bis-cta-btn { display: inline-flex; align-items: center; gap: .5rem; background: #76B72C; color: #fff; font-weight: 700; font-size: .9375rem; padding: .875rem 2rem; border-radius: .375rem; transition: background .2s; }
.bis-cta-btn svg { width: 16px; height: 16px; }
.bis-cta-btn:hover { background: #5a9120; }

/* ══════════════════════════════════════
   FOOTER
══════════════════════════════════════ */
.rb-footer { background: #04214A; color: #fff; }

/* green accent top line */
.rb-ft-accent { height: 4px; background: linear-gradient(90deg, #76B72C 0%, #098AC3 100%); }

/* main grid */
.rb-ft-main { padding: clamp(2.5rem, 5vw, 4.5rem) 0 clamp(2rem, 4vw, 3.5rem); }
.rb-ft-grid { display: grid; grid-template-columns: 1.6fr 1fr 1.2fr 1.3fr; gap: 2.5rem; }
@media (max-width: 1100px) { .rb-ft-grid { grid-template-columns: 1fr 1fr 1fr; } }
@media (max-width: 640px)  { .rb-ft-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 420px)  { .rb-ft-grid { grid-template-columns: 1fr; } }

/* brand column */
.rb-ft-brand { display: flex; flex-direction: column; gap: 1.25rem; }
@media (max-width: 1100px) { .rb-ft-brand { grid-column: 1 / -1; } }
.rb-ft-logo-wrap { display: flex; align-items: center; gap: .75rem; text-decoration: none; }
.rb-ft-logo-img { height: 52px; width: auto; object-fit: contain; transform: scale(1.2); transform-origin: left center; }
.rb-ft-logo-name { display: block; font-family: 'Poppins', sans-serif; font-weight: 800; font-size: 1.1rem; line-height: 1.2; color: #fff; }
.rb-ft-logo-name em { color: #76B72C; font-style: normal; }
.rb-ft-logo-tag { display: block; font-size: .68rem; color: #098AC3; font-weight: 500; letter-spacing: .03em; margin-top: .1rem; }
.rb-ft-about { color: #94a3b8; font-size: .8625rem; line-height: 1.75; max-width: 30ch; }
.rb-ft-gst { background: rgba(118,183,44,.08); border: 1px solid rgba(118,183,44,.25); border-radius: .625rem; padding: .75rem 1rem; display: inline-flex; flex-direction: column; gap: .2rem; }
.rb-ft-gst-label { font-size: .65rem; font-weight: 700; color: #76B72C; text-transform: uppercase; letter-spacing: .08em; }
.rb-ft-gst-val { font-family: ui-monospace, monospace; font-size: .875rem; color: #fff; letter-spacing: .05em; }
.rb-ft-socials { display: flex; gap: .625rem; }
.rb-ft-social { width: 2.25rem; height: 2.25rem; border-radius: 50%; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.1); display: flex; align-items: center; justify-content: center; color: #94a3b8; transition: background .2s, color .2s, border-color .2s; }
.rb-ft-social svg { width: 1rem; height: 1rem; }
.rb-ft-social:hover { background: #76B72C; color: #fff; border-color: #76B72C; }

/* columns */
.rb-ft-col {}
.rb-ft-heading { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: .7rem; text-transform: uppercase; letter-spacing: .1em; color: #76B72C; margin-bottom: 1.25rem; position: relative; padding-bottom: .625rem; }
.rb-ft-heading::after { content: ''; position: absolute; bottom: 0; left: 0; width: 2rem; height: 2px; background: #76B72C; border-radius: 2px; }
.rb-ft-links { display: flex; flex-direction: column; gap: .5rem; }
.rb-ft-link { color: #94a3b8; font-size: .8625rem; transition: color .15s, padding-left .15s; }
.rb-ft-link:hover { color: #fff; padding-left: .375rem; }

/* contact list */
.rb-ft-contact-list { display: flex; flex-direction: column; gap: 1rem; list-style: none; }
.rb-ft-contact-item { display: flex; align-items: flex-start; gap: .75rem; }
.rb-ft-ci-icon { width: 2rem; height: 2rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; flex-shrink: 0; }
.rb-ft-ci-icon svg { width: .875rem; height: .875rem; }
.rb-ft-ci-green { background: rgba(118,183,44,.15); color: #76B72C; }
.rb-ft-ci-blue  { background: rgba(9,138,195,.15); color: #098AC3; }
.rb-ft-ci-text { color: #94a3b8; font-size: .8rem; line-height: 1.65; }
.rb-ft-ci-link { display: block; color: #94a3b8; font-size: .8rem; transition: color .15s; }
.rb-ft-ci-link:hover { color: #fff; }

/* bottom bar */
.rb-ft-bottom { border-top: 1px solid rgba(255,255,255,.08); padding: 1.125rem 0; }
.rb-ft-bottom-inner { display: flex; flex-direction: column; gap: .375rem; align-items: center; text-align: center; }
@media (min-width: 640px) { .rb-ft-bottom-inner { flex-direction: row; justify-content: space-between; text-align: left; } }
.rb-ft-copy { font-size: .75rem; color: #64748b; }
.rb-ft-credit { font-size: .75rem; color: #64748b; }
.rb-ft-credit-link { color: #76B72C; transition: color .15s; }
.rb-ft-credit-link:hover { color: #98d44a; }

/* Back to top */
.rb-back-top { position: fixed; bottom: 5.5rem; right: 1.5rem; z-index: 99; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: #04214A; border: 2px solid #76B72C; color: #76B72C; display: flex; align-items: center; justify-content: center; cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(12px); transition: opacity .3s, visibility .3s, transform .3s, background .2s; box-shadow: 0 4px 14px rgba(4,33,74,.3); }
.rb-back-top svg { width: 1.125rem; height: 1.125rem; }
.rb-back-top.visible { opacity: 1; visibility: visible; transform: translateY(0); }
.rb-back-top:hover { background: #76B72C; color: #fff; border-color: #76B72C; }

/* WhatsApp float */
.rb-whatsapp-float { position: fixed; bottom: 1.5rem; right: 1.5rem; z-index: 99; background: #25D366; color: #fff; width: 3.25rem; height: 3.25rem; border-radius: 50%; display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 16px rgba(37,211,102,.4); transition: transform .2s; }
.rb-whatsapp-float:hover { transform: scale(1.1); }
.rb-whatsapp-float svg { width: 1.625rem; height: 1.625rem; }

/* ══════════════════════════════════════
   AOS animations
══════════════════════════════════════ */
[data-aos] { opacity: 0; transition-property: opacity, transform; transition-duration: 450ms; transition-timing-function: cubic-bezier(.4,0,.2,1); }
[data-aos].aos-animate { opacity: 1; }
[data-aos="fade-up"]    { transform: translateY(24px); }
[data-aos="fade-right"] { transform: translateX(-24px); }
[data-aos="fade-left"]  { transform: translateX(24px); }
[data-aos].aos-animate  { transform: none !important; }

/* ══════════════════════════════════════
   SERVICES OVERVIEW PAGE
══════════════════════════════════════ */
/* Hero */
.sov-hero { position: relative; min-height: 520px; display: flex; align-items: center; background-size: cover; background-position: center; }
.sov-hero-overlay { position: absolute; inset: 0; background: linear-gradient(135deg, rgba(4,33,74,.88) 0%, rgba(4,33,74,.55) 100%); }
.sov-hero-inner { position: relative; z-index: 1; padding-top: 6rem; padding-bottom: 4rem; }
.sov-hero-eyebrow { display: inline-block; font-size: .72rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #76B72C; background: rgba(118,183,44,.15); padding: .3rem .875rem; border-radius: 2rem; margin-bottom: 1rem; }
.sov-hero-title { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(2.25rem, 5.5vw, 4rem); color: #fff; line-height: 1.1; margin-bottom: .875rem; }
.sov-hero-green { color: #76B72C; }
.sov-hero-sub { color: rgba(255,255,255,.8); font-size: clamp(.9rem, 2vw, 1.125rem); margin-bottom: 2rem; max-width: 54ch; }
.sov-hero-btn { display: inline-block; background: #76B72C; color: #fff; font-weight: 700; font-size: .9rem; padding: .875rem 2rem; border-radius: .375rem; transition: background .2s; }
.sov-hero-btn:hover { background: #5a9120; }

/* Services section */
.sov-services-section { background: #f8fafc; padding: clamp(3.5rem, 7vw, 6rem) 0; }
.sov-sec-header { margin-bottom: 3rem; }
.sov-sec-title { font-family: 'Poppins', sans-serif; font-weight: 800; font-size: clamp(1.875rem, 4vw, 3rem); color: #04214A; line-height: 1.2; margin-bottom: .75rem; }
.sov-sec-sub { color: #4b5563; font-size: 1rem; line-height: 1.75; max-width: 70ch; margin-top: .75rem; }

/* Cards grid */
.sov-cards-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.75rem; }
@media (max-width: 1024px) { .sov-cards-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px)  { .sov-cards-grid { grid-template-columns: 1fr; } }

.sov-card { background: #fff; border-radius: 1rem; overflow: hidden; box-shadow: 0 2px 16px rgba(4,33,74,.07); border: 1px solid #e8f0e5; transition: transform .25s, box-shadow .25s; display: flex; flex-direction: column; }
.sov-card:hover { transform: translateY(-5px); box-shadow: 0 10px 32px rgba(4,33,74,.13); }

.sov-card-img { overflow: hidden; height: 220px; }
.sov-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .4s; }
.sov-card:hover .sov-card-img img { transform: scale(1.06); }

.sov-card-body { padding: 1.5rem; display: flex; flex-direction: column; flex: 1; }
.sov-card-title { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 1rem; color: #04214A; margin-bottom: .625rem; line-height: 1.35; }
.sov-card-desc { font-size: .875rem; color: #4b5563; line-height: 1.7; flex: 1; margin-bottom: 1.25rem; }

.sov-know-more { display: inline-flex; align-items: center; gap: .375rem; font-weight: 600; font-size: .85rem; color: #1E6B22; border: 1.5px solid #1E6B22; padding: .5rem 1.125rem; border-radius: .375rem; transition: background .2s, color .2s; align-self: flex-start; }
.sov-know-more svg { width: 14px; height: 14px; }
.sov-know-more:hover { background: #1E6B22; color: #fff; }

/* ══════════════════════════════════════
   PROSE (page content)
══════════════════════════════════════ */
.prose { max-width: 65ch; line-height: 1.7; color: #374151; padding: 4rem 1.5rem; margin: 0 auto; }
.prose h1,.prose h2,.prose h3 { font-family: 'Poppins',sans-serif; font-weight: 700; color: #04214A; margin: 1.5rem 0 .75rem; }
.prose h1 { font-size: 2rem; }
.prose h2 { font-size: 1.5rem; }
.prose p  { margin-bottom: 1rem; }
