:root {
  --red: #d71920;
  --red-dark: #a70f14;
  --ink: #101010;
  --charcoal: #191919;
  --soft-black: #242424;
  --paper: #f6f6f3;
  --white: #ffffff;
  --muted: #6e6e6e;
  --line: #deded8;
  --max: 1180px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Inter, system-ui, -apple-system, sans-serif; color: var(--ink); background: var(--paper); line-height: 1.6; }
a { color: inherit; }
img { max-width: 100%; display: block; }
.site-header { position: fixed; z-index: 50; top: 0; left: 0; right: 0; height:110px; display: flex; align-items: center; justify-content: justify-content: flex-start; gap: 24px; padding: 20px max(22px, calc((100vw - var(--max))/2)); background: rgba(255,255,255,.95); border-bottom: 1px solid rgba(0,0,0,.08); backdrop-filter: blur(12px); }
.brand img { width: 380px; height: auto; object-fit: contain; }
.main-nav { display: flex; align-items: center; gap: 28px; }
.main-nav a { text-decoration: none; font-weight: 700; font-size: .92rem; border: 1px solid #deded8; padding: 9px 14px; border-radius: 8px;}
.nav-cta { background: var(--red); color: white; padding: 12px 18px; border-radius: 999px; }
.menu-toggle { display:none; background:none; border:0; font-size:1.8rem; }
.hero { min-height: 100svh; position: relative; display: flex; align-items: center; background: url('assets/hero-bowling.jpeg') center 44%/cover no-repeat; color: white; padding: 130px max(22px, calc((100vw - var(--max))/2)) 70px; overflow: hidden; }
.hero-overlay { position: absolute; inset:0; background: linear-gradient(90deg, rgba(0,0,0,.86) 0%, rgba(0,0,0,.7) 46%, rgba(0,0,0,.24) 100%), linear-gradient(0deg, rgba(0,0,0,.46), transparent 45%); }
.hero-content { position:relative; max-width:760px; z-index:2; }
.eyebrow, .section-kicker { display:inline-block; text-transform:uppercase; letter-spacing:.16em; font-weight:800; font-size:.76rem; color: var(--red); }
.hero .eyebrow { color:#fff; opacity:.86; }
.hero h1 { margin: 18px 0 22px; font-size: clamp(3.15rem, 7vw, 6.4rem); line-height:.92; letter-spacing:-.055em; font-weight:900; }
.hero h1 span { color: #ff3038; }
.hero p { max-width: 680px; font-size: clamp(1.05rem, 2vw, 1.3rem); color: rgba(255,255,255,.88); }
.hero-actions { display:flex; gap:14px; flex-wrap:wrap; margin-top:30px; }
.btn { display:inline-flex; align-items:center; justify-content:center; min-height:50px; padding: 0 22px; border-radius: 999px; text-decoration:none; font-weight:800; border:1px solid transparent; cursor:pointer; font:inherit; }
.btn-primary { background: var(--red); color:white; }
.btn-primary:hover { background:var(--red-dark); }
.btn-secondary { color:white; border-color:rgba(255,255,255,.5); background:rgba(0,0,0,.15); }
.scroll-cue { position:absolute; z-index:2; bottom:24px; left:50%; transform:translateX(-50%); color:white; text-decoration:none; font-size:2rem; }
.trust-strip { background:#0f0f0f; color:white; display:grid; grid-template-columns:repeat(4,1fr); padding:24px max(22px, calc((100vw - var(--max))/2)); gap:18px; }
.trust-strip div { display:flex; flex-direction:column; border-left:3px solid var(--red); padding-left:14px; }
.trust-strip strong { font-size:1.08rem; }
.trust-strip span { color:#bdbdbd; font-size:.82rem; }
.section { max-width:var(--max); margin:0 auto; padding:110px 22px; }
.split { display:grid; grid-template-columns:1.05fr .95fr; gap:72px; align-items:center; }
.copy-block h2, .section-heading h2, .contact-copy h2, .impact-copy h2 { font-size:clamp(2.2rem,4.5vw,4.25rem); line-height:1.02; letter-spacing:-.045em; margin:12px 0 24px; }
.copy-block p, .section-heading p, .contact-copy p { color:#555; font-size:1.05rem; }
.text-link { display:inline-block; margin-top:12px; color:var(--red); font-weight:800; text-decoration:none; }
.photo-card { position:relative; border-radius:24px; overflow:hidden; background:#ddd; box-shadow:0 24px 70px rgba(0,0,0,.15); }
.photo-card img { width:100%; aspect-ratio:4/5; object-fit:cover; }
.photo-label { position:absolute; bottom:18px; left:18px; right:18px; background:rgba(15,15,15,.82); color:white; padding:14px 16px; border-radius:14px; font-weight:800; backdrop-filter:blur(6px); }
.section-dark { max-width:none; background:#111; color:white; padding-left:max(22px, calc((100vw - var(--max))/2)); padding-right:max(22px, calc((100vw - var(--max))/2)); }
.section-dark .section-heading p { color:#bdbdbd; }
.centered { text-align:center; max-width:800px; margin:0 auto 50px; }
.phase-grid { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.phase-card { position:relative; background:#1f1f1f; border:1px solid #343434; padding:38px; border-radius:24px; overflow:hidden; }
.phase-card.featured { border-color:#7a171a; background:linear-gradient(145deg,#2b1718,#1b1b1b 55%); }
.phase-number { position:absolute; right:24px; top:18px; font-size:5rem; font-weight:900; color:rgba(255,255,255,.05); }
.phase-card h3 { font-size:2rem; margin:0; }
.phase-title { color:#ff555b; font-weight:800; margin-top:2px; }
.phase-card > p:not(.phase-title), .phase-card li { color:#c7c7c7; }
.phase-card ul { padding-left:20px; margin-top:24px; }
.phase-card li { margin:9px 0; }
.section-heading { max-width:780px; margin-bottom:50px; }
.experience-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.experience-card { background:white; border:1px solid var(--line); border-radius:20px; padding:26px; min-height:280px; }
.experience-card > span { color:var(--red); font-weight:900; }
.experience-card h3 { font-size:1.25rem; margin:40px 0 12px; }
.experience-card p { color:#666; font-size:.94rem; }
.impact-banner { max-width:var(--max); margin:0 auto 30px; min-height:520px; position:relative; border-radius:28px; overflow:hidden; color:white; display:flex; align-items:flex-end; }
.impact-banner img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.impact-banner::after { content:""; position:absolute; inset:0; background:linear-gradient(0deg,rgba(0,0,0,.86),rgba(0,0,0,.05) 68%); }
.impact-copy { position:relative; z-index:2; max-width:760px; padding:48px; }
.impact-copy .section-kicker { color:#ff4b51; }
.impact-copy h2 { margin-bottom:12px; }
.impact-copy p { color:rgba(255,255,255,.84); font-size:1.08rem; }
.contact-section { display:grid; grid-template-columns:.9fr 1.1fr; gap:70px; align-items:start; }
.contact-points { margin-top:32px; display:grid; gap:18px; }
.contact-points div { display:flex; flex-direction:column; padding-left:16px; border-left:3px solid var(--red); }
.contact-points span { color:#666; font-size:.9rem; }
.inquiry-form { background:white; border:1px solid var(--line); border-radius:24px; padding:30px; box-shadow:0 18px 60px rgba(0,0,0,.08); }
.field-row { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
label { display:flex; flex-direction:column; gap:8px; font-weight:800; font-size:.88rem; margin-bottom:16px; }
label span { font-weight:500; color:#777; }
input, select, textarea { width:100%; padding:14px 15px; border:1px solid #d5d5cf; border-radius:12px; background:#fafaf8; font:inherit; color:#111; outline:none; }
input:focus, select:focus, textarea:focus { border-color:var(--red); box-shadow:0 0 0 3px rgba(215,25,32,.1); }
textarea { resize:vertical; }
.submit-btn { width:100%; border:0; }
.form-status { min-height:24px; margin:12px 0 0; font-size:.9rem; color:#2d6b32; }
.site-footer { background:#0d0d0d; color:white; padding:48px max(22px, calc((100vw - var(--max))/2)); display:grid; grid-template-columns:1fr auto; gap:30px; align-items:center; }
.footer-brand img { width:150px; background:white; border-radius:10px; margin-bottom:12px; }
.footer-brand p, .copyright { color:#9d9d9d; }
.footer-links { display:flex; gap:18px; flex-wrap:wrap; }
.footer-links a { text-decoration:none; color:#d1d1d1; }
.copyright { grid-column:1/-1; border-top:1px solid #2a2a2a; padding-top:24px; margin:0; font-size:.85rem; }
@media (max-width: 900px) {
  .main-nav { display:none; position:absolute; top:86px; left:0; right:0; background:white; padding:24px; flex-direction:column; align-items:stretch; box-shadow:0 20px 50px rgba(0,0,0,.12); }
  .main-nav.open { display:flex; }
  .menu-toggle { display:block; }
  .split, .contact-section { grid-template-columns:1fr; gap:42px; }
  .experience-grid { grid-template-columns:1fr 1fr; }
  .trust-strip { grid-template-columns:1fr 1fr; }
  .phase-grid { grid-template-columns:1fr; }
  .impact-banner { margin-left:18px; margin-right:18px; }
}
@media (max-width: 600px) {
  .site-header { height:76px; }
  .brand img { width:116px; height:56px; }
  .hero { padding-top:110px; min-height:92svh; background-position:62% center; }
  .hero h1 { font-size:clamp(3rem,15vw,4.4rem); }
  .hero-actions { flex-direction:column; align-items:stretch; }
  .btn { width:100%; text-align:center; }
  .trust-strip { grid-template-columns:1fr 1fr; gap:22px 12px; }
  .section { padding:78px 20px; }
  .experience-grid { grid-template-columns:1fr; }
  .field-row { grid-template-columns:1fr; gap:0; }
  .impact-banner { min-height:480px; }
  .impact-copy { padding:28px; }
  .site-footer { grid-template-columns:1fr; }
  .footer-links { margin-top:8px; }
}
@media (max-width: 600px) {
  .brand img {
    width: 280px;
    max-width: 78vw;
    height: auto;
  }

  .site-header {
    height: 110px;
    padding: 14px 18px;
  }

  .hero h1 {
    font-size: 8vw;
    line-height: 0.95;
    letter-spacing: -0.04em;
    max-width: 100%;
    overflow-wrap: normal;
  }

  .hero-content {
    max-width: 100%;
    padding: 0 22px;
  }

  .hero p {
    font-size: 1.15rem;
    max-width: 100%;
  }

  .hero-actions {
    flex-direction: column;
    width: 100%;
  }

  .hero-actions .btn {
    width: 100%;
  }
}
