/* =========================================================
   Oceanic Agro Industries — stylesheet
   Tokens
   Forest   #0d3b2e   deep dark green (leaf shadow from logo)
   Leaf     #1fb454   bright green (logo highlight)
   Wheat    #c9973f   golden grain accent
   Cream    #faf7ef   background
   Ink      #16241c   body text
   ========================================================= */

:root{
  --forest:#0d3b2e;
  --forest-deep:#082720;
  --leaf:#1fb454;
  --leaf-soft:#e6f6ec;
  --wheat:#c9973f;
  --wheat-soft:#f6ecd7;
  --cream:#faf7ef;
  --paper:#ffffff;
  --ink:#16241c;
  --ink-soft:#4a5c50;
  --line:#e2ddcd;
}

*{box-sizing:border-box;}

html{scroll-behavior:smooth;}

body{
  font-family:'Work Sans', sans-serif;
  color:var(--ink);
  background:var(--cream);
  line-height:1.6;
  overflow-x:hidden;
}

h1,h2,h3,h4,.display-font{
  font-family:'Fraunces', serif;
  font-weight:600;
  color:var(--forest);
  letter-spacing:-0.01em;
}

.mono{
  font-family:'IBM Plex Mono', monospace;
  letter-spacing:0.04em;
}

a{text-decoration:none;}

.btn-leaf{
  background:var(--leaf);
  border:1px solid var(--leaf);
  color:#fff;
  font-family:'Work Sans',sans-serif;
  font-weight:600;
  padding:.85rem 1.9rem;
  border-radius:2px;
  transition:all .25s ease;
  display:inline-block;
}
.btn-leaf:hover{
  background:var(--forest);
  border-color:var(--forest);
  color:#fff;
}

.btn-outline-cream{
  background:transparent;
  border:1px solid rgba(255,255,255,.55);
  color:#fff;
  font-family:'Work Sans',sans-serif;
  font-weight:600;
  padding:.85rem 1.9rem;
  border-radius:2px;
  transition:all .25s ease;
  display:inline-block;
}
.btn-outline-cream:hover{
  background:#fff;
  color:var(--forest);
  border-color:#fff;
}

/* ---------- Topbar ---------- */
.topbar{
  background:var(--forest-deep);
  color:#cfe8da;
  font-size:.85rem;
  padding:.5rem 0;
}
.topbar a{color:#cfe8da;}
.topbar a:hover{color:var(--wheat);}
.topbar .divider{opacity:.3;margin:0 .9rem;}

/* ---------- Navbar ---------- */
.navbar-oceanic{
  background:var(--paper);
  padding:.9rem 0;
  border-bottom:1px solid var(--line);
}
.navbar-oceanic .navbar-brand img{height:68px;}
.navbar-oceanic .nav-link{
  color:var(--ink);
  font-weight:600;
  font-size:.95rem;
  margin:0 .6rem;
  padding:.4rem .2rem !important;
  position:relative;
}
.navbar-oceanic .nav-link::after{
  content:"";
  position:absolute;
  left:0;bottom:0;
  width:0;
  height:2px;
  background:var(--leaf);
  transition:width .25s ease;
}
.navbar-oceanic .nav-link:hover::after,
.navbar-oceanic .nav-link.active::after{width:100%;}
.navbar-oceanic .nav-cta{
  background:var(--forest);
  color:#fff !important;
  padding:.55rem 1.3rem !important;
  border-radius:2px;
  margin-left:.5rem;
}
.navbar-oceanic .nav-cta::after{display:none;}
.navbar-oceanic .dropdown-menu{
  border:1px solid var(--line);
  border-radius:2px;
  box-shadow:0 12px 28px -14px rgba(13,59,46,.25);
  padding:.5rem;
  margin-top:.4rem;
}
.navbar-oceanic .dropdown-item{
  font-size:.9rem;
  font-weight:500;
  color:var(--ink);
  padding:.55rem .8rem;
  border-radius:2px;
}
.navbar-oceanic .dropdown-item:hover{background:var(--leaf-soft);color:var(--forest);}
.navbar-oceanic .dropdown-item.view-all{
  border-top:1px solid var(--line);
  margin-top:.4rem;
  padding-top:.65rem;
  font-weight:600;
  color:var(--leaf);
}
.navbar-oceanic .nav-link.dropdown-toggle::after{vertical-align:.15em;}

/* ---------- Hero ---------- */
.hero{
  position:relative;
  background:var(--cream);
  color:var(--ink);
  padding:5rem 0 4.2rem;
  overflow:hidden;
}
.hero-video{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  z-index:0;
}
.hero-video-overlay{
  position:absolute;
  inset:0;
  background:linear-gradient(100deg,rgba(250,247,239,.88) 0%,rgba(250,247,239,.62) 45%,rgba(250,247,239,.3) 75%,rgba(250,247,239,.15) 100%);
  z-index:1;
}
.hero > .container{position:relative;z-index:2;}
.hero .eyebrow{
  color:var(--leaf);
  font-family:'IBM Plex Mono',monospace;
  font-size:.8rem;
  letter-spacing:.18em;
  text-transform:uppercase;
}
.hero h1{
  color:var(--forest);
  font-size:clamp(2.3rem,4.2vw,3.6rem);
  line-height:1.12;
  margin:1rem 0 1.4rem;
}
.hero h1 em{
  font-style:italic;
  color:var(--leaf);
}
.hero p.lead{
  color:var(--ink-soft);
  font-size:1.08rem;
  max-width:540px;
}
.hero-stats{
  border-top:1px solid var(--line);
  margin-top:3.2rem;
  padding-top:1.8rem;
}
.hero-stats .stat-num{
  font-family:'Fraunces',serif;
  font-size:2.1rem;
  color:var(--forest);
  font-weight:600;
}
.hero-stats .stat-label{
  font-size:.8rem;
  color:var(--ink-soft);
  text-transform:uppercase;
  letter-spacing:.06em;
}

.btn-outline-dark{
  background:transparent;
  border:1px solid var(--forest);
  color:var(--forest);
  font-family:'Work Sans',sans-serif;
  font-weight:600;
  padding:.85rem 1.9rem;
  border-radius:2px;
  transition:all .25s ease;
  display:inline-block;
}
.btn-outline-dark:hover{
  background:var(--forest);
  color:#fff;
}

/* ---------- Hero image collage ---------- */
.hero-collage{
  position:relative;
  height:440px;
}
.hc-img{
  position:absolute;
  border-radius:2px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.12);
}
.hc-img img{width:100%;height:100%;object-fit:cover;display:block;}
.hc-1{width:64%;height:72%;top:0;right:0;}
.hc-2{width:48%;height:48%;bottom:0;left:0;z-index:2;}
.hc-badge{
  background:#fff;
  padding:.9rem 1.15rem;
  border-radius:2px;
  border:1px solid var(--line);
  display:flex;align-items:center;gap:.7rem;
  box-shadow:0 20px 40px -20px rgba(13,59,46,.35);
}
.hc-badge img{height:38px;width:auto;object-fit:contain;box-shadow:none;}
.hc-badge .txt{
  font-family:'IBM Plex Mono',monospace;
  font-size:.66rem;
  letter-spacing:.04em;
  color:var(--forest);
  line-height:1.35;
}
.hc-badge .txt b{color:var(--leaf);display:block;font-size:.72rem;}

/* ---------- Section divider (minimal) ---------- */
.section-divider{
  height:1px;
  background:var(--line);
  max-width:1180px;
  margin:0 auto;
}

/* ---------- Section basics ---------- */
section{padding:5.2rem 0;}
.section-cream{background:var(--cream);}
.section-white{background:var(--paper);}
.eyebrow-label{
  font-family:'IBM Plex Mono',monospace;
  color:var(--leaf);
  font-size:.78rem;
  letter-spacing:.16em;
  text-transform:uppercase;
  margin-bottom:.6rem;
  display:inline-block;
}
.section-title{
  font-size:clamp(1.7rem,2.6vw,2.4rem);
  margin-bottom:1rem;
}
.text-ink-soft{color:var(--ink-soft);}

/* ---------- About ---------- */
.about-figure{
  position:relative;
  border-radius:4px;
  overflow:hidden;
  background:var(--forest);
  aspect-ratio:4/5;
}
.about-figure img{
  width:100%;height:100%;object-fit:cover;
  display:block;
}
.about-figure .frame-tag{
  position:absolute;
  bottom:1.4rem;left:1.4rem;right:1.4rem;
  background:rgba(8,39,32,.82);
  color:var(--wheat-soft);
  font-family:'IBM Plex Mono',monospace;
  font-size:.75rem;
  letter-spacing:.05em;
  padding:.7rem 1rem;
  border-left:3px solid var(--leaf);
}

/* ---------- Roots / legacy strip ---------- */
.roots{
  position:relative;
  background:
    linear-gradient(rgba(8,39,32,.94),rgba(8,39,32,.94)),
    url('img/products/wheat.jpg') center/cover no-repeat;
  color:#eef3ef;
}
.roots .section-title,
.roots h2,
.roots h3{color:#fff;}
.roots-card{
  border-left:2px solid var(--wheat);
  background:rgba(255,255,255,.03);
  padding:1.6rem 1.6rem 1.6rem 1.4rem;
  height:100%;
}
.roots-card .num{
  font-family:'Fraunces',serif;
  font-size:2.6rem;
  color:var(--wheat);
  line-height:1;
  margin-bottom:.6rem;
}

/* ---------- Mission / Vision ---------- */
.mv-card{
  background:var(--paper);
  border:1px solid var(--line);
  border-top:3px solid var(--leaf);
  padding:2.3rem;
  height:100%;
}
.mv-card.vision{border-top-color:var(--wheat);}
.mv-card .tag{
  font-family:'IBM Plex Mono',monospace;
  font-size:.75rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--leaf);
}
.mv-card.vision .tag{color:var(--wheat);}

/* ---------- Core values ---------- */
.value-item{
  padding:1.6rem 0;
  border-bottom:1px solid var(--line);
  display:flex;
  gap:1.1rem;
  align-items:flex-start;
}
.value-item .v-icon{
  flex:0 0 auto;
  color:var(--leaf);
  font-size:1.3rem;
  line-height:1.4;
}
.value-item h5{
  font-family:'Fraunces',serif;
  color:var(--forest);
  margin-bottom:.3rem;
  font-size:1.05rem;
}

/* ---------- Product portfolio (photo cards used instead, see below) ---------- */

/* ---------- Promise checklist ---------- */
.promise-item{
  background:var(--paper);
  border:1px solid var(--line);
  padding:1.6rem 1.6rem;
  height:100%;
}
.promise-item .check{
  color:var(--leaf);
  font-size:1.3rem;
  margin-bottom:.7rem;
  display:block;
}
.promise-item h6{
  font-family:'Fraunces',serif;
  color:var(--forest);
  margin-bottom:.4rem;
}
.promise-item p{font-size:.92rem;color:var(--ink-soft);margin:0;}

/* ---------- CTA band ---------- */
.cta-band{
  background:linear-gradient(155deg,var(--leaf-soft) 0%,var(--cream) 100%);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  color:var(--ink);
  padding:4.2rem 0;
}
.cta-band h2{color:var(--forest);}

/* ---------- Gallery strip ---------- */
.gallery-strip{
  padding:5.2rem 0;
  background:var(--paper);
}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  grid-template-rows:110px 110px;
  gap:10px;
}
.gallery-grid a{
  overflow:hidden;
  border-radius:3px;
  display:block;
}
.gallery-grid a:nth-child(1){grid-column:span 2;grid-row:span 2;}
.gallery-grid a:nth-child(4){grid-column:span 2;grid-row:span 2;}
.gallery-grid img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .4s ease;
  display:block;
}
.gallery-grid a:hover img{transform:scale(1.08);}
@media (max-width: 767.98px){
  .gallery-grid{grid-template-columns:repeat(3,1fr);grid-template-rows:90px 90px 90px;}
  .gallery-grid a:nth-child(1),.gallery-grid a:nth-child(4){grid-column:span 1;grid-row:span 1;}
  .gallery-grid a:nth-child(1){grid-column:span 2;grid-row:span 2;}
}

/* ---------- Values photo ---------- */
.values-photo{
  border-radius:4px;
  overflow:hidden;
  aspect-ratio:4/3;
  margin-top:1.8rem;
}
.values-photo img{width:100%;height:100%;object-fit:cover;display:block;}

/* ---------- Promise visual ---------- */
.promise-visual{
  position:relative;
  border-radius:4px;
  overflow:hidden;
  height:100%;
  min-height:360px;
}
.promise-visual img{width:100%;height:100%;object-fit:cover;display:block;}
.promise-visual .pv-tag{
  position:absolute;
  bottom:1.2rem;left:1.2rem;right:1.2rem;
  background:rgba(8,39,32,.82);
  color:var(--wheat-soft);
  font-family:'IBM Plex Mono',monospace;
  font-size:.75rem;
  padding:.7rem 1rem;
  border-left:3px solid var(--leaf);
}

/* ---------- Footer ---------- */
footer{
  background:var(--forest-deep);
  color:#bcd2c4;
  padding-top:3.5rem;
}
footer .foot-logo{
  background:#fff;
  padding:.6rem 1rem;
  border-radius:4px;
  display:inline-block;
}
footer .foot-logo img{height:52px;display:block;}
footer h6{
  font-family:'IBM Plex Mono',monospace;
  color:var(--wheat);
  font-size:.8rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  margin-bottom:1.1rem;
}
footer a{color:#bcd2c4;}
footer a:hover{color:var(--wheat);}
footer ul{list-style:none;padding:0;margin:0;}
footer ul li{margin-bottom:.6rem;font-size:.92rem;}
.foot-bottom{
  border-top:1px solid rgba(255,255,255,.12);
  margin-top:2.5rem;
  padding:1.2rem 0;
  font-size:.82rem;
  color:#8fac9c;
}
.social-dot{
  width:36px;height:36px;
  border:1px solid rgba(255,255,255,.25);
  border-radius:50%;
  display:inline-flex;
  align-items:center;justify-content:center;
  margin-right:.5rem;
  color:#fff;
  transition:all .2s ease;
}
.social-dot:hover{background:var(--leaf);border-color:var(--leaf);}

/* ---------- Inner page header ---------- */
.page-header{
  background:var(--cream);
  border-bottom:1px solid var(--line);
  color:var(--ink);
  padding:3.6rem 0 3rem;
}
.page-header h1{color:var(--forest);margin:.6rem 0 .4rem;font-size:clamp(1.9rem,3.4vw,2.7rem);}
.page-header .crumb{color:var(--ink-soft);font-size:.9rem;}
.page-header .crumb a{color:var(--ink-soft);}
.page-header .crumb a:hover{color:var(--leaf);}
.page-header .eyebrow{color:var(--leaf);font-family:'IBM Plex Mono',monospace;font-size:.8rem;letter-spacing:.18em;text-transform:uppercase;}
.page-header p{color:var(--ink-soft) !important;}

/* ---------- Filter tabs ---------- */
.filter-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:.6rem;
  justify-content:center;
  margin-bottom:2.6rem;
}
.filter-tabs button{
  border:1px solid var(--line);
  background:var(--paper);
  color:var(--ink-soft);
  font-family:'Work Sans',sans-serif;
  font-weight:600;
  font-size:.85rem;
  padding:.55rem 1.15rem;
  border-radius:2px;
  cursor:pointer;
  transition:all .2s ease;
}
.filter-tabs button:hover{border-color:var(--leaf);color:var(--forest);}
.filter-tabs button.active{
  background:var(--forest);
  border-color:var(--forest);
  color:#fff;
}

/* ---------- Product photo card ---------- */
.product-photo-card{
  background:var(--paper);
  border:1px solid var(--line);
  overflow:hidden;
  height:100%;
  transition:border-color .2s ease;
}
.product-photo-card:hover{
  border-color:var(--forest);
}
.product-photo-card .p-photo{
  aspect-ratio:1/1;
  background:var(--leaf-soft);
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
}
.product-photo-card .p-photo img{
  width:100%;height:100%;object-fit:cover;
  transition:transform .35s ease;
}
.product-photo-card:hover .p-photo img{transform:scale(1.06);}
.product-photo-card .p-photo .no-img{
  color:var(--leaf);
  font-size:2.4rem;
  opacity:.6;
}
.product-photo-card .p-info{padding:1rem 1.1rem 1.2rem;}
.product-photo-card .p-cat{
  font-family:'IBM Plex Mono',monospace;
  font-size:.68rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--leaf);
}
.product-photo-card h6{
  font-family:'Fraunces',serif;
  color:var(--forest);
  font-size:1rem;
  margin:.3rem 0 0;
  line-height:1.3;
}

/* ---------- Certificate card ---------- */
.cert-card{
  background:var(--paper);
  border:1px solid var(--line);
  overflow:hidden;
  height:100%;
  display:flex;
  flex-direction:column;
}
.cert-card .cert-photo{
  border-bottom:1px solid var(--line);
  background:var(--cream);
  aspect-ratio:3/4;
  overflow:hidden;
}
.cert-card .cert-photo img{
  width:100%;height:100%;object-fit:cover;object-position:top;
}
.cert-card .cert-body{
  padding:1.4rem 1.4rem 1.6rem;
  flex:1;
  display:flex;
  flex-direction:column;
}
.cert-card .cert-tag{
  font-family:'IBM Plex Mono',monospace;
  font-size:.7rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--wheat);
}
.cert-card h5{
  font-family:'Fraunces',serif;
  color:var(--forest);
  margin:.4rem 0 .5rem;
}
.cert-card p{font-size:.9rem;color:var(--ink-soft);flex:1;}
.cert-card .cert-actions{margin-top:1rem;}
.cert-card .cert-actions a{
  font-family:'Work Sans',sans-serif;
  font-weight:600;
  font-size:.85rem;
  color:var(--forest);
  border-bottom:1px solid var(--leaf);
  padding-bottom:2px;
}
.cert-card .cert-actions a:hover{color:var(--leaf);}

/* ---------- Trust strip (certificate logos on other pages) ---------- */
.trust-strip{
  background:var(--paper);
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:1.6rem 0;
}
.trust-strip .t-item{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.6rem;
  text-align:center;
  color:var(--ink-soft);
  font-family:'IBM Plex Mono',monospace;
  font-size:.76rem;
  letter-spacing:.03em;
  min-height:40px;
}
.trust-strip .t-item img{
  height:34px;
  width:auto;
  object-fit:contain;
  flex:0 0 auto;
}
.trust-strip .t-item i{
  font-size:1.3rem;
  color:var(--leaf);
  flex:0 0 auto;
}

/* ---------- Contact page ---------- */
.contact-info-card{
  background:var(--paper);
  border:1px solid var(--line);
  padding:1.6rem;
  height:100%;
  display:flex;
  gap:1rem;
  align-items:flex-start;
}
.contact-info-card .ci-icon{
  flex:0 0 auto;
  color:var(--leaf);
  font-size:1.35rem;
  line-height:1.4;
}
.contact-info-card h6{
  font-family:'Fraunces',serif;
  color:var(--forest);
  margin-bottom:.3rem;
}
.contact-info-card p{margin:0;font-size:.9rem;color:var(--ink-soft);}
.contact-info-card a{color:var(--ink-soft);}
.contact-info-card a:hover{color:var(--leaf);}

.contact-form-wrap{
  background:var(--paper);
  border:1px solid var(--line);
  padding:2.4rem;
}
.contact-form-wrap label{
  font-family:'IBM Plex Mono',monospace;
  font-size:.72rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-soft);
  margin-bottom:.4rem;
  display:block;
}
.contact-form-wrap .form-control,
.contact-form-wrap .form-select{
  border:1px solid var(--line);
  border-radius:2px;
  padding:.7rem .9rem;
  font-family:'Work Sans',sans-serif;
  font-size:.94rem;
  background:var(--cream);
}
.contact-form-wrap .form-control:focus,
.contact-form-wrap .form-select:focus{
  border-color:var(--leaf);
  box-shadow:0 0 0 3px rgba(31,180,84,.12);
  background:#fff;
}
.contact-form-wrap textarea.form-control{min-height:130px;resize:vertical;}
.map-wrap{
  border:1px solid var(--line);
  overflow:hidden;
  height:100%;
  min-height:340px;
}
.map-wrap iframe{width:100%;height:100%;min-height:340px;border:0;display:block;filter:grayscale(.15) contrast(1.05);}

.hours-card{
  background:var(--forest);
  color:#fff;
  padding:1.8rem;
}
.hours-card h6{
  font-family:'IBM Plex Mono',monospace;
  color:var(--wheat);
  font-size:.78rem;
  letter-spacing:.1em;
  text-transform:uppercase;
  margin-bottom:1rem;
}
.hours-card .hrow{
  display:flex;justify-content:space-between;
  padding:.55rem 0;
  border-bottom:1px solid rgba(255,255,255,.14);
  font-size:.9rem;
  color:#d8e6de;
}
.hours-card .hrow:last-child{border-bottom:none;}
.hours-card .hrow b{color:#fff;}

/* ---------- Group Companies (Our Roots) ---------- */
.group-co-strip{
  border-top:1px solid rgba(255,255,255,.14);
  margin-top:3.5rem;
  padding-top:3.5rem;
}
.group-co-card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.14);
  padding:1.6rem;
  height:100%;
}
.group-co-card .gc-year{
  font-family:'Fraunces',serif;
  color:var(--wheat);
  font-size:1.5rem;
  line-height:1;
  margin-bottom:.6rem;
}
.group-co-card h6{
  color:#fff;
  font-family:'Fraunces',serif;
  margin-bottom:.5rem;
  font-size:1.02rem;
}
.group-co-card p{
  color:#cfe0d5;
  font-size:.87rem;
  margin:0;
}
.group-co-card.is-us{
  border-color:var(--leaf);
  background:rgba(31,180,84,.1);
}

/* ---------- Certificate logo grid + lightbox (Certificates page) ---------- */
.cert-logo-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:1.2rem;
}
.cert-logo-tile{
  background:var(--paper);
  border:1px solid var(--line);
  padding:1.6rem 1.2rem;
  text-align:center;
  cursor:pointer;
  transition:border-color .2s ease, transform .2s ease;
}
.cert-logo-tile:hover{border-color:var(--leaf);transform:translateY(-3px);}
.cert-logo-tile .clt-mark{
  height:64px;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:1rem;
}
.cert-logo-tile .clt-mark img{max-height:64px;max-width:100%;object-fit:contain;}
.cert-logo-tile .clt-mark i{font-size:2.4rem;color:var(--leaf);}
.cert-logo-tile .clt-label{
  font-family:'Work Sans',sans-serif;
  font-weight:600;
  font-size:.88rem;
  color:var(--forest);
}
.cert-logo-tile .clt-view{
  font-family:'IBM Plex Mono',monospace;
  font-size:.68rem;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--leaf);
  margin-top:.4rem;
}
.cert-lightbox{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(8,39,32,.86);
  z-index:1050;
  align-items:center;
  justify-content:center;
  padding:2rem;
}
.cert-lightbox.open{display:flex;}
.cert-lightbox .clb-inner{
  background:#fff;
  max-width:520px;
  width:100%;
  max-height:88vh;
  overflow:auto;
  position:relative;
  padding:1.2rem;
}
.cert-lightbox img{width:100%;height:auto;display:block;}
.cert-lightbox .clb-close{
  position:absolute;
  top:-18px;right:-18px;
  width:36px;height:36px;
  background:var(--forest);
  color:#fff;
  border:none;
  border-radius:50%;
  font-size:1.1rem;
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
}
.cert-lightbox .clb-caption{
  text-align:center;
  font-family:'Work Sans',sans-serif;
  font-weight:600;
  color:var(--forest);
  padding-top:.8rem;
}
.cert-lightbox .clb-download{
  display:block;
  text-align:center;
  font-size:.85rem;
  color:var(--leaf);
  margin-top:.3rem;
}
@media (max-width:767.98px){
  .cert-logo-grid{grid-template-columns:repeat(2,1fr);}
}

/* ---------- Careers page ---------- */
.perk-card{
  background:var(--paper);
  border:1px solid var(--line);
  padding:1.8rem;
  height:100%;
  text-align:center;
}
.perk-card i{font-size:1.8rem;color:var(--leaf);margin-bottom:.8rem;display:block;}
.perk-card h6{font-family:'Fraunces',serif;color:var(--forest);margin-bottom:.4rem;}
.perk-card p{font-size:.88rem;color:var(--ink-soft);margin:0;}
.apply-cta{
  background:var(--forest);
  color:#fff;
  padding:3rem;
  text-align:center;
}
.apply-cta h3{color:#fff;}
.apply-cta p{color:#d8e6de;}

/* ---------- CSR page ---------- */
.csr-pillar{
  background:var(--paper);
  border:1px solid var(--line);
  border-top:3px solid var(--leaf);
  padding:1.8rem;
  height:100%;
}
.csr-pillar h6{
  font-family:'Fraunces',serif;
  color:var(--forest);
  margin-bottom:.7rem;
  font-size:1.05rem;
}
.csr-pillar ul{margin:0;padding-left:1.1rem;}
.csr-pillar li{font-size:.9rem;color:var(--ink-soft);margin-bottom:.5rem;}

/* ---------- Product pillars (Products We Offer) ---------- */
.pillar-card{
  background:var(--paper);
  border:1px solid var(--line);
  padding:2rem 1.6rem;
  height:100%;
  text-align:center;
}
.pillar-card i{font-size:1.9rem;color:var(--leaf);margin-bottom:1rem;display:block;}
.pillar-card h6{
  font-family:'Fraunces',serif;
  color:var(--forest);
  margin-bottom:.6rem;
  font-size:1.05rem;
}
.pillar-card p{font-size:.88rem;color:var(--ink-soft);margin:0;}

/* ---------- Responsive ---------- */
@media (max-width: 991.98px){
  .hero{padding:4.2rem 0 2.8rem;}
  section{padding:3.4rem 0;}
  .navbar-oceanic .navbar-brand img{height:52px;}
  .navbar-oceanic .navbar-collapse{
    border-top:1px solid var(--line);
    margin-top:.9rem;
    padding-top:.9rem;
  }
  .navbar-oceanic .nav-link{margin:0;padding:.6rem 0 !important;}
  .navbar-oceanic .nav-cta{
    display:inline-block;
    margin:.6rem 0 0;
  }
  .navbar-oceanic .dropdown-menu{
    border:none;
    box-shadow:none;
    padding-left:1rem;
    background:transparent;
  }
  .about-figure{margin-bottom:1rem;}
  .roots .col-lg-5{margin-bottom:1rem;}
}

@media (max-width: 767.98px){
  .topbar .container{font-size:.78rem;row-gap:.3rem;}
  .hero{padding:3.4rem 0 2.4rem;}
  .hero-stats{margin-top:2.2rem;padding-top:1.4rem;}
  .hero-stats .stat-num{font-size:1.6rem;}
  .hero-stats .stat-label{font-size:.7rem;}
  section{padding:2.8rem 0;}
  .page-header{padding:2.6rem 0 2.2rem;}
  .filter-tabs button{font-size:.78rem;padding:.5rem .9rem;}
  .cta-band .d-flex{flex-direction:column;align-items:stretch;}
  .cta-band .btn-leaf,.cta-band .btn-outline-cream{text-align:center;}
  .gallery-grid{gap:6px;}
  .trust-strip .row > div{margin-bottom:.4rem;}
  .trust-strip .t-item img{height:24px;}
  .trust-strip .t-item{font-size:.68rem;gap:.4rem;}
}

@media (max-width: 575.98px){
  .hero h1{font-size:1.8rem;}
  .hero-stats .col-4{padding:0 .35rem;}
  .btn-leaf,.btn-outline-cream{width:100%;text-align:center;}
  .hero .d-flex.flex-wrap{flex-direction:column;}
  .section-title{font-size:1.5rem;}
  .contact-form-wrap{padding:1.6rem;}
}

/* ---------- Reduced motion ---------- */
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto;}
  .product-card,.navbar-oceanic .nav-link::after{transition:none;}
  .hero-video{display:none;}
}

/* ---------- Focus visibility ---------- */
a:focus-visible,button:focus-visible{
  outline:2px solid var(--leaf);
  outline-offset:2px;
}
