/* Vibe Studios Weddings V2 — changes scoped to weddings page only. */
:root{--sage:#899783;--sage-dark:#3e5144;--sage-pale:#dce2d5}
.wedding-v2 .hero-curve{fill:var(--coal)}
.wedding-v2 .brand-hairline,.wedding-v2 .brand-subtitle{color:var(--sage-pale)}
.wedding-v2 .nav-contact{background:var(--sage);color:#101611}
.wedding-v2 .nav-contact:hover{background:var(--sage-pale)}
.wedding-v2 .eyebrow,.wedding-v2 .category-index{color:#b8c9b1}
.wedding-v2 .eyebrow.light{color:rgba(255,255,255,.88)}
.wedding-v2 .hero .text-link{border-color:var(--sage-pale)}
.w-intro{background:#ece9df;color:#242820;text-align:center;padding:clamp(94px,11vw,164px) 22px;}
.w-intro h2{font-size:clamp(59px,8vw,120px);line-height:.9;margin:28px auto 36px;max-width:1070px}
.w-intro h2 em,.films-section h2 em{color:var(--sage-dark)}
.w-intro>p:last-child{max-width:620px;margin:auto;font-size:14px;line-height:2;color:#62665e}
.wedding-v2 .olive-eyebrow{color:#667c65}
.stories-section{padding:120px clamp(22px,6vw,110px) 110px}
.w-section-heading{display:flex;justify-content:space-between;align-items:end;gap:34px;margin-bottom:62px}
.w-section-heading h2{margin:19px 0 0;font-size:clamp(64px,7.5vw,117px)}
.w-section-heading>p{max-width:270px;line-height:1.9;font-size:13px;color:#a9aa9e;margin:0 0 9px}
.story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(15px,2vw,34px)}
.story-card{border:0;background:none;text-align:left;color:inherit;padding:0;display:block;width:100%;min-width:0}
.story-image{display:block;aspect-ratio:3/4;overflow:hidden;background:#282b24}
.story-image img{height:100%;width:100%;object-fit:cover;filter:saturate(.66) sepia(.10);transition:transform .65s ease,filter .65s ease}
.story-card:hover .story-image img,.story-card:focus-visible .story-image img{transform:scale(1.035);filter:saturate(.94)}
.story-card:nth-child(2){margin-top:55px}.story-card:nth-child(3){margin-top:110px}
.story-meta{display:flex;justify-content:space-between;margin:19px 0 7px;color:#aebeaa;font-size:9px;letter-spacing:.18em;font-weight:600}
.story-name{display:flex;justify-content:space-between;align-items:center;font-family:var(--serif);font-size:clamp(38px,3.7vw,63px);line-height:1.06}
.story-name span{font-family:var(--sans);font-size:22px;color:#b8c9b1}
.story-desc{color:#aaa79e;font-size:12px;line-height:1.7}
.w-demo-note{font-size:11px;color:#aaa89b;max-width:710px;line-height:1.8;margin:45px auto 0;text-align:center}
.films-section{padding:110px clamp(22px,6vw,110px) 125px;background:#ebe8df;color:#262b24}
.films-section .w-section-heading>p{color:#61665f}
.film-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.film-frame{position:relative;aspect-ratio:16/10;background:#151a16;overflow:hidden}
.film-frame video{display:block;width:100%;height:100%;object-fit:cover}
.film-unavailable{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:20px;color:#fff;font-family:var(--serif);font-size:28px;line-height:1.4;background:linear-gradient(0deg,rgba(15,18,14,.83),rgba(15,18,14,.43))}
.film-unavailable[hidden]{display:none}
.film-unavailable small{font-size:11px;font-family:var(--sans);letter-spacing:.09em;color:#dfddd3;margin-top:15px}
.film-caption{display:flex;justify-content:space-between;gap:20px;margin-top:20px;font-size:10px;font-weight:600;letter-spacing:.14em;color:#55624f}
.quote-section{background:#39483d;color:#f1eee5;padding:clamp(90px,12vw,160px) 24px;text-align:center}
.quote-inner{max-width:900px;margin:auto}
.quote-kicker{font-family:var(--serif);font-style:italic;font-size:30px;color:#cad6c7;margin:18px 0 30px}
.quote-inner blockquote{margin:0;font-family:var(--serif);font-size:clamp(39px,5.6vw,78px);line-height:1.07;font-weight:300}
.quote-credit{font-size:9px;letter-spacing:.14em;margin:30px auto 0;color:#c0caba;line-height:1.8}
.w-contact{background:#eeeae0;color:#252921;padding:115px clamp(22px,6vw,110px) 130px}
.w-contact .inquiry-head{max-width:850px;margin:0 auto 75px;text-align:center}
.w-contact .inquiry-head h2{font-size:clamp(66px,8vw,119px);margin:18px 0 29px}
.w-contact .inquiry-head p:last-child{max-width:630px;margin:0 auto;color:#60645b;font-size:14px;line-height:1.9}
.w-contact-inner{max-width:1040px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:clamp(35px,7vw,110px);align-items:center}
.w-contact-phone{display:flex;flex-direction:column;gap:20px}
.w-contact-phone>span{font-size:10px;letter-spacing:.18em;color:#71836d;font-weight:700}
.w-contact-phone>a{font-family:var(--serif);font-size:clamp(34px,4.3vw,68px);line-height:1.1;border-bottom:1px solid #aaa99a;padding-bottom:17px;white-space:nowrap}
.w-contact-phone>a span{font-family:var(--sans);font-size:20px}
.w-contact-phone small{color:#777970;font-size:12px;line-height:1.8}
.w-contact-phone small a{text-decoration:underline;text-underline-offset:4px}
.w-simple-form .field{margin-bottom:23px}
.w-simple-form input{color:#242820}
.w-simple-form .submit-button{background:#556c59;color:#fff}
.w-simple-form .submit-button:hover{background:#3c5140}
.w-simple-form .form-alternative{font-size:10px;opacity:.75}
.wedding-v2 .wedding-footer{padding:45px clamp(22px,6vw,110px) 32px;background:#0d0e0c}
.wedding-v2 .footer-bottom{border-top:0}
.gallery-overlay,.lightbox{position:fixed;inset:0;z-index:500;background:#121512;color:#ede6d9;overflow-y:auto;overscroll-behavior:contain}
.gallery-overlay[hidden],.lightbox[hidden]{display:none}
.gallery-top,.lightbox-bar{position:sticky;top:0;z-index:5;background:rgba(18,21,18,.96);display:flex;align-items:center;justify-content:space-between;padding:20px clamp(18px,4vw,70px);border-bottom:1px solid #414a3f;gap:15px}
.gallery-overlay button,.lightbox button{border:0;background:none;color:inherit}
.gallery-back,.gallery-close,.gallery-brand,.lightbox-bar{font-family:var(--sans);font-size:10px;font-weight:700;letter-spacing:.14em}
.gallery-close,.lightbox-bar button{font-size:22px;padding:8px}
.gallery-brand{color:#bdc8b7}
.gallery-content{max-width:1550px;margin:auto;padding:48px clamp(18px,5vw,80px) 95px}
.gallery-intro{text-align:center;padding-bottom:45px}
.gallery-intro h2{font-size:clamp(65px,9vw,130px);margin:13px 0}
.gallery-intro>p:last-child{font-size:12px;color:#aaa99e}
.gallery-photo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:13px}
.gallery-photo-grid button{display:block;padding:0;aspect-ratio:3/4;overflow:hidden;background:#31382f;border:0}
.gallery-photo-grid button:nth-child(7n+1){aspect-ratio:4/5}
.gallery-photo-grid img{height:100%;width:100%;object-fit:cover;transition:transform .4s;display:block}
.gallery-photo-grid button:hover img{transform:scale(1.045)}
.lightbox{z-index:600;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:65px 70px 40px}
.lightbox-bar{position:absolute;top:0;left:0;right:0;padding:9px 22px}
.lightbox #lightbox-img{max-height:calc(100dvh - 145px);max-width:100%;width:auto;height:auto;object-fit:contain}
.lightbox-prev,.lightbox-next{position:absolute;top:50%;transform:translateY(-50%);font-size:52px;padding:18px;line-height:1}
.lightbox-prev{left:5px}.lightbox-next{right:5px}
.lightbox-hint{position:absolute;bottom:7px;color:#aaa;font-size:9px;letter-spacing:.12em}
body.w-overlay-open{overflow:hidden}
@media(max-width:850px){.story-grid{gap:18px}.story-card:nth-child(2),.story-card:nth-child(3){margin-top:0}.w-section-heading{align-items:start;flex-direction:column;gap:20px}.w-section-heading>p{max-width:470px}.w-contact-inner{grid-template-columns:1fr;gap:50px}.gallery-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:620px){.w-intro{padding:94px 21px}.w-intro h2{font-size:clamp(50px,13vw,77px)}.stories-section,.films-section{padding:85px 20px}.w-section-heading{margin-bottom:38px}.w-section-heading h2{font-size:clamp(64px,13vw,83px)}.story-grid{grid-template-columns:1fr;gap:48px}.story-image{aspect-ratio:5/5.4}.story-name{font-size:52px}.story-card:nth-child(2),.story-card:nth-child(3){margin-top:0}.film-grid{grid-template-columns:1fr;gap:40px}.film-frame{aspect-ratio:16/10}.film-caption{font-size:9px}.quote-inner blockquote{font-size:clamp(40px,10vw,59px)}.w-contact{padding:88px 22px 100px}.w-contact .inquiry-head{margin-bottom:60px}.w-contact .inquiry-head h2{font-size:clamp(68px,13vw,90px)}.w-contact-phone>a{font-size:clamp(36px,10vw,56px)}.gallery-top{padding:12px 16px}.gallery-brand{display:none}.gallery-content{padding:45px 13px 75px}.gallery-intro h2{font-size:65px}.gallery-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.lightbox{padding:62px 15px 60px}.lightbox-prev,.lightbox-next{background:rgba(10,10,10,.45)!important;font-size:36px;padding:12px;top:auto;bottom:22px;transform:none}.lightbox-prev{left:14px}.lightbox-next{right:14px}.lightbox-hint{display:none}.lightbox #lightbox-img{max-height:calc(100dvh - 160px)}}
@media(prefers-reduced-motion:reduce){.story-image img,.gallery-photo-grid img{transition:none}}

/* HERO — DESKTOP */
.wedding-v2 .hero-image {
    background-image: url("../imgwedding/hero.jpg");
    background-position: center 43%;
    background-size: cover;
}

/* HERO — MOBILE */
@media (max-width: 620px) {
    .wedding-v2 .hero-image {
        background-image: url("../imgwedding/hero-mobile.jpg");
        background-position: center center;
    }
}

/* MEMORY BOOK — only weddings page / between wedding films and testimonials */
.wedding-v2 .memory-book-section {
  background:#202820;
  color:#eeeade;
  padding:clamp(78px,9vw,126px) clamp(22px,6vw,110px);
  overflow:hidden;
}
.wedding-v2 .memory-book-inner {
  max-width:1400px;
  margin-inline:auto;
  display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
  gap:clamp(32px,6vw,110px);
  align-items:center;
}
.wedding-v2 .memory-book-copy {min-width:0;}
.wedding-v2 .memory-book-copy .eyebrow {
  color:#b8c9b1;
  letter-spacing:.23em;
  line-height:1.8;
  margin-bottom:30px;
}
.wedding-v2 .memory-book-copy h2 {
  font-family:var(--serif);
  color:#f1ecdf;
  font-size:clamp(57px,6.1vw,99px);
  line-height:.91;
  margin:0 0 33px;
  letter-spacing:-.045em;
  font-weight:400;
}
.wedding-v2 .memory-book-copy h2 em {
  font-weight:300;
  color:#b9c8b3;
}
.wedding-v2 .memory-book-intro {
  color:#ede9df;
  font-family:var(--serif);
  font-size:clamp(27px,2.6vw,38px);
  line-height:1.05;
  margin:0 0 16px;
}
.wedding-v2 .memory-book-description {
  max-width:445px;
  color:#c1c7bb;
  font-size:13px;
  line-height:2;
  margin-bottom:31px;
}
.wedding-v2 .memory-book-cta {
  color:#f0eadd;
  border-bottom-color:#b9c8b3;
  gap:22px;
}
.wedding-v2 .memory-book-cta:hover {color:#cddac6;}
.wedding-v2 .memory-book-visual {min-width:0;margin:0;}
.wedding-v2 .memory-book-visual img {
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:1672 / 941;
  object-fit:cover;
  background:#141a15;
}
.wedding-v2 .memory-book-visual figcaption {
  margin-top:16px;
  text-align:right;
  color:#acb9aa;
  font-size:9px;
  font-weight:600;
  letter-spacing:.16em;
  line-height:1.8;
}
@media (max-width:850px) {
  .wedding-v2 .memory-book-inner {grid-template-columns:1fr;gap:42px;}
  .wedding-v2 .memory-book-copy h2 {font-size:clamp(60px,10vw,92px);}
  .wedding-v2 .memory-book-description {max-width:660px;}
}
@media (max-width:620px) {
  .wedding-v2 .memory-book-section {padding:80px 20px 85px;}
  .wedding-v2 .memory-book-copy .eyebrow {font-size:9px;margin-bottom:21px;}
  .wedding-v2 .memory-book-copy h2 {font-size:clamp(56px,13vw,81px);margin-bottom:25px;}
  .wedding-v2 .memory-book-intro {font-size:31px;}
  .wedding-v2 .memory-book-description {font-size:13px;line-height:1.85;}
  .wedding-v2 .memory-book-visual figcaption {text-align:left;}
}
