/* Real wedding footage leads the existing forest, ivory and gold identity. */
[hidden]{display:none!important}
.hero{min-height:780px}
.hero-film,.hero-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;background:#14251d}
.hero-poster{pointer-events:none}.hero-film.film-failed{opacity:0;pointer-events:none}
.hero::before{pointer-events:none;background:linear-gradient(90deg,#10231b10 20%,#10231b88 50%,#10231bef 100%),linear-gradient(0deg,#10231bec,transparent 35%)}
.hero-body{width:47%;margin-right:5.25vw;margin-left:auto;padding-top:230px;padding-bottom:145px;pointer-events:none}
.hero-body a{pointer-events:auto}
.hero-instagram{display:inline-flex;align-items:center;gap:9px;min-height:44px;margin-top:8px;color:#f2e9dc;font-size:12px}.hero-instagram svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}.hero-instagram:hover{text-decoration:underline;text-underline-offset:4px}
.hero h1{font-size:clamp(64px,6.4vw,96px);line-height:.94}
.hero-text{font-size:14px;max-width:440px}
.hero-actions{gap:12px}
.film-controls{position:absolute;top:115px;right:5.25vw;display:flex;gap:8px;z-index:4}
.film-button{display:inline-flex;align-items:center;gap:9px;min-height:44px;padding:10px 15px;border:1px solid #d1c1a7;border-radius:30px;background:#13241eed;color:#fff8eb;font:600 11px Manrope,Arial,sans-serif;cursor:pointer;transition:background .2s}
.film-button:hover{background:#304738}
.film-button svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.sound-on,.pause-icon{display:none}
[aria-pressed="true"] .sound-on,.is-playing .pause-icon{display:block}
[aria-pressed="true"] .sound-off,.is-playing .play-icon{display:none}
.film-error{position:absolute;z-index:4;top:172px;right:5.25vw;max-width:380px;padding:14px;background:var(--forest);font-size:12px}
.film-error a{text-decoration:underline;text-underline-offset:4px}
.organizers{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:8%;padding-top:115px;padding-bottom:115px}
.organizers h2,.weddings h2{margin:0 0 25px;font:500 clamp(44px,4.6vw,70px)/1.02 Cormorant,Georgia,serif;letter-spacing:-.03em;text-wrap:balance}
.organizers h2 em{color:#795a34;font-weight:500}
.organizers p{max-width:470px;font-size:14px;line-height:1.9}
.organizers figure{margin:0;max-width:490px;width:100%;justify-self:center}
.organizers figure img{width:100%;height:auto;max-height:none;aspect-ratio:auto;object-fit:contain}
.organizers figcaption{padding-top:16px;font-size:11px;color:#4a5e4d}
.text-link{display:inline-flex;gap:28px;align-items:center;min-height:44px;margin-top:15px;border-bottom:1px solid #806340;font-size:12px;font-weight:600}
.text-link:focus-visible{outline-color:#795a34}
.weddings{padding:100px 0 110px;background:#102019;color:#f5f1e8}
.weddings-heading{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:50px}
.weddings h2{margin:0}
.weddings h2 em{font-weight:500;color:var(--champagne)}
.weddings-heading>p{flex:none;max-width:300px;color:#d8dece;font-size:13px;line-height:1.9}
.wedding-gallery{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:#ad8652 #192c22;overscroll-behavior-x:contain;padding-bottom:14px}
.gallery-frame{position:relative;flex:0 0 calc((100% - 24px)/3);min-width:0;scroll-snap-align:start;height:clamp(340px,40vw,540px);margin:0;overflow:hidden;background:#203126}
.gallery-frame img{width:100%;height:100%;object-fit:cover}
.gallery-emotion img{object-position:48% center}.gallery-detail img{object-position:55% center}
.gallery-frame::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#08140ddd);pointer-events:none}
.gallery-frame figcaption{position:absolute;z-index:1;left:24px;right:20px;bottom:24px;font:500 clamp(24px,2.3vw,36px)/1.1 Cormorant,Georgia,serif;color:#fff8eb}
.gallery-note{display:flex;justify-content:space-between;align-items:center;gap:24px;margin-top:18px}
.gallery-note p{margin:0;color:#d4d9cd;font-size:12px}.gallery-note .text-link{margin-top:0}
.weddings .text-link{color:var(--champagne);border-color:#947852}.weddings .text-link:focus-visible{outline-color:var(--champagne)}
.gothic-story{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);align-items:center;gap:clamp(28px,4vw,60px);margin-top:40px;padding:40px clamp(24px,3vw,46px);background:#192c22;border-top:1px solid #94785266}
.project-label{display:block;color:#e1c18a;font-size:10px;letter-spacing:.12em;text-transform:uppercase}
.gothic-copy h3{margin:20px 0 22px;font:500 clamp(46px,5.5vw,78px)/.98 Cormorant,Georgia,serif;letter-spacing:-.025em}.gothic-copy h3 em{color:var(--champagne);font-weight:500}
.gothic-copy p{max-width:420px;margin:0;color:#d4d9cd;font-size:14px;line-height:1.85}.gothic-copy .film-duration{margin-top:22px;color:#e1c18a;font-size:11px}
.gothic-player{width:100%;align-self:center;background:#11170f}.project-film{display:block;width:100%;aspect-ratio:9/16;object-fit:cover;background:#11170f}
.service-contact{background:#e8d7bd;color:#14251d;min-height:470px;grid-template-columns:.9fr 1.1fr}
.contact-signature{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:54px 30px;text-align:center}
.contact-signature img{width:150px;height:100px}
.service-contact .contact-signature p{font:500 clamp(42px,4vw,58px)/1.1 Cormorant,Georgia,serif;margin:24px 0 12px;color:#14251d}
.contact-signature span{font-size:12px;color:#3e493d}.contact-phone{display:flex;align-items:center;min-height:44px;margin-top:28px;font-size:16px;font-weight:600;border-bottom:1px solid #806340}.contact-phone:focus-visible{outline-color:#795a34}
.contact-signature .contact-location{margin-top:18px;font-size:11px}
.service-contact .service-content{padding:60px 10%;color:#f8f4e9}
.service-contact h2{font-size:clamp(42px,4.4vw,66px);line-height:1.03;text-wrap:balance}
.service-contact .service-content p{color:#d6dfd3;max-width:400px}
@media(max-width:1060px){.hero-body{width:51%;margin-right:4vw}.hero h1{font-size:72px}.organizers{gap:5%}.weddings-heading{display:block}.weddings-heading>p{max-width:none}.gallery-frame figcaption{left:16px;bottom:18px}.gothic-story{grid-template-columns:minmax(200px,.85fr) minmax(0,1.15fr);gap:24px}.gothic-copy h3{font-size:52px}}
@media(max-width:760px){
  .hero{min-height:0;padding-top:74px}.hero-film,.hero-poster{top:74px;height:auto;aspect-ratio:16/9;object-fit:contain}.hero::before{background:linear-gradient(0deg,#14251d 0%,#14251d 52%,transparent 80%)}
  .hero-body{position:relative;width:calc(100% - 40px);margin:0 20px;padding-top:calc(56.25vw + 28px);padding-bottom:100px}.hero h1{font-size:clamp(58px,10vw,74px)}.hero-text{font-size:13px;max-width:440px}.hero-actions{flex-direction:row;align-items:center}
  .film-controls{top:calc(74px + 56.25vw - 55px);right:12px;gap:6px}.film-button{padding:10px 12px;background:#13241ef5}.film-button svg{width:16px;height:16px}.film-button span{font-size:11px}.hero-caption{bottom:25px}.film-error{top:95px;left:20px;right:20px}
  .organizers{display:flex;flex-direction:column;align-items:stretch;gap:35px;padding-top:65px;padding-bottom:65px}.organizers h2,.weddings h2{font-size:clamp(43px,8vw,58px)}.organizers p{font-size:13px}.organizers figure{align-self:center}.organizers figure img{aspect-ratio:auto;max-height:none}
  .weddings{padding:65px 0}.weddings-heading{margin-bottom:32px}.weddings-heading>p{font-size:12px}
  .wedding-gallery{gap:12px}.gallery-frame{flex-basis:86%;height:clamp(350px,115vw,510px)}.gallery-emotion{height:clamp(350px,115vw,510px)}.gallery-emotion img{object-position:center 38%}.gallery-frame figcaption{font-size:26px;left:16px;right:12px;bottom:18px}
  .gallery-note{display:block;margin-top:22px}.gallery-note .text-link{margin-top:8px;font-size:11px}
  .gothic-story{grid-template-columns:1fr;gap:28px;margin-top:32px;padding:30px 22px}.gothic-copy h3{font-size:52px}.gothic-copy p{font-size:13px}.gothic-media{width:100%;max-width:520px;justify-self:center}.gothic-player{width:100%}
  .contact-signature{padding:45px 25px}.contact-signature img{width:125px;height:85px}.service-contact .contact-signature p{font-size:44px}.service-contact .service-content{padding:45px 25px 50px}.service-contact h2{font-size:clamp(42px,10vw,55px)}
}

/* Touch, trackpad, keyboard and visible gallery controls. */
.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px}.gallery-status{font-size:12px;color:#d4d9cd;font-variant-numeric:tabular-nums}.gallery-buttons{display:flex;gap:8px}.gallery-buttons button{width:48px;height:48px;display:grid;place-items:center;border:1px solid #b8955e;background:transparent;color:#ead0a3;border-radius:50%;cursor:pointer}.gallery-buttons svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}.gallery-buttons button:hover:not(:disabled){background:#2d4234}.gallery-buttons button:disabled{opacity:.35;cursor:default}
.gothic-media{display:grid;grid-template-columns:1fr .9fr;gap:18px;align-items:center;min-width:0}.gothic-photos{display:grid;gap:16px;padding-top:22px;padding-bottom:22px}.gothic-photos figure{margin:0;overflow:hidden}.gothic-photos img{display:block;width:100%;height:100%;object-fit:cover}.gothic-arch{aspect-ratio:3/4;border-radius:50% 50% 0 0}.gothic-detail-photo{aspect-ratio:1;transform:rotate(4deg);border:5px solid #e8d7bd;box-shadow:0 12px 24px #0004}.gothic-detail-photo img{object-position:center 64%}
.contact-instagram{display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;margin-top:14px;font-size:12px;text-decoration:underline;text-underline-offset:5px}.contact-instagram:focus-visible{outline-color:#795a34}
@media(min-width:761px) and (max-width:1100px){.site-head{grid-template-columns:auto 1fr auto;gap:20px}.site-head nav{gap:16px}.organizers{grid-template-columns:1fr 1fr;gap:40px}.journey{grid-template-columns:34% 66%}.rail-sticky{padding-left:28px;padding-right:22px}.rail-sticky h2{font-size:46px}.chapter{padding-left:32px;padding-right:32px}.chapter h3{font-size:58px}}
@media(max-width:760px){.gothic-media{gap:12px}.gothic-photos{gap:14px;padding:12px 4px 12px 0}.gothic-detail-photo{border-width:3px;transform:rotate(3deg)}.hero-actions{flex-wrap:wrap}.organizers p,.gothic-copy p,.service-contact .service-content p{font-size:15px}.chapter>p{font-size:14px}.footer-bottom{flex-wrap:wrap;gap:16px}.footer-bottom a{min-height:44px;display:inline-flex;align-items:center}.contact-instagram{font-size:12px}.site-footer{padding-top:35px}.gallery-note .text-link{font-size:12px}}
@media(max-width:380px){.shell{width:calc(100% - 32px)}.hero-body{width:calc(100% - 32px);margin:0 16px}.hero h1{font-size:50px}.gothic-story{padding:28px 16px}.gothic-copy h3{font-size:46px}.contact-signature{padding-left:16px;padding-right:16px}.service-contact .service-content{padding-left:20px;padding-right:20px}.rail-nav{gap:4px}.rail-nav a>span{font-size:10px}.chapter{padding-left:18px;padding-right:18px}.chapter h3{font-size:43px}}
@media(min-width:761px) and (max-width:960px){.gothic-story{grid-template-columns:1fr}.gothic-media{width:100%;max-width:580px;justify-self:center}.gothic-copy{display:grid;grid-template-columns:1fr 1fr;gap:12px 28px;align-items:center}.gothic-copy h3{grid-row:1/4;margin:0}.gothic-copy .film-duration,.gothic-copy .text-link{margin:0}.gothic-copy .text-link{justify-self:start}}
@media(max-width:480px){.gothic-media{grid-template-columns:1fr;gap:18px}.gothic-player{max-width:280px;justify-self:center}.gothic-photos{grid-template-columns:1fr 1fr;align-items:center;gap:14px;padding:0 4px}.gothic-copy h3{font-size:48px}.hero-instagram{font-size:11px}}
