/* =========================================================================
   RETAP SOLUTIONS — custom.css
   Consolidated, deduplicated stylesheet for the ENTIRE site (all pages).
   -------------------------------------------------------------------------
   Structure:
   1. Shared foundation — design tokens, reset, typography, layout utilities,
      components, homepage sections, footer, and all responsive breakpoints.
      (This is the single source of truth for every class shared across
      pages — navbar, footer, buttons, cards, animations, etc.)
   2. Page-specific additions — components unique to each inner page
      (banners, breadcrumbs, product hero, gallery grid, article layout,
      manufacturing/awards sections, contact cards, insights listing).
      Duplicate/stale copies of shared selectors that had drifted across
      different page builds were identified and removed during merge;
      only genuinely page-specific rules are appended below.
   ========================================================================= */

/* =========================================================================
   RETAP SOLUTIONS — Homepage Stylesheet
   Waste-to-Energy Specialist | "Recycle. Reclaim. Reuse."
   -------------------------------------------------------------------------
   Structure:
   1. Design Tokens (colors, type, spacing)
   2. Base / Reset
   3. Typography
   4. Layout utilities
   5. Components (buttons, cards, nav, etc.)
   6. Sections (hero, about, services, loop, products, etc.)
   7. Footer
   8. Animations
   9. Responsive
   ========================================================================= */

/* ============================= 1. DESIGN TOKENS ========================= */
:root{
  /* --- Brand colors (drawn from the ReTap logo: green blade + blue droplet,
         and the brochure's amber accent rule under every heading) --- */
  --color-forest-950:#07160F;   /* deepest bg (footer, hero base) */
  --color-forest-900:#0B2A1C;
  --color-forest-800:#123A27;
  --color-green-700:#136B41;
  --color-green-600:#178A52;    /* primary brand green */
  --color-green-500:#22A863;
  --color-green-400:#4FC783;
  --color-green-200:#B9EBCB;
  --color-green-100:#E7F7ED;

  --color-blue-700:#0F5A82;
  --color-blue-500:#1D84B8;     /* logo droplet blue */
  --color-blue-300:#7FC4E3;

  --color-amber-500:#E7A13A;    /* brochure's signature underline accent */
  --color-amber-300:#F3C583;

  --color-ink-900:#0E1B15;      /* near-black body copy */
  --color-ink-700:#38473F;
  --color-ink-500:#5C6B62;      /* muted text */
  --color-ink-300:#9AA79E;

  --color-surface:#FFFFFF;
  --color-surface-alt:#F5FAF6;  /* very light green-white */
  --color-surface-line:#E3ECE5;

  --gradient-leaf: linear-gradient(120deg, var(--color-green-600) 0%, var(--color-green-400) 55%, var(--color-blue-500) 130%);
  --gradient-forest: linear-gradient(180deg, var(--color-forest-900) 0%, var(--color-forest-950) 100%);
  --gradient-mesh: radial-gradient(60% 60% at 15% 20%, rgba(79,199,131,0.35) 0%, rgba(79,199,131,0) 60%),
                    radial-gradient(50% 50% at 85% 10%, rgba(29,132,184,0.30) 0%, rgba(29,132,184,0) 60%),
                    radial-gradient(70% 70% at 50% 100%, rgba(23,138,82,0.45) 0%, rgba(7,22,15,0) 70%);

  /* --- Typography --- */
  --font-display:'Manrope', sans-serif;
  --font-body:'Inter', sans-serif;
  --font-button:'Poppins', sans-serif;

  --fs-display-xl: clamp(2.6rem, 4.2vw + 1rem, 5rem);
  --fs-display-lg: clamp(2.1rem, 2.6vw + 1rem, 3.4rem);
  --fs-display-md: clamp(1.6rem, 1.4vw + 1rem, 2.35rem);
  --fs-display-sm: clamp(1.25rem, .8vw + 1rem, 1.6rem);
  --fs-body-lg: clamp(1.05rem, .3vw + 1rem, 1.2rem);
  --fs-body: 1rem;
  --fs-body-sm: .9rem;
  --fs-eyebrow: .8rem;

  /* --- Spacing scale (8pt base) --- */
  --sp-1: .5rem;
  --sp-2: 1rem;
  --sp-3: 1.5rem;
  --sp-4: 2rem;
  --sp-5: 3rem;
  --sp-6: 4rem;
  --sp-7: 6rem;
  --sp-8: 8rem;

  --section-pad: clamp(4rem, 6vw, 7rem);
  --radius-sm: 10px;
  --radius-md: 18px;
  --radius-lg: 28px;
  --radius-pill: 100px;

  --shadow-soft: 0 20px 50px -20px rgba(11,42,28,0.25);
  --shadow-card: 0 12px 30px -12px rgba(11,42,28,0.18);
  --ease-out: cubic-bezier(.16,1,.3,1);
}

/* ============================= 2. BASE / RESET =========================== */
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
@media (prefers-reduced-motion: reduce){
  html{ scroll-behavior:auto; }
  *,*::before,*::after{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; scroll-behavior:auto !important; }
}
body{
  margin:0;
  font-family:var(--font-body);
  color:var(--color-ink-900);
  background:var(--color-surface);
  font-size:var(--fs-body);
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
a{ text-decoration:none; color:inherit; }
ul{ list-style:none; margin:0; padding:0; }
button{ font-family:inherit; cursor:pointer; }
:focus-visible{ outline:3px solid var(--color-blue-500); outline-offset:3px; border-radius:4px; }
.container-xl{ width:100%; max-width:1320px; margin-inline:auto; padding-inline:clamp(1.25rem, 4vw, 2.5rem); }

/* ============================= 3. TYPOGRAPHY ============================= */
h1,h2,h3,h4,.font-display{ font-family:var(--font-display); color:var(--color-ink-900); font-weight:800; line-height:1.1; letter-spacing:-0.02em; margin:0; }
p{ margin:0; }
.text-muted-2{ color:var(--color-ink-500); }
.text-invert{ color:#fff; }
.text-invert .text-muted-2, .on-dark .text-muted-2{ color:rgba(255,255,255,0.68); }

.eyebrow{
  display:inline-flex; align-items:center; gap:.6rem;
  font-family:var(--font-button); font-size:var(--fs-eyebrow); font-weight:600;
  letter-spacing:.16em; text-transform:uppercase; color:var(--color-green-700);
  margin-bottom:var(--sp-2);
}
.on-dark .eyebrow{ color:var(--color-green-400); }
.eyebrow::before{ content:''; width:26px; height:2px; background:var(--color-amber-500); display:inline-block; border-radius:2px; }

.section-head{ max-width:680px; margin-bottom:var(--sp-6); }
.section-head.center{ margin-inline:auto; text-align:center; }
.section-title{ font-size:var(--fs-display-lg); }
.section-sub{ margin-top:var(--sp-2); font-size:var(--fs-body-lg); color:var(--color-ink-500); }
.on-dark .section-sub{ color:rgba(255,255,255,0.7); }

.divider-accent{ width:56px; height:4px; border-radius:4px; background:var(--color-amber-500); margin:var(--sp-2) 0 0; }

/* ============================= 4. LAYOUT UTILITIES ======================== */
.section{ padding-block:var(--section-pad); position:relative; }
.section-compact{ padding-block:clamp(2.5rem, 4vw, 4.25rem); }
.section-tall{ padding-block:clamp(4.5rem, 7vw, 7.5rem); }
.section-alt{ background:var(--color-surface-alt); }
.section-tint{ background:var(--color-green-100); }
.section-dark{ background:var(--gradient-forest); color:#fff; }
.section-dark::before{
  content:''; position:absolute; inset:0; background-image:var(--gradient-mesh); pointer-events:none;
}
.grid-auto{ display:grid; gap:var(--sp-4); }

.reveal{ opacity:0; transform:translateY(28px); transition:opacity .8s var(--ease-out), transform .8s var(--ease-out); }
.reveal.is-visible{ opacity:1; transform:translateY(0); }
.reveal-delay-1{ transition-delay:.1s; }
.reveal-delay-2{ transition-delay:.2s; }
.reveal-delay-3{ transition-delay:.3s; }
.reveal-delay-4{ transition-delay:.4s; }

/* ============================= 5. COMPONENTS ============================== */

/* --- Buttons --- */
.btn-retap{
  font-family:var(--font-button); font-weight:600; font-size:.92rem; letter-spacing:.02em;
  padding:.95rem 1.9rem; border-radius:var(--radius-pill); border:1px solid transparent;
  display:inline-flex; align-items:center; gap:.6rem; transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out), background .35s;
  white-space:nowrap;
}
.btn-retap:hover{ transform:translateY(-3px); }
.btn-primary-grad{ background:var(--gradient-leaf); color:#fff; box-shadow:0 14px 30px -12px rgba(23,138,82,0.55); }
.btn-primary-grad:hover{ box-shadow:0 18px 38px -12px rgba(23,138,82,0.65); color:#fff; }
.btn-outline-invert{ border-color:rgba(255,255,255,0.4); color:#fff; }
.btn-outline-invert:hover{ background:rgba(255,255,255,0.1); color:#fff; }
.btn-outline-dark{ border-color:var(--color-surface-line); color:var(--color-ink-900); background:#fff; }
.btn-outline-dark:hover{ border-color:var(--color-green-600); color:var(--color-green-700); }
.btn-sm-link{ font-family:var(--font-button); font-weight:600; font-size:.85rem; display:inline-flex; align-items:center; gap:.4rem; transition:color .35s var(--ease-out); }
.nav-cta .btn-sm-link{ font-size:calc(.98rem + 2px); }
.nav-cta .btn-retap.btn-primary-grad{ font-size:calc(.98rem + 2px); }
.btn-sm-link i{ transition:transform .3s var(--ease-out); }
.btn-sm-link:hover i{ transform:translateX(4px); }

/* --- Navigation --- */
.site-header{
  position:fixed; top:0; left:0; right:0; z-index:1000;
  padding-block:1.35rem; transition:padding .35s var(--ease-out), background .35s var(--ease-out), box-shadow .35s var(--ease-out);
}
.site-header .nav-inner{ display:flex; align-items:center; justify-content:space-between; gap:2rem; }
.site-header.is-scrolled{ padding-block:.75rem; background:rgba(255,255,255,0.88) !important; backdrop-filter:blur(14px); box-shadow:0 10px 30px -18px rgba(11,42,28,0.3); }
.brand{ display:flex; align-items:center; gap:.65rem; }
.brand-mark{
   display:inline-flex; align-items:center; background:rgba(255,255,255,0.94);
  border-radius:14px; padding:.4rem .7rem; box-shadow:0 10px 26px -14px rgba(0,0,0,0.45);
  transition:background .35s var(--ease-out), padding .35s var(--ease-out), box-shadow .35s var(--ease-out);
}
.form-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 2.5rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23333' viewBox='0 0 16 16'%3E%3Cpath d='M3.2 5.5L8 10.3l4.8-4.8 1.2 1.2L8 12.7 2 6.7z'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 0.75rem center !important;
    background-size: 14px !important;
}
.brand img{ height:52px; width:auto; display:block; transition:height .35s var(--ease-out); }
.site-header.is-scrolled .brand-mark{ background:transparent; padding:0; box-shadow:none; }
.site-header.is-scrolled .brand img{ height:44px; }
.brand-word{ font-family:var(--font-display); font-weight:800; font-size:1.15rem; letter-spacing:-0.01em; }
.site-header:not(.is-scrolled) .brand-word,
.site-header:not(.is-scrolled) .nav-link,
.site-header:not(.is-scrolled) .btn-sm-link{ color:#fff; }
.site-header.is-scrolled .brand-word,
.site-header.is-scrolled .nav-link,
.site-header.is-scrolled .btn-sm-link{ color:var(--color-ink-900); }

.nav-links{ display:flex; align-items:center; gap:2.1rem; }
/* Prevents the page behind the open mobile/tablet drawer from scrolling */
body.nav-open-lock{ overflow:hidden; }
.nav-link{ font-family:var(--font-button); font-size:calc(.98rem + 2px); font-weight:500; position:relative; padding-block:.3rem; }
.nav-link::after{ content:''; position:absolute; left:0; bottom:0; width:0; height:2px; background:var(--color-amber-500); transition:width .3s var(--ease-out); }
.nav-link:hover::after, .nav-link.active::after{ width:100%; }


/* --- "About Us" dropdown --- */
.nav-dropdown{ position:relative; }
.nav-dropdown-toggle{ background:none; border:0; padding-block:.3rem; cursor:pointer; color:inherit; }
.nav-caret{ font-size:.62rem; margin-left:.15rem; transition:transform .3s var(--ease-out); }
.nav-dropdown.open .nav-caret{ transform:rotate(180deg); }

.mega-menu{
  position:absolute; top:calc(100% + 1rem); left:50%; transform:translate(-50%,10px);
  display:grid; grid-template-columns:200px 260px; gap:0;
  background:#fff; border-radius:18px; overflow:hidden;
  box-shadow:0 30px 60px -24px rgba(11,42,28,0.32); border:1px solid var(--color-surface-line);
  opacity:0; pointer-events:none; transition:opacity .3s var(--ease-out), transform .3s var(--ease-out);
  z-index:20;
}
.nav-dropdown.open .mega-menu{ opacity:1; pointer-events:auto; transform:translate(-50%,0); }
.mega-menu-links{ list-style:none; margin:0; padding:1.1rem; display:flex; flex-direction:column; gap:.15rem; }
.nav-sublink{
  display:flex; align-items:center; justify-content:space-between; gap:.6rem;
  padding:.75rem .9rem; border-radius:10px; font-size:.9rem; font-weight:500;
  color:var(--color-ink-900) !important; white-space:nowrap; transition:background .25s, padding-left .25s;
}
.nav-sublink i{ font-size:.75rem; color:var(--color-green-500); opacity:0; transform:translate(-4px,4px); transition:.3s var(--ease-out); }
.nav-sublink:hover{ background:var(--color-surface-alt); padding-left:1.1rem; }
.nav-sublink:hover i{ opacity:1; transform:translate(0,0); }
.nav-sublink::after{ display:none; }
.mega-menu-visual{ position:relative; overflow:hidden; }
.mega-menu-visual img{ width:100%; height:100%; object-fit:cover; display:block; min-height:190px; }
.mega-menu-visual::after{ content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(6,20,13,0.88) 0%, rgba(6,20,13,0.1) 55%, transparent 70%); }
.mega-menu-caption{ position:absolute; left:1.1rem; right:1.1rem; bottom:1rem; z-index:2; color:#fff; }
.mega-menu-caption-title{ display:block; font-family:var(--font-display); font-weight:700; font-size:1rem; margin-bottom:.25rem; }
.mega-menu-caption-text{ margin:0; font-size:.78rem; color:rgba(255,255,255,0.78); line-height:1.4; }

.nav-cta{ display:flex; align-items:center; gap:1.1rem; }
.nav-toggle{ display:none; background:none; border:0; padding:.3rem; position:relative; z-index:1010; }
.nav-toggle span{ display:block; width:26px; height:2px; margin:6px 0; background:currentColor; transition:.3s; }
/* Hamburger morphs into an X when the menu is open (JS already toggles aria-expanded) */
.nav-toggle[aria-expanded="true"] span:first-child{ transform:translateY(6px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:last-child{ transform:translateY(-2px) rotate(-45deg); }
.site-header:not(.is-scrolled) .nav-toggle{ color:#fff; }
.site-header.is-scrolled .nav-toggle{ color:var(--color-ink-900); }

/* --- Our Services section: compact slider --- */
.services-slider-wrap{ position:relative; display:flex; align-items:center; gap:1rem; }
.services-slider{
  overflow-x:auto; overflow-y:hidden; scroll-snap-type:x mandatory; scroll-behavior:smooth;
  scrollbar-width:none; -ms-overflow-style:none; flex:1; min-width:0;
}
.services-slider::-webkit-scrollbar{ display:none; }
.services-track{ display:flex; gap:1.25rem; }
.service-slide{ scroll-snap-align:start; flex:0 0 calc(33.333% - .84rem); }
.services-nav{
  flex:none; width:46px; height:46px; border-radius:50%; background:#fff;
  border:1px solid var(--color-surface-line); box-shadow:var(--shadow-card);
  display:flex; align-items:center; justify-content:center; font-size:1.1rem; color:var(--color-ink-900);
  transition:background .3s, color .3s, transform .3s var(--ease-out);
}
.services-nav:hover{ background:var(--color-ink-900); color:#fff; transform:scale(1.06); }
.service-card{
  background:#fff; border:1px solid var(--color-surface-line); border-radius:var(--radius-md);
  overflow:hidden; height:100%; transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out);
}
.service-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-card); }
.service-card-image{ position:relative; aspect-ratio:4/3; overflow:hidden; }
.service-card-image img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s var(--ease-out); }
.service-card:hover .service-card-image img{ transform:scale(1.08); }
.service-num{
  position:absolute; top:12px; left:12px; width:38px; height:38px; border-radius:50%;
  background:var(--gradient-leaf); color:#fff; font-family:var(--font-display); font-weight:800; font-size:.95rem;
  display:flex; align-items:center; justify-content:center; box-shadow:0 8px 18px -6px rgba(0,0,0,0.35);
}
.service-card-body{ padding:1.4rem 1.5rem 1.6rem; }
.service-card-title{ font-family:var(--font-display); font-weight:700; font-size:1.05rem; margin-bottom:.5rem; color:var(--color-ink-900); }
.service-card-text{ color:var(--color-ink-500); font-size:.9rem; line-height:1.6; margin:0; }

/* --- Cards --- */
.card-retap{
  background:#fff; border-radius:var(--radius-md); padding:var(--sp-4);
  border:1px solid var(--color-surface-line); box-shadow:var(--shadow-card);
  transition:transform .4s var(--ease-out), box-shadow .4s var(--ease-out), border-color .4s;
  height:100%;
}
.card-retap:hover{ transform:translateY(-8px); box-shadow:0 26px 46px -18px rgba(11,42,28,0.28); border-color:transparent; }
.card-icon{
  width:56px; height:56px; border-radius:16px; display:flex; align-items:center; justify-content:center;
  background:var(--color-green-100); color:var(--color-green-700); font-size:1.4rem; margin-bottom:var(--sp-3);
  transition:background .4s, color .4s, transform .4s var(--ease-out);
}
.card-retap:hover .card-icon{ background:var(--gradient-leaf); color:#fff; transform:rotate(-8deg) scale(1.05); }
.card-title{ font-family:var(--font-display); font-weight:700; font-size:1.15rem; margin-bottom:.5rem; }
.card-text{ color:var(--color-ink-500); font-size:.95rem; }

/* Products showcase — editorial card housing the Bio Waste to Bio CNG grid */
.products-showcase{
  background:var(--color-green-100); border-radius:var(--radius-lg);
  padding:clamp(1.75rem, 4vw, 3.25rem); box-shadow:var(--shadow-soft);
  border:1px solid var(--color-surface-line);
}
.pill-badge{
  display:inline-flex; align-items:center; gap:.5rem; background:#fff; border:1px solid var(--color-surface-line);
  border-radius:100px; padding:.5rem 1rem .5rem .75rem; font-family:var(--font-button); font-size:.78rem;
  font-weight:600; color:var(--color-ink-700); margin-bottom:1.3rem;
}
.pill-badge i{ color:var(--color-green-600); }
.products-heading{
  font-family:var(--font-display); font-weight:800; font-style:normal;
  font-size:var(--fs-display-lg); line-height:1.12; color:var(--color-ink-900); letter-spacing:-0.02em;
}

/* Portrait product card with full-bleed photo + overlay label (reference-inspired) */
.product-card-v2{
  position:relative; border-radius:20px; overflow:hidden; aspect-ratio:3/4; box-shadow:var(--shadow-card);
}
.product-card-v2 img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s var(--ease-out); }
.product-card-v2:hover img{ transform:scale(1.08); }
.product-card-v2::after{
  content:''; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(0deg, rgba(6,20,13,0.82) 0%, rgba(6,20,13,0.15) 45%, rgba(6,20,13,0) 62%);
}
.card-label{
  position:absolute; left:14px; right:14px; bottom:14px; z-index:2; color:#fff;
  font-family:var(--font-display); font-weight:700; font-size:.98rem; line-height:1.28;
}

/* Flip cards — Bio Waste to Bio CNG */
.flip-card{ aspect-ratio:3/4; perspective:1400px; }
.flip-card-inner{
  position:relative; width:100%; height:100%; text-align:center;
  transition:transform .7s var(--ease-out); transform-style:preserve-3d;
}
/* Hover-capable devices (mouse/trackpad) flip on hover */
@media (hover:hover) and (pointer:fine){
  .flip-card:hover .flip-card-inner{ transform:rotateY(180deg); }
}
/* Touch devices flip via a JS-toggled class (tap to flip) */
.flip-card.is-flipped .flip-card-inner{ transform:rotateY(180deg); }

.flip-card-front, .flip-card-back{
  position:absolute; inset:0; border-radius:20px; overflow:hidden; backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}
.flip-card-front.product-card-v2{ box-shadow:var(--shadow-card); }
.flip-card-back{
  transform:rotateY(180deg);
  box-shadow:var(--shadow-card);
}
.flip-back-bg{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.flip-back-overlay{
  position:absolute; inset:0;
  background:linear-gradient(160deg, rgba(11,42,28,0.82) 0%, rgba(7,22,15,0.88) 100%);
}
.flip-back-content{
  position:relative; z-index:2; height:100%; display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center; padding:1.6rem 1.3rem;
}
.flip-back-heading{ display:flex; flex-direction:column; align-items:center; }
.flip-back-title{ font-family:var(--font-display); font-weight:700; color:#fff; font-size:1rem; margin:.9rem 0 .5rem; text-shadow:0 2px 8px rgba(0,0,0,0.5); }
.flip-back-text{ color:rgba(255,255,255,0.85); font-size:.83rem; margin:0; line-height:1.5; text-shadow:0 2px 6px rgba(0,0,0,0.45); }

/* Company Journey — horizontal timeline */
.timeline-track{
  display:grid; grid-template-columns:repeat(5, 1fr); gap:1.25rem; position:relative; margin-top:3rem;
}
.timeline-line{
  position:absolute; top:34px; left:calc(10% - 1px); right:calc(10% - 1px); height:2px;
  background:linear-gradient(90deg, rgba(255,255,255,0.06), rgba(79,199,131,0.5), rgba(255,255,255,0.06));
}
.timeline-stage{ position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; }
.timeline-stage-num{
  font-family:var(--font-button); font-weight:700; font-size:.75rem; letter-spacing:.1em;
  color:var(--color-green-400); margin-bottom:.6rem;
}
.timeline-dot{
  width:16px; height:16px; border-radius:50%; background:var(--color-green-400);
  box-shadow:0 0 0 6px rgba(79,199,131,0.18); margin-bottom:1.75rem; flex:none;
}
.timeline-card{
  background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:var(--radius-md);
  padding:1.3rem 1.1rem; height:100%; transition:transform .4s var(--ease-out), background .4s;
}
.timeline-card .card-icon{ margin-inline:auto; }
.timeline-stage:hover .timeline-card{ transform:translateY(-6px); background:rgba(255,255,255,0.09); }
.timeline-card-title{ font-family:var(--font-display); font-weight:700; color:#fff; font-size:.92rem; margin:.8rem 0 .5rem; }
.timeline-card-text{ color:rgba(255,255,255,0.62); font-size:.8rem; line-height:1.5; margin:0; }

/* Clientele logo placeholders */
.clientele-tile {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: .85rem;
    background: #fff;
    border: 1px solid var(--color-surface-line);
    border-radius: var(--radius-md);
    height: 100%;
    min-height: 130px;
    opacity: .7;
    transition: filter .4s var(--ease-out), opacity .4s, transform .4s var(--ease-out), box-shadow .4s;
    overflow: hidden;
}
.clientele-tile:hover{ filter:grayscale(0); opacity:1; transform:translateY(-5px); box-shadow:var(--shadow-card); }
.clientele-tile i{ font-size:2rem; color:var(--color-green-600); }
.clientele-tile span{ font-family:var(--font-button); font-weight:600; font-size:.85rem; color:var(--color-ink-500); }

/* Feed chip */
.feed-chip{ position:relative; border-radius:var(--radius-md); overflow:hidden; aspect-ratio:1/1; }
.feed-chip img{ width:100%; height:100%; object-fit:cover; transition:transform .6s var(--ease-out); }
.feed-chip::after{ content:''; position:absolute; inset:0; background:linear-gradient(0deg, rgba(7,22,15,0.85) 0%, rgba(7,22,15,0.05) 55%); }
.feed-chip span{ position:absolute; left:1rem; bottom:.9rem; right:1rem; z-index:2; color:#fff; font-family:var(--font-button); font-weight:600; font-size:.95rem; }
.feed-chip:hover img{ transform:scale(1.1); }

/* Stat */
.stat-item{ text-align:left; }
.stat-num{ font-family:var(--font-display); font-weight:800; font-size:clamp(2.2rem,3vw,3.2rem); line-height:1; display:flex; align-items:baseline; gap:.15rem; }
.stat-num .suffix{ font-size:1.4rem; }
.stat-label{ margin-top:.5rem; color:var(--color-ink-500); font-size:.92rem; max-width:16ch; }
.on-dark .stat-label{ color:rgba(255,255,255,0.68); }

/* Process tabs */
.process-tabs{ display:flex; flex-wrap:wrap; gap:.7rem; margin-bottom:var(--sp-5); }
.process-tab-btn{
  font-family:var(--font-button); font-weight:600; font-size:.88rem; padding:.75rem 1.4rem;
  border-radius:var(--radius-pill); border:1px solid var(--color-surface-line); background:#fff; color:var(--color-ink-700);
  transition:.35s var(--ease-out);
}
.process-tab-btn.active, .process-tab-btn:hover{ background:var(--color-ink-900); color:#fff; border-color:var(--color-ink-900); }
.process-panel{ display:none; }
.process-panel.active{ display:grid; }

/* Why-choose accordion */
.accordion-retap .acc-item{ border-bottom:1px solid var(--color-surface-line); }
.accordion-retap .acc-item:first-child{ border-top:1px solid var(--color-surface-line); }
.acc-trigger{
  width:100%; background:none; border:0; display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:1.4rem 0; text-align:left; font-family:var(--font-display); font-weight:700; font-size:1.05rem; color:var(--color-ink-900);
}
.acc-trigger .acc-num{ font-family:var(--font-button); font-weight:600; color:var(--color-ink-300); margin-right:.9rem; font-size:.9rem; }
.acc-trigger .acc-icon{ flex:none; width:34px; height:34px; border-radius:50%; border:1px solid var(--color-surface-line); display:flex; align-items:center; justify-content:center; transition:.35s var(--ease-out); }
.acc-item.open .acc-icon{ background:var(--color-green-600); border-color:var(--color-green-600); color:#fff; transform:rotate(45deg); }
.acc-panel{ max-height:0; overflow:hidden; transition:max-height .45s var(--ease-out); }
.acc-panel-inner{ padding-bottom:1.5rem; color:var(--color-ink-500); max-width:75ch; padding-left:2.7rem; }

/* "What We Deliver" — crossfading visual panel */
.deliver-visual{
  position:relative; aspect-ratio:4/3; border-radius:var(--radius-lg); overflow:hidden;
  box-shadow:var(--shadow-soft); background:var(--color-forest-950);
}
.deliver-img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transform:scale(1.04); transition:opacity 1s var(--ease-out), transform 1.2s var(--ease-out);
}
.deliver-img.active{ opacity:1; transform:scale(1); }
.deliver-visual-overlay{
  position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(180deg, rgba(6,20,13,0.05) 0%, rgba(6,20,13,0.35) 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,0.08);
}

/* Industries We Serve — hexagon icon badges (dark theme, reference-inspired) */
.hex-icon{
  width:92px; height:92px; margin:0 auto 1.15rem; background:var(--gradient-leaf);
  clip-path:polygon(25% 3%, 75% 3%, 100% 50%, 75% 97%, 25% 97%, 0% 50%);
  display:flex; align-items:center; justify-content:center; transition:transform .4s var(--ease-out);
}
.hex-icon i{ color:#fff; font-size:1.7rem; }
.reveal:hover .hex-icon{ transform:translateY(-4px) scale(1.04); }
.hex-label{ font-family:var(--font-display); font-weight:700; color:#fff; margin-bottom:.4rem; font-size:1.02rem; }
.hex-desc{ color:rgba(255,255,255,0.65); font-size:.85rem; max-width:22ch; margin-inline:auto; }
.industries-light .hex-label{ color:var(--color-ink-900); }
.industries-light .hex-desc{ color:var(--color-ink-500); }

/* Testimonials */
.testi-track{ display:flex; gap:1.5rem; transition:transform .6s var(--ease-out); }
.testi-card{ flex:0 0 100%; background:#fff; border-radius:var(--radius-lg); padding:var(--sp-4); border:1px solid var(--color-surface-line); }
@media(min-width:768px){ .testi-card{ flex:0 0 calc(50% - .75rem); } }
.testi-quote{ font-family:var(--font-display); font-size:1.2rem; font-weight:600; line-height:1.5; color:var(--color-ink-900); }
.testi-person{ display:flex; align-items:center; gap:.9rem; margin-top:var(--sp-3); }
.testi-avatar{ width:46px; height:46px; border-radius:50%; background:var(--gradient-leaf); display:flex; align-items:center; justify-content:center; color:#fff; font-family:var(--font-display); font-weight:700; }
.testi-name{ font-weight:700; font-size:.95rem; }
.testi-role{ font-size:.82rem; color:var(--color-ink-500); }
.testi-controls{ display:flex; gap:.7rem; margin-top:var(--sp-4); }
.testi-controls button{ width:44px; height:44px; border-radius:50%; border:1px solid var(--color-surface-line); background:#fff; display:flex; align-items:center; justify-content:center; transition:.3s; }
.testi-controls button:hover{ background:var(--color-ink-900); color:#fff; border-color:var(--color-ink-900); }

/* News card */
.news-card{ border-radius:var(--radius-md); overflow:hidden; border:1px solid var(--color-surface-line); background:#fff; height:100%; transition:.4s var(--ease-out); }
.news-card:hover{ transform:translateY(-6px); box-shadow:var(--shadow-card); }
.news-thumb{ aspect-ratio:16/10; position:relative; overflow:hidden; }
.news-thumb img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s var(--ease-out); }
.news-card:hover .news-thumb img{ transform:scale(1.08); }
.news-body{ padding:1rem; }
.news-date{ font-family:var(--font-button); font-size:.75rem; letter-spacing:.1em; text-transform:uppercase; color:var(--color-green-600); font-weight:700; }
.news-title{ font-family:var(--font-display); font-weight:700; margin-top:.5rem; font-size:1.05rem; }

/* Partner logos marquee */
.marquee-wrap{ overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image:linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.marquee-track{ display:flex; gap:4rem; width:max-content; animation:marquee 28s linear infinite; align-items:center; }
.marquee-track span{ font-family:var(--font-display); font-weight:800; font-size:1.3rem; color:var(--color-ink-300); letter-spacing:.02em; white-space:nowrap; }
@keyframes marquee{ from{ transform:translateX(0);} to{ transform:translateX(-50%);} }

/* Ticker strip under hero */
.ticker-strip{ background:var(--color-ink-900); color:#fff; padding-block:.85rem; overflow:hidden; }
.ticker-track{ display:flex; gap:3rem; width:max-content; animation:marquee 22s linear infinite; }
.ticker-track span{ font-family:var(--font-button); font-size:.82rem; letter-spacing:.08em; text-transform:uppercase; display:flex; align-items:center; gap:.7rem; white-space:nowrap; }
.ticker-track span i{ color:var(--color-amber-500); font-size:.6rem; }

/* Newsletter */
.newsletter-box{ background:var(--gradient-leaf); border-radius:var(--radius-lg); padding:var(--sp-6); position:relative; overflow:hidden; }
.newsletter-form{ display:flex; gap:.8rem; flex-wrap:wrap; max-width:520px; }
.newsletter-form input{ flex:1 1 240px; border:0; border-radius:var(--radius-pill); padding:1rem 1.4rem; font-family:var(--font-body); font-size:.95rem; }
.newsletter-form button{ border:0; }

/* Contact form */
.contact-form .form-control{
  background:#fff; border:1px solid var(--color-surface-line); border-radius:var(--radius-sm); padding:.95rem 1.1rem; font-size:.95rem;
}
.contact-form .form-control:focus{ border-color:var(--color-green-500); box-shadow:0 0 0 4px rgba(34,168,99,0.14); }
.contact-info-item{ display:flex; gap:1rem; align-items:flex-start; }
.contact-info-item .ci-icon{ width:48px; height:48px; border-radius:14px; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; flex:none; color:var(--color-green-400); }

/* Footer */
.site-footer{ background:var(--color-forest-950); color:rgba(255,255,255,0.75); }
.footer-brand-word{ font-family:var(--font-display); font-weight:800; font-size:1.3rem; color:#fff; }
.footer-col-title{ font-family:var(--font-button); color:#fff; font-weight:600; font-size:.85rem; letter-spacing:.08em; text-transform:uppercase; margin-bottom:1.2rem; }
.footer-links li{ margin-bottom:.7rem; }
.footer-links a{ font-size:.92rem; transition:color .3s, padding-left .3s; }
.footer-links a:hover{ color:#fff; padding-left:4px; }
.footer-bottom{ border-top:1px solid rgba(255,255,255,0.1); padding-block:1.5rem; font-size:.85rem; }
.social-row{ display:flex; gap:.7rem; }
.social-row a{ width:40px; height:40px; border-radius:50%; border:1px solid rgba(255,255,255,0.18); display:flex; align-items:center; justify-content:center; transition:.3s; }
.social-row a:hover{ background:var(--color-green-500); border-color:var(--color-green-500); }
.back-to-top{ position:fixed; right:1.6rem; bottom:6.4rem; width:48px; height:48px; border-radius:50%; background:var(--color-ink-900); color:#fff; display:flex; align-items:center; justify-content:center; z-index:900; opacity:0; pointer-events:none; transform:translateY(10px); transition:.4s var(--ease-out); }

/* Floating chat button — visible site-wide, bottom-right */
.floating-chat{
  position:fixed; right:1.6rem; bottom:1.6rem; width:56px; height:56px; border-radius:50%;
  background:var(--gradient-leaf); color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:1.5rem; z-index:900; box-shadow:0 16px 32px -12px rgba(23,138,82,0.55);
  transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out);
}
.floating-chat::before{
  content:''; position:absolute; inset:0; border-radius:50%; background:var(--color-green-500);
  opacity:.5; animation:chatPulse 2.4s ease-out infinite; z-index:-1;
}
.floating-chat:hover{ transform:scale(1.08) translateY(-3px); box-shadow:0 20px 40px -12px rgba(23,138,82,0.65); color:#fff; }
@keyframes chatPulse{ 0%{ transform:scale(1); opacity:.5; } 100%{ transform:scale(1.6); opacity:0; } }
@media (max-width:575px){ .floating-chat{ width:50px; height:50px; font-size:1.3rem; right:1.1rem; bottom:1.1rem; } .back-to-top{ right:1.1rem; bottom:5.5rem; } }
.back-to-top.show{ opacity:1; pointer-events:auto; transform:translateY(0); }

/* ============================= 6. HERO (video) ============================ */
.hero{
  position:relative; min-height:100svh; display:flex; align-items:center;
  color:#fff; padding-top:7rem; overflow:hidden; isolation:isolate;
}

/* --- Background video layer --- */
.hero-media{ position:absolute; inset:0; z-index:0; }
.hero-video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  object-position:center; filter:saturate(0.95) brightness(0.95);
}
.hero-overlay{
  position:absolute; inset:0;
  background: linear-gradient(120deg, rgba(6, 20, 13, 0.62) 0%, rgb(9 34 23 / 74%) 45%, rgba(13, 60, 60, 0.36) 100%), linear-gradient(0deg, rgb(5 15 10 / 61%) 0%, rgb(5 15 10 / 25%) 45%, rgb(5 15 10 / 38%) 100%);
}
.hero-overlay::after{ content:''; position:absolute; inset:0; background-image:var(--gradient-mesh); mix-blend-mode:screen; opacity:.8; }
/* subtle film-grain texture keeps the color-graded video from looking flat */
.hero-grain{
  position:absolute; inset:0; opacity:.05; mix-blend-mode:overlay; pointer-events:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* --- Floating glassmorphism orbs (ambient, decorative only) --- */
.hero-orb{ position:absolute; border-radius:50%; filter:blur(60px); z-index:1; pointer-events:none; }
.hero-orb-a{ width:420px; height:420px; top:-10%; right:-8%; background:radial-gradient(circle, rgba(79,199,131,0.35), transparent 70%); animation:orbFloat 14s ease-in-out infinite; }
.hero-orb-b{ width:320px; height:320px; bottom:-12%; left:-6%; background:radial-gradient(circle, rgba(29,132,184,0.3), transparent 70%); animation:orbFloat 18s ease-in-out infinite reverse; }
@keyframes orbFloat{ 0%,100%{ transform:translate(0,0) scale(1);} 50%{ transform:translate(-24px,26px) scale(1.08);} }

/* --- Floating glass info chips --- */
.glass-chip{
  position:absolute; z-index:2; display:flex; align-items:center; gap:.8rem;
  background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.18);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border-radius:var(--radius-md); padding:.9rem 1.2rem; box-shadow:0 20px 40px -20px rgba(0,0,0,0.5);
  animation:chipFloat 6s ease-in-out infinite;
}
.glass-chip i{ font-size:1.35rem; color:var(--color-green-400); }
.glass-chip .chip-num{ display:block; font-family:var(--font-display); font-weight:800; font-size:1.05rem; color:#fff; line-height:1.2; }
.glass-chip .chip-label{ display:block; font-family:var(--font-button); font-size:.72rem; color:rgba(255,255,255,0.65); white-space:nowrap; }
.glass-chip-a{ top:22%; right:7%; animation-delay:0s; }
.glass-chip-b{ top:52%; right:2.5%; animation-delay:1.4s; }
.glass-chip-b i{ color:var(--color-blue-300); }
@keyframes chipFloat{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(-14px);} }

/* --- Content --- */
.hero-content{ max-width:760px; }
.hero-kicker{ display:inline-flex; align-items:center; gap:.6rem; background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.18); backdrop-filter:blur(6px); padding:.5rem 1rem .5rem .6rem; border-radius:var(--radius-pill); font-family:var(--font-button); font-size:1rem; letter-spacing:.06em; text-transform:uppercase; margin-bottom:var(--sp-3); }
.hero-kicker .dot{ width:8px; height:8px; border-radius:50%; background:var(--color-green-400); box-shadow:0 0 0 4px rgba(79,199,131,0.25); }
.hero-title{ font-size:calc(var(--fs-display-xl) - 2px); color:#fff; }
.hero-title .accent{ background:linear-gradient(100deg, var(--color-green-400), var(--color-blue-300)); -webkit-background-clip:text; background-clip:text; color:transparent; }
.hero-sub{ margin-top:var(--sp-3); font-size:calc(var(--fs-body-lg) - 2px); color:rgba(255,255,255,0.8); max-width:52ch; }
.hero-actions{ display:flex; align-items:center; gap:1.3rem; margin-top:var(--sp-5); flex-wrap:wrap; }

/* --- Annual Rate of Calculator --- */
.hero-calculator{
  position:relative; margin-top:1.8rem; width:100%; max-width:520px;
  background:rgba(7,22,15,0.62); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border:0.8px solid rgba(255,255,255,0.55); border-radius:var(--radius-lg);
  box-shadow:0 30px 60px -20px rgba(0,0,0,0.55); overflow:hidden;
}
.hero-calc-header{ padding:1rem 1.2rem .75rem; border-bottom:1px solid rgba(255,255,255,0.12); text-align:center; }
.hero-calc-header h3{
  font-family:var(--font-display); font-weight:800; font-size:.95rem; letter-spacing:.03em;
  color:#fff; text-transform:uppercase; margin:0;
}
.hero-calc-body{ display:flex; flex-direction:column; gap:0; padding:.9rem .9rem 1.05rem; }
.hero-calc-tabs{ display:flex; flex-direction:column; gap:.45rem; margin-bottom:.85rem; }
.hero-calc-tab{
  display:flex; align-items:center; justify-content:space-between; gap:.5rem; width:100%; flex:1;
  background:var(--gradient-leaf); color:#fff; border:0; border-radius:9px; padding:.6rem .8rem;
  font-family:var(--font-button); font-weight:600; font-size:.76rem; text-align:left; line-height:1.25;
  transition:filter .3s, transform .3s var(--ease-out);
}
.hero-calc-tab span{ display:flex; align-items:center; gap:.45rem; }
.hero-calc-tab i:first-child{ font-size:.85rem; flex:none; }
.hero-calc-tab:hover{ filter:brightness(1.08); }
.hero-calc-tab.active{ background:#fff; color:var(--color-ink-900); box-shadow:0 10px 22px -10px rgba(0,0,0,0.4); }

.hero-calc-panel{ background:rgba(255,255,255,0.96); border-radius:11px; padding:1.05rem 1.1rem 1.2rem; }
.hero-calc-panel-inner h4{
  font-family:var(--font-display); font-weight:700; font-size:.85rem; color:var(--color-ink-900);
  margin:0 0 .7rem; padding-bottom:.55rem; border-bottom:1px solid var(--color-surface-line);
}
.hero-calc-panel-inner label{
  display:block; font-family:var(--font-button); font-weight:600; font-size:.72rem;
  color:var(--color-ink-700); margin-bottom:.6rem; line-height:1.35;
}
.hero-calc-input-row{ display:flex; align-items:center; gap:.6rem; margin-bottom:.5rem; }
.hero-calc-input-row span{ font-size:.76rem; color:var(--color-ink-500); white-space:nowrap; }
.hero-calc-input-row input[type="number"]{
  width:78px; border:1px solid var(--color-surface-line); border-radius:8px; padding:.35rem .5rem;
  font-family:var(--font-button); font-weight:700; font-size:.82rem; color:var(--color-ink-900); text-align:center;
}
.hero-calc-slider{
  -webkit-appearance:none; appearance:none; width:100%; height:5px; border-radius:100px;
  background:linear-gradient(90deg, var(--color-green-500) 0%, var(--color-green-500) 21%, var(--color-surface-line) 21%, var(--color-surface-line) 100%);
  margin:.65rem 0 .95rem; cursor:pointer;
}
.hero-calc-slider::-webkit-slider-thumb{
  -webkit-appearance:none; width:16px; height:16px; border-radius:50%; background:var(--color-green-600);
  border:3px solid #fff; box-shadow:0 2px 8px rgba(0,0,0,0.3); cursor:pointer;
}
.hero-calc-slider::-moz-range-thumb{
  width:16px; height:16px; border-radius:50%; background:var(--color-green-600);
  border:3px solid #fff; box-shadow:0 2px 8px rgba(0,0,0,0.3); cursor:pointer;
}
.hero-calc-result{
  width:100%; background:var(--gradient-leaf); color:#fff; border:0; border-radius:9px;
  padding:.7rem .8rem; font-family:var(--font-button); font-weight:700; font-size:.8rem;
  letter-spacing:.01em; text-transform:uppercase; line-height:1.3;
}
.hero-calc-note{ color:var(--color-ink-500); font-size:.72rem; margin:.55rem 0 0; text-align:center; line-height:1.4; }
.hero-calc-soon{ color:var(--color-ink-500); font-size:.88rem; margin:0; }

@media (min-width:992px){
  .hero-calculator{
    position:absolute; right:3%; bottom:4.5%; margin-top:0; width:560px; max-width:42vw; z-index:4;
  }
  .hero-calc-tabs{ width:42%; flex:none; }
  .hero-calc-body{ flex-direction:row; align-items:stretch; gap:.85rem; }
  .hero-calc-panel{ flex:1; min-width:0; }
}

.btn-glass{ background:rgba(255,255,255,0.1); border:1px solid rgba(255,255,255,0.35); color:#fff; backdrop-filter:blur(10px); }
.btn-glass:hover{ background:rgba(255,255,255,0.18); color:#fff; }

/* --- Entrance animations (play once on load; independent of scroll) --- */
.hero-anim{ opacity:0; transform:translateY(24px); animation:heroRise .9s var(--ease-out) forwards; }
.hero-anim-1{ animation-delay:.15s; }
.hero-anim-2{ animation-delay:.32s; }
.hero-anim-3{ animation-delay:.5s; }
.hero-anim-4{ animation-delay:.68s; }
.hero-anim-5{ animation-delay:1.1s; }
@keyframes heroRise{ to{ opacity:1; transform:translateY(0); } }

/* --- Scroll cue --- */
.scroll-cue{
  position:absolute; bottom:2.2rem; left:50%; transform:translateX(-50%); z-index:3;
  display:flex; flex-direction:column; align-items:center; gap:.6rem;
  background:none; border:0; color:rgba(255,255,255,0.75);
  font-family:var(--font-button); font-size:.7rem; letter-spacing:.16em; text-transform:uppercase;
}
.scroll-cue-ring{
  width:42px; height:42px; border-radius:50%; border:1px solid rgba(255,255,255,0.35);
  display:flex; align-items:center; justify-content:center; backdrop-filter:blur(8px);
  animation:scrollBounce 2.2s ease-in-out infinite;
}
.scroll-cue:hover .scroll-cue-ring{ background:rgba(255,255,255,0.12); }
@keyframes scrollBounce{ 0%,100%{ transform:translateY(0);} 50%{ transform:translateY(7px);} }


/* ============================= 7. CIRCULAR ECONOMY DIAGRAM =============== */
.loop-diagram{ position:relative; max-width:620px; margin-inline:auto; aspect-ratio:1/1; }
.loop-diagram svg{ width:100%; height:100%; overflow:visible; }
.loop-path{ stroke-dasharray:6 10; animation:dashMove 26s linear infinite; }
@keyframes dashMove{ to{ stroke-dashoffset:-500; } }
.loop-stage{ transition:transform .4s var(--ease-out); }
.loop-stage:hover{ transform:scale(1.06); }
.loop-stage-label{ font-family:var(--font-button); font-weight:600; }
.loop-center-badge{
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:112px; height:112px; border-radius:50%; background:#fff;
  display:flex; align-items:center; justify-content:center; overflow:hidden;
  box-shadow:0 18px 40px -14px rgba(0,0,0,0.4), 0 0 0 6px rgba(255,255,255,0.08);
}
.loop-center-badge img{ width:74%; height:74%; object-fit:contain; display:block; }

/* ============================= 9. RESPONSIVE ============================= */
@media (max-width:991px){
  .nav-links{position: fixed; top: 68px; right: 0; bottom: 0; left: 0; background: #fff; flex-direction: column; justify-content: flex-start; align-items: flex-start; padding: 2rem; gap: 1.6rem; transform: translateX(100%); transition: transform .4s var(--ease-out); box-shadow: -20px 0 40px rgba(0, 0, 0, 0.15); overflow-y: auto; overflow-x: hidden; z-index: 99999999; min-height: calc(100vh - 59px);}
  .nav-links.open{ transform:translateX(0); }
  .nav-links .nav-link{ color:var(--color-ink-900) !important; font-size:calc(1.1rem + 2px); }
  .nav-toggle{ display:block; }
  .nav-cta .btn-retap span.hide-mobile{ display:none; }

  /* #2: "Get a Quote" becomes a circular icon-only button whenever its
     text is hidden (tablet + mobile) */
  .nav-cta .btn-retap.btn-primary-grad{
    width:44px; height:44px; padding:0; border-radius:50%;
    display:inline-flex; align-items:center; justify-content:center; gap:0;
  }
  .glass-chip-b{ display:none; }
  .glass-chip-a{ top:auto; bottom:6.5rem; right:6%; }

  /* Mega-menu becomes an inline expanding list on mobile; visual panel is hidden */
  .nav-dropdown{ width:100%; }
  .mega-menu{
    position:static; transform:none; opacity:1; pointer-events:auto; box-shadow:none; border:0;
    display:block; grid-template-columns:none; width:100%;
    max-height:0; overflow:hidden; margin-top:0; transition:max-height .35s var(--ease-out);
  }
  /* Same specificity as the desktop open-state rule (.nav-dropdown.open .mega-menu)
     so this actually overrides its transform:translate(-50%,0) instead of losing
     to it — that mismatch was the bug causing submenu text to clip on the left
     ("Company Overview" rendering as "...verview"). */
  .nav-dropdown.open .mega-menu{ max-height:400px; margin-top:.8rem; transform:none; left:auto; }
  .mega-menu-links{ padding:0; width:100%; }
  .mega-menu-visual{ display:none; }
  .nav-sublink{
    font-size:.95rem; padding:.6rem .6rem .6rem 1.1rem; white-space:normal; width:100%;
  }

  .timeline-track{ grid-template-columns:repeat(3, 1fr); row-gap:2.5rem; }
  .timeline-line{ display:none; }
}

/* =========================================================================
   BIO WASTE TO BIO CNG — mobile + tablet card UI (≤991px)
   Replaces the desktop flip interaction with a simple static stacked card:
   Image → small gap → Icon → small gap → Heading → Description, all in
   normal document flow (no absolute overlay, no flip). Desktop (>991px)
   keeps the original flip-card interaction, untouched by this block.
   ========================================================================= */
@media (max-width:991px){
  .service-slide{ flex:0 0 calc(50% - .65rem); }

  /* One card per row instead of the 2-column tablet grid */
  #products .row.g-3 > [class*="col-"]{ width:100%; max-width:100%; flex:0 0 100%; }

  .flip-card{ aspect-ratio:auto; perspective:none; margin-bottom:1.5rem; }
  .flip-card:last-child{ margin-bottom:0; }
  .flip-card-inner{
    position:relative; transform:none !important; transition:none;
    transform-style:flat; display:block; height:auto;
  }

  /* 1. Image */
  .flip-card-front{ position:relative; border-radius:16px 16px 0 0; box-shadow:none; }
  .flip-card-front.product-card-v2{ aspect-ratio:16/10; }
  .flip-card-front.product-card-v2::after{ display:none; }
  .flip-card-front .card-label{ display:none; }

  /* Content block: sits directly below the image in normal flow (no overlay) */
  .flip-card-back{
    position:relative; transform:none; backface-visibility:visible; -webkit-backface-visibility:visible;
    background:#fff; border-radius:0 0 16px 16px; box-shadow:var(--shadow-card);
    padding:1.4rem 1.25rem 1.6rem; height:auto; text-align:center;
  }
  .flip-back-bg, .flip-back-overlay{ display:none; }
  .flip-back-content{
    position:static; height:auto; padding:0; display:flex; flex-direction:column;
    align-items:center; text-align:center;
  }

  /* 2–3. Small gap, then icon (centered) */
  .flip-back-heading{ display:flex; flex-direction:column; align-items:center; gap:0; margin-bottom:0; }
  .flip-back-heading .card-icon{
    width:52px; height:52px; margin:0 0 .9rem; background:var(--color-green-100) !important;
    display:flex; align-items:center; justify-content:center; border-radius:14px; flex:none;
  }
  .flip-back-heading .card-icon i{ color:var(--color-green-700); font-size:1.4rem; }

  /* 4–5. Small gap, then heading */
  .flip-back-title{ color:var(--color-ink-900); text-shadow:none; font-size:1.05rem; margin:0 0 .5rem; text-align:center; }

  /* 6. Description */
  .flip-back-text{ color:var(--color-ink-500); text-shadow:none; font-size:.9rem; text-align:center; margin:0; }
}

@media (max-width:767px){
  .hero{ padding-top:6.5rem; }
  .section{ padding-block:var(--sp-7); }
  .newsletter-box{ padding:var(--sp-5); }
  .glass-chip{ padding:.7rem .9rem; gap:.6rem; }
  .glass-chip .chip-num{ font-size:.92rem; }
  .glass-chip .chip-label{ font-size:.66rem; }
  .hero-orb-a{ width:280px; height:280px; }
  .hero-orb-b{ width:220px; height:220px; }

  .timeline-track{ grid-template-columns:1fr; gap:1.25rem; }
  .timeline-stage{ flex-direction:row; align-items:flex-start; text-align:left; gap:1rem; }
  .timeline-dot{ margin-bottom:0; margin-top:.3rem; }
  .timeline-stage-num{ display:none; }
  .timeline-card{ flex:1; }

  /* #3: Hide the Scroll button/icon on mobile only (desktop/tablet unchanged) */
  .scroll-cue{ display:none; }
}
@media (max-width:575px){
  .hero-actions{ flex-direction:column; align-items:flex-start; }
  .stat-item{ text-align:left; }
  .glass-chip-a{ display:none; }
  .service-slide{ flex:0 0 85%; }
  .services-nav{ width:38px; height:38px; font-size:.95rem; }
}


/* =========================================================================
   PAGE-SPECIFIC COMPONENTS
   ========================================================================= */

/* ==================== Page-specific: company-overview ==================== */
/* =========================================================================
   ABOUT US PAGE — page-specific styles
   Reuses homepage components (Who We Are, Why Choose ReTap accordion,
   Company Journey timeline, Clientele, Newsletter, Footer) as-is from
   assets/css/style.css. Page-specific additions: the inner-page banner
   and the breadcrumb bar directly beneath it.
   ========================================================================= */

/* --- Page banner (dark, photo-backed — matches Product Details' color
   system). Because this section is dark, the navbar's default
   transparent-over-dark treatment from style.css already applies
   correctly here with no extra override needed. --- */
.page-banner{
  position:relative; overflow:hidden;
  min-height:400px; display:flex; align-items:center; justify-content:center; text-align:center;
  background:
    linear-gradient(120deg, rgba(6,20,13,0.5) 0%, rgba(9,34,23,0.4) 45%, rgba(13,60,60,0.3) 100%),
    linear-gradient(0deg, rgba(5,15,10,0.48) 0%, rgba(5,15,10,0.08) 45%, rgba(5,15,10,0.2) 100%),
    url('https://images.pexels.com/photos/31403876/pexels-photo-31403876.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover no-repeat;
}

.page-banner::before{ content:''; position:absolute; inset:0; background-image:var(--gradient-mesh); mix-blend-mode:screen; pointer-events:none; }

.page-banner > .container-xl{ position:relative; z-index:2; }

/* --- Breadcrumb bar: light strip directly under the banner, guaranteeing
   contrast regardless of what the banner above looks like --- */
.breadcrumb-bar{ background:#fff; }

/* Breadcrumb (shared component pattern with Product Details page) */
.breadcrumb-trail{ display:flex; align-items:center; gap:.5rem; font-family:var(--font-button); font-size:.82rem; color:var(--color-ink-500); }

.breadcrumb-trail a{ color:var(--color-ink-700); transition:color .3s; }

.breadcrumb-trail a:hover{ color:var(--color-green-700); }

.breadcrumb-trail i{ font-size:.65rem; opacity:.6; }

.breadcrumb-trail span[aria-current]{ color:var(--color-green-700); font-weight:600; cursor:default; }

/* Spacing: exactly 60px between the breadcrumb bar and Who We Are */
.breadcrumb-bar{ padding-block:1rem; }

#who-we-are{ padding-top:60px; }

/* Highlight checklist (shared component pattern with Product Details page) */
.highlight-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.85rem; }

.highlight-list li{ display:flex; align-items:flex-start; gap:.7rem; color:var(--color-ink-700); font-size:.96rem; }

.highlight-list li i{ color:var(--color-green-600); margin-top:.2rem; flex:none; }

.highlight-list li strong{ color:var(--color-ink-900); }

/* Why Choose ReTap — premium image bento grid (right column) */
.why-us-grid{ display:grid; grid-template-columns:1fr 1fr; grid-auto-rows:160px; gap:1rem; }

.why-us-grid-item{ border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-card); position:relative; }

.why-us-grid-item.large{ grid-column:span 2; grid-row:span 2; }

.why-us-grid-item img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s var(--ease-out); }

.why-us-grid-item:hover img{ transform:scale(1.08); }


/* ==================== Page-specific: our-value ==================== */
/* =========================================================================
   OUR VALUE PAGE — page-specific styles
   Reuses homepage components (How We Work tabs, Clientele, Newsletter,
   Footer) as-is from assets/css/style.css. Page-specific additions: the
   inner-page banner, breadcrumb bar, Manufacturing & QC gallery/points,
   and the Awards & Certifications badges.
   ========================================================================= */

/* --- Page banner (dark, photo-backed). Because this section is dark, the
   navbar's default transparent-over-dark treatment already applies
   correctly here with no extra override needed. --- */
.page-banner{
  position:relative; overflow:hidden;
  min-height:400px; display:flex; align-items:center; justify-content:center; text-align:center;
}

/* This page's banner image — distinct from Company Overview's */
.page-banner-value{
  background:
    linear-gradient(120deg, rgba(6,20,13,0.5) 0%, rgba(9,34,23,0.4) 45%, rgba(13,60,60,0.3) 100%),
    linear-gradient(0deg, rgba(5,15,10,0.48) 0%, rgba(5,15,10,0.08) 45%, rgba(5,15,10,0.2) 100%),
    url('https://images.pexels.com/photos/6754756/pexels-photo-6754756.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover no-repeat;
}

/* --- Breadcrumb bar: light strip directly under the banner --- */
.breadcrumb-bar{ background:#fff; padding-block:1rem; }


/* ==================== Page-specific: insight-details ==================== */
.breadcrumb-trail{ display:flex; align-items:center; gap:.5rem; font-family:var(--font-button); font-size:.82rem; color:var(--color-ink-500); flex-wrap:wrap; }


/* ==================== Page-specific: our-value ==================== */
/* Spacing: 60px between the breadcrumb bar and How We Work, matching
   the Company Overview page's breadcrumb-to-content rhythm */
#how-we-work{ padding-top:60px; }

/* --- How We Work: centered copy + full-width light-green value card --- */
.process-panel-copy{ max-width:70ch; margin-bottom:2rem; }

.process-value-card{
  display:flex; align-items:center; gap:1.4rem; width:100%;
  background:var(--color-green-100); border-radius:var(--radius-md); padding:1.6rem 1.8rem;
  border:1px solid var(--color-surface-line);
}

.process-value-card .card-icon{ margin-bottom:0; flex:none; }

.process-value-card .card-title{ margin-bottom:.35rem; }

.process-value-card .card-text{ margin:0; }

/* --- Manufacturing & Quality Control --- */
.mfg-gallery{ display:grid; grid-template-columns:1fr 1fr; grid-auto-rows:150px; gap:1rem; }

.mfg-gallery-item{ border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-card); }

.mfg-gallery-item.large{ grid-column:span 2; grid-row:span 2; }

.mfg-gallery-item img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s var(--ease-out); }

.mfg-gallery-item:hover img{ transform:scale(1.08); }

.mfg-point{
  background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.12); border-radius:var(--radius-md);
  padding:1.6rem 1.4rem; height:100%; transition:transform .4s var(--ease-out), background .4s;
}

.mfg-point:hover{ transform:translateY(-6px); background:rgba(255,255,255,0.09); }

.mfg-point i{ font-size:1.6rem; color:var(--color-green-400); }

.mfg-point h4{ font-family:var(--font-display); font-weight:700; color:#fff; font-size:1rem; margin:.9rem 0 .5rem; }

.mfg-point p{ color:rgba(255,255,255,0.65); font-size:.85rem; margin:0; line-height:1.5; }

/* --- Awards & Certifications --- */
.award-badge{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.7rem;
  background:#fff; border:1px solid var(--color-surface-line); border-radius:var(--radius-md);
  padding:2rem 1rem; height:100%; min-height:140px;
  filter:grayscale(1); opacity:.75; transition:filter .4s var(--ease-out), opacity .4s, transform .4s var(--ease-out), box-shadow .4s;
}

.award-badge:hover{ filter:grayscale(0); opacity:1; transform:translateY(-5px); box-shadow:var(--shadow-card); }

.award-badge i{ font-size:2rem; color:var(--color-green-600); }

.award-badge span{ font-family:var(--font-button); font-weight:600; font-size:.85rem; color:var(--color-ink-500); }


/* ==================== Page-specific: product-details ==================== */
/* =========================================================================
   PRODUCT DETAILS PAGE — component styles
   Extends assets/css/style.css (design tokens, base components) with the
   additional pieces unique to Product Details pages (e.g. BioCNG).
   ========================================================================= */

/* Initial (non-scrolled) navbar on this page uses a solid dark background instead of
   the homepage's transparent-over-video treatment, since this page's hero is light.
   The scrolled state is untouched — it still uses the shared white background from style.css. */
.site-header:not(.is-scrolled){ background:var(--gradient-forest); box-shadow:0 6px 24px -14px rgba(0,0,0,0.4); }

/* --- Product hero section (light theme: white bg, dark text) --- */
.product-hero{
  background:#fff; color:var(--color-ink-900);
  padding-top:calc(var(--section-pad) + 3rem); position:relative; overflow:hidden;
}

/* Product spotlight image — full-bleed cover fill so the image genuinely
   occupies the entire height of the frame (not just its own aspect ratio) */
.product-shot{
  position:relative; border-radius:var(--radius-lg); overflow:hidden;
  min-height:520px; height:100%; box-shadow:var(--shadow-soft);
}

.product-shot-glow{
  position:absolute; inset:-10%; z-index:0;
  background:radial-gradient(circle, rgba(23,138,82,0.16) 0%, rgba(29,132,184,0.1) 55%, transparent 75%);
  filter:blur(14px);
}

.product-shot img{
  position:absolute; inset:0; z-index:1; width:100%; height:100%; object-fit:cover; object-position:center;
}

/* Key highlights list (light theme) */
.highlight-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.85rem; }

/* Who Can Use BioCNG card (light green accent card) */
.who-can-use-card{
  background:var(--color-green-100); border-radius:var(--radius-md); padding:1.4rem 1.6rem;
  border:1px solid var(--color-surface-line);
}

.who-can-use-card p{ font-size:.92rem; }

.who-can-use-card h3{ color:var(--color-ink-900); }

/* --- Product gallery: premium featured + grid layout --- */
.product-gallery-premium{ display:grid; grid-template-columns:1.4fr 1fr 1fr; grid-template-rows:repeat(2, 210px); gap:1.1rem; }

.product-gallery-item{ position:relative; border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-card); }

.product-gallery-item.featured{ grid-row:span 2; }

.product-gallery-item img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s var(--ease-out); }

.product-gallery-item:hover img{ transform:scale(1.08); }

/* --- Enquiry modal --- */
.enquiry-modal-content{ border-radius:var(--radius-lg); border:0; box-shadow:var(--shadow-soft); }

.enquiry-modal-content .modal-title{ font-family:var(--font-display); font-weight:800; font-size:1.3rem; color:var(--color-ink-900); }

.enquiry-modal-content .modal-body{ padding:1.5rem 2rem 2rem; }

.enquiry-modal-content .modal-header{ padding:1.75rem 2rem 0; }

/* --- Responsive --- */
@media (max-width:991px){
  .product-gallery-premium{ grid-template-columns:repeat(2, 1fr); grid-template-rows:repeat(3, 190px); }
  .product-gallery-item.featured{ grid-column:span 2; grid-row:span 1; }
}


/* ==================== Page-specific: contact ==================== */
/* =========================================================================
   CONTACT US PAGE — page-specific styles
   Reuses homepage components (Clientele, Newsletter, Footer, contact-form
   styling) as-is from assets/css/style.css. Page-specific additions: the
   inner-page banner, breadcrumb bar, company-info cards, and the map frame.
   ========================================================================= */

/* This page's banner image — distinct from Company Overview / Our Value */
.page-banner-contact{
  background:
    linear-gradient(120deg, rgba(6,20,13,0.5) 0%, rgba(9,34,23,0.4) 45%, rgba(13,60,60,0.3) 100%),
    linear-gradient(0deg, rgba(5,15,10,0.48) 0%, rgba(5,15,10,0.08) 45%, rgba(5,15,10,0.2) 100%),
    url('https://images.pexels.com/photos/20177021/pexels-photo-20177021.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover no-repeat;
}

/* --- Company info cards --- */
.contact-card{
  background:#fff; border:1px solid var(--color-surface-line); border-radius:var(--radius-md);
  padding:1.4rem 1.3rem; height:100%; transition:transform .35s var(--ease-out), box-shadow .35s var(--ease-out);
}

.contact-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-card); }

.contact-card .card-icon{ width:44px; height:44px; font-size:1.1rem; margin-bottom:.9rem; }

.contact-card .card-title{ margin-bottom:.3rem; }

.contact-card .card-text{ font-size:.85rem; }

/* --- Google Map --- */
.map-frame{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-card); aspect-ratio:21/8; }

.map-frame iframe{ display:block; width:100%; height:100%; }


/* ==================== Page-specific: gallery ==================== */
/* =========================================================================
   GALLERY PAGE — page-specific styles
   Reuses homepage components (Subscribe, Footer, floating buttons) as-is
   from assets/css/style.css. Page-specific additions: the inner-page
   banner, breadcrumb bar, and the masonry photo grid.
   ========================================================================= */

/* --- Page banner (dark, gradient-only — no photo). Because this section
   is dark, the navbar's default transparent-over-dark treatment already
   applies correctly here with no extra override needed. --- */
.page-banner{
  position:relative; overflow:hidden;
  min-height:400px; display:flex; align-items:center; justify-content:center; text-align:center;
}

.page-banner-gallery{
  background:
    linear-gradient(120deg, rgba(6,20,13,0.62) 0%, rgba(9,34,23,0.48) 45%, rgba(13,60,60,0.36) 100%),
    linear-gradient(0deg, rgba(5,15,10,0.58) 0%, rgba(5,15,10,0.1) 45%, rgba(5,15,10,0.24) 100%),
    url('data:image/jpeg;base64,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') center/cover no-repeat;
}

/* --- Gallery: bento grid built from complete, self-contained rows so
   every row — including the last — is always fully aligned (no ragged
   masonry trailing edge). Each row: [big] [stacked pair] [big]. --- */
.gallery-bento{ display:flex; flex-direction:column; gap:1.1rem; }

.gallery-row{
  display:grid; grid-template-columns:1.15fr 1fr 1.15fr; grid-template-rows:repeat(2, 220px);
  gap:1.1rem;
}

.gallery-row .gallery-item-wrap:nth-child(1){ grid-column:1; grid-row:1 / 3; }

.gallery-row .gallery-item-wrap:nth-child(2){ grid-column:2; grid-row:1; }

.video-gallery .gallery-row .gallery-item-wrap:nth-child(2){grid-column:2; grid-row:1 / 3; }
.video-gallery .gallery-row .gallery-item-wrap:nth-child(3){grid-column:3; grid-row:1 / 3; }

.gallery-row .gallery-item-wrap:nth-child(3){ grid-column:2; grid-row:2; }

.gallery-row .gallery-item-wrap:nth-child(4){ grid-column:3; grid-row:1 / 3; }

.gallery-item-wrap{ border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-card); }

.gallery-item{
  position:relative; display:block; width:100%; height:100%; border:0; padding:0; margin:0; cursor:pointer;
  background:none;
}

.gallery-item img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s var(--ease-out); }

.gallery-item:hover img{ transform:scale(1.08); }

.gallery-overlay{
  position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.7rem;
  background:rgba(6,20,13,0.55); opacity:0; transition:opacity .35s var(--ease-out);
}

.gallery-item:hover .gallery-overlay, .gallery-item:focus-visible .gallery-overlay{ opacity:1; }

.gallery-category{
  font-family:var(--font-button); font-weight:700; font-size:.8rem; letter-spacing:.04em; text-transform:uppercase;
  color:#fff; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.35);
  padding:.4rem 1rem; border-radius:100px;
}

.gallery-zoom-icon{
  width:48px; height:48px; border-radius:50%; background:rgba(255,255,255,0.15); backdrop-filter:blur(4px);
  border:1px solid rgba(255,255,255,0.4); color:#fff; display:flex; align-items:center; justify-content:center;
  font-size:1.2rem; transform:scale(.85); transition:transform .35s var(--ease-out);
}

.gallery-item:hover .gallery-zoom-icon{ transform:scale(1); }

/* --- Lightbox modal --- */
.gallery-lightbox .modal-content{ background:transparent; border:0; }

.gallery-lightbox .modal-body{ position:relative; padding:0; text-align:center; }

.gallery-lightbox-frame{
  width:100%; max-width:960px; aspect-ratio:3/2; margin-inline:auto; overflow:hidden;
  border-radius:var(--radius-md); box-shadow:0 30px 60px -20px rgba(0,0,0,0.6);
}

.gallery-lightbox .modal-body img{
  width:100%; height:100%; object-fit:cover; display:block;
}


.gallery-lightbox-close{
  position:absolute; top:-3.2rem; right:0; width:44px; height:44px; border-radius:50%;
  background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.35); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.15rem; z-index:5;
  transition:background .3s, transform .3s var(--ease-out);
}

.gallery-lightbox-close:hover{ background:rgba(255,255,255,0.25); transform:rotate(90deg); }

.gallery-lightbox-nav{
  position:absolute; top:50%; transform:translateY(-50%); width:48px; height:48px; border-radius:50%;
  background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.35); color:#fff;
  display:flex; align-items:center; justify-content:center; font-size:1.3rem; z-index:5;
  transition:background .3s, transform .3s var(--ease-out);
}

.gallery-lightbox-nav:hover{ background:rgba(255,255,255,0.25); }

.gallery-lightbox-nav.prev{ left:-1.2rem; }

.gallery-lightbox-nav.prev:hover{ transform:translateY(-50%) translateX(-3px); }

.gallery-lightbox-nav.next{ right:-1.2rem; }

.gallery-lightbox-nav.next:hover{ transform:translateY(-50%) translateX(3px); }

@media (max-width:991px){
  .gallery-row{ grid-template-columns:1fr 1fr; grid-template-rows:repeat(3, 200px); }
  .gallery-row .gallery-item-wrap:nth-child(1){ grid-column:1 / 3; grid-row:1; }
  .gallery-row .gallery-item-wrap:nth-child(2){ grid-column:1; grid-row:2; }
  .gallery-row .gallery-item-wrap:nth-child(3){ grid-column:2; grid-row:2; }
  .gallery-row .gallery-item-wrap:nth-child(4){ grid-column:1 / 3; grid-row:3; }
}


/* ==================== Page-specific: insights ==================== */
/* =========================================================================
   INSIGHTS PAGE — page-specific styles
   Reuses homepage components (news-card, Clientele, Newsletter, Footer)
   as-is from assets/css/style.css. Page-specific additions: the inner-page
   banner, breadcrumb bar, and the excerpt/date/Read-More row used on
   Rows 2 and 3 of the listing.
   ========================================================================= */

/* This page's banner image — distinct from other inner pages */
.page-banner-insights{
  background:
    linear-gradient(120deg, rgba(6,20,13,0.5) 0%, rgba(9,34,23,0.4) 45%, rgba(13,60,60,0.3) 100%),
    linear-gradient(0deg, rgba(5,15,10,0.48) 0%, rgba(5,15,10,0.08) 45%, rgba(5,15,10,0.2) 100%),
    url('https://images.pexels.com/photos/38305355/pexels-photo-38305355.jpeg?auto=compress&cs=tinysrgb&w=1600') center/cover no-repeat;
}

/* --- Insights listing: excerpt + date/Read-More row (Rows 2 & 3) --- */
.news-excerpt{ color:var(--color-ink-500); font-size:.88rem; line-height:1.55; margin-top:.6rem; }

.news-meta{
  display:flex; align-items:center; justify-content:space-between; gap:.75rem;
  margin-top:1rem; padding-top:1rem; border-top:1px solid var(--color-surface-line);
}

.news-meta .news-date{ margin-top:0; }

.news-readmore{
  display:inline-flex; align-items:center; gap:.35rem; font-family:var(--font-button);
  font-weight:600; font-size:.82rem; color:var(--color-green-700); white-space:nowrap;
}

.news-readmore i{ font-size:.75rem; transition:transform .3s var(--ease-out); }

.news-readmore:hover i{ transform:translateX(3px); }


/* ==================== Page-specific: insight-details ==================== */
/* =========================================================================
   INSIGHT DETAILS PAGE — component styles
   Reuses homepage components (Subscribe, Footer) as-is from
   assets/css/style.css. Page-specific additions: the gradient-only banner
   (no photo), breadcrumb bar, article typography, and the blog sidebar.
   ========================================================================= */

/* --- Navbar: copied exactly from the Product Details page pattern.
   Initial (non-scrolled) navbar uses a solid dark background instead of
   the homepage's transparent-over-video treatment, since this page opens
   on light content, not a dark hero. The scrolled state is untouched. --- */
.site-header:not(.is-scrolled){ background:var(--gradient-forest); box-shadow:0 6px 24px -14px rgba(0,0,0,0.4); }
.site-header.no-color{background: transparent;box-shadow: none;}

/* --- Breadcrumb bar sits directly beneath the fixed nav (no banner
   section above it), so it needs enough top clearance on its own —
   same clearance value used by the Product Details hero. --- */
.breadcrumb-bar-clear-nav{ padding-top:calc(var(--section-pad) + 3rem); }

/* --- Breadcrumb bar --- */
.breadcrumb-bar{ background:#fff; padding-block:1rem; }

/* --- Article: meta, title, featured image, lead, body --- */
.article-meta{
  display:flex; align-items:center; gap:.6rem; flex-wrap:wrap;
  font-family:var(--font-button); font-size:.82rem; color:var(--color-ink-500); margin-bottom:1rem;
}

.article-meta i{ color:var(--color-green-600); margin-right:.3rem; }

.article-meta .dot{ color:var(--color-surface-line); }

.article-tag-inline{
  background:var(--color-green-100); color:var(--color-green-700); font-weight:600;
  padding:.15rem .6rem; border-radius:100px; font-size:.75rem;
}

.article-title{
  font-family:var(--font-display); font-weight:800; color:var(--color-ink-900);
  font-size:var(--fs-display-md); line-height:1.2; margin-bottom:1.5rem;
}

.article-featured-image{ border-radius:var(--radius-lg); overflow:hidden; box-shadow:var(--shadow-card); margin-bottom:1.75rem; }

.article-featured-image img{ width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; display:block; }

.article-lead{ font-size:1.1rem; color:var(--color-ink-700); line-height:1.65; margin-bottom:1.75rem; }

.article-body h2{
  font-family:var(--font-display); font-weight:700; font-size:1.4rem; color:var(--color-ink-900);
  margin:2.25rem 0 1rem;
}

.article-body p{ color:var(--color-ink-700); font-size:1rem; line-height:1.75; margin-bottom:1.25rem; }

.article-body ul{ margin:0 0 1.5rem; padding-left:1.25rem; display:flex; flex-direction:column; gap:.6rem; }

.article-body ul li{ color:var(--color-ink-700); line-height:1.65; }

.article-body ul li strong{ color:var(--color-ink-900); }

.article-body blockquote{
  border-left:4px solid var(--color-green-500); background:var(--color-surface-alt);
  border-radius:0 var(--radius-md) var(--radius-md) 0; padding:1.3rem 1.6rem; margin:2rem 0;
  font-family:var(--font-display); font-style:italic; font-size:1.15rem; color:var(--color-ink-900); line-height:1.5;
}

/* --- Related reading --- */
.article-related{ margin-top:2.5rem; padding-top:2rem; border-top:1px solid var(--color-surface-line); }

.article-related h3{ font-family:var(--font-display); font-weight:700; font-size:1.05rem; margin-bottom:1rem; }

.article-related-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.7rem; }

.article-related-list a{
  display:inline-flex; align-items:center; gap:.5rem; font-family:var(--font-button);
  font-weight:600; font-size:.92rem; color:var(--color-green-700);
}

.article-related-list a::before{ content:'\2192'; }

/* --- Sidebar --- */
.blog-sidebar{ display:flex; flex-direction:column; gap:2rem; position:sticky; top:110px; }

.sidebar-block{ background:#fff; border:1px solid var(--color-surface-line); border-radius:var(--radius-md); padding:1.5rem; }

.sidebar-title{ font-family:var(--font-display); font-weight:700; font-size:1rem; margin-bottom:1.2rem; }

.sidebar-search{ display:flex; align-items:center; gap:.6rem; border:1px solid var(--color-surface-line); border-radius:100px; padding:.7rem 1.1rem; }

.sidebar-search i{ color:var(--color-ink-500); }

.sidebar-search input{ border:0; outline:0; flex:1; font-family:var(--font-body); font-size:.9rem; background:transparent; }

.sidebar-post{ display:flex; gap:.9rem; padding-block:1rem; border-bottom:1px solid var(--color-surface-line); }

.sidebar-post:first-of-type{ padding-top:0; }

.sidebar-post:last-of-type{ border-bottom:0; padding-bottom:0; }

.sidebar-post img{ width:64px; height:64px; border-radius:var(--radius-sm); object-fit:cover; flex:none; }

.sidebar-post h4{ font-family:var(--font-display); font-weight:700; font-size:.85rem; color:var(--color-ink-900); margin:0 0 .3rem; line-height:1.35; }

.sidebar-post p{ font-size:.78rem; color:var(--color-ink-500); margin:0 0 .35rem; line-height:1.4; }

.sidebar-post-meta{ font-size:.7rem; color:var(--color-ink-300); font-family:var(--font-button); }

.sidebar-tags{ display:flex; flex-wrap:wrap; gap:.55rem; }

.tag-pill{
  background:var(--color-surface-alt); color:var(--color-ink-700); font-family:var(--font-button);
  font-size:.78rem; font-weight:600; padding:.4rem .9rem; border-radius:100px; border:1px solid var(--color-surface-line);
  transition:background .3s, color .3s;
}

.tag-pill:hover{ background:var(--color-green-600); color:#fff; border-color:var(--color-green-600); cursor:default; }

























/* =========================================================
   VIDEO GALLERY
========================================================= */

.video-gallery-item {
  position: relative;
  overflow: hidden;
  cursor: pointer;
  padding: 0;
  border: 0;
  width: 100%;
  height: 100%;
  background: transparent;
}


/* Image / Thumbnail */

.video-gallery-item img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform 0.6s ease;
}


/* Overlay */

.video-gallery-item .gallery-overlay {
  position: absolute;
  inset: 0;

  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(0, 0, 0, 0.15);

  transition:
    background 0.35s ease,
    opacity 0.35s ease;
}


/* Hover image */

.video-gallery-item:hover img {
  transform: scale(1.06);
}


/* Hover overlay */

.video-gallery-item:hover .gallery-overlay {
  background: rgba(0, 0, 0, 0.35);
}


/* =========================================================
   PLAY BUTTON
========================================================= */

.gallery-play-icon {
  width: 70px;
  height: 70px;

  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(255, 255, 255, 0.95);

  color: #144749;

  font-size: 34px;

  padding-left: 4px;

  box-shadow: 0 10px 35px rgba(0, 0, 0, 0.2);

  transition:
    transform 0.35s ease,
    background 0.35s ease,
    color 0.35s ease;
}


.video-gallery-item:hover .gallery-play-icon {
  transform: scale(1.12);
  background: #144749;
  color: #fff;
}


/* =========================================================
   PLAY BUTTON ANIMATION
========================================================= */

.gallery-play-icon::after {
  content: "";

  position: absolute;

  width: 70px;
  height: 70px;

  border-radius: 50%;

  border: 1px solid rgba(255, 255, 255, 0.8);

  animation: videoPlayPulse 2s infinite;
}


@keyframes videoPlayPulse {

  0% {
    transform: scale(1);
    opacity: 0.7;
  }

  70% {
    transform: scale(1.35);
    opacity: 0;
  }

  100% {
    transform: scale(1.35);
    opacity: 0;
  }

}


/* =========================================================
   VIDEO LIGHTBOX
========================================================= */

.video-gallery-lightbox .modal-dialog {
  max-width: 1200px;
}


.video-gallery-lightbox .modal-content {
  position: relative;

  border: 0;
  border-radius: 14px;

  overflow: hidden;

  background: #000;
}


.video-gallery-lightbox .modal-body {
  padding: 0;
}


/* Video frame */

.video-lightbox-frame {
  position: relative;

  width: 100%;

  background: #000;

  display: flex;
  align-items: center;
  justify-content: center;
}


/* Video */

#videoGalleryPlayer {
  width: 100%;
  height: auto;

  max-height: 80vh;

  display: block;

  background: #000;
}


/* =========================================================
   CLOSE BUTTON
========================================================= */

.video-lightbox-close {
  position: absolute;

  top: 15px;
  right: 15px;

  z-index: 20;

  width: 42px;
  height: 42px;

  border: 0;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(0, 0, 0, 0.65);

  color: #fff;

  font-size: 17px;

  cursor: pointer;

  transition:
    background 0.3s ease,
    transform 0.3s ease;
}


.video-lightbox-close:hover {
  background: #144749;
  transform: rotate(90deg);
}


/* =========================================================
   PREVIOUS / NEXT BUTTONS
========================================================= */

.video-lightbox-nav {
  position: absolute;

  top: 50%;

  transform: translateY(-50%);

  z-index: 20;

  width: 48px;
  height: 48px;

  border: 0;
  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  background: rgba(0, 0, 0, 0.65);

  color: #fff;

  font-size: 20px;

  cursor: pointer;

  transition:
    background 0.3s ease,
    transform 0.3s ease;
}


.video-lightbox-nav.prev {
  left: 20px;
}


.video-lightbox-nav.next {
  right: 20px;
}


.video-lightbox-nav:hover {
  background: #144749;
}


.video-lightbox-nav.prev:hover {
  transform: translateY(-50%) translateX(-3px);
}


.video-lightbox-nav.next:hover {
  transform: translateY(-50%) translateX(3px);
}


/* =========================================================
   RESPONSIVE
========================================================= */

@media (max-width: 767px) {

  .gallery-play-icon {
    width: 55px;
    height: 55px;

    font-size: 27px;
  }


  .gallery-play-icon::after {
    width: 55px;
    height: 55px;
  }


  .video-lightbox-nav {
    width: 40px;
    height: 40px;

    font-size: 16px;
  }


  .video-lightbox-nav.prev {
    left: 10px;
  }


  .video-lightbox-nav.next {
    right: 10px;
  }


  .video-lightbox-close {
    top: 10px;
    right: 10px;

    width: 38px;
    height: 38px;
  }


  #videoGalleryPlayer {
    max-height: 70vh;
  }

}

@media (max-width: 991px) {
  .video-gallery .gallery-row {
    grid-template-columns: 1fr;
  }

  .video-gallery .gallery-row .gallery-item-wrap {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}















