@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@500;600&display=swap";:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0}:root{--ink: #111816;--forest: #12372d;--paper: #f7f5ef;--line: #d9ddd7;--muted: #6e7872;--serif: "Playfair Display", Georgia, serif;--sans: "DM Sans", -apple-system, BlinkMacSystemFont, sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:var(--forest);color:var(--ink);font-family:var(--sans)}button,input,select{font:inherit}button{cursor:pointer}.app-shell{min-height:100vh;min-height:100dvh;padding:18px;display:grid;place-items:center;background:var(--forest)}.checkin-layout{width:min(1440px,100%);min-height:min(900px,calc(100vh - 36px));display:grid;grid-template-columns:minmax(360px,.92fr) minmax(540px,1.08fr);overflow:hidden;border:1px solid rgba(255,255,255,.5);border-radius:14px;background:var(--paper);box-shadow:0 24px 80px #0000002e;animation:shell-in .7s cubic-bezier(.2,.8,.2,1) both}.photo-panel{min-height:740px;background-size:cover;background-position:center;position:relative;overflow:hidden}.photo-panel:after{content:"";position:absolute;inset:-4%;background:inherit;background-size:cover;background-position:center;animation:photo-drift 18s ease-in-out infinite alternate;z-index:0}.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,#0a1f1914,#0a1f1961);z-index:1}.photo-caption{position:absolute;left:clamp(22px,4vw,56px);bottom:clamp(24px,4vw,56px);color:#fff;z-index:2;display:grid;gap:3px}.photo-caption span{font-family:var(--serif);font-size:clamp(28px,3vw,48px);letter-spacing:-.03em}.photo-caption small{font-size:11px;letter-spacing:.17em;text-transform:uppercase;opacity:.8}.form-panel{display:flex;flex-direction:column;min-width:0}.topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;padding:0 clamp(24px,4vw,64px);border-bottom:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:10px;min-width:0;color:var(--forest);font-size:16px;font-weight:700;letter-spacing:.12em}.wordmark span{overflow:hidden;font-size:10px;letter-spacing:.16em;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.language-switch{display:flex;flex:none;gap:2px;padding:3px;border:1px solid var(--line);border-radius:999px}.language-switch button{color:var(--muted);background:transparent;border:0;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:700;letter-spacing:.08em;transition:background .18s ease,color .18s ease}.language-switch button.active{color:var(--paper);background:var(--forest)}.form-content{width:min(100%,670px);padding:clamp(32px,5vw,76px) clamp(24px,6vw,80px) 48px;margin:auto}.intro-copy{animation:rise-in .65s .1s both}.eyebrow,.section-label{color:var(--forest);font-size:10px;font-weight:700;letter-spacing:.17em;line-height:1.4;text-transform:uppercase}h1{max-width:560px;margin:12px 0 14px;color:var(--ink);font-family:var(--serif);font-size:clamp(38px,4.2vw,62px);font-weight:500;letter-spacing:-.055em;line-height:1.02;overflow-wrap:break-word}.intro-copy>p:not(.eyebrow){max-width:420px;margin:0;color:#4e5953;font-size:14px;line-height:1.6}.privacy-note{display:flex;align-items:center;gap:8px;margin-top:20px;color:var(--muted);font-size:11px}.privacy-note span{display:inline-grid;flex:none;width:18px;height:18px;place-items:center;border:1px solid #aeb8b1;border-radius:50%;color:var(--forest);font-size:13px}.guest-counter{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:46px 0 26px;padding-bottom:25px;border-bottom:1px solid var(--line);animation:rise-in .65s .2s both}.guest-counter>div:first-child{display:grid;gap:5px}.guest-counter small{color:var(--muted);font-size:11px}.submitted-guests{display:grid;gap:8px;margin:-8px 0 28px}.submitted-guest{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:11px 13px;border:1px solid var(--line);border-radius:6px;background:#ffffff57;color:var(--muted);font-size:11px}.submitted-guest button{padding:0;border:0;background:transparent;color:#8f554d;font-size:10px}.submitted-guest button:hover:not(:disabled){text-decoration:underline}.submitted-guest button:disabled{cursor:wait;opacity:.55}.stepper{display:grid;flex:none;grid-template-columns:38px 42px 38px;height:38px;border:1px solid #cbd2cc;border-radius:6px;overflow:hidden}.stepper button,.stepper strong{display:grid;place-items:center;border:0;background:transparent;color:var(--forest)}.stepper button{font-size:20px;transition:background .18s ease}.stepper button:hover:not(:disabled){background:#e9eee9}.stepper button:disabled{color:#b8c0ba;cursor:not-allowed}.stepper strong{border-inline:1px solid var(--line);font-size:13px;font-weight:600}.guest-section{min-width:0;margin:0 0 34px;padding:0 0 26px;border:0;border-bottom:1px solid var(--line);animation:rise-in .55s both}.guest-section:nth-of-type(2){animation-delay:.08s}.guest-section legend{width:100%;margin-bottom:20px;color:var(--ink);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.guest-section legend span{color:var(--muted);font-weight:500;letter-spacing:0;text-transform:none}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 14px}.field{display:grid;align-content:start;gap:7px;min-width:0}.field span{color:#66716b;font-size:10px;font-weight:600}.field input,.field select{width:100%;height:43px;padding:0 13px;border:1px solid #d2d7d2;border-radius:6px;outline:0;background:#ffffff3d;color:var(--ink);font-size:13px;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.field input:focus,.field select:focus{border-color:var(--forest);background:#fff;box-shadow:0 0 0 3px #12372d1a}.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#637069 50%),linear-gradient(135deg,#637069 50%,transparent 50%);background-position:calc(100% - 15px) 18px,calc(100% - 11px) 18px;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.field input[type=date]{color-scheme:light}.field-hint{color:#87918b;font-size:10px;line-height:1.45}.remove-button{margin-top:18px;padding:0;border:0;background:transparent;color:#8f554d;font-size:11px}.remove-button:hover{text-decoration:underline}.submit-button,.secondary-button{width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 17px;border:1px solid var(--forest);border-radius:6px;background:var(--forest);color:#fff;font-size:12px;font-weight:600;transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.submit-button:hover:not(:disabled),.secondary-button:hover{transform:translateY(-2px);background:#1d4d3f;box-shadow:0 8px 18px #12372d29}.submit-button:disabled{cursor:wait;opacity:.62}.submit-button>span:last-child{font-size:21px;font-weight:400}.form-footnote{margin:14px 0 0;color:#87918b;font-size:10px;text-align:center}.status-message{margin:0 0 16px;padding:12px 14px;border-radius:6px;font-size:12px;line-height:1.45}.status-message.error{color:#813e36;background:#f7e9e6}.status-message.success{color:var(--forest);background:#e6f0e8}.success-state{max-width:420px;margin:auto;padding:48px clamp(24px,6vw,80px);animation:rise-in .65s both}.success-icon{width:64px;height:64px;display:grid;place-items:center;margin-bottom:34px;border-radius:50%;background:#cfddd3;color:var(--forest);font-size:30px;animation:success-pop .55s .15s both}.success-state h1{font-size:clamp(44px,5vw,64px)}.success-state>p:not(.eyebrow){color:#4e5953;font-size:14px;line-height:1.6}.secondary-button{justify-content:center;margin-top:36px}.loading-screen{min-height:100vh;min-height:100dvh;display:grid;place-content:center;justify-items:center;gap:15px;background:var(--paper);color:var(--forest)}.loading-mark{font-size:28px;font-weight:700;letter-spacing:.12em;animation:breathe 1.5s ease-in-out infinite}.loading-screen p{color:var(--muted);font-size:12px}@keyframes shell-in{0%{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}@keyframes rise-in{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}@keyframes photo-drift{0%{transform:scale(1)}to{transform:scale(1.035)}}@keyframes success-pop{0%{opacity:0;transform:scale(.75)}to{opacity:1;transform:scale(1)}}@keyframes breathe{0%,to{opacity:.45;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (max-width: 960px){.app-shell{padding:0;display:block}.checkin-layout{min-height:100vh;min-height:100dvh;display:block;border:0;border-radius:0}.photo-panel{height:clamp(240px,42vh,420px);min-height:0;background-position:center 38%}.photo-caption{bottom:22px;left:24px}.photo-caption span{font-size:34px}.form-content{width:100%;padding:40px 24px 42px}.topbar{padding:0 24px}h1{font-size:clamp(38px,9vw,56px)}.guest-counter{margin-top:38px}}@media (max-width: 520px){.field-grid{grid-template-columns:1fr;gap:14px}.form-content{padding-top:32px}.intro-copy>p:not(.eyebrow){font-size:13px}.topbar{min-height:60px}.wordmark span{display:none}}@media (max-width: 340px){.photo-caption{text-shadow:0 1px 2px rgba(10,31,25,.55),0 2px 18px rgba(10,31,25,.8)}}
