/* =======================
   VERITAS 1 — REFINED THEME
   ======================= */

/* ---- Variables & base ---- */
:root{
  --max-width: 1200px;

  /* spacing */
  --pad: 1rem;
  --gap: 1rem;
  --card-radius: 12px;

  /* timing */
  --t-fast: 180ms;
  --t-base: 320ms;
  --ease: cubic-bezier(.2,.95,.2,1);

  /* Light palette (defaults overridden by .light-theme) */
  --bg: #0b0d0f;
  --surface: #0f1113;
  --muted: #9aa6b1;
  --text: #e8eef6;
  --accent: #d4af37;
  --accent-2: #b8860b;
  --glass: rgba(255,255,255,0.04);
  --shadow-1: 0 10px 30px rgba(2,6,12,0.55);
  --shadow-2: 0 18px 48px rgba(2,6,12,0.55);

  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

/* Light theme variables (applied when body.light-theme exists) */
body.light-theme{
  --bg: #f7f8fb;
  --surface: #ffffff;
  --muted: #6b6b6b;
  --text: #0b1220;
  --accent: #b8860b;
  --accent-2: #d4af37;
  --glass: rgba(11,18,32,0.04);
  --shadow-1: 0 8px 26px rgba(12,18,26,0.06);
  --shadow-2: 0 14px 36px rgba(12,18,26,0.06);
}

/* Reset & base */
*{box-sizing:border-box}
html,body{height:100%;margin:0}
body{
  background:var(--bg);
  color:var(--text);
  line-height:1.5;
  transition: background var(--t-base) var(--ease), color var(--t-base) var(--ease);
}
.wrap{max-width:var(--max-width);margin:0 auto;padding:0 var(--pad)}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit;cursor:pointer}

/* Small utilities */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.muted{color:var(--muted)}
.lead{color:var(--muted)}

/* ---- Topbar & header ---- */
.topbar{font-size:14px;color:var(--muted);padding:0.35rem 0;border-bottom:1px solid rgba(255,255,255,0.03);background:transparent}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:0.85rem 0}
.brand img{height:52px;transition:filter 300ms var(--ease)}
.nav-main{display:flex;gap:0.9rem;align-items:center}
.nav-main a{padding:0.4rem 0.55rem;border-radius:8px;color:var(--muted);font-weight:700;transition:background var(--t-fast), color var(--t-fast)}
.nav-main a:hover{background:var(--glass);color:var(--text)}
.header-cta{display:flex;align-items:center;gap:0.6rem}

/* Theme toggle */
.theme-toggle{
  display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:10px;border:0;background:var(--glass);color:var(--text);font-weight:700;transition: transform var(--t-fast) var(--ease), background var(--t-base) var(--ease);
}
.theme-toggle:active{transform:scale(.985)}
.theme-toggle .icon{font-size:16px}

/* Buttons */
.btn{display:inline-block;padding:10px 14px;border-radius:10px;font-weight:800;transition:transform var(--t-fast) var(--ease), box-shadow var(--t-base)}
.btn.primary{background:linear-gradient(90deg,var(--accent-2),var(--accent));color:#071018;box-shadow:var(--shadow-1)}
.btn.primary:hover{transform:translateY(-4px)}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,0.04);color:var(--text)}
.btn.call{background:transparent;border:1px solid rgba(255,255,255,0.06);color:var(--accent)}

/* Hamburger for mobile */
.hamburger{display:none;border:0;background:transparent;color:var(--muted);font-size:1.2rem}

/* ---- HERO ---- */
/* ---- HERO ---- */
.hero {
  position: relative;
  min-height: 480px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.2rem 0;
  overflow: hidden;
}

/* Background with dark gradient overlay + image (max.jpg in project root) */
.hero-bg {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(to bottom, rgba(0,0,0,0.65) 0%, rgba(0,0,0,0.75) 50%, rgba(0,0,0,0.85) 100%),
    url("max.jpg") no-repeat center center/cover;
  background-size: cover;
  background-position: center;
  transform-origin: center;
  will-change: transform, filter;
  transition: transform 900ms var(--ease), filter 600ms var(--ease);
  z-index: 0;
}

/* Light theme variant (if your site toggles a .light-theme on body) */
body.light-theme .hero-bg {
  background:
    linear-gradient(to bottom, rgba(255,255,255,0.45) 0%, rgba(255,255,255,0.6) 50%, rgba(255,255,255,0.75) 100%),
    url("max.jpg") no-repeat center center/cover;
  background-size: cover;
  background-position: center;
}

/* Overlay content */
.hero-overlay {
  position: relative;
  z-index: 2;
  width: 100%;
}

.full-hero {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 1rem;
}

.hero-content {
  max-width: 920px;
  padding: 28px;
  border-radius: 14px;
  background: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(6px);
  box-shadow: var(--shadow-2);
  transition: background var(--t-base), box-shadow var(--t-base);
  text-align: center;
}

body.light-theme .hero-content {
  background: rgba(255, 255, 255, 0.85);
  box-shadow: var(--shadow-1);
  color: var(--text);
}

/* Hero text */
.hero-title {
  margin: 0 0 14px;
  font-size: clamp(32px, 4vw, 46px);
  line-height: 1.2;
  color: var(--accent);
  letter-spacing: -0.3px;
}

.hero-lead {
  margin: 0 0 20px;
  color: var(--muted);
  font-weight: 600;
  font-size: 1.1rem;
  line-height: 1.6;
}

/* CTA row */
.cta-row {
  display: flex;
  justify-content: center;
  gap: 16px;
  margin: 20px 0;
}

.hero-features {
  display: flex;
  justify-content: center;
  gap: 1rem;
  flex-wrap: wrap;
  color: var(--muted);
  font-weight: 700;
  margin-top: 16px;
}



/* ---- Sections ---- */
.section{padding:3rem 0}
.section.large{padding:3.6rem 0}
.section.alt{background:transparent}
.section-title{font-size:1.1rem;margin:0 0 6px;color:var(--accent)}
.section-sub{color:var(--muted);margin:0 0 12px}

/* ---- Team ---- */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;margin-top:12px}
.team-card{background:var(--surface);padding:14px;border-radius:12px;text-align:center;border:1px solid rgba(255,255,255,0.03);box-shadow:var(--shadow-1);transition:transform 360ms var(--ease), box-shadow 360ms var(--ease)}
.team-card img{width:100%;height:200px;object-fit:cover;border-radius:8px;margin-bottom:10px}
.team-card h4{margin:6px 0 4px;font-size:1.05rem}
.team-card .muted{color:var(--muted);font-size:0.95rem}

/* ---- About / two-col ---- */
.two-col{display:grid;grid-template-columns:1fr 360px;gap:1.2rem;align-items:start}
.about-left{padding:0}
.about-boxes{display:grid;gap:12px;margin-top:12px}
.about-box{background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));padding:14px;border-radius:10px;border:1px solid rgba(255,255,255,0.03);box-shadow:var(--shadow-1)}

body.light-theme .about-box{background:linear-gradient(180deg,#fff,#fff);border:1px solid rgba(11,18,32,0.05);box-shadow:var(--shadow-1)}

/* ---- Services / Industries ---- */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}
.service-card{background:var(--surface);padding:18px;border-radius:12px;text-align:center;border:1px solid rgba(255,255,255,0.03);box-shadow:var(--shadow-1);transition:transform 360ms var(--ease), box-shadow 360ms var(--ease)}
.service-card .icon{width:64px;height:64px;border-radius:12px;background:linear-gradient(180deg, rgba(212,175,55,0.06), rgba(212,175,55,0.02));display:flex;align-items:center;justify-content:center;font-size:22px;color:var(--accent);transition:transform var(--t-base)}
.service-card h4{margin:0;color:var(--accent)}
.service-card p{margin:0;color:var(--muted)}

.industries-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:12px}
.industry{background:var(--surface);padding:12px;border-radius:10px;text-align:center;border:1px solid rgba(255,255,255,0.02);box-shadow:var(--shadow-1)}
.icon-chip{width:64px;height:64px;border-radius:12px;background:linear-gradient(180deg, rgba(212,175,55,0.05), rgba(212,175,55,0.02));display:flex;align-items:center;justify-content:center;color:var(--accent);font-size:20px}

/* ---- FAQ & Contact ---- */
.faq-q{display:block;width:100%;text-align:left;padding:0.75rem;border-radius:10px;font-weight:800;color:var(--muted);cursor:pointer;transition:background var(--t-fast)}
.faq-a{padding:0.9rem;display:none;background:rgba(255,255,255,0.02);border-radius:10px;margin-top:0.3rem;color:var(--muted)}

.contact-aside{background:linear-gradient(180deg, rgba(6,6,6,0.12), rgba(6,6,6,0.04));padding:1.1rem;border-radius:12px;border:1px solid rgba(255,255,255,0.03);box-shadow:var(--shadow-1);transition:background var(--t-base), box-shadow var(--t-base)}
body.light-theme .contact-aside{background:#fff;border:1px solid rgba(11,18,32,0.04);box-shadow:var(--shadow-1)}

.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0.8rem}
.contact-aside input, .contact-aside textarea{width:100%;padding:0.7rem;border-radius:10px;border:1px solid rgba(255,255,255,0.06);background:transparent;color:var(--text);transition:box-shadow var(--t-fast), border-color var(--t-fast)}
body.light-theme .contact-aside input, body.light-theme .contact-aside textarea{background:#fff;color:var(--text);border:1px solid rgba(11,18,32,0.06)}

.contact-aside input:focus, .contact-aside textarea:focus{outline:none;box-shadow:0 8px 26px rgba(0,0,0,0.14);border-color:rgba(212,175,55,0.9)}

/* ---- Floating CTA & footer ---- */
.float-cta{position:fixed;right:20px;bottom:20px;background:linear-gradient(90deg,var(--accent),var(--accent-2));color:#071018;border:0;padding:12px 16px;border-radius:999px;box-shadow:0 18px 44px rgba(0,0,0,0.5);z-index:120;transition:transform var(--t-fast)}
.float-cta:hover{transform:translateY(-6px)}
.site-footer{padding:1.2rem 0;color:var(--muted)}

/* ---- Reveal & Hover polish ---- */
.reveal-up{opacity:0;transform:translateY(12px);transition:opacity 560ms var(--ease), transform 560ms var(--ease)}
.reveal-up.is-visible{opacity:1;transform:none}
.hover-lift{transition:transform 360ms var(--ease), box-shadow 360ms var(--ease)}
.hover-lift:hover{transform:translateY(-8px);box-shadow:0 28px 60px rgba(0,0,0,0.45)}
.service-card:hover .icon, .team-card:hover img{transform:translateY(-6px) scale(1.02)}

/* ---- Accessibility & focus ---- */
a:focus, button:focus, input:focus, textarea:focus{outline:3px solid rgba(212,175,55,0.12);outline-offset:3px}
@media (prefers-reduced-motion: reduce){
  *{transition:none!important;animation:none!important}
}

/* ---- Responsive ---- */
@media (max-width:1100px){
  .nav-main{display:none}
  .hamburger{display:inline-block}
  .two-col{grid-template-columns:1fr}
  .services-grid,.industries-grid{grid-template-columns:repeat(2,1fr)}
  .form-grid{grid-template-columns:1fr}
}
@media (max-width:680px){
  .hero{min-height:420px}
  .hero-content{padding:16px}
  .hero-title{font-size:1.6rem}
  .services-grid,.industries-grid{grid-template-columns:1fr}
}
/* ---- Layout & visuals to match screenshot ---- */

/* Large rounded left about card */
.about-grid-wrapper {
  display: grid;
  grid-template-columns: 1fr 360px;
  gap: 20px;
  align-items: start;
}

/* Larger left card visuals (match screenshot) */
.about-left.large-card {
  background: linear-gradient(180deg, rgba(3,6,10,0.9), rgba(8,10,12,0.9));
  border-radius: 16px;
  padding: 28px;
  border: 1px solid rgba(255,255,255,0.03);
  box-shadow: 0 22px 46px rgba(2,6,12,0.55);
}

/* top-level about heading bigger and strong weight */
.about-left.large-card .about-heading {
  font-size: 26px;
  color: #fff;
  margin-bottom: 12px;
}

/* boxes inside bigger rounded cards */
.about-box {
  background: rgba(255,255,255,0.02);
  border-radius: 12px;
  padding: 18px;
  margin-top: 18px;
  border: 1px solid rgba(255,255,255,0.02);
}

/* side panel (core values) */
.side-panel {
  background: linear-gradient(180deg, rgba(6,10,14,0.95), rgba(6,10,14,0.95));
  border-radius: 14px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,0.03);
  box-shadow: 0 14px 34px rgba(2,6,12,0.45);
}
.side-panel .core-values li {
  display:flex;align-items:flex-start;gap:12px;padding:14px 0;border-top:1px solid rgba(255,255,255,0.02);
}
.side-panel .core-values li:first-child{border-top:0}

/* consultation banner (full width with background image/overlay) */
.consult-banner {
  padding: 36px 0;
}
.consult-card {
  width: 100%;
  padding: 24px;
  border-radius: 14px;
  background-image: linear-gradient(180deg, rgba(3,6,10,0.86), rgba(6,8,10,0.86));
  background-blend-mode: overlay;
  border: 1px solid rgba(255,255,255,0.04);
  box-shadow: 0 18px 44px rgba(2,6,12,0.5);
}
.consult-grid { display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap }
.consult-text .section-title { color: var(--accent); font-size: 20px; margin:0 }
.consult-text .section-sub { color: #c8d8e4; margin:6px 0 0 0 }
.consult-cta { margin-left:auto }

/* contact form full width card styling */
.contact-form-card {
  width: 100%;
  padding: 22px;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(6,7,8,0.9), rgba(10,12,14,0.9));
  border: 1px solid rgba(255,255,255,0.03);
  box-shadow: 0 18px 46px rgba(2,6,12,0.55);
  margin-top: 12px;
}

/* form inputs — improved contrast and spacing */
.contact-form-card input, .contact-form-card textarea {
  background: rgba(255,255,255,0.02);
  border: 1px solid rgba(255,255,255,0.03);
  color: #dfeef8;
  padding: 12px;
  border-radius: 10px;
  margin-top:6px;
}
.contact-form-card label { color: #cddde7; font-weight:700; margin-top:10px; display:block }
.contact-form-card .form-actions { margin-top: 12px; display:flex; gap:10px }
.contact-form-card .block { display:block; width:100% }

/* FAQ spacing */
.faq { padding-right:12px }
.faq .faq-q { background: transparent; color: #cbdbe6; border-radius: 10px }
.faq .faq-a { background: rgba(255,255,255,0.02); color:#bfcbd6 }

/* Small responsive improvements */
@media (max-width:980px) {
  .about-grid-wrapper { grid-template-columns: 1fr; }
  .consult-grid { flex-direction:column; align-items:flex-start }
  .consult-cta { margin: 8px 0 0 0 }
  .two-col { grid-template-columns: 1fr }
  .services-grid, .industries-grid { grid-template-columns: repeat(2,1fr) }
}
/* ===== Light-theme visibility fixes (paste at BOTTOM of styles.css) ===== */

/* When body has .light-theme, ensure side panels & cards use light surfaces and dark text */
body.light-theme .side-panel,
body.light-theme .about-left.large-card,
body.light-theme .consult-card,
body.light-theme .contact-form-card,
body.light-theme .team-card,
body.light-theme .service-card,
body.light-theme .industry,
body.light-theme .contact-aside {
  background: #ffffff;
  color: #0b1220;
  border-color: rgba(11,18,32,0.06);
  box-shadow: 0 18px 44px rgba(11,18,32,0.06);
}

/* Core Values panel title and items readable on light theme */
body.light-theme .side-panel .about-right-title,
body.light-theme .side-panel .core-values li strong,
body.light-theme .side-panel .core-values li .cv-desc {
  color: #0b1220;
}

/* Ensure icons remain visible and slightly muted */
body.light-theme .side-panel .cv-icon { opacity: 0.98; filter: none; }

/* About left card: keep the darker hero-style block if desired, but make inner boxes white with dark text */
body.light-theme .about-left.large-card {
  background: linear-gradient(180deg,#f8f9fb,#f5f7fb);
  border: 1px solid rgba(11,18,32,0.04);
  box-shadow: 0 14px 36px rgba(11,18,32,0.04);
}
body.light-theme .about-left.large-card .about-heading { color: #071018; }
body.light-theme .about-left.large-card .about-lead,
body.light-theme .about-left.large-card .lead { color: #24323b; }

/* Make the inner about-box panels white with dark text for good contrast */
body.light-theme .about-box {
  background: #ffffff;
  color: #0b1220;
  border: 1px solid rgba(11,18,32,0.04);
  box-shadow: 0 10px 30px rgba(11,18,32,0.04);
}

/* Consultation banner in light: white surface with subtle accent */
body.light-theme .consult-card {
  background: linear-gradient(180deg,#fff,#fbfbfd);
  color: #071018;
  border: 1px solid rgba(11,18,32,0.05);
  box-shadow: 0 18px 44px rgba(11,18,32,0.06);
}
body.light-theme .consult-text .section-sub { color: #334055; }

/* Contact form card (light) */
body.light-theme .contact-form-card {
  background: #ffffff;
  color: #071018;
  border: 1px solid rgba(11,18,32,0.05);
  box-shadow: 0 18px 44px rgba(11,18,32,0.06);
}
body.light-theme .contact-form-card label { color: #23313a; }
body.light-theme .contact-form-card input,
body.light-theme .contact-form-card textarea {
  background: #fff;
  color: #071018;
  border: 1px solid rgba(11,18,32,0.06);
  box-shadow: none;
}

/* FAQ panel readability on light */
body.light-theme .faq .faq-q { color: #24323b; }
body.light-theme .faq .faq-a { background: #fff; color:#24323b; border:1px solid rgba(11,18,32,0.04); }

/* Footer & small text contrast */
body.light-theme .site-footer,
body.light-theme .muted {
  color: #4b5560;
}

/* Safety: force any inline-styled elements to inherit readable color on light theme */
body.light-theme *[style] { color: inherit !important; }

/* Slight spacing tweak if panels feel crowded on light layout */
@media (min-width: 1000px) {
  body.light-theme .about-grid-wrapper { gap: 28px; }
  body.light-theme .consult-grid { align-items:center; }
}
/* ===== Contact form polish ===== */

.contact-form-card { position:relative; overflow:visible; }

/* Form grid layout */
.form-grid.form-row { display:grid; grid-template-columns: repeat(2, 1fr); gap: 12px; align-items:start; margin-top: 6px; }
.form-field { display:flex; flex-direction:column; }
.form-field label { font-weight:700; margin-bottom:8px; color:var(--text); }
.form-field input, .form-field textarea {
  padding:12px 14px; border-radius:10px; border:1px solid rgba(0,0,0,0.08);
  background: rgba(255,255,255,0.96); color: #071018; font-size: 0.95rem; transition: box-shadow 180ms var(--ease), border-color 180ms var(--ease);
}
body.site-theme-dark .form-field input, body.site-theme-dark .form-field textarea {
  background: rgba(255,255,255,0.02); color:#cfe6f4; border:1px solid rgba(255,255,255,0.04);
}
.form-field input:focus, .form-field textarea:focus {
  outline: none; box-shadow: 0 8px 26px rgba(0,0,0,0.08); border-color: rgba(212,175,55,0.95);
}

.error-message { color: #c73a2b; font-size:0.9rem; min-height:1.1rem; margin-top:6px }
.form-status { margin-top:12px; font-weight:700; color:var(--accent-2) }
.form-detail { color: var(--muted); font-size:0.95rem }

/* Buttons: primary fills horizontally on small screens */
.form-actions { display:flex; gap:10px; margin-top:12px }
.btn.block { width: 100%; }
@media (min-width:780px) {
  .btn.block { width: auto; min-width:180px }
}

/* Consent checkbox style */
.consent input{ margin-right:8px; transform: translateY(1px) }

/* Success/Failure states */
.form-status.success { color: #0b7a3b } /* green */
.form-status.error   { color: #c73a2b } /* red */

/* Responsive: single column on small screens */
@media (max-width:780px) {
  .form-grid.form-row { grid-template-columns: 1fr; }
  .form-actions { flex-direction:column-reverse; }
}
/* ===== Core Team section (professional cards) ===== */
.core-team-section { padding-top: 48px; padding-bottom: 28px; }

/* header */
.core-team-section .team-head { text-align:center; margin-bottom: 28px; }
.core-team-section .team-head .section-title { font-size: clamp(20px, 2.6vw, 32px); margin-bottom:8px; color:var(--accent, #d4af37); }
.core-team-section .team-head .section-sub { color:var(--muted); max-width:880px; margin:0 auto; }

/* grid */
.core-team-grid {
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap:20px;
  align-items:stretch;
  margin-top: 12px;
}

/* card */
.core-card {
  background: var(--surface, #0f1113);
  border-radius: 12px;
  padding: 18px;
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  border: 1px solid rgba(255,255,255,0.03);
  box-shadow: 0 14px 36px rgba(2,6,12,0.45);
  transition: transform 320ms cubic-bezier(.2,.95,.2,1), box-shadow 320ms, border-color 320ms;
  overflow: hidden;
}

/* hover & focus states */
.core-card:hover,
.core-card:focus-within {
  transform: translateY(-8px);
  box-shadow: 0 30px 70px rgba(2,6,12,0.6);
  border-color: rgba(212,175,55,0.18);
}

/* icon circle */
.icon-circle {
  width:64px; height:64px; border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  background: linear-gradient(180deg, var(--accent, #d4af37), var(--accent-2, #b8860b));
  color:#071018; font-size:26px; margin-bottom:12px;
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}

/* card body */
.card-body { width:100%; }
.card-number { font-weight:800; font-size:28px; color:var(--accent, #d4af37); margin-bottom:6px; }
.card-title { font-weight:800; color:var(--text, #e8eef6); margin-bottom:6px; }
.card-name { font-weight:700; color:var(--muted); font-size:0.95rem; margin-bottom:10px; }
.card-note { color:var(--muted); font-size:0.92rem; margin:0 }

/* confidentiality band */
.confidentiality-band {
  margin-top:22px;
  display:flex;
  gap:14px;
  align-items:center;
  background: linear-gradient(180deg, rgba(212,175,55,0.06), rgba(212,175,55,0.02));
  padding:16px 18px;
  border-radius:12px;
  border:1px solid rgba(212,175,55,0.08);
  color:var(--text, #071018);
  box-shadow: 0 12px 34px rgba(11,18,32,0.06);
}
.confidentiality-band .conf-icon { width:44px;height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--accent, #d4af37); color:#071018; font-size:20px; }
.confidentiality-band .conf-text strong { display:block; font-weight:800; color:var(--text, #071018); }
.confidentiality-band .conf-text .conf-sub { color:var(--muted); margin-top:4px; font-size:0.95rem; }

/* Light theme support: ensure visibility if body.light-theme (if you use that) */
body.light-theme .core-card { background:#fff; color:#071018; border-color: rgba(11,18,32,0.05); box-shadow: 0 12px 40px rgba(11,18,32,0.06); }
body.light-theme .card-name, body.light-theme .card-note { color:#334049; }
body.light-theme .confidentiality-band { background: linear-gradient(180deg, rgba(11,18,32,0.02), rgba(11,18,32,0.01)); color:#071018; border-color: rgba(11,18,32,0.04); }

/* Responsive: tighten gaps on small screens */
@media (max-width:740px){
  .core-team-grid { gap:14px; }
  .icon-circle { width:56px; height:56px; font-size:22px; }
  .card-number { font-size:22px; }
  .confidentiality-band{ flex-direction:column; align-items:flex-start; }
}
/* ===== Highlighted Founder Card ===== */
.core-card.highlight {
  border: 2px solid var(--accent, #d4af37);
  box-shadow: 0 20px 60px rgba(212,175,55,0.25), 0 8px 22px rgba(0,0,0,0.4);
  position: relative;
  overflow: hidden;
}

.core-card.highlight::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: 12px;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(212,175,55,0.18), rgba(184,134,11,0.12));
  opacity: 0;
  transition: opacity 0.3s ease;
}

.core-card.highlight:hover::after {
  opacity: 1;
}

/* Make icon gold variant */
.core-card.highlight .icon-circle {
  background: linear-gradient(180deg, #FFD700, #DAA520);
  color: #071018;
  box-shadow: 0 10px 26px rgba(212,175,55,0.5);
}
/* Centered section header for services */
.section-head.centered {
  text-align: center;
  margin-bottom: 32px;
}

.section-head.centered .section-title {
  margin-bottom: 10px;
}

.section-head.centered .section-sub {
  max-width: 780px;
  margin: 0 auto;
}
/* Unified section heading style */
.section-title.centered {
  text-align: center;
  margin-bottom: 10px;
  font-size: 2rem;
  font-weight: 700;
}

/* Unified section subheading style */
.section-sub.centered {
  text-align: center;
  max-width: 780px;
  margin: 0 auto 30px;
  font-size: 1rem;
  color: var(--muted);
}
/* Section heading (modern + professional) */
.section-title.centered {
  text-align: center;
  margin-bottom: 14px;
  font-size: 2rem;
  font-weight: 700;
  color: var(--text);
  position: relative;
  display: inline-block;
  padding-bottom: 8px;
}

/* Accent underline effect */
.section-title.centered::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: var(--accent, #d4af37);
  margin: 8px auto 0;
  border-radius: 3px;
  transition: width 0.3s ease;
}

/* Hover animation (gives life to headings) */
.section-title.centered:hover::after {
  width: 90px;
}
/* Unified golden section headings */
.section-title.centered {
  text-align: center;
  margin-bottom: 14px;
  font-size: 2rem;
  font-weight: 700;
  color: var(--accent, #d4af37); /* golden */
  position: relative;
  display: inline-block;
  padding-bottom: 8px;
}

/* Golden underline */
.section-title.centered::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: var(--accent, #d4af37);
  margin: 8px auto 0;
  border-radius: 3px;
  transition: width 0.3s ease;
}

/* Hover animation */
.section-title.centered:hover::after {
  width: 90px;
}
/* Unified golden section headings */
.section-title.centered {
  display: block;
  text-align: center;          /* centers the text */
  margin: 0 auto 14px;         /* centers the block inside parent */
  font-size: 2rem;
  font-weight: 700;
  color: var(--accent, #d4af37); /* golden */
  position: relative;
  padding-bottom: 8px;
}

/* Golden underline */
.section-title.centered::after {
  content: "";
  display: block;
  width: 60px;
  height: 3px;
  background: var(--accent, #d4af37);
  margin: 8px auto 0;          /* centers underline */
  border-radius: 3px;
  transition: width 0.3s ease;
}

/* Hover animation */
.section-title.centered:hover::after {
  width: 90px;
}
/* ===== Why Choose Veritas 1 (features + highlights) ===== */

.section-title.centered { /* ensures headings remain consistent */
  display:block;
  text-align:center;
  margin:0 auto 14px;
  font-size:2rem;
  font-weight:700;
  color:var(--accent, #d4af37);
  position:relative;
  padding-bottom:8px;
}
.section-title.centered::after{
  content:""; display:block; width:60px; height:3px; background:var(--accent, #d4af37); margin:8px auto 0; border-radius:3px; transition:width .28s ease;
}
.section-title.centered:hover::after{ width:90px; }

.section-sub.centered { text-align:center; max-width:820px; margin:0 auto 30px; color:var(--muted); }

/* FEATURE GRID */
.feature-grid {
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin-top:8px;
  margin-bottom:28px;
}
.feature-card {
  background:var(--surface);
  border-radius:12px;
  padding:20px;
  border:1px solid rgba(255,255,255,0.03);
  box-shadow:0 12px 30px rgba(2,6,12,0.35);
  transition:transform 280ms cubic-bezier(.2,.95,.2,1), box-shadow 280ms;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.feature-card:hover{ transform:translateY(-8px); box-shadow:0 30px 70px rgba(2,6,12,0.45); }
.f-icon{
  width:44px;height:44px;border-radius:10px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,var(--accent, #d4af37), var(--accent-2, #b8860b)); color:#071018; font-size:20px;
  box-shadow:0 8px 20px rgba(0,0,0,0.12);
}
.f-title{ font-weight:700; margin:0; color:var(--text); font-size:1rem; }
.f-desc{ margin:0; color:var(--muted); font-size:0.95rem; line-height:1.45; }

/* HIGHLIGHT GRID */
.highlight-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:26px;
}
.highlight-card{
  background: linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.01));
  border-radius:12px;
  padding:20px;
  border:1px solid rgba(255,255,255,0.03);
  box-shadow:0 18px 44px rgba(2,6,12,0.35);
  text-align:center;
}
.highlight-icon{
  width:64px;height:64px;border-radius:12px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(180deg,var(--accent-2, #b8860b), var(--accent, #d4af37)); color:#071018; font-size:26px;
  box-shadow:0 12px 30px rgba(0,0,0,0.18);
}
.highlight-number{ margin:0; font-size:1.25rem; font-weight:800; color:var(--accent); }
.highlight-title{ margin:6px 0 8px; font-weight:700; color:var(--text); }
.highlight-desc{ margin:0; color:var(--muted); font-size:0.95rem; }

/* Responsive */
@media (max-width:1100px){
  .feature-grid{ grid-template-columns:repeat(3,1fr); }
  .highlight-grid{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:820px){
  .feature-grid{ grid-template-columns:repeat(2,1fr); }
  .highlight-grid{ grid-template-columns:repeat(1,1fr); }
}
@media (prefers-reduced-motion: reduce){
  .feature-card, .highlight-card { transition:none; }
}

/* Light theme adjustments (if using .light-theme on body) */
body.light-theme .feature-card,
body.light-theme .highlight-card {
  background:#fff; color:#071018; border-color: rgba(11,18,32,0.06); box-shadow:0 12px 30px rgba(11,18,32,0.06);
}
body.light-theme .f-desc, body.light-theme .highlight-desc{ color:#44505c; }
/* ===== Footer ===== */
.site-footer {
  background: #0c0f12;
  color: var(--muted);
  padding: 40px 20px 20px;
  font-size: 0.95rem;
}
.footer-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 32px;
}
.footer-brand {
  font-size: 1.4rem;
  font-weight: 800;
  color: var(--accent, #d4af37);
  margin-bottom: 6px;
}
.footer-tagline {
  color: var(--accent, #d4af37);
  font-size: 0.95rem;
  margin-bottom: 12px;
}
.footer-desc {
  margin-bottom: 12px;
  color: var(--text);
  line-height: 1.5;
}
.footer-contact {
  margin: 6px 0;
}
.footer-heading {
  font-size: 1rem;
  font-weight: 700;
  color: var(--text);
  margin-bottom: 10px;
}
.footer-links {
  list-style: none;
  padding: 0;
  margin: 0 0 18px;
}
.footer-links li {
  margin-bottom: 6px;
}
.footer-links a {
  color: var(--muted);
  text-decoration: none;
  transition: color 0.2s;
}
.footer-links a:hover {
  color: var(--accent, #d4af37);
}
.footer-socials a {
  margin-right: 10px;
  font-size: 1.2rem;
  text-decoration: none;
  color: var(--muted);
  transition: color 0.2s;
}
.footer-socials a:hover {
  color: var(--accent, #d4af37);
}
.footer-note {
  margin-top: 16px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 8px;
  background: rgba(255,255,255,0.02);
  color: var(--muted);
  font-size: 0.9rem;
}
.footer-note strong {
  color: var(--accent, #d4af37);
}
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.08);
  text-align: center;
  padding-top: 12px;
  margin-top: 24px;
  font-size: 0.85rem;
  color: var(--muted);
}
/* ===== Light-theme footer visibility fixes (paste at BOTTOM of styles.css) ===== */
/* Ensure the footer text is dark and readable on light backgrounds */

body.light-theme .site-footer {
  background: #f7f8fb !important;
  color: #071018 !important;
  border-top: 1px solid rgba(7,17,24,0.06);
}

/* Primary brand line / description */
body.light-theme .site-footer .footer-desc,
body.light-theme .site-footer .footer-contact,
body.light-theme .site-footer p,
body.light-theme .site-footer .footer-tagline {
  color: #071018 !important;
}

/* Footer brand (accent/golden) stays gold on light theme */
body.light-theme .site-footer .footer-brand {
  color: var(--accent, #b8860b) !important;
}

/* Links readable and hover accent */
body.light-theme .site-footer a,
body.light-theme .site-footer .footer-links a {
  color: #0b1220 !important;
}
body.light-theme .site-footer .footer-links a:hover {
  color: var(--accent, #b8860b) !important;
}

/* Footer boxed note */
body.light-theme .site-footer .footer-note {
  background: #ffffff !important;
  border-color: rgba(7,17,24,0.06) !important;
  color: #071018 !important;
}

/* Safety: fallback in case inline styles exist */
body.light-theme .site-footer *[style] {
  color: inherit !important;
}
/* ===== Navbar alignment fixes ===== */
.nav-main {
  display: flex;
  gap: 28px;              /* space between links */
  align-items: center;    /* vertically center */
  justify-content: center;/* center within header */
}

.nav-main a {
  color: var(--text);
  text-decoration: none;
  font-weight: 500;
  font-size: 1rem;
  padding: 6px 0;
  position: relative;
  transition: color 0.2s ease;
}

/* Subtle hover + underline */
.nav-main a::after {
  content: "";
  display: block;
  height: 2px;
  width: 0%;
  background: var(--accent, #d4af37);
  transition: width 0.25s ease;
  margin-top: 3px;
}

.nav-main a:hover {
  color: var(--accent, #d4af37);
}
.nav-main a:hover::after {
  width: 100%;
}

/* Header wrapper spacing */
.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between; /* logo left, nav center, CTA right */
  gap: 20px;
}
/* ===== Header Section Styling ===== */
.site-header {
  width: 100%;
  background: var(--surface, #0c0f12);
  padding: 12px 40px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  position: relative;
  z-index: 1000;
}

/* Flexbox alignment */
.header-inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

/* Logo */
.brand img {
  height: 50px;
  width: auto;
  display: block;
}

/* Nav links */
.nav-main {
  display: flex;
  gap: 32px; /* spacing between links */
  align-items: center;
}

.nav-main a {
  color: var(--text);
  font-size: 1rem;
  font-weight: 500;
  text-decoration: none;
  padding: 6px 0;
  position: relative;
  transition: color 0.25s ease;
}

/* Hover underline effect */
.nav-main a::after {
  content: "";
  position: absolute;
  bottom: -4px;
  left: 0;
  width: 0%;
  height: 2px;
  background: var(--accent, #d4af37);
  transition: width 0.3s ease;
}
.nav-main a:hover {
  color: var(--accent, #d4af37);
}
.nav-main a:hover::after {
  width: 100%;
}
/* Header Layout */
.header-inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;
}

/* Nav links center */
.nav-main {
  display: flex;
  gap: 28px;
  align-items: center;
  justify-content: center;
  flex: 1;
}

/* Right-side actions */
.nav-actions {
  display: flex;
  align-items: center;
  gap: 18px;
}

/* Theme toggle button */
.theme-toggle {
  background: none;
  border: none;
  font-size: 1.3rem;
  cursor: pointer;
  color: var(--text);
  transition: transform 0.25s ease;
}
.theme-toggle:hover {
  transform: scale(1.2);
  color: var(--accent, #d4af37);
}

/* Call button */
.call-btn {
  background: var(--accent, #d4af37);
  color: #071018;
  padding: 8px 14px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 0.95rem;
  text-decoration: none;
  transition: background 0.3s ease, transform 0.2s ease;
}
.call-btn:hover {
  background: #b8860b;
  transform: translateY(-2px);
}
/* Header layout */
.header-inner {
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
}

/* Nav links center */
.nav-main {
  flex: 1;
  display: flex;
  justify-content: center;
  gap: 28px;
  align-items: center;
}

/* Right-side actions */
.header-cta {
  display: flex;
  align-items: center;
  gap: 16px;
}

/* Theme toggle button */
.theme-toggle {
  background: none;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 6px;
  padding: 6px 10px;
  font-size: 0.9rem;
  color: var(--text);
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: background 0.25s ease, color 0.25s ease, transform 0.2s ease;
}
.theme-toggle:hover {
  color: var(--accent, #d4af37);
  border-color: var(--accent, #d4af37);
  transform: translateY(-1px);
}
.theme-toggle .icon {
  font-size: 1.1rem;
}

/* Call button */
.btn.call {
  background: var(--accent, #d4af37);
  color: #071018;
  font-weight: 600;
  padding: 8px 14px;
  border-radius: 6px;
  text-decoration: none;
  transition: background 0.3s ease, transform 0.2s ease;
}
.btn.call:hover {
  background: #b8860b;
  transform: translateY(-2px);
}

/* Hamburger menu */
.hamburger {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: var(--text);
  transition: color 0.25s ease, transform 0.2s ease;
}
.hamburger:hover {
  color: var(--accent, #d4af37);
  transform: scale(1.1);
}
/* ===== Header actions: theme toggle + call button (screenshot match) ===== */

/* container spacing (keeps actions grouped and aligned) */
.header-cta {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-left: 12px;
}

/* Toggle pill */
.theme-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 12px;
  background: linear-gradient(180deg, rgba(255,255,255,0.03), rgba(0,0,0,0.04));
  border: 1px solid rgba(255,255,255,0.04);
  color: var(--text);
  font-weight: 700;
  font-size: 0.95rem;
  cursor: pointer;
  transition: transform 160ms ease, box-shadow 200ms ease, background 200ms ease;
  box-shadow: 0 6px 18px rgba(0,0,0,0.35);
}

/* small icon circle inside toggle */
.theme-toggle .icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:30px;
  height:30px;
  border-radius:8px;
  background: linear-gradient(180deg, rgba(212,175,55,0.12), rgba(212,175,55,0.06));
  color: var(--accent, #d4af37);
  font-size:16px;
  box-shadow: 0 6px 14px rgba(0,0,0,0.25);
}

/* subtle hover */
.theme-toggle:hover {
  transform: translateY(-2px);
  color: var(--accent, #d4af37);
  border-color: rgba(212,175,55,0.18);
}

/* Active / light mode variant (when you add class .light-theme on body, adjust if needed) */
body.light-theme .theme-toggle {
  background: linear-gradient(180deg,#0b0d0f,#0b0d0f); /* keep pill visible — tweak per your theme */
}

/* Call button (big gold pill) */
.btn.call {
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 18px;
  border-radius:12px;
  background: linear-gradient(90deg, var(--accent, #d4af37), var(--accent-2, #b8860b));
  color:#071018;
  font-weight:800;
  font-size:0.98rem;
  text-decoration:none;
  border: 1px solid rgba(0,0,0,0.12);
  box-shadow: 0 12px 36px rgba(11,18,32,0.35);
  transition: transform 160ms ease, box-shadow 220ms ease;
}

/* call hover */
.btn.call:hover {
  transform: translateY(-3px);
  box-shadow: 0 20px 50px rgba(11,18,32,0.45);
  background: linear-gradient(90deg, #d4af37, #b8860b);
}

/* Small-screen adjustments: keep the pills readable */
@media (max-width:780px) {
  .theme-toggle { padding:8px 10px; font-size:0.9rem; }
  .theme-toggle .icon { width:28px; height:28px; font-size:15px; }
  .btn.call { padding:8px 12px; font-size:0.9rem; }
}
/* ===== Reveal Animations ===== */
.reveal-up {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s ease-out;
}

.reveal-up.active {
  opacity: 1;
  transform: translateY(0);
}

.reveal-left {
  opacity: 0;
  transform: translateX(-40px);
  transition: all 0.8s ease-out;
}

.reveal-left.active {
  opacity: 1;
  transform: translateX(0);
}

.reveal-right {
  opacity: 0;
  transform: translateX(40px);
  transition: all 0.8s ease-out;
}

.reveal-right.active {
  opacity: 1;
  transform: translateX(0);
}

.reveal-fade {
  opacity: 0;
  transition: opacity 1s ease-out;
}

.reveal-fade.active {
  opacity: 1;
}
.highlight-grid {
  display: flex;
  justify-content: center; /* centers them horizontally */
  align-items: center;     /* aligns vertically */
  gap: 40px;               /* space between the two cards */
  flex-wrap: wrap;         /* keeps responsive on smaller screens */
  margin-top: 2rem;
  text-align: center;      /* centers text inside */
}
/* Center the FAQ section */
#faqContact .wrap {
  display: flex;
  justify-content: center; /* centers horizontally */
  align-items: center;     /* centers vertically if there's height */
  flex-direction: column;  /* stack FAQ and office one below another */
  text-align: center;
}

/* Optional: center FAQ title and questions */
#faqContact .faq {
  max-width: 700px; /* keeps it neat */
  width: 100%;
}

#faqContact h2 {
  text-align: center;
  margin-bottom: 1rem;
}

#faqContact .faq-item {
  margin: 10px 0;
}
/* Maps (paste into styles.css) */
.maps-wrap {
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  justify-content:center;
  align-items:stretch;
  margin-top: 1rem;
}

.map-card {
  flex:1;
  min-width: 320px;
  max-width: 600px;
  border-radius: 12px;
  background: var(--card-bg, #f7f7f8);
  border: 1px solid rgba(0,0,0,0.06);
  overflow: hidden;
  position: relative;
  padding: 0;
  box-sizing: border-box;
  text-align:center;
  transition: box-shadow 200ms;
}

.map-card iframe{
  width:100%;
  height:350px;
  border:0;
  display:block;
}

.map-caption {
  margin: 10px 12px 18px;
  font-size:14px;
  color: var(--muted, #111);
  line-height:1.35;
}

/* Responsive tweak */
@media (max-width:880px){
  .map-card iframe{ height:300px; }
  .map-card { max-width:100%; min-width:100%; }
}
/* Center hero content */
.hero-overlay {
  display: flex;
  justify-content: center;  /* horizontal center */
  align-items: center;      /* vertical center */
  text-align: center;       /* center text */
  min-height: 100vh;        /* full screen height */
}

.hero-content {
  max-width: 900px;
  margin: 0 auto;
}

.hero-title {
  font-size: 2.5rem;
  line-height: 1.2;
  margin-bottom: 1rem;
}

.hero-lead {
  font-size: 1.25rem;
  margin-bottom: 1.5rem;
}

.hero-features {
  list-style: none;
  padding: 0;
  margin-top: 1.5rem;
}

.hero-features li {
  margin: 0.5rem 0;
}
/* Testimonials Section */
.testimonial-slider {
  overflow: hidden;
  width: 100%;
  margin-top: 2rem;
  position: relative;
}

.testimonial-track {
  display: flex;
  gap: 20px;
  animation: scrollTestimonials 40s linear infinite;
}

.testimonial-card {
  flex: 0 0 300px;
  background: var(--card-bg, #fff);
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  text-align: center;
}

.testimonial-text {
  font-size: 1rem;
  font-style: italic;
  color: #333;
  margin-bottom: 12px;
}

.testimonial-author {
  font-weight: bold;
  color: var(--primary, #111);
}

/* Infinite scroll animation */
@keyframes scrollTestimonials {
  0%   { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
/* Testimonial Carousel */
.testimonial-carousel {
  overflow: hidden;
  position: relative;
  max-width: 700px;
  margin: 2rem auto 0;
}

.testimonial-track {
  display: flex;
  transition: transform 0.6s ease-in-out;
}

.testimonial-card {
  flex: 0 0 100%; /* show 1 card at a time */
  background: var(--card-bg, #fff);
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  text-align: center;
}

.testimonial-text {
  font-size: 1rem;
  font-style: italic;
  margin-bottom: 12px;
}

.testimonial-author {
  font-weight: bold;
  color: var(--primary, #111);
}
/* Scoped responsive rules — only affects elements inside .rd-scope */
.rd-scope { box-sizing:border-box; }

/* Keep selector specificity high so it overrides previous conflicting rules inside the scope only */
.rd-scope .rd-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:0.8rem 1rem; }
.rd-scope .rd-brand img { height:44px; width:auto; display:block; }

/* Mobile-first: hide the scoped desktop nav and show hamburger inside the scope */
.rd-scope .rd-nav { display:none; }
.rd-scope .rd-hamburger { display:inline-flex; align-items:center; justify-content:center; background:transparent; border:0; padding:0.4rem 0.6rem; border-radius:8px; }

/* Scoped grids and forms */
.rd-scope .rd-hero { display:flex; flex-direction:column; gap:1rem; padding:1rem; }
.rd-scope .rd-hero .rd-hero-inner { max-width: 64ch; }

.rd-scope .rd-form { width:100%; box-sizing:border-box; }
.rd-scope .rd-form .rd-form-grid { display:grid; grid-template-columns: 1fr; gap:0.75rem; }
.rd-scope .rd-form .rd-form-field input,
.rd-scope .rd-form .rd-form-field textarea,
.rd-scope .rd-form .rd-form-field select { width:100%; min-width:0; }

/* make embedded media responsive only inside scope */
.rd-scope .rd-map iframe, .rd-scope .rd-media iframe { width:100%; height:auto; min-height:220px; }

/* Larger screens inside the scope (tablet/desktop) */
@media (min-width:700px) {
  .rd-scope .rd-nav { display:flex; gap:1rem; align-items:center; }
  .rd-scope .rd-hamburger { display:none; }
  .rd-scope .rd-hero { flex-direction:row; align-items:center; }
  .rd-scope .rd-form .rd-form-grid { grid-template-columns: repeat(2, 1fr); }
  .rd-scope .rd-services-grid { grid-template-columns: repeat(2,1fr); }
}

/* Desktop wide inside the scope */
@media (min-width:1100px) {
  .rd-scope .rd-services-grid { grid-template-columns: repeat(4, 1fr); }
}

/* defensive: do not change global .wrap/.container etc outside this scope */
.rd-scope .wrap, .rd-scope .container { max-width:1200px; margin:0 auto; padding:0 1rem; }

/* small helper: if something already had an 'invalid' class messing layout, this won't change it */
.rd-scope * { box-sizing:border-box; }
/* ---------- Scoped responsive navbar fixes (rd-scope) ---------- */
.rd-scope .nav-row { display:flex; align-items:center; justify-content:space-between; gap:1rem; }

/* Brand / logo sizing so it never pushes the menu */
.rd-scope .brand, .rd-scope .site-brand { display:flex; align-items:center; gap:.6rem; flex:0 0 auto; }
.rd-scope .brand img, .rd-scope .site-brand img { height:40px; width:auto; max-width:160px; object-fit:contain; }

/* Menu: default hidden on mobile; will open via .mobile-open */
.rd-scope .nav-main {
  display:none;
  gap: .6rem;
  align-items:flex-start;
  flex-direction:column;
  width: calc(100% - 2rem); /* leave small horizontal padding */
  box-sizing: border-box;
}

/* make menu items not wrap and allow scrolling if many items */
.rd-scope .nav-main a, .rd-scope .nav-main li {
  white-space: nowrap;
  display:block;
  padding: .55rem .6rem;
  border-radius:8px;
}

/* ensure the mobile menu is scrollable if content exceeds height */
.rd-scope .nav-main.mobile-open {
  position: fixed;
  left: 1rem;
  right: 1rem;
  top: 64px; /* below header */
  max-height: calc(100vh - 80px);
  overflow-y: auto;
  padding: .6rem;
  background: rgba(7,12,20,0.98);
  z-index: 80;
  box-shadow: 0 14px 45px rgba(0,0,0,0.55);
}

/* Hamburger visible on mobile; hide desktop nav */
.rd-scope .hamburger, .rd-scope #menuToggle { display:inline-flex; align-items:center; justify-content:center; }

/* For large screens show normal horizontal nav and hide hamburger */
@media (min-width:760px) {
  .rd-scope .nav-main { display:flex !important; flex-direction:row; gap:1rem; align-items:center; justify-content:flex-end; width:auto; position:static; max-height:none; overflow:visible; background:transparent; box-shadow:none; padding:0; }
  .rd-scope .nav-main a, .rd-scope .nav-main li { padding:0.25rem 0.5rem; }
  .rd-scope .hamburger, .rd-scope #menuToggle { display:none !important; }
  .rd-scope .brand img { height:44px; }
}

/* defensive: prevent global .wrap from narrowing nav area inside scope */
.rd-scope .nav-container { display:flex; align-items:center; gap:1rem; width:100%; box-sizing:border-box; }

/* If you have long labels, shrink them a bit so they fit */
.rd-scope .nav-main a { font-size:0.94rem; }

/* small-screen safety: reduce logo size at very small widths */
@media (max-width:360px) {
  .rd-scope .brand img { height:36px; }
  .rd-scope .nav-main a { padding:.5rem .45rem; font-size:.9rem; }
}
/* ---------- Scoped navbar + responsive fixes (rd-scope) ---------- */
.rd-scope .nav-container { display:flex; align-items:center; justify-content:space-between; gap:1rem; width:100%; box-sizing:border-box; padding:0 0.75rem; }
.rd-scope .brand, .rd-scope .site-brand { display:flex; align-items:center; gap:.6rem; flex:0 0 auto; }

/* constrain logo so it can't push nav off-screen */
.rd-scope #logo { height:40px; max-width:160px; width:auto; object-fit:contain; display:block; }

/* mobile: hide desktop nav and show hamburger */
.rd-scope .nav-main { display:none; gap:.6rem; align-items:flex-start; flex-direction:column; width:calc(100% - 2rem); box-sizing:border-box; }
.rd-scope .hamburger, #menuToggle { display:inline-flex; align-items:center; justify-content:center; background:transparent; border:0; padding:0.4rem 0.6rem; border-radius:8px; font-size:1.25rem; cursor:pointer; }

/* nav item styles to avoid wrapping issues */
.rd-scope .nav-main a { display:block; white-space:nowrap; padding:.55rem .6rem; border-radius:8px; text-decoration:none; }

/* mobile menu open state: fixed panel that scrolls if long */
.rd-scope .nav-main.mobile-open {
  position:fixed;
  left:12px;
  right:12px;
  top:64px;
  max-height: calc(100vh - 88px);
  overflow-y:auto;
  padding:.6rem;
  background: rgba(7,12,20,0.98);
  z-index:80;
  box-shadow:0 14px 45px rgba(0,0,0,0.55);
  border-radius:12px;
}

/* larger screens: show horizontal nav, hide hamburger */
@media (min-width:760px) {
  .rd-scope .nav-main { display:flex !important; flex-direction:row; gap:1rem; align-items:center; justify-content:flex-end; width:auto; position:static; max-height:none; overflow:visible; background:transparent; padding:0; box-shadow:none; }
  .rd-scope .nav-main a { padding:.25rem .5rem; font-size:0.95rem; }
  .rd-scope .hamburger, #menuToggle { display:none !important; }
  .rd-scope #logo { height:44px; }
}

/* tiny phones safety */
@media (max-width:360px) {
  .rd-scope #logo { height:34px; }
  .rd-scope .nav-main a { padding:.45rem .45rem; font-size:0.9rem; }
}
/* Mobile first: nav hidden by [hidden] attribute */
.nav-main[hidden] { display: none !important; }

/* Mobile open */
.nav-main.mobile-open {
  display: flex !important;
  flex-direction: column;
  position: fixed;
  top: 60px; left: 0; right: 0;
  background: var(--surface);
  padding: 1rem;
  z-index: 1000;
}

/* Desktop layout */
@media (min-width: 1100px) {
  .nav-main {
    display: flex !important;
    flex-direction: row;
    position: static;
    background: transparent;
    padding: 0;
  }
  .hamburger { display: none; }
}
/* ===== Scoped hamburger + mobile menu safety (appended) ===== */
.rd-scope .hamburger,
.rd-scope #menuToggle {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 44px;
  min-height: 44px;
  padding: 6px;
  border-radius: 10px;
  background: transparent;
  z-index: 9999;
  position: relative;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  touch-action: manipulation;
}

.rd-scope .site-header { z-index: 9998; position: relative; }

/* Ensure hidden nav doesn't show unexpectedly */
.nav-main[hidden] { display: none !important; }

/* Mobile open state (scoped) */
.rd-scope .nav-main.mobile-open {
  display: flex !important;
  flex-direction: column;
  position: fixed;
  top: 64px;
  left: 12px;
  right: 12px;
  max-height: calc(100vh - 88px);
  overflow-y: auto;
  padding: 0.6rem;
  background: var(--surface);
  border-radius: 12px;
  box-shadow: 0 14px 45px rgba(0,0,0,0.55);
  z-index: 9998;
}

@media (min-width:760px) {
  .rd-scope .nav-main {
    display: flex !important;
    flex-direction: row !important;
    position: static !important;
    background: transparent !important;
    padding: 0 !important;
    box-shadow: none !important;
  }
  .rd-scope .hamburger, .rd-scope #menuToggle {
    display: none !important;
  }
}
