:root {
  --ink: #111214;
  --paper: #f4f1ea;
  --white: #fff;
  --muted: #aaa49a;
  --line: rgba(255,255,255,.15);
  --line-dark: rgba(17,18,20,.16);
  --accent: #d7ff3f;
  --max: 1240px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin:0; background:var(--ink); color:var(--white); font-family:Inter,system-ui,sans-serif; -webkit-font-smoothing:antialiased; }
a { color:inherit; text-decoration:none; }
img { display:block; width:100%; }
.site-header { height:78px; display:flex; align-items:center; justify-content:space-between; padding:0 4vw; position:absolute; z-index:20; width:100%; border-bottom:1px solid var(--line); }
.brand { font-family:Manrope,sans-serif; font-size:16px; font-weight:800; letter-spacing:.08em; }
.brand span { font-weight:500; color:var(--accent); }
.nav { display:flex; align-items:center; gap:26px; font-size:13px; font-weight:600; }
.nav a:not(.nav-cta) { opacity:.82; }
.nav a:hover { opacity:1; }
.nav-cta { border:1px solid rgba(255,255,255,.55); padding:11px 16px; }
.hero { min-height:94vh; position:relative; display:flex; align-items:flex-end; overflow:hidden; }
.hero-media { position:absolute; inset:0; background:url('mwm-hero-desktop-2026.jpg') center center/cover no-repeat; transform:scale(1.015); }
.hero-overlay { position:absolute; inset:0; background:linear-gradient(90deg, rgba(7,8,9,.88) 0%, rgba(7,8,9,.63) 45%, rgba(7,8,9,.18) 75%),linear-gradient(0deg, rgba(7,8,9,.7) 0%, transparent 45%); }
.hero-content { position:relative; z-index:2; width:min(var(--max),92vw); margin:0 auto; padding:160px 0 74px; }
.eyebrow { font-size:11px; font-weight:700; letter-spacing:.19em; color:var(--accent); margin:0 0 22px; }
.eyebrow.dark { color:#4f5d07; }
h1,h2,h3 { font-family:Manrope,sans-serif; margin:0; letter-spacing:-.045em; }
h1 { font-size:clamp(58px,8.2vw,126px); line-height:.84; max-width:1040px; }
h1 span { color:transparent; -webkit-text-stroke:1px rgba(255,255,255,.7); }
.hero-copy { max-width:700px; font-size:clamp(18px,2vw,24px); line-height:1.5; margin:30px 0; color:rgba(255,255,255,.86); }
.hero-actions { display:flex; gap:12px; flex-wrap:wrap; }
.button { display:inline-flex; min-height:50px; align-items:center; justify-content:center; padding:0 22px; font-weight:700; font-size:14px; border:1px solid transparent; transition:.2s ease; }
.button.primary { background:var(--accent); color:var(--ink); }
.button.primary:hover { transform:translateY(-2px); }
.button.secondary { border-color:rgba(255,255,255,.55); background:rgba(0,0,0,.15); }
.hero-proof { display:flex; gap:24px; flex-wrap:wrap; margin-top:44px; padding-top:20px; border-top:1px solid var(--line); font-size:12px; letter-spacing:.04em; color:rgba(255,255,255,.68); }
.section-pad { padding:110px max(4vw,24px); }
.statement { background:var(--paper); color:var(--ink); }
.statement-grid { max-width:var(--max); margin:0 auto 72px; display:grid; grid-template-columns:.9fr 1.1fr; gap:80px; }
h2 { font-size:clamp(42px,6vw,78px); line-height:.96; }
.statement-copy { font-size:20px; line-height:1.65; color:#3b3b3a; max-width:690px; }
.feature-grid { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:repeat(3,1fr); border-top:1px solid var(--line-dark); border-left:1px solid var(--line-dark); }
.feature-card { padding:34px; border-right:1px solid var(--line-dark); border-bottom:1px solid var(--line-dark); min-height:230px; }
.feature-card span { font-family:Manrope; font-weight:800; color:#777; font-size:12px; }
.feature-card h3 { font-size:27px; margin:40px 0 12px; }
.feature-card p { color:#585856; line-height:1.55; }
.clients { background:#0d0e10; }
.section-head { max-width:var(--max); margin:0 auto 54px; }
.section-head h2 { max-width:900px; }
.section-head > p:last-child { color:#aaa; max-width:620px; line-height:1.6; }
.client-grid { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); border-left:1px solid var(--line); }
.client-grid span { min-height:108px; display:flex; align-items:center; justify-content:center; text-align:center; padding:20px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); font-family:Manrope; font-weight:700; letter-spacing:-.02em; color:rgba(255,255,255,.82); }
.nationals-callout { max-width:var(--max); margin:48px auto 0; display:grid; grid-template-columns:1fr; gap:34px; align-items:center; border-top:1px solid var(--line); padding-top:40px; }
.nationals-callout .number { font-family:Manrope; font-size:150px; line-height:.8; font-weight:800; color:var(--accent); }
.nationals-callout h3 { font-size:38px; margin-bottom:12px; }
.nationals-callout p:last-child { max-width:760px; color:#aaa; line-height:1.6; }
.videos { background:#17191c; }
.video-grid { max-width:var(--max); margin:0 auto; display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.video-card.featured { grid-column:1/-1; }
.video-frame { aspect-ratio:16/9; background:#000; overflow:hidden; }
.video-frame iframe { width:100%; height:100%; border:0; display:block; }
.video-meta { padding:19px 2px 10px; }
.video-meta span { color:var(--accent); font-size:10px; letter-spacing:.17em; font-weight:800; }
.video-meta h3 { font-size:24px; margin:8px 0 5px; }
.video-meta p { color:#8f9197; margin:0; font-size:13px; }
.center-link { max-width:var(--max); margin:34px auto 0; text-align:right; }
.center-link a,.text-link { font-weight:700; border-bottom:1px solid currentColor; padding-bottom:4px; }
.destination { background:var(--paper); color:var(--ink); display:grid; grid-template-columns:.8fr 1.2fr; gap:70px; align-items:center; }
.destination-copy { max-width:520px; margin-left:auto; }
.destination-copy > p:not(.eyebrow,.caption) { color:#4f4f4c; font-size:18px; line-height:1.65; }
.caption { margin-top:28px; font-size:12px; letter-spacing:.04em; color:#74736d; border-top:1px solid var(--line-dark); padding-top:18px; }
.destination-gallery { display:grid; grid-template-columns:1.1fr .9fr; gap:12px; align-items:end; }
.destination-gallery img:first-child { height:520px; object-fit:cover; }
.destination-gallery img:last-child { height:380px; object-fit:cover; }
.about { background:#f8f7f2; color:var(--ink); display:grid; grid-template-columns:1.05fr .95fr; gap:72px; align-items:center; }
.about-photo img { height:680px; object-fit:cover; object-position:center; }
.about-copy { max-width:570px; }
.about-copy > p:not(.eyebrow) { font-size:17px; line-height:1.7; color:#4c4c49; }
.about-copy .text-link { display:inline-block; margin-top:18px; }
.final-cta { text-align:center; background:#0a0b0c; }
.final-cta h2 { max-width:960px; margin:0 auto 22px; }
.final-cta > p:not(.eyebrow) { color:#aaa; font-size:18px; margin-bottom:30px; }
footer { border-top:1px solid var(--line); padding:34px 4vw 44px; display:grid; grid-template-columns:1fr auto; gap:20px; align-items:center; font-size:12px; color:#888; }
.footer-links { display:flex; gap:20px; color:#ddd; }
footer > p { grid-column:1/-1; margin:0; }
@media (max-width: 900px) {
  .hero-media { background-image:url('mwm-hero-mobile-2026.jpg'); background-position:center top; }
  .nav a:not(.nav-cta){ display:none; }
  .site-header { padding:0 20px; }
  .hero-content { width:calc(100% - 40px); padding-bottom:50px; }
  .hero { min-height:90vh; }
  .hero-overlay { background:linear-gradient(0deg,rgba(7,8,9,.86) 0%,rgba(7,8,9,.48) 70%,rgba(7,8,9,.35)); }
  h1 { font-size:clamp(54px,15vw,82px); }
  .statement-grid,.destination,.about { grid-template-columns:1fr; gap:38px; }
  .feature-grid { grid-template-columns:1fr; }
  .client-grid { grid-template-columns:repeat(2,1fr); }
  .nationals-callout { grid-template-columns:1fr; }
  .nationals-callout .number { font-size:90px; }
  .video-grid { grid-template-columns:1fr; }
  .video-card.featured { grid-column:auto; }
  .destination-copy { margin-left:0; }
  .destination-gallery img:first-child { height:420px; }
  .destination-gallery img:last-child { height:300px; }
  .about-photo img { height:520px; }
}
@media (max-width: 560px) {
  .section-pad { padding:78px 20px; }
  .nav-cta { padding:9px 11px; font-size:11px; }
  .brand { font-size:13px; }
  .hero-proof { gap:12px 18px; }
  .client-grid { grid-template-columns:1fr 1fr; }
  .client-grid span { min-height:88px; font-size:12px; padding:12px; }
  .nationals-callout { grid-template-columns:1fr; }
  .destination-gallery { grid-template-columns:1fr; }
  .destination-gallery img:first-child,.destination-gallery img:last-child { height:310px; }
  footer { grid-template-columns:1fr; }
}


/* Matt Waller Music brand logo */
.site-brand-logo{display:block;width:180px;max-width:32vw;height:auto;object-fit:contain;filter:contrast(1.08) saturate(1.06);}
.brand-logo-link{display:flex;align-items:center;text-decoration:none;}
.footer-logo-wrap{display:flex;justify-content:center;align-items:center;margin:0 0 1.5rem;grid-column:1/-1;}
.footer-brand-logo{display:block;width:290px;max-width:72vw;height:auto;object-fit:contain;filter:contrast(1.08) saturate(1.06);}
@media (max-width:700px){.site-brand-logo{width:145px;max-width:44vw}.footer-brand-logo{width:230px;max-width:72vw}}


/* Branding + first-video visual fix */
.site-brand-logo{width:105px !important;max-width:26vw !important;height:auto !important;display:block !important;}
.footer-logo-wrap{display:flex !important;justify-content:center !important;align-items:center !important;width:100% !important;grid-column:1/-1 !important;margin:0 auto 1.75rem !important;}
.footer-brand-logo{width:320px !important;max-width:70vw !important;height:auto !important;display:block !important;margin:0 auto !important;}
@media (max-width:700px){
  .site-brand-logo{width:90px !important;max-width:36vw !important;}
  .footer-brand-logo{width:260px !important;max-width:78vw !important;}
}

/* refined logo sizing */
.site-brand-logo{width:145px !important;max-width:28vw;height:auto;object-fit:contain;}
.footer-brand-logo{width:240px !important;max-width:55vw;height:auto;object-fit:contain;}
@media (max-width: 700px){.site-brand-logo{width:112px !important;max-width:38vw}.footer-brand-logo{width:190px !important;max-width:70vw}}
