/* XV anos shares the wedding page's layout, type, spacing and package styles. */
.xv-page .hero-video{background:#0d0d0d}
.xv-page .video-open{display:block;text-decoration:none}
.xv-page .video-open img{aspect-ratio:16/9;object-fit:cover}
.xv-page .wedding-form .form-row{row-gap:16px}
.xv-page .wedding-form label{font-size:.875rem}
.xv-page .wedding-form input,.xv-page .wedding-form select,.xv-page .wedding-form textarea{font-size:1rem}
.xv-page .form-consent span{font:inherit}
.xv-page [hidden]{display:none!important}
.xv-page #form-status{font-size:.875rem;margin:0}
.xv-page .optional{font-size:.875rem;font-weight:400}
.xv-page .video-modal{padding:16px;max-height:94dvh;overflow:auto}
.xv-page .modal-head{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.xv-page .modal-head h2{font:400 1.25rem var(--serif);margin:0}
.xv-page #close-video{color:white;background:transparent;border:1px solid #777;padding:10px 14px;cursor:pointer;min-height:44px}
.xv-page #video-frame{aspect-ratio:16/9}
.xv-page #video-frame iframe{width:100%;height:100%;border:0}
.xv-page .video-modal>p{font-size:.875rem;padding:0 8px}
.xv-page #youtube-link{text-decoration:underline}
.xv-page a:focus-visible,.xv-page button:focus-visible{outline:2px solid currentColor;outline-offset:5px}
/* XV: rose, plum and champagne. Scoped to keep wedding and Lux Nov independent. */
body.xv-page{--paper:#fff6f2;--ink:#482638;--line:#dec7d0;--rose:#f3c9d4;--plum:#542840;--champagne:#f3dfbf;background:var(--paper);color:var(--ink)}
.xv-page .nav{background:rgba(64,29,49,.93);border-bottom:1px solid #c995ad55;color:#fff6f2}
.xv-page .nav-cta{border-color:#f3c9d4;background:#f3c9d4;color:#482638;border-radius:30px;padding-inline:20px}
.xv-page .nav-cta:hover{background:#f3dfbf;color:#482638}
.xv-page .hero{background:#542840;color:#fff6f2}
.xv-page .hero-video{background:#542840}
.xv-page .hero-shade{background:linear-gradient(90deg,rgba(57,23,44,.88),rgba(57,23,44,.35) 65%,rgba(57,23,44,.12))}
.xv-page .hero h1{max-width:950px;line-height:1.06}
.xv-page .hero h1 em{color:#f8d3dd}
.xv-page .hero .intro{color:#fff0f2;max-width:510px}
.xv-page .button{border-radius:30px;background:#713951;color:#fff6f2;border-color:#713951;transition:background .2s,transform .2s}
.xv-page .button.light{background:#f3c9d4;color:#482638;border-color:#f3c9d4}
.xv-page .button:hover{background:#623047;color:#fff6f2;transform:translateY(-2px)}
.xv-page .hero-motion{background:rgba(64,29,49,.75);border-color:#efbfd0;border-radius:24px;color:#fff6f2}
.xv-page .hero .eyebrow{color:#f3dfbf}
.xv-page .celebration-strip{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:18px 36px;padding:24px;background:#f3c9d4;color:#542840;font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}
.xv-page .celebration-strip i{font-style:normal;font-size:17px;color:#713951}
.xv-page .manifesto{background:#fff6f2}
.xv-page .portrait-wrap img{filter:none;border-radius:160px 160px 12px 12px}
.xv-page .portrait-wrap:before{border-color:#b87591;border-radius:160px 160px 12px 12px}
.xv-page .manifesto-copy p{color:#725266}
.xv-page .manifesto-copy h2 em,.xv-page .formats h2 em,.xv-page .wedding-process h2 em,.xv-page .faq h2 em{color:#974c6a}
.xv-page .manifesto-copy blockquote{color:#87425e;border-color:#c48da3}
.xv-page .eyebrow.dark{color:#87425e}
.xv-page .dark-section{background:#542840;color:#fff6f2}
.xv-page .dark-section .eyebrow,.xv-page .dark-section .section-heading>p{color:#edc4d3}
.xv-page .dark-section h2 em{color:#f3dfbf}
.xv-page .film-grid{gap:38px 28px}
.xv-page .film-card{border-bottom:1px solid #b9839b55;padding-bottom:15px}
.xv-page .film-card .video-open{overflow:hidden;border-radius:12px}
.xv-page .film-card .video-open img{filter:none;transition:transform .45s}
.xv-page .film-card .video-open:hover img{transform:scale(1.035)}
.xv-page .film-card h3{color:#fff6f2}
.xv-page .film-card>div>p{color:#edc4d3}
.xv-page .play{background:#f8d3dd;color:#542840;border-color:#f8d3dd}
.xv-page .channel-link{border-color:#dca5bd;color:#f8d3dd}
.xv-page .formats{background:#fff6f2}
.xv-page .format-list article{border-color:#dec7d0}
.xv-page .format-list article>span{color:#974c6a}
.xv-page .format-list p{color:#725266}
.xv-page .wedding-process{background:#f7e5eb;border-color:#dec7d0}
.xv-page .process-grid article{border-color:#c695aa}
.xv-page .process-grid span{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e7bacb;color:#542840}
.xv-page .process-grid p{color:#725266}
.xv-page .packages{background:#efe0e9;color:#482638}
.xv-page .packages .eyebrow{color:#87425e}
.xv-page .packages h2 em{color:#974c6a}
.xv-page .packages .section-heading>p{color:#725266}
.xv-page .package-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px;max-width:1100px;margin:auto}
.xv-page .package-card{background:#fff8f5;border:1px solid #dcb9c9;border-radius:16px;padding:38px;color:#482638}
.xv-page .package-card.selected{background:#63314c;color:#fff6f2;border-color:#63314c;box-shadow:0 16px 45px #54284018}
.xv-page .package-top{border-color:#dcb9c9;display:flex;flex-direction:column;align-items:flex-start;gap:16px}
.xv-page .package-top span{color:inherit;font-size:.9rem}
.xv-page .package-top strong{color:inherit;font-size:clamp(2rem,4vw,3rem)}
.xv-page .package-card ul{color:#725266;min-height:260px}
.xv-page .package-card.selected ul{color:#f5dae5}
.xv-page .package-card li{border-color:#dcb9c944}
.xv-page .package-card>a{display:block;text-align:center;padding:16px 18px;border:1px solid #975f79;border-radius:28px;background:#f3d5df;color:#542840;font-weight:600;letter-spacing:.06em}
.xv-page .package-card>a:hover{background:#f3dfbf}
.xv-page .package-badge{display:inline-block;padding:5px 12px;background:#f3dfbf;color:#542840;border-radius:20px;font-size:.65rem;letter-spacing:.08em;margin:0 0 24px}
.xv-page .payment-note{color:#725266}
.xv-page .reserve{background:#542840;color:#fff6f2;isolation:isolate}
.xv-page .reserve>img{filter:none;opacity:.15;object-fit:cover}
.xv-page .reserve-shade{background:linear-gradient(135deg,rgba(84,40,64,.92),rgba(111,57,83,.9))}
.xv-page .reserve h2 em{color:#f3c9d4}
.xv-page .wedding-form{background:#fff6f2;border:1px solid #e5baca;border-radius:18px;color:#482638;box-shadow:0 20px 60px #35112722;backdrop-filter:none}
.xv-page .wedding-form label{color:#63314c;letter-spacing:0;text-transform:none;font-weight:500}
.xv-page .wedding-form input:not([type=checkbox]),.xv-page .wedding-form select,.xv-page .wedding-form textarea{background:#fffdfb;color:#482638;border:1px solid #cfafbf;border-radius:8px;padding:12px;min-height:48px}
.xv-page .wedding-form input::placeholder,.xv-page .wedding-form textarea::placeholder{color:#876578}
.xv-page .wedding-form select option{background:#fff6f2;color:#482638}
.xv-page .wedding-form :is(input,select,textarea):focus-visible{outline-color:#974c6a}
.xv-page .wedding-form .form-consent{color:#725266!important}
.xv-page .wedding-form input[type=checkbox]{accent-color:#87425e}
.xv-page .wedding-form .button{background:#713951;color:#fff6f2;justify-content:center}
.xv-page #form-status{color:#63314c}
.xv-page .faq{background:#fff6f2;color:#482638}
.xv-page .faq .eyebrow{color:#87425e}
.xv-page .faq-list,.xv-page .faq details{border-color:#dec7d0}
.xv-page .faq details p{color:#725266}
.xv-page footer{background:#422136;color:#fff6f2;border-color:#825269}
.xv-page footer>p{color:#e6b9cb}
.xv-page .video-modal{background:#422136;color:#fff6f2;border-radius:12px}
.xv-page .video-modal::backdrop{background:rgba(42,16,32,.9)}
@media(max-width:800px){.xv-page .nav-cta{padding-inline:12px;font-size:.58rem}.xv-page .hero .hero-shade{background:linear-gradient(180deg,rgba(57,23,44,.35),rgba(57,23,44,.08) 25%,rgba(57,23,44,.6) 50%,rgba(57,23,44,.96) 100%)}.xv-page .hero{min-height:max(720px,100svh)}.xv-page .hero h1{font-size:clamp(2.7rem,11vw,4.5rem)}.xv-page .hero-actions .button{justify-content:center}.xv-page .celebration-strip{gap:10px 16px;font-size:.6rem;letter-spacing:.08em;padding:20px 14px}.xv-page .package-grid{grid-template-columns:1fr;gap:24px}.xv-page .package-card{padding:30px 24px}.xv-page .package-card ul{min-height:0;margin-bottom:30px}.xv-page .package-top strong{font-size:2.5rem}.xv-page .wedding-form{padding:24px 18px}.xv-page .reserve-copy>p{color:#fff0f5}.xv-page .portrait-wrap img{max-height:480px;object-fit:cover}}
@media(prefers-reduced-motion:reduce){.xv-page .button,.xv-page .film-card .video-open img{transition:none}.xv-page .button:hover,.xv-page .film-card .video-open:hover img{transform:none}}
