:root{--ink:#1f3028;--muted:#69766d;--paper:#f7f4ec;--white:#fffefa;--green:#315c46;--green-dark:#204535;--line:#dfe4d9;--coral:#d58d72;--serif:"Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;--sans:"Avenir Next", Avenir, "Segoe UI", Arial, sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:var(--sans);margin:0;font-size:15px;line-height:1.6}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:3px;outline:3px solid #99b6a3}.container{width:min(1160px,100% - 48px);margin-inline:auto}.site-header,.dashboard-header,.invite-topline{justify-content:space-between;align-items:center;display:flex}.site-header{min-height:86px}.brand{letter-spacing:-.05em;font-size:21px;font-weight:700}.brand span{color:var(--green);font-weight:500}.site-header nav,.user-tools{align-items:center;gap:28px;display:flex}.site-header nav a:not(.button){color:#59655d;font-size:13px}.button{cursor:pointer;text-align:center;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:48px;padding:11px 22px;font-size:14px;font-weight:600;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.58}.button.primary{color:#fff;background:var(--green)}.button.primary:hover:not(:disabled){background:var(--green-dark)}.button.secondary{color:var(--green-dark);background:0 0;border-color:#cad6ca}.button.secondary:hover:not(:disabled){background:#eef2e9}.button.small{min-height:38px;padding:7px 14px;font-size:12px}.button.full{width:100%}.button.light{color:var(--green-dark);background:var(--white)}.button-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.hero{grid-template-columns:1.04fr .96fr;align-items:center;gap:44px;padding-block:64px 88px;display:grid}.hero-copy{padding-block:28px}.eyebrow{color:var(--green);letter-spacing:.17em;text-transform:uppercase;font-size:10px;font-weight:700;line-height:1.5}.hero h1,.auth-copy h1,.dashboard-intro h1,.usher-content h1{font:500 clamp(42px, 5.2vw, 68px)/1.08 var(--serif);letter-spacing:-.045em;margin:14px 0 20px}.hero h1 em{color:var(--green)}.hero-lede{max-width:500px;color:var(--muted);margin:0 0 27px;font-size:16px}.hero-proof{color:#56675b;flex-wrap:wrap;gap:20px;margin-top:30px;font-size:11px;display:flex}.hero-proof span:before{content:"✓";color:var(--green);margin-right:7px;font-weight:700}.hero-art{background:#e7e8d9;border-radius:180px 180px 12px 12px;place-items:center;min-height:440px;display:grid;position:relative;overflow:hidden}.invitation-card{z-index:1;text-align:center;background:#fffdf5;border:1px solid #ded6c1;flex-direction:column;justify-content:center;align-items:center;width:min(280px,72%);min-height:330px;padding:28px;display:flex;position:relative;transform:rotate(-3deg);box-shadow:16px 24px 55px #263c2b22}.card-top,.invitation-card small{letter-spacing:.2em;font-size:8px}.card-flourish{color:var(--coral);font-size:32px}.invitation-card strong{font:500 32px/1.1 var(--serif);margin:14px 0}.card-rule{background:var(--coral);width:45px;height:1px;margin:14px}.invitation-card>span:last-of-type{color:var(--muted);font-size:10px}.invitation-card small{color:var(--green);position:absolute;bottom:18px}.art-leaf{border:1px solid #718a6b55;border-radius:100% 0;width:190px;height:300px;position:absolute;transform:rotate(36deg)}.leaf-one{bottom:-26%;left:5%}.art-note{color:#536652;font:italic 17px/1.4 var(--serif);position:absolute;bottom:10%;right:8%;transform:rotate(5deg)}.feature-strip{background:#eef0e6;padding:82px 0 86px}.feature-strip h2,.pricing-heading h2,.cta-inner h2{max-width:700px;font:500 clamp(34px, 4vw, 49px)/1.16 var(--serif);letter-spacing:-.035em;margin:12px 0 34px}.feature-grid{grid-template-columns:repeat(3,1fr);gap:30px;display:grid}.feature-grid article{border-top:1px solid #cbd4c8;padding:22px 24px 20px 0}.feature-number{color:var(--coral);letter-spacing:.1em;font-size:11px;font-weight:700}.feature-grid h3{font:500 22px var(--serif);margin:18px 0 7px}.feature-grid p,.pricing-heading>p:last-child{max-width:350px;color:var(--muted);font-size:13px}.pricing-section{padding-block:86px 100px}.pricing-heading{max-width:640px}.pricing-heading h2{margin-bottom:13px}.pricing-grid{grid-template-columns:repeat(5,1fr);gap:11px;margin-top:34px;display:grid}.price-card{border:1px solid var(--line);background:#fbfaf5;border-radius:8px;min-height:140px;padding:18px}.price-card.featured{color:#fff;border-color:var(--green);background:var(--green)}.price-card>span,.price-card small{font-size:10px;display:block}.price-card>strong{font:500 22px var(--serif);margin:16px 0 0;display:block}.price-card.featured small{color:#dce7de}.closing-cta{color:#fff;background:var(--green);padding:54px 0}.cta-inner{justify-content:space-between;align-items:center;gap:20px;display:flex}.cta-inner .eyebrow{color:#d5e1d4}.cta-inner h2{margin:7px 0 0}.site-footer{min-height:88px;color:var(--muted);justify-content:space-between;align-items:center;gap:18px;font-size:11px;display:flex}.auth-page{background:radial-gradient(circle at 8% 90%, #e8e9dc 0, transparent 35%), var(--paper);min-height:100vh;padding:34px max(24px,50vw - 580px)}.auth-layout{grid-template-columns:1fr 420px;align-items:center;gap:75px;max-width:990px;min-height:calc(100vh - 120px);margin:auto;display:grid}.auth-copy p:last-child{max-width:420px;color:var(--muted)}.auth-copy h1{font-size:clamp(42px,5vw,62px)}.auth-card{border:1px solid var(--line);background:var(--white);border-radius:12px;width:min(100%,440px);margin:35px auto;padding:34px;box-shadow:0 20px 55px #273e2c0b}.auth-card h1{font:500 32px/1.2 var(--serif)}.segmented{background:#f0f1e9;border-radius:8px;grid-template-columns:1fr 1fr;margin-bottom:24px;padding:4px;display:grid}.segmented button{color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:9px;font-size:12px}.segmented button.active{color:var(--green-dark);background:#fff;box-shadow:0 1px 5px #20362612}.stack{flex-direction:column;gap:16px;display:flex}label{color:#3f5045;flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}input,select,textarea{width:100%;min-height:44px;color:var(--ink);background:#fff;border:1px solid #d9dfd4;border-radius:6px;padding:9px 11px;font-size:13px}textarea{resize:vertical}input[type=file]{padding:8px}label small,.csv-form small{color:var(--muted);font-size:10px;font-weight:400}.notice{color:var(--green-dark);background:#f1f6ee;border:1px solid #d4dfd2;border-radius:7px;padding:12px 14px;font-size:12px}.error-text{color:#9b3026;font-size:12px}.dashboard-shell{background:#f5f5ef;min-height:100vh}.dashboard-header{border-bottom:1px solid var(--line);background:#fbfaf5;min-height:72px;padding-inline:max(24px,50vw - 600px)}.user-tools{color:var(--muted);gap:14px;font-size:11px}.dashboard-intro,.dashboard-grid,.dashboard-notice{width:min(1200px,100% - 48px);margin-inline:auto}.dashboard-intro{padding:46px 0 24px}.dashboard-intro h1{margin:8px 0;font-size:44px}.dashboard-intro p:last-child{color:var(--muted);font-size:13px}.dashboard-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:18px;padding-bottom:60px;display:grid}.panel{border:1px solid var(--line);background:var(--white);border-radius:10px;min-width:0;padding:24px;box-shadow:0 5px 18px #18392506}.panel-heading{justify-content:space-between;margin-bottom:18px;display:flex}.panel-heading h2{font:500 25px var(--serif);margin:3px 0 0}.panel-heading .eyebrow{margin:0}.event-summary{color:var(--muted);padding:16px 0;font-size:12px}.event-summary p{margin:7px 0}.event-summary a{color:var(--green);text-decoration:underline}.event-summary strong{color:var(--ink)}.status{color:#785638;background:#f8eddb;border-radius:20px;margin-left:7px;padding:3px 7px;font-size:9px}.status.good{color:#2b6544;background:#e7f1e5}.pilot-box{background:#f5f2e9;border-radius:8px;padding:15px;font-size:12px}.pilot-box p{color:var(--muted)}.stats-grid{grid-template-columns:repeat(2,1fr);gap:8px;margin:12px 0 18px;display:grid}.stats-grid div{background:#f1f3eb;border-radius:7px;flex-direction:column;gap:2px;padding:13px;display:flex}.stats-grid strong{font:500 23px var(--serif)}.stats-grid span{color:var(--muted);font-size:10px}.create-event{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.create-event summary{color:var(--green);cursor:pointer;font-size:12px;font-weight:700}.form-grid{grid-template-columns:repeat(2,1fr);align-items:end;gap:12px;margin-top:16px;display:grid}.span-2{grid-column:span 2}.align-end{align-self:end}.muted{color:var(--muted);font-size:12px}.csv-form{border-top:1px solid var(--line);gap:8px;margin-top:15px;padding:15px 0;display:grid}.csv-form .button{justify-self:start}.invite-actions{flex-wrap:wrap;gap:9px;padding:12px 0;display:flex}.table-wrap{border:1px solid var(--line);border-radius:8px;max-width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:10px}th,td{white-space:nowrap;border-bottom:1px solid #edf0e9;padding:10px 9px}th{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;background:#f7f7f1;font-size:9px}tbody tr:last-child td{border-bottom:0}.dashboard-notice{margin-top:12px}.invitation-page{background:radial-gradient(ellipse at 50% 35%, #ececde, transparent 55%), var(--paper);min-height:100vh;padding:22px 20px 30px}.invite-topline{width:min(700px,100%);margin:0 auto 28px}.invite-topline>span{color:var(--muted);letter-spacing:.14em;font-size:9px}.invitation-card-public{text-align:center;background:#fffefa;border:1px solid #e3dece;border-radius:4px;width:min(620px,100%);margin:0 auto;padding:40px clamp(22px,6vw,70px);box-shadow:0 20px 60px #2239260c}.invitation-card-public>.eyebrow{margin-top:0}.invitation-card-public h1{font:500 clamp(34px, 7vw, 52px)/1.1 var(--serif);margin:8px 0}.invite-guest{color:var(--green);font:italic 17px var(--serif);margin:10px 0 26px}.event-facts{text-align:left;border-top:1px solid #e5e2d7;border-bottom:1px solid #e5e2d7;gap:13px;margin:12px 0;padding:20px 0;display:grid}.event-facts div{grid-template-columns:70px 1fr;gap:12px;display:grid}.event-facts span{color:var(--muted);letter-spacing:.13em;font-size:9px;font-weight:700}.event-facts strong{font-size:12px;font-weight:500}.invite-note{color:var(--muted);font:italic 16px var(--serif);margin:20px 0}.rsvp-form{text-align:left}.digital-pass{padding-top:18px}.confirmation-delivery{flex-direction:column;align-items:center;gap:8px;margin:16px 0;display:flex}.confirmation-delivery p{margin:0}.delivery-success{color:var(--green);font-size:12px}.success-mark{color:#fff;background:var(--green);border-radius:50%;width:38px;height:38px;margin:0 auto;line-height:38px}.digital-pass h2{font:500 27px var(--serif)}.digital-pass>p:not(.success-mark,.pass-serial){color:var(--muted)}.qr-frame{background:#fff;width:190px;margin:20px auto 10px;padding:8px}.qr-frame img{width:100%;height:auto;display:block}.pass-serial{color:var(--muted);letter-spacing:.12em;font-size:10px;font-weight:700}.invitation-footer{width:min(620px,100%);color:var(--muted);text-align:center;margin:18px auto;font-size:10px}.modal-backdrop{z-index:5;background:#1b2d24a8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.confirm-dialog{background:var(--white);border-radius:10px;width:min(440px,100%);padding:26px;box-shadow:0 20px 80px #0003}.confirm-dialog h2{font:500 28px var(--serif)}.confirm-dialog>p:not(.eyebrow){color:var(--muted);font-size:13px}.confirm-dialog .button-row{justify-content:flex-end;margin-top:22px}.usher-page{background:#f5f5ef;min-height:100vh}.usher-content{text-align:center;width:min(650px,100% - 40px);margin:38px auto}.usher-content h1{margin:8px;font-size:40px}.usher-content>p:not(.eyebrow){color:var(--muted);font-size:12px}.scanner-panel{border:1px solid var(--line);background:var(--white);text-align:left;border-radius:12px;margin-top:25px;padding:18px}.scanner-frame{background:#1e2922;border-radius:8px;place-items:center;min-height:260px;display:grid;position:relative;overflow:hidden}.scanner-frame video{object-fit:cover;width:100%;max-height:410px}.scanner-placeholder{color:#e9ede6;font-size:12px;position:absolute}.scanner-panel>.button-row{justify-content:center;margin:15px 0}.scan-result{color:#8b342d;background:#fbebe6;border-radius:7px;padding:12px;font-size:12px;font-weight:700}.scan-result.success{color:#25613f;background:#e7f3e8}.scan-result.duplicate{color:#9a2d28;background:#fae5e2}.scan-guest{margin:10px 0;font-size:12px}.scanner-panel>.muted{margin-bottom:0}@media (max-width:820px){.hero{grid-template-columns:1fr .85fr;gap:15px;padding-block:38px 60px}.hero-art{min-height:350px}.invitation-card{min-height:290px}.dashboard-grid{grid-template-columns:1fr}.auth-layout{grid-template-columns:1fr;gap:5px;padding-top:35px}.auth-copy{text-align:center}.auth-copy h1 br{display:none}.auth-copy p:last-child{margin-inline:auto}.auth-card{margin-top:20px}.pricing-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:580px){.container{width:min(100% - 32px,1160px)}.site-header{min-height:68px}.site-header nav{gap:10px}.site-header nav>a:not(.button){display:none}.hero{grid-template-columns:1fr;padding-block:26px 48px}.hero h1{font-size:48px}.hero-art{min-height:365px}.hero-proof{gap:8px 14px}.feature-strip{padding-block:58px}.feature-grid{grid-template-columns:1fr;gap:12px}.feature-grid article{padding-top:16px}.pricing-section{padding-block:60px}.pricing-grid{grid-template-columns:repeat(2,1fr)}.price-card{min-height:125px;padding:13px}.price-card>strong{font-size:19px}.cta-inner{flex-direction:column;align-items:flex-start}.site-footer{flex-wrap:wrap;justify-content:flex-start;padding-block:20px}.auth-page{padding:24px 16px}.auth-layout{min-height:auto}.auth-copy h1{font-size:40px}.auth-card{padding:24px 18px}.dashboard-header{padding-inline:16px}.user-tools>span{text-overflow:ellipsis;white-space:nowrap;max-width:145px;overflow:hidden}.dashboard-intro,.dashboard-grid,.dashboard-notice{width:calc(100% - 28px)}.dashboard-intro h1{font-size:36px}.dashboard-grid{gap:12px}.panel{padding:17px 14px}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.align-end{justify-self:start}.invite-actions{flex-direction:column;align-items:stretch}.invite-topline{margin-bottom:18px}.invitation-card-public{padding:28px 20px}.event-facts div{grid-template-columns:54px 1fr}.scanner-frame{min-height:220px}}@media print{body,.invitation-page{background:#fff}.invite-topline,.invitation-footer,.rsvp-form,.digital-pass>button{display:none!important}.invitation-card-public{box-shadow:none;border:0}}
