/* Memory: charcoal, ink blue, photographic storytelling. */
:root{
  --font-body:'Manrope',Arial,sans-serif;
  --font-display:'Manrope',Arial,sans-serif;
  --blue:#3468d6;
  --ink:#112139;
  --home-bg:#080c12;
  --home-cream:#f5f7fb;
  --home-muted:#bdc9d8;
  --home-gold:#abcaf1;
  --home-line:rgba(171,202,241,.18);
}
html{background:#080c12}
body,body.home-body{background:#080c12!important;color:#f5f7fb;font-family:var(--font-body)!important}
input,select,textarea,button{font-family:var(--font-body)!important}
h1,h2,h3,h4,.home-title,.v2-title,.brand span{
  font-family:var(--font-display)!important;font-weight:500!important;letter-spacing:-.035em!important;
}
body h1,body h2,body h3,body h4{line-height:1.15!important}
body p{font-weight:400}
body header,body header.scrolled{background:rgba(8,12,18,.96)!important;box-shadow:none!important;border-bottom:1px solid rgba(171,202,241,.15)!important}
body .nav-wrap{max-width:1400px!important;min-height:76px;padding:16px 32px!important}
body .brand span{font-size:1rem!important;letter-spacing:0!important;white-space:nowrap}
body nav a{font-size:.83rem!important;letter-spacing:.015em!important;text-transform:none;padding:9px 12px!important}
body nav .nav-cta{border-color:rgba(171,202,241,.3)!important;border-radius:999px!important}
body .language-switch{background:#101a28!important;border-color:rgba(171,202,241,.28)!important;color:#f5f7fb!important;box-shadow:none!important}
body .home-eyebrow,body .home-kicker,body .v2-eyebrow,body .availability-kicker,body .wedding-story__eyebrow{
  font-size:.78rem!important;font-weight:600!important;letter-spacing:.13em!important;color:#abcaf1;
}
body .home-btn,body .v2-btn,body .btn,body .package-inquiry-btn,body .portfolio-load-more,body .wedding-story__actions a{
  font-family:var(--font-body)!important;font-size:.875rem!important;font-weight:600!important;
  text-transform:none!important;letter-spacing:0!important;border-radius:999px!important;
  min-height:48px;box-shadow:none!important;transform:none;
}
body .home-btn--gold,body .v2-btn--gold,body .btn-primary,body .btn--primary,body .wedding-story__actions .primary{
  background:linear-gradient(115deg,#2457b9 0%,#3578dc 58%,#4b8ee6 100%)!important;border-color:rgba(150,196,255,.35)!important;color:#fff!important;
}
body .home-btn--gold:hover,body .v2-btn--gold:hover,body .btn-primary:hover{background:linear-gradient(115deg,#2e65ca,#4c91e9)!important}
body .home-btn--ghost,body .v2-btn--ghost{color:#eef4fc!important;border-color:rgba(171,202,241,.35)!important;background:transparent!important}
body .home-btn:hover,body .v2-btn:hover{transform:translateY(-2px);box-shadow:none!important}
body .home-hero{
  min-height:0!important;padding:76px 0 0!important;display:block!important;overflow:hidden!important;
  background:#080c12!important;
}
body .home-hero::before,body .home-hero::after,body .home-hero__copy::before,body .home-hero .wow-scroll-cue{display:none!important}
body .home-hero__inner{
  position:relative!important;inset:auto!important;display:grid!important;grid-template-columns:1fr 1fr!important;
  width:min(1400px,100%)!important;margin:0 auto!important;align-items:stretch!important;gap:0!important;
}
body .home-hero__copy{
  position:relative!important;inset:auto!important;transform:none!important;width:auto!important;max-width:none!important;
  padding:clamp(44px,6vw,94px) 40px clamp(44px,6vw,88px) 32px!important;
  background:none!important;backdrop-filter:none!important;box-shadow:none!important;border:0!important;
  border-radius:0!important;text-align:left!important;overflow:visible!important;align-self:center;
}
body .home-kicker{margin:0 0 30px!important;text-align:left!important;color:#abcaf1!important;max-width:36ch}
body .home-hero h1{
  font-size:clamp(2.5rem,4.7vw,4.8rem)!important;line-height:1.09!important;font-weight:500!important;
  max-width:14ch!important;margin:0!important;text-align:left!important;text-wrap:balance;
}
body .home-hero p{font-size:1rem!important;line-height:1.85!important;color:#bdc9d8!important;max-width:43ch!important;margin:28px 0 0!important;text-align:left!important}
body .home-hero .home-actions{justify-content:flex-start!important;gap:10px!important;margin-top:32px!important}
body .home-socials{justify-content:flex-start!important;margin-top:28px!important}
body .home-socials a{font-size:.78rem!important;text-transform:none;letter-spacing:.02em;color:#bdc9d8!important;border:0!important}
body .home-hero__photo{
  display:block!important;position:relative!important;width:100%!important;height:auto!important;min-height:660px;
  margin:0!important;overflow:hidden;border:0!important;border-radius:0!important;box-shadow:none!important;
}
body .home-hero__photo img{width:100%;height:100%;position:absolute;inset:0;object-fit:cover;object-position:56% center}
body .home-section{width:min(1240px,calc(100% - 64px));padding:88px 0}
body .home-section__head{gap:40px;margin-bottom:34px;align-items:end}
body .home-title{font-size:clamp(2rem,3.3vw,3.2rem)!important;line-height:1.15!important;max-width:22ch}
body .home-copy{font-size:1rem!important;line-height:1.85;color:#bdc9d8!important;max-width:48ch}
body .home-photo-grid{gap:12px;aspect-ratio:auto;grid-template-columns:repeat(3,minmax(0,1fr))}
body .home-photo-grid a{aspect-ratio:4/5;height:auto!important;border-radius:2px!important}
body .home-photo-grid a::after{display:none!important}
body .home-photo-grid a:nth-child(n+4){display:none}
body .home-section>.home-actions{justify-content:flex-start!important}
body .home-regions{background:#f3f6fb;width:100%;padding:76px max(32px,calc((100% - 1240px)/2));color:#112139}
body .home-regions .home-eyebrow{color:#3468d6!important}
body .home-regions .home-title{color:#112139!important;max-width:17ch}
body .home-regions .home-copy{color:#485b72!important}
.region-list{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));margin:40px 0 30px;padding:0;border-top:1px solid #cdd8e6}
.region-list li{font-size:clamp(1.2rem,2.2vw,1.8rem);font-weight:500;letter-spacing:-.025em;padding:22px 0;border-bottom:1px solid #cdd8e6}
.region-links{display:flex;gap:24px;flex-wrap:wrap}
.region-links a{color:#234f9a;text-decoration:underline;text-underline-offset:5px;font-size:.9rem}
.region-links a:hover{color:#112139}
body .review-summary,body .review-box,body .video-copy,body .dj-card,body .home-cta,
body .v2-service,body .v2-step,body .package-card,body .glass-card,body .calc-card,body .event-card,
body .team-card,body .portfolio-note,body .videos-note,body .videos-final,body .local-card,
body .availability-hero,body .calendar-card,body .pricing-hero,body .included-all{
  background:linear-gradient(135deg,#142238,#101a28 70%)!important;border-color:rgba(171,202,241,.16)!important;box-shadow:none!important;border-radius:20px!important;
}
body .review-box{background:transparent!important;border-width:0 0 1px!important;border-radius:0!important}
body .review-box h4,body .dj-card h3,body .video-copy h3{font-size:clamp(1.4rem,2.4vw,2rem)!important}
body .home-cta{background:radial-gradient(ellipse at 90% 0%,rgba(87,151,225,.28),transparent 62%),linear-gradient(120deg,#101e36,#1d4676 70%,#285a8b)!important;padding:40px!important}
body .home-cta h2{font-size:clamp(1.8rem,3vw,2.8rem)!important}
body .home-footer{background:#080c12!important;border-top:1px solid rgba(171,202,241,.18)!important}
body .home-footer p,body .home-footer a{font-size:.875rem!important;line-height:1.9}
body .wow-reveal,body .v2-reveal{opacity:1!important;transform:none!important;transition:none!important}
body #wowScrollProgress{background:#75a5e8;box-shadow:none}
body .mpv-consent{border-radius:6px;background:#101a28;border-color:rgba(171,202,241,.25);box-shadow:0 8px 32px #0005}
body .mpv-consent p{font-size:.875rem;color:#cad5e3}
body .mpv-consent button{border-radius:4px;font-family:var(--font-body);letter-spacing:0;text-transform:none;font-size:.875rem}
body .mpv-consent button[data-consent="accept"]{background:#3468d6;color:white}
@media(min-width:881px){
  body .nav-wrap>nav{margin-right:70px;gap:2px!important}
  body .brand{flex-shrink:0}
  body .home-hero{
    padding:108px 28px 36px!important;
    background:radial-gradient(ellipse at 68% 18%,#122c4b 0%,#0b1422 38%,#080c12 74%)!important;
  }
  body .home-hero__inner{
    max-width:1344px!important;grid-template-columns:1.05fr 1fr!important;
    border:1px solid rgba(160,197,241,.16);border-radius:36px;overflow:hidden;
    background:radial-gradient(ellipse at 4% 0%,rgba(62,120,195,.25),transparent 60%),linear-gradient(135deg,#152b46,#0d1827 65%);
    box-shadow:0 24px 70px rgba(0,0,0,.22);
  }
  body .home-hero__copy{padding:64px clamp(30px,4vw,64px)!important;z-index:1}
  body .home-hero h1{font-size:clamp(2.5rem,4.4vw,4.6rem)!important}
  body .home-hero__photo{min-height:640px;border-radius:0 35px 35px 0!important}
  body .home-hero__photo::after{
    content:"";position:absolute;inset:0;pointer-events:none;
    background:linear-gradient(90deg,rgba(13,24,39,.55),transparent 28%),linear-gradient(0deg,rgba(8,18,32,.28),transparent 50%);
  }
  body .home-photo-grid{gap:22px;align-items:start;padding-bottom:28px}
  body .home-photo-grid a{border-radius:24px!important;overflow:hidden}
  body .home-photo-grid a:nth-child(2){margin-top:28px}
  body .home-regions{
    width:min(1344px,calc(100% - 56px));border-radius:32px;
    padding:72px clamp(36px,5vw,72px);
    background:radial-gradient(ellipse at 100% 0%,#d4e5f8,transparent 65%),linear-gradient(135deg,#f6f8fc,#eaf1fa);
  }
  body .home-cta{border-radius:28px!important;padding:56px!important}
}
@media(min-width:881px) and (max-width:1080px){body .brand span{display:none!important}}
@media(max-width:880px){
  body .nav-wrap{min-height:68px;padding:12px 20px!important}
  body header .nav-wrap>nav{background:#101a28!important}
  body .brand span{font-size:.86rem!important}
  body .home-hero{padding-top:68px!important}
  body .home-hero__inner{grid-template-columns:1fr!important}
  body .home-hero__copy{padding:52px 24px 40px!important}
  body .home-kicker{margin-bottom:22px!important}
  body .home-hero h1{font-size:clamp(2.7rem,7.7vw,4.2rem)!important;max-width:13ch!important}
  body .home-hero p{max-width:52ch!important}
  body .home-hero__photo{min-height:0;aspect-ratio:4/3}
  body .home-section{width:calc(100% - 40px);padding:60px 0}
  body .home-section__head{gap:24px;grid-template-columns:1fr;display:grid}
  body .home-regions{width:100%;padding:52px 24px}
  body .home-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  body .home-photo-grid a{aspect-ratio:3/4}
  body .home-cta{padding:28px!important}
}
@media(max-width:520px){
  body .brand span{font-size:.75rem!important;max-width:160px;white-space:normal;line-height:1.25}
  body .home-hero h1{font-size:2.35rem!important}
  body .home-hero .home-actions{flex-direction:column;align-items:stretch!important}
  body .home-hero .home-btn{width:100%}
  body .home-hero__photo{aspect-ratio:1/1;min-height:0}
  body .home-photo-grid{grid-template-columns:1fr 1fr}
  body .home-photo-grid a:nth-child(3){display:none}
  .region-list{grid-template-columns:1fr 1fr;column-gap:20px;margin-top:24px}
  .region-list li{font-size:1.25rem;padding:18px 0}
  .region-links{gap:16px;flex-direction:column;align-items:flex-start}
}
@media(prefers-reduced-motion:reduce){body .home-btn,body .v2-btn{transition:none!important;transform:none!important}}

/* Homepage refresh 2026-09-11: carousel, social controls, cohesive regions */
body .home-regions{
  color:#f5f7fb;
  border:1px solid rgba(171,202,241,.17);
  background:
    radial-gradient(circle at 92% 0%,rgba(75,142,230,.19),transparent 42%),
    linear-gradient(145deg,#132238 0%,#0d1725 62%,#0a111c 100%)!important;
  box-shadow:0 22px 64px rgba(0,0,0,.22);
}
body .home-regions .home-eyebrow{color:#abcaf1!important}
body .home-regions .home-title{color:#f5f7fb!important}
body .home-regions .home-copy{color:#bdc9d8!important}
body .home-regions .region-list{border-top-color:rgba(171,202,241,.18)}
body .home-regions .region-list li{
  color:#eef4fc;
  border-bottom-color:rgba(171,202,241,.15);
}
body .home-regions .region-links{gap:12px}
body .home-regions .region-links a{
  display:inline-flex;
  align-items:center;
  min-height:44px;
  padding:10px 16px;
  color:#dceafe;
  text-decoration:none;
  border:1px solid rgba(171,202,241,.26);
  border-radius:999px;
  background:rgba(117,165,232,.08);
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
body .home-regions .region-links a:hover{
  color:#fff;
  background:rgba(117,165,232,.17);
  border-color:rgba(171,202,241,.48);
  transform:translateY(-2px);
}

body .home-hero__photo.home-slider{
  position:relative!important;
  isolation:isolate;
  background:#0b1422;
}
body .home-slider__slides{
  position:absolute;
  inset:0;
  z-index:1;
}
body .home-hero__slide{
  position:absolute;
  inset:0;
  display:block;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:scale(1.035);
  transition:opacity .85s ease,transform 6.2s ease,visibility 0s linear .85s;
}
body .home-hero__slide.is-active{
  opacity:1;
  visibility:visible;
  transform:scale(1);
  transition-delay:0s;
}
body .home-hero__slide img{
  width:100%;
  height:100%;
  position:absolute;
  inset:0;
  object-fit:cover;
}
body .home-hero__slide:nth-child(1) img{object-position:56% center}
body .home-hero__slide:nth-child(2) img{object-position:57% center}
body .home-hero__slide:nth-child(3) img{object-position:55% center}
body .home-hero__photo.home-slider::after{
  content:"";
  display:block!important;
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(90deg,rgba(13,24,39,.42),transparent 28%),
    linear-gradient(0deg,rgba(7,13,22,.30),transparent 45%);
}
body .home-slider__arrow,
body .home-slider__toggle{
  appearance:none;
  position:absolute;
  z-index:5;
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  padding:0;
  color:#fff;
  border:1px solid rgba(255,255,255,.34);
  border-radius:999px;
  background:rgba(8,14,23,.60);
  backdrop-filter:blur(12px);
  box-shadow:0 8px 28px rgba(0,0,0,.25);
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
body .home-slider__arrow{top:50%;transform:translateY(-50%)}
body .home-slider__arrow--prev{left:18px}
body .home-slider__arrow--next{right:18px}
body .home-slider__arrow:hover{
  background:rgba(27,55,91,.88);
  border-color:rgba(255,255,255,.62);
  transform:translateY(-50%) scale(1.05);
}
body .home-slider__toggle{
  left:18px;
  bottom:18px;
  width:42px;
  height:42px;
}
body .home-slider__toggle:hover{
  background:rgba(27,55,91,.88);
  border-color:rgba(255,255,255,.62);
  transform:scale(1.05);
}
body .home-slider__arrow svg{width:22px;height:22px}
body .home-slider__toggle svg{width:17px;height:17px}
body .home-slider__dots{
  position:absolute;
  z-index:5;
  left:50%;
  bottom:25px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:2px;
  padding:3px 8px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:999px;
  background:rgba(8,14,23,.50);
  backdrop-filter:blur(10px);
}
body .home-slider__dot{
  appearance:none;
  position:relative;
  width:28px;
  height:28px;
  padding:0;
  border:0;
  background:transparent;
  cursor:pointer;
}
body .home-slider__dot::after{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:7px;
  height:7px;
  border-radius:999px;
  background:rgba(255,255,255,.55);
  transform:translate(-50%,-50%);
  transition:width .25s ease,background .25s ease;
}
body .home-slider__dot.is-active::after{
  width:20px;
  background:#fff;
}
body .home-slider__status{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

body .home-socials{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
body .home-socials a.home-social-button{
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:44px;
  padding:10px 15px;
  color:#eef4fc!important;
  font-size:.84rem!important;
  font-weight:600;
  letter-spacing:0!important;
  text-transform:none!important;
  border:1px solid rgba(171,202,241,.28)!important;
  border-radius:999px;
  background:rgba(117,165,232,.08);
  transition:background .2s ease,border-color .2s ease,color .2s ease,transform .2s ease;
}
body .home-socials a.home-social-button:hover{
  color:#fff!important;
  background:rgba(117,165,232,.18);
  border-color:rgba(171,202,241,.50)!important;
  transform:translateY(-2px);
}
body .home-social-button svg{
  width:19px;
  height:19px;
  flex:0 0 auto;
}
body .home-footer__socials{flex-wrap:wrap;gap:8px}
body .home-footer__socials a{
  display:inline-flex!important;
  align-items:center;
  min-height:40px;
  padding:8px 13px;
  color:#dceafe!important;
  border:1px solid rgba(171,202,241,.22);
  border-radius:999px;
  background:rgba(117,165,232,.07);
}
body .home-footer__socials a:hover{
  color:#fff!important;
  background:rgba(117,165,232,.16);
  border-color:rgba(171,202,241,.42);
}

@media(max-width:880px){
  body .home-regions{
    border-left:0;
    border-right:0;
    box-shadow:none;
  }
}
@media(max-width:520px){
  body .home-socials{
    display:grid;
    grid-template-columns:1fr 1fr;
    width:100%;
  }
  body .home-socials a.home-social-button{justify-content:center;padding-inline:10px}
  body .home-slider__arrow{width:44px;height:44px}
  body .home-slider__arrow--prev{left:12px}
  body .home-slider__arrow--next{right:12px}
  body .home-slider__toggle{left:12px;bottom:12px;width:40px;height:40px}
  body .home-slider__dots{bottom:17px}
}
@media(prefers-reduced-motion:reduce){
  body .home-hero__slide{transition:none!important;transform:none!important}
  body .home-regions .region-links a,
  body .home-socials a.home-social-button,
  body .home-slider__arrow,
  body .home-slider__toggle{transition:none!important;transform:none!important}
}


/* Mobile breathing room for the regions section 2026-09-11 */
@media(max-width:880px){
  body .home-regions{
    width:calc(100% - 32px)!important;
    margin:28px auto 46px!important;
    padding:clamp(64px,15vw,78px) clamp(22px,6vw,32px) clamp(54px,13vw,68px)!important;
    border:1px solid rgba(171,202,241,.17)!important;
    border-radius:26px!important;
    box-shadow:0 18px 52px rgba(0,0,0,.22)!important;
    overflow:hidden;
  }
  body .home-regions .home-section__head{
    gap:30px!important;
    margin-bottom:42px!important;
  }
  body .home-regions .home-copy{
    line-height:1.95!important;
  }
  body .home-regions .region-list{
    margin:0 0 40px!important;
    column-gap:28px;
  }
  body .home-regions .region-list li{
    padding:24px 2px;
    line-height:1.3;
  }
  body .home-regions .region-links{
    gap:14px;
    margin-top:4px;
  }
}
@media(max-width:520px){
  body .home-regions{
    width:calc(100% - 28px)!important;
    margin:24px auto 42px!important;
    padding:64px 22px 54px!important;
    border-radius:24px!important;
  }
  body .home-regions .home-section__head{
    gap:28px!important;
    margin-bottom:40px!important;
  }
  body .home-regions .home-title{
    line-height:1.12!important;
  }
  body .home-regions .region-list{
    column-gap:24px;
    margin-bottom:38px!important;
  }
  body .home-regions .region-list li{
    padding:23px 2px;
    font-size:1.18rem;
  }
  body .home-regions .region-links{
    gap:14px;
  }
  body .home-regions .region-links a{
    width:100%;
    justify-content:center;
    min-height:52px;
    padding:13px 14px;
    text-align:center;
  }
}
