/* ============================================================
   NULOGIC INNOVATIONS — MAIN STYLESHEET v8
   Matching: food-consultants.nulogicinnovations.com
   ============================================================ */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,400;0,600;0,700;1,400;1,600&family=Inter:wght@300;400;500;600;700&display=swap');

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

:root {
  --bg:        #0B1A10;
  --bg-card:   #0F2215;
  --bg-mid:    #132B18;
  --green:     #1A3A22;
  --gold:      #C9922A;
  --gold-l:    #E2B455;
  --white:     #FFFFFF;
  --cream:     #F0EBE0;
  --text:      #E8E4DC;
  --muted:     #9A9A8A;
  --border:    #1E3A24;
  --font-h:    'Cormorant Garamond','Palatino Linotype',Georgia,serif;
  --font-b:    'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --nav-h:     72px;
  --max-w:     1200px;
  --radius:    12px;
  --shadow:    0 24px 60px rgba(0,0,0,0.5);
}

html { scroll-behavior:smooth; font-size:16px; }
body { background:var(--bg); color:var(--text); font-family:var(--font-b); font-weight:400; line-height:1.7; overflow-x:hidden; }
img  { max-width:100%; height:auto; display:block; }
a    { text-decoration:none; color:inherit; }
ul   { list-style:none; }

/* ── TYPOGRAPHY ─────────────────────────────────────────── */
h1,h2,h3,h4,h5 { font-family:var(--font-h); font-weight:700; line-height:1.1; color:var(--white); }
h1 { font-size:clamp(2.4rem,5vw,4rem); }
h2 { font-size:clamp(1.8rem,3vw,2.6rem); }
h3 { font-size:clamp(1.2rem,2vw,1.6rem); }

.eyebrow {
  font-family:var(--font-b); font-size:0.7rem; font-weight:700;
  letter-spacing:0.28em; text-transform:uppercase;
  color:var(--gold); display:block; margin-bottom:0.75rem;
}
.gold-line { display:block; width:40px; height:3px; background:var(--gold); margin:12px 0 20px; }

/* ── LAYOUT ─────────────────────────────────────────────── */
.container { max-width:var(--max-w); margin:0 auto; padding:0 1.5rem; }
.section    { padding:80px 0; }
.section--dark { padding:80px 0; background:var(--bg-card); }

/* ── NAV ────────────────────────────────────────────────── */
.nav {
  position:fixed; top:0; left:0; right:0; z-index:1000;
  height:var(--nav-h); background:rgba(11,26,16,0.97);
  backdrop-filter:blur(12px); border-bottom:1px solid var(--border);
  transition:box-shadow 0.3s;
}
.nav.scrolled { box-shadow:0 4px 30px rgba(0,0,0,0.5); }
.nav__inner {
  max-width:var(--max-w); margin:0 auto; padding:0 1.5rem;
  height:100%; display:flex; align-items:center; justify-content:space-between;
}
.nav__logo { display:flex; align-items:center; gap:10px; cursor:pointer; }
.nav__logo img { height:88px; width:98px; border-radius:50%; }
.nav__logo-name { font-family:var(--font-h); font-size:1.2rem; font-weight:700; color:var(--white); line-height:1.1; }
.nav__logo-sub  { font-size:0.6rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--gold); }

.nav__menu { display:flex; align-items:center; gap:0; }
.nav__item { position:relative; }
.nav__link {
  display:block; padding:0 0.9rem;
  font-size:0.78rem; font-weight:500; letter-spacing:0.04em; text-transform:uppercase;
  color:var(--muted); height:var(--nav-h); line-height:var(--nav-h);
  transition:color 0.2s; white-space:nowrap;
}
.nav__link:hover,.nav__link.active { color:var(--gold); }

.nav__item.has-dropdown:hover .nav__dropdown { opacity:1; visibility:visible; transform:translateY(0); }

/* Standard dropdown */
.nav__dropdown {
  position:absolute; top:calc(var(--nav-h) - 1px); left:0;
  min-width:220px; background:var(--bg-card);
  border:1px solid var(--border); border-top:2px solid var(--gold);
  padding:0.4rem 0; opacity:0; visibility:hidden;
  transform:translateY(-8px); transition:all 0.25s;
  box-shadow:0 20px 40px rgba(0,0,0,0.5); z-index:200;
}
.nav__dropdown a {
  display:block; padding:0.6rem 1.1rem;
  font-size:0.78rem; color:var(--muted); transition:all 0.2s;
  border-left:2px solid transparent;
}
.nav__dropdown a:hover { color:var(--gold); background:rgba(201,146,42,0.06); border-left-color:var(--gold); padding-left:1.4rem; }

/* ── MEGA MENU ─────────────────────────────────────────── */
.nav__mega {
  position:fixed;
  top:var(--nav-h); left:0; right:0;
  background:var(--bg-card);
  border-top:2px solid var(--gold);
  border-bottom:1px solid var(--border);
  box-shadow:0 20px 60px rgba(0,0,0,0.6);
  opacity:0; visibility:hidden;
  transform:translateY(-8px); transition:all 0.25s;
  z-index:500;
  display:flex;
  /* Key fix: constrain height so content never overflows viewport */
  max-height:calc(100vh - var(--nav-h));
  overflow:hidden;
}
.nav__item.has-mega:hover .nav__mega { opacity:1; visibility:visible; transform:translateY(0); }

/* Left category tabs — fixed width, scroll if needed */
.mega__cats {
  width:210px; flex-shrink:0;
  border-right:1px solid var(--border);
  padding:0.5rem 0;
  background:var(--bg);
  overflow-y:auto;
  /* All 5 tabs fit comfortably at ~48px each = 240px */
}
.mega__cat-btn {
  display:flex; align-items:center;
  width:100%; padding:0.8rem 1.2rem;
  font-size:0.8rem; font-weight:600; color:var(--muted);
  background:none; border:none; cursor:pointer;
  border-left:3px solid transparent;
  transition:all 0.2s; text-align:left; gap:0.5rem;
  white-space:nowrap;
}
.mega__cat-btn:hover,
.mega__cat-btn.active {
  color:var(--gold);
  background:rgba(201,146,42,0.07);
  border-left-color:var(--gold);
}
.mega__cat-btn .arrow { font-size:0.6rem; margin-left:auto; opacity:0.5; flex-shrink:0; }
.mega__cat-btn:hover .arrow,
.mega__cat-btn.active .arrow { opacity:1; }

/* Right panels container — scrollable */
.mega__panels {
  flex:1;
  position:relative;
  overflow-y:auto;     /* scroll if panel content is tall */
  min-width:0;
}

/* Each panel — NOT absolute anymore, just hidden/shown */
.mega__panel {
  display:none;
  padding:1.5rem 1.75rem;
  grid-template-columns:1fr 1fr;
  gap:0.4rem 1.25rem;
  align-content:start;
  /* 3-column for F&B which has 9 items */
  width:100%;
}
.mega__panel.active { display:grid; }

/* F&B panel: 9 sub-items → 3 columns to keep it compact */
#panel-fb.mega__panel {
  grid-template-columns:1fr 1fr 1fr;
  gap:0.35rem 1rem;
}

.mega__link {
  display:flex; align-items:flex-start; gap:0.6rem;
  padding:0.6rem 0.75rem;
  border-radius:6px;
  text-decoration:none;
  transition:background 0.2s;
  border:1px solid transparent;
}
.mega__link:hover {
  background:rgba(201,146,42,0.06);
  border-color:rgba(201,146,42,0.15);
}
.mega__link-icon { font-size:1.1rem; flex-shrink:0; margin-top:1px; line-height:1; }
.mega__link-title {
  font-size:0.8rem; font-weight:600; color:var(--white);
  display:block; margin-bottom:0.1rem; transition:color 0.2s; line-height:1.3;
}
.mega__link:hover .mega__link-title { color:var(--gold); }
.mega__link-desc {
  font-size:0.7rem; color:var(--muted); line-height:1.4;
}
/* Hide descriptions in F&B 3-col to keep it tight */
#panel-fb .mega__link-desc { display:none; }

.mega__view-all {
  display:inline-flex; align-items:center; gap:0.4rem;
  margin-top:1rem; padding:0.45rem 0.9rem;
  font-size:0.72rem; font-weight:700; letter-spacing:0.08em;
  text-transform:uppercase; color:var(--gold);
  border:1px solid rgba(201,146,42,0.3); border-radius:4px;
  transition:all 0.2s; text-decoration:none;
}
.mega__view-all:hover { background:rgba(201,146,42,0.1); border-color:var(--gold); }

.nav__cta {
  margin-left:1.2rem; padding:0.55rem 1.3rem;
  background:var(--gold); color:var(--bg) !important;
  font-size:0.75rem !important; font-weight:700 !important; letter-spacing:0.08em;
  border:none; cursor:pointer; border-radius:4px;
  transition:background 0.2s,transform 0.2s;
  height:auto !important; line-height:1.4 !important;
}
.nav__cta:hover { background:var(--gold-l); transform:translateY(-1px); }

.nav__hamburger { display:none; flex-direction:column; gap:5px; cursor:pointer; padding:8px; background:none; border:none; }
.nav__hamburger span { width:24px; height:2px; background:var(--white); transition:all 0.3s; display:block; }
.nav__hamburger.open span:nth-child(1) { transform:rotate(45deg) translate(5px,5px); }
.nav__hamburger.open span:nth-child(2) { opacity:0; }
.nav__hamburger.open span:nth-child(3) { transform:rotate(-45deg) translate(5px,-5px); }

/* ── HERO ────────────────────────────────────────────────── */
.hero {
  min-height:100vh;
  background:linear-gradient(135deg,#060e08 0%,#0a1a0d 35%,#0d2214 65%,#081508 100%);
  display:flex; align-items:center; position:relative; overflow:hidden;
  padding-top:var(--nav-h);
}
.hero::before {
  content:''; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(rgba(201,146,42,0.1) 1px,transparent 1px);
  background-size:36px 36px;
  mask-image:radial-gradient(ellipse 70% 80% at 75% 50%,rgba(0,0,0,0.5),transparent 70%);
}
.hero::after {
  content:''; position:absolute; top:0; left:0; right:0; height:3px;
  background:linear-gradient(to right,transparent 0%,var(--gold) 30%,var(--gold) 70%,transparent 100%);
}
.hero__inner {
  max-width:var(--max-w); margin:0 auto; padding:80px 1.5rem;
  width:100%; display:grid; grid-template-columns:1fr 420px;
  gap:4rem; align-items:center; position:relative; z-index:1;
}
/* Centered hero — no form */
.hero__inner--centered {
  grid-template-columns:1fr;
  max-width:860px;
  text-align:center;
  padding:110px 1.5rem 100px;
}
.hero__inner--centered .hero__title    { font-size:clamp(2.8rem,6vw,4.8rem); }
.hero__inner--centered .hero__body     { max-width:620px; margin-left:auto; margin-right:auto; }
.hero__inner--centered .hero__checks   { max-width:600px; margin-left:auto; margin-right:auto; }
.hero__inner--centered .hero__actions  { justify-content:center; }
.hero__inner--centered .hero__eyebrow  { justify-content:center; display:inline-flex; }
.hero__eyebrow {
  display:inline-flex; align-items:center; gap:8px; margin-bottom:1.6rem;
  padding:0.45rem 1.2rem; border:1.5px solid rgba(201,146,42,0.45);
  border-radius:50px; font-size:0.68rem; font-weight:700;
  letter-spacing:0.22em; text-transform:uppercase; color:var(--gold);
  background:rgba(201,146,42,0.05);
}
.hero__eyebrow::before { content:''; width:6px; height:6px; border-radius:50%; background:var(--gold); flex-shrink:0; }
.hero__title { color:var(--white); margin-bottom:1.3rem; line-height:1.06; }
.hero__title em { color:var(--gold); font-style:italic; }
.hero__body  { color:var(--muted); font-size:1rem; line-height:1.85; max-width:520px; margin-bottom:1.8rem; }

.hero__checks { display:grid; grid-template-columns:1fr 1fr; gap:0.6rem 2rem; margin-bottom:2.2rem; }
.hero__check  { display:flex; align-items:center; gap:0.65rem; font-size:0.86rem; font-weight:600; color:var(--text); }
.hero__check-icon {
  width:20px; height:20px; border-radius:50%;
  background:rgba(201,146,42,0.12); border:1.5px solid var(--gold);
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; font-size:0.62rem; color:var(--gold); font-weight:900;
}

.hero__actions { display:flex; gap:1rem; flex-wrap:wrap; }

/* ── LEAD FORM CARD ─────────────────────────────────────── */
.lead-form-card {
  background:var(--cream); border-radius:var(--radius);
  padding:2rem 2rem 1.8rem; border-top:4px solid var(--gold);
  box-shadow:0 32px 80px rgba(0,0,0,0.55),0 8px 24px rgba(0,0,0,0.3);
  position:relative;
}
.lead-form-card::before {
  content:''; position:absolute; inset:-16px;
  background:radial-gradient(ellipse,rgba(201,146,42,0.1),transparent 70%);
  border-radius:20px; pointer-events:none; z-index:-1;
}
.lead-form-card h3 {
  font-family:var(--font-h); font-size:1.55rem; font-weight:700;
  color:#0E1F16; line-height:1.2; margin-bottom:0.6rem;
}
.lead-form-card p { color:#556655; font-size:0.86rem; line-height:1.65; margin-bottom:1.5rem; }

.lf-group { margin-bottom:0.9rem; }
.lf-label { display:block; font-size:0.78rem; font-weight:700; color:#0E1F16; margin-bottom:0.45rem; letter-spacing:0.02em; }
.lf-input {
  width:100%; padding:0.82rem 1rem;
  border:1.5px solid #d4cfc4; border-radius:8px;
  font-size:0.9rem; background:#FFFFFF; color:#0E1F16;
  outline:none; font-family:var(--font-b);
  transition:border-color 0.2s,box-shadow 0.2s;
}
.lf-input:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,146,42,0.12); }
.lf-btn {
  width:100%; padding:0.95rem;
  background:#1A3A22; color:#fff;
  border:none; border-radius:8px;
  font-size:0.95rem; font-weight:700;
  cursor:pointer; font-family:var(--font-b);
  letter-spacing:0.03em; margin-top:0.4rem;
  transition:background 0.2s,transform 0.15s;
}
.lf-btn:hover { background:#0F2215; transform:translateY(-1px); }
.lf-note { text-align:center; margin-top:0.75rem; font-size:0.74rem; color:#8a9a8a; display:flex; align-items:center; justify-content:center; gap:0.4rem; }

/* ── STATS BAR ──────────────────────────────────────────── */
.stats-bar {
  background:#0a160d; border-top:1px solid var(--border);
  border-bottom:1px solid var(--border); padding:0;
}
.stats-bar__inner {
  max-width:var(--max-w); margin:0 auto;
  display:grid; grid-template-columns:repeat(4,1fr);
}
.stat-box {
  text-align:center; padding:1.75rem 1rem;
  border-right:1px solid var(--border);
}
.stat-box:last-child { border-right:none; }
.stat-box__num {
  font-family:var(--font-h); font-size:2.4rem; font-weight:700;
  color:var(--gold); line-height:1; margin-bottom:0.35rem;
}
.stat-box__lbl { font-size:0.72rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--muted); }

/* ── CLIENTS SECTION ────────────────────────────────────── */
.clients-section { padding:60px 0; background:var(--bg-card); overflow:hidden; }
.clients-section__head { text-align:center; margin-bottom:2.5rem; }
.clients-section__head h2 { font-size:clamp(1.5rem,3vw,2rem); margin-bottom:0.5rem; }
.clients-section__head p  { color:var(--muted); font-size:0.9rem; max-width:520px; margin:0 auto; }

/* Marquee ticker */
.clients-track-wrap {
  position:relative; overflow:hidden;
  border-top:1px solid var(--border); border-bottom:1px solid var(--border);
  background:var(--bg);
}
.clients-track-wrap::before,
.clients-track-wrap::after {
  content:''; position:absolute; top:0; bottom:0; width:120px; z-index:2; pointer-events:none;
}
.clients-track-wrap::before { left:0; background:linear-gradient(to right,var(--bg),transparent); }
.clients-track-wrap::after  { right:0; background:linear-gradient(to left,var(--bg),transparent); }

.clients-track {
  display:flex; align-items:center; gap:0;
  animation:marqueeScroll 28s linear infinite;
  width:max-content;
}
.clients-track:hover { animation-play-state:paused; }

@keyframes marqueeScroll {
  0%   { transform:translateX(0); }
  100% { transform:translateX(-50%); }
}

.client-logo-item {
  display:flex; align-items:center; justify-content:center;
  padding:1.5rem 2.5rem; min-width:160px;
  border-right:1px solid var(--border);
  background:var(--bg); transition:background 0.3s;
  flex-shrink:0;
}
.client-logo-item:hover { background:var(--bg-mid); }
.client-logo-item img {
  max-height:40px; max-width:120px; object-fit:contain;
  filter:grayscale(1) brightness(0.6);
  transition:filter 0.35s; display:block;
}
.client-logo-item:hover img { filter:grayscale(0) brightness(1); }
.client-logo-item span {
  font-size:0.8rem; font-weight:700; color:var(--muted);
  white-space:nowrap; transition:color 0.3s;
}
.client-logo-item:hover span { color:var(--gold-l); }

/* ── SERVICES GRID ──────────────────────────────────────── */
.services-grid {
  display:grid; grid-template-columns:repeat(5,1fr);
  gap:1px; background:var(--border); border:1px solid var(--border);
  overflow:hidden;
}
.service-tile {
  background:var(--bg-card); padding:2rem 1.5rem;
  cursor:pointer; position:relative;
  transition:background 0.3s; border-bottom:3px solid transparent;
  text-decoration:none; display:block;
}
.service-tile:hover { background:var(--bg-mid); border-bottom-color:var(--gold); }
.service-tile__num  { font-size:0.7rem; color:var(--gold); font-weight:700; margin-bottom:0.9rem; letter-spacing:0.06em; }
.service-tile__icon { font-size:2.2rem; line-height:1; margin-bottom:1rem; }
.service-tile__title { font-family:var(--font-h); font-size:1.1rem; font-weight:600; color:var(--white); margin-bottom:0.6rem; }
.service-tile__body  { color:var(--muted); font-size:0.8rem; line-height:1.65; }
.service-tile__arrow { display:inline-flex; align-items:center; gap:0.4rem; margin-top:1rem; font-size:0.7rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:var(--gold); opacity:0; transform:translateX(-6px); transition:all 0.25s; }
.service-tile:hover .service-tile__arrow { opacity:1; transform:translateX(0); }

/* ── HOW IT WORKS ───────────────────────────────────────── */
.hiw-steps { display:grid; grid-template-columns:repeat(5,1fr); gap:0; position:relative; margin-top:3rem; }
.hiw-steps::before { content:''; position:absolute; top:30px; left:10%; right:10%; height:1px; background:linear-gradient(to right,transparent,var(--gold),var(--gold),transparent); }
.hiw-step  { text-align:center; padding:0 0.75rem; position:relative; z-index:1; }
.hiw-step__num {
  width:60px; height:60px; border-radius:50%;
  border:2px solid var(--gold); background:var(--bg);
  display:flex; align-items:center; justify-content:center;
  margin:0 auto 1.2rem; font-family:var(--font-h);
  font-size:1.3rem; font-weight:700; color:var(--gold);
  transition:background 0.3s,color 0.3s;
}
.hiw-step:hover .hiw-step__num { background:var(--gold); color:var(--bg); }
.hiw-step__title { font-family:var(--font-h); font-size:1rem; font-weight:600; color:var(--white); margin-bottom:0.5rem; }
.hiw-step__body  { font-size:0.78rem; color:var(--muted); line-height:1.65; }

/* ── INDUSTRIES ─────────────────────────────────────────── */
.ind-grid {
  display:grid; grid-template-columns:repeat(4,1fr);
  gap:1px; background:var(--border); border:1px solid var(--border); overflow:hidden;
}
.ind-card {
  background:var(--bg-card); padding:2rem 1.5rem; text-align:center;
  transition:background 0.3s; border-bottom:2px solid transparent; cursor:default;
}
.ind-card:hover { background:var(--bg-mid); border-bottom-color:var(--gold); }
.ind-card__icon  { font-size:2.2rem; margin-bottom:0.8rem; display:block; }
.ind-card__title { font-family:var(--font-h); font-size:1rem; font-weight:600; color:var(--white); margin-bottom:0.5rem; }
.ind-card__body  { font-size:0.78rem; color:var(--muted); line-height:1.6; }

/* ── CARDS ──────────────────────────────────────────────── */
.card {
  background:var(--bg-card); border:1px solid var(--border);
  border-left:3px solid var(--gold); padding:1.75rem;
  position:relative; transition:transform 0.25s,box-shadow 0.25s;
}
.card:hover { transform:translateY(-3px); box-shadow:0 12px 36px rgba(0,0,0,0.35); }
.card__num  { position:absolute; top:1.25rem; right:1.25rem; font-family:var(--font-h); font-size:2.5rem; font-weight:700; color:rgba(201,146,42,0.1); line-height:1; }
.card__title { font-size:0.95rem; font-weight:600; color:var(--white); margin-bottom:0.5rem; }
.card__body  { color:var(--muted); font-size:0.85rem; line-height:1.7; }

/* ── TESTIMONIALS ───────────────────────────────────────── */
.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.testi-card {
  background:var(--bg-card); border:1px solid var(--border);
  border-top:2px solid var(--gold); padding:1.75rem;
}
.testi-card__stars  { color:var(--gold); font-size:0.85rem; margin-bottom:1rem; }
.testi-card__quote  { font-family:var(--font-h); font-size:1rem; font-style:italic; color:var(--cream); line-height:1.6; margin-bottom:1.25rem; }
.testi-card__name   { color:var(--gold); font-size:0.88rem; font-weight:600; display:block; margin-bottom:0.2rem; }
.testi-card__role   { color:var(--muted); font-size:0.78rem; }

/* ── SECTION HEADER ─────────────────────────────────────── */
.sec-header { margin-bottom:3rem; }
.sec-header--center { text-align:center; }
.sec-header--center .gold-line { margin-left:auto; margin-right:auto; }

/* ── BUTTONS ─────────────────────────────────────────────── */
.btn { display:inline-flex; align-items:center; gap:6px; padding:0.85rem 1.8rem; font-family:var(--font-b); font-size:0.8rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; border:none; cursor:pointer; text-decoration:none; transition:all 0.2s; }
.btn--gold    { background:var(--gold); color:var(--bg); border-radius:4px; }
.btn--gold:hover { background:var(--gold-l); transform:translateY(-2px); box-shadow:0 8px 24px rgba(201,146,42,0.3); }
.btn--outline { background:transparent; color:var(--white); border:1.5px solid rgba(255,255,255,0.28); border-radius:4px; }
.btn--outline:hover { border-color:var(--gold); color:var(--gold); }

/* ── CTA BANNER ─────────────────────────────────────────── */
.cta-banner {
  background:linear-gradient(135deg,var(--bg-mid),var(--bg-card));
  border-top:1px solid var(--border); padding:72px 0; text-align:center;
  position:relative; overflow:hidden;
}
.cta-banner::before { content:''; position:absolute; inset:0; background-image:radial-gradient(rgba(201,146,42,0.07) 1px,transparent 1px); background-size:36px 36px; pointer-events:none; }
.cta-banner .container { position:relative; z-index:1; }
.cta-banner h2  { margin-bottom:1rem; }
.cta-banner p   { color:var(--muted); font-size:1rem; max-width:500px; margin:0 auto 2rem; }

/* ── PAGE HERO ──────────────────────────────────────────── */
.page-hero {
  padding:calc(var(--nav-h)+64px) 0 56px;
  background:linear-gradient(135deg,#060e08,#0d2214);
  border-bottom:1px solid var(--border); position:relative; overflow:hidden;
}
.page-hero::after { content:''; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(to right,transparent,var(--gold) 30%,var(--gold) 70%,transparent); }

/* ── BREADCRUMB ─────────────────────────────────────────── */
.breadcrumb { display:flex; align-items:center; gap:6px; font-size:0.78rem; color:var(--muted); margin-bottom:1rem; flex-wrap:wrap; }
.breadcrumb a { color:var(--muted); transition:color 0.2s; }
.breadcrumb a:hover { color:var(--gold); }
.breadcrumb__sep { color:var(--border); }
.breadcrumb__cur { color:var(--gold); }

/* ── FEATURE ITEM ────────────────────────────────────────── */
.feature-item { display:flex; gap:1rem; padding:1.1rem 1.25rem; background:var(--bg-card); border:1px solid var(--border); border-left:3px solid var(--gold); margin-bottom:8px; transition:background 0.2s; }
.feature-item:hover { background:var(--bg-mid); }
.feature-item__title { font-weight:600; color:var(--white); font-size:0.9rem; margin-bottom:0.2rem; }
.feature-item__body  { color:var(--muted); font-size:0.82rem; line-height:1.6; }

/* ── TAG ─────────────────────────────────────────────────── */
.tag { display:inline-block; padding:0.3rem 0.85rem; background:rgba(201,146,42,0.1); border:1px solid rgba(201,146,42,0.25); color:var(--gold-l); font-size:0.73rem; margin-right:5px; margin-bottom:5px; border-radius:3px; }

/* ── QUOTE BLOCK ─────────────────────────────────────────── */
.quote-block { border-left:3px solid var(--gold); padding:1.25rem 1.75rem; background:var(--bg-card); margin:1.5rem 0; }
.quote-block p { font-family:var(--font-h); font-size:1.1rem; font-style:italic; color:var(--cream); line-height:1.6; }

/* ── PROCESS STEPS ───────────────────────────────────────── */
.process-step { display:grid; grid-template-columns:72px 1fr; gap:1.5rem; align-items:start; padding:1.75rem 0; border-bottom:1px solid var(--border); }
.process-step:last-child { border-bottom:none; }
.process-step__num { font-family:var(--font-h); font-size:2.5rem; font-weight:700; color:rgba(201,146,42,0.2); line-height:1; text-align:center; }
.process-step:hover .process-step__num { color:var(--gold); transition:color 0.3s; }
.process-step__title { font-size:1rem; font-weight:600; color:var(--white); margin-bottom:0.35rem; }
.process-step__body  { color:var(--muted); font-size:0.88rem; line-height:1.7; }

/* ── VALUES GRID ─────────────────────────────────────────── */
.values-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.25rem; }
.value-card  { background:var(--bg-card); border:1px solid var(--border); border-top:2px solid var(--gold); padding:1.5rem; }
.value-card h4 { color:var(--gold); font-size:0.92rem; font-weight:700; letter-spacing:0.05em; margin-bottom:0.5rem; }
.value-card p  { color:var(--muted); font-size:0.84rem; line-height:1.65; }

/* ── CONTACT FORM ────────────────────────────────────────── */
.form { display:flex; flex-direction:column; gap:1.1rem; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.form-group { display:flex; flex-direction:column; gap:0.4rem; }
.form-group label { font-size:0.75rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--muted); font-weight:600; }
.form-group input,
.form-group select,
.form-group textarea {
  background:var(--bg-mid); border:1px solid var(--border);
  color:var(--white); padding:0.85rem 1rem; border-radius:6px;
  font-family:var(--font-b); font-size:0.9rem; outline:none;
  transition:border-color 0.2s,box-shadow 0.2s; width:100%;
}
.form-group input:focus,
.form-group select:focus,
.form-group textarea:focus { border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,146,42,0.1); }
.form-group textarea { resize:vertical; min-height:130px; }
.form-group select option { background:var(--bg); }

/* ── FOOTER ──────────────────────────────────────────────── */
.footer { background:#070f09; border-top:1px solid var(--border); padding:60px 0 0; }
.footer__grid {
  display:grid; grid-template-columns:1.4fr 1fr 1fr 1.1fr;
  gap:2.5rem; padding-bottom:2.5rem; border-bottom:1px solid var(--border);
}
.footer__brand p    { color:var(--muted); font-size:0.84rem; line-height:1.75; max-width:250px; margin-top:1rem; }
.footer__heading    { font-size:0.68rem; font-weight:700; letter-spacing:0.22em; text-transform:uppercase; color:var(--gold); margin-bottom:1.1rem; display:block; }
.footer__links      { display:flex; flex-direction:column; gap:0.5rem; }
.footer__links a    { color:var(--muted); font-size:0.84rem; transition:color 0.2s; }
.footer__links a:hover { color:var(--gold); }
.footer__contact-item { display:flex; gap:8px; align-items:flex-start; margin-bottom:0.75rem; }
.footer__contact-item span { color:var(--muted); font-size:0.84rem; line-height:1.5; }
.footer__contact-item a    { color:var(--muted); transition:color 0.2s; }
.footer__contact-item a:hover { color:var(--gold); }
.footer__bottom { display:flex; align-items:center; justify-content:space-between; padding:1.4rem 0; flex-wrap:wrap; gap:0.75rem; }
.footer__copy   { color:#3a3a34; font-size:0.78rem; }
.footer__legal  { display:flex; gap:1.4rem; }
.footer__legal a { color:#3a3a34; font-size:0.78rem; transition:color 0.2s; }
.footer__legal a:hover { color:var(--gold); }

/* Scroll row — Why Choose + Testimonials on mobile */
.scroll-row {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.25rem;
}
.testi-scroll-row {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:1.5rem;
}
/* ── ANIMATIONS ──────────────────────────────────────────── */
.fade-up { opacity:0; transform:translateY(24px); transition:opacity 0.6s ease,transform 0.6s ease; }
.fade-up.visible { opacity:1; transform:translateY(0); }
.fade-in { opacity:0; transition:opacity 0.6s ease; }
.fade-in.visible { opacity:1; }
.delay-1 { transition-delay:0.1s!important; }
.delay-2 { transition-delay:0.2s!important; }
.delay-3 { transition-delay:0.3s!important; }
.delay-4 { transition-delay:0.4s!important; }
.delay-5 { transition-delay:0.5s!important; }

/* ── FLOATING BUTTONS ────────────────────────────────────── */
@keyframes ripple { 0%{transform:scale(1);opacity:.6} 100%{transform:scale(2.2);opacity:0} }
@keyframes floatY  { 0%,100%{transform:translateY(0)} 50%{transform:translateY(-4px)} }

/* ── RESPONSIVE ──────────────────────────────────────────── */
@media (max-width:1080px) {
  .hero__inner { grid-template-columns:1fr; gap:2.5rem; padding:64px 1.5rem; }
  .services-grid { grid-template-columns:repeat(3,1fr); }
  .ind-grid { grid-template-columns:repeat(2,1fr); }
  .footer__grid { grid-template-columns:1fr 1fr; }
  .testi-grid { grid-template-columns:1fr 1fr; }
  .values-grid { grid-template-columns:1fr 1fr; }
  .hiw-steps { grid-template-columns:1fr 1fr; gap:2rem; }
  .hiw-steps::before { display:none; }
  .stats-bar__inner { grid-template-columns:repeat(2,1fr); }
  .clients-grid { grid-template-columns:repeat(3,1fr); }
}

@media (max-width:768px) {
  :root { --nav-h:62px; }
  .section,.section--dark { padding:56px 0; }

  /* NAV mobile */
  .nav__menu {
    display:none; position:fixed;
    top:var(--nav-h); left:0; right:0;
    height:calc(100vh - var(--nav-h));
    background:rgba(7,15,9,0.98);
    backdrop-filter:blur(16px);
    flex-direction:column; padding:1.5rem;
    overflow-y:auto; gap:0; z-index:999;
    border-top:1px solid var(--border);
  }
  .nav__menu.open { display:flex; }
  .nav__link {
    height:auto; line-height:1.4; padding:0.9rem 0;
    border-bottom:1px solid var(--border); font-size:1rem;
  }
  .nav__hamburger { display:flex; }
  .nav__cta { display:block; text-align:center; margin:1rem 0 0; height:auto!important; border-radius:6px; padding:0.85rem!important; font-size:0.85rem!important; }

  /* Mega menu on mobile — stacked */
  .nav__mega {
    position:static; opacity:1; visibility:visible; transform:none;
    border:none; box-shadow:none; flex-direction:column;
    background:transparent; display:none; border-top:1px solid var(--border);
  }
  .mega__cats { width:100%; border-right:none; border-bottom:1px solid var(--border); padding:0; }
  .mega__cat-btn { padding:0.7rem 1rem; font-size:0.85rem; }
  .mega__panels { min-height:0; }
  .mega__panel { position:static; padding:1rem; display:none; grid-template-columns:1fr; }
  .mega__panel.active { display:grid; }
  .mega__link { padding:0.6rem 0.5rem; }
  .mega__link-icon { font-size:1rem; }
  .mega__link-title { font-size:0.8rem; }
  .mega__link-desc  { font-size:0.7rem; }
  .mega__view-all { margin-top:0.75rem; font-size:0.72rem; }

  /* Hero mobile */
  .hero__inner { padding:48px 1.25rem 56px; }
  .hero__title { font-size:2.4rem; }
  .hero__checks { grid-template-columns:1fr; gap:0.5rem; }
  .hero__actions { flex-direction:column; }
  .hero__actions .btn { width:100%; justify-content:center; padding:1rem; }
  .lead-form-card { padding:1.5rem; }

  /* Grids */
  .services-grid  { grid-template-columns:1fr 1fr; }
  .ind-grid       { grid-template-columns:1fr 1fr; }
  .hiw-steps      { grid-template-columns:1fr; gap:1.5rem; }
  /* Horizontal scroll for testimonials on mobile */
  .testi-grid, .testi-scroll-row {
    display:flex; overflow-x:auto; gap:1rem; padding-bottom:1rem;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .testi-grid::-webkit-scrollbar, .testi-scroll-row::-webkit-scrollbar { display:none; }
  .testi-grid > *, .testi-scroll-row > * {
    flex:0 0 82vw; max-width:320px;
    scroll-snap-align:start;
  }
  .values-grid    { grid-template-columns:1fr; }
  /* Horizontal scroll for Why Choose Us on mobile */
  .why-grid {
    display:flex !important; overflow-x:auto; gap:1rem; padding-bottom:1rem;
    scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .why-grid::-webkit-scrollbar { display:none; }
  .why-grid > .card {
    flex:0 0 78vw; max-width:300px;
    scroll-snap-align:start;
  }
  .form-row       { grid-template-columns:1fr; }
  .footer__grid   { grid-template-columns:1fr; }
  .clients-grid   { grid-template-columns:repeat(2,1fr); }
  .stats-bar__inner { grid-template-columns:repeat(2,1fr); }

  /* Process steps */
  .process-step { grid-template-columns:52px 1fr; gap:1rem; }
}

@media (max-width:480px) {
  .hero__title  { font-size:2rem; }
  .services-grid { grid-template-columns:1fr; }
  .ind-grid      { grid-template-columns:1fr; }
  .clients-grid  { grid-template-columns:1fr 1fr; }
  .stats-bar__inner { grid-template-columns:1fr 1fr; }
  .stat-box { padding:1.25rem 0.75rem; }
  .stat-box__num { font-size:1.9rem; }
}
