*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#172026;background:#fff;line-height:1.6}img{max-width:100%;display:block}a{color:inherit}.container{width:min(1120px,92vw);margin-inline:auto}.narrow{width:min(780px,92vw);text-align:center}.site-header{position:fixed;top:0;left:0;right:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:14px 4vw;background:rgba(255,255,255,.92);backdrop-filter:blur(14px);box-shadow:0 8px 30px rgba(0,0,0,.08)}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;font-weight:800;letter-spacing:.02em}.brand img{width:54px;height:54px;object-fit:cover;border-radius:50%;background:#111}.main-nav{display:flex;align-items:center;gap:24px;font-size:.95rem;font-weight:700}.main-nav a{text-decoration:none}.nav-cta{background:#008a9b;color:#fff;padding:10px 18px;border-radius:999px}.menu-toggle{display:none;background:none;border:0;font-size:2rem}.hero{min-height:100vh;position:relative;display:grid;place-items:center;text-align:left;color:#fff;overflow:hidden}.hero-bg{position:absolute;inset:0;background:url("assets/hero-solo.jpg") center/cover no-repeat;transform:scale(1.02)}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,14,20,.76),rgba(5,14,20,.38),rgba(5,14,20,.12))}.hero-content{position:relative;width:min(1120px,92vw);padding-top:80px}.eyebrow,.section-kicker{font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:#008a9b;font-size:.78rem}.hero .eyebrow{color:#7be4f0}.hero h1{font-size:clamp(3rem,7vw,6.8rem);line-height:.95;margin:.1em 0 .25em;max-width:900px;letter-spacing:-.06em}.hero-text{font-size:clamp(1.1rem,2vw,1.45rem);max-width:680px;color:#f2f6f7}.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}.button{display:inline-flex;align-items:center;justify-content:center;padding:14px 24px;border-radius:999px;text-decoration:none;font-weight:900;border:2px solid transparent;cursor:pointer}.primary{background:#008a9b;color:#fff}.secondary{background:#fff;color:#142027}.secondary-dark{background:#142027;color:#fff}.section{padding:96px 0}.intro{background:#f7fafb}.intro h2,.section-heading h2,.split h2,.about h2,.education h2,.cta h2,.contact h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.05;margin:.15em 0 .35em;letter-spacing:-.04em}.lead{font-size:1.25rem;color:#44515a}.section-heading{text-align:center;max-width:760px;margin:0 auto 48px}.section-heading p{color:#52616b}.cards{display:grid;gap:24px}.three{grid-template-columns:repeat(3,1fr)}.image-card{background:#fff;border-radius:28px;overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.12);border:1px solid #edf1f3}.image-card img{width:100%;height:310px;object-fit:cover}.image-card div{padding:26px}.image-card h3{font-size:1.45rem;margin:0 0 8px}.image-card p{color:#56636b;margin:0}.dark{background:#142027;color:#fff}.split-grid{display:grid;grid-template-columns:1fr 1fr;gap:54px;align-items:center}.split-grid img{width:100%;height:560px;object-fit:cover;border-radius:32px;box-shadow:0 24px 80px rgba(0,0,0,.22)}.dark .section-kicker{color:#7be4f0}.dark p{color:#d8e2e6}.check-list{list-style:none;padding:0;margin:26px 0 0;display:grid;gap:10px}.check-list li:before{content:"✓";color:#7be4f0;font-weight:900;margin-right:10px}.timeline{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:34px}.timeline div{background:#f7fafb;border:1px solid #e8eef0;padding:24px;border-radius:24px}.timeline span{color:#008a9b;font-weight:900}.timeline strong{display:block;font-size:1.1rem;margin-top:8px}.timeline p{margin:.4rem 0 0;color:#5c6870}.feature-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:18px}.feature-grid img{height:340px;width:100%;object-fit:cover;border-radius:26px}.feature-grid img:first-child{height:520px;grid-row:span 2}.reverse{grid-template-columns:1fr 1fr}.dj{background:#f7fafb}.about{background:#fff}.education{background:#142027;color:#fff}.education-panel{display:grid;grid-template-columns:1.4fr .8fr;gap:36px;background:linear-gradient(135deg,#17313a,#0f1b21);border:1px solid rgba(255,255,255,.12);padding:48px;border-radius:34px}.education p{color:#dce9ed}.education .section-kicker{color:#7be4f0}.pill-list{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.pill-list span{padding:10px 16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.16);border-radius:999px;font-weight:800}.education-note{background:rgba(255,255,255,.08);padding:28px;border-radius:26px}.masonry{columns:4 220px;column-gap:16px}.masonry img{width:100%;margin:0 0 16px;border-radius:20px;break-inside:avoid;box-shadow:0 10px 32px rgba(0,0,0,.12)}.cta{background:#f7fafb;text-align:center}.contact-grid{display:grid;grid-template-columns:.85fr 1.15fr;gap:44px}.contact-details{display:grid;gap:10px;margin-top:24px;font-weight:900}.contact-details a{color:#008a9b}.contact-form{display:grid;gap:16px;background:#fff;border:1px solid #e8eef0;border-radius:28px;padding:30px;box-shadow:0 20px 70px rgba(0,0,0,.1)}label{font-weight:800}input,select,textarea{width:100%;padding:13px 14px;border:1px solid #d8e1e5;border-radius:14px;font:inherit;margin-top:6px;background:#fff}.hidden{display:none}.site-footer{background:#0e171c;color:#fff;padding:34px 0}.footer-grid{display:flex;justify-content:space-between;gap:24px}.footer-grid p{color:#b7c3c8;margin:.4rem 0 0}.footer-grid a{color:#d8faff;text-decoration:none}@media(max-width:850px){.menu-toggle{display:block}.main-nav{position:absolute;top:82px;left:4vw;right:4vw;display:none;flex-direction:column;align-items:flex-start;background:#fff;padding:20px;border-radius:20px;box-shadow:0 18px 50px rgba(0,0,0,.16)}.nav-open .main-nav{display:flex}.brand span{display:none}.hero{min-height:88vh}.hero-overlay{background:rgba(5,14,20,.58)}.section{padding:70px 0}.three,.split-grid,.education-panel,.contact-grid,.timeline{grid-template-columns:1fr}.split-grid img{height:420px}.feature-grid{grid-template-columns:1fr}.feature-grid img,.feature-grid img:first-child{height:280px;grid-row:auto}.footer-grid{flex-direction:column}.image-card img{height:260px}}
/* V3 hero image update */

/* V4 hero crop adjustment: keeps Ross's face visible */
.hero-bg{
  background-position:68% 20% !important;
}
@media(max-width:850px){
  .hero-bg{
    background-position:62% 16% !important;
  }
}

/* V5 videos, reviews and WhatsApp */
.video-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:26px;
}
.video-card{
  background:#fff;
  border:1px solid #e8eef0;
  border-radius:28px;
  overflow:hidden;
  box-shadow:0 18px 60px rgba(0,0,0,.10);
}
.video-card h3{
  margin:0;
  padding:20px 22px 24px;
  font-size:1.2rem;
}
.video-wrap{
  position:relative;
  aspect-ratio:16/9;
  background:#111;
}
.video-wrap iframe{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
}
.reviews{
  background:#142027;
  color:#fff;
}
.reviews .section-kicker{
  color:#7be4f0;
}
.reviews .section-heading p{
  color:#d8e2e6;
}
.review-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.review-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:26px;
  padding:26px;
}
.review-card p{
  color:#e9f1f4;
  margin:10px 0 18px;
}
.review-card strong{
  display:block;
}
.review-card span{
  display:block;
  color:#aebdc4;
  margin-top:3px;
  font-size:.92rem;
}
.stars{
  color:#f5c55b;
  letter-spacing:.08em;
  font-weight:900;
}
.whatsapp-float{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:40;
  background:#25D366;
  color:#fff;
  text-decoration:none;
  font-weight:900;
  padding:14px 18px;
  border-radius:999px;
  box-shadow:0 14px 35px rgba(0,0,0,.24);
}
@media(max-width:850px){
  .video-grid,.review-grid{
    grid-template-columns:1fr;
  }
  .whatsapp-float{
    right:12px;
    bottom:12px;
    padding:12px 15px;
  }
}

/* V6 live acts refinements */
.video-copy{
  padding:20px 22px 24px;
}
.video-copy h3{
  margin:0 0 4px;
  font-size:1.35rem;
}
.video-copy p{
  margin:0;
  color:#56636b;
  font-weight:800;
}
.video-card h3{
  padding:0;
}
.instagram-card{
  min-height:100%;
  aspect-ratio:16/9;
  background:linear-gradient(135deg,#142027,#008a9b);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  text-decoration:none;
  padding:32px;
}
.instagram-card .instagram-icon{
  width:64px;
  height:64px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.28);
  margin-bottom:18px;
  font-weight:900;
}
.instagram-card strong{
  display:block;
  font-size:1.55rem;
}
.instagram-card em{
  font-style:normal;
  color:#d8faff;
  margin-top:4px;
  font-weight:800;
}
.instagram-card small{
  margin-top:18px;
  color:#fff;
  opacity:.9;
  font-weight:900;
}

/* V7 Education Services section */
.education{
  background:#f7fafb;
  color:#172026;
}
.education .section-kicker{
  color:#008a9b;
}
.school-hero{
  position:relative;
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:0;
  overflow:hidden;
  border-radius:34px;
  background:#142027;
  box-shadow:0 24px 80px rgba(0,0,0,.16);
}
.school-hero img{
  width:100%;
  height:520px;
  object-fit:cover;
}
.school-hero-copy{
  padding:46px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  color:#fff;
}
.school-hero-copy .section-kicker{
  color:#7be4f0;
}
.school-hero-copy h2{
  font-size:clamp(2rem,4vw,3.4rem);
  line-height:1.05;
  margin:.15em 0 .35em;
  letter-spacing:-.04em;
}
.school-hero-copy p{
  color:#e8f2f5;
  font-size:1.12rem;
}
.school-benefits{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:18px;
  margin:32px 0;
}
.school-benefits div{
  background:#fff;
  border:1px solid #e8eef0;
  border-radius:22px;
  padding:22px;
  box-shadow:0 10px 35px rgba(0,0,0,.07);
}
.school-benefits strong{
  display:block;
  color:#142027;
  margin-bottom:8px;
}
.school-benefits p{
  margin:0;
  color:#5b6870;
}
.school-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
}
.school-card{
  background:#fff;
  border:1px solid #e8eef0;
  border-radius:26px;
  padding:30px;
  box-shadow:0 14px 50px rgba(0,0,0,.08);
}
.school-card h3{
  margin:0 0 18px;
  font-size:1.45rem;
}
.school-card ul{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}
.school-card li:before{
  content:"✓";
  color:#008a9b;
  font-weight:900;
  margin-right:10px;
}
.school-message{
  background:#142027;
  color:#fff;
}
.school-message p{
  color:#e8f2f5;
}
.school-message span{
  display:block;
  color:#9fb3bd;
  margin-top:4px;
}
@media(max-width:850px){
  .school-hero,.school-benefits,.school-grid{
    grid-template-columns:1fr;
  }
  .school-hero img{
    height:310px;
  }
  .school-hero-copy{
    padding:30px;
  }
}


/* V11 school landing pages */
.school-landing-body{background:#071014;color:#fff}.school-page-header{position:static;background:#fff}.school-landing-hero{position:relative;overflow:hidden;background:radial-gradient(circle at top right,rgba(0,138,155,.35),transparent 35%),linear-gradient(135deg,#071014,#111d24);padding:92px 0 70px}.school-landing-hero:after{content:"";position:absolute;inset:auto -10% -20% -10%;height:220px;background:linear-gradient(90deg,transparent,rgba(0,138,155,.18),transparent);filter:blur(40px)}.school-landing-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr .9fr;gap:42px;align-items:center}.school-landing-kicker{font-weight:900;letter-spacing:.17em;text-transform:uppercase;color:#7be4f0;font-size:.78rem}.school-landing-hero h1{font-size:clamp(2.4rem,5vw,5.2rem);line-height:.95;margin:.18em 0;letter-spacing:-.055em}.school-landing-hero h1 span{color:#7be4f0}.school-landing-hero p{font-size:1.18rem;color:#dce8ec;max-width:660px}.free-box{background:#fff;color:#071014;border:2px solid #7be4f0;border-radius:30px;padding:30px;box-shadow:0 22px 75px rgba(0,0,0,.35);margin:28px 0}.free-box strong{display:block;font-size:clamp(2.4rem,5vw,4.6rem);line-height:.9;color:#008a9b;letter-spacing:-.05em}.free-box span{display:block;font-weight:900;font-size:1.45rem;margin-top:6px}.school-hero-image{border-radius:34px;overflow:hidden;box-shadow:0 30px 90px rgba(0,0,0,.38);border:1px solid rgba(255,255,255,.14)}.school-hero-image img{height:560px;width:100%;object-fit:cover}.school-landing-main{background:#fff;color:#172026}.school-section{padding:78px 0}.school-intro{display:grid;grid-template-columns:1fr 1fr;gap:34px;align-items:start}.school-panel{background:#f6fafb;border:1px solid #e7eef1;border-radius:28px;padding:32px}.school-panel.dark-panel{background:#142027;color:#fff;border:0}.school-panel.dark-panel p{color:#dbe8ec}.school-section h2{font-size:clamp(2rem,4vw,3.4rem);line-height:1.05;letter-spacing:-.04em;margin:.1em 0 .45em}.instrument-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin-top:24px}.instrument{background:#142027;color:#fff;border-radius:22px;padding:24px;text-align:center;font-weight:900;font-size:1.1rem}.instrument span{display:block;font-size:2rem;margin-bottom:6px}.benefit-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:24px}.benefit{border:1px solid #e7eef1;border-radius:22px;padding:24px;background:#fff;box-shadow:0 12px 34px rgba(0,0,0,.06)}.benefit strong{color:#008a9b;display:block;margin-bottom:8px}.cta-strip{background:#071014;color:#fff;border-radius:34px;padding:40px;display:grid;grid-template-columns:1fr .95fr;gap:34px;align-items:start}.cta-strip p{color:#dce8ec}.steps{display:grid;gap:14px}.step{display:flex;gap:14px;align-items:flex-start}.step b{background:#008a9b;color:#fff;min-width:34px;height:34px;border-radius:50%;display:grid;place-items:center}.reserve-form{background:#fff;color:#172026;border-radius:28px;padding:30px;display:grid;gap:16px}.reserve-form h3{font-size:1.8rem;margin:0}.form-grid-two{display:grid;grid-template-columns:1fr 1fr;gap:14px}.faq-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.faq-item{background:#f6fafb;border:1px solid #e7eef1;border-radius:22px;padding:24px}.faq-item h3{margin:0 0 8px}.school-footer-note{text-align:center;color:#617078}.school-footer-note a{color:#008a9b;font-weight:900}.school-page-footer{background:#071014;color:#fff;text-align:center;padding:30px}.school-page-footer a{color:#7be4f0;text-decoration:none;font-weight:900}@media(max-width:850px){.school-landing-grid,.school-intro,.cta-strip,.form-grid-two{grid-template-columns:1fr}.school-hero-image img{height:340px}.instrument-grid,.benefit-grid,.faq-grid{grid-template-columns:1fr}.school-landing-hero{padding:56px 0}.free-box{padding:24px}.school-section{padding:58px 0}}


/* Sep 2026 gallery and image polish */
.image-card,
.masonry img{
  transition:transform .22s ease, box-shadow .22s ease;
}
.image-card:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 68px rgba(0,0,0,.14);
}
.masonry img:hover{
  transform:translateY(-3px);
  box-shadow:0 16px 42px rgba(0,0,0,.17);
}
@media (prefers-reduced-motion: reduce){
  .image-card,.masonry img{transition:none}
  .image-card:hover,.masonry img:hover{transform:none}
}



/* Sep 2026 final image layout refinements */
.hero-bg{
  background-image:url("assets/hero-banner-ross.jpg") !important;
  background-position:center top !important;
  background-size:cover !important;
}
@media(max-width:850px){
  .hero-bg{
    background-position:68% top !important;
  }
}

.solo-acoustic-card{
  object-position:34% center;
}
.about-drums-photo{
  object-position:center 44%;
}
.education-feature-photo{
  object-position:center 18%;
}
.wedding-feature.groom-photo{
  object-position:center 24%;
}
.wedding-feature.duo-photo{
  object-position:center 32%;
}
.wedding-feature.dj-photo{
  object-position:center 18%;
}
@media(max-width:850px){
  .about-drums-photo{
    object-position:center 46%;
  }
  .education-feature-photo{
    object-position:center 14%;
  }
}


/* Sep 2026 FINAL requested photo positioning */
.hero-bg{
  background-image:url("assets/hero-banner-ross-v2.jpg") !important;
  background-size:cover !important;
  background-position:center center !important;
}
/* Keep the solo acoustic service image framed around Ross. */
.solo-acoustic-card{
  object-position:center 35% !important;
}
/* Meet Ross: preserve face and enough of the drum kit to show versatility. */
.about-drums-photo{
  object-position:center 36% !important;
}
/* Education: keep the same B&W picture but anchor at the top so Ross's head isn't cut off. */
.education-feature-photo{
  object-position:center top !important;
}
/* Three wedding moments: balanced crops. */
.wedding-feature.duo-photo{object-position:center 32% !important;}
.wedding-feature.groom-photo{object-position:center 35% !important;}
.wedding-feature.dj-photo{object-position:center 26% !important;}
@media(max-width:850px){
  .hero-bg{background-position:64% center !important;}
  .education-feature-photo{object-position:center top !important;}
  .about-drums-photo{object-position:center 32% !important;}
}

/* Keep the full duo visible in the tall wedding feature. */
.feature-grid .duo-photo{
  object-fit:contain;
  background:#241b25;
}

/* The banner places Ross on the right; anchor that side as screens narrow. */
.hero-bg{
  background-position:right center !important;
  transform:none;
}

@media(max-width:850px){
  .hero{
    min-height:100svh;
    align-items:end;
    background:#111b21;
  }
  .hero-bg{
    background-size:auto 47vh !important;
    background-position:right 74px !important;
    background-color:#111b21;
  }
  .hero-overlay{
    background:linear-gradient(180deg,rgba(5,14,20,0) 18%,rgba(5,14,20,.08) 34%,#111b21 58%);
  }
  .hero-content{
    align-self:end;
    padding:calc(47vh + 20px) 0 48px;
  }
  .feature-grid img.duo-photo:first-child{
    height:auto;
    aspect-ratio:1174 / 827;
    object-fit:cover;
  }
}

/* Show the full reception scene and more of the drum kit at every screen size. */
.split-grid img.wedding-reception-photo,
.split-grid img.about-drums-photo{height:auto;aspect-ratio:4 / 3;object-fit:cover;object-position:center center !important;}
.image-card img.solo-acoustic-card{object-position:center 28% !important;}

/* Frame the original drum photo around the full visible kit, excluding its black bands. */
.split-grid img.about-drums-photo{
  aspect-ratio:3 / 2;
  height:auto;
  object-fit:cover;
  object-position:center 39% !important;
}
