:root {
  --font-primary: "Open Sans", sans-serif;
  --font-size-base: 16px;
  --line-base: 1.6;
  --surface-base: #000000;
  --surface-raised: #c91112;
  --surface-strong: #fcfcfc;
  --text-primary: #ffffff;
  --text-secondary: #ffffff;
  --text-tertiary: #282828;
  --text-inverse: #1e1e1e;
  --surface-light: #f6f6f6;
  --surface-card: #ffffff;
  --border-light: rgba(0,0,0,.10);
  --border-dark: rgba(255,255,255,.14);
  --radius-xs: 8px;
  --radius-sm: 15px;
  --radius-md: 18px;
  --radius-lg: 35px;
  --radius-xl: 50px;
  --shadow-1: 19px 19px 40px rgba(0,0,0,.10);
  --shadow-2: -16px -10px 25px 2px rgba(0,0,0,.20);
  --duration-fast: 300ms;
  --duration-normal: 400ms;
  --container: 1180px;
  --space: 8px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; font-family:var(--font-primary); font-size:var(--font-size-base); line-height:var(--line-base); color:var(--text-inverse); background:var(--surface-strong); }
body.menu-open { overflow:hidden; }
a { color:inherit; text-decoration:none; }
button, input, select, textarea { font:inherit; }
button, a, input, select, textarea { -webkit-tap-highlight-color:transparent; }
img { max-width:100%; display:block; }
:focus-visible { outline:3px solid #ff6b6b; outline-offset:3px; }
.container { width:min(calc(100% - 40px), var(--container)); margin-inline:auto; }

.skip-link { position:fixed; left:12px; top:-60px; z-index:1000; background:#fff; color:#111; padding:10px 14px; border-radius:8px; }
.skip-link:focus { top:12px; }

.site-header { position:sticky; top:0; z-index:50; background:rgba(0,0,0,.96); color:#fff; border-bottom:1px solid rgba(255,255,255,.10); }
.header-inner { min-height:74px; display:flex; align-items:center; gap:28px; }
.brand { display:inline-flex; align-items:center; gap:10px; flex:none; }
.brand-mark { width:40px; height:40px; display:grid; place-items:center; border-radius:50%; background:var(--surface-raised); color:#fff; font-size:22px; font-weight:800; }
.brand-copy { display:flex; flex-direction:column; line-height:1; letter-spacing:.08em; }
.brand-copy strong { font-size:16px; }
.brand-copy small { font-size:9px; margin-top:4px; color:#d9d9d9; letter-spacing:.24em; }
.desktop-nav { margin-left:auto; display:flex; gap:24px; }
.desktop-nav a, .mobile-menu a { font-size:14px; font-weight:600; color:#eee; transition:color var(--duration-fast); }
.desktop-nav a:hover, .mobile-menu a:hover { color:#ff6b6b; }
.button { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:10px 20px; border:1px solid transparent; border-radius:var(--radius-xs); font-weight:700; font-size:14px; cursor:pointer; transition:transform var(--duration-fast), background var(--duration-fast), border-color var(--duration-fast); }
.button:hover { transform:translateY(-2px); }
.button:active { transform:translateY(0); }
.button:disabled { opacity:.55; cursor:not-allowed; transform:none; }
.button-primary { background:var(--surface-raised); color:#fff; }
.button-primary:hover { background:#a80e0f; }
.button-outline { background:transparent; color:#fff; border-color:rgba(255,255,255,.30); }
.button-outline:hover { border-color:#fff; }
.header-cta { margin-left:4px; }
.menu-toggle { display:none; margin-left:auto; width:44px; height:44px; border:1px solid rgba(255,255,255,.2); border-radius:8px; background:transparent; cursor:pointer; }
.menu-toggle span { display:block; width:20px; height:2px; margin:4px auto; background:#fff; }
.mobile-menu { padding:16px 20px 22px; border-top:1px solid rgba(255,255,255,.1); }
.mobile-menu > * { display:block; padding:12px 0; }
.mobile-menu .button { text-align:center; padding:12px; }

.hero { position:relative; overflow:hidden; min-height:690px; display:flex; align-items:center; background:#000; color:#fff; }
.hero-grid { position:absolute; inset:0; background-image:linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px); background-size:56px 56px; mask-image:linear-gradient(to bottom, black, transparent 90%); }
.hero:before { content:""; position:absolute; width:520px; height:520px; border-radius:50%; right:-180px; top:-150px; background:rgba(201,17,18,.26); filter:blur(80px); }
.hero-content { position:relative; display:grid; grid-template-columns:1.02fr .98fr; gap:70px; align-items:center; padding-block:90px; }
.eyebrow { margin:0 0 12px; color:var(--surface-raised); font-size:12px; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.hero h1 { margin:0; max-width:760px; font-size:clamp(42px,6vw,72px); line-height:1.04; letter-spacing:-.045em; }
.hero h1 span, .section-heading h2 span, .why-grid h2 span, .cta-section h2 span { color:var(--surface-raised); }
.hero-text { max-width:650px; margin:24px 0 0; color:#cfcfcf; font-size:17px; }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; margin-top:32px; }
.hero-trust { display:flex; gap:18px; flex-wrap:wrap; margin-top:28px; color:#aaa; font-size:12px; }
.hero-visual { position:relative; min-height:450px; display:grid; place-items:center; }
.visual-glow { position:absolute; width:360px; height:360px; border-radius:50%; background:rgba(201,17,18,.20); filter:blur(60px); }
.dashboard-card { position:relative; width:min(100%,430px); padding:24px; border:1px solid rgba(255,255,255,.15); border-radius:var(--radius-md); background:linear-gradient(145deg,rgba(255,255,255,.12),rgba(255,255,255,.04)); box-shadow:0 30px 80px rgba(0,0,0,.5); backdrop-filter:blur(16px); }
.dashboard-top { display:flex; justify-content:space-between; color:#ddd; font-size:12px; }
.live-dot { color:#a7f3d0; }
.live-dot:before { content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:#22c55e; margin-right:6px; }
.metric-main { margin-top:35px; }
.metric-main small, .dashboard-grid small { display:block; color:#aaa; font-size:11px; }
.metric-main strong { display:block; margin-top:4px; font-size:46px; line-height:1; }
.metric-main span { color:#999; font-size:11px; }
.chart { height:120px; display:flex; align-items:end; gap:8px; margin-top:28px; padding-bottom:8px; border-bottom:1px solid rgba(255,255,255,.12); }
.chart span { flex:1; border-radius:5px 5px 0 0; background:linear-gradient(to top,#c91112,#f05a5a); min-height:10px; }
.dashboard-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:18px; }
.dashboard-grid div { padding:12px; border:1px solid rgba(255,255,255,.10); border-radius:10px; }
.dashboard-grid b { display:block; margin-top:4px; font-size:18px; }
.floating-card { position:absolute; padding:12px 15px; border:1px solid rgba(255,255,255,.14); border-radius:12px; background:#111; box-shadow:var(--shadow-2); font-size:11px; }
.floating-card b { display:block; color:#ff6b6b; font-size:18px; }
.floating-one { left:0; top:80px; }
.floating-two { right:0; bottom:70px; }

.stats-strip { background:var(--surface-raised); color:#fff; }
.stats-grid { display:grid; grid-template-columns:repeat(4,1fr); }
.stats-grid div { padding:25px 20px; text-align:center; border-right:1px solid rgba(255,255,255,.18); }
.stats-grid div:last-child { border-right:0; }
.stats-grid strong { display:block; font-size:27px; }
.stats-grid span { font-size:12px; opacity:.8; }

.section { padding:105px 0; }
.section-heading { max-width:750px; margin-bottom:45px; }
.section-heading h2, .why-grid h2, .cta-section h2 { margin:0; font-size:clamp(34px,4.5vw,54px); line-height:1.08; letter-spacing:-.035em; }
.section-heading > p:last-child { margin:18px 0 0; color:#666; max-width:650px; }
.service-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.service-card { min-height:300px; padding:30px; border:1px solid var(--border-light); border-radius:var(--radius-md); background:#fff; box-shadow:0 12px 35px rgba(0,0,0,.045); transition:transform var(--duration-normal),box-shadow var(--duration-normal),border-color var(--duration-normal); }
.service-card:hover { transform:translateY(-7px); border-color:rgba(201,17,18,.35); box-shadow:0 24px 50px rgba(0,0,0,.10); }
.service-featured { background:#111; color:#fff; border-color:#111; }
.icon-box { width:45px; height:45px; display:grid; place-items:center; border-radius:10px; background:#f5e1e1; color:#c91112; font-weight:800; font-size:12px; }
.service-featured .icon-box { background:#c91112; color:#fff; }
.service-card h3 { margin:22px 0 10px; font-size:20px; }
.service-card p { margin:0; color:#666; font-size:14px; }
.service-featured p { color:#c8c8c8; }
.service-card ul { margin:20px 0; padding:0; list-style:none; display:flex; flex-wrap:wrap; gap:7px; }
.service-card li { padding:5px 8px; border-radius:20px; background:#f4f4f4; font-size:11px; }
.service-featured li { background:#222; color:#ddd; }
.text-link { display:inline-flex; gap:7px; margin-top:14px; font-size:13px; font-weight:800; color:#c91112; }
.service-featured .text-link { color:#ff7777; }

.dark-section { background:#000; color:#fff; }
.section-heading-dark > p:last-child { color:#a8a8a8; }
.work-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr; gap:18px; }
.work-card { overflow:hidden; border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-md); background:#111; }
.work-art { min-height:330px; display:flex; align-items:flex-end; padding:22px; position:relative; overflow:hidden; }
.work-art:after { content:""; position:absolute; inset:0; background:linear-gradient(transparent 40%,rgba(0,0,0,.75)); }
.work-art span { position:relative; z-index:1; font-size:11px; font-weight:800; letter-spacing:.12em; }
.art-one { background:radial-gradient(circle at 70% 20%,#d94b4b,transparent 30%),linear-gradient(135deg,#201111,#6f1618 55%,#070707); }
.art-two { background:radial-gradient(circle at 25% 20%,#ddd,transparent 25%),linear-gradient(145deg,#222,#777 55%,#111); }
.art-three { background:radial-gradient(circle at 70% 20%,#c91112,transparent 28%),linear-gradient(145deg,#120b0b,#2d2d2d); }
.work-info { padding:22px; }
.work-info small { color:#a5a5a5; }
.work-info h3 { margin:6px 0 12px; font-size:20px; }
.work-info a { color:#ff6b6b; font-size:13px; font-weight:700; }

.process-grid { display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--border-light); }
.process-grid article { padding:30px; min-height:190px; border-right:1px solid var(--border-light); border-bottom:1px solid var(--border-light); }
.process-grid article:nth-child(3n) { border-right:0; }
.process-grid span { color:#c91112; font-size:12px; font-weight:800; }
.process-grid h3 { margin:12px 0 7px; font-size:19px; }
.process-grid p { margin:0; color:#666; font-size:14px; }

.why-section { background:#f3f3f3; }
.why-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:90px; align-items:start; }
.why-grid h2 { margin-bottom:20px; }
.lead { color:#666; margin:0 0 28px; }
.benefit-list { display:grid; gap:12px; }
.benefit-list article { display:grid; grid-template-columns:44px 1fr; gap:18px; padding:22px; background:#fff; border:1px solid var(--border-light); border-radius:var(--radius-sm); }
.benefit-list b { color:#c91112; font-size:13px; }
.benefit-list h3 { margin:0 0 5px; font-size:17px; }
.benefit-list p { margin:0; color:#666; font-size:13px; }

.testimonial-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.testimonial-grid figure { margin:0; padding:28px; border:1px solid var(--border-light); border-radius:var(--radius-md); background:#fff; }
.stars { color:#c91112; letter-spacing:2px; font-size:13px; }
blockquote { margin:20px 0; font-size:15px; line-height:1.8; color:#444; }
figcaption { font-weight:800; font-size:13px; }
figcaption span { display:block; margin-top:3px; color:#888; font-weight:400; font-size:11px; }

.cta-section { padding:100px 0; background:#000; color:#fff; }
.cta-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:start; }
.cta-section > .container > div:first-child > p:not(.eyebrow) { color:#aaa; }
.contact-meta { display:grid; gap:8px; margin-top:28px; }
.contact-meta a { color:#fff; font-weight:700; }
.contact-meta span { color:#999; font-size:13px; }
.contact-form { padding:28px; border-radius:var(--radius-md); background:#fff; color:#111; }
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.contact-form label { display:block; margin-bottom:14px; font-size:12px; font-weight:700; }
.contact-form input, .contact-form select, .contact-form textarea { width:100%; margin-top:7px; padding:12px 13px; border:1px solid #d7d7d7; border-radius:8px; background:#fff; color:#111; outline:none; }
.contact-form textarea { resize:vertical; min-height:120px; }
.contact-form input:hover, .contact-form select:hover, .contact-form textarea:hover { border-color:#aaa; }
.contact-form input:focus-visible, .contact-form select:focus-visible, .contact-form textarea:focus-visible { border-color:#c91112; box-shadow:0 0 0 3px rgba(201,17,18,.12); }
.button-full { width:100%; }
.form-status { min-height:22px; margin:12px 0 0; font-size:13px; font-weight:700; }
.form-status.success { color:#087443; }
.form-status.error { color:#b42318; }
.form-note { display:block; margin-top:8px; color:#777; font-size:10px; }

.site-footer { background:#111; color:#fff; padding-top:70px; }
.footer-grid { display:grid; grid-template-columns:1.4fr 1fr 1fr 1.2fr; gap:40px; padding-bottom:55px; }
.brand-footer { margin-bottom:18px; }
.footer-grid > div:first-child p { color:#aaa; max-width:320px; font-size:13px; }
.footer-grid h3 { margin:0 0 15px; font-size:13px; }
.footer-grid a, .footer-grid span { display:block; margin:9px 0; color:#aaa; font-size:12px; }
.footer-grid a:hover { color:#fff; }
.footer-bottom { display:flex; justify-content:space-between; gap:20px; padding:20px 0; border-top:1px solid rgba(255,255,255,.1); color:#777; font-size:11px; }
.footer-bottom div { display:flex; gap:18px; }

@media (max-width: 980px) {
  .desktop-nav, .header-cta { display:none; }
  .menu-toggle { display:block; }
  .hero-content, .why-grid, .cta-grid { grid-template-columns:1fr; gap:45px; }
  .hero { min-height:auto; }
  .hero-visual { min-height:420px; }
  .service-grid, .testimonial-grid { grid-template-columns:repeat(2,1fr); }
  .work-grid { grid-template-columns:1fr 1fr; }
  .work-large { grid-column:1 / -1; }
  .process-grid { grid-template-columns:repeat(2,1fr); }
  .process-grid article:nth-child(3n) { border-right:1px solid var(--border-light); }
  .process-grid article:nth-child(2n) { border-right:0; }
  .footer-grid { grid-template-columns:repeat(2,1fr); }
}
@media (max-width: 680px) {
  .container { width:min(calc(100% - 28px), var(--container)); }
  .header-inner { min-height:64px; }
  .hero-content { padding-block:65px; }
  .hero h1 { font-size:42px; }
  .hero-text { font-size:15px; }
  .hero-visual { min-height:340px; }
  .dashboard-card { width:calc(100% - 25px); }
  .floating-one { left:-4px; top:45px; }
  .floating-two { right:-4px; bottom:30px; }
  .stats-grid { grid-template-columns:repeat(2,1fr); }
  .stats-grid div:nth-child(2) { border-right:0; }
  .stats-grid div:nth-child(-n+2) { border-bottom:1px solid rgba(255,255,255,.18); }
  .section { padding:75px 0; }
  .service-grid, .testimonial-grid, .work-grid, .process-grid, .footer-grid { grid-template-columns:1fr; }
  .work-large { grid-column:auto; }
  .work-art { min-height:260px; }
  .process-grid article, .process-grid article:nth-child(3n), .process-grid article:nth-child(2n) { border-right:0; }
  .form-row { grid-template-columns:1fr; gap:0; }
  .footer-bottom { flex-direction:column; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
}
