:root{--bg:#0d0c10;--panel:#17141b;--cream:#eee7dc;--muted:#aaa3ad;--accent:#d68b67;--line:#302a35;--serif:Georgia,'Times New Roman',serif;--sans:'Helvetica Neue',Arial,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--bg);color:var(--cream);font-family:var(--sans);font-size:15px;-webkit-font-smoothing:antialiased}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}button:disabled{opacity:.5;cursor:wait}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:5px}[hidden]{display:none!important}.wrap{max-width:1040px;margin-inline:auto;padding-inline:38px}.nav{height:79px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.wordmark{font-size:11px;letter-spacing:2.5px}.nav-rsvp{font-size:12px;color:var(--accent)}.hero{display:grid;grid-template-columns:1.18fr 1fr;align-items:center;gap:15px;padding-block:65px 55px}.eyebrow{font-size:10px;letter-spacing:1.9px;color:var(--accent);line-height:1.6;margin:0 0 24px}h1,h2,p{margin-top:0}h1{font-family:var(--serif);font-weight:400;font-size:clamp(56px,7.5vw,88px);line-height:1.04;letter-spacing:-4px;margin-bottom:30px}h1 em{font-weight:400;color:var(--accent)}.party-details p{font-size:15px;line-height:1.75;margin-bottom:14px}.party-details strong{font-weight:500}.quiet{font-size:11px;color:var(--muted);padding-left:3px}.costume{font-family:var(--serif);font-style:italic;font-size:20px;margin:23px 0 18px}.calendar{display:inline-block;font-size:11px;color:var(--muted);border-bottom:1px solid #65545f;padding-bottom:4px}.poster{width:100%;height:auto;max-height:385px;object-fit:contain;opacity:.95}.rsvp-section{display:grid;grid-template-columns:1.05fr 1fr;gap:60px;align-items:start;padding-block:20px 70px}.rsvp-card{padding:30px 32px 27px;background:var(--panel);border:1px solid var(--line);border-radius:6px}.rsvp-card h2,.guest-heading h2{font-family:var(--serif);font-size:32px;line-height:1.2;letter-spacing:-.8px;font-weight:400;margin-bottom:25px}.rsvp-card .eyebrow{margin-bottom:12px}.form-intro{font-size:13px;line-height:1.7;color:var(--muted)}label{display:block;font-size:12px;margin-bottom:8px;color:var(--cream)}input{width:100%;background:#100e14;border:1px solid #433748;border-radius:4px;padding:14px 13px;color:var(--cream);font-size:16px;min-height:48px}input::placeholder{color:#908692}form>input{margin-bottom:21px}.field-hint{font-size:10px;line-height:1.7;color:var(--muted);margin:-12px 0 20px}.add-person{background:none;border:0;font-size:12px;padding:0;color:var(--muted);margin:0 0 24px}.add-person:hover,.small-link:hover{color:var(--cream)}#plus-one-field{margin-bottom:23px}#plus-one-field .small-link{margin-top:10px}.small-link{background:none;border:0;border-bottom:1px solid #65545f;color:var(--muted);font-size:11px;padding:3px 0;line-height:1.5}.button{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:17px 19px;min-height:54px;border:0;border-radius:4px;font-size:13px;font-weight:500;transition:background .15s}.button span{font-size:22px;line-height:1;font-weight:400}.primary{background:var(--accent);color:#1b1112}.primary:hover{background:#eaa683}.full{width:100%}.outline{background:transparent;border:1px solid #685366;color:var(--cream);margin-top:12px}.outline:hover{background:#ffffff06}.privacy-note{font-size:10px;line-height:1.7;color:var(--muted);margin:16px 0 0;text-align:center}.honeypot{position:absolute;left:-9999px;opacity:0}.form-error{font-size:12px;line-height:1.6;color:#f1b194;background:#47252e55;border:1px solid #683c41;padding:10px 12px;border-radius:4px;margin-block:12px}.guest-card{padding-top:8px}.guest-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.guest-heading h2{margin:0}.guest-number{font-family:var(--serif);font-size:29px;color:var(--accent)}.guest-subtitle{font-size:12px;color:var(--muted);margin:12px 0 20px;line-height:1.7}.guest-list{border-top:1px solid var(--line);max-height:430px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--muted) transparent}.guest{display:flex;align-items:center;gap:13px;padding:18px 0;border-bottom:1px solid var(--line);font-size:15px;overflow-wrap:anywhere}.avatar{width:7px;height:7px;flex:0 0 7px;background:#b47960;border-radius:50%;font-size:0}.empty-list{padding:27px 0;border-bottom:1px solid var(--line)}.empty-list p{font-size:13px;color:var(--muted);margin:0}.empty-symbol,.empty-list small{display:none}#guest-search{margin-bottom:17px;font-size:14px}.share-invite{margin-top:24px}.confirmation-name{font-size:15px;color:var(--muted);line-height:1.7;margin-bottom:25px}.manage{margin-top:24px;color:var(--muted);font-size:11px}.manage summary{cursor:pointer;max-width:max-content;padding:5px 0}.manage-actions{display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin-top:17px}.cancel-link{font-size:11px;background:none;border:0;padding:4px 0;color:var(--muted);text-decoration:underline}#back-to-confirmation{display:block;margin:18px auto 0}.footer{padding-block:24px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:20px;font-size:10px;color:var(--muted)}.toast{position:fixed;z-index:10;bottom:24px;left:50%;transform:translateX(-50%);max-width:calc(100% - 32px);width:max-content;background:var(--cream);color:var(--bg);padding:14px 20px;font-size:12px;border-radius:4px;box-shadow:0 5px 30px #0006}.arrival-dialog{padding:38px 35px 32px;width:calc(100% - 40px);max-width:470px;max-height:calc(100dvh - 40px);overflow:auto;border:0;border-radius:8px;background:#eee6d9;color:#221a23;box-shadow:0 25px 100px #0008}.arrival-dialog::backdrop{background:#08060bd9;backdrop-filter:blur(6px)}.dialog-close-form{position:absolute;right:17px;top:12px}.dialog-close{background:transparent;border:0;color:#5b4c57;font-size:28px;width:38px;height:38px;font-weight:300}.arrival-dialog .eyebrow{font-size:9px;color:#735f65;margin:8px 0 23px}.arrival-dialog h2{font-family:var(--serif);font-size:48px;line-height:1.05;letter-spacing:-1.6px;font-weight:400;margin-bottom:22px}.arrival-dialog h2 span{font-size:88px;color:#8d4538;letter-spacing:-4px}.arrival-address{font-size:17px;line-height:1.65;margin-bottom:16px;color:#51404c}.arrival-address strong{font-weight:500;color:#221a23}.arrival-time{font-size:12px;color:#735f65;margin:0 0 26px}.arrival-dialog .primary{background:#231c26;color:#eee6d9;font-size:16px;min-height:61px}.arrival-dialog .outline{color:#221a23;border-color:#bbaaab;font-size:14px}.arrival-dialog .calendar{color:#735f65;margin-top:23px;font-size:12px}.sr-only{position:absolute;overflow:hidden;width:1px;height:1px;padding:0;border:0;clip:rect(0,0,0,0)}.admin-main{max-width:1000px;margin:auto;padding:50px 28px}.admin-main>h1{font-size:62px;margin-bottom:30px}.host-login{max-width:400px}.host-login input{margin-bottom:20px}.host-tools{display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:25px}.host-tools .button{padding:12px 20px;min-height:43px;font-size:12px}.host-table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left;white-space:nowrap}td,th{padding:15px 12px;border-bottom:1px solid var(--line)}th{color:var(--muted);font-size:10px;font-weight:400;text-transform:uppercase;letter-spacing:1px}td .cancel-link{color:var(--accent)}.admin-intro{font-size:12px;line-height:1.7;color:var(--muted);margin-bottom:25px}.host-error{color:var(--accent);font-size:12px}
@media(max-width:800px){.wrap{padding-inline:27px}.hero{gap:5px;padding-top:48px}h1{font-size:65px;letter-spacing:-3px}.poster{max-height:310px}.rsvp-section{gap:32px}.rsvp-card{padding:27px 24px}.party-details p{font-size:14px}.guest-heading h2{font-size:29px}}
@media(max-width:600px){.wrap{padding-inline:23px}.nav{height:66px}.wordmark{font-size:10px;letter-spacing:2px}.hero{position:relative;display:block;padding-top:42px;padding-bottom:29px;min-height:410px}.hero-copy{position:relative;z-index:1}.eyebrow{font-size:9px;letter-spacing:1.4px;margin-bottom:21px}h1{font-size:clamp(52px,13vw,74px);line-height:1.05;letter-spacing:-2.8px;margin-bottom:24px}.party-details p{font-size:13px;line-height:1.8;margin-bottom:13px}.costume{font-size:18px;margin-top:18px;margin-bottom:15px}.poster{position:absolute;right:0;bottom:21px;width:43%;max-height:210px;opacity:.5;z-index:0;pointer-events:none}.hero .calendar{font-size:10px}.rsvp-section{display:block;padding-top:10px;padding-bottom:42px}.rsvp-card{padding:27px 24px}.rsvp-card h2{font-size:31px}.field-hint,.privacy-note{font-size:11px}.guest-card{padding-top:34px}.guest-heading h2{font-size:30px}.guest-subtitle{margin-top:8px;margin-bottom:18px}.footer{font-size:9px;padding-block:21px}.arrival-dialog{padding:32px 25px 27px}.arrival-dialog h2{font-size:42px}.arrival-dialog h2 span{font-size:78px}.arrival-address{font-size:16px}.arrival-dialog .primary{font-size:15px}.admin-main>h1{font-size:47px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}}
