:root {
  --bg: #f7f7f5;
  --surface: #ffffff;
  --surface-2: #f0f0ed;
  --surface-dark: #111214;
  --text: #111214;
  --muted: #62666c;
  --muted-2: #8a8d92;
  --line: #dedfdb;
  --line-dark: rgba(255,255,255,.12);
  --accent: #e51b23;
  --accent-dark: #b91017;
  --accent-soft: rgba(229,27,35,.09);
  --white: #fff;
  --black: #0b0c0d;
  --shadow: 0 22px 70px rgba(16,18,20,.10);
  --shadow-dark: 0 24px 80px rgba(0,0,0,.30);
  --radius: 24px;
  --container: 1180px;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  background: var(--bg);
  color: var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  line-height: 1.55;
  overflow-x: hidden;
  transition: background-color .25s ease, color .25s ease;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  opacity: .45;
  background-image: linear-gradient(rgba(0,0,0,.025) 1px, transparent 1px), linear-gradient(90deg, rgba(0,0,0,.025) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, black, transparent 78%);
  z-index: -2;
}

a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; }
button { cursor: pointer; }
img { max-width: 100%; display: block; }
.container { width: min(calc(100% - 40px), var(--container)); margin-inline: auto; }

.scroll-progress { position: fixed; inset: 0 auto auto 0; width: 0; height: 3px; background: var(--accent); z-index: 9999; }

/* HEADER */
.site-header {
  position: fixed; inset: 0 0 auto; z-index: 1000;
  padding: 13px 0;
  background: rgba(255,255,255,.94);
  border-bottom: 1px solid rgba(0,0,0,.07);
  backdrop-filter: blur(18px);
  transition: .25s ease;
}
.site-header.scrolled { padding: 8px 0; box-shadow: 0 8px 30px rgba(0,0,0,.06); }
.nav { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.brand { display:inline-flex; align-items:center; flex-shrink:0; }
.logo-brand { width: 235px; height: 70px; }
.logo-brand img { width:235px; height:auto; max-height:70px; object-fit:contain; object-position:left center; }
.nav-menu { display:flex; align-items:center; gap:4px; }
.nav-link { padding:10px 13px; color:#62666c; font-size:13px; border-radius:10px; transition:.2s ease; }
.nav-link:hover, .nav-link.active { color:var(--text); background:var(--surface-2); }
.nav-cta { margin-left:4px; color:var(--white)!important; background:var(--black)!important; border:1px solid var(--black); }
.nav-cta span { color:var(--accent); }
.nav-actions { display:flex; align-items:center; gap:8px; }
.icon-btn, .hamburger { width:40px; height:40px; border:1px solid var(--line); border-radius:11px; background:var(--surface); color:var(--text); }
.icon-btn { display:grid; place-items:center; }
.hamburger { display:none; align-items:center; justify-content:center; flex-direction:column; gap:5px; }
.hamburger span { width:17px; height:1.5px; background:currentColor; }

/* COMMON */
.section { padding:116px 0; }
.section-heading { max-width:780px; }
.section-heading.centered { margin-inline:auto; text-align:center; }
.section-heading h2, .cta-card h2, .contact-intro h2 { margin-top:14px; font-family:"SpaceGroteskLocal", Inter, sans-serif; font-size:clamp(2.25rem,5vw,4.15rem); line-height:.98; letter-spacing:-.055em; }
.section-heading h2 span, .hero h1 span, .cta-card h2 span, .contact-intro h2 span { color:var(--accent); }
.section-heading p { color:var(--muted); margin-top:20px; max-width:620px; }
.eyebrow, .mini-label { font-size:10px; letter-spacing:.24em; font-weight:800; color:var(--accent); text-transform:uppercase; }
.eyebrow { display:inline-flex; align-items:center; gap:8px; }
.status-dot { width:7px; height:7px; background:var(--accent); border-radius:50%; box-shadow:0 0 14px rgba(229,27,35,.45); }
.btn { display:inline-flex; align-items:center; justify-content:center; gap:12px; min-height:50px; padding:0 19px; border-radius:13px; border:1px solid var(--line); font-size:14px; font-weight:700; transition:.22s ease; white-space:nowrap; }
.btn-primary { color:#fff; background:var(--accent); border-color:var(--accent); box-shadow:0 12px 30px rgba(229,27,35,.17); }
.btn-primary:hover { transform:translateY(-2px); background:var(--accent-dark); border-color:var(--accent-dark); box-shadow:0 16px 36px rgba(229,27,35,.23); }
.btn-ghost { color:var(--text); background:var(--surface); border-color:var(--line); }
.btn-ghost:hover { transform:translateY(-2px); border-color:#bfc1bd; background:var(--surface-2); }

/* HERO */
.hero { min-height:100svh; display:grid; align-items:center; position:relative; overflow:hidden; background:linear-gradient(115deg,#fafaf8 0%,#f1f1ee 58%,#e8e8e5 100%); }
.hero::after { content:""; position:absolute; right:-130px; top:10%; width:520px; height:520px; border-radius:50%; background:radial-gradient(circle,rgba(229,27,35,.12),transparent 66%); pointer-events:none; }
.hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(0,0,0,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.035) 1px,transparent 1px); background-size:70px 70px; mask-image:linear-gradient(90deg,black,transparent 88%); pointer-events:none; }
.hero-orb { position:absolute; border-radius:50%; pointer-events:none; }
.orb-one { width:300px; height:300px; right:10%; top:16%; border:1px solid rgba(229,27,35,.12); box-shadow:0 0 140px rgba(229,27,35,.10); }
.orb-two { width:180px; height:180px; left:42%; bottom:4%; border:1px solid rgba(0,0,0,.08); }
.hero-inner { display:grid; grid-template-columns:1.03fr .97fr; gap:clamp(42px,7vw,96px); align-items:center; padding-top:90px; position:relative; z-index:1; }
.hero-copy { max-width:690px; }
.hero h1 { font-family:"SpaceGroteskLocal",Inter,sans-serif; font-size:clamp(3.5rem,7.7vw,7.2rem); line-height:.86; letter-spacing:-.075em; margin:17px 0 24px; }
.hero-copy > p { max-width:610px; color:var(--muted); font-size:clamp(14px,1.5vw,17px); line-height:1.75; }
.hero-actions { display:flex; gap:11px; margin-top:32px; flex-wrap:wrap; }
.trust-row { display:flex; gap:28px; margin-top:48px; }
.trust-row > div { display:flex; align-items:center; gap:9px; }
.trust-row strong { color:var(--accent); font-size:11px; }
.trust-row span { color:var(--muted); font-size:11px; line-height:1.35; letter-spacing:.08em; text-transform:uppercase; }
.hero-panel { position:relative; padding:25px; border:1px solid rgba(255,255,255,.11); border-radius:27px; background:#151619; color:#fff; box-shadow:var(--shadow-dark); overflow:hidden; }
.hero-panel::before { content:""; position:absolute; inset:0; background:linear-gradient(135deg,rgba(229,27,35,.10),transparent 42%); pointer-events:none; }
.panel-top,.system-score,.signal-row,.metric-grid { position:relative; z-index:1; }
.panel-top { display:flex; justify-content:space-between; gap:15px; }
.panel-top strong { display:block; margin-top:6px; font-size:18px; }
.hero-panel .mini-label,.hero-panel .signal-label,.hero-panel .system-score p,.hero-panel .metric-grid span { color:#a5a7ac; }
.live-pill { align-self:start; font-size:9px; padding:6px 9px; border-radius:20px; border:1px solid rgba(229,27,35,.35); color:#ff5a61; background:rgba(229,27,35,.09); }
.live-pill i { display:inline-block; width:6px;height:6px;border-radius:50%;background:currentColor;margin-right:5px; }
.system-score { display:grid; grid-template-columns:96px 1fr; gap:18px; align-items:center; margin:28px 0; padding:18px 0; border-top:1px solid rgba(255,255,255,.10); border-bottom:1px solid rgba(255,255,255,.10); }
.score-ring { width:96px;height:96px;border-radius:50%;display:grid;place-content:center;text-align:center;background:conic-gradient(var(--accent) 0 92%,#33353a 92% 100%); position:relative; }
.score-ring::before { content:""; position:absolute; inset:8px; background:#151619; border-radius:50%; }
.score-ring span,.score-ring small { position:relative; z-index:1; }
.score-ring span { font-size:22px; }
.score-ring small { font-size:10px; color:#ff5a61; }
.system-score h3 { font-size:18px; margin:5px 0; }
.system-score p { font-size:11px; }
.metric-grid { display:grid;grid-template-columns:1fr 1fr;gap:9px; }
.metric-grid > div { padding:13px;border:1px solid rgba(255,255,255,.10);border-radius:14px;background:rgba(255,255,255,.035); }
.metric-grid span,.metric-grid em { display:block;color:#a5a7ac;font-size:9px;font-style:normal; }
.metric-grid strong { display:block;font-size:20px;margin:4px 0;color:#fff; }
.metric-grid em { color:#ff5a61; }
.signal-row { margin-top:20px;display:flex;align-items:center;justify-content:space-between;gap:10px; }
.signal-bars { display:flex;gap:3px;align-items:end;height:17px; }
.signal-bars i { width:4px;background:var(--accent);border-radius:3px;opacity:.85; }
.signal-bars i:nth-child(1){height:5px}.signal-bars i:nth-child(2){height:8px}.signal-bars i:nth-child(3){height:10px}.signal-bars i:nth-child(4){height:13px}.signal-bars i:nth-child(5){height:11px}.signal-bars i:nth-child(6){height:15px}.signal-bars i:nth-child(7){height:12px}
.scroll-cue { position:absolute; left:50%; bottom:22px; transform:translateX(-50%); display:flex;align-items:center;gap:10px;color:var(--muted);font-size:9px;letter-spacing:.18em;text-transform:uppercase;z-index:2; }
.scroll-cue span { width:28px;height:1px;background:var(--accent); }

/* ABOUT */
.about-section { background:var(--bg); }
.about-grid { display:grid;grid-template-columns:.9fr 1.1fr;gap:90px;align-items:start; }
.about-copy .lead { font-size:20px;line-height:1.65;max-width:700px; }
.about-copy > p + p { color:var(--muted);margin-top:18px;max-width:680px;font-size:14px; }
.about-badges { display:flex;flex-wrap:wrap;gap:8px;margin-top:25px; }
.about-badges span { padding:8px 11px;border:1px solid var(--line);border-radius:999px;font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);background:var(--surface); }
.stats-strip { display:grid;grid-template-columns:repeat(4,1fr);margin-top:80px;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow); }
.stats-strip > div { min-height:120px;padding:25px;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center; }
.stats-strip > div:last-child { border-right:0; }
.stats-strip strong { font-family:"SpaceGroteskLocal",Inter,sans-serif;font-size:34px;letter-spacing:-.05em; }
.stats-strip span { margin-top:5px;color:var(--muted);font-size:11px;text-transform:uppercase;letter-spacing:.1em; }

/* SERVICES */
.services-section,.process-section,.contact-section { background:var(--surface-dark);color:#f5f5f3; }
.split-heading { display:grid;grid-template-columns:1fr 340px;gap:50px;align-items:end;max-width:none; }
.services-section .section-heading h2,.process-section .section-heading h2,.contact-section .contact-intro h2 { color:#f5f5f3; }
.services-section .section-heading p,.process-section .section-heading p,.contact-section .contact-intro>p { color:#a4a6aa; }
.service-tabs { display:flex;gap:8px;flex-wrap:wrap;margin:38px 0 24px; }
.service-tab { padding:10px 15px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:transparent;color:#a4a6aa;font-size:12px; }
.service-tab:hover,.service-tab.active { background:#fff;color:#111214;border-color:#fff; }
.services-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:14px; }
.service-card { position:relative;min-height:390px;padding:25px;border:1px solid rgba(255,255,255,.10);border-radius:20px;background:linear-gradient(145deg,#1a1b1e,#121315);overflow:hidden;display:flex;flex-direction:column;transition:.25s ease; }
.service-card:hover { transform:translateY(-6px);border-color:rgba(229,27,35,.45);box-shadow:0 22px 55px rgba(0,0,0,.32); }
.service-card.is-hidden { display:none; }
.featured-service { background:linear-gradient(145deg,rgba(229,27,35,.13),#121315 62%); }
.card-number { color:#878a90;font-size:9px;letter-spacing:.15em; }
.service-icon { width:52px;height:52px;margin:27px 0 23px;display:grid;place-items:center;border-radius:15px;border:1px solid rgba(229,27,35,.30);color:#ff5a61;background:rgba(229,27,35,.07);font-size:23px; }
.service-card h3 { font-size:22px;line-height:1.02;letter-spacing:-.035em; }
.service-card p { color:#a4a6aa;font-size:13px;line-height:1.7;margin-top:13px; }
.learn-more { margin-top:auto;padding:0;background:none;border:0;color:#f5f5f3;text-align:left;font-size:12px;font-weight:700; }
.learn-more span { color:#ff5a61;margin-left:5px; }
.card-glow { position:absolute;right:-35px;bottom:-55px;width:150px;height:150px;border-radius:50%;background:rgba(229,27,35,.14);filter:blur(30px);pointer-events:none; }
.service-empty { margin-top:18px;padding:20px;border:1px dashed rgba(255,255,255,.15);border-radius:14px;color:#aaa;font-size:12px; }

/* WHY */
.why-section { background:var(--bg); }
.why-layout { display:grid;grid-template-columns:.85fr 1.15fr;gap:14px;margin-top:50px; }
.why-list { border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--surface); }
.why-item { width:100%;display:grid;grid-template-columns:36px 1fr 20px;align-items:center;gap:10px;padding:22px 20px;border:0;border-bottom:1px solid var(--line);background:transparent;color:var(--text);text-align:left; }
.why-item:last-child { border-bottom:0; }
.why-item span { color:var(--muted-2);font-size:9px; }
.why-item strong { font-size:15px; }
.why-item i { font-style:normal;color:var(--muted-2); }
.why-item:hover,.why-item.active { background:var(--surface-2); }
.why-item.active { box-shadow:inset 3px 0 0 var(--accent); }
.why-item.active strong { color:var(--accent); }
.why-display { min-height:390px;padding:32px;border-radius:20px;background:#151619;color:#f5f5f3;border:1px solid rgba(255,255,255,.10);display:flex;flex-direction:column;position:relative;overflow:hidden; }
.why-display::after { content:"";position:absolute;right:-60px;bottom:-90px;width:270px;height:270px;border-radius:50%;border:1px solid rgba(229,27,35,.22);box-shadow:0 0 100px rgba(229,27,35,.12); }
.display-icon { width:70px;height:70px;border:1px solid rgba(229,27,35,.30);border-radius:18px;display:grid;place-items:center;color:#ff5a61;font-size:27px;background:rgba(229,27,35,.07);margin:45px 0 25px; }
.why-display h3 { font-family:"SpaceGroteskLocal",Inter,sans-serif;font-size:35px;letter-spacing:-.04em;line-height:1; }
.why-display p { color:#a4a6aa;font-size:14px;line-height:1.8;max-width:520px;margin-top:13px; }
.display-line { margin-top:auto;height:2px;background:rgba(255,255,255,.08);overflow:hidden; }
.display-line span { display:block;width:38%;height:100%;background:var(--accent); }

/* PROCESS */
.process-section { background:#0f1012; }
.process-grid { display:grid;grid-template-columns:1fr 24px 1fr 24px 1fr 24px 1fr;align-items:center;gap:10px;margin-top:55px; }
.process-step { min-height:210px;padding:24px;border:1px solid rgba(255,255,255,.10);border-radius:18px;background:#17181b; }
.process-step>span { color:#ff5a61;font-size:10px;letter-spacing:.15em; }
.process-step h3 { margin-top:28px;font-size:20px; }
.process-step p { color:#a4a6aa;font-size:13px;line-height:1.7;margin-top:9px; }
.process-connector { height:1px;background:rgba(229,27,35,.45); }

/* CTA */
.cta-section { padding:38px 0; background:var(--bg); }
.cta-card { padding:42px;border:1px solid var(--line);border-radius:25px;background:linear-gradient(135deg,#fff,#f0f0ed);display:flex;align-items:center;justify-content:space-between;gap:35px;box-shadow:var(--shadow); }
.cta-card h2 { color:var(--text);font-size:clamp(2rem,4vw,3.5rem); }
.cta-card p { color:var(--muted);margin-top:14px;max-width:680px;font-size:15px; }
.cta-actions { display:flex;gap:9px;flex-wrap:wrap; }

/* FAQ */
.faq-section { background:var(--surface-2); }
.faq-grid { display:grid;grid-template-columns:.8fr 1.2fr;gap:80px;align-items:start; }
.faq-list { display:grid;gap:8px; }
.faq-list details { border:1px solid var(--line);border-radius:15px;background:var(--surface);overflow:hidden; }
.faq-list summary { list-style:none;cursor:pointer;padding:20px 22px;font-size:15px;font-weight:700;display:flex;align-items:center;justify-content:space-between;gap:15px; }
.faq-list summary::-webkit-details-marker { display:none; }
.faq-list summary::after { content:"+";color:var(--accent);font-size:18px; }
.faq-list details[open] summary::after { content:"−"; }
.faq-list p { color:var(--muted);padding:0 22px 20px;font-size:13px;line-height:1.8; }

/* CONTACT */
.contact-grid { display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:start; }
.contact-intro>p { color:#a4a6aa;margin-top:18px;max-width:560px;font-size:15px;line-height:1.75; }
.contact-cards { display:grid;gap:9px;margin-top:30px; }
.contact-card { display:grid;grid-template-columns:42px 1fr auto;gap:14px;align-items:center;padding:14px;border:1px solid rgba(255,255,255,.10);border-radius:15px;background:#17181b;transition:.2s; }
.contact-card:hover { transform:translateX(4px);border-color:rgba(229,27,35,.4); }
.contact-icon { width:40px;height:40px;border-radius:11px;display:grid;place-items:center;color:#ff5a61;background:rgba(229,27,35,.08); }
.contact-card small { display:block;color:#8f9298;font-size:8px;letter-spacing:.15em; }
.contact-card strong { display:block;color:#f5f5f3;font-size:13px;margin-top:3px; }
.contact-card>span:last-child { color:#ff5a61; }
.quote-form { padding:27px;border:1px solid rgba(255,255,255,.10);border-radius:22px;background:#17181b;box-shadow:var(--shadow-dark); }
.form-header { display:flex;justify-content:space-between;align-items:center;margin-bottom:25px;color:#777a80;font-size:9px; }
.quote-form label { display:block;color:#a4a6aa;font-size:13px;margin-top:17px; }
.quote-form input,.quote-form select,.quote-form textarea { margin-top:7px;width:100%;border:1px solid rgba(255,255,255,.11);border-radius:12px;background:#0f1012;color:#f5f5f3;padding:12px;outline:0;transition:.2s; }
.quote-form textarea { resize:vertical;min-height:110px; }
.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus { border-color:rgba(229,27,35,.7);box-shadow:0 0 0 3px rgba(229,27,35,.08); }
.quote-form input::placeholder,.quote-form textarea::placeholder { color:#6f7278; }
.form-submit { width:100%;margin-top:22px; }
.form-note { color:#777a80;font-size:11px;line-height:1.6;margin-top:10px; }
.form-success { display:none;margin-top:12px;padding:12px;border-radius:11px;background:rgba(229,27,35,.09);border:1px solid rgba(229,27,35,.18);color:#ff5a61;font-size:10px; }

/* FOOTER */
.footer { background:#090a0b;color:#fff;border-top:1px solid rgba(255,255,255,.08);padding:60px 0 24px; }
.footer-main { display:flex;justify-content:space-between;gap:60px;padding-bottom:45px; }
.footer-logo { width:220px;height:78px;padding:8px 12px;border-radius:12px;background:#fff; }
.footer-logo img { width:100%;height:100%;object-fit:contain; }
.footer-brand p { color:#898c92;font-size:13px;line-height:1.7;max-width:350px;margin-top:16px; }
.footer-links { display:flex;gap:70px; }
.footer-links div { display:flex;flex-direction:column;gap:8px; }
.footer-links span { color:#f4f4f2;font-size:9px;text-transform:uppercase;letter-spacing:.15em;margin-bottom:5px; }
.footer-links a { color:#898c92;font-size:12px; }
.footer-links a:hover { color:#fff; }
.footer-bottom { padding-top:20px;border-top:1px solid rgba(255,255,255,.08);display:flex;justify-content:space-between;gap:20px;color:#6f7278;font-size:11px; }

/* MODAL */
.modal { position:fixed;inset:0;display:none;align-items:center;justify-content:center;padding:20px;z-index:2000; }
.modal.open { display:flex; }
.modal-backdrop { position:absolute;inset:0;background:rgba(4,5,6,.78);backdrop-filter:blur(9px); }
.modal-card { position:relative;z-index:1;width:min(100%,600px);padding:36px;border:1px solid rgba(255,255,255,.12);border-radius:23px;background:#17181b;color:#f5f5f3;box-shadow:0 40px 120px rgba(0,0,0,.42); }
.modal-close { position:absolute;right:16px;top:16px;width:37px;height:37px;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#aaa;background:transparent;font-size:22px; }
.modal-icon { width:58px;height:58px;display:grid;place-items:center;border-radius:16px;color:#ff5a61;background:rgba(229,27,35,.08);border:1px solid rgba(229,27,35,.25);font-size:24px;margin:24px 0; }
.modal-card h2 { font-family:"SpaceGroteskLocal",Inter,sans-serif;font-size:31px;letter-spacing:-.04em;line-height:1; }
.modal-card>p { color:#a4a6aa;font-size:14px;line-height:1.8;margin-top:12px; }
.modal-points { display:grid;gap:8px;margin:23px 0; }
.modal-points div { padding:11px 13px;border:1px solid rgba(255,255,255,.09);border-radius:11px;color:#a4a6aa;font-size:13px;background:rgba(255,255,255,.02); }
.modal-points div::before { content:"✓";color:#ff5a61;margin-right:8px; }

/* BACK TO TOP + REVEAL */
.back-to-top { position:fixed;right:20px;bottom:20px;width:42px;height:42px;border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:12px;display:grid;place-items:center;z-index:900;opacity:0;pointer-events:none;transform:translateY(8px);transition:.25s; }
.back-to-top.visible { opacity:1;pointer-events:auto;transform:none; }
.reveal { opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease; }
.reveal.visible { opacity:1;transform:none; }
.delay-1{transition-delay:.08s}.delay-2{transition-delay:.16s}.delay-3{transition-delay:.24s}

/* RESPONSIVE */
@media (max-width:1050px) {
  .nav-menu{gap:1px}.nav-link{padding-inline:8px}.logo-brand{width:205px}
  .services-grid{grid-template-columns:1fr 1fr}.process-grid{grid-template-columns:1fr 1fr;gap:12px}.process-connector{display:none}
}
@media (max-width:820px) {
  .site-header{padding:9px 0}.logo-brand{width:195px;height:60px}.hamburger{display:flex}
  .nav-menu{display:none;position:absolute;top:70px;left:14px;right:14px;padding:9px;flex-direction:column;align-items:stretch;background:var(--surface);border:1px solid var(--line);border-radius:17px;box-shadow:var(--shadow)}
  .nav-menu.open{display:flex}.nav-link{padding:13px}.nav-cta{text-align:center;margin-left:0}
  .hero-inner,.about-grid,.why-layout,.faq-grid,.contact-grid{grid-template-columns:1fr}.hero{min-height:980px}.hero-inner{padding-top:105px}.hero-panel{max-width:650px}
  .split-heading{grid-template-columns:1fr;gap:15px}.about-grid{gap:38px}.why-display{min-height:350px}.contact-grid{gap:40px}.footer-main{flex-direction:column}
}
@media (max-width:600px) {
  .container{width:min(calc(100% - 28px),var(--container))}.section{padding:82px 0}.logo-brand{width:180px;height:56px}
  .hero{min-height:900px}.hero-inner{padding-top:88px}.hero h1{font-size:clamp(3rem,17vw,5rem)}.hero-actions{flex-direction:column;align-items:stretch}.hero-actions .btn{width:100%}
  .trust-row{gap:10px;justify-content:space-between}.trust-row>div{gap:5px}.trust-row span{font-size:10px}.stats-strip{grid-template-columns:1fr 1fr}.stats-strip>div{border-right:1px solid var(--line)}.stats-strip>div:nth-child(2){border-right:0}.stats-strip>div:nth-child(-n+2){border-bottom:1px solid var(--line)}
  .services-grid{grid-template-columns:1fr}.service-card{min-height:335px}.process-grid{grid-template-columns:1fr}.cta-card{flex-direction:column;align-items:flex-start;padding:28px}.cta-actions{width:100%;flex-direction:column}.cta-actions .btn{width:100%}.footer-links{flex-direction:column;gap:25px}.footer-bottom{flex-direction:column}.modal-card{padding:28px 21px}
}
@media (prefers-reduced-motion:reduce) { *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important} }


/* CLIENTS — high-visibility logo showcase */
.clients-section {
  background: #f7f7f5;
  color: var(--text);
  border-top: 1px solid #e7e7e3;
  border-bottom: 1px solid #e7e7e3;
  overflow: hidden;
}
.clients-heading { align-items: end; }
.clients-heading p {
  color: var(--muted);
  max-width: 560px;
  font-size: 15px;
  line-height: 1.75;
}
.client-grid {
  margin-top: 42px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
.client-card {
  min-width: 0;
  min-height: 255px;
  padding: 14px 14px 16px;
  background: #fff;
  border: 1px solid #deded9;
  border-radius: 18px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
  box-shadow: 0 8px 28px rgba(15,15,15,.045);
  transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.client-card:hover {
  transform: translateY(-5px);
  border-color: rgba(229,27,35,.42);
  box-shadow: 0 18px 42px rgba(15,15,15,.09);
}
.client-logo-stage {
  height: 205px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 12px;
  background: #fff;
}
.client-logo-stage img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
}
.client-card span {
  min-height: 31px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  color: #4f5359;
  font-size: 13px;
  line-height: 1.35;
  font-weight: 700;
}
.clients-cta {
  margin-top: 34px;
  padding: 25px 28px;
  border-radius: 18px;
  background: #101114;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.clients-cta .eyebrow { color: #f0444a; }
.clients-cta h3 {
  margin: 5px 0 0;
  font-size: clamp(20px, 2.4vw, 29px);
  line-height: 1.15;
}
.clients-cta .btn { flex: 0 0 auto; }

@media (max-width:1050px) {
  .client-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width:820px) {
  .client-grid { gap: 14px; }
  .client-card { min-height: 225px; }
  .client-logo-stage { height: 175px; }
  .clients-cta { align-items: flex-start; flex-direction: column; }
}
@media (max-width:600px) {
  .clients-heading p { font-size: 14px; }
  .client-grid { grid-template-columns: 1fr; gap: 12px; margin-top: 30px; }
  .client-card { min-height: 0; padding: 12px; border-radius: 15px; }
  .client-logo-stage { height: 190px; }
  .client-card span { font-size: 12px; }
  .clients-cta { margin-top: 24px; padding: 22px 18px; }
}

/* FINAL SECTION BALANCE
   Brand direction: light hero + light intro + white solutions, then deliberate dark/light alternation. */
.hero,
.about-section,
.services-section,
.why-section,
.cta-section {
  background: #fff;
  color: var(--text);
}

/* Keep the hero visually rich while making its base unmistakably white. */
.hero {
  background: #fff;
}
.hero-grid {
  opacity: .7;
}

/* Solutions requested by the client: white background. */
.services-section {
  background: #fff;
  color: var(--text);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}
.services-section .section-heading h2 { color: var(--text); }
.services-section .section-heading p { color: var(--muted); }
.services-section .service-tab {
  border-color: var(--line);
  color: var(--muted);
  background: #fff;
}
.services-section .service-tab:hover,
.services-section .service-tab.active {
  background: var(--black);
  color: #fff;
  border-color: var(--black);
}
.services-section .service-card {
  border: 1px solid #dedfdb;
  background: linear-gradient(145deg, #fff, #f4f4f1);
  color: var(--text);
  box-shadow: 0 10px 30px rgba(15,15,15,.06);
}
.services-section .service-card h3 { color: var(--text); }
.services-section .service-card p { color: var(--muted); }
.services-section .service-icon {
  background: rgba(229,27,35,.06);
  border-color: rgba(229,27,35,.22);
}
.services-section .learn-more { color: var(--text); }
.services-section .card-glow { background: rgba(229,27,35,.08); }

/* Dark client showcase creates separation without competing with the logos. */
.clients-section {
  background: #101114;
  color: #f5f5f3;
  border-top: 0;
  border-bottom: 0;
}
.clients-section .section-heading h2 { color: #f5f5f3; }
.clients-section .section-heading p { color: #a4a6aa; }
.clients-section .eyebrow { color: #ff5a61; }

/* Keep logo cards white so every supplied logo remains readable. */
.clients-section .client-card {
  background: #fff;
  border-color: #e1e1dd;
}

/* Alternate back to light for Why MTech, then dark Process, then light CTA. */
.why-section {
  background: #fff;
  color: var(--text);
}
.process-section {
  background: #101114;
  color: #f5f5f3;
}
.cta-section {
  background: #fff;
}

/* FAQ becomes the next dark band before the final contact area. */
.faq-section {
  background: #101114;
  color: #f5f5f3;
}
.faq-section .section-heading h2 { color: #f5f5f3; }
.faq-section .section-heading p { color: #a4a6aa; }
.faq-section .faq-list details {
  background: #17181b;
  border-color: rgba(255,255,255,.10);
}
.faq-section .faq-list summary { color: #f5f5f3; }
.faq-section .faq-list p { color: #a4a6aa; }

/* Finish on a clean light contact section; the form/cards remain dark for contrast. */
.contact-section {
  background: #fff;
  color: var(--text);
}
.contact-section .contact-intro h2 { color: var(--text); }
.contact-section .contact-intro > p { color: var(--muted); }

@media (prefers-reduced-motion: reduce) {
  .services-section .service-card, .clients-section .client-card { transition: none; }
}
