*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#07090a;color:#f4f4f2;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}.site-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;background:#050607f5;position:fixed;inset:0 0 auto;z-index:50;border-bottom:1px solid #ffffff12}.brand{display:flex;flex-direction:column;width:max-content;line-height:.8}.brand strong{font-size:34px;font-weight:900;font-style:italic;letter-spacing:-2px;color:#fff;text-shadow:-2px 0 0 #159ee7,2px 0 0 #159ee7,0 -2px 0 #159ee7,0 2px 0 #159ee7,0 0 8px #159ee7}.brand small{font-size:8px;letter-spacing:5px;font-weight:700;margin:9px 0 0 3px}.site-header nav{display:flex;gap:27px;align-items:center;font-size:11px;font-weight:700;text-transform:uppercase}.nav-cta{border:1px solid #159ee7;border-radius:3px;padding:12px 18px;color:#48bfff}#menu{display:none;background:0;border:0;color:#fff;font-size:25px}.hero{height:740px;position:relative;overflow:hidden;display:flex;align-items:center}.hero video{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;background:#050607}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#050607e8 0%,#05060790 42%,#05060720 75%),linear-gradient(0deg,#07090a 0%,transparent 22%)}.hero-copy{position:relative;z-index:2;margin:80px 0 0 5.5vw;max-width:850px}.hero-brand strong{font-size:clamp(72px,9vw,125px);text-shadow:-3px 0 0 #159ee7,3px 0 0 #159ee7,0 -3px 0 #159ee7,0 3px 0 #159ee7,0 0 12px #159ee7}.hero-brand small{font-size:16px;letter-spacing:12px}.hero h1{font-size:clamp(24px,3vw,40px);letter-spacing:7px;margin:38px 0 16px}.hero h1 i{font-style:normal;color:#159ee7}.hero p{font-size:15px;letter-spacing:2px;text-transform:uppercase;color:#ddd;line-height:1.7}.hero-actions{display:flex;gap:18px;margin-top:28px}.button{display:inline-block;padding:15px 24px;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;border-radius:3px}.light{background:#f4f4f2;color:#111}.ghost{border:1px solid #bfc1c2}.services{display:grid;grid-template-columns:repeat(4,1fr);background:#090b0c;border-block:1px solid #26292b}.services article{text-align:center;padding:42px 28px;border-right:1px solid #303234;min-height:220px}.services article:last-child{border-right:0}.service-icon{font-size:35px}.services h2{font-size:18px;margin:15px 0 8px}.services p{font-size:14px;line-height:1.55;color:#b8b8b5;max-width:260px;margin:auto}.about{display:grid;grid-template-columns:1.05fr .95fr;min-height:780px;background:#0b0d0e}.portrait-stage{background:radial-gradient(circle at 50% 42%,#3a3b3d 0%,#252628 48%,#171819 100%);display:flex;align-items:flex-end;justify-content:center;overflow:hidden}.portrait-stage img{width:100%;height:100%;object-fit:contain;object-position:center bottom;display:block}.about-copy{padding:90px 9vw 90px 7vw;align-self:center}.eyebrow,.section-title{font-size:12px;letter-spacing:5px;color:#159ee7;font-weight:800}.about-copy h2{font-size:clamp(64px,7vw,104px);letter-spacing:-5px;line-height:.9;margin:20px 0 8px}.about-copy h3{font-size:20px;letter-spacing:9px;margin:0 0 35px}.about-copy p{color:#c1c1be;line-height:1.75;font-size:17px;max-width:600px}.about-copy .button{margin-top:20px}.highlights{padding:48px 2.5vw 62px;background:#050708}.section-title{margin-bottom:24px}.section-title span:after{content:"";display:inline-block;width:55px;height:2px;background:#159ee7;vertical-align:middle;margin-left:18px}.video-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.video-grid figure{margin:0;position:relative;background:#111;border:1px solid #25282a}.video-grid video{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}.video-grid figcaption{position:absolute;left:16px;bottom:15px;background:#050607d9;padding:9px 12px;font-size:12px;font-weight:800;letter-spacing:.5px}.event-types{display:grid;grid-template-columns:1.1fr .9fr;background:#0b0d0e;min-height:690px}.event-copy{padding:60px 7vw}.event-row{display:grid;grid-template-columns:210px 1fr;gap:20px;padding:23px 0;border-bottom:1px solid #3b3d3e}.event-row b{font-size:16px}.event-row span{color:#aaa;line-height:1.45}.summer-photo{min-height:690px;background:#1c1d1f;display:flex;align-items:stretch}.summer-photo img{width:100%;height:100%;object-fit:contain;object-position:center;background:#1c1d1f}.contact{display:grid;grid-template-columns:.8fr 1.2fr;gap:70px;padding:80px 6vw;background:linear-gradient(100deg,#060809,#101418)}.contact-copy h2{font-size:clamp(40px,5vw,72px);letter-spacing:-3px;margin:18px 0}.contact-copy p{color:#b7b8b7;font-size:18px;line-height:1.6;max-width:460px}.contact-note{margin-top:45px;color:#d8d8d5;line-height:2}.contact form{background:#111416;border:1px solid #35393c;border-radius:7px;padding:28px;display:grid;grid-template-columns:1fr 1fr;gap:17px}.contact label{font-size:12px;font-weight:700}.contact input,.contact select,.contact textarea{width:100%;margin-top:7px;background:#26292b;color:#f3f3f0;border:1px solid #393d40;border-radius:4px;padding:13px;font:inherit}.contact textarea{resize:vertical}.contact .full{grid-column:1/-1}.contact button{border:0;border-radius:4px;background:#159ee7;color:#061018;padding:15px;font-weight:900;cursor:pointer}footer{padding:40px 5vw;background:#030405;display:flex;align-items:center;gap:45px;border-top:1px solid #202224;color:#a8a8a5}footer .brand{margin-right:auto}footer nav{display:flex;gap:22px;font-size:11px;text-transform:uppercase}footer p{font-size:12px}@media(max-width:850px){.site-header nav{display:none;position:absolute;top:82px;left:0;right:0;background:#060708;padding:25px;flex-direction:column}.site-header nav.open{display:flex}#menu{display:block}.hero{height:760px}.hero-shade{background:linear-gradient(0deg,#07090af5 5%,#07090a70 70%)}.services{grid-template-columns:1fr 1fr}.about,.event-types,.contact{grid-template-columns:1fr}.portrait-stage{height:720px}.video-grid{grid-template-columns:1fr}.event-copy{order:1}.summer-photo{order:2;min-height:0;height:650px}.contact form{grid-template-columns:1fr}.contact .full{grid-column:auto}footer{flex-direction:column;align-items:flex-start}footer .brand{margin:0}}@media(max-width:520px){.services{grid-template-columns:1fr}.services article{border-right:0;border-bottom:1px solid #303234}.hero-brand strong{font-size:70px}.hero-brand small{letter-spacing:7px}.hero h1{letter-spacing:3px}.event-row{grid-template-columns:1fr;gap:6px}.portrait-stage{height:620px}.summer-photo{height:590px}}




/* V11 — final requested photo/video geometry */

/* restrained blue edge */
.brand strong{
  text-shadow:-1px 0 #159ee7,1px 0 #159ee7,0 -1px #159ee7,0 1px #159ee7;
}
.hero-brand strong{
  font-size:clamp(72px,8vw,116px);
  text-shadow:-1px 0 #159ee7,1px 0 #159ee7,0 -1px #159ee7,0 1px #159ee7;
}

/* HERO: portrait promo right-of-center, but NOT hugging the edge */
.hero{
  height:720px;
  min-height:720px;
  position:relative;
  display:block;
  overflow:hidden;
  background:#07090a;
}
.hero-copy{
  position:absolute;
  left:3.2vw;
  top:50%;
  transform:translateY(-44%);
  width:47%;
  max-width:720px;
  margin:0;
  z-index:3;
}
.hero-media{
  position:absolute;
  top:92px;
  left:64%;
  transform:translateX(-50%);
  width:350px;
  height:622px;
  aspect-ratio:9/16;
  overflow:hidden;
  background:#07090a;
}
.hero-media video{
  position:static;
  width:100%;
  height:100%;
  display:block;
  object-fit:contain;
  object-position:center;
  background:#07090a;
}


/* ABOUT — exact reference composition:
   full-body transparent cutout over a simple grey/black wall + floor. */
.about{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:520px;
  height:520px;
  background:#090b0c;
}
.portrait-stage{
  position:relative;
  height:520px;
  padding:0;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  overflow:hidden;
  background:
    linear-gradient(to bottom,
      #292a2b 0%,
      #242526 61%,
      #202122 61.5%,
      #171819 62%,
      #111213 100%);
}
.portrait-stage:before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:62%;
  background:radial-gradient(ellipse at 50% 34%,
    rgba(100,100,100,.22) 0%,
    rgba(65,65,65,.12) 38%,
    rgba(0,0,0,0) 72%);
  pointer-events:none;
}
.portrait-stage:after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:38%;
  background:
    radial-gradient(ellipse at 50% 12%,rgba(255,255,255,.055),transparent 50%),
    linear-gradient(to bottom,rgba(255,255,255,.025),rgba(0,0,0,.30));
  pointer-events:none;
}
.portrait-stage img{
  position:relative;
  z-index:2;
  width:auto;
  height:88%;
  max-height:458px;
  max-width:74%;
  object-fit:contain;
  object-position:center bottom;
  margin:0 0 8px;
}
.about-copy{
  align-self:center;
  padding:46px 8vw 46px 6vw;
}

/* EVENT TYPES — copy the supplied mockup:
   text occupies the left half; the real portrait photo visually FILLS the right half.
   This intentionally uses cover because that is how the reference is framed. */
.event-types{
  display:grid;
  grid-template-columns:1fr 1fr;
  min-height:560px;
  height:560px;
  background:#0b0d0e;
  overflow:hidden;
}
.event-copy{
  height:560px;
  padding:42px 4.1vw;
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.event-row{
  grid-template-columns:210px 1fr;
  padding:20px 0;
}
.summer-photo{
  height:560px;
  min-height:560px;
  margin:0;
  padding:0;
  overflow:hidden;
  background:#0b0d0e;
}
.summer-photo img{
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  display:block;
  object-fit:cover;
  object-position:50% 43%;
  background:transparent;
}

/* preserve working highlight video behavior */
.video-grid video{background:#080a0b}

@media(max-width:850px){
  .hero{
    height:auto;
    min-height:0;
    padding:110px 22px 45px;
    display:flex;
    flex-direction:column;
    gap:30px;
  }
  .hero-copy{
    position:relative;
    left:auto;top:auto;
    transform:none;
    width:100%;
  }
  .hero-media{
    position:relative;
    top:auto;left:auto;
    transform:none;
    width:min(72vw,350px);
    height:auto;
    aspect-ratio:9/16;
    align-self:flex-end;
  }
  .about,.event-types{
    grid-template-columns:1fr;
    height:auto;
    min-height:0;
  }
  .portrait-stage{height:480px}
  .portrait-stage img{height:88%;max-height:422px;max-width:74%}
  .about-copy{padding:48px 24px}
  .event-copy{height:auto;padding:40px 24px}
  .summer-photo{height:440px;min-height:440px}
}

/* V13 — match the two supplied mockup compositions exactly on desktop */
@media(min-width:851px){
  /* About reference: equal halves, tall cinematic section, full-body subject nearly fills height */
  .about{
    grid-template-columns:50% 50% !important;
    height:min(55.8vw,840px) !important;
    min-height:620px !important;
  }
  .portrait-stage{
    height:100% !important;
    min-height:0 !important;
    background:linear-gradient(to bottom,#303132 0%,#28292a 72%,#171819 72.4%,#101112 100%) !important;
  }
  .portrait-stage:before{
    top:0 !important;bottom:auto !important;height:72% !important;
    background:radial-gradient(ellipse at 50% 34%,rgba(110,110,110,.20),rgba(65,65,65,.08) 42%,transparent 73%) !important;
  }
  .portrait-stage:after{
    top:72% !important;bottom:0 !important;height:auto !important;
    background:linear-gradient(to bottom,rgba(255,255,255,.025),rgba(0,0,0,.36)) !important;
  }
  .portrait-stage img{
    height:94% !important;
    max-height:94% !important;
    width:auto !important;
    max-width:72% !important;
    margin:0 0 1.5% !important;
  }
  .about-copy{
    height:100% !important;
    padding:8% 13% 8% 12% !important;
    justify-content:center !important;
  }

  /* Event-types reference: 53.7% text / 46.3% image, same tall section ratio. */
  .event-types{
    grid-template-columns:53.7% 46.3% !important;
    height:min(54.7vw,850px) !important;
    min-height:650px !important;
  }
  .event-copy{
    height:100% !important;
    padding:7.5% 7.7% !important;
    justify-content:flex-start !important;
    padding-top:7.5% !important;
  }
  .summer-photo{
    height:100% !important;
    min-height:0 !important;
  }
  .summer-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
    object-position:50% 50% !important;
  }
}

/* V14 — use backdrop pixels from the supplied mockup, not a recreated CSS backdrop. */
@media(min-width:851px){
  .about{grid-template-columns:50% 50% !important;height:620px !important;min-height:620px !important}
  .portrait-stage{
    height:620px !important;
    background:#202122 url('assets/about-backdrop-reference.jpg') center center/cover no-repeat !important;
  }
  .portrait-stage:before,.portrait-stage:after{display:none !important}
  .portrait-stage img{
    height:91% !important;
    max-height:91% !important;
    width:auto !important;
    max-width:82% !important;
    object-fit:contain !important;
    object-position:center bottom !important;
    margin:0 0 1.2% !important;
  }
  /* Full summer portrait: show the entire original image — head and shoes included. */
  .event-types{grid-template-columns:53.7% 46.3% !important;height:650px !important;min-height:650px !important}
  .summer-photo{height:650px !important;min-height:650px !important;background:#0b0d0e !important;display:flex !important;align-items:center !important;justify-content:center !important}
  .summer-photo img{
    width:100% !important;
    height:100% !important;
    object-fit:contain !important;
    object-position:center center !important;
    background:#0b0d0e !important;
  }
}

/* V17: approved About reference backdrop + exact uploaded transparent portrait. */
@media (min-width:851px){
  .about{grid-template-columns:50% 50%;height:520px;min-height:520px;overflow:hidden;background:#090b0c}
  .portrait-stage{
    height:520px;min-height:520px;padding:0;position:relative;overflow:hidden;
    display:flex;align-items:flex-end;justify-content:center;
    background:#111 url("assets/about-backdrop-reference.jpg") center center/cover no-repeat !important;
  }
  .portrait-stage:before,.portrait-stage:after{display:none!important}
  .portrait-stage img{
    position:relative;z-index:2;width:auto!important;height:94%!important;
    max-width:82%!important;max-height:489px!important;object-fit:contain!important;
    object-position:center bottom!important;margin:0 0 7px!important;
  }
  .about-copy{height:520px;box-sizing:border-box;align-self:auto;display:flex;flex-direction:column;justify-content:center;padding:42px 8vw 42px 6vw}
}
@media (max-width:850px){
  .portrait-stage{background:#111 url("assets/about-backdrop-reference.jpg") center center/cover no-repeat!important}
  .portrait-stage:before,.portrait-stage:after{display:none!important}
  .portrait-stage img{height:92%!important;max-height:442px!important;width:auto!important;max-width:82%!important;object-fit:contain!important;object-position:center bottom!important;margin-bottom:6px!important}
}

.services-about-reference{width:100%;margin:0;padding:0;background:#000;line-height:0;overflow:hidden}
.services-about-reference img{display:block;width:100%;height:auto;margin:0;padding:0}

.photo-booth-service{
  display:flex;align-items:center;justify-content:center;gap:18px;
  padding:22px 5vw;background:#080b0d;border-top:1px solid #20272b;
  border-bottom:1px solid #20272b;text-align:left;
}
.photo-booth-service h2{margin:0 0 4px;font-size:18px;letter-spacing:2px;color:#fff}
.photo-booth-service p{margin:0;color:#bfc5c9;font-size:13px}
.photo-booth-icon{font-size:28px;color:#00aeef}

/* Screenshot-matched correction */
.stage-hero{
  width:100%; background:#000; line-height:0; overflow:hidden;
}
.stage-hero img{
  display:block; width:100%; height:auto; object-fit:contain;
  object-position:center center; margin:0 auto;
}
.services-about-live{background:#050708;color:#fff}
.service-strip{
  width:min(92%,1400px); margin:0 auto; display:grid;
  grid-template-columns:repeat(4,1fr); border-bottom:1px solid #45484a;
  background:linear-gradient(90deg,#050708,#090c0e,#050708);
}
.service-strip article{
  text-align:center; padding:20px 24px 22px; border-right:1px solid #5b5e60;
}
.service-strip article:last-child{border-right:0}
.service-icon{font-size:30px;line-height:1;color:#fff;margin-bottom:10px}
.service-strip h3{font-size:14px;margin:0 0 8px}
.service-strip p{font-size:12px;line-height:1.45;color:#d0d0d0;margin:0}

.about-live{
  width:min(92%,1400px); margin:0 auto; display:grid;
  grid-template-columns:1fr 1fr; min-height:500px;
  background:
    radial-gradient(circle at 23% 35%,rgba(255,255,255,.07),transparent 28%),
    linear-gradient(110deg,#181818 0%,#0d0e0f 47%,#030405 100%);
  border-bottom:1px solid #333;
}
.about-video{
  display:flex; align-items:center; justify-content:center;
  padding:34px 38px; min-width:0;
}
.about-video video{
  display:block; height:430px; width:auto; max-width:100%;
  aspect-ratio:9/16; object-fit:contain; background:#000;
  box-shadow:0 0 35px rgba(0,0,0,.55);
}
.about-text{display:flex;flex-direction:column;justify-content:center;padding:42px 54px 42px 20px}
.about-kicker{font-size:12px;letter-spacing:6px;color:#16b9ff;font-weight:800;margin-bottom:12px}
.about-kicker span{display:inline-block;width:46px;height:2px;background:#16b9ff;vertical-align:middle;margin-left:10px}
.about-text h2{font-size:72px;line-height:.85;letter-spacing:-4px;margin:0}
.about-text h3{font-size:20px;letter-spacing:8px;margin:13px 0 22px}
.about-text p{font-size:14px;line-height:1.55;color:#d6d6d6;max-width:560px;margin:0 0 18px}
.learn-more{width:max-content;border:1px solid #aaa;padding:13px 28px;font-size:11px;font-weight:800;letter-spacing:2px;margin-top:3px}

@media(max-width:850px){
  /* Header no longer covers the banner */
  .site-header{position:relative!important;inset:auto!important}
  .stage-hero img{width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important}
  .service-strip{width:100%;grid-template-columns:1fr 1fr}
  .service-strip article{padding:20px 14px;border-bottom:1px solid #444}
  .service-strip article:nth-child(2){border-right:0}
  .about-live{width:100%;grid-template-columns:1fr;min-height:0}
  .about-video{padding:28px 18px 18px}
  .about-video video{height:auto;width:min(72vw,330px);max-height:none}
  .about-text{padding:28px 24px 42px}
  .about-text h2{font-size:58px}
  .about-text h3{font-size:16px;letter-spacing:6px}
  .video-grid{grid-template-columns:1fr!important}
  .event-types{grid-template-columns:1fr!important;height:auto!important}
  .contact{grid-template-columns:1fr!important}
  .contact form{grid-template-columns:1fr!important}
}
@media(max-width:480px){
  .service-strip{grid-template-columns:1fr}
  .service-strip article{border-right:0}
  .about-text h2{font-size:50px}
}

/* Refinements requested after mobile review */
.stage-hero{
  width:100%!important;
  aspect-ratio:8/3!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
  background:#000!important;
}
.stage-hero img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  transform:none!important;
  max-width:none!important;
}
.full-site-top{
  color:#25b9ff!important;
  border:1px solid #25b9ff;
  padding:9px 11px!important;
  border-radius:2px;
}
@media(max-width:850px){
  /* Keep all four service categories in one compact strip like desktop. */
  .service-strip{
    grid-template-columns:repeat(4,1fr)!important;
    width:100%!important;
  }
  .service-strip article{
    min-width:0!important;
    padding:12px 5px 13px!important;
    border-right:1px solid #444!important;
    border-bottom:1px solid #444!important;
  }
  .service-strip article:last-child{border-right:0!important}
  .service-icon{font-size:20px!important;margin-bottom:6px!important}
  .service-strip h3{
    font-size:9px!important;
    line-height:1.15!important;
    margin:0 0 5px!important;
  }
  .service-strip p{
    font-size:7.5px!important;
    line-height:1.25!important;
  }
  .site-header nav{
    gap:7px!important;
  }
  .site-header nav a{
    font-size:9px!important;
  }
  .full-site-top{
    padding:7px 8px!important;
  }
}
@media(max-width:520px){
  .service-strip{grid-template-columns:repeat(4,1fr)!important}
  .service-strip article{padding:10px 4px 11px!important}
  .service-strip p{font-size:7px!important}
}

/* Final fixes: preserve header-art geometry and expose Full Site control */
.stage-hero{
  aspect-ratio:auto!important;
  height:auto!important;
  overflow:hidden!important;
  background:#000!important;
}
.stage-hero img{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  transform:none!important;
  margin:0 auto!important;
}
.full-site-mobile{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:1px solid #1fb9ff!important;
  color:#41c2ff!important;
  padding:9px 11px!important;
  font-size:9px!important;
  font-weight:900!important;
  letter-spacing:.4px!important;
  white-space:nowrap!important;
  margin-left:auto!important;
  z-index:100!important;
}
.wedding-highlight{
  text-align:center!important;
  background:#07090a!important;
}
.wedding-highlight video{
  display:block!important;
  width:auto!important;
  height:min(68vh,560px)!important;
  max-width:100%!important;
  aspect-ratio:9/16!important;
  object-fit:contain!important;
  margin:0 auto!important;
  background:#000!important;
}
@media(max-width:850px){
  .site-header{display:flex!important;align-items:center!important;gap:9px!important;padding:0 12px!important}
  .site-header nav{display:none!important}
  .site-header #menu{margin-left:0!important}
  .full-site-mobile{order:2!important}
  .site-header #menu{order:3!important}
  .site-header .brand{order:1!important;margin-right:auto!important}
  .stage-hero img{width:100%!important;height:auto!important}
  .wedding-highlight video{height:auto!important;width:min(72vw,340px)!important;aspect-ratio:9/16!important}
}

/* New approved banner: preserve exact proportions */
.stage-hero{width:100%!important;height:auto!important;aspect-ratio:auto!important;overflow:hidden!important;background:#000!important}
.stage-hero img{display:block!important;width:100%!important;height:auto!important;max-width:100%!important;object-fit:contain!important;object-position:center!important;transform:none!important;margin:0!important}
