@font-face{font-family:Forum;src:url('variant-b/fonts/Forum-Regular.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}@font-face{font-family:EBGaramond;src:url('assets/fonts/EBGaramond-Regular.ttf') format('truetype');font-weight:400 800;font-style:normal;font-display:swap}
:root{--night:#352c26;--text:#f5ece1;--muted:#d4c5b4;--line:#93816f;--paper:#352c26;--ink:#f5ece1}*{box-sizing:border-box}body{margin:0;background:var(--night);color:var(--text);font:16px/1.6 Arial,sans-serif}p,h1,h2,figure{margin:0}button,input,textarea{font:inherit;color:inherit}.preview-note{display:none}body[data-mode=draft] .preview-note{display:block;padding:4px 10px;text-align:center;background:#c7b8a9;color:#352921;font-size:10px;line-height:1.4}.photo-scene{background:linear-gradient(to bottom,#d8cfc6 0%,#b5a79a 43%,#736153 73%,var(--night) 100%)}.cover-heading{height:106px;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:12px 14px;color:#352921}h1{font:400 clamp(44px,14vw,56px)/1.05 Oranienbaum,Georgia,serif;letter-spacing:0;white-space:nowrap}.names{font:italic 400 19px/1.3 EBGaramond,Georgia,serif;margin-top:8px}.cover-photo{max-width:680px;margin:auto}.cover-photo img{display:block;width:100%;height:auto;mask-image:linear-gradient(to bottom,transparent,#000 3%,#000 84%,transparent 100%)}.invitation-copy{max-width:556px;padding:14px 24px 0;margin:auto;text-align:center;font-family:EBGaramond,Georgia,serif}.personal-message{font-size:24px;line-height:1.3;max-width:460px;margin:auto}.date{font-size:25px;line-height:1.2;margin-top:26px}.city{font-size:18px;line-height:1.4;margin-top:4px;color:var(--muted)}.events{font-size:20px;line-height:1.45;margin-top:18px}.later{font-size:18px;line-height:1.4;color:var(--muted);margin-top:12px}.reply{max-width:508px;width:calc(100% - 48px);margin:24px auto 0;padding-bottom:32px}summary{list-style:none;display:flex;align-items:center;justify-content:center;gap:12px;min-height:50px;padding:11px 12px;border:1px solid #e3d3c1;background:transparent;color:var(--text);font:400 19px/1.3 EBGaramond,Georgia,serif;cursor:pointer}summary::-webkit-details-marker{display:none}.summary-open{display:none}details[open] .summary-open{display:inline}details[open] .summary-closed{display:none}.summary-mark{font:20px/1 Arial,sans-serif}details[open] .summary-mark{transform:rotate(45deg)}.reply-content{padding-top:30px}.reply-content h2{font:400 37px/1.1 EBGaramond,Georgia,serif;text-align:center}.reply-intro{font-size:15px;line-height:1.6;margin:12px 0 14px;text-align:center;color:var(--muted)}.form-status{font-size:12px;line-height:1.5;margin:0 0 28px;text-align:center;color:var(--muted)}.field-label{display:block;font-size:16px;line-height:1.5;margin:0 0 10px}.reply input:not([type=radio]),.reply textarea{display:block;width:100%;min-height:48px;padding:11px 0;border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;color:var(--text);font:16px/1.5 Arial,sans-serif}.reply input::placeholder,.reply textarea::placeholder{color:#c4b19d;opacity:1}.reply input:not([type=radio]):focus,.reply textarea:focus{outline:0;border-bottom:2px solid var(--text);padding-bottom:10px}.event-response{min-width:0;border:0;border-top:1px solid #786657;margin:30px 0 0;padding:24px 0 0}.event-response legend{float:left;width:100%;padding:0;margin:0 0 16px;font-weight:400}.event-date{display:block;font:12px/1.5 Arial,sans-serif;letter-spacing:.07em;color:var(--muted);margin-bottom:3px}.event-title{display:block;font:400 31px/1.05 EBGaramond,Georgia,serif}.event-time{display:block;font:14px/1.5 Arial,sans-serif;color:var(--muted);margin-top:7px}.choices{clear:both;display:grid;grid-template-columns:1fr;gap:8px;margin-bottom:20px}.choices label{display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:48px;padding:12px;border:1px solid #a18b75;font-size:16px;line-height:1.25;cursor:pointer}.choices input{margin:0;width:16px;height:16px;flex:0 0 16px;accent-color:#ead8c3}.choices label:has(input:checked){border:2px solid var(--text);padding:11px;background:#665344}.choices label:has(input:checked) span{font-weight:600}.choices label:has(input:focus-visible){outline:2px solid var(--text);outline-offset:3px}.choices input:focus-visible{outline:0}.comment-response{border-top:1px solid #786657;padding-top:26px;margin-top:30px}.optional{font-size:14px;color:var(--muted)}textarea{resize:vertical}.button{width:100%;min-height:50px;margin-top:28px;padding:10px 15px;font:400 20px/1.3 EBGaramond,Georgia,serif}.button:disabled{background:#493c31;color:#c4b19d;border:1px solid #8c7762;cursor:not-allowed}summary:focus-visible,button:focus-visible{outline:2px solid var(--text);outline-offset:4px}@media(min-width:600px){.cover-heading{height:116px}.choices{grid-template-columns:repeat(3,minmax(0,1fr))}.choices label{justify-content:center;gap:6px;padding:11px 7px}.choices label:has(input:checked){padding:10px 6px}.invitation-copy{padding-top:18px}.reply{padding-bottom:44px}}
/* User-selected B: rounded native radio options. */
.choices label{border-radius:12px}

/* Headline-only refinement: existing genuine EB Garamond Italic. */
.cover-heading{height:90px}h1{font-family:EBGaramond,Georgia,serif;font-style:italic;font-weight:400;font-size:clamp(44px,13.5vw,60px);line-height:1.08;letter-spacing:-.02em}@media(min-width:600px){.cover-heading{height:108px}h1{font-size:64px}}

.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.reply .guest-list{min-height:96px}

/* Explicit input surfaces and consistent single-line options, approved design brief. */
.reply .guest-list{min-height:112px;padding:14px 16px;background:#40352d;border:1px solid #8e7b68;border-radius:10px;resize:vertical;line-height:1.5}.reply .guest-list:focus{padding:14px 16px;border:1px solid #e3d3c1;outline:2px solid #f5ece1;outline-offset:3px}.choices{grid-template-columns:1fr}.choices label{justify-content:flex-start;gap:10px;padding:12px;white-space:nowrap;min-height:48px}.choices label:has(input:checked){padding:11px}.choices input{appearance:none;-webkit-appearance:none;display:inline-grid;place-content:center;width:18px;height:18px;flex:0 0 18px;border:1px solid #bda58c;border-radius:50%;background:#cdb79f;accent-color:#cdb79f}.choices input::before{content:'';width:8px;height:8px;border-radius:50%;background:#352c26;transform:scale(0)}.choices input:checked{background:#ead4b8;border-color:#ead4b8}.choices input:checked::before{transform:scale(1)}
@media(forced-colors:active){.choices input{appearance:auto;-webkit-appearance:auto;forced-color-adjust:auto;background:Canvas;border:0;accent-color:auto}.choices input::before{content:none}.choices label:has(input:checked){background:Canvas;color:CanvasText;border-color:Highlight}.choices label:has(input:focus-visible){outline-color:Highlight}}

/* Separate personal paragraphs and compact label-to-field rhythm. */
.personal-message p+p{margin-top:12px}.heart{text-shadow:0 0 5px rgba(245,236,225,.35)}.name-response .field-label,.comment-response .field-label{margin-bottom:6px}.reply #guest{height:48px;min-height:48px;padding:6px 0 17px}.reply #guest:focus{padding-bottom:16px}.reply #comment{height:65px;min-height:65px;padding:4px 0 12px}.reply #comment:focus{padding-bottom:11px}
@media(max-width:360px){.reply #comment{height:89px;min-height:89px}}

/* Compact name line, wider tablet copy, monochrome heart. */
.name-response .field-label{margin-bottom:4px}.reply #guest{height:34px;min-height:34px;padding:4px 0 5px}.reply #guest:focus{padding-bottom:4px}.heart{font-family:Arial,sans-serif;font-size:1.1em;color:inherit;text-shadow:0 0 5px currentColor}@media(min-width:600px){.invitation-copy{max-width:680px}.personal-message{max-width:632px;font-size:22px}}
@media(max-width:599px){.personal-message p{text-wrap:balance}}

/* Ease the header into the photograph sky; preserve the bottom mask. */
.cover-heading{background:linear-gradient(to bottom,#d8cfc6,#d0c6bc)}.cover-photo{position:relative}.cover-photo::before{content:"";position:absolute;z-index:1;inset:0 0 auto;height:clamp(40px,12vw,82px);pointer-events:none;background:linear-gradient(to bottom,#d0c6bc 0%,rgba(208,198,188,.96) 12%,rgba(208,198,188,.8) 30%,rgba(208,198,188,.5) 50%,rgba(208,198,188,.2) 72%,rgba(208,198,188,.04) 90%,rgba(208,198,188,0) 100%)}.cover-photo img{mask-image:linear-gradient(to bottom,#000 0%,#000 84%,transparent 100%)}

/* Approved final headings, two intentional lines. */
.cover-heading{height:132px;padding:12px 14px}h1{font-family:Forum,Georgia,serif;font-weight:400;font-style:normal;font-synthesis:none;font-size:clamp(32px,9vw,42px);line-height:1.08;letter-spacing:0;text-align:center}h1 span{display:block;white-space:nowrap}h1 span:first-child{font-size:.85em;margin-bottom:5px}.reply-content h2{margin-bottom:24px}@media(min-width:600px){.cover-heading{height:146px}h1{font-size:48px}}

.reply-content h2{text-wrap:balance}

/* User-selected cover04: two lines, original Forum hierarchy and sky overlap. */
.cover-heading{position:relative;z-index:2;display:block;height:auto;padding:26px 14px 0;margin-bottom:-28px;background:linear-gradient(#d8cfc6,#d0c6bc 26px)}h1{font-family:Forum,Georgia,serif;font-size:clamp(44px,12.3vw,48px);line-height:1.08;letter-spacing:0;font-weight:400;font-style:normal}h1 span:first-child{font-size:22px;margin:0 0 8px}h1 span:last-child{text-transform:uppercase;letter-spacing:.06em}

.photo-scene{position:relative;isolation:isolate}.photo-scene::before{content:"";position:absolute;inset:0 0 auto;height:180px;z-index:-1;background:linear-gradient(#d8cfc6,#d0c6bc 26px)}.cover-heading{background:none}

@media(min-width:700px){.photo-scene::before{height:340px;background:linear-gradient(to bottom,#d8cfc6 0px,#d0c6bc 26px,#d0c6bc 90px,rgba(208,198,188,.9) 140px,rgba(208,198,188,.5) 220px,rgba(208,198,188,.12) 300px,rgba(208,198,188,0) 340px)}}

/* Larger Forum04 with less upper sky, preserving natural image geometry. */
.cover-heading{padding-top:12px;margin-bottom:-36px}h1{font-size:clamp(52px,14.9vw,58px);line-height:1.05}h1 span:first-child{font-size:26px;margin-bottom:6px}@media(max-width:360px){h1 span:first-child{font-size:25px}}

/* True photo overlay on tablet/desktop; minimum necessary mobile sky extension. */
.cover-heading{height:45.6px;padding:0;margin:0;position:relative}h1{position:absolute;top:8px;left:0;width:100%;margin:0;padding:0 14px;font-size:52px;line-height:.9}h1 span:first-child{font-size:24px;line-height:.95;margin:0 0 4px}h1 span:last-child{line-height:.9}@media(min-width:361px){.cover-heading{height:40.9px}h1{font-size:58px}h1 span:first-child{font-size:26px}}@media(min-width:600px){.cover-heading{height:42px}h1{top:30px;font-size:68px;line-height:1}h1 span:first-child{font-size:28px;line-height:1;margin-bottom:4px}h1 span:last-child{line-height:1}}

/* Align the visible headline baseline to the user marker on wide screens. */
@media(min-width:600px){h1{top:53px}}

/* Enlarge upward while preserving the visible lower edge. */
@media(min-width:600px){h1{top:40px;font-size:78px}h1 span:first-child{font-size:32px}}

/* A little more air above the entire existing composition. */
main{padding-top:12px;background:linear-gradient(to bottom,#d8cfc6 0px,#d8cfc6 12px,transparent 12px)}@media(min-width:600px){main{padding-top:16px;background:linear-gradient(to bottom,#d8cfc6 0px,#d8cfc6 16px,transparent 16px)}}

/* Only integration state; approved geometry stays unchanged. */
.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}#form-status:empty{display:none}#form-status{margin-top:14px;line-height:1.5}.button:not(:disabled){cursor:pointer}
