*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; overflow-x: clip;
  max-width: 100%; }
body { font-family: 'Plus Jakarta Sans', sans-serif; overflow-x: clip; max-width: 100%; background: #fff; }
img { display: block; max-width: 100%; }
a { text-decoration: none; color: inherit; }



/* =========================================================
   GREEN COLOUR SYSTEM  (replaces purple/yellow from original)
   --c-primary     = original  #6505bf  → #1b5e20
   --c-accent      = original  #23043e  → #0d2e1a
   --c-yellow      = original  #ffde00  → #66bb6a
   --c-pale-bg     = original  #f7f3fe  → #f1f8f2
   --c-dark-bg     = original  #23043e  → #071a0f
========================================================= */
:root {
  --cp:   #1b5e20;   /* primary deep green     */
  --cpm:  #2e7d32;   /* mid green              */
  --ca:   #43a047;   /* accent bright green    */
  --cy:   #66bb6a;   /* "yellow" replacement   */
  --cpale:#f1f8f2;   /* pale section bg        */
  --cdark:#071a0f;   /* dark footer            */
  --coff: #f6fdf7;   /* off-white              */
}

/* =========================================================
   WEBFLOW CLASS REPLICATION - exact from source
========================================================= */

/* body */
body.body { background: #fff; }

/*  FULLSCREEN NAV OVERLAY  */
.navbar.w-nav {
  position:fixed; top:0; left:0; width:100%; height:100%;
  z-index:9998; opacity:0;
  visibility:hidden; pointer-events:none;
  transition:opacity .45s ease, visibility .45s ease;
  display:flex;
}
.navbar.w-nav.open { opacity:1; visibility:visible; pointer-events:all; }
.nav-bg-overlay {
  position:absolute; top:0; left:0; width:100%; height:100%;
  background:rgba(7,26,15,.97);
}
.w-nav-overlay { position:relative; z-index:1; width:100%; display:flex; }
.nav-inner-wrapper {
  display:flex; width:100%; min-height:100vh;
}
.nav-links-column {
  display:flex; flex-direction:column; justify-content:center;
  gap:12px; padding:80px 80px 80px 80px; flex:1;
}
.nav-links-column a {
  font-family:'Lilita One',cursive;
  font-size:clamp(32px,4.5vw,60px);
  color:#fff; line-height:1.15;
  transition:color .2s, transform .2s;
  display:inline-block;
}
.nav-links-column a:hover { color:var(--cy); transform:translateX(8px); }
.nav-links-column a.active { color:var(--cy); }
.nav-image-panel {
  flex:0 0 420px; position:relative; overflow:hidden;
}
.nav-image-panel img {
  position:absolute; top:0; left:0;
  width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity .4s;
}
.nav-image-panel img.visible { opacity:1; }
.nav-close-btn {
  position:absolute; top:32px; right:40px; z-index:10;
}
.nav-close-btn button {
  width:52px; height:52px; border-radius:50%;
  border:2px solid rgba(255,255,255,.25);
  background:transparent; color:#fff; font-size:22px;
  cursor:pointer; transition:border-color .2s, background .2s;
  display:flex; align-items:center; justify-content:center;
}
.nav-close-btn button:hover { background:var(--ca); border-color:var(--ca); }

/*  3D CASHEW MENU BUTTON  */
/* ── CASHEW MENU BUTTON ──────────────────────────────────── */
.cashew-menu-btn {
  position: fixed;
  top: 24px; right: 28px;
  z-index: 9999;
  cursor: pointer;
  user-select: none;
}
.cashew-pill {
  display: flex;
  align-items: center;
  gap: 12px;
  background: rgba(7,26,15,0.75);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 50px;
  padding: 8px 20px 8px 8px;
  transition: background .25s, box-shadow .25s;
  box-shadow: 0 4px 24px rgba(0,0,0,0.4);
}
.cashew-menu-btn:hover .cashew-pill,
.cashew-menu-btn.is-open .cashew-pill {
  background: rgba(27,94,32,0.9);
  box-shadow: 0 6px 32px rgba(27,94,32,0.55);
}
.cashew-img-wrap {
  width: 34px; height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,0.12);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
  transition: transform .5s ease;
  overflow: hidden;
  position: relative;
}
.cashew-menu-btn:hover .cashew-img-wrap { transform: rotate(25deg) scale(1.1); }
.cashew-img-wrap svg,
.cashew-img-wrap img {
  width: 100%; height: 100%;
  object-fit: cover; border-radius: 50%;
  pointer-events: none;
}
#cashewCustomIcon { display: none; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.cashew-menu-label {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px; font-weight: 800;
  letter-spacing: .2em;
  color: rgba(255,255,255,0.85);
  text-transform: uppercase;
  white-space: nowrap;
}
.cashew-upload-btn { display: none; }
@media (max-width: 860px) {
  .cashew-menu-btn { top: 16px; right: 16px; }
  .cashew-pill { padding: 6px 16px 6px 6px; gap: 9px; }
  .cashew-img-wrap { width: 28px; height: 28px; }
  .cashew-menu-label { font-size: 10px; }
}
/* Hide menu button when secondary navbar is visible (desktop only) */
.cashew-menu-btn.nav-hidden {
  opacity: 0;
  pointer-events: none;
  transform: translateY(-8px);
}
.cashew-menu-btn {
  transition: opacity .3s ease, transform .3s ease;
}
/* On mobile: always show cashew btn, never show secondary navbar */
@media (max-width: 860px) {
  .cashew-menu-btn.nav-hidden {
    opacity: 1 !important;
    pointer-events: all !important;
    transform: none !important;
  }
  .navbar-4.w-nav {
    display: none !important;
  }
}

/* ── SCROLLED SECONDARY NAVBAR ───────────────────────────── */
.navbar-4.w-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  height: 72px;
  z-index: 9990;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 48px;
  background: var(--cp);
  transform: translateY(-100%);
  transition: transform .4s cubic-bezier(.4,0,.2,1);
  box-shadow: 0 2px 24px rgba(13,46,26,.35);
}
.navbar-4.w-nav.scrolled { transform: translateY(0); }

.navbar-4 .w-nav-brand {
  display: flex;
  align-items: center;
  gap: 14px;
}
.logo-updated { height: 36px; width: auto; }
.logo-image   { height: 36px; width: auto; display: none; }

.navbar-4 .nav-menu-6.w-nav-menu {
  position: static !important;
  opacity: 1 !important;
  pointer-events: all !important;
  display: flex !important;
  flex-direction: row !important;
  background: transparent !important;
  height: auto !important;
  width: auto !important;
  visibility: visible !important;
}
.navbar-4 .nav-menu-6 .nav-bar-background {
  background: transparent !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 32px;
  padding: 0 !important;
  width: auto !important;
  height: auto !important;
}
.navbar-4 .nav-menu-6 .div-block-279 {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  width: auto !important;
  padding: 0 !important;
  gap: 32px !important;
  justify-content: flex-start !important;
}
.navbar-4 .nav-menu-6 .div-block-281 {
  border: none !important;
  padding: 0 !important;
  border-bottom: none !important;
  border-top: none !important;
}
.navbar-4 .nav-menu-6 .div-block-281:hover { padding-left: 0 !important; }
.navbar-4 .nav-menu-6 .div-block-281 a {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.8) !important;
  padding: 0 !important;
  transition: color .2s !important;
}
.navbar-4 .nav-menu-6 .div-block-281 a:hover { color: var(--cy) !important; }
.navbar-4 .div-block-280 { display: none !important; }
.menu-button-2.w-nav-button { display: none; }

/* ── PROGRESS BAR ───────────────────────────────────────── */
.progress-bar {
  position: fixed;
  bottom: 0; left: 0;
  height: 3px;
  width: 0%;
  background: var(--cy);
  z-index: 99999;
  transition: width .1s linear;
}

/* ── HERO 8387rcPNz8SRX6pYXgdxCZg3VMLFwtdJB3Z9LeX8Ge2n──────── */
.hero-image-section {
  position: relative;
  height: 100vh;
  margin-bottom: 0 !important;
  min-height: 600px;
  overflow: hidden;
}
.hero-image-full-screen-container {
  width: 100%; height: 100%;
  position: relative;
}
/* ── HERO VIDEO SLIDESHOW ──────────────────────────────── */
.hero-video-slideshow {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: 0;
}
.hero-slide {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  opacity: 0;
  transition: opacity 1.2s ease;
  z-index: 0;
}
.hero-slide.active {
  opacity: 1;
  z-index: 1;
}
.hero-video-el {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover;
}
/* CSS bg fallback shown when no videos loaded */
.hero-bg-fallback {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background:
    radial-gradient(ellipse 100% 80% at 25% 60%, rgba(46,125,50,.5) 0%, transparent 65%),
    radial-gradient(ellipse 60% 90% at 80% 25%, rgba(27,94,32,.35) 0%, transparent 60%),
    linear-gradient(155deg, #071a0f 0%, #0d2e1a 35%, #1b5e20 65%, #0d2e1a 100%);
  z-index: 0;
}
.hero-bg-overlay {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: linear-gradient(to bottom,rgba(7,26,15,.55)0%,rgba(7,26,15,.15)45%,rgba(7,26,15,.7)100%);
  z-index: 2;
}
/* slide dots */
.hero-slide-dots {
  position: absolute;
  bottom: 32px; left: 50%;
  transform: translateX(-50%);
  display: flex; gap: 10px;
  z-index: 10;
}
.hero-dot {
  width: 28px; height: 4px;
  border-radius: 2px;
  border: none;
  background: rgba(122, 236, 156, 0.45);
  cursor: pointer;
  transition: background .3s, width .3s;
}
.hero-dot.active {
  background: #66bb6a;
  width: 48px;
}
/* Hero subheading + CTA buttons */
.hero-subheading {
  font-size: clamp(14px, 1.5vw, 18px);
  color: rgba(255,255,255,.75);
  line-height: 1.6;
  max-width: 480px;
  margin-top: 16px;
  margin-bottom: 32px;
  font-weight: 400;
}
.hero-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 8px;
}
.hero-cta-btn {
  display: inline-block;
  padding: 16px 32px;
  border-radius: 4px;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .2s, transform .2s, border-color .2s;
  white-space: nowrap;
}
.hero-cta-primary {
  background: var(--cy);
  color: var(--cdark);
}
.hero-cta-primary:hover { background: #fff; transform: translateY(-2px); }
.hero-cta-secondary {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255,255,255,.5);
}
.hero-cta-secondary:hover { border-color: var(--cy); color: var(--cy); transform: translateY(-2px); }
@media(max-width:860px){
  .hero-cta-row { gap: 10px; }
  .hero-cta-btn { padding: 14px 22px; font-size: 11px; }
  .hero-subheading { display: none; }
}

/* hero text content - sits above bg */
.hero-content-wrap {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  z-index: 3;
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  padding: 0 80px 100px;
}
.left-hero-content {}
.hero-header-text {
  font-family: 'Lilita One', cursive;
  font-size: clamp(52px,9vw,118px);
  color: #fff;
  line-height: .92;
  letter-spacing: -.02em;
}
.right-hero-content {}
.rahami-hero-logo { width: 200px; height: auto; }

/* angled bottom-right cut - DISABLED: hero is full rectangular */
.angle-2.absolute {
  position: absolute;
  bottom: -1px; left: 0; right: 0;
  height: 120px;
  z-index: 4;
  background: var(--coff);
  clip-path: polygon(0 100%, 100% 100%, 100% 0);
}
/* ── SECTION WRAPPERS ────────────────────────────────────── */
.section-background-color { background: var(--coff); position: relative; }
.section-background-color.transparency { background: #ffffff; }
.section-background-color.primary { background: var(--cp); }

.all-padding-100px-wrapper-secondary {
  max-width: 1300px;
  margin: 0 auto;
  padding: 100px 80px;
}
.all-padding-100px-wrapper-secondary.bg-color { position: relative; z-index: 1; }

/* two-column grid */
.w-layout-grid.two-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 80px;
  align-items: center;
}
.grid-left-content {}
.grid-right-content._100--width { width: 100%; }
.grid-container {}

.section-heading-h1 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(36px,5vw,64px);
  font-weight: 900;
  color: var(--cp);
  line-height: 1.0;
  letter-spacing: -.025em;
  margin-bottom: 28px;
}
.section-heading-h1.color-purple { color: var(--cp); }
.text-size-large { font-size: 17px; line-height: 1.85; }
.text-color-grey { color: #4a5e4b; }

.image-holder { border-radius: 12px; overflow: hidden; box-shadow: 0 20px 60px rgba(13,46,26,.14); }
.our-storry-image { width: 100%; height: auto; display: block; }

/* angled dividers - used by founders→certifications transition */
.angle {
  position: absolute;
  bottom: -1px; left: 0; right: 0;
  height: 60px;
  background: var(--cpale);
  clip-path: polygon(0 100%,100% 100%,100% 0);
}
.div-block-313 {
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 60px;
  background: var(--cpale);
  clip-path: polygon(0 100%,100% 100%,0 0);
}

/* ── COMMANDS SECTION SIDE STRIPS ───────────────────────── */
.commands-section::before,
.commands-section::after {
  content: '';
  position: absolute;
  top: 0; bottom: 0;
  width: 18px;
  z-index: 0;
  pointer-events: none;
}
.commands-section::before {
  left: 0;
  background: repeating-linear-gradient(
    180deg,
    #1b5e20 0px, #1b5e20 32px,
    #2e7d32 32px, #2e7d32 64px,
    #43a047 64px, #43a047 96px,
    #66bb6a 96px, #66bb6a 128px,
    #a5d6a7 128px, #a5d6a7 160px,
    #e8f5e9 160px, #e8f5e9 192px
  );
  opacity: 0.55;
}
.commands-section::after {
  right: 0;
  background: repeating-linear-gradient(
    180deg,
    #e8f5e9 0px, #e8f5e9 32px,
    #a5d6a7 32px, #a5d6a7 64px,
    #66bb6a 64px, #66bb6a 96px,
    #43a047 96px, #43a047 128px,
    #2e7d32 128px, #2e7d32 160px,
    #1b5e20 160px, #1b5e20 192px
  );
  opacity: 0.55;
}

/* ── OUR STORY section ───────────────────────────────────── */
#rahami-brand {
  background: #ffffff !important;
  position: relative;
  z-index: 2;
  /* angled white bottom that cuts diagonally into the pale Commands bg */
  padding-bottom: 80px;
}
#rahami-brand::after {
  content: '';
  position: absolute;
  bottom: 0; left: 0; right: 0;
  height: 61px;
  background: #ffffff;
  clip-path: polygon(0 0, 100% 0, 100% 30%, 0 100%);
  z-index: 1;
}

/* ── COMMANDS / TIMELINE ─────────────────────────────────── */
.commands-section {
  background: var(--cpale);
  position: relative;
  z-index: 1;
  padding-top: 0;
  padding-bottom: 80px;
  /* pull up under Our Story's angled bottom */
  margin-top: -70px;
}
.commands-section .fixed-width-wrapper {
  padding-top: 90px; /* compensate for the overlap so heading isn't hidden */
}
/* ALL border images hidden - decorative Webflow-only overlays */
.commands-section-border,
.commands-section-border-2,
.commands-section-border-2-mobile,
.commands-section-border-2-tab,
.commands-section-border-mobile,
.commands-section-border-tab      { display:none !important; }

.fixed-width-wrapper {
  max-width: 1300px;
  margin: 0 auto;
  padding: 80px 80px 40px;
}
.fixed-width-wrapper.flex-down { display:flex; flex-direction:column; }
.fixed-width-wrapper.hide      { display:none; }

.commands-pointers-section {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 80px;
}
.div-block-22 {}
.container-9 {}

/* timeline */
.timeline { position: relative; }
.white-overlay {
  position: absolute; top:0; left:0; right:0;
  height: 80px;
  background: linear-gradient(to bottom, var(--cpale), transparent);
  z-index: 2; pointer-events: none;
}
.div-block-21 {}
.timeline-progress {
  position: absolute;
  left: 50%; top: 0; bottom: 0;
  width: 2px;
  background: rgba(27,94,32,.12);
  transform: translateX(-50%);
}
.timeline-bar { width:100%; height:0; background:linear-gradient(to bottom,var(--ca),var(--cy)); transition:height .2s; }

.timeline-content {
  display: grid;
  grid-template-columns: 1fr 80px 1fr;
  column-gap: 48px;
  align-items: center;
  padding: 64px 0;
  border-bottom: 1px solid rgba(27,94,32,.08);
  position: relative;
  z-index: 1;
  transition: opacity .7s ease, transform .7s ease;
}
.timeline-content.tl-visible { opacity:1; transform:translateY(0); }
.timeline-content.last { border-bottom: none; }

.timeline-left-content {}
.timeline-right-content {}
.timeline-centre { display:flex; align-items:center; justify-content:center; }
.timeline-circle {
  width: 60px; height: 60px;
  border-radius: 50%;
  background: var(--cp);
  border: 4px solid var(--cpale);
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 0 0 8px rgba(27,94,32,.12);
  overflow: hidden; flex-shrink: 0;
}
.timeline-circle img { width:30px; height:30px; object-fit:contain; filter:brightness(0) invert(1); }

.heading-61 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(22px,2.5vw,34px);
  font-weight: 800;
  color: var(--cp);
  letter-spacing: -.01em;
  line-height: 1.15;
  margin-bottom: 12px;
}
.timeline-date {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px; font-weight: 700;
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--ca); margin-bottom: 10px;
}
strong.timeline-date { display:none; } /* hides the strong wrapper */
.paragraph-16px { font-size:16px; line-height:1.8; color:#4a5e4b; }
.paragraph-16px.pharagraph-white { color:rgba(255,255,255,.72); }

.image-71 { width:100%; border-radius:12px; box-shadow:0 12px 40px rgba(13,46,26,.12); display:block; }
.image-40,.image-41,.image-42,.image-43,.image-44 { width:100%; border-radius:12px; display:block; box-shadow:0 8px 24px rgba(13,46,26,.1); }
.div-block-308 {}
.timeline-image-wrapper { display:none; }
.margin-bottom-medium { margin-bottom:24px; }

/* quote */
.quote-div { text-align:center; padding:48px 24px; }
.heading-quote {
  font-family: 'Lilita One', cursive;
  font-size: clamp(52px,8vw,108px);
  color: var(--cp);
  letter-spacing: -.025em;
  line-height: .95;
}

/* ── PRODUCTS 8387rcPNz8SRX6pYXgdxCZg3VMLFwtdJB3Z9LeX8Ge2n─── */
.product-section {
  background: var(--coff);
  position: relative;
  z-index: 1;
}
/* Sections inside the sticky-scroll-wrapper slide up over the team photo */
.cover-section {
  position: relative;
  z-index: 2;
  box-shadow: 0 -12px 48px rgba(0,0,0,0.18);
}
.sticky-scroll-wrapper {
  position: relative;
  z-index: 3; /* above the sticky team photo */
}
/* The #rahami-products div IS the all-padding wrapper */
#rahami-products {
  max-width: 1300px;
  margin: 0 auto;
  padding: 100px 80px;
}
.our-products-container { display:flex; flex-direction:column; gap:48px; margin-top:32px; }

.product-tabs-container {}
.product-tabs_column {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 60px;
  align-items: start;
}
.auto-tabs_column-copy {
  display: grid;
  grid-template-columns: 360px 1fr;
  gap: 60px;
  align-items: start;
}

.sub-heading-h2 {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(26px,3vw,40px);
  font-weight: 900;
  color: var(--cp); letter-spacing:-.015em; margin-bottom:16px;
}
.sub-heading-h2.center-align {}

/* tab menu */
.products-tabs-wrapper.w-tabs {}
.products-tabs_menu.w-tab-menu,
.auto-tabs_menu-copy.w-tab-menu {
  display: flex; flex-direction: column;
  border-left: 2px solid rgba(27,94,32,.12);
}
.product-tabs.w-inline-block.w-tab-link {
  display: block;
  padding: 15px 24px;
  cursor: pointer;
  border-left: 2px solid transparent;
  margin-left: -2px;
  text-decoration: none;
  transition: background .2s, border-color .2s;
  background: transparent;
  position: relative;
}
.product-tabs.w-inline-block.w-tab-link:hover { background:rgba(27,94,32,.06); }
.product-tabs.w-inline-block.w-tab-link.w--current {
  border-left-color: var(--ca);
  background: rgba(27,94,32,.07);
}
.product-tabs.w--current .product-name { color:var(--cp); }
.product-name {
  font-family: 'Montserrat', sans-serif;
  font-size: 14px; font-weight: 700;
  color: #4a5e4b; transition:color .2s;
}
.auto-tabs_description { display:none; }
.auto-tabs_img-mobile-wrapper { display:none; }
.auto-tabs_timer-bar {
  height: 2px; background: var(--ca);
  width: 0; margin-top: 6px;
  transition: width 4.2s linear;
}
.product-tabs.w--current .auto-tabs_timer-bar { width:100%; }

/* panes */
.auto-tabs_content.w-tab-content,
.auto-tabs_content-copy.w-tab-content { position:relative; }
.auto-tabs_pane.w-tab-pane { display:none !important; }
.auto-tabs_pane.w-tab-pane.w--tab-active { display:block !important; }

.image-flex-box {
  width:100%; aspect-ratio:4/3;
  border-radius:16px; overflow:hidden;
  box-shadow:0 20px 60px rgba(13,46,26,.14);
  background:var(--cpale);
}
.img-cover { width:100%; height:100%; object-fit:cover; display:block; }

.divider-line-div { height:1px; background:rgba(27,94,32,.1); }

/* ── TEAM BACKGROUND ─────────────────────────────────────── */
/* team photo pins in place while Founders+ slides up over it */
.background-section {
  position: sticky;
  top: 0;
  overflow: hidden;
  z-index: 1;
  /* Must be tall enough to show fully before sticky-scroll-wrapper slides over it */
  height: 100vh;
  min-height: 100vh;
}
.hero-background-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
}
.background-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 100vh;
  overflow: hidden;
}
/* Background image - fills wrapper */
.background-image {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
}
/* Background VIDEO - full HD quality */
.background-video {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  filter: brightness(0.80);
  /* GPU layer for smooth HD - avoids software decode blurriness */
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  /* Ensure full resolution rendering - no downscaling */
  image-rendering: auto;
}
.overlay-content-wrapper {
  position:absolute; inset:0; z-index:2;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(to bottom,rgba(7,26,15,.55)0%,rgba(27,94,32,.38)50%,rgba(7,26,15,.62)100%);
}
.section-heading-gray-bg {
  font-family: 'Lilita One', cursive;
  font-size: clamp(36px,7vw,86px);
  color: #fff; text-align:center;
  letter-spacing: -.025em;
  text-shadow: 0 2px 20px rgba(0,0,0,.3);
}
/* background-image styles consolidated above */
.spacer { height: 100vh; }

/* founders section */
.small-button-white.w-button {
  display:inline-block; margin-top:28px;
  padding:14px 36px;
  background:var(--cy); color:var(--cdark);
  font-family:'Montserrat',sans-serif;
  font-size:12px; font-weight:800;
  letter-spacing:.08em; text-transform:uppercase;
  border-radius:3px; text-decoration:none;
  transition:background .2s,transform .2s;
}
.small-button-white.w-button:hover { background:#fff; transform:translateY(-2px); }
.image-63.cashew,.image-64.cashew {
  position:absolute; right:-60px; bottom:-40px;
  width:300px; opacity:.06;
  pointer-events:none;
  filter:hue-rotate(80deg);
}

/* ── CERTIFICATIONS ─────────────────────────────────────── */
.container-m {
  display:grid; grid-template-columns:1fr 1fr;
  gap:32px; margin-top:60px;
}
.list-parent.w-inline-block {
  display:block; border:1px solid rgba(27,94,32,.12);
  border-radius:16px; overflow:hidden; text-decoration:none;
  background:#fff; transition:box-shadow .3s,transform .3s;
}
.list-parent.w-inline-block:hover { box-shadow:0 20px 60px rgba(27,94,32,.12); transform:translateY(-4px); }
.parent.flex-cc-h { display:flex; flex-direction:column; align-items:center; padding:48px 36px; gap:28px; }
.div-block-297 { width:100%; }
.div-hide { display:none; }
.div-block-312 { text-align:center; }
.mar-left { margin-bottom:14px; }
.bold-text-5 { font-family:'Montserrat',sans-serif; font-size:22px; font-weight:900; color:var(--cp); }
.paragraph-16px.center-align { text-align:center; }
.image-60 { width:110px; height:auto; }
.haccp-logo { width:150px; height:auto; }

/* ── CLIENTS / PARTNERS ─────────────────────────────────── */
.section-heading.secondary {
  font-family:'Montserrat',sans-serif;
  font-size:12px; font-weight:700;
  letter-spacing:.25em; text-transform:uppercase;
  color:rgba(255,255,255,.45); margin-bottom:40px;
}
.logo-grid { display:none; } /* original hides this, uses static grid below */
.angle-2 { height:64px; background:var(--coff); clip-path:polygon(0 0,100% 0,0 100%); }
/* clients/partners section: angle transitions from certifications (coff bg) */
.section-background-color.primary > .angle-2 { background: var(--coff); }

.logo-wrapper {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:20px; margin-top:60px;
}
.logo-holder {
  background:#fff; border:1px solid rgba(27,94,32,.1);
  border-radius:12px; padding:28px 20px;
  display:flex; align-items:center; justify-content:center;
  transition:box-shadow .3s,transform .3s;
}
.logo-holder:hover { box-shadow:0 8px 32px rgba(27,94,32,.1); transform:translateY(-2px); }
.client-logo {
  max-height:48px; max-width:130px; width:auto;
  object-fit:contain;
  filter:grayscale(1) opacity(.55);
  transition:filter .3s;
}
.logo-holder:hover .client-logo { filter:none; }

/* ── MEDIA SLIDER 8387rcPNz8SRX6pYXgdxCZg3VMLFwtdJB3Z9LeX8Ge2n */
.slider-containter.w-container { max-width:1300px; margin:60px auto 0; position:relative; padding:0 40px; }

.blog-slider.w-slider { position:relative; }
.blog-slider-mask.w-slider-mask { position:relative; overflow:hidden; }
.slide-4.w-slide { display:none; width:100%; }
.slide-4.w-slide.w--slide-active { display:block; }

.blog-card {
  display:grid; grid-template-columns:1fr 1fr;
  gap:64px; align-items:center;
  padding:40px 0 60px;
}
.slider-text-contents {}
.service-name {
  font-family:'Montserrat',sans-serif;
  font-size:11px; font-weight:700;
  letter-spacing:.2em; text-transform:uppercase;
  color:var(--ca); margin-bottom:16px;
}
.service-heading {
  font-family:'Montserrat',sans-serif;
  font-size:clamp(24px,3vw,40px);
  font-weight:900; color:var(--cp);
  line-height:1.15; letter-spacing:-.01em;
  margin-bottom:32px;
}
.button-5.w-button {
  display:inline-block; padding:14px 32px;
  background:var(--cp); color:#fff;
  font-family:'Montserrat',sans-serif;
  font-size:12px; font-weight:800;
  letter-spacing:.07em; text-transform:uppercase;
  border-radius:3px; text-decoration:none;
  transition:background .2s,transform .2s;
}
.button-5.w-button:hover { background:var(--ca); transform:translateY(-2px); }

.slider-image-contents {}
.slider-image-3 {
  width:100%; border-radius:14px;
  object-fit:cover; aspect-ratio:4/3;
  display:block; box-shadow:0 16px 48px rgba(13,46,26,.15);
}

/* slider arrows */
.left-arrow-2.w-slider-arrow-left,
.right-arrow-2.w-slider-arrow-right {
  position:absolute;
  top:50%; transform:translateY(-50%);
  width:52px; height:52px;
  background:var(--cp); border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  cursor:pointer; z-index:10; color:#fff; font-size:18px;
  transition:background .2s; user-select:none;
}
.left-arrow-2.w-slider-arrow-left:hover,
.right-arrow-2.w-slider-arrow-right:hover { background:var(--ca); }
.left-arrow-2.w-slider-arrow-left { left:-26px; }
.right-arrow-2.w-slider-arrow-right { right:-26px; }
.w-icon-slider-left::before  { content:'←'; font-style:normal; }
.w-icon-slider-right::before { content:'→'; font-style:normal; }

._w-slider-nav-w-round.w-slider-nav {
  display:flex; justify-content:center; gap:8px;
  margin-top:32px;
}
/* slider dots - styled same as original inline <style> but green */
.w-slider-dot {
  background: var(--cdark);
  top: 3px; border-radius: 10px;
  width: 20px; height: 5px;
  cursor: pointer;
}
.w-slider-dot.w-active {
  background: var(--ca);
  top: 3px; border-radius: 10px;
  width: 20px; height: 5px;
}

/* ── CONTACT 8387rcPNz8SRX6pYXgdxCZg3VMLFwtdJB3Z9LeX8Ge2n──── */
#rahami-contact { position:relative; }
/* contact sits below media (coff bg) so angle should match */
#rahami-contact > .angle-2 { background: var(--coff); }
#rahami-contact .all-padding-100px-wrapper-secondary.bg-color { background:var(--cp); }

.form-content-div { text-align:center; margin-bottom:60px; }
.section-heading-h1.center-align { text-align:center; }
/* White heading only inside contact */
#rahami-contact .section-heading-h1.center-align { color:#fff; }
.paragraph { font-size:16px; color:rgba(255,255,255,.68); margin-top:12px; }
.horizontal-divider { height:1px; background:rgba(255,255,255,.15); margin:40px auto 0; max-width:340px; }

.image-form-div {
  display:grid; grid-template-columns:1fr 1fr;
  gap:80px; align-items:center;
}
.map-image { width:100%; border-radius:16px; display:block; filter:hue-rotate(80deg) saturate(1.2) brightness(.9); }
.contact-form-wrapper.w-form {}
.form { display:flex; flex-direction:column; gap:14px; }
.black-h2 { font-family:'Montserrat',sans-serif; font-size:26px; font-weight:900; color:#fff; margin-bottom:28px; }
.text-input-box.w-input {
  width:100%; padding:16px 20px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.15);
  border-radius:6px; color:#fff;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-size:15px; outline:none;
  transition:border-color .2s,background .2s;
}
.text-input-box.w-input::placeholder { color:rgba(255,255,255,.33); }
.text-input-box.w-input:focus { border-color:var(--cy); background:rgba(255,255,255,.12); }
.submit-button.w-button {
  padding:16px 40px;
  background:var(--cy); color:var(--cdark);
  font-family:'Montserrat',sans-serif;
  font-size:12px; font-weight:900;
  letter-spacing:.08em; text-transform:uppercase;
  border:none; border-radius:4px; cursor:pointer;
  transition:background .2s,transform .2s;
  align-self:flex-start; margin-top:6px;
}
.submit-button.w-button:hover { background:#fff; transform:translateY(-2px); }
.contact-form-success.w-form-done { display:none; }
.contact-form-success.w-form-done.shown { display:block; padding:16px 0; font-size:15px; color:var(--cy); }
.contact-form-error.w-form-fail { display:none; }
.image-49 { margin-top:32px; max-width:260px; opacity:.15; filter:hue-rotate(80deg); }

/* ── FOOTER 8387rcPNz8SRX6pYXgdxCZg3VMLFwtdJB3Z9LeX8Ge2n─── */
.footer-section-height { background:var(--cdark); }
.footer-fixed-position-wrapper {}
.footer-fixed-width-60px { max-width:1300px; margin:0 auto; }
.footer-vertical-padding-20px { padding:64px 80px 40px; }

.footer-top-wrapper.w-layout-grid {
  display:grid; grid-template-columns:1fr 1fr;
  gap:60px; align-items:start; margin-bottom:48px;
}
.logos-wrapper-div {}
.brand-logo-link.w-inline-block { display:inline-block; margin-bottom:20px; }
.logo-mark { height:56px; width:auto; }

/* footer logo text (fallback if no image) */
.footer-logo-name {
  font-family:'Lilita One',cursive;
  font-size:22px; color:#fff; display:block; line-height:1.1;
}
.footer-logo-sub {
  font-family:'Montserrat',sans-serif;
  font-size:9px; font-weight:600;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--cy); display:block; margin-top:3px;
}

.social-list.w-layout-grid { display:flex; gap:10px; margin-top:16px; }
.social-link.w-inline-block {
  width:38px; height:38px; border-radius:50%;
  background:rgba(255,255,255,.08);
  display:flex; align-items:center; justify-content:center;
  color:rgba(255,255,255,.55);
  transition:background .2s,color .2s;
}
.social-link.w-inline-block:hover { background:var(--ca); color:#fff; }
.social-icon.w-embed { width:18px; height:18px; }
.social-icon.w-embed svg { width:100%; height:100%; fill:currentColor; }

.contact-info { display:flex; flex-direction:column; gap:24px; }
.contact-info-wrapper.w-inline-block {
  display:flex; gap:16px; align-items:flex-start;
  text-decoration:none; color:inherit;
  transition:opacity .2s;
}
.contact-info-wrapper.w-inline-block:hover { opacity:.8; }
.icon-wrapper {
  width:42px; height:42px; min-width:42px;
  background:rgba(255,255,255,.08);
  border-radius:50%; display:flex;
  align-items:center; justify-content:center;
}
.icon-image { width:18px; height:18px; filter:brightness(0) invert(1); }
.contact-info-heading {
  font-family:'Montserrat',sans-serif;
  font-size:9px; font-weight:700;
  letter-spacing:.18em; text-transform:uppercase;
  color:var(--cy); margin-bottom:5px;
}
.contact-info-value { font-size:13px; color:rgba(255,255,255,.65); line-height:1.7; }
.contact-info-value strong { color:rgba(255,255,255,.88); font-weight:600; }
.div-block-309,.div-block-311 { display:flex; flex-direction:column; gap:2px; }

.footer-bottom-wrapper {
  border-top:1px solid rgba(255,255,255,.07);
  padding-top:28px; display:flex;
  justify-content:space-between; align-items:center;
}
.paragraph-2 { font-size:12px; color:rgba(255,255,255,.28); }

/* ── HERO SECOND IMAGE SECTION ───────────────────────────── */
.hero-second-image-section { position:relative; overflow:hidden; height:100vh; min-height:500px; }
.long-secion { height:100%; }
.sticky-section { position:sticky; top:0; height:100vh; overflow:hidden; }
.right-top-mask { position:absolute; top:0; right:0; width:45%; height:50%; background:#fff; z-index:1; }
.left-top-mask  { position:absolute; top:0; left:0;  width:45%; height:50%; background:#fff; z-index:1; }
.right-mask     { position:absolute; bottom:0; right:0; width:45%; height:50%; background:#fff; z-index:1; }
.left-mask      { position:absolute; bottom:0; left:0;  width:45%; height:50%; background:#fff; z-index:1; }
.center-mask    { position:absolute; top:0; bottom:0; left:30%; right:30%; background:#fff; z-index:0; }
.image-8 { width:100%; height:100%; object-fit:cover; display:block; }

/* ── LARGE-TYPE CLOSING ──────────────────────────────────── */
.hero-text-section { padding:120px 80px; background:#fff; overflow:hidden; position:relative; }
.max-width-1300-container.w-container { max-width:1300px; margin:0 auto; position:relative; }
.image-62.cashew { position:absolute; left:-60px; top:30px; width:280px; opacity:.06; pointer-events:none; filter:hue-rotate(80deg); }
.image-61.cashew { position:absolute; right:-50px; bottom:20px; width:240px; opacity:.06; pointer-events:none; filter:hue-rotate(80deg); }
.hero-text-wrapper { text-align:center; }
.hero-text-1,.hero-text-2,.hero-text-3 {
  font-family:'Lilita One',cursive;
  font-size:clamp(72px,13vw,168px);
  line-height:.92; letter-spacing:-.03em; display:block;
}
.hero-text-1 { color:var(--cp); }
.hero-text-2 { color:var(--ca); }
.hero-text-3 { color:var(--cpm); }
.overflow { overflow:hidden; }

.hero-text-wrapper-mobile { display:none; }
.hero-text-mobile {
  font-family:'Lilita One',cursive;
  font-size:56px; color:var(--cp); line-height:1; display:block;
}

/* ── TEAM GRID 8387rcPNz8SRX6pYXgdxCZg3VMLFwtdJB3Z9LeX8Ge2n─ */
.team-grid-section {
  background:
    radial-gradient(ellipse 80% 60% at 80% 20%, rgba(67,160,71,.08) 0%, transparent 60%),
    radial-gradient(ellipse 60% 50% at 10% 80%, rgba(102,187,106,.07) 0%, transparent 55%),
    var(--cpale);
  padding: 100px 80px;
  position: relative;
  z-index: 2;
  overflow: hidden;
  border-top: 3px solid rgba(67,160,71,.15);
}
/* decorative background pattern */
.team-grid-section::before {
  content: '';
  position: absolute;
  top: -120px; right: -120px;
  width: 500px; height: 500px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(67,160,71,.12) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
.team-grid-section::after {
  content: '';
  position: absolute;
  bottom: -80px; left: -80px;
  width: 380px; height: 380px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(102,187,106,.10) 0%, transparent 70%);
  pointer-events: none;
  z-index: 0;
}
.team-grid-inner {
  position: relative;
  z-index: 1;
}
.team-grid-inner {
  max-width: 1300px;
  margin: 0 auto;
}
.team-intro-text {
  font-size: 17px;
  color: #4a5e4b;
  max-width: 600px;
  margin-top: -8px;
  margin-bottom: 56px;
  line-height: 1.7;
}
.team-member-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
.team-card {
  text-align: center;
  background: #fff;
  border-radius: 16px;
  padding: 32px 20px 24px;
  box-shadow: 0 4px 20px rgba(27,94,32,.10);
  transition: transform .35s ease, box-shadow .35s ease;
  position: relative;
  overflow: hidden;
}
.team-card::before {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(135deg, var(--cp), var(--ca), var(--cy));
  transform: scaleX(0);
  transition: transform .3s ease;
  transform-origin: left;
}
.team-card:hover::before { transform: scaleX(1); }
.team-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 40px rgba(27,94,32,.18);
}
.team-photo-wrap {
  width: 110px; height: 110px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 16px;
  border: 4px solid var(--cpale);
  box-shadow: 0 4px 20px rgba(27,94,32,.10);
  transition: border-color .3s ease;
}
.team-card:hover .team-photo-wrap { border-color: var(--ca); }
.team-photo-wrap img { width: 100%; height: 100%; object-fit: cover; }
.team-photo-placeholder-wrap {
  width: 110px; height: 110px;
  border-radius: 50%;
  overflow: hidden;
  margin: 0 auto 16px;
  border: 4px solid var(--cpale);
  box-shadow: 0 4px 20px rgba(27,94,32,.10);
  transition: border-color .3s ease;
}
.team-card:hover .team-photo-placeholder-wrap { border-color: var(--ca); }
.team-photo-placeholder {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, #4da3ff, #0a84ff);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Montserrat', sans-serif;
  font-size: 2.5rem;
  font-weight: 800;
  text-transform: uppercase;
}
.team-name {
  font-family: 'Montserrat', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: var(--cp);
  margin-bottom: 4px;
  line-height: 1.2;
}
.team-role {
  font-family: 'Montserrat', sans-serif;
  font-size: 0.72rem;
  color: var(--ca);
  font-weight: 700;
  letter-spacing: .10em;
  text-transform: uppercase;
  margin-bottom: 8px;
}
.team-bio {
  font-size: 0.85rem;
  color: #5a6f5a;
  margin-top: 6px;
  line-height: 1.65;
}
.team-socials {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 14px;
}
.team-social-link {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: var(--cpale);
  color: var(--cp);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 800;
  font-family: 'Montserrat', sans-serif;
  transition: background .2s, color .2s, transform .2s;
  text-decoration: none;
}
.team-social-link:hover { background: var(--ca); color: #fff; transform: translateY(-2px); }

/* ── IMPACT STATS ────────────────────────────────────────── */
.impact-section {
  background: var(--cp);
  padding: 80px;
  position: relative;
  z-index: 2;
  box-shadow: 0 -12px 48px rgba(0,0,0,0.18);
}
.impact-inner {
  max-width: 1200px;
  margin: 0 auto;
  text-align: center;
}
.impact-eyebrow {
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--cy);
  margin-bottom: 12px;
  display: block;
}
.impact-heading {
  font-family: 'Lilita One', cursive;
  font-size: clamp(36px, 5vw, 60px);
  color: #fff;
  margin-bottom: 56px;
}
.impact-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
.impact-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.impact-value {
  font-family: 'Lilita One', cursive;
  font-size: clamp(40px, 5vw, 64px);
  color: var(--cy);
  line-height: 1;
}
.impact-label {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px;
  font-weight: 700;
  color: rgba(255,255,255,.7);
  text-transform: uppercase;
  letter-spacing: .06em;
  line-height: 1.4;
}

/* ── HERO CTA BUTTONS ────────────────────────────────────── */
.hero-subheading {
  font-size: clamp(14px, 1.5vw, 18px);
  color: rgba(255,255,255,.75);
  line-height: 1.6;
  max-width: 480px;
  margin-top: 16px;
  margin-bottom: 32px;
  font-weight: 400;
}
.hero-cta-row {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 8px;
}
.hero-cta-btn {
  display: inline-block;
  padding: 16px 32px;
  border-radius: 4px;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  transition: background .2s, transform .2s, border-color .2s;
  white-space: nowrap;
}
.hero-cta-primary {
  background: var(--cy);
  color: var(--cdark);
}
.hero-cta-primary:hover { background: #fff; transform: translateY(-2px); }
.hero-cta-secondary {
  background: transparent;
  color: #fff;
  border: 2px solid rgba(255,255,255,.5);
}
.hero-cta-secondary:hover { border-color: var(--cy); color: var(--cy); transform: translateY(-2px); }

/* ── RESPONSIVE 8387rcPNz8SRX6pYXgdxCZg3VMLFwtdJB3Z9LeX8Ge2n */
/* ── TABLET 8387rcPNz8SRX6pYXgdxCZg3VMLFwtdJB3Z9LeX8Ge2n───── */
@media (max-width:1100px) {
  .all-padding-100px-wrapper-secondary,
  #rahami-products,
  .hero-text-section { padding-left:48px; padding-right:48px; }
  .hero-content-wrap { padding:0 48px 80px; }
  .commands-pointers-section,.fixed-width-wrapper { padding-left:48px; padding-right:48px; }
  .footer-vertical-padding-20px { padding-left:48px; padding-right:48px; }
  .nav-links-column { gap:24px; }
  .nav-links-column a { font-size: clamp(28px,4vw,48px); }
}

/* ── MOBILE 8387rcPNz8SRX6pYXgdxCZg3VMLFwtdJB3Z9LeX8Ge2n───── */
@media (max-width:860px) {
  /* general padding - tighter on mobile */
  .all-padding-100px-wrapper-secondary,
  #rahami-products,
  .hero-text-section,
  .commands-pointers-section,
  .fixed-width-wrapper,
  .footer-vertical-padding-20px { padding-left:16px; padding-right:16px; padding-top:36px; padding-bottom:36px; }
  .hero-content-wrap { padding:0 16px 44px; }

  /* grids → single column */
  .w-layout-grid.two-grid { grid-template-columns:1fr; gap:32px; }
  .product-tabs_column,.auto-tabs_column-copy { grid-template-columns:1fr; }
  .logo-wrapper { grid-template-columns:repeat(2,1fr); gap:16px; }
  .container-m { grid-template-columns:1fr; }
  .footer-top-wrapper.w-layout-grid { grid-template-columns:1fr; gap:40px; }

  /* hero */
  .right-hero-content { display:none; }
  .hero-header-text { font-size:clamp(36px,11vw,60px); }
  .hero-slide-dots { bottom:56px; }

  /* cashew menu button - smaller on mobile */
  .cashew-menu-btn { top:16px; right:16px; }
  .cashew-3d-wrap { width:48px; height:48px; }
  .cashew-menu-label { font-size:9px; }

  /* nav overlay */
  .nav-links-column { gap:16px; padding:80px 24px 40px; }
  .nav-links-column a { font-size: clamp(24px,7vw,40px); }
  .div-block-280 { display:none; }
  .navbar { flex-direction:column; }

  /* secondary navbar - hide entirely on mobile */
  .navbar-4.w-nav { display: none !important; }

  /* timeline */
  .timeline-content { grid-template-columns:1fr; gap:12px; padding:20px 0; }
  .timeline-progress { display:none; }
  .timeline-left-content > img.image-71 { display:none; }
  .timeline-image-wrapper { display:block; margin-top:16px; }
  .timeline-centre { justify-content:flex-start; }
  .commands-section::before,
  .commands-section::after { width:6px; }

  /* products tabs */
  .product-tabs_column,
  .auto-tabs_column-copy { gap:24px; }
  .image-flex-box { min-height:220px; }

  /* team photo (kept for any remaining usage) */

  /* certifications */
  .parent.flex-cc-h { flex-direction:column; align-items:center; text-align:center; }

  /* media slider */
  .slider-containter { padding:0; }
  .blog-card { grid-template-columns:1fr; gap:24px; }
  .left-arrow-2.w-slider-arrow-left { left:-8px; }
  .right-arrow-2.w-slider-arrow-right { right:-8px; }

  /* contact form */
  .image-form-div { grid-template-columns:1fr; }

  /* footer */
  .footer-top-wrapper { gap:32px; }

  /* team grid */
  .team-grid-section { padding-left:16px; padding-right:16px; padding-top:36px; padding-bottom:36px; }
  .team-member-grid { grid-template-columns: repeat(2,1fr); gap:16px; }
  .team-intro-text { margin-bottom:18px; font-size:14px; }
  .team-photo-wrap, .team-photo-placeholder-wrap { width:88px; height:88px; }
  .team-photo-placeholder { font-size:2rem; }
  .team-card { padding:24px 14px 20px; }
  /* impact */
  .impact-section { padding:36px 16px; }
  .impact-grid { grid-template-columns: repeat(2,1fr); gap:16px; }

  /* hero second image */
  .hero-second-image-section { height:60vh; }

  /* quote */
  .heading-quote { font-size:clamp(36px,10vw,64px); }

  /* closing text section */
  .large-type { font-size:clamp(40px,12vw,80px); }
}

/* ── SMALL MOBILE 8387rcPNz8SRX6pYXgdxCZg3VMLFwtdJB3Z9LeX8Ge2n */
@media (max-width:480px) {
  .hero-header-text { font-size:clamp(30px,12vw,48px); }
  .section-heading-h1 { font-size:clamp(26px,8vw,40px); }
  .logo-wrapper { grid-template-columns:repeat(2,1fr); }
  .all-padding-100px-wrapper-secondary,
  #rahami-products,
  .commands-pointers-section,
  .fixed-width-wrapper { padding-left:16px; padding-right:16px; }
  .cashew-menu-btn { top:12px; right:12px; }
  .cashew-3d-wrap { width:42px; height:42px; }
}
/* ── FUNDING FEATURES GRID ──────────────────────────────── */
.funding-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 32px;
  margin-top: 0;
}
.funding-card {
  background: #fff;
  border: 1px solid rgba(27,94,32,.12);
  border-radius: 16px;
  overflow: hidden;
  transition: box-shadow .3s, transform .3s;
}
.funding-card:hover {
  box-shadow: 0 12px 40px rgba(27,94,32,.12);
  transform: translateY(-4px);
}
.funding-card-image {
  width: 100%;
  height: 220px;
  overflow: hidden;
  background: #f5f5f0;
}
.funding-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .4s ease;
}
.funding-card:hover .funding-card-image img {
  transform: scale(1.04);
}
.funding-card-inner {
  padding: 32px 28px;
}
.funding-pub-tag {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: var(--ca);
  margin-bottom: 12px;
}
.funding-title {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(16px, 1.8vw, 22px);
  font-weight: 800;
  color: var(--cp);
  line-height: 1.3;
  margin-bottom: 14px;
  letter-spacing: -.01em;
}
.funding-summary {
  font-size: 15px;
  color: #4a5e4b;
  line-height: 1.7;
  margin-bottom: 20px;
}
.funding-link {
  display: inline-block;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 700;
  color: var(--cp);
  letter-spacing: .05em;
  text-decoration: none;
  border-bottom: 2px solid var(--cy);
  padding-bottom: 2px;
  transition: color .2s, border-color .2s;
}
.funding-link:hover { color: var(--ca); border-color: var(--ca); }

/* -- TANZANIA MAP -- */
.tz-map-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  padding: 20px;
  min-height: 320px;
}

/* Image-based map container */
.tz-map-img-wrap {
  position: relative;
  width: 100%;
  max-width: 380px;
  display: inline-block;
  line-height: 0; /* removes gap under image */
}

/* Green blend overlay - sits above image, below pin */
.tz-map-overlay {
  position: absolute;
  inset: 0;
  border-radius: 8px;
  background: rgba(27, 94, 32, 0.45);
  mix-blend-mode: multiply;
  z-index: 1;
  pointer-events: none;
}

/* The map image itself - desaturated then the overlay adds green tint */
.tz-map-img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
  /* desaturate + dim so any image blends with green overlay */
  filter: grayscale(0.4) brightness(0.9);
}

/* Mtwara pin - absolute positioned over the image */
/* left/top % set inline on element, adjust via admin if needed */
.tz-mtwara-pin {
  position: absolute;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  z-index: 3;
  pointer-events: none;
}

/* Pin dot with pulse animation */
.tz-pin-dot {
  position: relative;
  width: 14px;
  height: 14px;
}
.tz-pin-dot::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: 50%;
  background: #fff;
  border: 3px solid var(--cp);
  z-index: 2;
  box-shadow: 0 0 0 2px rgba(255,255,255,0.4), 0 2px 6px rgba(0,0,0,0.35);
}
.tz-pin-dot::after {
  content: '';
  position: absolute;
  inset: -4px;
  border-radius: 50%;
  background: transparent;
  border: 2px solid rgba(255,255,255,0.7);
  animation: pinPulse 2s ease-out infinite;
  z-index: 1;
}
@keyframes pinPulse {
  0%   { transform: scale(1); opacity: 0.9; }
  100% { transform: scale(3); opacity: 0; }
}

/* Label */
.tz-pin-label {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--cp);
  border-radius: 4px;
  padding: 3px 9px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}
.tz-pin-city {
  font-family: 'Montserrat', sans-serif;
  font-size: 8px;
  font-weight: 800;
  color: #fff;
  letter-spacing: 1px;
  white-space: nowrap;
}
.tz-pin-org {
  font-family: 'Montserrat', sans-serif;
  font-size: 7px;
  font-weight: 600;
  color: var(--cy);
  white-space: nowrap;
}

/* Fallback SVG */
.tz-map-upload-prompt {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
}
.tz-map-svg {
  width: 100%;
  max-width: 340px;
  height: auto;
}

@media (max-width: 860px) {
  .tz-map-wrapper { min-height: 200px; padding: 14px; }
}
/* Product section eyebrow labels */
.product-section-eyebrow {
  font-family: 'Montserrat', sans-serif;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .2em;
  text-transform: uppercase;
  color: var(--ca);
  margin-bottom: 10px;
  display: block;
}

/* ── ADDITIONAL MOBILE SPACING TIGHTENING ──────────────── */
@media (max-width: 860px) {
  .our-products-container { gap: 32px !important; margin-top: 24px !important; }
  #rahami-products { padding-top: 36px !important; padding-bottom: 36px !important; }
  .team-grid-section { padding-top: 36px !important; }
  .impact-inner { }
  .impact-heading { margin-bottom: 28px !important; font-size: clamp(24px, 7vw, 36px) !important; }
  .impact-eyebrow { margin-bottom: 6px !important; }
  .section-heading-h1 { margin-bottom: 10px !important; }
  .text-size-large { font-size: 15px !important; line-height: 1.75 !important; }
  .paragraph-16px { font-size: 14px !important; line-height: 1.7 !important; }
  .team-card { padding: 18px 10px 14px !important; }
  .all-padding-100px-wrapper-secondary { padding-top: 36px !important; padding-bottom: 36px !important; }
  .fixed-width-wrapper { padding-top: 32px !important; padding-bottom: 16px !important; }
  .commands-pointers-section { padding-top: 0 !important; }
  /* Funding cards */
  .funding-card-inner { padding: 20px 16px !important; }
  .funding-title { font-size: clamp(14px, 4vw, 18px) !important; margin-bottom: 10px !important; }
  /* Certifications */
  .parent.flex-cc-h { padding: 28px 20px !important; gap: 16px !important; }
  /* Contact form */
  .form-content-div { margin-bottom: 28px !important; }
  .image-form-div { gap: 28px !important; }
}

/* =========================================================
   MOBILE LOGO IN HERO  (top-left, desktop hidden)
========================================================= */
.hero-mobile-logo {
  display: none;
  position: absolute;
  top: 20px;
  left: 20px;
  z-index: 10;
}
@media (max-width: 860px) {
  .hero-mobile-logo {
    display: block;
  }
}

/* =========================================================
   MOBILE RESPONSIVENESS OVERHAUL
   Tighter spacing, scaled fonts, fixed video team section
========================================================= */

/* ── Team video section: natural aspect ratio on mobile, no crop ── */
@media (max-width: 860px) {
  .background-section {
    position: sticky !important;
    top: 0 !important;
    height: 56vw !important; /* matches the 4/3 aspect ratio of .background-wrapper */
    min-height: unset !important;
    max-height: unset !important;
    overflow: hidden !important;
  }
  /* Keep the spacer so scroll height is correct for sticky to work */
  .background-section .spacer {
    display: block !important;
    height: 56vw !important;
  }
  .hero-background-wrapper {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
  }
  .background-wrapper {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: unset !important;
    min-height: unset !important;
    overflow: hidden !important;
    border-radius: 0 !important;
  }
  .background-video {
    position: absolute !important;
    top: 0 !important; left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
  .background-image {
    position: absolute !important;
    top: 0 !important; left: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
  }
  .overlay-content-wrapper {
    position: absolute !important;
    inset: 0 !important;
  }
  .spacer { height: 56vw !important; }
  .section-heading-gray-bg {
    font-size: clamp(18px, 6vw, 34px) !important;
    padding: 0 12px !important;
    text-align: center !important;
  }
}

/* ── General section padding ── */
@media (max-width: 860px) {
  .cover-section,
  .section-background-color {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
  .all-padding-100px-wrapper-secondary {
    padding: 40px 18px !important;
  }
  .section-heading-h1 {
    font-size: clamp(24px, 8vw, 38px) !important;
    margin-bottom: 12px !important;
    line-height: 1.05 !important;
  }
  .text-size-large {
    font-size: 14px !important;
    line-height: 1.7 !important;
    margin-bottom: 24px !important;
  }
  .paragraph-16px {
    font-size: 13px !important;
    line-height: 1.65 !important;
  }
}

/* ── Hero mobile ── */
@media (max-width: 860px) {
  .hero-image-section {
    height: 100svh !important;
    min-height: 520px !important;
  }
  .hero-content-wrap {
    padding: 0 18px 52px !important;
    align-items: flex-end !important;
    justify-content: flex-start !important;
  }
  .hero-header-text {
    font-size: clamp(34px, 10vw, 56px) !important;
    line-height: 0.93 !important;
  }
  .hero-subheading {
    display: none !important;
  }
  .hero-cta-row {
    gap: 8px !important;
    flex-direction: column !important;
    align-items: flex-start !important;
  }
  .hero-cta-btn {
    padding: 12px 20px !important;
    font-size: 10px !important;
  }
  .hero-slide-dots {
    bottom: 78px !important;
    z-index: 20 !important;
  }
  .hero-image-section {
  overflow: visible;
  }
  .right-hero-content {
    display: none !important;
  }
}

/* ── Impact stats on mobile ── */
@media (max-width: 860px) {
  .impact-section {
    padding: 32px 18px !important;
  }
  .impact-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 14px !important;
  }
  .impact-stat-value {
    font-size: clamp(28px, 8vw, 42px) !important;
  }
  .impact-stat-label {
    font-size: 11px !important;
  }
  .impact-heading {
    font-size: clamp(22px, 6vw, 34px) !important;
    margin-bottom: 20px !important;
  }
}

/* ── Team grid mobile ── */
@media (max-width: 860px) {
  .team-grid-inner {
    padding: 32px 18px !important;
  }
  .team-member-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .team-card {
    padding: 16px 10px 14px !important;
  }
  .team-photo-wrap,
  .team-photo-placeholder-wrap {
    width: 72px !important;
    height: 72px !important;
  }
  .team-member-name {
    font-size: 13px !important;
  }
  .team-member-role {
    font-size: 11px !important;
  }
  .team-intro-text {
    font-size: 13px !important;
    margin-bottom: 16px !important;
  }
}

/* ── Products section mobile ── */
@media (max-width: 860px) {
  #rahami-products {
    padding: 36px 18px !important;
  }
  .our-products-container {
    gap: 24px !important;
  }
  .image-flex-box {
    min-height: 180px !important;
  }
}

/* ── Two-column grids stack on mobile ── */
@media (max-width: 860px) {
  .w-layout-grid.two-grid {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  .image-holder {
    border-radius: 8px !important;
  }
}

/* ── Commands/timeline section ── */
@media (max-width: 860px) {
  .commands-pointers-section {
    padding: 5px 18px !important;
  }
  .timeline-content {
    gap: 10px !important;
  }
}

/* ── Contact section ── */
@media (max-width: 860px) {
  .fixed-width-wrapper {
    padding: 32px 18px !important;
  }
  .image-form-div {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
  }
  .form-content-div {
    margin-bottom: 20px !important;
  }
}

/* ── Footer ── */
@media (max-width: 860px) {
  .footer-vertical-padding-20px {
    padding: 32px 18px !important;
  }
  .footer-top-wrapper {
    gap: 24px !important;
  }
}

/* ── Certifications ── */
@media (max-width: 860px) {
  .parent.flex-cc-h {
    padding: 24px 18px !important;
    gap: 14px !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }
  .logo-wrapper {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
}

/* ── Quote and large type mobile ── */
@media (max-width: 860px) {
  .heading-quote {
    font-size: clamp(28px, 9vw, 52px) !important;
  }
  .large-type {
    font-size: clamp(32px, 11vw, 64px) !important;
  }
}

/* ── Very small screens ── */
@media (max-width: 380px) {
  .hero-header-text {
    font-size: clamp(28px, 12vw, 40px) !important;
  }
  .section-heading-h1 {
    font-size: clamp(20px, 9vw, 30px) !important;
  }
  .all-padding-100px-wrapper-secondary {
    padding: 28px 14px !important;
  }
  .team-photo-wrap,
  .team-photo-placeholder-wrap {
    width: 60px !important;
    height: 60px !important;
  }
}

/* =========================================================
   FUNDING CAROUSEL  (fc- prefix)
========================================================= */
.fc-track-outer {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.fc-track {
  display: flex;
  gap: 0;
  will-change: transform;
  cursor: grab;
  user-select: none;
  transition: transform 0.55s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.fc-track:active { cursor: grabbing; }
.fc-card {
  flex: 0 0 100%;
  width: 100%;
  min-width: 100%;
  background: #fff;
  border: 1px solid rgba(27,94,32,0.1);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(27,94,32,0.06);
  transition: box-shadow 0.3s, transform 0.3s, opacity 0.4s;
  transform-origin: center bottom;
}
.fc-card.fc-active {
  box-shadow: 0 12px 40px rgba(27,94,32,0.14);
}
.fc-card.fc-side {
  opacity: 0.55;
  transform: scale(0.96);
}
.fc-card-img {
  width: 100%;
  height: 200px;
  overflow: hidden;
  background: #f1f8f2;
}
.fc-card-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.5s ease;
}
.fc-card.fc-active .fc-card-img img {
  transform: scale(1.03);
}
.fc-card-img--placeholder {
  background: linear-gradient(135deg, #e8f5e9 0%, #c8e6c9 100%);
  position: relative;
}
.fc-card-img--placeholder::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(27,94,32,0.08) 100%);
}
.fc-card-body {
  padding: 28px 24px;
}
.fc-pub {
  display: block;
  font-family: 'Montserrat', sans-serif;
  font-size: 9px;
  font-weight: 800;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--ca);
  margin-bottom: 10px;
}
.fc-title {
  font-family: 'Montserrat', sans-serif;
  font-size: clamp(15px, 1.5vw, 20px);
  font-weight: 800;
  color: var(--cp);
  line-height: 1.3;
  margin-bottom: 12px;
  letter-spacing: -0.01em;
}
.fc-summary {
  font-size: 14px;
  color: #4a5e4b;
  line-height: 1.7;
  margin-bottom: 18px;
}
.fc-link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 700;
  color: var(--cp);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  border-bottom: 2px solid var(--cy);
  padding-bottom: 2px;
  transition: color 0.2s, border-color 0.2s;
}
.fc-link:hover {
  color: var(--ca);
  border-color: var(--ca);
}

/* fade masks - hidden, 1-card-at-a-time carousel doesn't need them */
.fc-fade {
  display: none;
}
.fc-fade--left { display: none; }
.fc-fade--right { display: none; }

/* nav controls */
.fc-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
  margin-top: 32px;
}
.fc-btn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 2px solid rgba(27,94,32,0.2);
  background: #fff;
  color: var(--cp);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background 0.2s, border-color 0.2s, transform 0.15s;
  flex-shrink: 0;
}
.fc-btn svg {
  width: 18px;
  height: 18px;
}
.fc-btn:hover {
  background: var(--cp);
  color: #fff;
  border-color: var(--cp);
  transform: scale(1.08);
}
.fc-btn:disabled {
  opacity: 0.3;
  cursor: not-allowed;
  transform: none;
}
.fc-dots {
  display: flex;
  gap: 8px;
  align-items: center;
}
.fc-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(27,94,32,0.2);
  border: none;
  cursor: pointer;
  transition: background 0.25s, transform 0.25s, width 0.25s;
  padding: 0;
}
.fc-dot.fc-dot--active {
  background: var(--cp);
  width: 24px;
  border-radius: 4px;
  transform: none;
}

/* Mobile: carousel already 1-card full-width, just adjust sizing */
@media (max-width: 860px) {
  .fc-card-img {
    height: 160px;
  }
  .fc-card-body {
    padding: 20px 18px;
  }
  .fc-controls {
    gap: 16px;
    margin-top: 20px;
  }
  .fc-btn {
    width: 38px;
    height: 38px;
  }
}

/* =========================================================
   TARGETED FIXES  (applied after all other rules)
========================================================= */

/* ── FIX 1: "The Rahami Model" title visibility on mobile ──
   The generic .fixed-width-wrapper mobile override sets padding: 32px 18px !important
   which collapses the 90px top padding needed to clear the -70px angle overlap.
   Restore enough top padding so the heading clears the angled transition.
   On mobile the #rahami-brand::after angle is smaller so 50px is sufficient. */
@media (max-width: 860px) {
  .commands-section {
    margin-top: -40px !important; /* smaller overlap on mobile */
  }
  .commands-section .fixed-width-wrapper {
    padding-top: 56px !important; /* enough to clear the 40px overlap + breathing room */
    padding-left: 18px !important;
    padding-right: 18px !important;
    padding-bottom: 2px !important;
  }
}

/* ── FIX 2: Reinforce sticky-scroll on desktop ── */
@media (min-width: 861px) {
  .background-section {
    position: sticky !important;
    top: 0 !important;
    height: 100vh !important;
    min-height: 100vh !important;
    overflow: hidden !important;
  }
  .background-section .spacer {
    height: 100vh !important;
    display: block !important;
  }
}

@media (max-width: 860px) {
  .timeline-circle {
    width: 44px !important;
    height: 44px !important;
  }
  .timeline-circle img {
    width: 22px !important;
    height: 22px !important;
  }
  .timeline-image-wrapper img {
    max-height: 180px !important;
    object-fit: cover !important;
    border-radius: 8px !important;
  }
}
.timeline-left-content p,
.timeline-right-content p,
.grid-left-content p,
.grid-right-content p,
.paragraph-16px,
.text-size-large {
  text-align: justify;
}

@media (max-width: 860px) {
  .image-63.cashew,
  .image-64.cashew,
  .image-62.cashew,
  .image-61.cashew {
    display: none !important;
  }

  .timeline-left-content > img.image-71,
  .timeline-right-content > img.image-71 {
    display: none !important;
  }

  .nav-image-panel { display: none !important; }
}