/* ═══════════════════════════════════════════════════════════
   CONWESCOM — Shared Stylesheet
   Light background, navy text, steel-blue accents, amber CTAs
   ═══════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Raleway:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400&family=Source+Sans+3:ital,wght@0,300;0,400;0,600;1,400&family=JetBrains+Mono:wght@400;500&display=swap');

/* ── Tokens ──────────────────────────────────────────────── */
:root {
  --bg-page:      #f4f7fa;
  --bg-white:     #ffffff;
  --bg-light:     #eaf0f7;
  --bg-dark:      #0f2239;
  --bg-dark-mid:  #162d4a;

  /* Text — high contrast */
  --text-dark:    #0f2239;
  --text-body:    #0f2239;      /* same as dark — maximum contrast on white */
  --text-muted:   #2e4a63;      /* noticeably darker muted */
  --text-white:   #f0f5fb;

  --blue:         #1a6fb5;
  --blue-hover:   #1558a0;
  --blue-light:   #e8f2fb;
  --blue-border:  rgba(26,111,181,.2);

  --amber:        #c8781a;
  --amber-light:  #fdf3e7;
  --amber-border: rgba(200,120,26,.6);

  --divider:      rgba(15,34,57,.1);
  --divider-dark: rgba(255,255,255,.12);

  --font-head:    'Raleway', sans-serif;
  --font-body:    'Source Sans 3', sans-serif;
  --font-mono:    'JetBrains Mono', monospace;

  --ease: cubic-bezier(.4,0,.2,1);
}

/* ── Reset ───────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; font-size: 20px; }
body {
  font-family: var(--font-body);
  background: var(--bg-page);
  color: var(--text-body);
  line-height: 1.72;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }

/* ── Type scale — slightly reduced ──────────────────────── */
h1 {
  font-family: var(--font-head);
  font-size: clamp(2rem, 4vw, 3.4rem);
  font-weight: 800;
  line-height: 1.08;
  color: var(--text-dark);
  letter-spacing: -0.02em;
}
h2 {
  font-family: var(--font-head);
  font-size: clamp(1.6rem, 2.6vw, 2.3rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--text-dark);
  letter-spacing: -0.01em;
}
h3 {
  font-family: var(--font-head);
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  font-weight: 700;
  color: var(--text-dark);
}
h4 {
  font-family: var(--font-head);
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--text-dark);
}
p {
  font-size: 1.05rem;
  color: var(--text-body);
  max-width: 68ch;
  line-height: 1.8;
}
.lead {
  font-size: 1.25rem;
  font-weight: 400;
  color: var(--text-body);
  line-height: 1.72;
}

.on-dark h1, .on-dark h2, .on-dark h3, .on-dark h4 { color: var(--text-white); }
.on-dark p, .on-dark .lead { color: rgba(240,245,251,.88); }
.on-dark li { color: rgba(240,245,251,.88); }

.eyebrow {
  font-family: var(--font-mono);
  font-size: 0.72rem;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--blue);
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 1rem;
}
.eyebrow::before { content:''; width:2rem; height:2px; background:var(--blue); flex-shrink:0; }
.eyebrow.center  { justify-content:center; }
.eyebrow.center::before { display:none; }
.on-dark .eyebrow { color: rgba(200,180,120,1); }
.on-dark .eyebrow::before { background: rgba(200,180,120,1); }

/* ── Layout ──────────────────────────────────────────────── */
.container { width:100%; max-width:1240px; margin:0 auto; padding:0 2.5rem; }
.section-pad { padding: 6rem 0; }
.section-pad-sm { padding: 4rem 0; }

/* ── Buttons ─────────────────────────────────────────────── */
.btn {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  font-family: var(--font-head);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.03em;
  padding: 0.9rem 2rem;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.24s var(--ease);
}
.btn svg { width:16px; height:16px; stroke:currentColor; fill:none; flex-shrink:0; }
.btn-primary { background:var(--blue); color:#fff; box-shadow:0 3px 16px rgba(26,111,181,.25); }
.btn-primary:hover { background:var(--blue-hover); transform:translateY(-2px); box-shadow:0 6px 24px rgba(26,111,181,.35); }
.btn-outline { background:transparent; color:var(--blue); border:2px solid var(--blue); }
.btn-outline:hover { background:var(--blue); color:#fff; transform:translateY(-2px); }
.btn-white { background:#fff; color:var(--blue); box-shadow:0 3px 16px rgba(0,0,0,.12); }
.btn-white:hover { background:var(--blue-light); transform:translateY(-2px); }
.btn-amber { background:var(--amber); color:#fff; box-shadow:0 3px 16px rgba(200,120,26,.25); }
.btn-amber:hover { background:#b36914; transform:translateY(-2px); }

/* ── Photo placeholder ───────────────────────────────────── */
.photo-ph {
  background: var(--bg-light);
  border: 2px dashed var(--blue-border);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.65rem;
  padding: 2rem 1.5rem;
  text-align: center;
  width: 100%;
  height: 100%;
  border-radius: 4px;
}
.photo-ph svg { width:32px; height:32px; stroke:var(--text-muted); fill:none; opacity:.5; }
.photo-ph .ph-tag { font-family:var(--font-mono); font-size:0.65rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--blue); }
.photo-ph .ph-desc { font-size:0.82rem; color:var(--text-muted); max-width:240px; line-height:1.55; }

.portrait-frame {
  border: 3px solid var(--amber-border);
  border-radius: 4px;
  overflow: hidden;
}

/* ══════════════════════════════════════════════════════════
   HEADER — more breathing room between logo and nav
══════════════════════════════════════════════════════════ */
.site-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 1000;
  background: #ffffff;
  border-bottom: 1px solid var(--divider);
  box-shadow: 0 2px 16px rgba(15,34,57,.07);
  padding: 1rem 0;
  transition: padding 0.3s var(--ease), box-shadow 0.3s var(--ease);
}
.site-header.scrolled {
  padding: 0.7rem 0;
  box-shadow: 0 3px 24px rgba(15,34,57,.11);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0;
}

.logo { display:flex; align-items:center; gap:0.8rem; flex-shrink:0; }
.logo-mark svg { width:34px; height:34px; }
.logo-name {
  font-family: var(--font-head);
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: 0.05em;
  line-height: 1;
  display: block;
  color: var(--text-dark);
}
.logo-name span { color: var(--blue); }
.logo-sub {
  font-family: var(--font-mono);
  font-size: 0.52rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--text-muted);
  display: block;
  margin-top: 0.2rem;
}

.main-nav {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  margin-left: 3rem;      /* ← fixed gap from logo */
}
.main-nav a {
  font-family: var(--font-head);
  font-size: 0.88rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
  padding: 0.4rem 0.85rem;
  color: var(--text-body);
  position: relative;
  transition: color 0.2s;
  border-radius: 4px;
}
.main-nav a:hover { color: var(--blue); }
.main-nav a.active { color: var(--blue); }
.main-nav a.active::after {
  content:'';
  position:absolute;
  bottom:-4px; left:0.85rem; right:0.85rem;
  height:2px;
  background: var(--blue);
  border-radius:2px;
}

.btn-header { margin-left:1.25rem; flex-shrink:0; }

.hamburger {
  display:none;
  flex-direction:column;
  gap:5px;
  background:none;
  border:none;
  cursor:pointer;
  z-index:1001;
  padding:4px;
}
.hamburger span { width:26px; height:2px; background:var(--text-dark); display:block; transition:all 0.25s; }

/* ══════════════════════════════════════════════════════════
   PAGE HERO (inner pages)
══════════════════════════════════════════════════════════ */
.page-hero {
  background: var(--bg-white);
  border-bottom: 1px solid var(--divider);
  padding: 7rem 0 3.5rem;
  position: relative;
  overflow: hidden;
}
.page-hero::before {
  content:'';
  position:absolute;
  top:0; left:0; right:0;
  height:4px;
  background: linear-gradient(90deg, var(--blue), #6db8f0);
}
.page-hero-content { position:relative; z-index:1; }
.page-hero h1 { color: var(--text-dark); margin-bottom:1rem; }
.page-hero .lead { color: var(--text-dark); max-width:56ch; }
.breadcrumb {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-family: var(--font-mono);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin-bottom: 1.25rem;
}
.breadcrumb a { color: var(--blue); }
.breadcrumb a:hover { color: var(--blue-hover); }
.breadcrumb span { color: var(--divider); }

/* ══════════════════════════════════════════════════════════
   TRUST BAR
══════════════════════════════════════════════════════════ */
.trust-bar {
  background: var(--bg-white);
  border-bottom: 1px solid var(--divider);
  padding: 1.4rem 0;
  box-shadow: 0 2px 12px rgba(15,34,57,.05);
}
.trust-inner { display:flex; align-items:center; justify-content:space-between; gap:2rem; flex-wrap:wrap; }
.trust-item { display:flex; align-items:center; gap:0.65rem; font-family:var(--font-head); font-size:0.88rem; font-weight:600; color:var(--text-body); }
.trust-item svg { width:18px; height:18px; stroke:var(--blue); fill:none; flex-shrink:0; }

/* ══════════════════════════════════════════════════════════
   CONTENT SECTIONS
══════════════════════════════════════════════════════════ */
.split-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
.split-grid.reverse { direction:rtl; }
.split-grid.reverse > * { direction:ltr; }

.person-block { display:grid; grid-template-columns:1fr 1fr; gap:4rem; align-items:start; margin-top:3rem; }
.person-text h3 { margin-bottom:0.3rem; }
.person-role { font-size:1rem; color:var(--text-muted); margin-bottom:0.25rem; font-style:italic; }
.person-spec { font-size:0.88rem; color:var(--blue); font-family:var(--font-head); font-weight:600; margin-bottom:1.5rem; }
.person-list { margin:1rem 0 0; }
.person-list h4 { font-size:1rem; margin-bottom:0.5rem; }
.person-list ul { display:flex; flex-direction:column; gap:0.3rem; }
.person-list li { font-size:0.98rem; color:var(--text-body); padding-left:1.25rem; position:relative; }
.person-list li::before { content:'·'; position:absolute; left:0; color:var(--blue); font-weight:700; }
.person-photo { max-width:380px; }
.person-photo .portrait-frame { aspect-ratio:3/4; }

.bullet-list { display:flex; flex-direction:column; gap:0.5rem; margin-top:1.25rem; }
.bullet-list li {
  font-size:1.05rem;
  color:var(--text-body);
  padding-left:1.5rem;
  position:relative;
  line-height:1.6;
}
.bullet-list li::before { content:''; position:absolute; left:0; top:0.65em; width:6px; height:6px; border-radius:50%; background:var(--blue); }

.check-list { display:flex; flex-direction:column; gap:0.65rem; margin-top:1.5rem; }
.check-list li { display:flex; gap:0.75rem; align-items:flex-start; font-size:1.05rem; }
.check-list li svg { width:18px; height:18px; stroke:var(--blue); fill:none; flex-shrink:0; margin-top:0.25rem; }

.feat-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; margin-top:3rem; }
.feat-card {
  background: var(--bg-white);
  border: 1px solid var(--divider);
  border-radius: 8px;
  padding: 2.5rem 2rem;
  transition: box-shadow 0.24s, transform 0.24s;
}
.feat-card:hover { box-shadow:0 8px 32px rgba(15,34,57,.1); transform:translateY(-3px); }
.feat-icon {
  width:52px; height:52px;
  background:var(--blue-light);
  border-radius:8px;
  display:flex; align-items:center; justify-content:center;
  margin-bottom:1.25rem;
}
.feat-icon svg { width:26px; height:26px; stroke:var(--blue); fill:none; stroke-width:1.5; }
.feat-card h4 { margin-bottom:0.5rem; font-size:1.05rem; }
.feat-card p  { font-size:0.98rem; }

.svc-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.75rem; }
.svc-card {
  background: var(--bg-white);
  border: 1px solid var(--divider);
  border-radius: 8px;
  overflow: hidden;
  transition: box-shadow 0.24s, transform 0.24s;
}
.svc-card:hover { box-shadow:0 10px 36px rgba(15,34,57,.11); transform:translateY(-4px); }
.svc-card-body { padding:2rem 1.75rem 1.5rem; }
.svc-ico { width:48px; height:48px; background:var(--blue-light); border-radius:8px; display:flex; align-items:center; justify-content:center; margin-bottom:1.1rem; }
.svc-ico svg { width:24px; height:24px; stroke:var(--blue); fill:none; stroke-width:1.5; }
.svc-card h3 { font-size:1.25rem; margin-bottom:0.6rem; }
.svc-card > .svc-card-body > p { font-size:1rem; color:var(--text-muted); }
.svc-photo { aspect-ratio:16/9; }
.svc-link {
  display:inline-flex; align-items:center; gap:0.4rem;
  margin-top:1.25rem;
  font-family:var(--font-head); font-size:0.9rem; font-weight:700;
  color:var(--blue);
  transition: gap 0.2s;
}
.svc-link svg { width:14px; height:14px; stroke:currentColor; fill:none; }
.svc-link:hover { gap:0.65rem; }

.stats-band { background: var(--blue); padding:5rem 0; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); text-align:center; }
.stat-block { padding:1.5rem; border-right:1px solid rgba(255,255,255,.2); }
.stat-block:last-child { border-right:none; }
.stat-num { font-family:var(--font-head); font-size:clamp(2.6rem,4.5vw,4rem); font-weight:800; color:#fff; line-height:1; margin-bottom:0.5rem; }
.stat-lbl { font-family:var(--font-mono); font-size:0.72rem; letter-spacing:0.12em; text-transform:uppercase; color:rgba(255,255,255,.7); }

.testi-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.75rem; }
.testi-card {
  background:var(--bg-white);
  border:1px solid var(--divider);
  border-radius:8px;
  padding:2.5rem 2rem;
}
.quote-mark { font-family:var(--font-head); font-size:4rem; font-weight:800; color:var(--blue); opacity:.15; line-height:.7; margin-bottom:1rem; }
.testi-text { font-size:1.05rem; font-style:italic; color:var(--text-body); line-height:1.72; margin-bottom:1.5rem; }
.testi-author { display:flex; align-items:center; gap:0.9rem; }
.testi-avatar { width:48px; height:48px; border-radius:50%; border:2px solid var(--blue); overflow:hidden; background:var(--bg-light); flex-shrink:0; }
.testi-name  { font-family:var(--font-head); font-size:0.98rem; font-weight:700; color:var(--text-dark); }
.testi-role  { font-size:0.85rem; color:var(--text-muted); }

.cta-band { background:var(--blue); padding:5rem 0; }
.cta-band-inner { display:flex; align-items:center; justify-content:space-between; gap:3rem; flex-wrap:wrap; }
.cta-band h2 { color:#fff; margin-bottom:0.75rem; max-width:24ch; }
.cta-band p  { color:rgba(255,255,255,.85); font-size:1.1rem; max-width:40ch; }
.cta-band-actions { display:flex; gap:1rem; flex-wrap:wrap; flex-shrink:0; }

/* Contact */
.contact-grid { display:grid; grid-template-columns:1fr 1.5fr; gap:5rem; align-items:start; }
.contact-details { display:flex; flex-direction:column; gap:1.5rem; margin-top:2rem; }
.c-det { display:flex; gap:1rem; align-items:flex-start; }
.c-ico { width:42px; height:42px; background:var(--blue-light); border:1px solid var(--blue-border); display:flex; align-items:center; justify-content:center; flex-shrink:0; border-radius:6px; }
.c-ico svg { width:18px; height:18px; stroke:var(--blue); fill:none; }
.c-text strong { display:block; font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-muted); margin-bottom:0.2rem; }
.c-text span { font-size:1.05rem; color:var(--text-dark); }
.c-text a:hover { color:var(--blue); }

.form-box { background:var(--bg-white); border:1px solid var(--divider); border-radius:10px; padding:3rem; box-shadow:0 4px 24px rgba(15,34,57,.06); }
.form-title { font-family:var(--font-head); font-size:1.35rem; font-weight:700; color:var(--text-dark); margin-bottom:2rem; padding-bottom:1.25rem; border-bottom:1px solid var(--divider); }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; }
.form-field { display:flex; flex-direction:column; gap:0.4rem; margin-bottom:1.15rem; }
.form-field label { font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.14em; text-transform:uppercase; color:var(--text-muted); }
.form-field input, .form-field select, .form-field textarea {
  background:var(--bg-page);
  border:1.5px solid var(--divider);
  color:var(--text-dark);
  font-family:var(--font-body);
  font-size:1rem;
  padding:0.8rem 1rem;
  border-radius:5px;
  outline:none;
  transition:border-color 0.22s, background 0.22s;
  width:100%;
}
.form-field input:focus, .form-field select:focus, .form-field textarea:focus { border-color:var(--blue); background:var(--bg-white); }
.form-field textarea { resize:vertical; min-height:120px; }
.check-row { flex-direction:row; align-items:flex-start; gap:0.75rem; }
.check-row input[type="checkbox"] { width:auto; flex-shrink:0; margin-top:4px; accent-color:var(--blue); }
.check-row label { font-family:var(--font-body); font-size:0.9rem; text-transform:none; letter-spacing:0; color:var(--text-muted); cursor:pointer; line-height:1.55; }
.check-row label a { color:var(--blue); }
.form-status { font-size:0.95rem; padding:0.4rem 0; min-height:1.5rem; }
.form-status.ok  { color:#2d8a4e; }
.form-status.err { color:#c0392b; }
.btn-submit { width:100%; justify-content:center; font-size:1.05rem; padding:1.05rem 2rem; margin-top:0.25rem; }

/* ══════════════════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════════════════ */
.site-footer { background: #1a3455; border-top:3px solid var(--blue); padding-top:5rem; }
.footer-grid { display:grid; grid-template-columns:2.2fr 1fr 1fr 1fr; gap:3rem; padding-bottom:4rem; }
.footer-brand .logo { margin-bottom:1.25rem; }
.footer-brand .logo-name { color:var(--text-white); }
.footer-brand .logo-sub { color:rgba(240,245,251,.5); }
.footer-brand > p { font-size:0.95rem; color:rgba(240,245,251,.65); max-width:30ch; line-height:1.7; }
.footer-socials { display:flex; gap:0.75rem; margin-top:1.75rem; }
.soc-btn { width:36px; height:36px; border:1px solid var(--divider-dark); border-radius:4px; display:flex; align-items:center; justify-content:center; transition:all 0.2s; }
.soc-btn svg { width:15px; height:15px; stroke:rgba(240,245,251,.45); fill:none; transition:stroke 0.2s; }
.soc-btn:hover { border-color:var(--blue); }
.soc-btn:hover svg { stroke:var(--blue); }
.footer-col h5 { font-family:var(--font-mono); font-size:0.68rem; letter-spacing:0.18em; text-transform:uppercase; color:var(--blue); margin-bottom:1.25rem; }
.footer-col ul { display:flex; flex-direction:column; gap:0.65rem; }
.footer-col a { font-size:0.95rem; color:rgba(240,245,251,.65); transition:color 0.2s; }
.footer-col a:hover { color:var(--text-white); }
.footer-bottom { border-top:1px solid var(--divider-dark); padding:1.5rem 0; display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:1rem; }
.footer-bottom p { font-size:0.82rem; color:rgba(240,245,251,.4); max-width:none; }
.footer-legal { display:flex; gap:2rem; }
.footer-legal a { font-size:0.82rem; color:rgba(240,245,251,.4); transition:color 0.2s; }
.footer-legal a:hover { color:var(--blue); }

/* ══════════════════════════════════════════════════════════
   SCROLL REVEAL
══════════════════════════════════════════════════════════ */
.reveal { opacity:0; transform:translateY(20px); transition:opacity .7s var(--ease), transform .7s var(--ease); }
.reveal.in { opacity:1; transform:none; }

/* ══════════════════════════════════════════════════════════
   TRAININGS PAGE
══════════════════════════════════════════════════════════ */
.training-section { border-top: 1px solid var(--divider); padding: 4rem 0; }
.training-section:first-of-type { border-top: none; }
.training-row { display: grid; grid-template-columns: 1fr 2fr; gap: 4rem; align-items: start; }
.training-row-title { border-right: 1px solid var(--divider); padding-right: 3rem; padding-top: 0.2rem; }
.training-row-title h2 { font-size: clamp(1.4rem, 2.4vw, 1.9rem); color: var(--text-dark); margin-bottom: 0.6rem; line-height: 1.2; }
.training-row-title .training-sub { font-size: 1rem; color: var(--blue); font-family: var(--font-head); font-weight: 500; font-style: italic; line-height: 1.5; }
.training-detail h3 { font-size: clamp(1.2rem, 1.8vw, 1.55rem); margin-bottom: 0.75rem; }
.training-detail > p { margin-bottom: 2rem; }
.training-group { margin-bottom: 1.75rem; }
.training-group h4 { font-size: 1rem; margin-bottom: 0.5rem; }
.training-group ul { list-style: disc; padding-left: 1.4rem; display: flex; flex-direction: column; gap: 0.3rem; }
.training-group ul li { font-size: 1rem; color: var(--text-body); }

/* ══════════════════════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════════════════════ */
@media (max-width:1050px) {
  .split-grid, .person-block, .contact-grid { grid-template-columns:1fr; gap:3rem; }
  .split-grid.reverse { direction:ltr; }
  .person-photo { max-width:360px; }
  .svc-grid { grid-template-columns:1fr 1fr; }
  .stats-grid { grid-template-columns:1fr 1fr; }
  .stat-block:nth-child(2) { border-right:none; }
  .stat-block:nth-child(3) { border-top:1px solid rgba(255,255,255,.2); border-right:1px solid rgba(255,255,255,.2); }
  .stat-block:nth-child(4) { border-top:1px solid rgba(255,255,255,.2); border-right:none; }
  .feat-grid { grid-template-columns:1fr 1fr; }
  .testi-grid { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr 1fr; }
  .cta-band-inner { flex-direction:column; }
}
@media (max-width:768px) {
  html { font-size:16px; }
  .section-pad { padding:4.5rem 0; }
  .main-nav { display:none; }
  .main-nav.open {
    display:flex; flex-direction:column; position:fixed; inset:0;
    background:var(--bg-white); align-items:center; justify-content:center;
    gap:1.5rem; z-index:1000;
  }
  .main-nav.open a { font-size:1.5rem; color:var(--text-dark) !important; background:transparent !important; }
  .main-nav.open a:hover { color:var(--blue) !important; }
  .hamburger { display:flex; }
  .btn-header { display:none; }
  .svc-grid { grid-template-columns:1fr; }
  .feat-grid { grid-template-columns:1fr; }
  .form-row { grid-template-columns:1fr; }
  .footer-grid { grid-template-columns:1fr; }
  .training-row { grid-template-columns:1fr; gap:1.5rem; }
  .training-row-title { border-right:none; border-bottom:2px solid var(--divider); padding-right:0; padding-bottom:1.5rem; }
}
@media (max-width:480px) {
  .stats-grid { grid-template-columns:1fr; }
  .stat-block { border-right:none; border-bottom:1px solid var(--divider-dark); }
}
