:root {
  --green-dark: #1a3d1f; --green-mid: #2d6a35; --green-bright: #4a9e52;
  --green-light: #7ec47f; --green-pale: #d4ead5;
  --gold: #c8a84b; --gold-light: #e8d48a;
  --white: #f7f9f7; --gray-mid: #8a9e8b;
  --text-dark: #1a2b1b; --text-mid: #3d5440;
}
* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { font-family:'Barlow',sans-serif; background:var(--white); color:var(--text-dark); overflow-x:hidden; }

nav {
    position: fixed; top: 0; left: 0; right: 0; z-index: 100;
    display: flex; align-items: center; justify-content: space-between;
    padding: 0 5vw;
    height: 72px;
    background: rgba(247,249,247,0.92);
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(74,158,82,0.15);
    transition: all 0.3s ease;
  }
  .nav-logo {
    display: flex; align-items: center; gap: 12px;
    text-decoration: none;
  }
  .logo-icon { width: 44px; height: 44px; position: relative; }
  .logo-svg { width: 100%; height: 100%; }
  .logo-text { display: flex; flex-direction: column; line-height: 1; }
  .logo-name {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 1.5rem; font-weight: 700;
    color: var(--green-dark); letter-spacing: 0.04em;
  }
  .logo-since {
    font-size: 0.65rem; font-weight: 500;
    color: var(--green-mid); letter-spacing: 0.18em;
    text-transform: uppercase; margin-top: 2px;
  }
  .nav-links { display: flex; gap: 2.5rem; list-style: none; align-items: center; }
  .nav-links a {
    text-decoration: none;
    font-size: 0.78rem; font-weight: 600;
    letter-spacing: 0.12em; text-transform: uppercase;
    color: var(--text-mid); transition: color 0.2s;
    position: relative;
  }
  .nav-links a::after {
    content: ''; position: absolute; bottom: -4px; left: 0; right: 0;
    height: 1px; background: var(--green-bright);
    transform: scaleX(0); transform-origin: left; transition: transform 0.25s ease;
  }
  .nav-links a:hover { color: var(--green-dark); }
  .nav-links a:hover::after { transform: scaleX(1); }
  .nav-cta {
    padding: 9px 22px; background: var(--green-dark);
    color: white !important; border-radius: 2px;
    font-size: 0.74rem !important;
  }
  .nav-cta::after { display: none !important; }
  .nav-cta:hover { background: var(--green-mid) !important; }

  /* ── DROPDOWN ── */
  .nav-has-dropdown { position: relative; }
  .nav-has-dropdown > a { display: flex; align-items: center; gap: 5px; }
  .nav-has-dropdown > a::after { display: none !important; }
  .chevron {
    display: inline-block; width: 7px; height: 7px;
    border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
    transform: rotate(45deg) translateY(-2px); transition: transform 0.22s ease; flex-shrink: 0;
  }
  .nav-has-dropdown:hover .chevron { transform: rotate(-135deg) translateY(-2px); }
  .link-text { position: relative; }
  .link-text::after {
    content: ''; position: absolute; bottom: -4px; left: 0; right: 0;
    height: 1px; background: var(--green-bright);
    transform: scaleX(0); transform-origin: left; transition: transform 0.25s;
  }
  .nav-has-dropdown:hover .link-text::after { transform: scaleX(1); }
  .dropdown-menu {
    position: absolute; top: calc(100% + 16px); left: 50%;
    transform: translateX(-50%) translateY(8px);
    background: white; border-radius: 5px;
    box-shadow: 0 10px 36px rgba(0,0,0,0.12), 0 0 0 1px rgba(74,158,82,0.13);
    min-width: 580px; display: grid; grid-template-columns: 1fr 1fr;
    opacity: 0; visibility: hidden;
    transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
    z-index: 300; overflow: hidden;
  }
  .dropdown-menu::before {
    content: ''; position: absolute; top: -6px; left: 50%;
    transform: translateX(-50%) rotate(45deg);
    width: 12px; height: 12px; background: white;
    border-top: 1px solid rgba(74,158,82,0.13); border-left: 1px solid rgba(74,158,82,0.13);
  }
  .nav-has-dropdown:hover .dropdown-menu { opacity: 1; visibility: visible; transform: translateX(-50%) translateY(0); }
  .dropdown-col { padding: 1.6rem 1.5rem; }
  .dropdown-col:first-child { border-right: 1px solid rgba(74,158,82,0.1); }
  .dropdown-col-title {
    font-family: 'Barlow Condensed', sans-serif;
    font-size: 0.67rem; font-weight: 700; letter-spacing: 0.2em;
    text-transform: uppercase; color: var(--green-bright);
    margin-bottom: 0.9rem; padding-bottom: 0.55rem;
    border-bottom: 1px solid rgba(74,158,82,0.1);
  }
  .dropdown-item {
    display: flex; align-items: flex-start; gap: 9px;
    padding: 0.5rem 0.45rem; border-radius: 3px;
    text-decoration: none; color: var(--text-dark); transition: background 0.16s;
  }
  .dropdown-item:hover { background: rgba(74,158,82,0.07); }
  .dropdown-item-icon { font-size: 1rem; line-height: 1.45; flex-shrink: 0; }
  .dropdown-item-name { font-size: 0.8rem; font-weight: 600; color: var(--green-dark); line-height: 1.3; }
  .dropdown-item-desc { font-size: 0.7rem; color: var(--gray-mid); line-height: 1.4; margin-top: 1px; }

.dropdown-item:hover { background: rgba(74,158,82,0.08); transform: translateX(3px); }
.dropdown-item-icon {
  flex-shrink: 0; width: 36px; height: 36px; border-radius: 8px;
  background: linear-gradient(135deg, rgba(74,158,82,0.12) 0%, rgba(45,106,53,0.18) 100%);
  border: 1px solid rgba(74,158,82,0.18);
  display: flex; align-items: center; justify-content: center;
  transition: background 0.2s, transform 0.2s, box-shadow 0.2s;
}
.page-hero {
  margin-top:72px;
  position:relative;
  min-height:380px;
  height:auto;
  overflow:hidden;
}
.page-hero-bg {
  position:absolute; inset:0;
  background-size:cover; background-position:center;
  transition:background-image 0.4s;
}
.page-hero-overlay {
  position:absolute; inset:0;
  background:
    linear-gradient(to right,
      rgba(10,30,12,0.97) 0%,
      rgba(10,30,12,0.88) 30%,
      rgba(10,30,12,0.55) 60%,
      rgba(10,30,12,0.2) 100%);
}
.page-hero-grid {
  position:absolute; inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,0.03) 1px, transparent 1px);
  background-size:50px 50px;
}

.page-hero-content {
  position:relative; z-index:3;
  min-height:380px;
  display:flex; flex-direction:column; justify-content:center;
  padding: clamp(2.2rem, 5vh, 5rem) clamp(2rem, 6vw, 8rem);
  max-width:750px;
}

.breadcrumb {
  display:flex; align-items:center; gap:8px;
  font-size:0.72rem; font-weight:500; letter-spacing:0.12em;
  text-transform:uppercase; color:rgba(255,255,255,0.5);
  margin-bottom: clamp(0.6rem, 2vh, 1.4rem);
  flex-wrap:wrap;
}
.breadcrumb a { color:rgba(255,255,255,0.5); text-decoration:none; transition:color 0.2s; }
.breadcrumb a:hover { color:var(--green-light); }
.breadcrumb-cur { color:var(--gold); }
.breadcrumb-sep { color:rgba(255,255,255,0.25); }

.page-hero-tag {
  font-size:0.72rem; font-weight:600; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--gold);
  margin-bottom: clamp(0.4rem, 1.5vh, 1rem);
  display:flex; align-items:center; gap:10px;
}
.page-hero-tag::before { content:''; display:block; width:28px; height:1px; background:var(--gold); }

.page-hero-h1 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.9rem, 3.5vw, 3.4rem);
  font-weight:300; line-height:1.15; color:white;
  margin-bottom: clamp(0.5rem, 1.5vh, 1rem);
}
.page-hero-h1 em { font-style:italic; color:var(--gold-light); }

.page-hero-desc {
  font-size:0.9rem; line-height:1.75;
  color:rgba(255,255,255,0.65); max-width:520px;
}
.hero-accent {
  position:absolute; bottom:0; left:0; right:0; height:3px; z-index:4;
  background:linear-gradient(to right,var(--gold),var(--green-bright),transparent);
}

/* ══════════════════════════════════════════
   MAIN CONTENT
══════════════════════════════════════════ */
.page-content {
  padding:4rem clamp(2rem,8vw,8rem) 6rem;
  max-width:1280px; margin:0 auto;
}
.section-tag {
  font-size:0.72rem; font-weight:600; letter-spacing:0.22em;
  text-transform:uppercase; color:var(--green-bright);
  margin-bottom:0.8rem; display:flex; align-items:center; gap:10px;
}
.section-tag::before { content:''; display:block; width:28px; height:1px; background:var(--green-bright); }
.section-h2 {
  font-family:'Cormorant Garamond',serif;
  font-size:clamp(1.8rem,3vw,2.6rem); font-weight:400;
  line-height:1.2; color:var(--green-dark); margin-bottom:2.5rem;
}
.section-h2 em { font-style:italic; color:var(--green-mid); }

.btn-back {
  display:inline-flex; align-items:center; gap:8px;
  text-decoration:none; font-size:0.78rem; font-weight:600;
  letter-spacing:0.1em; text-transform:uppercase;
  color:var(--green-mid); margin-bottom:2.5rem;
  transition:color 0.2s; border:none; background:none; cursor:pointer;
}
.btn-back svg { width:16px; height:16px; transition:transform 0.2s; }
.btn-back:hover { color:var(--green-dark); }
.btn-back:hover svg { transform:translateX(-3px); }

/* ── SUB-CARDS GRID ── */
.sub-cards-grid {
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(280px,1fr));
  gap:1.8rem;
}
.sub-card {
  border-radius:6px; overflow:hidden; cursor:pointer;
  background:white; box-shadow:0 2px 16px rgba(0,0,0,0.07);
  border:1px solid rgba(74,158,82,0.1);
  transition:transform 0.3s, box-shadow 0.3s;
  position:relative;
}
.sub-card:hover { transform:translateY(-6px); box-shadow:0 16px 40px rgba(0,0,0,0.13); }
.sub-card-img {
  height:200px; background-size:cover; background-position:center;
  position:relative; overflow:hidden;
}
.sub-card-img::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom,transparent 40%,rgba(10,28,12,0.75) 100%);
}
.sub-card-img-hint {
  position:absolute; inset:0; z-index:2;
  display:flex; align-items:center; justify-content:center;
  background:rgba(26,61,31,0.0); transition:background 0.3s;
}
.sub-card:hover .sub-card-img-hint { background:rgba(26,61,31,0.35); }
.sub-card-img-hint-icon {
  width:52px; height:52px; border-radius:50%;
  background:rgba(200,168,75,0.9);
  display:flex; align-items:center; justify-content:center;
  opacity:0; transform:scale(0.6); transition:opacity 0.3s,transform 0.3s;
}
.sub-card:hover .sub-card-img-hint-icon { opacity:1; transform:scale(1); }
.sub-card-img-hint-icon svg { width:22px; height:22px; color:var(--green-dark); }
.sub-card::before {
  content:''; position:absolute; top:0; left:0;
  width:0; height:3px; background:var(--gold);
  transition:width 0.35s; z-index:3;
}
.sub-card:hover::before { width:100%; }
.sub-card-body { padding:1.4rem 1.6rem 1.6rem; }
.sub-card-title {
  font-family:'Barlow Condensed',sans-serif; font-size:1.05rem; font-weight:700;
  color:var(--green-dark); letter-spacing:0.06em; text-transform:uppercase; margin-bottom:0.5rem;
}
.sub-card-count { font-size:0.75rem; color:var(--gray-mid); letter-spacing:0.06em; }

/* ══════════════════════════════════════════
   MODAL 
══════════════════════════════════════════ */
.modal-backdrop {
  position:fixed; inset:0; z-index:500;
  background:rgba(0,0,0,0.85); backdrop-filter:blur(10px);
  display:flex; align-items:center; justify-content:center;
  padding:1.5rem; opacity:0; pointer-events:none; transition:opacity 0.3s ease;
}
.modal-backdrop.open { opacity:1; pointer-events:all; }
.modal {
  position:relative; background:#111a13; border-radius:20px;
  max-width:1000px; width:100%; min-height:440px; overflow:hidden;
  display:flex; flex-direction:row;
  box-shadow:0 50px 120px rgba(0,0,0,0.8), 0 0 0 1px rgba(58,181,74,0.15);
  transform:translateY(50px) scale(0.94);
  transition:transform 0.45s cubic-bezier(0.22,1.4,0.36,1);
}
.modal-backdrop.open .modal { transform:translateY(0) scale(1); }
.modal-corner-tr {
  position:absolute; top:0; right:0; z-index:3;
  width:0; height:0; border-style:solid;
  border-width:0 160px 160px 0;
  border-color:transparent #3ab54a transparent transparent;
}
.modal-corner-br {
  position:absolute; bottom:0; right:0; z-index:3;
  width:0; height:0; border-style:solid;
  border-width:0 0 110px 110px;
  border-color:transparent transparent #3ab54a transparent;
}
.modal-dot-grid {
  position:absolute; top:0; right:0; bottom:0; width:58%; z-index:1;
  background-image:radial-gradient(circle, rgba(58,181,74,0.4) 1.5px, transparent 1.5px);
  background-size:20px 20px; pointer-events:none;
}
.modal-deco {
  position:absolute; top:0; left:0; bottom:0;
  width:52%; z-index:2; overflow:hidden; pointer-events:none;
}
.modal-deco::before {
  content:''; position:absolute; top:-20px; left:-80px;
  width:170px; height:520px; background:rgba(255,255,255,0.028);
  transform:rotate(-16deg); border-radius:6px;
}
.modal-deco::after {
  content:''; position:absolute; top:-10px; left:50px;
  width:110px; height:480px; background:rgba(255,255,255,0.018);
  transform:rotate(-16deg); border-radius:6px;
}
.modal-left {
  position:relative; z-index:5; flex:0 0 46%;
  display:flex; flex-direction:column; justify-content:center;
  padding:3rem 2rem 3rem 3rem; gap:1.2rem;
}
.modal-parent-label {
  font-family:'Barlow Condensed',sans-serif; font-size:0.7rem; font-weight:700;
  letter-spacing:0.28em; text-transform:uppercase; color:#3ab54a;
  display:flex; align-items:center; gap:10px;
}
.modal-parent-label::before { content:''; display:block; width:22px; height:2px; background:#3ab54a; flex-shrink:0; }
.modal-big-title {
  font-family:'Barlow Condensed',sans-serif;
  font-size:clamp(2.2rem,3.8vw,3.4rem); font-weight:900; line-height:1.0;
  color:#ffffff; text-transform:uppercase; letter-spacing:0.02em; word-break:break-word;
}
.modal-big-title .title-sub {
  display:block; color:#3ab54a; font-size:0.65em; font-weight:700;
  letter-spacing:0.15em; margin-bottom:0.15em;
}
.modal-stations-label {
  font-family:'Barlow Condensed',sans-serif; font-size:0.62rem; font-weight:700;
  letter-spacing:0.22em; text-transform:uppercase; color:rgba(255,255,255,0.3);
  margin-bottom:0.5rem; padding-bottom:0.5rem; border-bottom:1px solid rgba(255,255,255,0.07);
}
.modal-list {
  list-style:none; display:flex; flex-direction:column; max-height:210px; overflow-y:auto;
}
.modal-list::-webkit-scrollbar { width:3px; }
.modal-list::-webkit-scrollbar-track { background:transparent; }
.modal-list::-webkit-scrollbar-thumb { background:rgba(58,181,74,0.35); border-radius:2px; }
.modal-list li {
  display:flex; align-items:center; gap:10px; padding:0.42rem 0;
  border-bottom:1px solid rgba(255,255,255,0.05);
  font-family:'Barlow',sans-serif; font-size:0.8rem; line-height:1.45;
  color:rgba(255,255,255,0.6); transition:color 0.2s;
}
.modal-list li:hover { color:rgba(255,255,255,0.9); }
.modal-list li:last-child { border-bottom:none; }
.modal-list li::before { content:''; width:5px; height:5px; border-radius:50%; background:#3ab54a; flex-shrink:0; }
.modal-close {
  position:absolute; top:1.2rem; right:1.2rem; z-index:10;
  width:36px; height:36px; border-radius:50%; border:none;
  background:rgba(255,255,255,0.07); cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  transition:background 0.2s; color:rgba(255,255,255,0.55);
}
.modal-close:hover { background:rgba(58,181,74,0.35); color:white; }
.modal-close svg { width:15px; height:15px; }
.modal-right {
  position:relative; z-index:5; flex:1;
  display:flex; align-items:center; justify-content:center;
  padding:2.5rem 2.5rem 2.5rem 1.5rem;
}
.modal-img-card {
  position:relative; width:100%; aspect-ratio:4/3; border-radius:20px;
  overflow:hidden; background:#0a0f0b;
  box-shadow:0 0 0 1px rgba(255,255,255,0.08), 0 20px 60px rgba(0,0,0,0.7), inset 0 0 0 1px rgba(58,181,74,0.08);
}
.modal-img-card img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.5s ease; }
.modal-backdrop.open .modal-img-card img { transform:scale(1.04); }
.modal-img-card::after {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at center,transparent 50%,rgba(0,0,0,0.4) 100%);
  pointer-events:none;
}

/* ── CTA BAND ── */
.cta-band {
  margin-top:5rem; background:var(--green-dark); border-radius:6px;
  padding:3rem 4rem; display:flex; align-items:center; justify-content:space-between;
  gap:2rem; position:relative; overflow:hidden;
}
.cta-band::before {
  content:''; position:absolute; top:-60px; right:-60px;
  width:220px; height:220px; border-radius:50%; background:rgba(200,168,75,0.07);
}
.cta-band-left { position:relative; z-index:1; }
.cta-band-tag { font-size:0.68rem; font-weight:600; letter-spacing:0.2em; text-transform:uppercase; color:var(--gold); margin-bottom:0.5rem; }
.cta-band-title { font-family:'Cormorant Garamond',serif; font-size:1.9rem; font-weight:400; color:white; line-height:1.25; }
.cta-band-title em { font-style:italic; color:var(--gold-light); }
.cta-band-right { position:relative; z-index:1; display:flex; gap:1rem; flex-shrink:0; }
.btn-primary {
  padding:13px 28px; background:var(--gold); color:var(--green-dark);
  text-decoration:none; font-size:0.8rem; font-weight:700; letter-spacing:0.1em;
  text-transform:uppercase; border-radius:2px; transition:all 0.25s;
  display:inline-block; border:none; cursor:pointer;
}
.btn-primary:hover { background:var(--gold-light); transform:translateY(-1px); }
.btn-outline-white {
  padding:13px 28px; border:1.5px solid rgba(255,255,255,0.35); color:white;
  text-decoration:none; font-size:0.8rem; font-weight:600; letter-spacing:0.1em;
  text-transform:uppercase; border-radius:2px; transition:all 0.25s; display:inline-block;
}
.btn-outline-white:hover { border-color:white; background:rgba(255,255,255,0.08); transform:translateY(-1px); }

/* ── FOOTER ── */
footer { background:var(--green-dark); color:rgba(255,255,255,0.75); padding:5rem clamp(2rem,8vw,8rem) 2rem; }
.footer-grid { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:4rem; margin-bottom:4rem; }
.footer-brand-name { font-family:'Barlow Condensed',sans-serif; font-size:1.8rem; font-weight:700; color:white; letter-spacing:0.04em; margin-bottom:0.3rem; }
.footer-brand-since { font-size:0.68rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--green-light); margin-bottom:1.2rem; }
.footer-brand-desc { font-size:0.82rem; line-height:1.75; color:rgba(255,255,255,0.55); }
.footer-col-title { font-family:'Barlow Condensed',sans-serif; font-size:0.72rem; font-weight:700; letter-spacing:0.2em; text-transform:uppercase; color:var(--green-light); margin-bottom:1.3rem; padding-bottom:0.6rem; border-bottom:1px solid rgba(255,255,255,0.08); }
.footer-links { list-style:none; }
.footer-links li { margin-bottom:0.65rem; }
.footer-links a { text-decoration:none; font-size:0.82rem; color:rgba(255,255,255,0.55); transition:color 0.2s; }
.footer-links a:hover { color:var(--green-light); }
.footer-bottom { border-top:1px solid rgba(255,255,255,0.08); padding-top:1.5rem; display:flex; justify-content:space-between; align-items:center; font-size:0.75rem; color:rgba(255,255,255,0.35); }
.footer-tagline { font-style:italic; color:rgba(255,255,255,0.25); }

/* ── ANIMATIONS ── */
.fade-up { opacity:0; transform:translateY(22px); transition:opacity 0.6s,transform 0.6s; }
.fade-up.visible { opacity:1; transform:translateY(0); }
.fade-up-d1 { transition-delay:0.1s; }
.fade-up-d2 { transition-delay:0.2s; }
.fade-up-d3 { transition-delay:0.3s; }

/* ══════════════════════════════════════════
   MOBILE NAV 
══════════════════════════════════════════ */
.nav-hamburger {
  display:none; flex-direction:column; justify-content:center; align-items:center;
  gap:5px; width:40px; height:40px; background:none; border:none;
  cursor:pointer; padding:6px; border-radius:4px; transition:background 0.2s; z-index:200;
}
.nav-hamburger:hover { background:rgba(74,158,82,0.1); }
.nav-hamburger span {
  display:block; width:22px; height:2px; background:var(--green-dark);
  border-radius:2px; transition:transform 0.3s ease,opacity 0.3s ease,width 0.3s ease;
}
.nav-hamburger.open span:nth-child(1) { transform:translateY(7px) rotate(45deg); }
.nav-hamburger.open span:nth-child(2) { opacity:0; width:0; }
.nav-hamburger.open span:nth-child(3) { transform:translateY(-7px) rotate(-45deg); }

.nav-mobile-overlay {
  display:none; position:fixed; inset:0; z-index:150;
  background:rgba(0,0,0,0.45); opacity:0; pointer-events:none; transition:opacity 0.3s;
}
.nav-mobile-overlay.open { opacity:1; pointer-events:all; }

.nav-mobile-panel {
  position:fixed; top:0; right:0; bottom:0; z-index:160;
  width:min(85vw,340px); background:white;
  box-shadow:-4px 0 32px rgba(0,0,0,0.18);
  transform:translateX(100%); transition:transform 0.35s cubic-bezier(0.22,1,0.36,1);
  overflow-y:auto; display:flex; flex-direction:column;
}
.nav-mobile-panel.open { transform:translateX(0); }
.nav-mobile-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:1rem 1.4rem; border-bottom:1px solid var(--green-pale); min-height:72px;
}
.nav-mobile-close {
  width:36px; height:36px; border:none; background:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  color:var(--text-mid); border-radius:50%; transition:background 0.2s;
}
.nav-mobile-close:hover { background:var(--green-pale); }
.nav-mobile-links { list-style:none; padding:1rem 0; flex:1; }
.nav-mobile-links > li { border-bottom:1px solid rgba(74,158,82,0.08); }
.nav-mobile-links > li > a,
.nav-mobile-links > li > button {
  display:flex; align-items:center; justify-content:space-between;
  width:100%; padding:0.9rem 1.6rem; text-decoration:none;
  background:none; border:none; cursor:pointer;
  font-family:'Barlow',sans-serif; font-size:0.82rem; font-weight:600;
  letter-spacing:0.1em; text-transform:uppercase; color:var(--text-dark);
  transition:background 0.18s,color 0.18s; text-align:left;
}
.nav-mobile-links > li > a:hover,
.nav-mobile-links > li > button:hover { background:rgba(74,158,82,0.06); color:var(--green-dark); }
.nav-mobile-chevron {
  display:inline-block; width:8px; height:8px;
  border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor;
  transform:rotate(45deg); transition:transform 0.25s; flex-shrink:0; margin-left:6px;
}
.nav-mobile-acc.open .nav-mobile-chevron { transform:rotate(-135deg); }
.nav-mobile-submenu {
  max-height:0; overflow:hidden; transition:max-height 0.4s ease;
  background:rgba(74,158,82,0.03);
}
.nav-mobile-submenu.open { max-height:700px; }
.nav-mobile-submenu-title {
  padding:0.8rem 1.6rem 0.4rem; font-size:0.65rem; font-weight:700;
  letter-spacing:0.2em; text-transform:uppercase; color:var(--green-bright);
}
.nav-mobile-submenu a,
.nav-mobile-submenu div[onclick] {
  display:flex; align-items:center; gap:10px;
  padding:0.65rem 1.6rem; text-decoration:none;
  color:var(--text-dark); font-size:0.82rem;
  transition:background 0.15s; cursor:pointer;
}
.nav-mobile-submenu a:hover,
.nav-mobile-submenu div[onclick]:hover { background:rgba(74,158,82,0.08); }
.nav-mobile-footer { padding:1.4rem 1.6rem; border-top:1px solid var(--green-pale); }
.nav-mobile-footer a {
  display:block; text-align:center; padding:13px;
  background:var(--green-dark); color:white; text-decoration:none;
  border-radius:3px; font-size:0.8rem; font-weight:600;
  letter-spacing:0.1em; text-transform:uppercase; transition:background 0.2s;
}
.nav-mobile-footer a:hover { background:var(--green-mid); }

/* ══════════════════════════════════════════
   MODAL RESPONSIVE
══════════════════════════════════════════ */
@media (max-width: 860px) {
  .modal { flex-direction:column; max-height:90vh; overflow-y:auto; border-radius:12px; }
  .modal-left { flex:none; padding:2.5rem 2rem 1.5rem; }
  .modal-right { flex:none; padding:0 1.5rem 2rem; }
  .modal-corner-tr { border-width:0 90px 90px 0; }
  .modal-corner-br { border-width:0 0 70px 70px; }
  .modal-dot-grid { width:100%; top:0; height:140px; }
  .modal-big-title { font-size:clamp(1.8rem,5vw,2.6rem); }
  .modal-list { max-height:200px; }
}
@media (max-width: 480px) {
  .modal-backdrop { padding:0.75rem; }
  .modal { border-radius:10px; }
  .modal-left { padding:2rem 1.5rem 1.2rem; }
  .modal-right { padding:0 1.2rem 1.5rem; }
  .modal-big-title { font-size:1.8rem; }
}

/* ══════════════════════════════════════════
   TABLET + MOBILE
══════════════════════════════════════════ */
@media (max-width: 1024px) {
  .sub-cards-grid { grid-template-columns:repeat(2,1fr); }
  .page-content { padding:3.5rem 5vw 5rem; }
}

@media (max-width: 768px) {
  .nav-links { display:none !important; }
  .nav-hamburger { display:flex; }
  .nav-mobile-overlay { display:block; }
  nav { padding:0 4vw; height:64px; }

  /* FIX: hero responsive — padding-based vertical spacing */
  .page-hero { min-height:260px; height:auto; }
  .page-hero-content {
    min-height:260px;
    padding:2rem 5vw 2.5rem;
    max-width:100%;
  }
  .page-hero-h1 { font-size:clamp(1.6rem,5.5vw,2.2rem); }

  .page-content { padding:2.5rem 5vw 4rem; }
  .sub-cards-grid { grid-template-columns:1fr; }
  .sub-card-img { height:180px; }

  .cta-band { flex-direction:column; align-items:flex-start; padding:2rem 1.8rem; gap:1.5rem; }
  .cta-band-right { flex-direction:column; width:100%; }
  .cta-band-right a { text-align:center; }
  .cta-band-title { font-size:1.4rem; }

  footer { padding:3rem 5vw 2rem; }
  .footer-grid { grid-template-columns:1fr; gap:2rem; margin-bottom:2rem; }
  .footer-bottom { flex-direction:column; gap:0.5rem; text-align:center; }
  .footer-tagline { display:none; }
}

@media (max-width: 480px) {
  .sub-cards-grid { grid-template-columns:1fr; }
}

@media (max-width: 360px) {
  nav { padding:0 3vw; height:58px; }
  .logo-name { font-size:1.1rem; }
  .page-hero { min-height:200px; }
  .page-hero-content { padding:1.5rem 4vw 2rem; }
  .page-hero-h1 { font-size:1.3rem; }
  .page-content { padding:2rem 4vw 3rem; }
  .sub-card-img { height:160px; }
  .cta-band { padding:1.8rem 1.2rem; }
  .cta-band-title { font-size:1.25rem; }
  footer { padding:2.5rem 4vw 1.5rem; }
}

@media (max-height: 500px) and (orientation: landscape) {
  .page-hero { min-height:180px; }
  .page-hero-h1 { font-size:1.4rem; }
  .page-hero-desc { display:none; }
  .page-hero-content { padding:1.2rem 5vw; }
}

/* ══════════════════════════════════════════
   LARGE DESKTOP — constrained max-width system
══════════════════════════════════════════ */
@media (min-width: 1400px) {
  nav { padding:0 max(2rem, calc((100vw - 1400px)/2 + 3rem)); }
  .page-hero-content {
    max-width:860px;
    padding:clamp(3rem,5vh,5rem) max(3rem,calc((100vw - 1400px)/2 + 3rem));
  }
  .page-content { max-width:1400px; padding:4rem 3rem 6rem; margin:0 auto; }
  .sub-cards-grid { grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); }
  footer { padding:5rem max(2rem,calc((100vw - 1400px)/2 + 3rem)) 2rem; }
}

@media (min-width: 1920px) {
  nav { padding:0 max(2rem,calc((100vw - 1600px)/2)); }
  .page-hero-content {
    max-width:900px;
    padding:clamp(3rem,5vh,6rem) max(2rem,calc((100vw - 1600px)/2));
  }
  .page-hero { min-height:460px; }
  .page-content { max-width:1600px; padding:5rem 2rem 7rem; }
  .sub-cards-grid { grid-template-columns:repeat(auto-fill,minmax(320px,1fr)); gap:2rem; }
  .sub-card-img { height:220px; }
  footer { padding:6rem max(2rem,calc((100vw - 1600px)/2)) 2rem; }
  .footer-grid { grid-template-columns:2.5fr 1fr 1fr 1fr; }
}

@media (min-width: 2560px) {
  nav { height:84px; padding:0 max(2rem,calc((100vw - 1900px)/2)); }
  .logo-name { font-size:1.7rem; }
  .nav-links a { font-size:0.86rem; }
  .nav-cta { padding:11px 28px; }
  .page-hero { min-height:500px; }
  .page-hero-content {
    max-width:1000px;
    padding:clamp(4rem,5vh,7rem) max(2rem,calc((100vw - 1900px)/2));
  }
  .page-hero-h1 { font-size:clamp(2.8rem,2.8vw,4rem); }
  .page-hero-desc { font-size:1rem; max-width:620px; }
  .page-content { max-width:1900px; padding:6rem 2rem 8rem; }
  .section-h2 { font-size:clamp(2.2rem,2.2vw,3.2rem); }
  .sub-cards-grid { grid-template-columns:repeat(auto-fill,minmax(340px,1fr)); gap:2.2rem; }
  .sub-card-img { height:240px; }
  .sub-card-title { font-size:1.2rem; }
  .sub-card-body { padding:1.6rem 1.8rem 1.8rem; }
  .cta-band { padding:4rem 5rem; border-radius:10px; }
  .cta-band-title { font-size:2.4rem; }
  footer { padding:6rem max(2rem,calc((100vw - 1900px)/2)) 2.5rem; }
  .footer-brand-name { font-size:2rem; }
  .footer-links a { font-size:0.9rem; }
}

@media (min-width: 3440px) {
  nav { height:90px; padding:0 max(2rem,calc((100vw - 2200px)/2)); }
  .logo-name { font-size:1.9rem; }
  .nav-links { gap:3.5rem; }
  .nav-links a { font-size:0.9rem; }
  .page-hero { min-height:540px; }
  .page-hero-content {
    max-width:1100px;
    padding:clamp(5rem,5vh,8rem) max(2rem,calc((100vw - 2200px)/2));
  }
  .page-hero-h1 { font-size:clamp(3.2rem,2.5vw,4.6rem); }
  .page-hero-desc { font-size:1.1rem; max-width:700px; }
  .breadcrumb { font-size:0.82rem; }
  .page-content { max-width:2200px; padding:8rem 2rem 10rem; }
  .section-h2 { font-size:clamp(2.8rem,1.8vw,3.8rem); }
  .sub-cards-grid { grid-template-columns:repeat(auto-fill,minmax(380px,1fr)); gap:2.6rem; }
  .sub-card-img { height:260px; }
  .sub-card-title { font-size:1.25rem; }
  .sub-card-body { padding:1.8rem 2rem 2rem; }
  .modal { max-width:1200px; min-height:520px; }
  .modal-big-title { font-size:clamp(2.8rem,3vw,4rem); }
  .modal-list li { font-size:0.9rem; padding:0.55rem 0; }
  .cta-band { padding:5rem 6rem; border-radius:12px; }
  .cta-band-title { font-size:2.8rem; }
  footer { padding:7rem max(2rem,calc((100vw - 2200px)/2)) 3rem; }
  .footer-grid { gap:6rem; }
  .footer-brand-name { font-size:2.2rem; }
  .footer-links a { font-size:0.95rem; }
  .footer-bottom { font-size:0.82rem; }
}

/* ══════════════════════════════════════════
   PAGE LOADER
══════════════════════════════════════════ */
.page-loader { position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;pointer-events:all;transition:opacity .5s ease,transform .5s ease; }
.page-loader.fade-out { opacity:0;transform:scale(1.03);pointer-events:none; }
.loader-bg { position:absolute;inset:0;background:linear-gradient(145deg,#0a1a0c 0%,#1a3d1f 55%,#0d2410 100%); }
.loader-grid { position:absolute;inset:0;background-image:linear-gradient(rgba(74,158,82,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(74,158,82,.07) 1px,transparent 1px);background-size:40px 40px;animation:loaderGridPulse 3s ease-in-out infinite; }
@keyframes loaderGridPulse { 0%,100%{opacity:.4}50%{opacity:1} }
.loader-content { position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:2.5rem;width:min(480px,92vw); }
.loader-logo { display:flex;align-items:center;gap:14px; }
.loader-logo-name { font-family:'Barlow Condensed',sans-serif;font-size:1.4rem;font-weight:700;color:white;letter-spacing:.06em; }
.loader-rect { animation:loaderRectPulse 1.6s ease-in-out infinite; }
.r1{animation-delay:0s}.r2{animation-delay:.2s}.r3{animation-delay:.4s}.r4{animation-delay:.6s}
@keyframes loaderRectPulse { 0%,100%{opacity:.3}50%{opacity:1} }
.loader-machine { width:100%; }
.loader-conveyor { position:relative;width:100%;height:120px;background:rgba(255,255,255,.03);border-radius:10px;border:1px solid rgba(74,158,82,.2);overflow:hidden; }
.loader-belt { position:absolute;bottom:20px;left:0;right:0;height:18px;background:#0f2a14;border-top:2px solid rgba(74,158,82,.4);border-bottom:2px solid rgba(74,158,82,.4);display:flex;align-items:center;overflow:hidden; }
.loader-belt-track { flex-shrink:0;width:12.5%;height:100%;border-right:2px solid rgba(74,158,82,.25);animation:beltMove .8s linear infinite; }
@keyframes beltMove { 0%{transform:translateX(0)}100%{transform:translateX(-100%)} }
.loader-part { position:absolute;bottom:38px;width:28px;height:20px;animation:partMove 2.4s linear infinite; }
.loader-part-inner { width:100%;height:100%;background:linear-gradient(135deg,#2d6a35,#4a9e52);border-radius:4px;border:1px solid rgba(126,196,127,.4);box-shadow:0 0 8px rgba(74,158,82,.4); }
.p1{animation-delay:0s;left:-40px}.p2{animation-delay:.8s;left:-40px}.p3{animation-delay:1.6s;left:-40px}
@keyframes partMove { 0%{transform:translateX(0);opacity:1}90%{opacity:1}100%{transform:translateX(600px);opacity:0} }
.loader-robot-arm { position:absolute;top:8px;left:50%;transform:translateX(-50%); }
.loader-arm-base { width:14px;height:14px;background:#2d6a35;border-radius:50%;margin:0 auto;border:2px solid #4a9e52; }
.loader-arm-seg1 { width:6px;height:28px;background:linear-gradient(180deg,#2d6a35,#1a3d1f);margin:0 auto;border-radius:3px;transform-origin:top center;animation:armSway1 1.6s ease-in-out infinite; }
.loader-arm-seg2 { width:5px;height:22px;background:linear-gradient(180deg,#4a9e52,#2d6a35);margin:0 auto;border-radius:3px;transform-origin:top center;animation:armSway2 1.6s ease-in-out infinite; }
.loader-arm-claw { display:flex;justify-content:center;gap:3px;padding-top:2px;animation:clawOpen 1.6s ease-in-out infinite; }
.loader-claw-l,.loader-claw-r { width:4px;height:10px;background:#c8a84b;border-radius:2px; }
@keyframes armSway1 { 0%,100%{transform:rotate(-18deg)}50%{transform:rotate(18deg)} }
@keyframes armSway2 { 0%,100%{transform:rotate(12deg)}50%{transform:rotate(-12deg)} }
@keyframes clawOpen { 0%,100%{gap:3px}40%,60%{gap:8px} }
.loader-sparks { position:absolute;top:20px;right:30%; }
.loader-spark { position:absolute;width:3px;height:3px;border-radius:50%;background:#c8a84b;animation:sparkFly 1.2s ease-out infinite; }
.s1{animation-delay:0s;--sx:6px;--sy:-14px}.s2{animation-delay:.4s;--sx:-8px;--sy:-18px}.s3{animation-delay:.8s;--sx:12px;--sy:-10px}
@keyframes sparkFly { 0%{opacity:1;transform:translate(0,0) scale(1)}100%{opacity:0;transform:translate(var(--sx),var(--sy)) scale(0)} }
.loader-progress-wrap { width:100%; }
.loader-progress-bar { width:100%;height:3px;background:rgba(255,255,255,.08);border-radius:2px;overflow:hidden;margin-bottom:.8rem; }
.loader-progress-fill { height:100%;width:0%;background:linear-gradient(90deg,#4a9e52,#c8a84b,#4a9e52);background-size:200% 100%;border-radius:2px;transition:width .3s ease;animation:progressShimmer 1.5s linear infinite; }
@keyframes progressShimmer { 0%{background-position:0% 0}100%{background-position:200% 0} }
.loader-status { font-family:'Barlow Condensed',sans-serif;font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.45);text-align:center; }
.loader-dots { display:flex;gap:8px; }
.loader-dot { width:6px;height:6px;border-radius:50%;background:#4a9e52;animation:dotPulse 1.2s ease-in-out infinite; }
.loader-dot:nth-child(2){animation-delay:.2s;background:#7ec47f}.loader-dot:nth-child(3){animation-delay:.4s;background:#c8a84b}
@keyframes dotPulse { 0%,100%{transform:scale(.6);opacity:.4}50%{transform:scale(1.2);opacity:1} }