/* custom.css — Icebo Enviro Projects v3.6 — DEFINITIVE */

/* ─── UTILITY BAR ─────────────────────────────────────────────── */
#utility-bar {
    background: var(--c-green-dk);
    padding: 6px 0;
    font-size: 12px;
    color: rgba(255,255,255,.8);
    border-bottom: 1px solid rgba(255,255,255,.1);
}
#utility-bar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}
.utility-contact {
    display: flex;
    align-items: center;
    gap: 1.25rem;
    flex-wrap: wrap;
}
.utility-contact a {
    color: rgba(255,255,255,.82);
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    transition: color .2s;
}
.utility-contact a:hover { color: var(--c-gold-br); }
.utility-contact svg { flex-shrink: 0; }
.utility-bbbee {
    background: var(--c-gold);
    color: #000;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 2px;
    font-size: 10px;
    letter-spacing: 1px;
    text-transform: uppercase;
}
.utility-social-placeholder {
    font-size: 10px;
    color: rgba(255,255,255,.4);
    font-style: italic;
}

/* ─── SOCIAL LINKS (utility bar + footer) ─────────────────────── */
.social-links {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-wrap: wrap;
}
/* Utility bar: small, inline */
.utility-socials .social-link {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: rgba(255,255,255,.12);
    color: rgba(255,255,255,.8);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all .2s;
    border: 1px solid rgba(255,255,255,.2);
}
.utility-socials .social-link:hover { background: var(--c-gold); color: #000; border-color: var(--c-gold); }
/* Footer: slightly larger */
.footer-socials { margin-top: 1rem; }
.footer-socials .social-link {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,.1);
    color: rgba(255,255,255,.75);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    transition: all .2s;
    border: 1px solid rgba(255,255,255,.18);
}
.footer-socials .social-link:hover { transform: translateY(-2px); color: #fff; }
.footer-socials .social-link.social-facebook:hover  { background:#1877F2; border-color:#1877F2; }
.footer-socials .social-link.social-x-twitter:hover { background:#000; border-color:#333; }
.footer-socials .social-link.social-instagram:hover { background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); border-color:transparent; }
.footer-socials .social-link.social-linkedin:hover  { background:#0A66C2; border-color:#0A66C2; }
.footer-socials .social-link.social-youtube:hover   { background:#FF0000; border-color:#FF0000; }
.footer-socials .social-link.social-tiktok:hover    { background:#010101; border-color:#69C9D0; }
.social-link svg { width:16px; height:16px; display:block; }

/* ─── LOGO (transparent always) ────────────────────────────────── */
.site-logo, .custom-logo, .custom-logo img,
.footer-logo, .footer-brand .custom-logo img {
    background: transparent !important;
    background-color: transparent !important;
}
.site-logo {
    height: clamp(44px,7vw,60px);
    width: auto;
    max-width: 220px;
    object-fit: contain;
}
.footer-logo {
    height: 52px;
    width: auto;
    max-width: 180px;
    object-fit: contain;
    margin-bottom: 1rem;
    display: block;
}

/* ─── HAMBURGER ICON ────────────────────────────────────────────── */
.hamburger-icon { display:flex; flex-direction:column; gap:5px; width:22px; }
.hamburger-icon span { display:block; height:2px; background:currentColor; border-radius:2px; transition:all .22s; }
.menu-toggle[aria-expanded="true"] .hamburger-icon span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.menu-toggle[aria-expanded="true"] .hamburger-icon span:nth-child(2) { opacity:0; }
.menu-toggle[aria-expanded="true"] .hamburger-icon span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* ─── SLIDER — overlay handled below ─────────────────────────── */
.slide-img { display:block!important; opacity:1!important; visibility:visible!important; }


/* ─── BUTTONS — white text on gold ─────────────────────────────── */
.btn-primary, a.btn-primary, button.btn-primary {
    background: var(--c-gold) !important;
    color: #fff !important;
    border-color: var(--c-gold) !important;
    font-weight: 700 !important;
}
.btn-primary:hover, a.btn-primary:hover {
    background: #a07800 !important;
    color: #fff !important;
    border-color: #a07800 !important;
}

/* ─── ABOUT BAND — all text white ─────────────────────────────── */
#about-band, #about-band * { color: rgba(255,255,255,.92) !important; }
#about-band .about-lbl, #about-band .pillar-t { color: var(--c-gold-br) !important; }
#about-band .about-h { color: #fff !important; font-family: var(--ff-display); }
#about-band .btn-primary { color: #fff !important; }

/* ─── FOOTER BOTTOM BAR ─────────────────────────────────────────── */
.footer-bottom-bar {
    border-top: 1px solid rgba(255,255,255,.08);
    background: rgba(0,0,0,.25);
    padding-block: .9rem;
}
.footer-bottom-inner {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    gap: 1rem;
    font-size: .73rem;
    color: rgba(255,255,255,.45);
}
.footer-copyright { text-align: left; }
.footer-credit    { text-align: center; color: rgba(255,255,255,.55); white-space: nowrap; }
.footer-credit a  { color: var(--c-gold); font-weight:700; text-decoration:none; }
.footer-credit a:hover { color: var(--c-gold-br); }
.footer-legal-links { display:flex; justify-content:flex-end; gap:1.1rem; flex-wrap:wrap; }
.footer-legal-links a {
    color: rgba(255,255,255,.45); text-decoration:none; font-size:.73rem;
    min-height:44px; display:inline-flex; align-items:center; transition:color .2s;
}
.footer-legal-links a:hover { color:rgba(255,255,255,.85); }
.footer-dl-btn { margin-top:1.25rem; font-size:.78rem; padding:.65rem 1.25rem; display:inline-flex; }
@media(max-width:768px) {
    .footer-bottom-inner { grid-template-columns:1fr; text-align:center; }
    .footer-copyright, .footer-legal-links { text-align:center; justify-content:center; }
}

/* ─── CLIENT LOGO CAROUSEL ─────────────────────────────────────── */
.cp-clients-section { overflow:hidden; }
.cp-logo-carousel-wrap {
    position: relative;
    overflow: hidden;
    padding: 1.5rem 0;
}
.cp-logo-track {
    display: flex;
    gap: 1.5rem;
    animation: logoScroll 30s linear infinite;
    width: max-content;
}
.cp-logo-track:hover { animation-play-state: paused; }
@keyframes logoScroll {
    0%   { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}
.cp-logo-card {
    flex-shrink: 0;
    width: 180px;
    height: 90px;
    background: #fff;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .5rem;
    transition: box-shadow .2s, transform .2s;
    text-decoration: none;
}
a.cp-logo-card:hover { box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:var(--c-green-br); }
.cp-logo-card img { max-width:100%; max-height:70px; width:auto; height:auto; object-fit:contain; display:block; }
.cp-logo-name { display:none; } /* name is visible in logo image */

/* ─── ABOUT PAGE IMAGES ─────────────────────────────────────────── */
.about-photo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .85rem;
    margin-top: 2rem;
}
.about-photo-grid img {
    width: 100%; height: clamp(180px,22vw,260px);
    object-fit: cover; border-radius: var(--radius-sm);
    display: block; transition: transform .4s;
}
.about-photo-grid img:hover { transform: scale(1.03); }
@media(max-width:600px) { .about-photo-grid { grid-template-columns:1fr; } }

/* ─── ELEMENTOR COMPATIBILITY ─────────────────────────────────── */
.elementor-page .phb-breadcrumb,
.elementor-template-canvas #utility-bar,
.elementor-template-canvas #masthead,
.elementor-template-canvas #accred-bar,
.elementor-template-canvas #colophon { display:none!important; }
.site-main.elementor-page-main { padding:0; }

/* ─── REMOVE img-team everywhere ─────────────────────────────── */
img[src*="img-team"] { display:none!important; }

/* ─── CONTACT FORM 7 ──────────────────────────────────────────── */
.wpcf7-form input:not([type="submit"]), .wpcf7-form select, .wpcf7-form textarea {
    width:100%; padding:.7rem .9rem; min-height:44px;
    border:1.5px solid #ddd; border-radius:3px;
    font-family:var(--ff-body); font-size:var(--fs-base);
    background:#fff; transition:border-color .22s; -webkit-appearance:none;
}
.wpcf7-form input[type="submit"] {
    background:var(--c-green-dk); color:#fff; border:none;
    cursor:pointer; font-weight:700; text-transform:uppercase;
    letter-spacing:.5px; min-height:44px; padding:.75rem 1.5rem;
    border-radius:3px; transition:background .22s;
}
.wpcf7-form input[type="submit"]:hover { background:var(--c-green-md); }

/* ─── RESPONSIVE ─────────────────────────────────────────────── */
@media(max-width:480px) {
    #utility-bar .utility-contact { display:none; }
    #utility-bar .container { justify-content:center; }
    .utility-socials { margin:0 auto; }
}

/* ── ABOUT PAGE CONTENT GRID ─────────────────────────────────── */
.about-content-grid {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 3rem;
    align-items: start;
    margin-top: 2rem;
}
.about-photo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .65rem;
}
.about-photo-item { overflow: hidden; border-radius: var(--radius-sm); }
.about-photo { width:100%; height:180px; object-fit:cover; display:block; transition:transform .4s; }
.about-photo:hover { transform:scale(1.04); }
.about-portfolio-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: .85rem;
    margin-top: 1.5rem;
}
.portfolio-item { overflow:hidden; border-radius:var(--radius-sm); }
.portfolio-item img { width:100%; height:200px; object-fit:cover; display:block; transition:transform .4s; }
.portfolio-item img:hover { transform:scale(1.04); }
@media(max-width:900px) {
    .about-content-grid { grid-template-columns:1fr; }
    .about-portfolio-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:480px) {
    .about-photo-grid { grid-template-columns:1fr; }
    .about-portfolio-grid { grid-template-columns:1fr; }
}

/* ── CTA BAND ────────────────────────────────────────────────── */
#contact-cta-band {
    background: var(--c-green-dk);
    padding-block: clamp(2.5rem,6vw,4rem);
}
.cta-band-inner { display:flex; justify-content:space-between; align-items:center; gap:2rem; flex-wrap:wrap; }
.cta-title { font-family:var(--ff-display); font-size:clamp(1.5rem,3vw,2rem); color:#fff; margin-bottom:.5rem; }
.cta-sub   { color:rgba(255,255,255,.8); font-size:var(--fs-base); margin:0; }
.cta-actions { display:flex; gap:1rem; flex-wrap:wrap; }
@media(max-width:640px) { .cta-band-inner { flex-direction:column; text-align:center; } }

/* ── SOCIAL LINKS (SVG icons display correctly) ──────────────── */
.social-link svg {
    width: 16px !important;
    height: 16px !important;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
    display: block;
}
/* YouTube and TikTok polygon needs fill */
.social-youtube svg polygon,
.social-youtube svg path[fill="currentColor"] { fill: currentColor; stroke: none; }

/* ── SLIDER ──────────────────────────────────────────────────── */
.slide-img { display:block!important; opacity:1!important; visibility:visible!important; }

/* ── WHY GRID ────────────────────────────────────────────────── */
.why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2rem; }
.why-feat { display:flex; gap:.85rem; align-items:flex-start; padding:1.25rem; background:var(--c-white); border:1px solid var(--c-border); border-radius:var(--radius-md); }
.why-icon { font-size:1.25rem; color:var(--c-green-dk); font-weight:900; flex-shrink:0; margin-top:2px; }
.why-ft { font-size:var(--fs-base); font-weight:700; color:var(--c-green-dk); margin-bottom:.35rem; }
.why-fd { font-size:var(--fs-sm); color:var(--c-mid); line-height:1.7; margin:0; }
@media(max-width:900px) { .why-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px) { .why-grid { grid-template-columns:1fr; } }

/* ═══════════════════════════════════════════════════════════════
   SERVICE CARDS — clean, professional, Afzelia-style
   ═══════════════════════════════════════════════════════════════ */
.svc-cards-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.5rem;
    margin-top: 1.5rem;
}
.svc-card {
    background: #fff;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: box-shadow .25s ease, transform .25s ease;
    text-decoration: none;
}
.svc-card:hover { box-shadow: 0 12px 40px rgba(26,92,42,.14); transform: translateY(-5px); }
.svc-card-img-wrap {
    display: block;
    height: 220px;
    overflow: hidden;
    position: relative;
    flex-shrink: 0;
}
.svc-card-img-wrap img {
    width: 100%; height: 100%;
    object-fit: cover; object-position: center 30%;
    display: block; transition: transform .55s ease;
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
}
.svc-card:hover .svc-card-img-wrap img { transform: scale(1.07); }
.svc-card-overlay {
    position: absolute; inset: 0;
    background: linear-gradient(to top, rgba(26,92,42,.4) 0%, transparent 60%);
    pointer-events: none;
}
.svc-card-body { padding: 1.4rem 1.4rem 1.6rem; display: flex; flex-direction: column; flex: 1; }
.svc-card-cat {
    font-size: .62rem; font-weight: 700; letter-spacing: 1px;
    text-transform: uppercase; color: var(--c-green-md);
    margin-bottom: .55rem; line-height: 1.5;
}
.svc-card-title { font-family:var(--ff-display); font-size:var(--fs-lg); color:var(--c-green-dk); margin-bottom:.6rem; line-height:1.3; }
.svc-card-title a { color:inherit; text-decoration:none; }
.svc-card-title a:hover { color:var(--c-green-md); }
.svc-card-text { font-size:var(--fs-sm); color:var(--c-mid); line-height:1.75; margin-bottom:1rem; flex:1; }
.svc-card-link {
    font-size:.78rem; font-weight:700; color:var(--c-green-md);
    text-transform:uppercase; letter-spacing:.5px; display:inline-flex;
    align-items:center; gap:5px; text-decoration:none; margin-top:auto;
    transition:gap .2s, color .2s;
}
.svc-card-link:hover { gap:9px; color:var(--c-green-dk); }

@media(max-width:1100px) { .svc-cards-grid { grid-template-columns:repeat(2,1fr); } }
@media(max-width:640px)  { .svc-cards-grid { grid-template-columns:1fr; } }

/* ═══════════════════════════════════════════════════════════════
   SLIDER — DEFINITIVE TEXT-VISIBILITY FIX
   ═══════════════════════════════════════════════════════════════ */

/* Strong left-side gradient so text is always readable over any photo */
.slide-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(
        105deg,
        rgba(10,30,15,0.82) 0%,
        rgba(15,45,20,0.68) 35%,
        rgba(20,55,28,0.42) 65%,
        rgba(10,30,15,0.18) 100%
    ) !important;
    z-index: 1 !important;
}

/* Slide content — above overlay, left-aligned */
.slide-content {
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    z-index: 2 !important;
}
.slide-inner { width: 100%; }

/* Tag pill */
.slide-tag {
    display: inline-block !important;
    background: rgba(201,166,0,0.22) !important;
    color: var(--c-gold-br) !important;
    border: 1px solid rgba(201,166,0,0.55) !important;
    font-size: clamp(10px,1.4vw,12px) !important;
    font-weight: 700 !important;
    letter-spacing: 2.5px !important;
    text-transform: uppercase !important;
    padding: 5px 14px !important;
    border-radius: 2px !important;
    margin-bottom: 1rem !important;
    text-shadow: none !important;
}

/* Headline */
.slide-title {
    font-family: var(--ff-display) !important;
    font-size: clamp(1.8rem, 4.5vw, 3.2rem) !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.15 !important;
    margin-bottom: 1rem !important;
    max-width: 640px !important;
    text-shadow: 0 2px 12px rgba(0,0,0,0.65), 0 1px 4px rgba(0,0,0,0.5) !important;
}
.slide-title em {
    font-style: normal !important;
    color: var(--c-gold-br) !important;
}

/* Subheading */
.slide-sub {
    font-size: clamp(.9rem,1.8vw,1.1rem) !important;
    color: rgba(255,255,255,0.90) !important;
    font-weight: 300 !important;
    max-width: 540px !important;
    margin-bottom: 1.75rem !important;
    line-height: 1.85 !important;
    text-shadow: 0 1px 6px rgba(0,0,0,0.55) !important;
    display: block !important;
}

/* CTA buttons */
.slide-actions {
    display: flex !important;
    gap: .85rem !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}
.slide-actions .btn-primary {
    background: var(--c-gold) !important;
    color: #fff !important;
    border-color: var(--c-gold) !important;
    font-size: .9rem !important;
    padding: .75rem 1.75rem !important;
    font-weight: 700 !important;
    box-shadow: 0 4px 16px rgba(0,0,0,0.25) !important;
}
.slide-actions .btn-primary:hover {
    background: #a07800 !important;
    color: #fff !important;
}
.slide-actions .btn-outline {
    border-color: rgba(255,255,255,0.75) !important;
    color: #fff !important;
    font-size: .9rem !important;
    padding: .75rem 1.75rem !important;
    background: rgba(255,255,255,0.08) !important;
}
.slide-actions .btn-outline:hover {
    background: rgba(255,255,255,0.18) !important;
    border-color: #fff !important;
}

/* Make sure image sits behind everything */
.slide-img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
    opacity: 1 !important;
    z-index: 0 !important;
}
.slide { position: relative !important; overflow: hidden !important; }

/* Responsive slider text */
@media (max-width: 768px) {
    .slide-sub { display: none !important; }
    .slide-title { font-size: clamp(1.5rem,6vw,2.2rem) !important; }
    .slide-actions { flex-direction: column; }
    .slide-actions .btn { width: 100%; max-width: 280px; justify-content: center; }
}
@media (max-width: 480px) {
    .slide-tag { display: none !important; }
    .slide-title { font-size: 1.4rem !important; max-width: 100% !important; }
}

/* ═══════════════════════════════════════════════════════════════
   COMPANY PROFILE — PROJECT EXPERIENCE GRID
   ═══════════════════════════════════════════════════════════════ */
.cp-experience-section {
    margin-top: clamp(3rem,7vw,5rem);
    padding-top: clamp(3rem,6vw,4rem);
    border-top: 1px solid var(--c-border);
}
.cp-experience-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
    margin: 2rem 0 2.5rem;
}
.cp-exp-card {
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    overflow: hidden;
    background: var(--c-white);
    transition: box-shadow .22s, transform .22s;
}
.cp-exp-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.cp-exp-sector {
    padding: .38rem .85rem;
    font-size: .65rem;
    font-weight: 800;
    letter-spacing: 1.2px;
    text-transform: uppercase;
    color: #fff;
}
.cp-exp-body {
    padding: 1.1rem 1.1rem 1.25rem;
    display: flex;
    gap: .75rem;
    align-items: flex-start;
}
.cp-exp-check {
    width: 22px; height: 22px;
    background: var(--c-green-dk);
    color: #fff;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .72rem;
    font-weight: 900;
    flex-shrink: 0;
    margin-top: 1px;
}
.cp-exp-text { flex: 1; }
.cp-exp-client {
    display: block;
    font-size: .875rem;
    font-weight: 700;
    color: var(--c-green-dk);
    margin-bottom: .3rem;
    font-family: var(--ff-display);
    line-height: 1.3;
}
.cp-exp-detail {
    font-size: .8rem;
    color: var(--c-mid);
    line-height: 1.65;
}
.cp-exp-footer {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding: 1.5rem 2rem;
    background: var(--c-green-dk);
    border-radius: var(--radius-md);
    flex-wrap: wrap;
}
.cp-exp-footer p {
    color: rgba(255,255,255,.85);
    font-size: var(--fs-sm);
    margin: 0;
    flex: 1;
}
.cp-exp-footer .btn-primary {
    white-space: nowrap;
    font-size: .82rem !important;
}

/* Responsive experience grid */
@media (max-width: 1100px) { .cp-experience-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 640px)  { .cp-experience-grid { grid-template-columns: 1fr; } }
@media (max-width: 640px)  { .cp-exp-footer { flex-direction: column; text-align: center; } }

/* ═══════════════════════════════════════════════════════════════
   COMPANY PROFILE — Project Experience Section
   ═══════════════════════════════════════════════════════════════ */

.cp-experience-section {
    background: var(--c-green-dk);
    padding: clamp(3rem,7vw,5rem) 0;
    margin-top: 3rem;
}

/* Header row: heading + stat boxes side by side */
.cp-exp-header {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 3rem;
    align-items: start;
    margin-bottom: 2.5rem;
}

.cp-exp-title {
    font-family: var(--ff-display);
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    color: #ffffff;
    line-height: 1.25;
    margin-bottom: 1rem;
}

.cp-exp-intro {
    color: rgba(255,255,255,.78);
    font-size: var(--fs-base);
    line-height: 1.8;
    max-width: 620px;
    margin: 0;
}

/* Stat boxes (right side) */
.cp-exp-stat-col {
    display: flex;
    gap: 1.25rem;
    flex-shrink: 0;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.cp-exp-stat {
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: var(--radius-md);
    padding: 1.1rem 1.5rem;
    text-align: center;
    min-width: 100px;
}
.cp-exp-n {
    display: block;
    font-family: var(--ff-display);
    font-size: 2rem;
    font-weight: 700;
    color: var(--c-gold-br);
    line-height: 1;
    margin-bottom: .35rem;
}
.cp-exp-l {
    display: block;
    font-size: .72rem;
    text-transform: uppercase;
    letter-spacing: 1px;
    color: rgba(255,255,255,.62);
}

/* 2-column highlight card grid */
.cp-highlights-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: .85rem;
    margin-bottom: 2.5rem;
}

.cp-highlight-card {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: var(--radius-sm);
    padding: 1rem 1.2rem;
    transition: background .2s, border-color .2s;
}
.cp-highlight-card:hover {
    background: rgba(255,255,255,.12);
    border-color: rgba(201,166,0,.4);
}

.cp-hc-check {
    flex-shrink: 0;
    width: 28px; height: 28px;
    background: var(--c-gold);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    margin-top: 2px;
}
.cp-hc-check svg { stroke: #000; }

.cp-hc-body {
    display: flex;
    flex-direction: column;
    gap: .2rem;
}
.cp-hc-client {
    font-weight: 700;
    color: #ffffff;
    font-size: var(--fs-sm);
}
.cp-hc-project {
    font-size: var(--fs-sm);
    color: rgba(255,255,255,.72);
    line-height: 1.6;
}

/* Footer row */
.cp-exp-footer {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(255,255,255,.12);
    flex-wrap: wrap;
}
.cp-exp-footer p {
    color: rgba(255,255,255,.65);
    font-size: var(--fs-sm);
    margin: 0;
    flex: 1;
}
.cp-exp-footer .btn-primary {
    background: var(--c-gold) !important;
    color: #fff !important;
    border-color: var(--c-gold) !important;
    flex-shrink: 0;
}

/* Responsive */
@media (max-width: 900px) {
    .cp-exp-header { grid-template-columns: 1fr; gap: 2rem; }
    .cp-exp-stat-col { justify-content: flex-start; }
    .cp-highlights-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .cp-exp-footer { flex-direction: column; align-items: flex-start; }
    .cp-exp-stat-col { gap: .75rem; }
    .cp-exp-stat { padding: .85rem 1rem; min-width: 85px; }
    .cp-exp-n { font-size: 1.5rem; }
}

/* ═══════════════════════════════════════════════════════════════
   SLIDER — Ensure headline, text and buttons ALWAYS show
   ═══════════════════════════════════════════════════════════════ */

/* Make sure overlay has correct z-index */
.slide-overlay { z-index: 1 !important; }
.slide-content { z-index: 3 !important; position: absolute !important; }

/* Slide inner — ensure full visible width */
.slide-inner {
    width: 100%;
    max-width: 1200px;
    padding: 0 clamp(1rem,4vw,2rem);
}

/* Tag pill */
.slide-tag {
    display: inline-block !important;
    visibility: visible !important;
    background: rgba(201,166,0,.25);
    color: var(--c-gold-br);
    border: 1px solid rgba(201,166,0,.5);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    padding: 5px 14px;
    border-radius: 2px;
    margin-bottom: 1rem;
}

/* Title — large, white, readable */
.slide-title {
    display: block !important;
    visibility: visible !important;
    font-family: var(--ff-display) !important;
    font-size: clamp(1.75rem, 4.5vw, 3.2rem) !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.18 !important;
    margin-bottom: 1rem !important;
    max-width: 720px;
    text-shadow: 0 2px 12px rgba(0,0,0,.65), 0 1px 3px rgba(0,0,0,.4) !important;
}
.slide-title em {
    font-style: normal !important;
    color: var(--c-gold-br) !important;
}

/* Subtitle */
.slide-sub {
    display: block !important;
    visibility: visible !important;
    font-size: clamp(.9rem,1.8vw,1.1rem) !important;
    color: rgba(255,255,255,.88) !important;
    font-weight: 300;
    max-width: 580px;
    margin-bottom: 1.75rem !important;
    line-height: 1.85;
    text-shadow: 0 1px 6px rgba(0,0,0,.5);
}

/* Buttons */
.slide-actions {
    display: flex !important;
    visibility: visible !important;
    gap: .85rem;
    flex-wrap: wrap;
}
.slide-actions .btn-primary {
    background: var(--c-gold) !important;
    color: #ffffff !important;
    border-color: var(--c-gold) !important;
    font-size: .85rem !important;
    padding: .75rem 1.75rem !important;
    box-shadow: 0 4px 16px rgba(0,0,0,.25);
}
.slide-actions .btn-primary:hover {
    background: var(--c-gold-br) !important;
    color: #ffffff !important;
    transform: translateY(-2px);
}
.slide-actions .btn-outline {
    background: rgba(255,255,255,.1) !important;
    color: #ffffff !important;
    border-color: rgba(255,255,255,.6) !important;
    font-size: .85rem !important;
    padding: .75rem 1.75rem !important;
    backdrop-filter: blur(4px);
}
.slide-actions .btn-outline:hover {
    background: rgba(255,255,255,.22) !important;
    border-color: #ffffff !important;
}

/* Reduced opacity slider overlay so photo shows through */
.slide-overlay {
    background: linear-gradient(
        120deg,
        rgba(15,40,20,0.75) 0%,
        rgba(20,55,30,0.55) 45%,
        rgba(10,30,15,0.35) 100%
    ) !important;
}

/* On mobile — keep buttons readable */
@media (max-width: 640px) {
    .slide-tag { display: none !important; }
    .slide-title { font-size: 1.5rem !important; }
    .slide-sub { font-size: .88rem !important; }
    .slide-actions { flex-direction: column; gap: .6rem; }
    .slide-actions .btn { width: 100%; max-width: 280px; justify-content: center; }
}

/* ═══════════════════════════════════════════════════════════════
   SLIDER — DEFINITIVE VISIBILITY FIX v3.8
   Force z-index stack so text is ALWAYS above image + overlay
   ═══════════════════════════════════════════════════════════════ */

/* Base slide must create a new stacking context */
#hero-slider .slide {
    position: relative !important;
    isolation: isolate;
}

/* Image: z-index 1 */
#hero-slider .slide-img {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Overlay: z-index 2, semi-transparent so image shows through but text reads */
#hero-slider .slide-overlay {
    position: absolute !important;
    inset: 0 !important;
    z-index: 2 !important;
    background: linear-gradient(
        105deg,
        rgba(8,22,12,0.78) 0%,
        rgba(15,40,20,0.60) 40%,
        rgba(20,50,28,0.35) 70%,
        rgba(10,30,15,0.15) 100%
    ) !important;
}

/* Content: z-index 3 — ABOVE image and overlay */
#hero-slider .slide-content {
    position: absolute !important;
    inset: 0 !important;
    z-index: 3 !important;
    display: flex !important;
    align-items: center !important;
}

/* Text elements — guaranteed visibility */
#hero-slider .slide-tag {
    display: inline-block !important;
    visibility: visible !important;
    opacity: 1 !important;
    background: rgba(201,166,0,0.22) !important;
    color: #f0c800 !important;
    border: 1px solid rgba(201,166,0,0.65) !important;
    font-size: clamp(10px,1.3vw,12px) !important;
    font-weight: 700 !important;
    letter-spacing: 2px !important;
    text-transform: uppercase !important;
    padding: 5px 14px !important;
    border-radius: 2px !important;
    margin-bottom: 1rem !important;
}

#hero-slider .slide-title {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-family: var(--ff-display) !important;
    font-size: clamp(1.75rem, 4.2vw, 3.1rem) !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    line-height: 1.18 !important;
    margin-bottom: 1rem !important;
    max-width: 660px !important;
    text-shadow: 0 3px 14px rgba(0,0,0,0.7), 0 1px 4px rgba(0,0,0,0.55) !important;
}

#hero-slider .slide-title em {
    font-style: normal !important;
    color: #f0c800 !important;
}

#hero-slider .slide-sub {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    font-size: clamp(.88rem, 1.7vw, 1.08rem) !important;
    color: rgba(255,255,255,0.92) !important;
    line-height: 1.85 !important;
    max-width: 550px !important;
    margin-bottom: 1.75rem !important;
    text-shadow: 0 1px 6px rgba(0,0,0,0.55) !important;
    font-weight: 300 !important;
}

#hero-slider .slide-actions {
    display: flex !important;
    gap: 1rem !important;
    flex-wrap: wrap !important;
    align-items: center !important;
}

#hero-slider .slide-actions .btn-primary {
    background: #c9a600 !important;
    color: #ffffff !important;
    border: 2px solid #c9a600 !important;
    font-weight: 700 !important;
    font-size: .9rem !important;
    padding: .78rem 1.85rem !important;
    text-shadow: none !important;
    box-shadow: 0 4px 18px rgba(0,0,0,0.30) !important;
}
#hero-slider .slide-actions .btn-primary:hover {
    background: #a07800 !important;
    border-color: #a07800 !important;
    color: #ffffff !important;
}

#hero-slider .slide-actions .btn-outline {
    background: rgba(255,255,255,0.10) !important;
    color: #ffffff !important;
    border: 2px solid rgba(255,255,255,0.70) !important;
    font-size: .9rem !important;
    padding: .78rem 1.85rem !important;
    backdrop-filter: blur(4px) !important;
}
#hero-slider .slide-actions .btn-outline:hover {
    background: rgba(255,255,255,0.22) !important;
    border-color: #ffffff !important;
}

/* Responsive — keep text readable on small screens */
@media (max-width:768px) {
    #hero-slider .slide-sub { display: none !important; }
    #hero-slider .slide-title { font-size: clamp(1.5rem,6vw,2.2rem) !important; }
    #hero-slider .slide-actions { flex-direction: column; }
    #hero-slider .slide-actions .btn { width: 100%; max-width: 280px; justify-content: center; }
}
@media (max-width:480px) {
    #hero-slider .slide-tag { display: none !important; }
    #hero-slider .slide-title { font-size: 1.5rem !important; max-width: 100% !important; }
}

/* ═══════════════════════════════════════════════════════════════
   COMPANY PROFILE — alignment & layout fixes
   ═══════════════════════════════════════════════════════════════ */

/* Hero banner — consistent with container */
.cp-hero-banner {
    background: var(--c-green-dk);
    border-radius: var(--radius-lg);
    padding: clamp(2rem,5vw,3.5rem);
    margin-bottom: 2.5rem;
    position: relative;
    overflow: hidden;
}
.cp-hero-banner::before {
    content: '';
    position: absolute;
    right: -60px; top: -60px;
    width: 300px; height: 300px;
    border-radius: 50%;
    background: rgba(255,255,255,.04);
}
.cp-hero-inner {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 2.5rem;
    align-items: center;
    position: relative;
}
.cp-hero-title {
    font-family: var(--ff-display);
    font-size: clamp(1.4rem,3vw,2rem);
    color: var(--c-white);
    margin-bottom: .75rem;
    line-height: 1.25;
}
.cp-hero-desc {
    color: rgba(255,255,255,.82);
    font-size: var(--fs-base);
    max-width: 540px;
    line-height: 1.8;
    margin-bottom: 1.5rem;
}
.cp-hero-actions { display: flex; gap: 1rem; flex-wrap: wrap; }
.cp-hero-stats {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: .85rem;
    flex-shrink: 0;
}
.cp-hs {
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: var(--radius-md);
    padding: 1rem 1.25rem;
    text-align: center;
    min-width: 90px;
}
.cp-hs-n { display: block; font-family: var(--ff-display); font-size: 1.75rem; font-weight: 700; color: var(--c-gold-br); line-height: 1; margin-bottom: .3rem; }
.cp-hs-l { display: block; font-size: .68rem; text-transform: uppercase; letter-spacing: .8px; color: rgba(255,255,255,.62); }

/* Accreditation row */
.cp-accred-row {
    display: flex;
    gap: .65rem;
    flex-wrap: wrap;
    margin-bottom: 3rem;
    padding: 1.1rem 1.5rem;
    background: var(--c-light);
    border-radius: var(--radius-md);
    border: 1px solid var(--c-border);
    align-items: center;
}
.cp-accred-item { display: flex; flex-direction: column; align-items: center; gap: 3px; padding: .3rem .9rem; }
.cp-accred-badge {
    font-size: .7rem; font-weight: 900; letter-spacing: 1px; text-transform: uppercase;
    color: var(--c-green-dk); background: rgba(26,92,42,.1);
    padding: 3px 10px; border-radius: 3px; white-space: nowrap;
}
.cp-accred-label { font-size: .68rem; color: var(--c-mid); text-align: center; }

/* Documents grid */
.cp-docs-section { margin-bottom: 3rem; }
.cp-docs-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    margin-top: 1.25rem;
}
.cp-doc-card {
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    padding: 1.75rem;
    display: flex;
    flex-direction: column;
    gap: 1rem;
    transition: box-shadow .22s, transform .22s;
}
.cp-doc-card:hover { box-shadow: var(--shadow-md); transform: translateY(-3px); }
.cp-doc-icon svg { stroke: var(--c-green-dk); }
.cp-doc-title { font-family: var(--ff-display); font-size: var(--fs-lg); color: var(--c-green-dk); margin-bottom: .4rem; }
.cp-doc-desc { font-size: var(--fs-sm); color: var(--c-mid); line-height: 1.7; }
.cp-doc-meta { font-size: .7rem; color: var(--c-green-md); font-weight: 700; text-transform: uppercase; letter-spacing: .8px; }
.cp-doc-btn { align-self: flex-start; font-size: .82rem !important; margin-top: auto; }

/* Clients section inside container */
.cp-clients-section { margin-bottom: 0; padding-bottom: 0; }
.cp-clients-hdr { margin-bottom: 1.5rem; }

/* Logo carousel */
.cp-logo-carousel-wrap { overflow: hidden; padding: 1rem 0 2rem; position: relative; }
.cp-logo-carousel-wrap::before,
.cp-logo-carousel-wrap::after {
    content: '';
    position: absolute;
    top: 0; bottom: 0;
    width: 80px;
    z-index: 2;
}
.cp-logo-carousel-wrap::before { left: 0; background: linear-gradient(to right, var(--c-white), transparent); }
.cp-logo-carousel-wrap::after  { right: 0; background: linear-gradient(to left,  var(--c-white), transparent); }

.cp-logo-track {
    display: flex;
    animation: logoScroll 35s linear infinite;
    width: max-content;
}
.cp-logo-track:hover { animation-play-state: paused; }
@keyframes logoScroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}

.cp-logo-set { display: flex; gap: 1.25rem; }

.cp-logo-card {
    flex-shrink: 0;
    width: 170px;
    height: 85px;
    background: #fff;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: .75rem;
    transition: box-shadow .2s, transform .2s, border-color .2s;
    text-decoration: none;
}
a.cp-logo-card:hover {
    box-shadow: var(--shadow-md);
    transform: translateY(-3px);
    border-color: var(--c-green-br);
}
.cp-logo-card img {
    max-width: 100%; max-height: 65px;
    width: auto; height: auto;
    object-fit: contain; display: block;
    mix-blend-mode: multiply;   /* blends white/light backgrounds away */
    filter: grayscale(15%) contrast(1.05);
    transition: filter .25s, transform .25s;
}
.cp-logo-card:hover img {
    filter: grayscale(0%) contrast(1.1);
    transform: scale(1.05);
}

/* Experience section — full-width dark band, no container overflow */
.cp-experience-section {
    background: var(--c-green-dk);
    padding: clamp(3rem,7vw,5rem) 0;
    margin-top: clamp(3rem,6vw,4rem);
    width: 100%;
    position: relative;
}

/* Sector tag on highlight cards — always white, no brand colours */
.cp-hc-sector {
    display: inline-block;
    margin-top: .4rem;
    font-size: .62rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 3px 9px;
    border-radius: 3px;
    background: rgba(255,255,255,0.13) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255,255,255,0.28) !important;
}

/* Responsive fixes */
@media (max-width: 900px) {
    .cp-hero-inner { grid-template-columns: 1fr; }
    .cp-hero-stats { display: flex; flex-wrap: wrap; gap: .6rem; }
    .cp-docs-grid  { grid-template-columns: 1fr; }
    .cp-exp-header { grid-template-columns: 1fr; gap: 2rem; }
    .cp-exp-stat-col { justify-content: flex-start; }
    .cp-highlights-grid { grid-template-columns: 1fr; }
}
@media (max-width: 640px) {
    .cp-docs-grid { grid-template-columns: 1fr; }
    .cp-accred-row { justify-content: center; }
    .cp-exp-footer { flex-direction: column; text-align: center; }
}

/* ═══════════════════════════════════════════════════════════════
   ABOUT US PAGE — Full layout v3.9
   ═══════════════════════════════════════════════════════════════ */

/* ── Hero band ── */
.about-hero-band {
    background: linear-gradient(135deg, var(--c-green-dk) 0%, #0f3a1a 100%);
    padding: clamp(3rem,7vw,5rem) 0;
}
.about-hero-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(2rem,5vw,4rem);
    align-items: center;
}
.about-main-title {
    font-family: var(--ff-display);
    font-size: clamp(2rem,4.5vw,3.2rem);
    color: #ffffff;
    line-height: 1.15;
    margin-bottom: 1.25rem;
}
.about-main-title em { font-style:normal; color:var(--c-gold-br); }
.about-lead {
    color: rgba(255,255,255,.84);
    font-size: clamp(1rem,1.8vw,1.15rem);
    line-height: 1.85;
    margin-bottom: 1.5rem;
    max-width: 540px;
}
.about-accred-pills { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.75rem; }
.accred-pill {
    background: rgba(201,166,0,.18);
    color: var(--c-gold-br);
    border: 1px solid rgba(201,166,0,.45);
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 3px;
}
.about-hero-actions { display:flex; gap:1rem; flex-wrap:wrap; }
.about-hero-photos { display:grid; grid-template-columns:1fr 1fr; gap:.85rem; }
.about-hero-photo-wrap { overflow:hidden; border-radius:var(--radius-md); aspect-ratio:4/3; }
.about-hero-photo { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s; }
.about-hero-photo-wrap:hover .about-hero-photo { transform:scale(1.04); }

/* ── Stats bar ── */
.about-stats-bar {
    background: var(--c-gold);
    padding: 1.25rem 0;
}
.about-stats-grid {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
}
.about-stat { text-align:center; padding:.25rem 1.5rem; border-right:1px solid rgba(0,0,0,.12); }
.about-stat:last-child { border-right:none; }
.about-stat-n { display:block; font-family:var(--ff-display); font-size:1.85rem; font-weight:900; color:#fff; line-height:1; }
.about-stat-l { display:block; font-size:.68rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:rgba(0,0,0,.55); }

/* ── Two-column content section ── */
.about-two-col { display:grid; grid-template-columns:3fr 2fr; gap:3.5rem; align-items:start; }
.about-legislation-card {
    background: var(--c-light);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    border-top: 4px solid var(--c-green-dk);
    padding: 1.75rem;
    position: sticky;
    top: 100px;
}
.about-leg-title { font-family:var(--ff-display); font-size:var(--fs-lg); color:var(--c-green-dk); margin-bottom:.5rem; }
.about-leg-intro { font-size:var(--fs-sm); color:var(--c-mid); margin-bottom:1.25rem; line-height:1.7; }
.about-leg-list { list-style:none; padding:0; margin:0; }
.about-leg-list li {
    display:flex; gap:.85rem; padding:.85rem 0;
    border-bottom:1px solid var(--c-border);
    align-items:flex-start;
}
.about-leg-list li:last-child { border-bottom:none; }
.leg-bullet {
    width:8px; height:8px; background:var(--c-gold); border-radius:50%;
    flex-shrink:0; margin-top:6px;
}
.about-leg-list strong { display:block; font-size:.875rem; color:var(--c-green-dk); margin-bottom:2px; line-height:1.35; }
.leg-act { font-size:.75rem; color:var(--c-mid); font-style:italic; }

/* ── Credentials band ── */
.about-credentials-band {
    background: var(--c-green-dk);
    padding: clamp(3rem,7vw,5rem) 0;
}
.about-cred-grid {
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:1.25rem;
    margin-top:2rem;
}
.about-cred-card {
    background:rgba(255,255,255,.07);
    border:1px solid rgba(255,255,255,.12);
    border-radius:var(--radius-md);
    padding:1.75rem;
    transition:background .22s;
}
.about-cred-card:hover { background:rgba(255,255,255,.12); }
.about-cred-icon { margin-bottom:1rem; }
.about-cred-icon svg { stroke:var(--c-gold-br); }
.about-cred-title { font-family:var(--ff-display); font-size:var(--fs-base); color:#fff; margin-bottom:.65rem; }
.about-cred-desc { font-size:var(--fs-sm); color:rgba(255,255,255,.72); line-height:1.75; }

/* ── Services grid ── */
.about-services-grid {
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:1.25rem;
}
.about-svc-item {
    display:flex; gap:1rem; align-items:flex-start;
    padding:1.25rem;
    background:var(--c-white);
    border:1px solid var(--c-border);
    border-radius:var(--radius-md);
    transition:box-shadow .22s,transform .22s;
}
.about-svc-item:hover { box-shadow:var(--shadow-md); transform:translateY(-3px); }
.about-svc-icon { font-size:1.75rem; flex-shrink:0; margin-top:2px; }
.about-svc-title { font-family:var(--ff-display); font-size:var(--fs-base); margin-bottom:.3rem; }
.about-svc-title a { color:var(--c-green-dk); text-decoration:none; }
.about-svc-title a:hover { color:var(--c-green-md); }
.about-svc-leg { font-size:.65rem; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:var(--c-green-md); margin-bottom:.4rem; }
.about-svc-desc { font-size:var(--fs-sm); color:var(--c-mid); line-height:1.7; margin:0; }

/* ── Why grid ── */
.about-why-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; margin-top:2rem; }
.about-why-item { display:flex; gap:1rem; align-items:flex-start; }
.about-why-num {
    font-family:var(--ff-display); font-size:2.5rem; font-weight:900;
    color:var(--c-green-br); opacity:.35; line-height:1; flex-shrink:0; width:48px;
}
.about-why-title { font-size:var(--fs-base); font-weight:700; color:var(--c-green-dk); margin-bottom:.4rem; }
.about-why-desc { font-size:var(--fs-sm); color:var(--c-mid); line-height:1.75; margin:0; }

/* ── Fieldwork duo photos ── */
.about-fieldwork-duo {
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:1.5rem;
    margin-bottom:.5rem;
}
.fieldwork-figure { margin:0; }
.fieldwork-photo {
    width:100%; height:clamp(220px,28vw,340px);
    object-fit:cover; border-radius:var(--radius-md);
    display:block; transition:transform .4s;
}
.fieldwork-figure:hover .fieldwork-photo { transform:scale(1.02); }
.fieldwork-caption {
    font-size:.78rem; color:var(--c-mid); line-height:1.6;
    padding:.6rem .5rem 0; font-style:italic;
}

/* ── CTA band ── */
.about-cta-band { background:var(--c-green-dk); padding:clamp(2.5rem,6vw,4rem) 0; }
.about-cta-inner { display:flex; justify-content:space-between; align-items:center; gap:2rem; flex-wrap:wrap; }
.about-cta-title { font-family:var(--ff-display); font-size:clamp(1.5rem,3vw,2rem); color:#fff; margin-bottom:.5rem; }
.about-cta-sub { color:rgba(255,255,255,.8); font-size:var(--fs-base); margin:0; }
.about-cta-actions { display:flex; gap:1rem; flex-wrap:wrap; }

/* ── Service gallery note ── */
.svc-gallery-note {
    margin-top:.85rem;
    font-size:.75rem;
    color:var(--c-mid);
    line-height:1.6;
    font-style:italic;
}
.svc-gallery-grid { grid-template-columns:1fr 1fr; }

/* ── Responsive ── */
@media(max-width:1100px) {
    .about-cred-grid { grid-template-columns:repeat(2,1fr); }
    .about-services-grid { grid-template-columns:1fr; }
    .about-why-grid { grid-template-columns:repeat(2,1fr); }
}
@media(max-width:900px) {
    .about-hero-grid { grid-template-columns:1fr; }
    .about-hero-photos { display:none; }
    .about-two-col { grid-template-columns:1fr; }
    .about-legislation-card { position:static; }
    .about-fieldwork-duo { grid-template-columns:1fr; }
    .about-cta-inner { flex-direction:column; text-align:center; }
    .about-stats-grid { justify-content:center; }
    .about-stat { border-right:none; border-bottom:1px solid rgba(0,0,0,.1); width:45%; }
}
@media(max-width:640px) {
    .about-hero-photos { display:none; }
    .about-cred-grid { grid-template-columns:1fr; }
    .about-why-grid { grid-template-columns:1fr; }
    .about-stat { width:100%; border-bottom:1px solid rgba(0,0,0,.08); }
}

/* ═══════════════════════════════════════════════════════════════
   ABOUT US PAGE — complete layout v3.10
   ═══════════════════════════════════════════════════════════════ */

/* ── HERO SECTION ─────────────────────────────────────────────── */
.about-page { background: var(--c-white); }

.about-hero-section {
    padding: clamp(3rem,7vw,5rem) 0 clamp(2rem,5vw,3.5rem);
}

.about-hero-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: clamp(2rem,5vw,4rem);
    align-items: start;
}

.about-lead {
    font-size: var(--fs-md);
    color: var(--c-dark);
    line-height: 1.9;
    margin-bottom: 1.25rem;
    font-weight: 400;
}
.about-body-p {
    font-size: var(--fs-base);
    color: var(--c-mid);
    line-height: 1.85;
    margin-bottom: 1rem;
}

/* Legislation list — exact formal names, gold bullets */
.about-legis-list {
    list-style: none;
    margin: 1.25rem 0 2rem;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    overflow: hidden;
}
.about-legis-list li {
    display: flex;
    align-items: flex-start;
    gap: .9rem;
    padding: .75rem 1.1rem;
    border-bottom: 1px solid var(--c-border);
    font-size: var(--fs-sm);
    color: var(--c-dark);
    line-height: 1.55;
    background: var(--c-white);
    transition: background .18s;
}
.about-legis-list li:last-child { border-bottom: none; }
.about-legis-list li:hover { background: var(--c-light); }
.about-legis-list li::before {
    content: '';
    width: 7px; height: 7px;
    background: var(--c-gold);
    border-radius: 50%;
    flex-shrink: 0;
    margin-top: 5px;
}

.about-cta-row { display: flex; gap: 1rem; flex-wrap: wrap; margin-top: .5rem; }

/* Hero sidebar */
.about-hero-sidebar { display: flex; flex-direction: column; gap: 1.25rem; }

.about-cred-box {
    background: var(--c-green-dk);
    border-radius: var(--radius-md);
    padding: 1.75rem;
}
.about-cred-box { display: flex; flex-direction: column; gap: 0; }

/* Stat row inside cred box */
.acb-stat {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: .6rem 0;
    border-bottom: 1px solid rgba(255,255,255,.1);
}
.acb-stat:last-of-type { border-bottom: none; }
.acb-n { font-family: var(--ff-display); font-size: 1.6rem; font-weight: 700; color: var(--c-gold-br); }
.acb-l { font-size: .72rem; text-transform: uppercase; letter-spacing: .8px; color: rgba(255,255,255,.62); text-align: right; }

.acb-divider { height: 1px; background: rgba(255,255,255,.12); margin: 1rem 0 .85rem; }

.acb-badges { display: flex; gap: .65rem; flex-wrap: wrap; }
.acb-badge {
    flex: 1; min-width: 80px;
    background: rgba(255,255,255,.08);
    border: 1px solid rgba(255,255,255,.15);
    border-radius: var(--radius-sm);
    padding: .6rem .75rem;
    text-align: center;
}
.acb-badge strong { display: block; font-size: .8rem; color: var(--c-gold-br); font-weight: 700; }
.acb-badge span   { display: block; font-size: .62rem; color: rgba(255,255,255,.55); margin-top: 2px; }

/* Principal card */
.about-principal-card {
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    overflow: hidden;
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    padding: 1.25rem;
}
.about-principal-img {
    width: 80px; height: 80px;
    object-fit: cover;
    border-radius: 50%;
    border: 2px solid var(--c-green-br);
    flex-shrink: 0;
}
.about-principal-info { flex: 1; }
.api-role  { font-size: .65rem; text-transform: uppercase; letter-spacing: 1px; color: var(--c-green-md); font-weight: 700; margin-bottom: 3px; }
.api-name  { font-family: var(--ff-display); font-size: var(--fs-lg); color: var(--c-green-dk); line-height: 1.2; }
.api-quals { font-size: .72rem; color: var(--c-mid); margin-top: .3rem; line-height: 1.5; }
.api-regs  { font-size: .7rem; font-weight: 700; color: var(--c-green-md); margin-top: .3rem; }
.api-contact { margin-top: .5rem; font-size: .75rem; }
.api-contact a { color: var(--c-green-md); text-decoration: none; }
.api-contact a:hover { color: var(--c-green-dk); }

/* ── QUALIFICATIONS SECTION ──────────────────────────────────── */
.about-quals-section {
    background: var(--c-light);
    padding: clamp(3rem,6vw,4.5rem) 0;
}
.about-quals-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: clamp(2rem,5vw,4rem);
    align-items: start;
}
.about-quals-text p { color: var(--c-mid); line-height: 1.85; margin-bottom: 1rem; }
.about-quals-cards { display: flex; flex-direction: column; gap: 1rem; }
.about-reg-card {
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-left: 4px solid var(--c-green-br);
    border-radius: var(--radius-md);
    padding: 1.25rem;
    display: flex;
    gap: 1rem;
    align-items: flex-start;
    transition: box-shadow .22s, transform .22s;
}
.about-reg-card:hover { box-shadow: var(--shadow-md); transform: translateX(4px); }
.arc-icon svg { stroke: var(--c-green-dk); }
.arc-icon { flex-shrink: 0; margin-top: 2px; }
.arc-body { display: flex; flex-direction: column; gap: 2px; }
.arc-body-name { font-family: var(--ff-display); font-size: var(--fs-lg); color: var(--c-green-dk); font-weight: 700; }
.arc-full  { font-size: .8rem; color: var(--c-mid); line-height: 1.5; }
.arc-title { font-size: .75rem; font-weight: 700; color: var(--c-green-md); text-transform: uppercase; letter-spacing: .5px; margin-top: 2px; }

/* ── MULTILINGUAL SECTION ────────────────────────────────────── */
.about-multi-section {
    padding: clamp(3rem,6vw,4.5rem) 0;
}
.about-multi-grid {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: clamp(2rem,5vw,4rem);
    align-items: center;
}
.about-multi-img {
    border-radius: var(--radius-lg);
    overflow: hidden;
    height: clamp(280px,35vw,420px);
}
.about-multi-img img {
    width: 100%; height: 100%; object-fit: cover; display: block;
    transition: transform .5s ease;
}
.about-multi-img:hover img { transform: scale(1.04); }
.about-multi-text p { color: var(--c-mid); line-height: 1.85; margin-bottom: 1rem; }
.about-lang-chips { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 1.25rem; }
.about-lang-chip {
    background: var(--c-green-lt);
    color: var(--c-green-dk);
    border: 1px solid var(--c-green-br);
    font-size: .72rem; font-weight: 700;
    padding: 4px 12px; border-radius: 20px;
    letter-spacing: .3px;
}

/* ── SERVICES SECTION ────────────────────────────────────────── */
.about-services-section {
    background: var(--c-light);
    padding: clamp(3rem,7vw,5rem) 0;
}

.about-svc-row {
    display: grid;
    grid-template-columns: 1fr 1.1fr;
    gap: clamp(1.5rem,4vw,3rem);
    align-items: center;
    background: var(--c-white);
    border: 1px solid var(--c-border);
    border-radius: var(--radius-lg);
    overflow: hidden;
    margin-bottom: 2rem;
    transition: box-shadow .25s;
}
.about-svc-row:hover { box-shadow: var(--shadow-lg); }
.about-svc-row:last-child { margin-bottom: 0; }

/* Flip alternate rows — photos on right */
.about-svc-row--flip { direction: rtl; }
.about-svc-row--flip > * { direction: ltr; }

/* Photos column — 2 photos stacked, neither duplicated */
.about-svc-photos {
    display: grid;
    grid-template-rows: 1fr 1fr;
    height: clamp(300px,38vw,460px);
    gap: 3px;
    position: relative;
}
.about-svc-photo { overflow: hidden; position: relative; }
.about-svc-photo img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
    transition: transform .5s ease;
}
.about-svc-row:hover .about-svc-photo img { transform: scale(1.04); }

/* Edit tip — only shown in WP admin Customizer preview */
.photo-edit-tip {
    display: none; /* hidden on frontend */
    position: absolute; bottom: 4px; right: 4px;
    background: rgba(0,0,0,.65); color: #fff;
    font-size: 10px; padding: 2px 6px;
    border-radius: 3px; pointer-events: none;
}
.wp-customizer .photo-edit-tip { display: block; }

/* Content column */
.about-svc-content {
    padding: clamp(1.5rem,3vw,2.5rem);
    display: flex;
    flex-direction: column;
    gap: .85rem;
}

/* Legislation chips */
.about-svc-leg { display: flex; flex-wrap: wrap; gap: .4rem; }
.about-leg-chip {
    background: rgba(26,92,42,.07);
    color: var(--c-green-dk);
    border: 1px solid rgba(26,92,42,.2);
    font-size: .62rem; font-weight: 700;
    letter-spacing: .5px; text-transform: uppercase;
    padding: 3px 9px; border-radius: 3px;
    line-height: 1.5;
}

/* Service title = the actual page title */
.about-svc-title {
    font-family: var(--ff-display);
    font-size: clamp(1.15rem,2.5vw,1.5rem);
    color: var(--c-green-dk);
    line-height: 1.25;
    margin: 0;
}
.about-svc-title a { color: inherit; text-decoration: none; }
.about-svc-title a:hover { color: var(--c-green-md); }

.about-svc-desc {
    font-size: var(--fs-sm);
    color: var(--c-mid);
    line-height: 1.8;
    margin: 0;
}

/* Sub-services */
.about-svc-subs {
    list-style: none;
    margin: 0; padding: 0;
    display: flex; flex-direction: column; gap: 4px;
}
.about-svc-subs li {
    display: flex; align-items: center; gap: .65rem;
    font-size: .8rem; color: var(--c-green-md);
    font-weight: 600; padding: 3px 0;
    border-bottom: 1px solid rgba(42,125,62,.1);
}
.about-svc-subs li:last-child { border-bottom: none; }
.about-svc-subs li::before {
    content: '›';
    font-size: 1.1rem;
    color: var(--c-gold);
    font-weight: 700;
    flex-shrink: 0;
    line-height: 1;
}

.about-svc-link {
    font-size: .78rem; font-weight: 700;
    color: var(--c-green-md);
    text-transform: uppercase; letter-spacing: .5px;
    display: inline-flex; align-items: center; gap: 5px;
    text-decoration: none;
    transition: gap .2s, color .2s;
    margin-top: .25rem;
}
.about-svc-link:hover { gap: 9px; color: var(--c-green-dk); }

/* ── WHY CHOOSE ICEBO ────────────────────────────────────────── */
.about-why-section {
    padding: clamp(3rem,7vw,5rem) 0;
}
.about-why-grid {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    gap: clamp(2rem,5vw,4rem);
    align-items: start;
}
.about-why-text .section-title { margin-bottom: 1.5rem; }
.about-why-items { display: flex; flex-direction: column; gap: 1rem; }
.about-why-item { display: flex; gap: .85rem; align-items: flex-start; }
.awi-check {
    flex-shrink: 0; width: 28px; height: 28px;
    background: var(--c-green-dk); color: #fff;
    border-radius: 50%; display: flex; align-items: center; justify-content: center;
    margin-top: 2px;
}
.awi-check svg { stroke: #fff; }
.awi-body { display: flex; flex-direction: column; gap: 2px; }
.awi-title { font-size: var(--fs-base); font-weight: 700; color: var(--c-green-dk); font-family: var(--ff-body); }
.awi-desc  { font-size: var(--fs-sm); color: var(--c-mid); line-height: 1.7; }

.about-why-visual { display: flex; flex-direction: column; gap: 1.25rem; }
.about-why-img {
    width: 100%; height: clamp(220px,28vw,320px);
    object-fit: cover; border-radius: var(--radius-lg); display: block;
}
.about-why-cta-card {
    background: var(--c-green-dk);
    border-radius: var(--radius-md);
    padding: 1.75rem;
    display: flex; flex-direction: column; gap: .75rem;
    align-items: flex-start;
}
.awcc-label { font-family: var(--ff-display); font-size: var(--fs-lg); color: var(--c-white); margin-bottom: .25rem; }

/* ── CMS SECTION ─────────────────────────────────────────────── */
.about-cms-section {
    padding: clamp(2rem,5vw,3.5rem) 0;
    background: var(--c-light);
}

/* ── RESPONSIVE ──────────────────────────────────────────────── */
@media (max-width: 1024px) {
    .about-hero-grid    { grid-template-columns: 1fr; }
    .about-hero-sidebar { flex-direction: row; flex-wrap: wrap; }
    .about-cred-box, .about-principal-card { flex: 1; min-width: 260px; }
}
@media (max-width: 900px) {
    .about-quals-grid  { grid-template-columns: 1fr; }
    .about-multi-grid  { grid-template-columns: 1fr; }
    .about-why-grid    { grid-template-columns: 1fr; }
    .about-svc-row     { grid-template-columns: 1fr; }
    .about-svc-row--flip { direction: ltr; }
    .about-svc-photos  { height: clamp(220px,55vw,320px); grid-template-rows: 1fr 1fr; grid-template-columns: 1fr 1fr; }
    .about-svc-photos  { height: 220px; }
}
@media (max-width: 600px) {
    .about-lang-chips  { gap: .35rem; }
    .acb-badges        { flex-direction: column; }
    .about-svc-content { padding: 1.25rem; }
    .about-svc-photos  { height: 180px; }
}

/* ═══════════════════════════════════════════════════════════════
   SERVICES LISTING PAGE (page-services.php)
   ═══════════════════════════════════════════════════════════════ */

/* Hero band */
.svcs-hero-band {
    background: linear-gradient(135deg, var(--c-green-dk) 0%, #0d3518 100%);
    padding: clamp(3rem,7vw,5rem) 0;
}
.svcs-hero-inner {
    display: grid;
    grid-template-columns: 1fr 320px;
    gap: 3rem;
    align-items: center;
}
.svcs-hero-text .section-label { color: var(--c-gold-br) !important; }
.svcs-hero-text .section-title  { color: #fff; margin-bottom: 1rem; }
.svcs-hero-lead  { font-size: clamp(1rem,1.8vw,1.12rem); color: rgba(255,255,255,.9); line-height:1.8; margin-bottom:.85rem; }
.svcs-hero-sub   { font-size:var(--fs-base); color:rgba(255,255,255,.7); line-height:1.85; margin-bottom:1.5rem; }
.svcs-hero-badges { display:flex; gap:.65rem; flex-wrap:wrap; }
.svcs-badge { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); border-radius:var(--radius-sm); padding:.4rem .9rem; display:flex; flex-direction:column; gap:2px; text-align:center; }
.svcs-badge-b { font-size:.68rem; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:var(--c-gold-br); }
.svcs-badge-l { font-size:.6rem; color:rgba(255,255,255,.6); }
.svcs-hero-stats { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.svcs-stat { background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.14); border-radius:var(--radius-md); padding:1.1rem; text-align:center; }
.svcs-stat-n { display:block; font-family:var(--ff-display); font-size:1.85rem; font-weight:700; color:var(--c-gold-br); line-height:1; margin-bottom:.25rem; }
.svcs-stat-l { display:block; font-size:.62rem; text-transform:uppercase; letter-spacing:.8px; color:rgba(255,255,255,.6); }

/* Legislative framework band */
.svcs-legis-band { background:var(--c-light); padding:clamp(2.5rem,6vw,4rem) 0; border-top:1px solid var(--c-border); border-bottom:1px solid var(--c-border); }
.svcs-legis-hdr { max-width:680px; margin-bottom:2rem; }
.svcs-legis-title { font-family:var(--ff-display); font-size:clamp(1.3rem,2.8vw,1.9rem); color:var(--c-green-dk); margin-bottom:.65rem; }
.svcs-legis-desc { font-size:var(--fs-base); color:var(--c-mid); line-height:1.8; }
.svcs-legis-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.1rem; }
.svcs-legis-card { background:#fff; border:1px solid var(--c-border); border-radius:var(--radius-md); overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .2s,transform .2s; }
.svcs-legis-card:hover { box-shadow:var(--shadow-md); transform:translateY(-3px); }
.svcs-legis-badge { padding:.5rem 1rem; font-size:.72rem; font-weight:800; letter-spacing:1px; text-transform:uppercase; color:#fff; }
.svcs-legis-body { padding:1rem 1.2rem 1.3rem; flex:1; display:flex; flex-direction:column; gap:.35rem; }
.svcs-legis-full { font-family:var(--ff-display); font-size:var(--fs-base); font-weight:700; color:var(--c-green-dk); line-height:1.3; }
.svcs-legis-no   { font-size:.68rem; font-weight:700; color:var(--c-mid); letter-spacing:.4px; }
.svcs-legis-text { font-size:var(--fs-sm); color:var(--c-mid); line-height:1.75; flex:1; }
.svcs-legis-tags { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.65rem; }
.svcs-legis-tag  { font-size:.6rem; font-weight:700; text-transform:uppercase; letter-spacing:.5px; background:rgba(26,92,42,.08); color:var(--c-green-dk); border:1px solid rgba(26,92,42,.18); padding:2px 7px; border-radius:2px; }

/* Service overview — TEXT ONLY, no images */
.svcs-overview-section { background:#fff; }
.svcs-ov-hdr { max-width:680px; margin-bottom:2.5rem; }
.svcs-ov-grid { display:flex; flex-direction:column; gap:0; }

/* Each overview card: FULL WIDTH, no image column */
.svcs-ov-card {
    padding: clamp(1.75rem,3.5vw,2.5rem) 0;
    border-bottom: 1px solid var(--c-border);
}
.svcs-ov-card:last-child { border-bottom: none; }
/* Remove any image-related styles */
.svcs-ov-img { display: none !important; }
.svcs-ov-card--flip { display: block; }

.svcs-ov-body { display:flex; flex-direction:column; gap:.4rem; }
.svcs-ov-leg  { font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:1px; color:var(--c-green-md); line-height:1.5; }
.svcs-ov-title { font-family:var(--ff-display); font-size:clamp(1.2rem,2.5vw,1.55rem); color:var(--c-green-dk); line-height:1.25; margin-bottom:.25rem; }
.svcs-ov-intro { font-size:var(--fs-base); color:var(--c-mid); line-height:1.8; border-bottom:1px solid var(--c-border); padding-bottom:.85rem; margin-bottom:.5rem; }
.svcs-ov-subsections { display:flex; flex-direction:column; gap:.85rem; }
.svcs-ov-sub h4 { font-family:var(--ff-display); font-size:var(--fs-base); font-weight:700; color:var(--c-green-dk); margin-bottom:.3rem; }
.svcs-ov-sub p  { font-size:var(--fs-sm); color:var(--c-mid); line-height:1.75; margin-bottom:.35rem; }
.svcs-ov-sub ul { list-style:none; padding:0; margin:0; }
.svcs-ov-sub ul li { font-size:var(--fs-sm); color:var(--c-mid); padding:.3rem 0 .3rem 1.1rem; position:relative; line-height:1.65; }
.svcs-ov-sub ul li::before { content:''; position:absolute; left:0; top:9px; width:5px; height:5px; background:var(--c-gold); border-radius:50%; }
.svcs-ov-link { display:inline-flex; align-items:center; gap:5px; margin-top:.85rem; padding-top:.85rem; border-top:1px solid var(--c-border); font-size:.78rem; font-weight:700; color:var(--c-green-md); text-transform:uppercase; letter-spacing:.4px; text-decoration:none; transition:gap .2s,color .2s; }
.svcs-ov-link:hover { gap:9px; color:var(--c-green-dk); }

/* Service cards grid — bottom of services page */
.svcs-cards-hdr { margin-bottom:1.75rem; }
.svc-cards-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
.svc-card { background:#fff; border:1px solid var(--c-border); border-radius:var(--radius-md); overflow:hidden; display:flex; flex-direction:column; transition:box-shadow .22s,transform .22s; }
.svc-card:hover { box-shadow:0 12px 40px rgba(26,92,42,.13); transform:translateY(-4px); }
.svc-card-img-wrap { display:block; height:200px; overflow:hidden; position:relative; flex-shrink:0; }
.svc-card-img-wrap img { width:100%; height:100%; object-fit:cover; object-position:center 30%; display:block; transition:transform .5s ease; }
.svc-card:hover .svc-card-img-wrap img { transform:scale(1.06); }
.svc-card-overlay { position:absolute; inset:0; background:linear-gradient(to top,rgba(26,92,42,.35) 0%,transparent 60%); pointer-events:none; }
.svc-card-body { padding:1.3rem 1.4rem 1.5rem; display:flex; flex-direction:column; flex:1; }
.svc-card-cat  { font-size:.6rem; font-weight:700; letter-spacing:.8px; text-transform:uppercase; color:var(--c-green-md); margin-bottom:.45rem; line-height:1.5; }
.svc-card-title { font-family:var(--ff-display); font-size:var(--fs-lg); color:var(--c-green-dk); margin-bottom:.5rem; line-height:1.3; }
.svc-card-title a { color:inherit; text-decoration:none; }
.svc-card-title a:hover { color:var(--c-green-md); }
.svc-card-subs { list-style:none; padding:0; margin:.5rem 0 .75rem; display:flex; flex-direction:column; gap:.2rem; }
.svc-card-subs li { font-size:.7rem; color:var(--c-mid); padding-left:.85rem; position:relative; line-height:1.5; }
.svc-card-subs li::before { content:'›'; position:absolute; left:0; color:var(--c-green-br); font-weight:700; }
.svc-card-text { font-size:var(--fs-sm); color:var(--c-mid); line-height:1.75; margin-bottom:.85rem; flex:1; }
.svc-card-link { font-size:.72rem; font-weight:700; color:var(--c-green-md); text-transform:uppercase; letter-spacing:.4px; display:inline-flex; align-items:center; gap:4px; text-decoration:none; margin-top:auto; transition:gap .2s,color .2s; }
.svc-card-link:hover { gap:8px; color:var(--c-green-dk); }

/* Services page CTA */
.svcs-cta-band { background:var(--c-green-dk); padding:clamp(2.5rem,6vw,4rem) 0; }
.svcs-cta-inner { display:flex; justify-content:space-between; align-items:center; gap:2rem; flex-wrap:wrap; }
.svcs-cta-title { font-family:var(--ff-display); font-size:clamp(1.3rem,2.5vw,1.85rem); color:#fff; margin-bottom:.4rem; }
.svcs-cta-desc  { font-size:var(--fs-sm); color:rgba(255,255,255,.72); max-width:480px; line-height:1.7; }
.svcs-cta-btns  { display:flex; gap:.75rem; flex-wrap:wrap; flex-shrink:0; }

/* Responsive services page */
@media (max-width:1100px) {
    .svcs-hero-inner { grid-template-columns:1fr; }
    .svcs-hero-stats { grid-template-columns:repeat(4,1fr); }
    .svcs-legis-grid { grid-template-columns:repeat(2,1fr); }
    .svc-cards-grid  { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:700px) {
    .svcs-legis-grid { grid-template-columns:1fr; }
    .svcs-hero-stats { grid-template-columns:repeat(2,1fr); }
    .svc-cards-grid  { grid-template-columns:1fr; }
    .svcs-cta-inner  { flex-direction:column; text-align:center; }
    .svcs-cta-btns   { justify-content:center; }
}


/* ═══════════════════════════════════════════════════════════════
   PAGE HEADER BANNER — single definitive block
   Works on ALL pages including when body.elementor-page is set
   ═══════════════════════════════════════════════════════════════ */

/* Force visible — override ANY rule that might hide it */
.page-header-banner {
    display: block !important;
    background: var(--c-green-dk) !important;
    position: relative !important;
    padding: clamp(2.75rem, 6vw, 4.5rem) 0 !important;
    overflow: hidden !important;
}

/* Background photo inside .phb-bg */
.phb-bg {
    position: absolute !important;
    inset: 0 !important;
    overflow: hidden !important;
    z-index: 0 !important;
}
.phb-bg img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center 38% !important;
    display: block !important;
    opacity: 0.30 !important;
}

/* Dark overlay */
.phb-overlay {
    position: absolute !important;
    inset: 0 !important;
    background: rgba(14, 46, 22, 0.84) !important;
    z-index: 1 !important;
}

/* Gold bottom line */
.page-header-banner::after {
    content: '' !important;
    position: absolute !important;
    bottom: 0 !important; left: 0 !important; right: 0 !important;
    height: 4px !important;
    background: linear-gradient(90deg, var(--c-gold), var(--c-green-br), var(--c-gold)) !important;
    z-index: 4 !important;
}

/* Text content */
.phb-content {
    position: relative !important;
    z-index: 2 !important;
}
.phb-title {
    font-family: var(--ff-display) !important;
    font-size: clamp(1.7rem, 4.2vw, 2.8rem) !important;
    color: #ffffff !important;
    margin: 0 0 0.5rem !important;
    line-height: 1.2 !important;
    text-shadow: 0 2px 14px rgba(0,0,0,0.45) !important;
}
.phb-breadcrumb {
    font-size: var(--fs-sm) !important;
    color: rgba(255,255,255,0.62) !important;
}
.phb-breadcrumb a { color: rgba(255,255,255,0.62) !important; text-decoration: none !important; }
.phb-breadcrumb a:hover { color: var(--c-gold-br) !important; }
.phb-breadcrumb .sep { margin: 0 0.4rem !important; }


/* ═══════════════════════════════════════════════════════════════
   SERVICE DETAIL PAGES — individual service pages
   Using same padding pattern as About Us and Contact pages
   ═══════════════════════════════════════════════════════════════ */

/* The <main> uses section-pad from style.css for vertical padding.
   The <div class="container"> provides horizontal padding automatically. */

/* Stats / legislation bar */
.svc-leg-bar {
    background: var(--c-green-dk);
    border-bottom: 3px solid var(--c-gold);
}
.svc-leg-inner {
    display: flex;
    align-items: stretch;
    min-height: 52px;
    flex-wrap: wrap;
}
.svc-leg-stats {
    display: flex;
    align-items: center;
    border-right: 1px solid rgba(255,255,255,0.12);
    flex-shrink: 0;
}
.svc-leg-stat {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 0.65rem 1.35rem;
    border-right: 1px solid rgba(255,255,255,0.1);
    text-align: center;
}
.svc-leg-stat:last-child { border-right: none; }
.svc-leg-stat strong { font-family:var(--ff-display); font-size:1.15rem; font-weight:900; color:var(--c-gold-br); line-height:1; display:block; }
.svc-leg-stat span   { font-size:.58rem; text-transform:uppercase; letter-spacing:.7px; color:rgba(255,255,255,.55); display:block; margin-top:2px; white-space:nowrap; }
.svc-leg-text { flex:1; padding:.65rem 1.35rem; font-size:.72rem; color:rgba(255,255,255,.55); font-style:italic; line-height:1.55; align-self:center; }

/* Two-column layout */
.svc-page-grid {
    display: grid;
    grid-template-columns: 1fr 295px;
    gap: 2.75rem;
    align-items: start;
}

/* Main article */
.svc-page-main { min-width: 0; }

/* Intro highlight card */
.svc-intro-card {
    display: flex;
    align-items: flex-start;
    gap: 1.1rem;
    background: var(--c-light);
    border: 1px solid var(--c-border);
    border-left: 4px solid var(--c-green-dk);
    border-radius: var(--radius-md);
    padding: 1.3rem 1.5rem;
    margin-bottom: 1.75rem;
}
.svc-intro-icon { flex-shrink:0; width:48px; height:48px; background:var(--c-green-dk); border-radius:var(--radius-sm); display:flex; align-items:center; justify-content:center; }
.svc-intro-icon svg { stroke: var(--c-gold-br); }
.svc-intro-label { font-size:.62rem; font-weight:700; letter-spacing:1px; text-transform:uppercase; color:var(--c-green-md); margin-bottom:.25rem; display:block; }
.svc-intro-title { font-family:var(--ff-display); font-size:clamp(1.05rem,2.2vw,1.35rem); color:var(--c-green-dk); margin:0; line-height:1.3; }

/* Body content */
.svc-body-content { margin-bottom: 2.25rem; }

.svc-body-content p {
    font-size: var(--fs-base);
    color: var(--c-mid);
    line-height: 1.85;
    margin-bottom: 1rem;
}
.svc-body-content h2 {
    font-family: var(--ff-display) !important;
    font-size: clamp(1.1rem, 2.3vw, 1.4rem) !important;
    color: var(--c-green-dk) !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;
    margin: 2.25rem 0 0.65rem !important;
    padding: 1.5rem 0 0.65rem !important;
    border-top: 1px solid var(--c-border) !important;
    border-right: none !important;
    border-bottom: none !important;
    border-left: none !important;
}
.svc-body-content h2:first-child,
.svc-body-content > p:first-child + h2 {
    border-top: none !important;
    padding-top: 0 !important;
    margin-top: 0 !important;
}
.svc-body-content h3 {
    font-family: var(--ff-display) !important;
    font-size: clamp(.95rem, 1.8vw, 1.1rem) !important;
    color: var(--c-green-md) !important;
    font-weight: 700 !important;
    margin: 1.5rem 0 0.45rem !important;
    border: none !important;
    padding: 0 !important;
}
.svc-body-content ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0.5rem 0 1.4rem !important;
    border: 1px solid var(--c-border);
    border-radius: var(--radius-md);
    overflow: hidden;
    background: #fff;
}
.svc-body-content ul li {
    display: flex !important;
    align-items: flex-start !important;
    gap: 0.8rem !important;
    padding: 0.75rem 1.15rem !important;
    border-bottom: 1px solid var(--c-border) !important;
    font-size: var(--fs-sm) !important;
    color: var(--c-mid) !important;
    line-height: 1.7 !important;
    transition: background 0.15s;
}
.svc-body-content ul li:last-child { border-bottom: none !important; }
.svc-body-content ul li:hover { background: var(--c-light); }
.svc-body-content ul li::before {
    content: '' !important;
    width: 7px !important;
    height: 7px !important;
    background: var(--c-gold) !important;
    border-radius: 50% !important;
    flex-shrink: 0 !important;
    margin-top: 8px !important;
}

/* Gallery */
.svc-gallery-section { margin-bottom:2.25rem; padding-top:1.75rem; border-top:2px solid var(--c-border); }
.svc-section-label   { margin-bottom:.85rem; }
.svc-section-eyebrow { display:block; font-size:.62rem; font-weight:800; letter-spacing:1.4px; text-transform:uppercase; color:var(--c-green-br); margin-bottom:.25rem; }
.svc-section-heading { font-family:var(--ff-display) !important; font-size:clamp(1rem,2vw,1.25rem) !important; color:var(--c-green-dk) !important; margin:0 !important; border:none !important; padding:0 !important; }
.svc-gallery-grid    { display:grid; grid-template-columns:1fr 1fr; gap:.75rem; }
.svc-gallery-cell    { overflow:hidden; border-radius:var(--radius-sm); aspect-ratio:4/3; background:var(--c-light); }
.svc-gallery-cell img { width:100%; height:100%; object-fit:cover; object-position:center; display:block; transition:transform .5s ease; }
.svc-gallery-cell:hover img { transform:scale(1.06); }

/* CTA */
.svc-page-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.4rem;
    background: var(--c-green-dk);
    padding: clamp(1.3rem,2.8vw,1.9rem) clamp(1.2rem,2.8vw,1.9rem);
    border-radius: var(--radius-md);
    flex-wrap: wrap;
    margin-top: 2.25rem;
}
.svc-cta-content h3 { font-family:var(--ff-display); font-size:clamp(1rem,2vw,1.3rem); color:#fff; margin:0 0 .25rem; border:none !important; padding:0 !important; }
.svc-cta-content p  { color:rgba(255,255,255,.72); font-size:var(--fs-sm); margin:0; line-height:1.6; }
.svc-cta-actions    { display:flex; gap:.65rem; flex-wrap:wrap; flex-shrink:0; }

/* Sidebar */
.svc-page-sidebar { position:sticky; top:88px; display:flex; flex-direction:column; gap:1.1rem; }
.svc-sidebar-widget { background:#fff; border:1px solid var(--c-border); border-radius:var(--radius-md); padding:1.3rem 1.4rem; }
.svc-sidebar-title {
    font-size:.7rem !important;
    font-weight:800 !important;
    text-transform:uppercase;
    letter-spacing:1.2px;
    color:var(--c-green-dk) !important;
    margin:0 0 .9rem !important;
    padding-bottom:.6rem !important;
    border-top:none !important;
    border-left:none !important;
    border-right:none !important;
    border-bottom:2px solid var(--c-green-br) !important;
    display:block;
}
.svc-sidebar-nav { list-style:none; padding:0; margin:0 0 .75rem; }
.svc-sidebar-nav li { border-bottom:1px solid var(--c-border); }
.svc-sidebar-nav li:last-child { border-bottom:none; }
.svc-sidebar-nav a { display:flex; align-items:flex-start; gap:.45rem; padding:.6rem .2rem; font-size:.84rem; color:var(--c-dark); text-decoration:none; line-height:1.4; transition:color .15s,padding-left .15s; }
.svc-sidebar-nav a:hover { color:var(--c-green-md); padding-left:5px; }
.svc-sidebar-nav li.active a { color:var(--c-green-dk); font-weight:700; }
.svc-sidebar-nav li.active a span { color:var(--c-gold); }
.svc-sidebar-nav a span { color:var(--c-border); flex-shrink:0; line-height:1.55; }
.svc-sidebar-back { display:inline-block; font-size:.75rem; font-weight:700; color:var(--c-green-md); text-decoration:none; }
.svc-sidebar-back:hover { color:var(--c-green-dk); }

.svc-download-card { background:var(--c-green-dk) !important; border-color:transparent !important; text-align:center; }
.svc-download-card .svc-download-icon { margin-bottom:.65rem; }
.svc-download-card .svc-download-icon svg { stroke:var(--c-gold-br); }
.svc-download-card h4 { font-family:var(--ff-display); font-size:.95rem; color:#fff !important; margin:0 0 .45rem !important; border:none !important; padding:0 !important; }
.svc-download-card p  { font-size:.78rem; color:rgba(255,255,255,.7); line-height:1.6; margin-bottom:0; }
.svc-download-card .btn-outline { border-color:rgba(255,255,255,.38) !important; color:rgba(255,255,255,.8) !important; }
.svc-download-card .btn-outline:hover { border-color:#fff !important; color:#fff !important; }

.svc-contact-card address { font-style:normal; }
.svc-contact-card address p { display:flex; align-items:flex-start; gap:.55rem; font-size:.81rem; color:var(--c-mid); margin-bottom:.6rem; line-height:1.5; }
.svc-contact-card address p:last-child { margin-bottom:0; }
.svc-contact-card address svg { stroke:var(--c-green-md); flex-shrink:0; margin-top:2px; }
.svc-contact-card address a  { color:var(--c-green-md); text-decoration:none; }
.svc-contact-card address a:hover { text-decoration:underline; }

/* Responsive */
@media (max-width:1020px) {
    .svc-page-grid { grid-template-columns:1fr 250px; gap:2rem; }
}
@media (max-width:860px) {
    .svc-page-grid    { grid-template-columns:1fr; }
    .svc-page-sidebar { position:static; display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
    .svc-leg-text     { display:none; }
}
@media (max-width:580px) {
    .svc-page-sidebar { grid-template-columns:1fr; }
    .svc-gallery-grid { grid-template-columns:1fr; }
    .svc-page-cta     { flex-direction:column; }
    .svc-cta-actions  { width:100%; flex-direction:column; }
    .svc-cta-actions .btn { width:100%; justify-content:center; }
    .svc-leg-stat     { padding:.5rem .85rem; }
}
