@font-face { font-family:"Barlow Condensed"; src:url("/assets/barlow-condensed-900.woff2") format("woff2"); font-weight:900; font-style:normal; font-display:swap; }
:root { --black:#080808; --ink:#111; --white:#fff; --red:#e31b23; --gray:#a6a6a6; }
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; background:var(--black); color:var(--white); font-family:Arial, Helvetica, sans-serif; }
a { color:inherit; text-decoration:none; }
button, input, textarea { font:inherit; }
.site-header { height:112px; padding:18px clamp(24px,5vw,80px); display:flex; align-items:center; gap:42px; position:absolute; top:0; width:100%; z-index:10; }
.brand img { width:82px; height:82px; border-radius:50%; object-fit:cover; display:block; }
nav { margin-left:auto; display:flex; align-items:center; gap:34px; font-size:14px; }
nav a { padding:13px 3px; border-bottom:2px solid transparent; transition:.2s ease; }
nav a:hover, nav a.active { border-color:var(--red); }
.header-cta { border:1px solid var(--red); padding:14px 18px; text-transform:uppercase; font-size:12px; font-weight:700; letter-spacing:.08em; }
.header-cta span { color:var(--red); margin-left:12px; }
.hero { min-height:870px; padding:158px clamp(24px,6vw,96px) 70px; display:grid; grid-template-columns:minmax(430px,.9fr) 1.25fr; position:relative; overflow:hidden; }
.hero-copy { position:relative; z-index:2; }
.eyebrow { color:var(--red); text-transform:uppercase; font-size:12px; font-weight:800; letter-spacing:.22em; margin:0 0 24px; }
h1 { font-family:"Barlow Condensed",Impact,sans-serif; font-size:clamp(70px,7vw,116px); font-weight:900; line-height:.84; letter-spacing:-.025em; text-transform:uppercase; margin:0; max-width:650px; }
.red-rule { width:62px; height:4px; background:var(--red); margin:28px 0 18px; }
.hero-text { max-width:490px; color:#c9c9c9; font-size:17px; line-height:1.45; margin:0; }
.actions { display:flex; gap:18px; margin-top:28px; flex-wrap:wrap; }
.button { min-height:55px; display:inline-flex; align-items:center; justify-content:space-between; gap:34px; padding:0 24px; font-weight:800; font-size:14px; transition:.2s ease; }
.button span { font-size:24px; font-weight:400; }
.button.primary { background:var(--red); border:1px solid var(--red); }
.button.primary:hover { background:#bd1017; transform:translateY(-2px); }
.button.secondary { border:1px solid #777; }
.button.secondary:hover { border-color:var(--white); transform:translateY(-2px); }
.hero-art { position:relative; min-width:0; display:flex; align-items:center; justify-content:center; }
.hero-art img { width:min(850px,110%); position:relative; z-index:2; filter:drop-shadow(0 28px 28px rgba(0,0,0,.48)); }
.grid-lines { position:absolute; inset:5% -10% 0 -5%; opacity:.32; transform:perspective(700px) rotateX(62deg) rotateZ(-5deg); background-image:linear-gradient(rgba(255,255,255,.18) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.18) 1px,transparent 1px); background-size:54px 54px; }
.orbit { position:absolute; border:1px solid var(--red); border-radius:50%; z-index:1; }
.orbit-one { width:520px; height:520px; }
.orbit-two { width:700px; height:310px; transform:rotate(18deg); border-color:rgba(227,27,35,.55); }
.trust-bar { border-top:1px solid #333; border-bottom:1px solid #333; display:grid; grid-template-columns:repeat(3,1fr); padding:0 clamp(24px,6vw,96px); }
.trust-bar a { min-height:105px; display:flex; align-items:center; gap:20px; padding:20px 30px; border-right:1px solid #333; font-weight:700; }
.trust-bar a:first-child { border-left:1px solid #333; }
.trust-number { width:46px; height:46px; border:1px solid var(--red); border-radius:50%; display:grid; place-items:center; color:var(--red); font-size:12px; }
.trust-bar b { margin-left:auto; color:var(--red); font-size:20px; transition:.2s; }
.trust-bar a:hover b { transform:translate(3px,-3px); }
.section { padding:120px clamp(24px,7vw,110px); }
.section-heading { display:grid; grid-template-columns:.5fr 1.3fr 1fr; gap:60px; align-items:start; margin-bottom:70px; }
h2 { font-family:"Barlow Condensed",Impact,sans-serif; font-weight:900; text-transform:uppercase; font-size:clamp(48px,5.5vw,86px); line-height:.98; letter-spacing:-.02em; margin:0; }
.section-heading > p:last-child, .about-grid p, .contact > div > p { color:#777; font-size:17px; line-height:1.7; }
.services { background:#f4f4f1; color:var(--ink); }
.service-grid { display:grid; grid-template-columns:repeat(2,1fr); border-top:1px solid #bbb; border-left:1px solid #bbb; }
.service-grid article { min-height:320px; padding:36px; border-right:1px solid #bbb; border-bottom:1px solid #bbb; display:flex; flex-direction:column; }
.service-grid article > span { color:var(--red); font-size:12px; font-weight:800; }
.service-grid h3 { font-size:28px; text-transform:uppercase; margin:44px 0 14px; }
.service-grid p { color:#555; line-height:1.65; max-width:520px; }
.service-grid a { margin-top:auto; text-transform:uppercase; font-size:12px; font-weight:800; letter-spacing:.12em; }
.service-grid a b { color:var(--red); margin-left:8px; }
.nonprofit { background:var(--red); display:grid; grid-template-columns:1fr .8fr; gap:9vw; }
.nonprofit .eyebrow { color:var(--white); opacity:.75; }
.nonprofit-copy > p { font-size:20px; line-height:1.6; margin-top:0; }
.nonprofit ul { list-style:none; padding:0; margin:34px 0; }
.nonprofit li { padding:16px 0; border-top:1px solid rgba(255,255,255,.35); }
.nonprofit li::before { content:"→"; margin-right:14px; }
.button.light { background:var(--white); color:var(--ink); }
.about { background:var(--white); color:var(--ink); }
.about-grid { display:grid; grid-template-columns:1.2fr 1fr; gap:10vw; }
.about-grid p { margin-top:0; color:#555; }
.about-grid .signature { color:var(--red); font-weight:800; text-transform:uppercase; letter-spacing:.08em; font-size:14px; margin-top:35px; }
.contact { display:grid; grid-template-columns:1fr .85fr; gap:9vw; }
.contact > div > p { color:#aaa; max-width:600px; }
form { display:grid; grid-template-columns:1fr 1fr; gap:22px; background:#111; border:1px solid #333; padding:38px; }
form label { color:#aaa; font-size:12px; text-transform:uppercase; letter-spacing:.1em; font-weight:700; }
form label:last-of-type { grid-column:1/-1; }
input, textarea { display:block; width:100%; margin-top:8px; background:#080808; color:white; border:1px solid #444; padding:14px; outline:none; resize:vertical; }
input:focus, textarea:focus { border-color:var(--red); }
form button { grid-column:1/-1; min-height:54px; border:0; background:var(--red); color:white; font-weight:800; cursor:pointer; }
form button span { margin-left:15px; font-size:20px; }
footer { border-top:1px solid #333; padding:60px clamp(24px,6vw,96px); display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:30px; }
footer img { width:76px; height:76px; border-radius:50%; }
footer p { text-transform:uppercase; font-weight:800; }
footer div { display:flex; gap:22px; font-size:13px; }
footer small { grid-column:1/-1; color:#666; }
@media (max-width:950px) {
  .site-header { position:relative; height:auto; padding:18px 24px; }
  .brand img { width:64px; height:64px; }
  nav { display:none; }
  .header-cta { margin-left:auto; }
  .hero { padding-top:55px; grid-template-columns:1fr; min-height:auto; }
  .hero-art { min-height:460px; margin-top:30px; }
  .hero-art img { width:min(720px,100%); }
  .section-heading { grid-template-columns:1fr; gap:16px; }
  .nonprofit, .about-grid, .contact { grid-template-columns:1fr; gap:55px; }
}
@media (max-width:650px) {
  h1 { font-size:59px; }
  .hero { padding:44px 20px 36px; }
  .hero-art { min-height:310px; }
  .trust-bar { grid-template-columns:1fr; }
  .trust-bar a, .trust-bar a:first-child { border-left:0; border-right:0; border-bottom:1px solid #333; }
  .service-grid { grid-template-columns:1fr; }
  .section { padding:82px 22px; }
  form { grid-template-columns:1fr; padding:24px; }
  form label, form label:last-of-type { grid-column:1; }
  footer { grid-template-columns:1fr; text-align:center; justify-items:center; }
  footer div, footer small { grid-column:1; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } * { transition:none!important; } }
