:root{color:#123d2c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;background:#fff;min-width:20rem}body{min-width:20rem;min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:transparent}.site-shell{flex-direction:column;min-height:100svh;display:flex}.site-header{align-items:center;width:min(100% - 2rem,72rem);min-height:4.5rem;margin-inline:auto;display:flex}.brand{color:#164b35;letter-spacing:-.01em;align-items:center;gap:.7rem;font-size:1rem;font-weight:750;text-decoration:none;display:inline-flex}.brand-mark{color:#fff;background:#18794e;border-radius:.8rem;place-items:center;width:2.5rem;height:2.5rem;font-size:1.15rem;font-weight:800;display:grid;box-shadow:0 .5rem 1.25rem #18794e2e}main{flex:1}.auth{background:#f8fdf9;border:1px solid #d8eee0;border-radius:1.25rem;width:min(100% - 2rem,28rem);margin:2rem auto;padding:1.5rem}.auth h2{margin:0}.auth p{color:#4c6258;overflow-wrap:anywhere}.auth form{gap:.5rem;display:grid}.auth label{margin-top:.5rem;font-weight:650}.auth input{width:100%;min-height:3rem;font:inherit;border:1px solid #91a39a;border-radius:.6rem;padding:.75rem}.auth input:focus-visible{outline-offset:2px;outline:3px solid #f0b429}.auth .primary-action{width:100%;margin-top:1rem}.auth .auth-error{color:#a2382a}.auth .auth-notice{color:#11643f;background:#e1f5e8;border-radius:.6rem;padding:.85rem;font-weight:650}.password-field{position:relative}.password-field input{padding-right:3.5rem}.password-toggle{color:#164b35;cursor:pointer;background:0 0;border:0;width:3rem;height:3rem;position:absolute;top:0;right:0}.password-toggle svg{width:1.25rem;height:1.25rem}.auth-link{color:#11643f;font:inherit;cursor:pointer;background:0 0;border:0;justify-self:start;padding:.5rem 0;font-weight:650;text-decoration:underline}.password-toggle:focus-visible,.auth-link:focus-visible{outline-offset:2px;outline:3px solid #f0b429}.hero{isolation:isolate;background:radial-gradient(circle at 50% 10%,#d7f7e4d9,#0000 42%),linear-gradient(#f8fdf9 0%,#fff 85%);place-items:center;min-height:min(42rem,100svh - 4.5rem);padding:4.5rem 1.25rem;display:grid;position:relative;overflow:hidden}.hero-content{text-align:center;z-index:1;flex-direction:column;align-items:center;width:min(100%,48rem);display:flex}.eyebrow,.section-label{color:#18794e;letter-spacing:.12em;text-transform:uppercase;margin:0;font-size:.78rem;font-weight:800}h1{color:#123d2c;letter-spacing:-.065em;max-width:12ch;margin:1rem 0 0;font-size:clamp(3rem,14vw,6.5rem);line-height:.95}.hero-description{color:#4c6258;max-width:30rem;margin:1.5rem 0 0;font-size:clamp(1.1rem,4.5vw,1.5rem);line-height:1.55}.primary-action{color:#fff;cursor:pointer;background:#18794e;border:0;border-radius:.9rem;justify-content:center;align-items:center;gap:.75rem;width:min(100%,18rem);min-height:3.25rem;margin-top:2.25rem;padding:.8rem 1.25rem;font-family:inherit;font-size:1rem;font-weight:750;transition:background-color .16s,transform .16s,box-shadow .16s;display:inline-flex;box-shadow:0 .85rem 2rem #18794e38}.primary-action:hover{background:#11643f;transform:translateY(-2px);box-shadow:0 1rem 2.25rem #18794e47}.primary-action:disabled{box-shadow:none;cursor:wait;background:#4e8f70;transform:none}.primary-action:focus-visible,.brand:focus-visible{outline-offset:4px;outline:3px solid #f0b429}.button-spinner{border:2px solid #ffffff73;border-top-color:#fff;border-radius:50%;width:1rem;height:1rem;animation:.7s linear infinite spin;display:none}.primary-action:disabled .button-spinner{display:block}.connection-status{color:#64776e;align-items:center;gap:.5rem;min-height:1.5rem;margin:1rem 0 0;font-size:.92rem;font-weight:650;display:inline-flex}.status-indicator{background:#91a39a;border-radius:50%;flex:none;width:.6rem;height:.6rem}.connection-status-checking{color:#8a5a00}.connection-status-checking .status-indicator{background:#d89310}.connection-status-success{color:#11643f}.connection-status-success .status-indicator{background:#15945b}.connection-status-error{color:#a2382a}.connection-status-error .status-indicator{background:#c94b3c}@keyframes spin{to{transform:rotate(360deg)}}.hero-decoration{z-index:-1;border:1px solid #18794e1f;border-radius:999px;position:absolute}.hero-decoration-top{width:12rem;height:12rem;top:-6rem;right:-5rem;box-shadow:inset 0 0 0 2rem #d7f7e45c}.hero-decoration-bottom{width:17rem;height:17rem;bottom:-9rem;left:-8rem;box-shadow:inset 0 0 0 3rem #d7f7e44d}.about{color:#4c6258;background:#f1faf4;border:1px solid #d8eee0;border-radius:1.25rem;grid-template-columns:auto 1fr;gap:1.25rem;width:min(100% - 2rem,58rem);margin:1rem auto 5rem;padding:1.5rem;display:grid}.about-icon{color:#18794e;background:#fff;border-radius:.9rem;place-items:center;width:3rem;height:3rem;display:grid}.about-icon svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.5rem}.about h2{color:#123d2c;letter-spacing:-.035em;margin:.35rem 0 .65rem;font-size:clamp(1.35rem,6vw,1.8rem);line-height:1.2}.about p:last-child{max-width:42rem;margin:0;line-height:1.7}footer{color:#64776e;text-align:center;border-top:1px solid #e3eee7;padding:1.5rem;font-size:.9rem}footer p{margin:0}@media (width>=48rem){.site-header{min-height:5.25rem}.hero{min-height:min(44rem,100svh - 5.25rem);padding-block:6rem}.about{gap:1.5rem;margin-top:2rem;padding:2rem}.about-icon{width:3.5rem;height:3.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.primary-action{transition:none}.button-spinner{animation:none}}.invitation-main{background:linear-gradient(#f1faf4,#fff);align-content:start;display:grid}.invitation-card{background:#fff;width:min(100% - 2rem,30rem);margin:3rem auto;padding:clamp(1.5rem,5vw,2.5rem);box-shadow:0 1rem 3rem #123d2c14}.invitation-card .section-label{color:#18794e;margin:0 0 1rem}.invitation-card h2{line-height:1.25}.invitation-card p{line-height:1.6}.invitation-home{color:#11643f;margin-top:.75rem;font-weight:700;display:inline-block}.invitation-home:focus-visible{outline-offset:4px;outline:3px solid #f0b429}.auth select{width:100%;min-height:3rem;font:inherit;background:#fff;border:1px solid #91a39a;border-radius:.6rem;padding:.75rem}.receipt-print{border:1px solid #d8eee0;border-radius:.6rem;margin-top:1.5rem;padding:1rem}@media print{body *{visibility:hidden}.receipt-print,.receipt-print *{visibility:visible}.receipt-print{border:0;margin:0;position:absolute;inset:0}}
