/* ═══════════════════════════════════════════════════
   C2Improve — style.css  (clean, deduplicated)
   ═══════════════════════════════════════════════════ */

/* ── VARIABLES ── */
:root {
  --green:     #3DB54A;
  --green-dk:  #2A9E36;
  --green-lt:  #E8F5EA;
  --green-mid: #C2E8C6;
  --ink:       #111111;
  --grey:      #F5F5F5;
  --grey-mid:  #E0E0E0;
  --mist:      #6B7B6B;
  --white:     #FFFFFF;
  --radius:    10px;
  --shadow:    0 4px 28px rgba(0,0,0,0.09);
}

/* ── RESET ── */
*,*::before,*::after { box-sizing: border-box; margin: 0; padding: 0; }
html  { scroll-behavior: smooth; }
body  { font-family: 'DM Sans', sans-serif; background: var(--white); color: var(--ink); font-size: 16px; line-height: 1.7; overflow-x: hidden; }
h1,h2,h3,h4 { font-family: 'Fraunces', serif; line-height: 1.2; }
a   { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }

/* ── NAV ── */
nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 100;
  background: rgba(255,255,255,0.97); backdrop-filter: blur(10px);
  border-bottom: 1px solid var(--grey-mid);
  padding: 0 48px; height: 68px;
  display: flex; align-items: center; justify-content: space-between;
}
#header {
  display: flex; align-items: center; justify-content: space-between;
  width: 100%; height: 100%;
}
#footer { width: 100%; }
nav.nav-scrolled { box-shadow: 0 2px 16px rgba(0,0,0,0.08); }
.nav-logo img { height: 36px; width: auto; display: block; }

.nav-links { display: flex; gap: 24px; list-style: none; }
.nav-links a { font-size: 0.87rem; font-weight: 500; color: var(--ink); transition: color 0.2s; }
.nav-links a:hover,
.nav-links a.active { color: var(--green); }

.nav-right { display: flex; align-items: center; gap: 14px; position: relative; z-index: 201; }

/* Language pill */
.toggle-pill {
  position: relative; display: flex; border-radius: 999px;
  background: #f2f2f2; padding: 2px;
  width: 80px; height: 32px;
  align-items: center; justify-content: center; overflow: hidden;
}
.toggle-slider {
  position: absolute; top: 2px; left: 2px;
  width: 38px; height: calc(100% - 4px);
  background: var(--green); border-radius: 999px;
  transition: transform 0.25s ease; z-index: 0;
}
.toggle-pill.is-nl .toggle-slider { transform: translateX(38px); }
.toggle-pill a {
  position: relative; z-index: 1; width: 50%; text-align: center;
  font-size: 13px; color: #666; transition: color 0.2s ease; line-height: 28px;
}
.toggle-pill a.active { color: #fff; font-weight: 600; }

/* CTA button */
.nav-cta {
  background: var(--green); color: var(--white) !important;
  padding: 8px 20px; border-radius: 24px;
  font-size: 0.87rem; font-weight: 500;
  transition: background 0.2s; display: inline-block;
}
.nav-cta:hover { background: var(--green-dk); }

/* Burger — hidden on desktop, shown via media query */
.nav-burger {
  display: none;
  flex-direction: column; justify-content: space-between;
  width: 44px; height: 44px;
  padding: 13px 9px;
  background: none; border: none; cursor: pointer; z-index: 201;
  -webkit-tap-highlight-color: transparent;
}
.nav-contact-mobile { display: none; }
.nav-lang-mobile { display: none; }
.nav-burger span {
  display: block; width: 100%; height: 2px;
  background: var(--ink); border-radius: 2px;
  transition: transform 0.25s, opacity 0.25s; transform-origin: center;
}
.nav-burger.is-open span:nth-child(1) { transform: translateY(8px) rotate(45deg); }
.nav-burger.is-open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.nav-burger.is-open span:nth-child(3) { transform: translateY(-8px) rotate(-45deg); }

/* ── LAYOUT ── */
.wrap        { max-width: 1280px; margin: 0 auto; padding: 0 80px; }
.section     { padding: 88px 80px; max-width: 1280px; margin: 0 auto; }
.page-hero   { background: var(--grey); padding: 72px 80px 64px; border-bottom: 1px solid var(--grey-mid); margin-top: 68px; }
.page-hero h1 { font-size: clamp(2.2rem, 4.5vw, 3.4rem); color: var(--ink); font-weight: 500; max-width: 700px; margin-bottom: 18px; }
.page-hero p  { color: #4A5550; max-width: 580px; font-size: 1rem; }

/* ── TYPE ── */
.label        { display: inline-block; font-size: 0.72rem; font-weight: 600; letter-spacing: 2.5px; text-transform: uppercase; color: var(--green); margin-bottom: 14px; }
.section-title { font-size: clamp(1.9rem, 3.5vw, 2.9rem); font-weight: 500; color: var(--ink); margin-bottom: 18px; max-width: 680px; }
.section-body  { color: #4A5550; max-width: 620px; font-size: 1rem; }
.divider       { width: 40px; height: 3px; background: var(--green); border-radius: 2px; margin: 0 0 28px; }

/* ── BUTTONS ── */
.btn             { display: inline-block; padding: 12px 26px; border-radius: 26px; font-size: 0.92rem; font-weight: 500; cursor: pointer; transition: all 0.2s; border: none; font-family: 'DM Sans', sans-serif; }
.btn-primary     { background: var(--green); color: var(--white); }
.btn-primary:hover { background: var(--green-dk); transform: translateY(-1px); }
.btn-outline     { background: transparent; color: var(--ink); border: 2px solid var(--ink); }
.btn-outline:hover { background: var(--ink); color: var(--white); }
.btn-green-outline { background: transparent; color: var(--green); border: 2px solid var(--green); }
.btn-green-outline:hover { background: var(--green); color: var(--white); }

/* ── CARDS ── */
.card       { background: var(--white); border: 1px solid var(--grey-mid); border-radius: var(--radius); padding: 28px 24px; transition: box-shadow 0.2s, transform 0.2s; }
.card:hover { box-shadow: var(--shadow); transform: translateY(-3px); }
.card-icon  { width: 46px; height: 46px; background: var(--green-lt); border-radius: 11px; display: flex; align-items: center; justify-content: center; font-size: 1.3rem; margin-bottom: 16px; }
.grid-2 { display: grid; grid-template-columns: 1fr 1fr;        gap: 22px; }
.grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.grid-4 { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }

/* ── HERO (HOME) ── */
.hero { min-height: calc(100vh - 68px); background: var(--ink); display: grid; grid-template-columns: 1fr 1fr; align-items: stretch; position: relative; overflow: hidden; margin-top: 68px; }
.hero::before { content: ''; position: absolute; top: -100px; right: 35%; width: 500px; height: 500px; background: radial-gradient(circle, rgba(61,181,74,0.12) 0%, transparent 70%); pointer-events: none; }
.hero-text  { padding: 80px 56px 80px 80px; display: flex; flex-direction: column; justify-content: center; position: relative; z-index: 2; }
.hero-eyebrow { font-size: 0.73rem; letter-spacing: 3px; text-transform: uppercase; color: var(--green); margin-bottom: 18px; }
.hero-title   { font-size: clamp(2.8rem, 5vw, 4.1rem); font-weight: 300; color: var(--white); margin-bottom: 22px; line-height: 1.1; }
.hero-title em { font-style: italic; color: #9ADB9F; }
.hero-sub     { color: rgba(255,255,255,0.62); font-size: 1rem; margin-bottom: 36px; max-width: 420px; }
.hero-btns    { display: flex; gap: 12px; flex-wrap: wrap; }

.hero-right          { background: var(--green-lt); display: flex; flex-direction: column; justify-content: center; padding: 64px 52px; position: relative; overflow: hidden; border-left: 1px solid var(--green-mid); }
.hero-right::before  { content: ''; position: absolute; bottom: -60px; right: -60px; width: 260px; height: 260px; border-radius: 50%; background: rgba(61,181,74,0.12); }
.hero-right-label    { font-size: 0.7rem; letter-spacing: 2px; text-transform: uppercase; color: var(--green); margin-bottom: 22px; font-weight: 600; }
.epcm-steps          { display: flex; flex-direction: column; gap: 13px; position: relative; z-index: 1; }
.epcm-step           { background: var(--white); border-radius: var(--radius); padding: 15px 18px; display: flex; align-items: center; gap: 14px; border-left: 3px solid var(--green); box-shadow: 0 2px 10px rgba(0,0,0,0.06); }
.epcm-num            { font-family: 'Fraunces', serif; font-size: 1.5rem; font-weight: 700; color: var(--green); line-height: 1; width: 28px; flex-shrink: 0; }
.epcm-title          { font-weight: 600; font-size: 0.92rem; color: var(--ink); }
.epcm-sub            { font-size: 0.77rem; color: var(--mist); margin-top: 2px; }

/* ── VIDEO PANEL (HOME) ── */
.hero-video-panel { position: relative; overflow: hidden; background: var(--ink); display: flex; align-items: center; justify-content: center; min-height: calc(100vh - 68px); }
.hero-video-panel video        { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.55; }
.hero-video-panel img.fallback { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; opacity: 0.45; }
.hero-video-overlay { position: relative; z-index: 2; text-align: center; padding: 40px 32px; color: #fff; }
.c2method-badge       { display: inline-flex; align-items: center; gap: 10px; background: rgba(61,181,74,0.15); border: 1.5px solid rgba(61,181,74,0.5); border-radius: 8px; padding: 10px 18px; margin-bottom: 20px; }
.c2method-badge-label { font-size: 0.7rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #9ADB9F; }
.c2method-badge-gear  { font-size: 1.3rem; animation: spin 8s linear infinite; }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.hero-video-overlay h2  { font-family: 'Fraunces', serif; font-size: 1.6rem; font-weight: 500; color: #fff; margin-bottom: 12px; line-height: 1.3; }
.hero-video-overlay p   { font-size: 0.88rem; color: rgba(255,255,255,0.65); max-width: 280px; margin: 0 auto 22px; }
.video-play-btn         { display: inline-flex; align-items: center; gap: 8px; background: var(--green); color: #fff; padding: 10px 20px; border-radius: 24px; font-size: 0.85rem; font-weight: 600; cursor: pointer; border: none; font-family: 'DM Sans', sans-serif; transition: background 0.2s; }
.video-play-btn:hover   { background: var(--green-dk); }
.video-upload-hint      { margin-top: 16px; font-size: 0.72rem; color: rgba(255,255,255,0.35); font-style: italic; }

/* ── STATS BAR ── */
.stats-bar { background: var(--green); padding: 28px 80px; display: grid; grid-template-columns: repeat(4, 1fr); }
.stat              { text-align: center; padding: 0 14px; border-right: 1px solid rgba(255,255,255,0.2); }
.stat:last-child   { border-right: none; }
.stat-num          { font-family: 'Fraunces', serif; font-size: 2.1rem; font-weight: 700; color: var(--white); display: block; }
.stat-label        { font-size: 0.78rem; color: rgba(255,255,255,0.82); }

/* ── SPECIAL STRIPS ── */
.cta-strip { background: var(--green-lt); padding: 68px 80px; display: flex; align-items: center; justify-content: space-between; gap: 36px; border-top: 1px solid var(--green-mid); border-bottom: 1px solid var(--green-mid); }
.cta-strip h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); color: var(--ink); font-weight: 500; max-width: 560px; }

.sectors-strip              { background: var(--ink); padding: 88px 80px; }
.sectors-strip .section-title { color: var(--white); }
.sectors-strip .section-body  { color: rgba(255,255,255,0.62); }
.sectors-strip .divider       { background: var(--green); }
.sectors-strip .label         { color: #9ADB9F; }
.sector-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; margin-top: 44px; }
.sector-card  { background: rgba(255,255,255,0.06); border: 1px solid rgba(255,255,255,0.12); border-radius: var(--radius); padding: 32px 28px; color: var(--white); transition: background 0.2s, border-color 0.2s; }
.sector-card:hover { background: rgba(61,181,74,0.1); border-color: rgba(61,181,74,0.4); }
.sector-card h3 { font-size: 1.25rem; font-weight: 500; margin: 12px 0 9px; }
.sector-card p  { color: rgba(255,255,255,0.62); font-size: 0.89rem; margin-bottom: 14px; }
.sector-tags    { display: flex; gap: 7px; flex-wrap: wrap; }
.sector-tag     { font-size: 0.7rem; padding: 3px 9px; background: rgba(255,255,255,0.08); border-radius: 9px; color: rgba(255,255,255,0.68); }

/* FAT/SAT specialty strip */
.specialty-strip  { background: linear-gradient(135deg, var(--ink) 60%, #1a2a1e 100%); padding: 48px 80px; border-top: 1px solid rgba(255,255,255,0.06); }
.specialty-inner  { max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center; }
.specialty-label  { font-size: 0.7rem; font-weight: 700; letter-spacing: 2px; text-transform: uppercase; color: #9ADB9F; margin-bottom: 10px; }
.specialty-inner h3 { font-family: 'Fraunces', serif; font-size: 1.5rem; font-weight: 500; color: #fff; margin-bottom: 12px; line-height: 1.3; }
.specialty-inner p  { color: rgba(255,255,255,0.6); font-size: 0.92rem; margin-bottom: 20px; }
.specialty-badges   { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }
.specialty-inner .btn-white-outline { background: transparent; color: #fff; border: 1.5px solid rgba(255,255,255,0.3); padding: 9px 20px; border-radius: 24px; font-size: 0.85rem; font-weight: 500; font-family: 'DM Sans', sans-serif; cursor: pointer; transition: all 0.2s; display: inline-block; }
.specialty-inner .btn-white-outline:hover { background: rgba(255,255,255,0.1); }
.specialty-vmodel-mini { background: rgba(255,255,255,0.04); border: 1px solid rgba(255,255,255,0.1); border-radius: 10px; padding: 20px 24px; }
.vmodel-mini-row  { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; font-size: 0.78rem; }
.vmodel-mini-row:last-child { margin-bottom: 0; }
.vmb-spec   { color: #9ADB9F; font-weight: 600; text-align: left; flex: 1; }
.vmb-arrow  { color: rgba(255,255,255,0.25); padding: 0 8px; font-size: 0.65rem; }
.vmb-label  { color: rgba(255,255,255,0.3); font-size: 0.65rem; text-align: center; flex: 0.8; }
.vmb-qual   { color: #93c5fd; font-weight: 600; text-align: right; flex: 1; }
.vmb-center { text-align: center; padding: 8px 0; color: var(--green); font-weight: 700; font-size: 0.78rem; border-top: 1px solid rgba(255,255,255,0.08); border-bottom: 1px solid rgba(255,255,255,0.08); margin: 4px 0; }

/* Approach infographic */
.approach-infographic       { padding: 88px 80px; background: var(--grey); }
.approach-infographic-inner { max-width: 1280px; margin: 0 auto; }
.infographic-wrap { margin-top: 48px; overflow-x: auto; }
.infographic-svg  { width: 100%; min-width: 700px; }
.risk-legend      { display: flex; gap: 24px; margin-top: 20px; flex-wrap: wrap; font-size: 0.82rem; color: var(--mist); }
.risk-legend span { display: flex; align-items: center; gap: 6px; }
.risk-dot         { width: 12px; height: 12px; border-radius: 50%; flex-shrink: 0; }

/* ── SERVICE BLOCKS ── */
.service-block          { display: grid; grid-template-columns: 1fr 1fr; gap: 0; border-bottom: 1px solid var(--grey-mid); }
.service-block:last-of-type { border-bottom: none; }
.service-block.flip     { direction: rtl; }
.service-block.flip > * { direction: ltr; }
.service-content        { padding: 68px 64px; }
.service-content h2     { font-size: 1.9rem; color: var(--ink); font-weight: 500; margin-bottom: 14px; }
.service-content > p    { color: #4A5550; margin-bottom: 22px; }
.service-benefits       { list-style: none; display: flex; flex-direction: column; gap: 9px; margin-bottom: 32px; }
.service-benefits li    { display: flex; align-items: flex-start; gap: 10px; font-size: 0.93rem; }
.service-benefits li::before { content: '✓'; color: var(--green); font-weight: 700; flex-shrink: 0; margin-top: 2px; }
.service-visual         { background: var(--green-lt); display: flex; align-items: center; justify-content: center; font-size: 5rem; min-height: 320px; position: relative; overflow: hidden; }
.service-visual::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(45deg, transparent, transparent 18px, rgba(61,181,74,0.06) 18px, rgba(61,181,74,0.06) 19px); }
.service-visual img     { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }

/* ── SECTORS ── */
.sector-detail         { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; padding: 88px 80px; border-bottom: 1px solid var(--grey-mid); }
.sector-detail.bg-grey { background: var(--grey); }
.sector-detail:last-child { border-bottom: none; }
.sector-detail h2      { font-size: 1.9rem; color: var(--ink); font-weight: 500; margin: 14px 0 16px; }
.emoji-lg              { font-size: 2.8rem; }
.challenge-box         { background: var(--green-lt); border-radius: var(--radius); padding: 22px 26px; margin-top: 22px; border-left: 3px solid var(--green); }
.challenge-box h4      { font-size: 0.72rem; letter-spacing: 1.5px; text-transform: uppercase; color: var(--green-dk); margin-bottom: 7px; font-weight: 600; }
.challenge-box p       { font-size: 0.9rem; color: #4A5550; }
.sector-priority       { display: inline-block; font-size: 0.68rem; font-weight: 700; letter-spacing: 1.5px; text-transform: uppercase; background: var(--green); color: #fff; padding: 3px 10px; border-radius: 4px; margin-bottom: 12px; }

/* ── PROJECTS ── */
.filter-bar      { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 40px; }
.filter-btn      { padding: 7px 17px; border-radius: 20px; border: 1.5px solid var(--grey-mid); background: transparent; font-family: 'DM Sans', sans-serif; font-size: 0.84rem; font-weight: 500; color: var(--ink); cursor: pointer; transition: all 0.2s; }
.filter-btn.active, .filter-btn:hover { background: var(--ink); border-color: var(--ink); color: var(--white); }
.project-card        { background: var(--white); border: 1px solid var(--grey-mid); border-radius: var(--radius); overflow: hidden; transition: box-shadow 0.2s, transform 0.2s; }
.project-card:hover  { box-shadow: var(--shadow); transform: translateY(-3px); }
.project-thumb       { height: 160px; background: var(--green-lt); display: flex; align-items: center; justify-content: center; font-size: 2.8rem; position: relative; }
.project-tag         { position: absolute; top: 12px; left: 12px; background: var(--ink); color: var(--white); font-size: 0.7rem; font-weight: 500; padding: 3px 11px; border-radius: 10px; }
.project-body        { padding: 22px 22px 26px; }
.project-body h3     { font-size: 1.05rem; font-weight: 600; color: var(--ink); margin-bottom: 7px; }
.project-body p      { font-size: 0.87rem; color: #4A5550; margin-bottom: 14px; }
.project-meta        { display: flex; gap: 6px; flex-wrap: wrap; }
.meta-chip           { font-size: 0.72rem; padding: 3px 10px; background: var(--green-lt); border-radius: 9px; color: var(--green-dk); font-weight: 500; }

/* ── ABOUT ── */
.about-layout          { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.about-visual          { background: var(--ink); border-radius: var(--radius); padding: 44px; position: relative; overflow: hidden; }
.about-visual::before  { content: ''; position: absolute; top: -60px; right: -60px; width: 220px; height: 220px; background: radial-gradient(circle, rgba(61,181,74,0.25) 0%, transparent 70%); }
.about-visual blockquote { font-family: 'Fraunces', serif; font-size: 1.35rem; font-weight: 300; font-style: italic; color: var(--white); line-height: 1.55; position: relative; z-index: 1; margin-bottom: 18px; }
.about-visual cite     { font-size: 0.8rem; color: #9ADB9F; position: relative; z-index: 1; }
.values-grid           { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 44px; }
.value-card            { background: var(--grey); border-radius: var(--radius); padding: 22px; border-left: 3px solid var(--green); }
.value-card h4         { font-size: 0.97rem; color: var(--ink); font-weight: 600; margin-bottom: 5px; }
.value-card p          { font-size: 0.87rem; color: var(--mist); }
.team-grid             { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; margin-top: 44px; }
.team-card             { text-align: center; padding: 28px 18px; background: var(--grey); border-radius: var(--radius); }
.team-avatar           { width: 68px; height: 68px; border-radius: 50%; background: var(--green-lt); display: flex; align-items: center; justify-content: center; font-size: 1.7rem; margin: 0 auto 12px; border: 3px solid var(--green-mid); overflow: hidden; }
.team-avatar img       { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.team-card h4          { font-size: 0.95rem; color: var(--ink); font-weight: 600; }
.team-card span        { font-size: 0.8rem; color: var(--mist); }
.certs-row             { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 24px; }
.cert-badge            { background: var(--green-lt); border-radius: 7px; padding: 9px 16px; font-size: 0.83rem; font-weight: 600; color: var(--green-dk); display: flex; align-items: center; gap: 6px; border: 1px solid var(--green-mid); }

/* ── APPROACH ── */
.approach-grid   { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: center; }
.approach-steps  { display: flex; flex-direction: column; }
.approach-step   { display: flex; gap: 18px; padding: 20px 0; border-bottom: 1px solid var(--grey-mid); }
.approach-step:last-child { border-bottom: none; }
.step-num        { font-family: 'Fraunces', serif; font-size: 1.8rem; font-weight: 700; color: var(--green-mid); line-height: 1; width: 40px; flex-shrink: 0; padding-top: 3px; }
.step-content h4 { font-size: 0.98rem; font-weight: 600; color: var(--ink); margin-bottom: 3px; }
.step-content p  { font-size: 0.86rem; color: var(--mist); }

/* ── CAREERS ── */
.careers-hero     { background: var(--ink); padding: 80px; margin-top: 68px; }
.careers-hero .label { color: #9ADB9F; }
.careers-hero h1  { color: var(--white); font-size: clamp(2.2rem, 5vw, 3.4rem); font-weight: 500; max-width: 640px; margin-bottom: 16px; }
.careers-hero p   { color: rgba(255,255,255,0.68); max-width: 520px; font-size: 1rem; }
.perk             { background: var(--grey); border-radius: var(--radius); padding: 26px 22px; }
.perk-icon        { font-size: 1.7rem; margin-bottom: 11px; }
.perk h4          { font-size: 0.95rem; color: var(--ink); font-weight: 600; margin-bottom: 5px; }
.perk p           { font-size: 0.85rem; color: var(--mist); }
.vacancy          { border: 1px solid var(--grey-mid); border-radius: var(--radius); padding: 22px 26px; display: flex; justify-content: space-between; align-items: center; gap: 14px; transition: box-shadow 0.2s; margin-bottom: 12px; }
.vacancy:hover    { box-shadow: var(--shadow); }
.vacancy h4       { font-size: 0.98rem; color: var(--ink); font-weight: 600; margin-bottom: 2px; }
.vacancy span     { font-size: 0.83rem; color: var(--mist); }
.vacancy-tags     { display: flex; gap: 6px; margin-top: 7px; }
.open-cta         { margin-top: 28px; padding: 28px 32px; background: var(--green-lt); border-radius: var(--radius); display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; border: 1px solid var(--green-mid); }
.open-cta h4      { font-size: 0.98rem; color: var(--ink); font-weight: 600; margin-bottom: 4px; }
.open-cta p       { font-size: 0.88rem; color: #4A5550; }

/* ── CONTACT ── */
.contact-grid       { display: grid; grid-template-columns: 1fr 1.4fr; gap: 72px; align-items: start; max-width: 1100px; margin: 0 auto; padding: 88px 40px; }
.contact-info h2    { font-size: 1.7rem; color: var(--ink); font-weight: 500; margin-bottom: 14px; }
.contact-info > p   { color: #4A5550; margin-bottom: 26px; font-size: 0.97rem; }
.contact-detail     { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 16px; }
.c-icon             { width: 36px; height: 36px; background: var(--green-lt); border-radius: 8px; display: flex; align-items: center; justify-content: center; font-size: 1rem; flex-shrink: 0; }
.c-text strong      { display: block; font-size: 0.72rem; letter-spacing: 1px; text-transform: uppercase; color: var(--mist); margin-bottom: 1px; }
.c-text span        { font-size: 0.92rem; }
.contact-form       { background: var(--grey); border-radius: var(--radius); padding: 36px; }
.contact-form h3    { font-size: 1.25rem; color: var(--ink); font-weight: 500; margin-bottom: 22px; }
.form-row           { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.form-group         { margin-bottom: 14px; }
.form-group label   { display: block; font-size: 0.78rem; font-weight: 600; color: var(--ink); margin-bottom: 4px; }
.form-group input, .form-group textarea, .form-group select {
  width: 100%; padding: 10px 13px; border: 1.5px solid var(--grey-mid);
  border-radius: 7px; font-family: 'DM Sans', sans-serif; font-size: 0.9rem;
  color: var(--ink); background: var(--white); transition: border-color 0.2s; outline: none;
}
.form-group input:focus, .form-group textarea:focus, .form-group select:focus { border-color: var(--green); }
.form-group textarea { resize: vertical; min-height: 100px; }

/* ── BLOG ── */
.blog-hero      { background: var(--grey); padding: 72px 80px 64px; border-bottom: 1px solid var(--grey-mid); margin-top: 68px; }
.blog-hero h1   { font-size: clamp(2.2rem, 4.5vw, 3.4rem); color: var(--ink); font-weight: 500; max-width: 700px; margin-bottom: 18px; }
.blog-hero p    { color: #4A5550; max-width: 580px; font-size: 1rem; }
.blog-grid      { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
.blog-card      { background: var(--white); border: 1px solid var(--grey-mid); border-radius: var(--radius); overflow: hidden; transition: box-shadow 0.2s, transform 0.2s; display: flex; flex-direction: column; }
.blog-card:hover { box-shadow: var(--shadow); transform: translateY(-3px); }
.blog-card-thumb { height: 180px; background: var(--green-lt); display: flex; align-items: center; justify-content: center; font-size: 3rem; position: relative; overflow: hidden; }
.blog-card-thumb img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.blog-card-body  { padding: 26px 24px 28px; display: flex; flex-direction: column; flex: 1; }
.blog-tag        { display: inline-block; font-size: 0.7rem; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--green-dk); background: var(--green-lt); padding: 3px 10px; border-radius: 8px; margin-bottom: 12px; }
.blog-card-body h3  { font-size: 1.1rem; font-weight: 500; color: var(--ink); margin-bottom: 9px; line-height: 1.35; }
.blog-card-body p   { font-size: 0.87rem; color: #4A5550; flex: 1; margin-bottom: 18px; }
.blog-card-footer   { display: flex; justify-content: space-between; align-items: center; font-size: 0.78rem; color: var(--mist); padding-top: 14px; border-top: 1px solid var(--grey-mid); margin-top: auto; }
.blog-card-footer a { color: var(--green); font-weight: 600; font-size: 0.82rem; }
.blog-card-footer a:hover { color: var(--green-dk); }

/* ── ARTICLES ── */
.article-hero       { background: var(--grey); padding: 72px 80px 60px; border-bottom: 1px solid var(--grey-mid); margin-top: 68px; }
.article-hero h1    { font-size: clamp(2rem, 4vw, 3rem); color: var(--ink); font-weight: 500; max-width: 780px; margin-bottom: 20px; line-height: 1.2; }
.article-meta       { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; font-size: 0.83rem; color: var(--mist); }
.article-body       { max-width: 780px; margin: 0 auto; padding: 72px 40px; }
.article-body p     { color: #333; margin-bottom: 22px; font-size: 1.02rem; line-height: 1.75; }
.article-body h2    { font-family: 'Fraunces', serif; font-size: 1.7rem; font-weight: 500; color: var(--ink); margin: 44px 0 16px; }
.article-body h3    { font-family: 'Fraunces', serif; font-size: 1.2rem; font-weight: 500; color: var(--ink); margin: 32px 0 12px; }
.article-body ul, .article-body ol { margin: 0 0 22px 24px; color: #333; font-size: 1.02rem; line-height: 1.75; }
.article-body li    { margin-bottom: 8px; }
.article-body blockquote { border-left: 3px solid var(--green); padding: 18px 24px; background: var(--green-lt); border-radius: 0 var(--radius) var(--radius) 0; margin: 32px 0; font-style: italic; color: #444; font-size: 1.02rem; }
.article-body .callout    { background: var(--grey); border-radius: var(--radius); padding: 24px 28px; margin: 32px 0; border-left: 3px solid var(--ink); }
.article-body .callout h4 { font-size: 0.85rem; font-weight: 600; letter-spacing: 1px; text-transform: uppercase; color: var(--ink); margin-bottom: 8px; }
.article-body .callout p  { margin-bottom: 0; font-size: 0.93rem; }
.article-toc        { background: var(--green-lt); border: 1px solid var(--green-mid); border-radius: var(--radius); padding: 24px 28px; margin-bottom: 36px; }
.article-toc h4     { font-size: 0.82rem; font-weight: 600; letter-spacing: 1.5px; text-transform: uppercase; color: var(--green-dk); margin-bottom: 14px; }
.article-toc ol     { margin-left: 18px; color: #4A5550; font-size: 0.92rem; }
.article-toc li     { margin-bottom: 5px; }
.article-toc a      { color: var(--green-dk); text-decoration: underline; text-decoration-color: var(--green-mid); }
.article-toc a:hover { color: var(--green); }
.article-author     { display: flex; align-items: center; gap: 14px; padding: 24px; background: var(--grey); border-radius: var(--radius); margin-top: 44px; }
.author-avatar      { width: 52px; height: 52px; border-radius: 50%; background: var(--green-lt); display: flex; align-items: center; justify-content: center; font-size: 1.4rem; flex-shrink: 0; border: 2px solid var(--green-mid); }
.author-info strong { display: block; font-size: 0.92rem; color: var(--ink); }
.author-info span   { font-size: 0.82rem; color: var(--mist); }
.related-articles   { background: var(--grey); padding: 72px 80px; }
.related-articles h2 { font-family: 'Fraunces', serif; font-size: 1.6rem; font-weight: 500; color: var(--ink); margin-bottom: 28px; }

/* ── V-MODEL ── */
.vmodel-wrap    { margin: 36px 0; padding: 32px; background: var(--grey); border-radius: var(--radius); }
.vmodel-wrap h4 { font-size: 0.78rem; font-weight: 600; letter-spacing: 2px; text-transform: uppercase; color: var(--mist); margin-bottom: 24px; }
.vmodel-table   { width: 100%; border-collapse: collapse; }
.vmodel-table td { padding: 8px 6px; vertical-align: middle; }
.td-spec  { text-align: right; width: 35%; }
.td-arrow  { text-align: center; width: 4%; color: var(--green); font-size: 1rem; }
.td-label  { text-align: center; width: 22%; font-size: 0.72rem; color: var(--mist); padding: 0 4px; }
.td-arrow2 { text-align: center; width: 4%; color: #3344aa; font-size: 1rem; }
.td-qual   { text-align: left; width: 35%; }
.vbox      { padding: 7px 14px; border-radius: 6px; font-weight: 600; font-size: 0.78rem; white-space: nowrap; min-width: 100px; text-align: center; display: inline-block; }
.vbox-spec { background: #E8F5EA; color: #1a5c24; border: 1.5px solid #C2E8C6; }
.vbox-qual { background: #E8F0FF; color: #3344aa; border: 1.5px solid #C4D0F5; }
.vbox-test { background: var(--ink); color: #fff; border: 1.5px solid var(--ink); }

/* ── REGULATORY BADGES ── */
.reg-badge  { display: inline-block; font-size: 0.7rem; font-weight: 700; letter-spacing: 0.5px; padding: 3px 10px; border-radius: 6px; margin: 2px 3px 2px 0; }
.reg-cgmp   { background: #fff3e0; color: #b45309; border: 1px solid #fcd34d; }
.reg-haccp  { background: #f0fdf4; color: #166534; border: 1px solid #86efac; }
.reg-vmodel { background: #eff6ff; color: #1d4ed8; border: 1px solid #93c5fd; }
.reg-gamp   { background: #faf5ff; color: #6b21a8; border: 1px solid #d8b4fe; }
.reg-iqoqpq { background: #fff1f2; color: #9f1239; border: 1px solid #fda4af; }

/* ── FOOTER ── */
footer              { background: var(--ink); color: var(--white); padding: 56px 80px 28px; }
.footer-grid        { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; margin-bottom: 44px; }
.footer-brand img   { height: 28px; width: auto; filter: brightness(0) invert(1); }
.footer-brand p     { color: rgba(255,255,255,0.48); font-size: 0.86rem; margin-top: 13px; max-width: 240px; line-height: 1.7; }
.footer-col h5      { font-size: 0.7rem; letter-spacing: 2px; text-transform: uppercase; color: rgba(255,255,255,0.38); margin-bottom: 16px; }
.footer-col ul      { list-style: none; display: flex; flex-direction: column; gap: 8px; }
.footer-col ul li a { font-size: 0.87rem; color: rgba(255,255,255,0.58); transition: color 0.2s; }
.footer-col ul li a:hover { color: var(--green); }
.footer-bottom      { border-top: 1px solid rgba(255,255,255,0.09); padding-top: 22px; display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; }
.footer-bottom p    { font-size: 0.78rem; color: rgba(255,255,255,0.32); }

/* ── FORM VALIDATION ── */
.input-error        { border-color: #e53e3e !important; }
.field-error        { display: block; font-size: 0.75rem; color: #e53e3e; margin-top: 4px; }
.form-success       { text-align: center; padding: 48px 24px; }
.form-success-icon  { width: 56px; height: 56px; border-radius: 50%; background: var(--green-lt); border: 2px solid var(--green); display: flex; align-items: center; justify-content: center; font-size: 1.6rem; color: var(--green); margin: 0 auto 16px; }
.form-success h3    { font-size: 1.3rem; color: var(--ink); margin-bottom: 8px; }
.form-success p     { font-size: 0.93rem; color: var(--mist); }

/* ── FADE-IN ANIMATION ── */
.fade-in-ready   { opacity: 0; transform: translateY(18px); transition: opacity 0.45s ease, transform 0.45s ease; }
.fade-in-visible { opacity: 1; transform: translateY(0); }

/* ═══════════════════════════════════════════════════
   RESPONSIVE — single unified breakpoint
   ═══════════════════════════════════════════════════ */
@media (max-width: 960px) {
  /* Prevent horizontal overflow on mobile */
  html, body { overflow-x: hidden; max-width: 100vw; }

  /* Nav */
  nav { padding: 0 16px; }
  #header { gap: 10px; }
  .nav-links {
    /* Menu slides in from right — positioned relative to nav (backdrop-filter containing block) */
    display: flex !important;
    position: fixed; top: 100%; left: 0; right: 0;
    height: calc(100dvh - 68px);
    height: calc(100vh - 68px); /* fallback for older browsers */
    background: rgba(255,255,255,0.98);
    flex-direction: column; gap: 0;
    padding: 24px 28px 100px;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    overflow-y: auto; -webkit-overflow-scrolling: touch;
    z-index: 200;
    border-top: 1px solid var(--grey-mid);
    pointer-events: none;
  }
  @supports (height: 100dvh) {
    .nav-links { height: calc(100dvh - 68px); }
  }
  .nav-links.nav-open { transform: translateX(0); pointer-events: auto; }
  .nav-links li       { border-bottom: 1px solid var(--grey-mid); list-style: none; }
  .nav-links a        { display: block; padding: 16px 0; font-size: 1.1rem; }
  .nav-burger         { display: flex; }
  .toggle-pill        { display: none; }
  .nav-cta            { font-size: 0.78rem; padding: 6px 14px; }
  .nav-logo img       { height: 30px; }
  .nav-contact-mobile { display: none; }
  .nav-lang-mobile    { display: list-item; }
  .nav-lang-mobile a  { color: var(--mist) !important; }
  .nav-lang-mobile .active-lang { color: var(--green) !important; font-weight: 600 !important; }

  /* Grids → single column */
  .hero, .approach-grid, .about-layout,
  .sector-detail, .service-block, .contact-grid,
  .footer-grid, .specialty-inner { grid-template-columns: 1fr; }

  /* Padding reductions */
  .section, .sectors-strip, .cta-strip, .page-hero,
  .careers-hero, .approach-infographic,
  .specialty-strip, .blog-hero, .article-hero,
  .related-articles { padding: 52px 22px; }
  .sector-detail, .service-content { padding: 52px 24px; }
  .contact-grid   { padding: 52px 22px; }
  .article-body   { padding: 48px 22px; }
  .wrap           { padding: 0 22px; }
  footer          { padding: 44px 22px 22px; }

  /* Hero */
  .hero-text  { padding: 48px 20px; }
  .hero-title { font-size: clamp(2.2rem, 8vw, 3rem); }
  .hero-right { padding: 44px 24px; min-height: 280px; }
  .hero-video-panel { min-height: 360px; }

  /* Stats */
  .stats-bar { grid-template-columns: 1fr 1fr; padding: 28px 20px; gap: 16px; }
  .stat { border-right: none; padding: 6px 0; }

  /* CTA */
  .cta-strip { flex-direction: column; }

  /* Grids */
  .grid-3, .grid-4, .team-grid { grid-template-columns: 1fr 1fr; }
  .values-grid { grid-template-columns: 1fr; }
  .blog-grid   { grid-template-columns: 1fr 1fr; }
  .sector-cards { grid-template-columns: 1fr; }

  /* Services */
  .service-block.flip { direction: ltr; }

  /* Form */
  .form-row { grid-template-columns: 1fr; }

  /* Override inline padding on homepage sections */
  .section[style*="padding"],
  section[style*="padding"] { padding-left: 22px !important; padding-right: 22px !important; padding-top: 52px !important; padding-bottom: 52px !important; }

  /* Grid overrides for inline grids */
  .grid-2 { grid-template-columns: 1fr; }
  .epc-vs-epcm { grid-template-columns: 1fr; }
  .section [style*="grid-template-columns"],
  div:not(.stats-bar)[style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  .entry-product-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 600px) {
  .blog-grid  { grid-template-columns: 1fr; }
  .grid-3, .grid-4, .team-grid { grid-template-columns: 1fr; }
  .stats-bar  { grid-template-columns: 1fr 1fr; }
}

/* ── SECTOR LANDING PAGES ── */
.sector-hero{margin-top:68px;padding:80px 80px 72px;position:relative;overflow:hidden}
.sector-hero-food{background:linear-gradient(135deg,#0d2b10 0%,#1a3d1e 55%,#0f2d1a 100%)}
.sector-hero-pharma{background:linear-gradient(135deg,#0d1b2b 0%,#1a2d3d 55%,#0f1d2d 100%)}
.sector-hero .label{color:#9ADB9F}
.sector-hero-pharma .label{color:#93c5fd}
.sector-hero h1{font-size:clamp(2.4rem,5vw,3.8rem);font-weight:300;color:#fff;max-width:780px;margin-bottom:20px;line-height:1.1}
.sector-hero h1 em{font-style:italic;color:#9ADB9F}
.sector-hero-pharma h1 em{color:#93c5fd}
.sector-hero p{color:rgba(255,255,255,0.65);max-width:600px;font-size:1.05rem;margin-bottom:32px;line-height:1.7}
.sector-hero-badges{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:32px}
.sector-hero-badge{font-size:0.75rem;font-weight:700;letter-spacing:0.5px;padding:5px 13px;border-radius:6px}
.badge-food{background:rgba(61,181,74,0.15);border:1px solid rgba(61,181,74,0.4);color:#9ADB9F}
.badge-pharma{background:rgba(147,197,253,0.12);border:1px solid rgba(147,197,253,0.35);color:#93c5fd}
.sector-hero-btns{display:flex;gap:12px;flex-wrap:wrap}
.sector-hero-bg-icon{position:absolute;right:6%;top:50%;transform:translateY(-50%);font-size:14rem;opacity:0.04;line-height:1;pointer-events:none}

.sector-problem{background:var(--grey);padding:88px 80px;border-bottom:1px solid var(--grey-mid)}
.sector-problem-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:start}
.problem-card{background:#fff;border:1px solid var(--grey-mid);border-radius:var(--radius);padding:28px 26px;border-top:3px solid var(--green)}
.problem-card.pharma-accent{border-top-color:#3b82f6}
.problem-card h4{font-family:'Fraunces',serif;font-size:1rem;font-weight:500;color:var(--ink);margin-bottom:10px}
.problem-card p{font-size:0.88rem;color:#4A5550;line-height:1.65;margin:0}

.sector-services{padding:88px 80px}
.sector-services-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}
.sector-service-card{background:var(--grey);border-radius:var(--radius);padding:28px 24px;border-bottom:3px solid var(--green)}
.sector-service-card.pharma-accent{border-bottom-color:#3b82f6}
.sector-service-card h4{font-size:0.97rem;font-weight:600;color:var(--ink);margin-bottom:8px}
.sector-service-card p{font-size:0.86rem;color:#4A5550;line-height:1.6}

.sector-cases{background:var(--ink);padding:88px 80px}
.sector-cases .section-title{color:#fff}
.sector-cases .section-body{color:rgba(255,255,255,0.62)}
.sector-cases .divider{background:var(--green)}
.sector-cases .label{color:#9ADB9F}
.sector-cases-pharma .label{color:#93c5fd}
.sector-cases-pharma .divider{background:#3b82f6}
.case-card{background:rgba(255,255,255,0.05);border:1px solid rgba(255,255,255,0.1);border-radius:var(--radius);padding:32px 28px;transition:background 0.2s,border-color 0.2s}
.case-card:hover{background:rgba(61,181,74,0.08);border-color:rgba(61,181,74,0.3)}
.case-card-pharma:hover{background:rgba(59,130,246,0.08);border-color:rgba(59,130,246,0.3)}
.case-tag{font-size:0.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:#9ADB9F;margin-bottom:10px;display:block}
.case-tag-pharma{color:#93c5fd}
.case-card h4{font-family:'Fraunces',serif;font-size:1.1rem;font-weight:500;color:#fff;margin-bottom:10px;line-height:1.3}
.case-card p{font-size:0.86rem;color:rgba(255,255,255,0.58);margin-bottom:16px;line-height:1.6}
.case-metric{font-size:0.82rem;font-weight:600;color:#9ADB9F;display:flex;align-items:center;gap:6px}
.case-metric-pharma{color:#93c5fd}
.case-metric::before{content:"→";font-weight:700}

.sector-subsectors{background:var(--grey);padding:88px 80px}
.subsector-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:36px}
.subsector-card{background:#fff;border:1px solid var(--grey-mid);border-radius:var(--radius);padding:22px 18px;text-align:center;transition:box-shadow 0.2s,transform 0.2s}
.subsector-card:hover{box-shadow:var(--shadow);transform:translateY(-2px)}
.subsector-icon{font-size:2rem;margin-bottom:10px}
.subsector-card h5{font-size:0.88rem;font-weight:600;color:var(--ink);margin-bottom:4px}
.subsector-card p{font-size:0.78rem;color:var(--mist)}

.entry-product-strip{padding:72px 80px;background:var(--green-lt);border-top:1px solid var(--green-mid);border-bottom:1px solid var(--green-mid)}
.entry-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:32px;margin-top:36px}
.entry-product{background:#fff;border:1px solid var(--green-mid);border-radius:var(--radius);padding:32px 28px;display:flex;flex-direction:column}
.entry-product h4{font-family:'Fraunces',serif;font-size:1.15rem;font-weight:500;color:var(--ink);margin-bottom:8px}
.entry-product .ep-tag{font-size:0.68rem;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--green-dk);background:var(--green-lt);padding:3px 10px;border-radius:5px;display:inline-block;margin-bottom:14px;border:1px solid var(--green-mid)}
.entry-product p{font-size:0.9rem;color:#4A5550;margin-bottom:16px;line-height:1.65;flex:1}
.entry-product .ep-output{font-size:0.82rem;font-weight:600;color:var(--green-dk);margin-bottom:20px;padding:10px 14px;background:var(--green-lt);border-radius:6px;border-left:3px solid var(--green)}

.m-epcm-section{background:var(--ink);padding:88px 80px}
.m-epcm-section .section-title{color:#fff}
.m-epcm-section .section-body{color:rgba(255,255,255,0.62)}
.m-epcm-section .divider{background:var(--green)}
.m-epcm-section .label{color:#9ADB9F}
.epc-vs-epcm{display:grid;grid-template-columns:1fr 1fr;gap:0;border-radius:var(--radius);overflow:hidden;border:1px solid rgba(255,255,255,0.1);margin-top:36px}
.epc-col{padding:28px 28px 32px}
.epc-col-header{font-size:0.7rem;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:12px 28px;margin:-28px -28px 24px}
.epc-col-bad .epc-col-header{background:rgba(239,68,68,0.15);color:#fca5a5;border-bottom:1px solid rgba(239,68,68,0.2)}
.epc-col-good .epc-col-header{background:rgba(61,181,74,0.15);color:#9ADB9F;border-bottom:1px solid rgba(61,181,74,0.2)}
.epc-col-bad{background:rgba(255,255,255,0.03);border-right:1px solid rgba(255,255,255,0.08)}
.epc-col-good{background:rgba(61,181,74,0.04)}
.epc-row{display:flex;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,0.06)}
.epc-row:last-child{border-bottom:none}
.epc-icon{flex-shrink:0;font-size:0.9rem;margin-top:2px}
.epc-row p{font-size:0.88rem;line-height:1.5;margin:0}
.epc-col-bad .epc-row p{color:rgba(255,255,255,0.5)}
.epc-col-good .epc-row p{color:rgba(255,255,255,0.75)}
.m-callout{margin-top:44px;background:rgba(61,181,74,0.08);border:1px solid rgba(61,181,74,0.25);border-radius:var(--radius);padding:28px 32px;display:grid;grid-template-columns:auto 1fr;gap:20px;align-items:start}
.m-callout-icon{font-size:2rem;line-height:1}
.m-callout h4{font-family:'Fraunces',serif;font-size:1.1rem;font-weight:500;color:#fff;margin-bottom:8px}
.m-callout p{font-size:0.9rem;color:rgba(255,255,255,0.65);line-height:1.65;margin:0}

.owners-eng-strip{background:var(--green);padding:56px 80px;display:grid;grid-template-columns:1fr auto;align-items:center;gap:48px}
.owners-eng-strip h3{font-family:'Fraunces',serif;font-size:1.7rem;font-weight:500;color:#fff;margin-bottom:8px}
.owners-eng-strip p{color:rgba(255,255,255,0.8);font-size:0.97rem;max-width:580px}
.owners-eng-strip .btn-white{background:#fff;color:var(--green);font-weight:600;padding:12px 26px;border-radius:26px;font-size:0.92rem;display:inline-block;transition:all 0.2s}
.owners-eng-strip .btn-white:hover{background:var(--green-lt);transform:translateY(-1px)}

@media(max-width:960px){
  .sector-hero{padding:56px 22px 52px}
  .sector-hero-bg-icon{display:none}
  .sector-problem,.sector-services,.sector-cases,.sector-subsectors,.entry-product-strip,.m-epcm-section{padding:56px 22px}
  .sector-problem-grid,.epc-vs-epcm{grid-template-columns:1fr}
  .epc-col-bad{border-right:none;border-bottom:1px solid rgba(255,255,255,0.08)}
  .sector-services-grid,.subsector-grid{grid-template-columns:1fr 1fr}
  .entry-product-grid{grid-template-columns:1fr}
  .owners-eng-strip{grid-template-columns:1fr;padding:44px 22px;gap:24px}
  .m-callout{grid-template-columns:1fr}
}
@media(max-width:600px){
  .sector-services-grid,.subsector-grid{grid-template-columns:1fr}
}

/* ── NAV DROPDOWN ── */
.nav-dropdown{position:relative}
.nav-sub{display:none;position:absolute;top:calc(100% + 8px);left:0;background:#fff;border:1px solid var(--grey-mid);border-radius:8px;min-width:180px;padding:6px 0;box-shadow:0 8px 24px rgba(0,0,0,0.1);z-index:200;list-style:none}
.nav-sub li a{display:block;padding:9px 16px;font-size:0.83rem;font-weight:500;color:var(--ink);white-space:nowrap;transition:background 0.15s,color 0.15s}
.nav-sub li a:hover{background:var(--green-lt);color:var(--green)}
.nav-dropdown:hover .nav-sub{display:block}
@media(max-width:960px){
  .nav-sub{position:static;box-shadow:none;border:none;padding:0 0 0 16px;background:transparent;display:block}
  .nav-sub li a{font-size:0.95rem;padding:10px 0;color:var(--mist)}
  .nav-dropdown{display:block}
}

/* ── MOBILE FIXES for new sections ── */
@media(max-width:960px){
  .entry-product-strip{padding:52px 22px}
  .owners-eng-strip{padding:44px 22px;grid-template-columns:1fr}
}
