/* D & G Colorado Party Bus — mountain split hero, two-column services with big emoji, spanish band */
:root {
  --teal: #2bb8a4;
  --teal-dark: #1d9484;
  --pine: #0d1a17;
  --pine-soft: #132420;
  --snow: #eaf5f0;
  --muted: #9bbfb2;
  --line: #234035;
}

* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif; background: var(--pine); color: var(--snow); line-height: 1.65; }
a { color: var(--teal); text-decoration: none; }
a:hover { color: var(--teal-dark); }
.wrap { max-width: 1080px; margin: 0 auto; padding: 0 24px; }

/* Header: logo left, phone right, simple underline nav */
.hdr { display: flex; align-items: center; justify-content: space-between; padding: 20px 0; }
.hdr .logo { font-weight: 900; font-size: 1.25rem; letter-spacing: .5px; }
.hdr .logo span { color: var(--teal); }
.hdr .phone a { font-weight: 800; font-size: 1.1rem; }
.nav { display: flex; gap: 26px; border-bottom: 2px solid var(--teal); padding-bottom: 12px; }
.nav a { color: var(--snow); font-weight: 700; text-transform: uppercase; font-size: .85rem; letter-spacing: 1px; }
.nav a:hover { color: var(--teal); }

/* Split hero: text left, big emoji panel right */
.hero { display: grid; grid-template-columns: 1.2fr 1fr; gap: 40px; padding: 64px 0; align-items: center; }
.hero h1 { font-size: clamp(2.2rem, 5.5vw, 3.4rem); font-weight: 900; line-height: 1.08; }
.hero h1 span { color: var(--teal); }
.hero .lead { color: var(--muted); margin-top: 16px; font-size: 1.1rem; }
.hero .cta { margin-top: 26px; display: flex; gap: 14px; }
.btn { display: inline-block; padding: 14px 30px; border-radius: 8px; font-weight: 800; font-size: .95rem; }
.btn.solid { background: var(--teal); color: var(--pine); }
.btn.solid:hover { background: var(--teal-dark); color: var(--pine); }
.btn.ghost { border: 2px solid var(--teal); color: var(--teal); }
.btn.ghost:hover { background: var(--teal); color: var(--pine); }
.hero .panel { background: linear-gradient(135deg, #17352c, #0d1a17); border: 1px solid var(--line); border-radius: 18px; height: 280px; display: flex; align-items: center; justify-content: center; font-size: 4rem; }

/* Two-column service list with big emoji */
.services { display: grid; grid-template-columns: 1fr 1fr; gap: 22px; padding: 50px 0; }
.svc { display: flex; align-items: center; gap: 16px; background: var(--pine-soft); border: 1px solid var(--line); border-radius: 12px; padding: 18px 20px; }
.svc .ic { font-size: 2rem; }
.svc h3 { font-size: 1.05rem; color: var(--teal); }

/* Spanish band */
.es { background: var(--teal); color: var(--pine); padding: 44px 0; text-align: center; }
.es h2 { font-size: 2rem; font-weight: 900; }
.es p { margin-top: 10px; font-size: 1.05rem; font-weight: 600; }

/* Contact split */
.contact { display: grid; grid-template-columns: 1fr 1fr; gap: 36px; padding: 56px 0; }
.contact .info h2 { font-size: 1.8rem; margin-bottom: 16px; }
.contact .info p { color: var(--muted); margin-bottom: 8px; }
.map-frame iframe { width: 100%; height: 300px; border: 0; border-radius: 12px; }

.footer { border-top: 2px solid var(--teal); padding: 28px 0; text-align: center; color: var(--muted); font-size: .9rem; }
