:root{color-scheme:light;--ink:#253d43;--muted:#637076;--paper:#fffefa;--navy:#172e35;--brass:#967c4b;--rule:#dcded8;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif}*{box-sizing:border-box}body{margin:0;background:var(--navy);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.8}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:3px solid #a98c54;outline-offset:4px}button:disabled{opacity:.5;cursor:default}button{transition:background .18s,color .18s,border-color .18s}button:hover{filter:brightness(.94)}[hidden]{display:none!important}.preview-note{background:#10272e;color:#d6dedf;padding:9px 20px;text-align:center;font-size:12px;letter-spacing:.04em}.preview-note span{margin-left:16px;color:#aebdc0}main{max-width:1136px;padding:0 44px;margin:auto}.masthead{display:flex;justify-content:space-between;align-items:center;min-height:106px;color:#e3dbc8}.small-caps{font-family:Georgia,serif;font-size:13px;letter-spacing:.18em}.issue{font-family:Georgia,serif;font-size:12px;letter-spacing:.12em;color:#b0bec0}.invitation{display:grid;grid-template-columns:1.05fr 1fr;background:var(--paper);box-shadow:0 16px 55px #091d2330;border-top:3px solid var(--brass)}.event{padding:53px 52px 46px}.eyebrow{font-size:14px;color:var(--brass);letter-spacing:.3em;margin:0 0 17px}h1,h2,h3{font-family:var(--serif);font-weight:500}h1{font-size:38px;letter-spacing:.17em;line-height:1.5;margin:0 0 26px}.opening,.message,.signature{font-family:var(--serif);font-size:15px;line-height:2.15;letter-spacing:.015em}.opening{font-size:17px;margin:0 0 12px}.message{color:#59686b;margin:0}.date-block{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);display:flex;gap:26px;margin:31px 0 26px;padding:22px 0}.month{font-family:Georgia,serif;font-size:12px;letter-spacing:.15em}.date{font:58px/1 Georgia,serif;margin:4px 0 0;display:flex;align-items:end;gap:9px}.weekday{font:10px/1.4 Georgia,serif;letter-spacing:.05em;padding-bottom:5px}.time{border-left:1px solid var(--rule);padding-left:23px;display:flex;flex-direction:column;justify-content:center}.time p{font-size:14px;margin:0}.time strong{font:24px/1.7 Georgia,serif;letter-spacing:.03em;white-space:nowrap}.time>span{font-size:12px;color:var(--muted)}.details{font-size:14px;line-height:1.8;margin:0}.details>div{display:grid;grid-template-columns:54px 1fr;gap:16px;margin:14px 0}.details dt{color:var(--muted)}.details dd{margin:0}.details small{display:block;font-size:12px;line-height:1.9;color:var(--muted);margin-top:3px}.signature{font-size:14px;margin:25px 0 0;color:var(--muted)}.response{margin:40px 0;border-left:1px solid var(--rule);padding:15px 44px 8px}.response-inner{max-width:390px;margin:auto}.response-overline{color:var(--brass);margin:0 0 15px}h2{font-size:23px;letter-spacing:.03em;line-height:1.65;margin:0 0 12px}.deadline{font-size:13px;margin:0 0 26px;color:var(--muted)}.deadline time{color:var(--ink);margin-left:12px}.response-footer{margin-top:30px;text-align:center;color:var(--muted)}.footer-line{display:block;width:25px;height:1px;background:var(--brass);margin:0 auto 17px}.response-footer p{font-size:12px;line-height:1.9;margin:0}.page-footer{padding:24px 0 36px;display:flex;justify-content:space-between;color:#b4c2c4;font-size:12px;letter-spacing:.12em}form{margin-top:24px}label,legend{display:block;font-size:14px;margin:17px 0 7px}.required,.optional{font-size:12px;color:var(--muted);margin-left:9px}.required{color:#896c37}input{display:block;background:white;border:1px solid #bbc4c2;border-radius:2px;min-height:48px;padding:9px 12px;font-size:16px;width:100%;color:var(--ink)}input::placeholder{color:#929c9c}fieldset{border:0;margin:22px 0 0;padding:0;min-width:0}legend{padding:0;margin-bottom:9px}.companion-row{display:flex;align-items:center;gap:9px;margin-bottom:10px}.remove-companion{border:0;background:transparent;font-size:20px;width:35px;min-height:44px;color:var(--muted);flex-shrink:0}.add-companion{background:transparent;color:var(--ink);border:1px dashed #a6b2b0;padding:9px 12px;width:100%;text-align:left;font-size:14px;min-height:46px}.add-companion span{margin-right:7px}.field-note{font-size:12px;color:var(--muted);margin:10px 0 0}.submit{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:13px 18px;min-height:54px;width:100%;border:1px solid var(--ink);border-radius:2px;background:var(--ink);color:white;font-size:14px;margin-top:25px}.text-button{border:0;border-bottom:1px solid #b6bfbd;padding:6px 0;min-height:42px;background:transparent;font-size:13px;color:var(--ink);display:block;margin:13px auto 0}h3{font-size:21px;line-height:1.7;margin:27px 0 16px}.review-details{font-size:14px}.review-details>div{padding:11px 0;border-bottom:1px solid var(--rule)}.review-details dt{font-size:12px;color:var(--muted)}.review-details dd{margin:4px 0 0;overflow-wrap:anywhere;white-space:pre-line}#complete{text-align:center;padding:30px 0 15px}#complete h3{margin-top:18px}.completed-mark{border:1px solid #b5a079;color:var(--brass);width:47px;height:47px;line-height:45px;border-radius:50%;margin:auto;font-family:Georgia,serif}#completion-copy{font-size:14px;line-height:2}.demo-reminder{font-size:12px;color:var(--muted)}@media(min-width:960px){.response-inner{position:sticky;top:35px}}@media(max-width:850px){main{padding:0 24px}.event{padding:40px 30px}.response{padding:10px 28px}.date-block{gap:14px}.time{padding-left:14px}.date{font-size:50px}.weekday{display:none}h2{font-size:21px}.desktop-break{display:none}}@media(max-width:650px){.preview-note{font-size:11px;line-height:1.8;padding:7px 12px}.preview-note span{display:block;margin:0;font-size:10px}main{padding:0 18px}.masthead{min-height:74px}.small-caps{font-size:11px}.issue{font-size:10px}.invitation{grid-template-columns:1fr}.event{padding:30px 27px 28px}.eyebrow{font-size:12px;margin-bottom:12px}h1{font-size:31px;margin-bottom:20px}.opening{font-size:16px;line-height:1.9}.message{font-size:14px;line-height:1.9}.date-block{margin:24px 0 20px;padding:16px 0;gap:22px}.date{font-size:50px}.weekday{display:block;font-size:9px}.time{padding-left:21px}.time p{font-size:13px}.time strong{font-size:24px}.details>div{margin:10px 0}.signature{display:none}.response{border-left:0;border-top:1px solid var(--rule);margin:0 27px;padding:28px 0 30px}.response-inner{max-width:none}.response-overline{margin-bottom:10px}h2{font-size:23px}.deadline{margin-bottom:20px}.response-footer{margin-top:24px}.page-footer{font-size:11px;padding-top:20px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}@media(max-width:360px){main{padding:0 10px}.event{padding-left:21px;padding-right:21px}.response{margin-left:21px;margin-right:21px}.date-block{gap:15px}.time{padding-left:15px}.weekday{display:none}}

/* A single invitation, designed around the phone. */
main{max-width:700px;padding:0 30px}.masthead{min-height:82px}.invitation{grid-template-columns:1fr}.event{padding:42px 48px 30px}.response{border-left:0;border-top:1px solid var(--rule);margin:0 48px;padding:32px 0 35px;scroll-margin-top:20px}.response-inner{position:static;max-width:none}.signature{display:none}.response h2{font-size:25px}.preview-note span{display:block;margin-left:0}.page-footer{padding-bottom:28px}.remove-companion{min-width:44px;min-height:48px}.text-button{min-height:48px;font-size:14px}.deadline{font-size:14px}.time>span,.details small,.response-footer p,.field-note{font-size:13px}.submit,.add-companion{font-size:16px;min-height:52px}input{min-height:52px}.required,.optional{font-size:13px}
@media(max-width:650px){main{padding:0 14px;max-width:540px}.masthead{min-height:61px}.event{padding:28px 24px 25px}.response{margin:0 24px;padding-top:26px;scroll-margin-top:16px}.response h2{font-size:22px}.opening{font-size:16px}.message{font-size:14px}.preview-note{font-size:12px;padding:7px 8px}.preview-note span{font-size:11px}.date-block{margin-top:22px}.response-footer p{font-size:12px}.page-footer{padding-bottom:25px}.details small{font-size:13px;line-height:1.8}.details>div{margin:12px 0}.issue{font-size:11px}}
@media(max-width:360px){main{padding:0 10px}.event{padding-left:20px;padding-right:20px}.response{margin-left:20px;margin-right:20px}.time p{font-size:12px}.time strong{font-size:22px}.response h2{font-size:20px}.optional{font-size:12px}}


.response #response-title{font-size:21px;line-height:1.8;letter-spacing:.02em}.seat-notice{font-size:14px;line-height:1.9;color:var(--muted);margin:22px 0 0}body:not([data-step=form]) #response-title{display:none}@media(max-width:650px){.response #response-title{font-size:18px}}

.line-requirement{font-size:14px;line-height:1.9;color:var(--ink);margin:0 0 22px;padding-left:14px;border-left:2px solid var(--brass)}#review .line-requirement{margin-top:22px}#line-connect:disabled{opacity:1;background:#e8ebe7;border-color:#d0d7d0;color:#657168;cursor:not-allowed;box-shadow:none}

/* Keep the next action in view when returning from LINE on a phone. */
body[data-step="review"] .event,body[data-step="entry"] .event,
body[data-step="review"] .deadline{display:none}
body[data-step="review"] .response,body[data-step="entry"] .response{border-top:0}
body[data-step="review"] .response-overline{margin-bottom:0}
body[data-step="review"] #review-title{margin-top:12px}
body[data-step="entry"] #response-title{display:block}
body[data-step="complete"] .event,body[data-step="complete"] .deadline,
body[data-step="complete"] .response-overline,body[data-step="complete"] .response-footer{display:none}
body[data-step="complete"] .response{border-top:0}
#complete .submit{text-decoration:none}
