/* A shorter, film-led home, in Jay-S's existing charcoal and lime palette. */
.wedding-home .hero{display:block;position:relative;isolation:isolate;min-height:680px;overflow:hidden;background:#101310}
.wedding-home .hero-media{position:absolute;inset:0}
.wedding-home .hero-media>img,.wedding-home .hero-media>video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:65% center}
.wedding-home .hero:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(8,12,10,.94) 0%,rgba(8,12,10,.76) 36%,rgba(8,12,10,.12) 76%),linear-gradient(0deg,rgba(8,12,10,.75),transparent 38%)}
.wedding-home .hero-copy{position:relative;z-index:2;width:100%;max-width:1560px;margin:auto;padding:4.5rem var(--page) 5.5rem;pointer-events:none}
.wedding-home .hero-copy a{pointer-events:auto}
.wedding-home .hero h1{font-size:clamp(3rem,5.5vw,6rem);line-height:1.04;letter-spacing:-.055em;max-width:950px}
.wedding-home .hero h1 em{color:var(--wine)}
.wedding-home .hero .eyebrow{color:#e3e8dd;margin-bottom:1.5rem;letter-spacing:.04em}
.wedding-home .hero-intro{max-width:440px;font-size:1.0625rem;line-height:1.65;color:#f2f3ed;margin-top:1.5rem}
.wedding-home .hero-actions{display:flex;align-items:center;gap:1.5rem;margin-top:1.8rem}
.wedding-home .hero-secondary{border-color:#c9d1be80;color:#fff;margin:0}
.wedding-home .hero-proof{margin-top:2rem;color:#f3f4ed;gap:.7rem}
.wedding-home .hero-proof>span:last-child{display:block}
.wedding-home .hero-proof .stars{color:var(--wine)}
.wedding-home .hero-location{margin-top:.6rem;color:#d0d7c9;font-size:.875rem}
.hero-film-controls{position:absolute;z-index:3;right:var(--page);bottom:2rem;display:flex;gap:.65rem;align-items:center}
.film-pause,.film-open{border:1px solid #ffffff60;background:#111811d9;color:#fff;min-height:44px;font-size:.875rem;line-height:1.4;display:inline-flex;gap:.65rem;align-items:center;justify-content:center;transition:background .2s}
.film-pause{width:44px;flex:none;padding:.5rem;border-radius:50%}
.film-open{padding:.7rem 1rem;border-radius:2px}
.film-open:hover,.film-pause:hover{background:#34402b}
.film-pause:focus-visible,.film-open:focus-visible{outline:2px solid var(--wine);outline-offset:3px}
.wedding-home .party{grid-template-columns:.9fr 1.1fr;gap:clamp(2rem,6vw,6rem);align-items:center;max-width:1560px;background:var(--paper);padding-block:5rem}
.wedding-home .party-copy{padding:0;max-width:500px;min-width:0}
.wedding-home .party-copy h2{font-size:clamp(2.25rem,3.6vw,3.75rem)}
.wedding-home .party-copy>p:not(.eyebrow){margin-top:1.5rem;line-height:1.75}
.wedding-home .party-copy .party-note{padding-left:1rem;border-left:2px solid var(--wine);margin-top:1.5rem;font-size:1rem;color:#e2e5db}
.wedding-home .party-copy .text-link{margin-top:1.5rem}
.all-films{display:block;width:fit-content;color:var(--muted);font-size:.875rem;margin-top:1rem;padding-block:.4rem;text-decoration:underline;text-underline-offset:.3rem}
.reel-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:1.25rem;max-width:580px;width:100%;justify-self:end}
.reel:nth-child(2){margin-top:3rem}
.reel{min-width:0}
.reel-media{position:relative;aspect-ratio:9/16;overflow:hidden;background:#0a0d0a;border-radius:3px}
.reel-media video{display:block;width:100%;height:100%;object-fit:cover}
.reel-media .film-pause{position:absolute;right:.7rem;top:.7rem}
.reel-media .film-open{position:absolute;bottom:.75rem;left:.75rem;right:.75rem;padding-inline:.5rem}
.reel figcaption{font-size:.875rem;padding-top:.85rem;color:var(--muted);line-height:1.5}
.wedding-home .reviews{padding-top:0;padding-bottom:4.5rem}
.wedding-home .reviews-heading{margin-bottom:1.7rem}
.wedding-home .reviews-grid{grid-template-columns:1.2fr 1fr 1fr;gap:2rem}
.wedding-home .reviews-grid figure{display:flex;flex-direction:column;gap:0;padding-top:1.3rem}
.wedding-home .reviews-grid .review-featured{border-top:2px solid var(--wine)}
.wedding-home .reviews blockquote,.wedding-home .reviews .review-featured blockquote{font-size:clamp(1.4rem,2vw,1.9rem);line-height:1.4}
.wedding-home .reviews figcaption{margin-top:auto;padding-top:1.2rem}
.wedding-home .review-source{margin-top:1.5rem;font-size:.8125rem}
.wedding-home .planning{grid-template-columns:.9fr 1.1fr;align-items:center;padding-block:4.5rem;gap:clamp(2.5rem,6vw,6rem);background:#f0f1ea}
.wedding-home .planning-portrait{position:static;margin:0;align-self:center}
.wedding-home .planning-portrait img{aspect-ratio:4/3;height:auto;max-height:none;object-position:43% 38%}
.wedding-home .planning-portrait figcaption{padding-top:.7rem}
.wedding-home .planning h2{font-size:clamp(2.25rem,3.7vw,3.8rem)}
.wedding-home .planning-intro .text-link{margin-top:1.5rem}
.wedding-home .planning a:focus-visible{outline-color:#475810}
.wedding-home .moments{padding-block:4rem;align-items:start;border:0;gap:clamp(2.5rem,6vw,6rem)}
.wedding-home .moments h2{font-size:clamp(2.15rem,3.2vw,3.3rem)}
.wedding-home .moments-intro p:not(.eyebrow){max-width:480px}
.wedding-home .moments-list{border-top:1px solid var(--line)}
.wedding-home .moments-list summary{font-size:1.0625rem;min-height:72px}
.wedding-home .production{grid-template-columns:1.2fr 1fr;gap:clamp(2.5rem,5vw,5rem);padding-block:0 4.5rem;align-items:center}
.wedding-home .production-photo img{aspect-ratio:16/10;height:auto;object-fit:cover}
.wedding-home .production h2{font-size:clamp(2rem,3vw,3.2rem)}
.wedding-home .production-copy>p:not(.eyebrow){margin-top:1rem}
.wedding-home .game-teaser{padding-block:3.5rem;grid-template-columns:1.1fr 1fr;gap:3rem}
.wedding-home .game-teaser h2{font-size:clamp(2rem,3.3vw,3.5rem)}
.wedding-home .game-preview{display:block;width:100%;aspect-ratio:16/9;overflow:hidden;background:#100f13}
.wedding-home .game-preview img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
.wedding-home .territories{padding-block:3.5rem;background:var(--paper)}
.wedding-home .territories-heading{margin-bottom:1.5rem;grid-template-columns:1fr 1fr;gap:2.5rem}
.wedding-home .territories-heading h2{font-size:clamp(2.1rem,3.5vw,3.6rem)}
.wedding-home .territories-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1.5rem;border:0;max-width:1368px;margin:auto}
.wedding-home .territory-link{border-top:1px solid var(--line);border-bottom:0;min-height:0;padding:1.2rem 0;gap:.5rem;align-content:start}
.wedding-home .territory-link .territory-name{font-size:clamp(1.3rem,1.8vw,1.8rem)}
.wedding-home .territory-link .territory-cities{font-size:.875rem}
.wedding-home .territory-link .territory-arrow{font-size:1.125rem;align-self:start}
.wedding-home .faq{padding-block:3rem}
.wedding-home .contact-inner{padding-block:4rem;align-items:start}
.wedding-home .contact-copy>p:not(.eyebrow){margin-top:1rem}
.wedding-home .contact-next{margin-top:1.5rem;margin-bottom:1rem}
.wedding-home .contact-phone{margin-top:1.5rem}
.wedding-home .contact-form .form-extra{margin-top:1.25rem}
.wedding-home .form-heading{padding-bottom:1rem;margin-bottom:1rem}
.wedding-home .form-heading p{margin-top:.4rem}
.wedding-home .form-row{margin-bottom:0}
.wedding-home .contact-form .form-extra-content .couple-field,.wedding-home .contact-form .form-extra-content .moments-choice{margin:0}
.wedding-home .contact-form .form-extra-content{padding-top:.5rem}
.film-dialog{color:#f5f5ef;background:#101410;border:1px solid #58614d;border-radius:4px;width:min(960px,calc(100vw - 2rem));max-height:calc(100svh - 2rem);padding:1rem;overflow:auto}
.film-dialog::backdrop{background:#060906e8}
.film-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-bottom:.8rem}
.film-dialog-bar h2{font:500 1.0625rem/1.4 var(--sans);letter-spacing:0}
.film-close{display:inline-flex;align-items:center;gap:.7rem;color:inherit;background:none;border:1px solid #606856;min-height:44px;padding:.4rem .75rem;font-size:.875rem}
.film-close span{font-size:1.5rem}
.film-dialog video{display:block;margin:auto;max-width:100%;width:auto;height:auto;max-height:calc(100svh - 10rem);background:#000}
.film-dialog p{font-size:.875rem;color:var(--muted);margin-top:.75rem}
.film-error a{text-decoration:underline}
html:has(.film-dialog[open]){overflow:hidden}
@media(min-width:1600px){.wedding-home .hero{min-height:800px}.wedding-home .hero-copy{padding-block:5.5rem 6.5rem}}
@media(max-width:1000px){.wedding-home .hero h1{font-size:clamp(3rem,6.3vw,4.8rem)}.wedding-home .party{gap:2.5rem;grid-template-columns:1fr 1.1fr}.wedding-home .territories-list{grid-template-columns:repeat(3,minmax(0,1fr))}.wedding-home .reviews-grid{gap:1.5rem}}
@media(max-width:700px){
 .wedding-home .hero{display:block;min-height:680px;min-height:min(780px,calc(100svh - 76px))}
 .wedding-home .hero:after{background:linear-gradient(90deg,rgba(8,12,10,.79),rgba(8,12,10,.3)),linear-gradient(0deg,rgba(8,12,10,.9),rgba(8,12,10,.13) 80%)}
 .wedding-home .hero-media>img,.wedding-home .hero-media>video{object-position:67% center}
 .wedding-home .hero-copy{padding:2.75rem var(--page) 6.5rem}
 .wedding-home .hero .eyebrow{font-size:.875rem;letter-spacing:0;margin-bottom:1.4rem}
 .wedding-home .hero h1{font-size:clamp(2.5rem,9.4vw,4.1rem);line-height:1.08;letter-spacing:-.045em}
 .wedding-home .hero-intro{font-size:1rem;max-width:340px;margin-top:1.25rem}
 .wedding-home .hero-actions{gap:1rem;flex-wrap:wrap;margin-top:1.4rem}
 .wedding-home .hero-actions .button{font-size:.875rem;padding:.9rem 1rem}
 .wedding-home .hero-secondary{font-size:.875rem}
 .wedding-home .hero-proof{margin-top:1.6rem;font-size:.875rem}
 .wedding-home .hero-location{font-size:.875rem;max-width:310px}
 .hero-film-controls{bottom:1.5rem;left:var(--page);right:auto}
 .wedding-home .party{grid-template-columns:1fr;gap:2rem;padding-block:3rem}
 .wedding-home .party-copy{padding:0;max-width:none}
 .wedding-home .party-copy h2{font-size:2.25rem}
 .wedding-home .party-copy>p:not(.eyebrow){margin-top:1.15rem}
 .reel-grid{gap:.85rem;max-width:500px;justify-self:center}
 .reel:nth-child(2){margin-top:1.5rem}
 .reel-media .film-open{font-size:.875rem;left:.45rem;right:.45rem;bottom:.6rem;gap:.35rem;padding:.55rem .35rem}
 .reel-media .film-pause{top:.5rem;right:.5rem}
 .reel figcaption{font-size:.875rem;padding-top:.65rem}
 .wedding-home .reviews{padding-bottom:3rem}
 .wedding-home .reviews-grid{grid-template-columns:1fr;gap:1.5rem}
 .wedding-home .reviews-grid figure{padding-top:1.1rem}
 .wedding-home .reviews blockquote,.wedding-home .reviews .review-featured blockquote{font-size:1.6rem}
 .wedding-home .reviews figcaption{padding-top:.8rem}
 .wedding-home .planning{display:grid;grid-template-columns:1fr;gap:1.75rem;padding-block:3rem}
 .wedding-home .planning-portrait{order:2}
 .wedding-home .planning h2{font-size:2.3rem}
 .wedding-home .planning-intro>p:not(.eyebrow){margin-top:1rem}
 .wedding-home .moments{grid-template-columns:1fr;padding-block:3rem;gap:1.7rem}
 .wedding-home .moments h2{font-size:2.15rem}
 .wedding-home .moments-list summary{min-height:66px;padding-block:1rem}
 .wedding-home .production{grid-template-columns:1fr;gap:1.5rem;padding-bottom:3rem}
 .wedding-home .production-photo{order:2}
 .wedding-home .production h2{font-size:2.15rem}
 .wedding-home .game-teaser{grid-template-columns:1fr;padding-block:3rem;gap:1.75rem}
 .wedding-home .territories{padding-block:3rem}
 .wedding-home .territories-heading{grid-template-columns:1fr;gap:1rem}
 .wedding-home .territories-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem 1.25rem}
 .wedding-home .territory-link.featured{grid-column:1/-1}
 .wedding-home .territory-link .territory-name{font-size:1.5rem}
 .wedding-home .faq{padding-block:2.5rem;gap:1.25rem}
 .wedding-home .contact-inner{padding-block:3rem;gap:1.75rem}
 .wedding-home .form-row{grid-template-columns:1fr;gap:.85rem}
 .film-dialog{padding:.75rem}
}
@media(prefers-reduced-motion:reduce){.film-pause,.film-open{transition:none}}
