@font-face{font-family:Caslon;src:url('/fonts/LibreCaslonText.ttf') format('truetype');font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:Caslon;src:url('/fonts/LibreCaslonText-Italic.ttf') format('truetype');font-weight:400 700;font-style:italic;font-display:swap}
:root{--ink:#342c26;--muted:#75654f;--paper:#f6f1e5;--brass:#8b7654;--line:#c8bba4;--serif:Caslon,Baskerville,'Times New Roman',serif}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;color:var(--ink);font-family:var(--serif);background:#d4cfc4}body{font-synthesis:none}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;border:0;background:none}button:disabled{cursor:wait;opacity:.55}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid #735833;outline-offset:5px}h1:focus{outline:none}::selection{background:#d6c3a1}p,h1,h2{margin:0}em{font-style:italic}.skip-link{position:fixed;top:-100px;left:15px;z-index:20;background:var(--paper);padding:14px}.skip-link:focus{top:15px}.experience{min-height:100svh}.arrival{height:100svh;height:100dvh;min-height:610px;max-height:1500px;display:grid;grid-template-rows:auto minmax(0,1fr) auto;background:#c5c2ba;overflow:hidden;position:relative;padding-top:env(safe-area-inset-top)}.arrival-heading{z-index:2;text-align:center;padding:32px 20px 10px;background:#c5c2ba}.script-line{font-size:16px;font-style:italic;line-height:1.5}.arrival-heading h1{text-transform:uppercase;font-size:19px;font-weight:400;letter-spacing:.15em;margin-top:8px}.fine-rule{display:block;width:34px;height:1px;background:#8e806b;margin:18px auto 0}.architecture{position:relative;min-height:0;width:100%;display:grid;place-items:center}.entrance-image,.door-video{height:100%;width:100%;object-fit:contain;object-position:center;display:block;position:absolute;inset:0}.door-video{opacity:0;pointer-events:none}.door-video.visible{opacity:1}.arrival-footer{text-align:center;padding:12px 20px calc(27px + env(safe-area-inset-bottom));z-index:2}.eyebrow{text-transform:uppercase;font-size:9px;letter-spacing:.17em;line-height:1.8}.arrival-footer .eyebrow{font-size:9px;color:#534b3d}.eyebrow span{padding:0 7px}.entry-button{display:inline-flex;align-items:center;gap:35px;text-transform:uppercase;letter-spacing:.19em;font-size:11px;min-height:48px;border-bottom:1px solid #8e806b;padding:12px 3px 9px}.entry-button span{font-size:22px;line-height:1;transition:transform .25s}.entry-button:hover span{transform:translateX(5px)}.text-button{display:block;text-decoration:underline;text-underline-offset:5px;font-size:11px;min-height:44px;margin:12px auto 0;padding:10px 5px;color:#5a5042}.skip-animation{font-size:9px;color:#585248;margin-top:6px;min-height:34px}.entering{height:48px;padding-top:16px;font-size:14px;font-style:italic}.is-opening .arrival-heading{transition:opacity .4s;opacity:0}.demo-note{font-family:Arial,sans-serif;position:fixed;z-index:10;bottom:0;left:0;right:0;text-align:center;font-size:9px;letter-spacing:.04em;background:#e4ddcf;color:#655b4d;padding:5px 10px;min-height:20px}.stationery-mode{background:#292f2b;background-image:radial-gradient(ellipse at 50% 20%,#4a4d40,transparent 65%);padding-bottom:40px}.quiet-nav{padding:calc(21px + env(safe-area-inset-top)) 24px 20px;display:flex;justify-content:space-between;gap:12px;align-items:center;color:#e7ddc7}.quiet-nav button{font-size:12px;min-height:44px;padding:4px 0}.quiet-nav button:first-child{text-align:left;text-transform:uppercase;letter-spacing:.13em}.quiet-nav span{display:block;font-size:8px;letter-spacing:.19em;margin-top:7px;color:#c8baa2}.quiet-nav .nav-reply{font-size:11px;font-style:italic}.stationery-stage{padding:7px 18px 25px}.paper{width:100%;max-width:560px;margin:0 auto;background:var(--paper);box-shadow:0 3px 15px #00000016;position:relative;animation:paper-arrive .65s ease both}.paper:before{content:'';position:absolute;inset:0;pointer-events:none;opacity:.22;background-image:repeating-linear-gradient(0deg,transparent 0,transparent 3px,#b7a88620 3.3px,transparent 4px),url('/media/paper.svg')}.paper-inner{position:relative;text-align:center;padding:32px 22px 34px;outline:1px solid #b8a78270;outline-offset:-10px}.house-mark{position:relative;display:flex;justify-content:center;align-items:center;height:44px;margin:0 auto 22px;width:47px;border-top:1px solid #9e8b67;border-bottom:1px solid #9e8b67;font-size:26px;color:#7d6a4a}.house-mark i{font-weight:400;position:relative;left:-5px;font-style:italic;font-size:22px}.house-mark span{position:relative;left:4px}.paper .eyebrow{font-size:8px;color:#655542}.host-names{font-weight:400;font-size:clamp(22px,5.7vw,31px);line-height:1.35;margin:28px 0 25px;letter-spacing:-.035em}.and{display:block;font-size:15px;font-style:italic;margin:7px}.formal-copy{font-size:12px;line-height:1.8}.occasion{font-weight:400;font-style:italic;font-size:19px;line-height:1.5;margin-top:10px}.ornament{display:block;color:#8c7959;font-size:22px;line-height:1;margin:24px auto}.event-date,.address{font-size:13px;line-height:1.9}.event-date em{font-size:12px}.address{margin-top:19px}.reply-date{font-style:italic;font-size:11px;margin:25px 0 24px}.ink-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;width:100%;max-width:288px;padding:13px 17px;text-transform:uppercase;letter-spacing:.13em;font-size:9px;line-height:1.5;border:1px solid #877451;color:#403525;text-decoration:none;background:transparent;transition:background .2s,color .2s}.ink-button:hover{background:#403b30;color:#f6f1e5}.colophon{color:#c8baa2;text-align:center;margin:25px 0 0;font-size:8px;letter-spacing:.09em;line-height:1.8}.colophon span{margin:0 6px}.personal-greeting{font-size:12px;font-style:italic;margin-top:19px}.card-heading{font-size:17px;font-weight:400;text-transform:uppercase;letter-spacing:.08em;line-height:1.7;margin-bottom:14px}.reply-intro{font-size:12px;font-style:italic}.reply-paper .house-mark{margin-bottom:25px}.reply-form{text-align:left;margin:28px auto 5px;max-width:355px}.reply-form label,.reply-form legend{font-size:12px;line-height:1.5;display:block}.reply-form input:not([type=radio]),.reply-form textarea,.reply-form select{border:0;border-bottom:1px solid #b6a789;border-radius:0;background:#fff8;color:var(--ink);width:100%;font-size:16px;min-height:46px;padding:10px;margin:8px 0 24px;max-width:100%}.reply-form textarea{resize:vertical;min-height:85px;line-height:1.5}.reply-form fieldset{border:0;padding:0;margin:0 0 24px;min-width:0}.reply-form legend{margin-bottom:12px}.reply-form .choice{display:flex;align-items:center;gap:12px;border:1px solid #c9bca3;min-height:52px;padding:12px 11px;margin-bottom:9px;font-size:12px;cursor:pointer}.choice.selected{background:#e7dfcf;border-color:#8a7654}.choice input{accent-color:#4c5a43;width:18px;height:18px;flex-shrink:0;margin:0}.party-row{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:21px}.reply-form .party-row select{max-width:118px;margin:0;font-size:14px}.optional{color:#73634e;font-style:italic;font-size:10px}.reply-form .ink-button{display:flex;margin:auto}.privacy-note{font-size:9px;line-height:1.7;text-align:center;color:#73634e;margin-top:13px}.form-error{font-family:Arial,sans-serif;color:#882e2c;font-size:12px;line-height:1.5;margin:0 0 20px}.honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.confirmation-heading{font-weight:400;font-size:26px;line-height:1.5;margin:27px 0 0}.confirmation-copy{font-size:13px;line-height:1.9}.response-summary{font-size:11px;margin:22px 0;font-style:italic}.calendar-pending{font-size:10px;color:#73634e;line-height:1.8;margin:24px 0}.signature{font-style:italic;font-size:20px;margin:34px 0}.confirmation-heading~.ink-button{margin-top:8px}.admin{background:var(--paper);min-height:100vh;padding:40px clamp(20px,5vw,80px);font-family:var(--serif)}.admin h1{font-size:28px;font-weight:400;margin-bottom:24px}.admin p{line-height:1.7;margin:14px 0}.admin input,.admin select{padding:12px;font-size:16px;max-width:100%;border:1px solid var(--line);background:white}.admin label{display:block;margin:18px 0 7px}.admin .ink-button{display:flex;margin:22px 0}.admin table{border-collapse:collapse;width:100%;font-size:13px}.admin th,.admin td{text-align:left;padding:15px 10px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}.admin-scroll{overflow:auto}.admin-stats{display:flex;flex-wrap:wrap;gap:24px;margin:30px 0}.admin-stats strong{font-size:25px;font-weight:400;display:block}.admin-stats span{font-size:11px}.admin-form{max-width:420px}.admin .mono{font:12px monospace;overflow-wrap:anywhere}.host-header{display:flex;justify-content:space-between;align-items:center;gap:20px}.host-header a{font-size:12px}.admin .note{font-size:11px;color:#73634e}@keyframes paper-arrive{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@media(min-width:700px){.arrival{min-height:720px}.arrival-heading{padding-top:28px;padding-bottom:2px}.arrival-heading h1{font-size:23px}.arrival-footer{padding-top:8px;padding-bottom:30px}.arrival-footer .eyebrow{font-size:10px}.quiet-nav{max-width:1100px;margin:auto;padding:28px 44px}.quiet-nav button:first-child{font-size:13px}.stationery-stage{padding:18px 30px 35px}.paper-inner{padding:46px 62px 43px;outline-offset:-14px}.host-names{font-size:32px;margin:31px 0 27px}.formal-copy{font-size:13px}.occasion{font-size:22px}.event-date,.address{font-size:15px}.event-date em{font-size:13px}.reply-date{font-size:12px;margin:27px 0}.house-mark{margin-bottom:27px}.card-heading{font-size:20px}.reply-form label,.reply-form legend{font-size:13px}.reply-form .choice{font-size:13px}.colophon{font-size:9px}.confirmation-heading{font-size:32px}.confirmation-copy{font-size:15px}}
@media(max-width:360px){.arrival-heading{padding-top:22px}.arrival-heading h1{font-size:16px}.paper-inner{padding-left:17px;padding-right:17px}.host-names{font-size:21px}.formal-copy{font-size:11px}.occasion{font-size:17px}.stationery-stage{padding-left:12px;padding-right:12px}.quiet-nav{padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
