/* ---------------------------------------------------------------
   PDS theme — modern ocean/aquaculture visual system
   Loaded after bootstrap.min.css and styles.min.css: variables and
   rules here intentionally win on tie-specificity via source order.
------------------------------------------------------------------ */

:root{
  --pds-ink:#0B2530;
  --pds-deep:#0A4750;
  --pds-primary:#0E6B76;
  --pds-primary-dark:#094E57;
  --pds-accent:#FF7A45;
  --pds-accent-dark:#E85F2A;
  --pds-gold:#C9A227;
  --pds-gold-light:#E8CB6E;
  --pds-bg:#E4F1F1;
  --pds-surface:#FFFFFF;
  --pds-surface-alt:#D2E9E9;
  --pds-muted:#4A6670;
  --pds-border:#CBE3E3;

  --bs-primary:var(--pds-primary);
  --bs-primary-rgb:14,107,118;
  --bs-link-color:var(--pds-primary);
  --bs-link-color-rgb:14,107,118;
  --bs-link-hover-color:var(--pds-primary-dark);
  --bs-link-hover-color-rgb:9,78,87;
}

body{
  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--pds-ink);
  background-color:var(--pds-bg);
  background-image:
    linear-gradient(180deg, rgba(10,71,80,.55) 0%, rgba(10,71,80,0) 460px),
    radial-gradient(1000px 640px at -8% -6%, rgba(14,107,118,.30), transparent 62%),
    radial-gradient(760px 520px at 108% 6%, rgba(201,162,39,.14), transparent 58%),
    radial-gradient(900px 700px at 50% 128%, rgba(9,71,80,.16), transparent 62%);
  background-attachment:fixed,fixed,fixed,fixed;
  background-repeat:no-repeat,no-repeat,no-repeat,no-repeat;
  position:relative;
}
body::before{
  content:"";
  position:fixed;inset:0;z-index:-1;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='matrix' values='0 0 0 0 0.04  0 0 0 0 0.18  0 0 0 0 0.20  0 0 0 0.5 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-repeat:repeat;
  opacity:.22;
  pointer-events:none;
}

h1,h2,h3,h4,h5,h6{
  font-family:'Plus Jakarta Sans','Inter',system-ui,sans-serif;
  font-weight:700;
  color:var(--pds-ink);
  letter-spacing:-.01em;
}

a{color:var(--pds-primary);}
a:hover{color:var(--pds-accent);}

/* ---------- buttons ---------- */
.btn-primary{
  --bs-btn-bg:var(--pds-primary);
  --bs-btn-border-color:var(--pds-primary);
  --bs-btn-hover-bg:var(--pds-primary-dark);
  --bs-btn-hover-border-color:var(--pds-primary-dark);
  --bs-btn-active-bg:var(--pds-primary-dark);
  --bs-btn-active-border-color:var(--pds-primary-dark);
  border-radius:50px;
  padding-inline:1.5rem;
  font-weight:600;
}
.btn-outline-primary{
  --bs-btn-color:var(--pds-primary);
  --bs-btn-border-color:var(--pds-primary);
  --bs-btn-hover-bg:var(--pds-primary);
  --bs-btn-hover-border-color:var(--pds-primary);
  border-radius:50px;
  padding-inline:1.5rem;
  font-weight:600;
}
.btn-accent{
  background:var(--pds-accent);
  border-color:var(--pds-accent);
  color:#fff;
  border-radius:50px;
  padding-inline:1.75rem;
  font-weight:600;
}
.btn-accent:hover{background:var(--pds-accent-dark);border-color:var(--pds-accent-dark);color:#fff;}
.btn-success{
  background:var(--pds-accent);
  border-color:var(--pds-accent);
  border-radius:50px;
  font-weight:600;
}
.btn-success:hover{background:var(--pds-accent-dark);border-color:var(--pds-accent-dark);}

/* ---------- navbar ---------- */
.site-navbar{
  background:linear-gradient(100deg,var(--pds-deep) 0%,var(--pds-primary) 160%) !important;
  border-bottom:1px solid rgba(255,255,255,.08);
  box-shadow:0 4px 20px -8px rgba(11,37,48,.5);
  min-height:60px;
}
.site-navbar .navbar-brand{
  background:#fff;
  padding:.4rem .8rem;
  border-radius:12px;
  box-shadow:0 2px 10px rgba(0,0,0,.18);
  display:inline-flex;
  align-items:center;
}
.site-navbar .navbar-toggler{
  border-color:rgba(255,255,255,.35);
}
.site-navbar .navbar-toggler-icon{
  filter:brightness(0) invert(1);
}
.site-navbar .navbar-nav{
  font-family:'Plus Jakarta Sans','Inter',sans-serif;
  font-size:.95rem;
  font-weight:600;
  gap:.25rem;
}
.site-navbar .nav-link{
  color:#CFE8E5;
  padding:.5rem 1rem !important;
  border-radius:50px;
  transition:color .15s ease,background-color .15s ease;
}
.site-navbar .nav-link:hover{color:#fff;background:rgba(255,255,255,.1);}
.site-navbar .nav-link.active{color:#fff;background:var(--pds-accent);}

/* ---------- hero ---------- */
.hero{
  position:relative;
  height:calc(100vh - 60px);
  min-height:480px;
  margin:0 0 0;
  overflow:hidden;
}
.hero-wave{
  position:relative;line-height:0;margin-top:-2px;z-index:3;
}
.hero-wave svg{width:100%;height:64px;display:block;}
.footer-wave{line-height:0;margin-bottom:-2px;}
.footer-wave svg{width:100%;height:48px;display:block;}
.hero .carousel,.hero .carousel-inner,.hero .carousel-item{height:100%;}
.hero .carousel-item img{filter:saturate(1.05);}
.hero::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(100deg,rgba(10,71,80,.82) 0%,rgba(10,71,80,.48) 42%,rgba(10,71,80,.1) 70%);
  pointer-events:none;
  z-index:1;
}
.hero-content{
  position:absolute;inset:0;z-index:2;
  display:flex;align-items:center;
}
.hero-card{
  max-width:520px;
  color:#fff;
  padding:.5rem 0;
}
.hero-card .eyebrow{
  display:inline-block;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:600;
  font-size:.8rem;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#B8E9E2;
  margin-bottom:.75rem;
  position:relative;
  padding-bottom:.65rem;
}
.hero-card .eyebrow::after{
  content:"";
  position:absolute;left:0;bottom:0;
  width:42px;height:2px;
  background:linear-gradient(90deg,var(--pds-gold-light),transparent);
}
.hero-card h1{
  color:#fff;
  font-size:2.6rem;
  line-height:1.08;
  margin-bottom:1rem;
}
.hero-card p{color:#E7F3F1;font-size:1.05rem;}

/* ---------- sections ---------- */
.section{padding:4.5rem 0;}
.section-alt{background:var(--pds-surface-alt);}
.section-eyebrow{
  display:block;
  font-family:'Plus Jakarta Sans',sans-serif;
  font-weight:700;
  font-size:.8rem;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--pds-primary-dark);
  margin-bottom:.6rem;
  position:relative;
  padding-bottom:.7rem;
}
.section-eyebrow::after{
  content:"";
  position:absolute;left:0;bottom:0;
  width:42px;height:2px;
  background:linear-gradient(90deg,var(--pds-gold),var(--pds-gold-light) 60%,transparent);
}
.text-center .section-eyebrow::after{left:50%;transform:translateX(-50%);}
.section-lead{color:var(--pds-muted);}

/* feature cards on home page */
.feature-card{
  position:relative;
  background:var(--pds-surface);
  border:1px solid var(--pds-border);
  border-radius:18px;
  overflow:hidden;
  height:100%;
  transition:transform .18s ease,box-shadow .18s ease;
}
.feature-card:hover{transform:translateY(-4px);box-shadow:0 16px 32px -20px rgba(11,37,48,.35);}
.feature-card img{height:190px;object-fit:cover;width:100%;filter:saturate(88%);}

/* teal duotone wash tying photos to the ocean palette */
.feature-card::after,
.tilt-card::after,
.panel-media::after,
.subpage-card::after{
  content:"";
  position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(9,78,87,.32),rgba(14,107,118,.14));
  mix-blend-mode:multiply;
  pointer-events:none;
}
.panel-media::after{border-radius:18px;}
.subpage-card::after{border-radius:18px;}
.feature-card .feature-body{padding:1.25rem 1.4rem 1.5rem;}
.feature-card h4{font-size:1.15rem;margin-bottom:.5rem;}
.feature-card p{color:var(--pds-muted);font-size:.95rem;margin-bottom:.6rem;}
.learn-more{
  display:inline-flex;align-items:center;gap:.35rem;
  font-weight:600;font-size:.9rem;
  color:var(--pds-primary);
  text-decoration:none;
}
.learn-more:hover{color:var(--pds-accent);}
.learn-more::after{content:"\2192";transition:transform .15s ease;}
.learn-more:hover::after{transform:translateX(3px);}

/* product / gallery tilt cards */
.tilt-card{
  position:relative;
  border:0;border-radius:16px;overflow:hidden;
  box-shadow:0 18px 30px -18px rgba(11,37,48,.4);
}
.tilt-card img{border-radius:16px;height:260px;width:100%;object-fit:cover;filter:saturate(88%);}

/* image panels used in facility/material/process rows */
.panel-copy{
  background:var(--pds-surface);
  border-radius:18px;
  padding:2rem;
}
.panel-copy h2{margin-bottom:.75rem;}
.panel-copy p{color:var(--pds-muted);}
.panel-media{position:relative;}
.panel-media img{border-radius:18px;box-shadow:0 20px 40px -24px rgba(11,37,48,.4);filter:saturate(88%);}

/* ---------- sub pages (blessings / longtradition / adtechno / strongcommitment) ---------- */
.subpage-hero{
  background:linear-gradient(120deg,var(--pds-primary) 0%,var(--pds-primary-dark) 100%);
  border-radius:0 0 28px 28px;
  padding:3rem 0 4rem;
  color:#fff;
  margin-bottom:-2.5rem;
}
.subpage-hero h1{color:#fff;font-size:2rem;margin-bottom:.4rem;}
.subpage-hero .btn-light{
  border-radius:50px;font-weight:600;
  background:rgba(255,255,255,.16);
  color:#fff;border:1px solid rgba(255,255,255,.4);
}
.subpage-hero .btn-light:hover{background:#fff;color:var(--pds-primary-dark);}
.subpage-card{
  position:relative;z-index:2;
  background:var(--pds-surface);
  border-radius:18px;
  box-shadow:0 24px 48px -28px rgba(11,37,48,.4);
  padding:2rem;
}
.subpage-card img{border-radius:14px;filter:saturate(88%);}
.subpage-card p{color:var(--pds-muted);line-height:1.7;}

/* ---------- footer ---------- */
.site-footer{
  background:linear-gradient(100deg,var(--pds-deep) 0%,var(--pds-ink) 160%) !important;
  color:#CFE3E0;
}
.site-footer h3,.site-footer h5{color:#fff;}
.site-footer a{color:#CFE3E0;}
.site-footer a:hover{color:var(--pds-accent);}
.site-footer .text-muted{color:#8FB0AC !important;}
.site-footer hr{border-color:rgba(255,255,255,.15);}
.site-footer .list-inline-item a,
.site-footer .list-inline-item{
  display:inline-flex;align-items:center;justify-content:center;
  width:34px;height:34px;border-radius:50%;
  background:rgba(255,255,255,.08);
  color:#fff;
}
.site-footer .list-inline-item:hover{background:var(--pds-accent);}

/* ---------- contact page ---------- */
.contact-form .input-group-text{
  background:var(--pds-surface-alt);
  border-color:var(--pds-border);
  font-weight:600;
  color:var(--pds-primary-dark);
}
.contact-form .form-control{border-color:var(--pds-border);}
.contact-form .form-control:focus{border-color:var(--pds-primary);box-shadow:0 0 0 .2rem rgba(14,107,118,.15);}
.contact-map{border-radius:18px;overflow:hidden;box-shadow:0 20px 40px -24px rgba(11,37,48,.35);}
.contact-map iframe{display:block;}

@media (max-width:767px){
  .hero{height:calc(100vh - 60px);min-height:420px;}
  .hero-card h1{font-size:2rem;}
  .section{padding:3rem 0;}
}
