@font-face{font-family:Involve;src:url('/assets/involve-regular.woff') format('woff');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:Involve;src:url('/assets/involve-bold.woff') format('woff');font-style:normal;font-weight:700;font-display:swap}
@font-face{font-family:'Playfair Display';src:url('/assets/playfair-italic.woff') format('woff');font-style:italic;font-weight:400;font-display:swap}
:root{--red:#d71016;--ink:#212121;--muted:#696969;--line:#d4d4d4;--wash:#fff1f1}
*{box-sizing:border-box}
html{color-scheme:light}
body{margin:0;background:#fff;color:var(--ink);font:15px/1.5 Involve,Arial,sans-serif}
a{color:inherit;text-underline-offset:4px}
button,input{font:inherit}
button,a,input{-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
button:disabled{opacity:.5;cursor:wait}
button,a,input,.upload{transition:background-color .18s,color .18s,border-color .18s}
input:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--red);outline-offset:4px}
::selection{background:var(--wash);color:var(--red)}
.top{min-height:104px;padding:20px 48px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:24px}
.brand{flex-shrink:0;display:inline-flex;align-items:center;text-decoration:none}
.brand img{display:block;width:120px;height:auto}
.header-links{display:flex;gap:48px;align-items:center}
.header-links a{text-transform:uppercase;text-decoration:none;font-size:13px}
.header-links a:hover{color:var(--red)}
.header-links a span{margin-left:14px}
.header-links .header-contact{font:italic 19px/1.3 'Playfair Display',Georgia,serif;color:var(--red)}
.layout{max-width:1600px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr}
.intro{padding:46px 48px 60px;min-width:0}
.eyebrow{font:italic 15px/1.4 'Playfair Display',Georgia,serif;color:var(--red);margin:0}
h1,h2,h3,p{overflow-wrap:break-word}
h1{font-size:clamp(48px,5.2vw,78px);line-height:1.02;font-weight:700;text-transform:uppercase;color:var(--red);letter-spacing:-.055em;margin:35px 0 28px}
em{font-family:'Playfair Display',Georgia,serif;font-weight:400}
h1 em{letter-spacing:-.035em}
h2{font-size:42px;line-height:1.05;font-weight:700;text-transform:uppercase;color:var(--red);letter-spacing:-.035em;margin:26px 0 20px}
h2 em{letter-spacing:-.025em}
.lead{font-size:18px;line-height:1.5;margin:0}
.intro-line{width:100%;height:1px;background:var(--line);margin:54px 0 28px}
.steps{display:grid;grid-template-columns:55px 1fr;column-gap:20px;row-gap:25px}
.steps>span{font:italic 18px/1.4 'Playfair Display',Georgia,serif;color:var(--red)}
.steps strong{font-size:14px;font-weight:700;text-transform:uppercase}
.steps p{font-size:13px;color:var(--muted);margin:5px 0 0}
.contact{margin:65px 0 0;font-size:13px;color:var(--muted);line-height:1.8}
.contact a{display:inline-flex;align-items:center;gap:20px;color:var(--ink);font-size:16px;text-decoration:none;border-bottom:1px solid var(--ink)}
.contact a:hover{color:var(--red);border-color:var(--red)}
.card{background:#fff;border:0;border-left:1px solid var(--line);padding:46px 48px 50px;min-width:0}
.card-head{display:flex;justify-content:space-between;gap:20px;align-items:center}
.duration{color:var(--muted);font-size:12px;white-space:nowrap}
.muted{color:var(--muted);font-size:13px;margin:0 0 30px}
.field{display:block}
.field,legend{font-size:13px;font-weight:700}
b{color:var(--red);font-weight:400}
.field input{margin-top:10px}
input:not([type=checkbox]):not([type=file]):not([type=hidden]){display:block;width:100%;min-width:0;padding:13px 0;border:0;border-bottom:1px solid #9a9a9a;border-radius:0;background:#fff;color:var(--ink);font-size:15px;font-weight:400}
input::placeholder{color:#858585;opacity:1}
input:not([type=checkbox]):focus{border-bottom-color:var(--red)}
fieldset{border:0;padding:0;margin:28px 0;min-width:0}
legend{padding:0;margin-bottom:12px}
.dates{display:grid;grid-template-columns:minmax(0,1fr) 20px minmax(0,1fr);align-items:end;gap:18px}
.dates label{font-size:11px;color:var(--muted);min-width:0}
.dates input{margin-top:2px}
.dates>span{align-self:end;padding-bottom:13px;text-align:center;color:#9a9a9a}
.documents-heading{margin-top:30px}
.documents-heading h3{font-size:13px;font-weight:700;margin:0}
.documents-heading p{font-size:11px;color:var(--muted);margin:6px 0 15px}
.uploads{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.upload{position:relative;border:1px solid var(--line);padding:18px 14px 14px;display:flex;flex-direction:column;align-items:flex-start;min-width:0;overflow:hidden;background:#fff}
.upload:hover{border-color:var(--red);background:var(--wash)}
.upload-icon{font-size:27px;line-height:1;color:var(--red);margin-bottom:16px}
.upload strong{font-size:12px;font-weight:700}
.file-name{font-size:10px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px}
.choose{font-size:11px;margin-top:24px;width:100%;display:flex;justify-content:space-between;gap:8px;color:var(--red)}
.choose>span{font-size:16px;line-height:1}
.upload input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.upload:focus-within{outline:2px solid var(--red);outline-offset:3px}
.file-error{font-size:10px;color:var(--red)}
.agreements{margin:27px 0}
.additional-guests{margin-top:30px;padding-top:25px;border-top:1px solid var(--line)}
.additional-guests>h3{font-size:15px;margin:0 0 8px}
.additional-guests>.muted{font-size:11px;line-height:1.7;margin-bottom:18px}
.add-guest{display:flex;justify-content:space-between;align-items:center;gap:18px;width:100%;min-height:48px;padding:12px 16px;border:1px solid var(--red);background:#fff;color:var(--red);font-size:13px;text-align:left}
.add-guest:hover:not(:disabled){background:var(--wash)}
.add-guest:disabled{cursor:default}
.guest-status{font-size:11px;color:var(--muted);margin:10px 0 0}
.guest-status:empty{display:none}
fieldset.guest-block{position:relative;border-top:1px solid var(--line);margin:24px 0;padding:18px 0 0}
.guest-title{color:var(--red);font-size:15px;padding-right:10px;margin:0}
.remove-guest{display:block;margin:0 0 15px auto;padding:5px 0;border:0;background:transparent;color:var(--muted);font-size:11px;text-decoration:underline;text-underline-offset:3px}
.remove-guest:hover{color:var(--red)}
.guest-block .uploads{margin-top:20px}
.guest-documents{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.guest-documents h4{font-size:14px}
.check{display:flex;align-items:flex-start;gap:10px;margin:15px 0;font-size:11px;color:var(--muted);line-height:1.7}
.check input{accent-color:var(--red);margin:3px 0 0;flex-shrink:0;width:15px;height:15px}
.check a,.text-button{color:var(--ink)}
.text-button{padding:0;border:0;background:none;font:inherit;text-decoration:underline;text-underline-offset:4px}
.text-button:hover,.check a:hover{color:var(--red)}
.submit{display:flex;justify-content:space-between;gap:16px;align-items:center;width:100%;min-height:57px;padding:17px 20px;border:1px solid var(--red);border-radius:0;background:var(--red);color:#fff;font-size:14px;text-transform:uppercase}
.submit>span:last-child:not(:first-child){font-size:23px;line-height:1}
.submit:hover:not(:disabled){background:#b40d12;border-color:#b40d12}
.submit-note{text-align:center;color:var(--muted);font-size:10px;margin:14px 0 0}
.honeypot{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.error{padding:15px;background:var(--wash);color:#a00d12;border-left:2px solid var(--red);font-size:13px;margin:20px 0}
.success{padding:26px 0;margin-top:28px;border-top:1px solid var(--line)}
.success h3{margin:0 0 12px;color:var(--red);font-size:22px;font-weight:400}
.success p,.success a{font-size:14px}
.success a{display:inline-block;margin-top:15px;color:var(--red)}
dialog{border:0;border-top:4px solid var(--red);border-radius:0;padding:32px;max-width:760px;width:calc(100% - 32px);color:var(--ink)}
dialog::backdrop{background:#21212199}
.dialog-top{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}
.dialog-top h2{margin:0;font-size:29px}
.dialog-top button{flex-shrink:0;background:transparent;border:0;padding:0 6px;color:var(--red);font-size:30px;line-height:1;min-width:32px}
.rules-text{max-height:60vh;overflow:auto;margin:25px 0;font-size:14px}
.rules-text pre{white-space:pre-wrap;font:inherit}
.viewer{max-width:920px;margin:0 auto;padding:32px}
.viewer>header{display:flex;justify-content:space-between;align-items:center;padding-bottom:26px;border-bottom:1px solid var(--line);gap:20px}
.viewer .card{border:0;border-bottom:1px solid var(--line);margin:0;padding:36px 0}
.viewer h1{font-size:clamp(28px,5vw,48px)}
.viewer h2{font-size:clamp(26px,4vw,38px)}
.viewer img:not(.brand img){max-width:100%;max-height:70vh;object-fit:contain;display:block;margin:20px auto}
.viewer .field{margin:22px 0}
.viewer .logout{border:1px solid var(--line);padding:10px 18px;background:#fff;font-size:13px}
.viewer .logout:hover{color:var(--red);border-color:var(--red)}
.document-link{display:inline-block;padding:14px 20px;border:1px solid var(--red);color:var(--red);text-decoration:none}
.document-link:hover{background:var(--wash)}
.consent{white-space:pre-wrap;font:inherit;font-size:14px;line-height:1.8}
@media(min-width:1601px){.top{padding-left:max(48px,calc((100vw - 1504px)/2));padding-right:max(48px,calc((100vw - 1504px)/2))}}
@media(max-width:1100px){.top{padding:20px 32px}.intro,.card{padding-left:32px;padding-right:32px}.header-links{gap:28px}h1{font-size:56px}h2{font-size:37px}.dates{gap:10px}.upload{padding:16px 10px 12px}}
@media(max-width:760px){
.top{padding:18px 22px;min-height:86px}.brand img{width:100px}.header-links{gap:20px}.header-links a{font-size:11px}.header-links a span{margin-left:4px}.header-links .header-contact{display:none}
.layout{display:block}.intro{padding:29px 22px 31px}.eyebrow{font-size:13px}h1{font-size:clamp(43px,11vw,66px);line-height:1.01;margin:24px 0 20px}.lead{font-size:15px;line-height:1.6;max-width:390px}.lead br{display:none}.steps,.intro-line,.contact{display:none}
.card{border-left:0;border-top:1px solid var(--line);padding:27px 22px 40px}h2{font-size:36px;margin:23px 0 18px}.muted{font-size:12px;margin-bottom:27px}.duration{font-size:11px}.field,legend{font-size:12px}
input:not([type=checkbox]):not([type=file]):not([type=hidden]){font-size:16px;min-height:48px}.dates{gap:10px;grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)}.dates input{font-size:14px!important}
.uploads{gap:12px}.upload{padding:16px 11px 13px}.upload strong{font-size:11px}.file-name{font-size:9px}.choose{font-size:10px;margin-top:22px}.documents-heading p{font-size:10px}.check{font-size:11px;gap:10px}.submit{min-height:56px;font-size:13px}.submit-note{font-size:9px}
dialog{padding:24px 20px}.dialog-top h2{font-size:25px}.rules-text{font-size:13px}.viewer{padding:22px}.viewer>header{padding-bottom:20px}.viewer .card{padding:28px 0}
}
@media(max-width:360px){.top{padding-left:18px;padding-right:18px}.intro,.card,.viewer{padding-left:18px;padding-right:18px}h1{font-size:43px}h2{font-size:32px}.uploads{grid-template-columns:1fr}.upload{min-height:145px}.file-name{font-size:11px}.upload strong{font-size:12px}.choose{font-size:11px;margin-top:16px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{transition:none!important}}
