:root {
  --red: #E80000;
  --ink: #141E23;
  --black: #1E1E1C;
  --gray: #707070;
  --light-gray: #E1E1E1;
  --ivory: #F9F9F9;
  --white: #FFFFFF;
  --radius: 25px;
  --max: 1180px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  font-family: "Manrope", Arial, sans-serif;
  color: var(--black);
  background: var(--white);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}
a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }
.container { width: min(var(--max), calc(100% - 48px)); margin: 0 auto; }

.site-header {
  position: fixed; inset: 0 0 auto; z-index: 1000;
  background: rgba(255,255,255,.94); backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(20,30,35,.08);
}
.nav-wrap { height: 78px; display: flex; align-items: center; justify-content: space-between; gap: 28px; }
.brand { display: inline-flex; align-items: center; gap: 12px; }
.brand-mark {
  width: 42px; height: 42px; display: grid; place-items: center;
  border: 2px solid var(--red); color: var(--red); font-weight: 800; letter-spacing: -.08em;
}
.brand-copy { display: flex; flex-direction: column; line-height: 1.15; }
.brand-copy strong { font-size: 15px; }
.brand-copy small { font-size: 11px; color: var(--gray); margin-top: 4px; }
.nav { display: flex; align-items: center; gap: 25px; font-size: 13px; font-weight: 700; }
.nav > a:not(.btn) { position: relative; }
.nav > a:not(.btn)::after { content:""; position:absolute; left:0; right:100%; bottom:-7px; height:2px; background:var(--red); transition:.25s; }
.nav > a:not(.btn):hover::after { right:0; }
.nav-toggle { display:none; background:none; border:0; font-size:24px; }

.btn {
  display: inline-flex; align-items: center; justify-content: center; min-height: 50px;
  padding: 0 24px; border-radius: var(--radius); font-weight: 800; font-size: 14px;
  border: 1px solid transparent; transition: transform .2s, box-shadow .2s, background .2s;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary { background: var(--red); color: white; box-shadow: 0 12px 30px rgba(232,0,0,.18); }
.btn-primary:hover { box-shadow: 0 16px 36px rgba(232,0,0,.25); }
.btn-small { min-height: 42px; padding:0 18px; font-size:12px; }
.btn-ghost { border-color: rgba(255,255,255,.36); color:#fff; }
.btn-ghost:hover { background:rgba(255,255,255,.08); }
.btn-light { background:white; color:var(--ink); }

.hero {
  min-height: 820px; background: var(--ink); color:white; position:relative; overflow:hidden;
  padding: 150px 0 90px;
}
.hero-grid-bg {
  position:absolute; inset:0; opacity:.16;
  background-image: linear-gradient(rgba(255,255,255,.12) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
  background-size: 74px 74px;
  mask-image: linear-gradient(to right, black, transparent 84%);
}
.hero::after { content:""; position:absolute; width:420px; height:420px; border:95px solid var(--red); right:-210px; top:120px; opacity:.9; transform:rotate(9deg); }
.hero-grid { position:relative; z-index:2; display:grid; grid-template-columns: 1.2fr .8fr; gap:74px; align-items:center; }
.eyebrow { color:#fff; text-transform:uppercase; letter-spacing:.14em; font-size:12px; font-weight:800; margin:0 0 20px; }
.eyebrow::before { content:""; display:inline-block; width:28px; height:3px; background:var(--red); vertical-align:middle; margin-right:10px; }
.eyebrow.dark { color:var(--gray); }
.hero h1 { font-size: clamp(46px, 5.4vw, 78px); line-height: .98; letter-spacing:-.055em; max-width: 840px; margin:0; }
.hero h1 span, h2 span { color:var(--red); }
.hero-lead { font-size:18px; line-height:1.65; color:rgba(255,255,255,.76); max-width:760px; margin:30px 0 0; }
.hero-actions { display:flex; gap:12px; margin-top:36px; flex-wrap:wrap; }
.hero-proof { display:grid; grid-template-columns: repeat(3,1fr); gap:20px; margin-top:54px; padding-top:28px; border-top:1px solid rgba(255,255,255,.15); }
.hero-proof div { display:flex; flex-direction:column; }
.hero-proof strong { font-size:20px; }
.hero-proof span { font-size:11px; color:rgba(255,255,255,.58); margin-top:4px; }

.hero-card { align-self:stretch; min-height:570px; border-radius:0 0 36px 36px; background:#0f171b; overflow:hidden; position:relative; box-shadow:0 30px 80px rgba(0,0,0,.35); }
.portrait { height:calc(100% - 84px); min-height:486px; position:relative; overflow:hidden; background:#0f171b; }
.portrait::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,30,35,.08), rgba(20,30,35,.26)); pointer-events:none; }
.portrait img { width:100%; height:100%; display:block; object-fit:cover; object-position:55% center; }
.hero-card-footer { height:84px; background:white; color:var(--black); display:flex; align-items:center; justify-content:space-between; padding:0 24px; }
.hero-card-footer div { display:flex; flex-direction:column; }
.hero-card-footer strong { font-size:16px; }
.hero-card-footer span { color:var(--gray); font-size:11px; margin-top:3px; }
.hero-card-footer a { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:var(--ink); color:white; font-weight:800; }

.section { padding:110px 0; }
.section-heading { max-width:850px; margin-bottom:54px; }
.section-heading h2, .about-copy h2, .network-copy h2, .contact-copy h2 { font-size:clamp(34px,4.3vw,58px); line-height:1.05; letter-spacing:-.045em; margin:0; }
.problem-grid { display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--light-gray); border-left:1px solid var(--light-gray); }
.problem-card { min-height:330px; padding:30px; border-right:1px solid var(--light-gray); border-bottom:1px solid var(--light-gray); display:flex; flex-direction:column; }
.problem-card .num { color:var(--light-gray); font-size:44px; font-weight:800; line-height:1; }
.problem-card h3 { font-size:21px; line-height:1.25; margin:46px 0 14px; }
.problem-card p { color:var(--gray); font-size:14px; margin:0; }
.problem-card.accent { background:var(--red); color:#fff; border-color:var(--red); }
.problem-card.accent .num { color:rgba(255,255,255,.35); }
.problem-card.accent p { color:rgba(255,255,255,.78); }
.problem-card.accent a { margin-top:auto; font-weight:800; font-size:13px; }

.dark-section { background:var(--ink); color:white; }
.split { display:grid; grid-template-columns:1fr 1fr; gap:90px; align-items:start; }
.section-heading.light { margin-bottom:0; }
.solution-copy p { color:rgba(255,255,255,.7); font-size:17px; line-height:1.8; margin-top:35px; }
.process { display:flex; gap:11px; flex-wrap:wrap; align-items:center; margin-top:35px; }
.process span { border:1px solid rgba(255,255,255,.22); border-radius:999px; padding:10px 13px; font-size:11px; font-weight:700; }
.process i { color:var(--red); font-style:normal; }

.mission-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.mission-card { background:var(--ivory); border:1px solid #eee; padding:32px; min-height:280px; position:relative; overflow:hidden; transition:transform .25s, border .25s; }
.mission-card:hover { transform:translateY(-5px); border-color:#c9c9c9; }
.mission-card .icon { width:46px; height:46px; display:grid; place-items:center; background:white; border:1px solid #e8e8e8; border-radius:50%; font-size:19px; }
.mission-card h3 { margin:72px 0 12px; font-size:23px; }
.mission-card p { color:var(--gray); font-size:14px; line-height:1.7; margin:0; }
.mission-card::after { content:""; position:absolute; width:60px; height:3px; background:var(--red); bottom:0; left:32px; }

.about { background:var(--ivory); }
.about-grid { display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; align-items:center; }
.about-visual { min-height:500px; background:var(--ink); position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; }
.about-visual::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(20,30,35,.05), rgba(20,30,35,.28)); pointer-events:none; }
.about-visual img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:52% center; }
.quote-box { position:absolute; z-index:2; left:32px; right:32px; bottom:32px; background:white; padding:24px; font-size:15px; line-height:1.65; border-left:4px solid var(--red); }
.about-copy p { color:var(--gray); line-height:1.8; font-size:16px; }
.about-copy strong { color:var(--black); }
.values { display:flex; flex-wrap:wrap; gap:8px; margin:28px 0; }
.values span { background:white; border:1px solid #ddd; border-radius:999px; padding:9px 13px; font-size:12px; font-weight:700; }
.text-link { font-weight:800; font-size:13px; }

.network { background:var(--red); color:white; }
.network-grid { display:grid; grid-template-columns:1.2fr .8fr; gap:80px; align-items:center; }
.network-copy h2 span { color:white; opacity:.72; }
.network-copy p { max-width:690px; color:rgba(255,255,255,.78); font-size:17px; line-height:1.75; margin:24px 0 30px; }
.network-card { background:#fff; color:var(--black); padding:36px; min-height:380px; display:flex; flex-direction:column; justify-content:center; }
.network-number { font-size:92px; font-weight:800; letter-spacing:-.07em; line-height:1; color:var(--red); }
.network-card p { font-size:20px; max-width:300px; font-weight:700; }
.network-tags { display:flex; flex-wrap:wrap; gap:7px; margin-top:20px; }
.network-tags span { background:var(--ivory); padding:8px 10px; font-size:10px; font-weight:700; }

.steps { display:grid; grid-template-columns:repeat(4,1fr); gap:14px; }
.step { padding:28px 10px 0 0; border-top:3px solid var(--light-gray); }
.step span { font-size:13px; color:var(--red); font-weight:800; }
.step h3 { font-size:20px; margin:28px 0 12px; }
.step p { color:var(--gray); font-size:13px; line-height:1.7; }

.contact { background:var(--ink); color:white; }
.contact-grid { display:grid; grid-template-columns:1fr 1fr; gap:100px; align-items:center; }
.contact-copy p { color:rgba(255,255,255,.7); line-height:1.75; }
.contact-details { display:flex; flex-direction:column; gap:8px; margin-top:30px; font-size:13px; font-weight:700; }
.contact-form { background:white; color:var(--black); padding:34px; display:grid; gap:16px; }
.contact-form label { font-size:11px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.contact-form input, .contact-form textarea { width:100%; margin-top:7px; padding:13px 14px; border:1px solid #d7d7d7; background:var(--ivory); outline:none; transition:border .2s; }
.contact-form input:focus, .contact-form textarea:focus { border-color:var(--red); }
.form-note { color:var(--gray)!important; font-size:10px!important; margin:0!important; }

footer { background:#0c1215; color:white; padding:34px 0; }
.footer-grid { display:flex; align-items:center; justify-content:space-between; gap:20px; }
.footer-brand .brand-copy small { color:rgba(255,255,255,.5); }
.footer-right { display:flex; gap:24px; align-items:center; font-size:11px; color:rgba(255,255,255,.6); }
.footer-right a { color:white; font-weight:700; }

.reveal { opacity:0; transform:translateY(18px); transition:opacity .65s ease, transform .65s ease; }
.reveal.visible { opacity:1; transform:none; }
.delay-1 { transition-delay:.08s; }.delay-2 { transition-delay:.16s; }.delay-3 { transition-delay:.24s; }

@media (max-width: 980px) {
  .nav-toggle { display:block; }
  .nav { position:absolute; top:78px; left:0; right:0; background:white; padding:22px 24px; display:none; flex-direction:column; align-items:flex-start; border-bottom:1px solid #eee; }
  .nav.open { display:flex; }
  .hero-grid, .split, .about-grid, .network-grid, .contact-grid { grid-template-columns:1fr; }
  .hero { padding-top:130px; }
  .hero-card { min-height:460px; }
  .problem-grid { grid-template-columns:repeat(2,1fr); }
  .mission-grid { grid-template-columns:repeat(2,1fr); }
  .steps { grid-template-columns:repeat(2,1fr); gap:36px 14px; }
}

@media (max-width: 640px) {
  .container { width:min(100% - 30px, var(--max)); }
  .section { padding:78px 0; }
  .site-header .brand-copy small { display:none; }
  .hero { min-height:auto; padding:120px 0 70px; }
  .hero h1 { font-size:46px; }
  .hero-lead { font-size:16px; }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .hero-proof { grid-template-columns:1fr; gap:14px; }
  .hero-card { display:none; }
  .problem-grid, .mission-grid, .steps { grid-template-columns:1fr; }
  .problem-card { min-height:260px; }
  .split { gap:36px; }
  .about-grid, .network-grid, .contact-grid { gap:44px; }
  .about-visual { min-height:400px; }
  .network-number { font-size:72px; }
  .contact-form { padding:24px; }
  .footer-grid, .footer-right { flex-direction:column; align-items:flex-start; }
}

.network-logo-link { display:inline-block; background:white; padding:16px 22px; margin:12px 0 24px; max-width:290px; }
.network-logo { display:block; width:100%; max-width:245px; height:auto; }
.network-actions { display:flex; align-items:center; gap:22px; flex-wrap:wrap; margin-top:30px; }
.network-site-link { font-size:13px; font-weight:800; text-decoration:underline; text-underline-offset:4px; }
.phone-link { font-size:20px; font-weight:800; color:white !important; }
@media (max-width: 640px) { .network-logo-link { max-width:250px; } .phone-link { font-size:18px; } }
