/* vWedding — white and gold, scoped by inclusion to public marketing pages. */
:root{--paper:#fffdf9;--ink:#292622;--muted:#6b6258;--gold:#d8b96e;--line:#e5d9c4;--dark:#302b25;--soft:#f7f0e3}
body,.lp{background:var(--paper);color:var(--ink)}
.site-header,.lp-header{background:#fffdf9;color:var(--ink);border-bottom:1px solid var(--line)}
.site-header nav,.site-header nav.open{background:#fffdf9;color:#514637;border-color:var(--line)}
.site-header nav a:hover,.text-link:hover{color:#805c20}
.menu-button{color:var(--ink);border-color:#bfa16a}
.brand-on-light{--brand-width:166px;position:relative;display:block;line-height:0;width:var(--brand-width)}
.brand-on-light img{width:var(--brand-width)!important;filter:brightness(0);opacity:.86}
.brand-on-light:after{content:'';position:absolute;left:0;top:0;width:17%;height:100%;background:url('../refresh-20261001/brand.png') left center / var(--brand-width) auto no-repeat;pointer-events:none}
h1 span,.lp-hero h1 em,.facts strong,.eyebrow,.contact-layout .eyebrow,.lp-contact .eyebrow,.film-copy .eyebrow{color:#896322}
.button{background:#d8b96e;color:#2f2618;border:1px solid #b88d3d;box-shadow:0 2px 0 #8e69151a}
.button:hover{background:#e4ca8d}
.button:focus-visible,a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid #8a601d;outline-offset:4px}
.secondary-button{color:var(--ink);border-color:#c7b592;background:#fff}
.film-section{background:#f8f2e7;color:var(--ink);border-block:1px solid var(--line)}
.film-copy p:not(.eyebrow),.film-copy .large-text{color:var(--ink)!important}
.film-copy .text-link,.text-link.light{color:#805c20}
.portrait-player p{color:var(--muted)}
.portrait-player video{border-color:#c6b89f}
.contact-section,.lp-contact{background:#f8f2e7;color:var(--ink);border-block:1px solid var(--line)}
.contact-layout>div>p:not(.large-text):not(.eyebrow),.lp-contact .contact-layout>div>p,.lp-person span,.lp-lead,.lp-hero .actions p{color:var(--muted)}
.lp-contact .contact-layout>div>.eyebrow{color:#896322}
.contact-layout form,.lp-contact form{background:#fff;border:1px solid #d9bf87;border-radius:6px;box-shadow:0 8px 28px #8a67240a}
.form-grid input,.form-grid select{border-color:#c9bea9;color:var(--ink)}
.form-grid label span,.form-grid legend span{color:#805c20}
.form-status.success{color:#72501e}.lp-contact .form-note{color:var(--muted)}
.lp-offer{background:#faf3e4;border:1px solid #d8bd87;border-right:4px solid #b48b3d;color:var(--ink)}
.lp-offer .price{color:#86601e}.lp-offer p{color:#665a49}
.scope-note{background:#f6eedf;color:#625442;border-color:#b18b47}
.process-section{background:#f7f0e3}
.site-footer,.lp-footer{background:#fffdf9;color:#514638;border-top:1px solid var(--line)}
.site-footer small,.lp-footer small{color:#736758;border-color:var(--line)}
.site-footer img{filter:brightness(0);opacity:.86}
.ambient-player,.hero-video-frame,.multi-view{background:#211e1b}
.ambient-toggle,.ambient-expand,.hero-toggle{background:#24211ee8}
.ambient-toggle:hover,.hero-toggle:hover{background:#29231d}
.mobile-contact{background:#fffdf9f5;border-color:#d7c49f}
.cookie-banner{border-color:#c9aa67;box-shadow:0 8px 35px #4c391b17}
.close-dialog{background:#876224;color:#fff}
.date-group{border:0;padding:0;margin:0;min-width:0}
.date-group legend{font-size:14px;font-weight:600;margin:0 0 8px;padding:0}
.date-group .date-parts{display:grid;grid-template-columns:minmax(50px,.9fr) minmax(72px,1.3fr) minmax(74px,1.1fr);gap:8px;direction:rtl}
.date-group .date-parts label{font-size:12px;font-weight:400;margin-bottom:5px;color:var(--muted)}
.date-group .date-parts input,.date-group .date-parts select{width:100%;min-width:0;padding-inline:7px}
.date-field{grid-column:1/-1;min-width:0}
.date-error{color:#a32321;font-size:13px;line-height:1.6;margin:8px 0 0}
.form-grid [aria-invalid=true]{border-color:#a32321}
@media(max-width:800px){.brand-on-light{--brand-width:140px}.lp-header .wrap{gap:15px}.lp-header .lp-call{font-size:12px}.site-header nav{background:#fffdf9}.lp-hero h1{line-height:1.22}.contact-layout form{padding:24px}}
@media(max-width:380px){.brand-on-light{--brand-width:120px}.contact-layout form,.lp-contact form{padding:20px}.date-group .date-parts{gap:6px}.lp-header .lp-call{font-size:11px}}

/* Allow video grids to shrink below intrinsic 300px media width on narrow phones. */
.hero>*,.lp-hero>*,.film-layout>*,.system-section>*,.contact-layout>*,.lp-proof>*,figure,.ambient-player{min-width:0}
video{max-width:100%;min-width:0}

.form-grid>.field-wide{grid-column:1/-1}
