@font-face{font-family:DM Sans;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/dm-sans-latin-ext.woff2)format("woff2")}@font-face{font-family:Fraunces;font-style:normal;font-weight:400 700;font-display:swap;src:url(/fonts/fraunces-latin-ext.woff2)format("woff2")}:root{--canvas:#fafaf8;--canvas-strong:#d4d9d4;--surface:#fafaf8;--surface-muted:#f7f8f6;--text:#543720;--text-muted:#685e55;--line:#c8cec8;--line-strong:#aeb8ae;--focus:#765333;--error:#a63f36;--error-strong:#7c3029;--error-line:#dda8a2;--error-surface:#fff3f1;--success:#376349;--success-surface:#e8f1e8;--notice:#75531f;--notice-strong:#604315;--notice-line:#e2cfa7;--notice-surface:#fff5df;--action-hover:#684426;--overlay-scrim:#54372024;--link-underline:#685e5573;--radius-key:6px;--radius-option:9px;--radius-field:14px;--radius-table:16px;--radius-panel:18px;--radius-sheet:22px;--radius-card:28px;--radius-pill:999px;--border-subtle:1px solid var(--line);--focus-outline:3px solid var(--focus);--focus-outline-offset:3px;--field-focus-ring:0 0 0 1px var(--focus);--field-error-ring:0 0 0 1px var(--error);--control-height-compact:44px;--control-height:46px;--field-control-height:54px;--field-control-half-height:calc(var(--field-control-height) / 2);--floating-label-padding-block:calc(var(--field-control-height) / 18);--birth-date-slot-height:calc(var(--field-control-height) - 24px);--field-gap:7px;--layout-gap-hairline:2px;--layout-gap-micro:5px;--layout-gap-compact:8px;--layout-gap:12px;--layout-gap-wide:16px;--layout-gap-form:18px;--section-gap-compact:20px;--text-mobile-context:.55rem;--text-key:.67rem;--text-footer:.68rem;--text-brand-context:.6875rem;--text-group:.7rem;--text-caption:.72rem;--text-badge:.75rem;--text-help:.76rem;--text-meta:.78rem;--text-step:.8rem;--text-supporting:.82rem;--text-label:.84rem;--text-dock:.875rem;--text-adjustment:.9rem;--text-body:1rem;--text-booking:1.05rem;--text-brand:1.3125rem;--text-section:1.35rem;--text-drawer:1.45rem;--text-display:clamp(2rem, 5vw, 3rem);--leading-tight:1;--leading-display:1.08;--leading-heading:1.15;--leading-control:1.25;--leading-dock:1.3;--leading-compact:1.35;--leading-supporting:1.4;--leading-alert:1.45;--leading-ui:1.5;--leading-intro:1.55;--leading-body:1.6;--roster-line-height:19px;--tracking-display:-.035em;--tracking-heading:-.025em;--tracking-brand:-.02em;--tracking-context:.12em;--tracking-context-mobile:.08em;--tracking-meta:.035em;--tracking-group:.04em;--motion-fast:.12s;--motion-feedback:.14s;--motion-base:.16s;--motion-slow:.18s;--motion-sheet:.22s;--motion-attention:.46s;--motion-reduced:.01ms;--ease-standard:ease;--ease-out:cubic-bezier(.16, 1, .3, 1);--ease-sheet:cubic-bezier(.22, 1, .36, 1);--status-alert-radius:var(--radius-field);--status-alert-padding:14px 16px;--status-alert-icon-column:28px;--status-alert-gap:11px;--status-alert-font-size:.88rem;--status-alert-line-height:var(--leading-alert);--status-alert-region-gap:20px;--status-alert-region-lead-gap:18px;--status-alert-region-party-gap:16px;--status-alert-region-compact-gap:7px;--status-alert-region-compact-width:52ch;--back-link-color:var(--text-muted);--back-link-hover-color:var(--text);--back-link-min-height:var(--control-height-compact);--back-link-padding:8px 0;--back-link-underline-offset:4px;--listbox-hover-surface:var(--canvas);--listbox-active-surface:var(--text);--listbox-active-text:var(--surface);--listbox-active-muted:#eadfd4;--listbox-options-max-height:230px;--listbox-mobile-open-space:360px;--shadow-soft:0 18px 48px #5437201f;--shadow-dock:0 -14px 44px #54372024;--shadow-drawer:0 -20px 54px #5437202e;--checkin-dock-height:78px;color:var(--text);background:var(--canvas);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-synthesis:none;font-family:DM Sans,ui-sans-serif,system-ui,sans-serif}*{box-sizing:border-box}html{scrollbar-color:var(--line-strong) var(--canvas)}::selection{background:var(--canvas-strong);color:var(--text)}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:var(--canvas)}::-webkit-scrollbar-thumb{border:var(--focus-outline-offset) solid var(--canvas);border-radius:var(--radius-pill);background:var(--line-strong)}body{background:var(--canvas);min-width:320px;min-height:100vh;caret-color:var(--text);margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}main{width:min(760px,100% - 32px);margin:0 auto;padding:clamp(20px,4vw,38px) 0 24px}.checkin-shell{padding-top:max(10px, env(safe-area-inset-top));padding-bottom:calc(var(--checkin-dock-height) + env(safe-area-inset-bottom) + 32px)}header{justify-content:space-between;align-items:center;gap:var(--layout-gap-wide);margin-bottom:22px;display:flex}header>select{width:auto;min-height:var(--control-height-compact);border-radius:var(--radius-pill);background:var(--surface);padding:9px 34px 9px 14px}.brand{min-width:0;color:var(--text);text-decoration:none;display:inline-flex}.brand>div{gap:var(--layout-gap-hairline);display:grid}.brand-wordmark{font-family:Fraunces,Georgia,serif;font-size:var(--text-brand);letter-spacing:var(--tracking-brand);font-weight:400;line-height:var(--leading-tight)}.brand-context{color:var(--text-muted);font-size:var(--text-brand-context);letter-spacing:var(--tracking-context);text-transform:uppercase;font-weight:600}.checkin-dock{z-index:50;min-height:calc(var(--checkin-dock-height) + env(safe-area-inset-bottom));background:var(--surface);box-shadow:var(--shadow-dock);position:fixed;bottom:0;left:0;right:0}.checkin-dock-inner{width:min(760px,100% - 32px);min-height:var(--checkin-dock-height);align-items:center;gap:var(--layout-gap-form);padding:10px 0 calc(10px + env(safe-area-inset-bottom));grid-template-columns:auto minmax(0,1fr) auto;margin:0 auto;display:grid}.dock-progress{appearance:none;background:var(--canvas-strong);border:0;border-radius:0;width:100%;height:3px;position:absolute;top:0;left:0;right:0;overflow:hidden}.dock-progress::-webkit-progress-bar{background:var(--canvas-strong)}.dock-progress::-webkit-progress-value{background:var(--text);transition:width var(--motion-slow) var(--ease-standard)}.dock-progress::-moz-progress-bar{background:var(--text);transition:width var(--motion-slow) var(--ease-standard)}.dock-person-summary{gap:var(--layout-gap-hairline);border-left:1px solid var(--line);min-width:0;padding-left:18px;display:grid}.dock-person-summary strong,.dock-person-summary span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dock-person-summary strong{font-size:var(--text-dock);line-height:var(--leading-control)}.dock-person-summary span{color:var(--text-muted);font-size:var(--text-badge);line-height:var(--leading-dock)}.dock-details{min-height:var(--control-height-compact);border-radius:var(--radius-pill);color:var(--text-muted);transition:background-color var(--motion-base) var(--ease-standard), color var(--motion-base) var(--ease-standard);background:0 0;border:0;justify-content:center;align-items:center;gap:6px;padding:9px 10px;font-weight:600;display:inline-flex}.dock-details svg{transition:transform var(--motion-slow) var(--ease-standard)}.dock-details.is-open{width:44px;color:var(--text);padding:0}.dock-details.is-open svg{transform:rotate(180deg)}.dock-details.is-open span,.drawer-close span{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.drawer-close{width:var(--control-height-compact);min-height:var(--control-height-compact);border-radius:var(--radius-pill);color:var(--text-muted);transition:background-color var(--motion-base) var(--ease-standard), color var(--motion-base) var(--ease-standard);background:0 0;border:0;flex:none;place-items:center;padding:0;display:inline-grid}@media (hover:hover){.dock-details:hover,.drawer-close:hover{background:var(--surface-muted);color:var(--text)}}.checkin-drawer-scrim{z-index:40;inset:0 0 calc(var(--checkin-dock-height) + env(safe-area-inset-bottom));background:var(--overlay-scrim);width:100%;animation:checkin-scrim-enter var(--motion-slow) var(--ease-sheet);border:0;border-radius:0;position:fixed}.checkin-drawer{z-index:45;right:0;bottom:calc(var(--checkin-dock-height) + env(safe-area-inset-bottom));border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--surface);width:min(760px,100% - 32px);max-height:min(62vh,460px);box-shadow:var(--shadow-drawer);animation:checkin-drawer-enter var(--motion-sheet) var(--ease-sheet);margin:0 auto;padding:24px;position:fixed;left:0;overflow-y:auto}.checkin-drawer-head{margin-bottom:var(--section-gap-compact);justify-content:space-between;align-items:start;gap:24px;display:flex}.checkin-drawer-head h2{font-family:Fraunces,Georgia,serif;font-size:var(--text-drawer);letter-spacing:var(--tracking-heading);font-weight:500;line-height:var(--leading-heading);margin:0 0 4px}.checkin-drawer-head p{color:var(--text-muted);font-size:var(--text-supporting);line-height:var(--leading-supporting);margin:0}.checkin-drawer .guest-progress-title{display:none}@keyframes checkin-drawer-enter{0%{opacity:.72;transform:translateY(22px)}}@keyframes checkin-scrim-enter{0%{opacity:0}}.card{border-radius:var(--radius-card);background:var(--surface);min-height:420px;box-shadow:var(--shadow-soft);padding:clamp(24px,6vw,52px);position:relative}.card.wide{min-height:300px}.guest-surface{min-height:420px;padding-top:10px;position:relative}.guest-progress{margin:0}.guest-progress-title{color:var(--text-muted);font-size:var(--text-supporting);font-weight:600;line-height:var(--leading-supporting);margin:0 0 10px}.guest-roster{gap:var(--layout-gap-compact);grid-template-columns:repeat(auto-fit,minmax(132px,1fr));margin:0;padding:0;list-style:none;display:grid}.guest-roster-item{gap:var(--layout-gap-hairline);border:var(--border-subtle);border-radius:var(--radius-field);background:var(--surface-muted);min-width:0;color:var(--text-muted);font-size:var(--text-supporting);line-height:var(--leading-compact);padding:9px 11px;display:grid}.guest-roster-item>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:700;overflow:hidden}.guest-roster-item strong{overflow-wrap:anywhere;min-block-size:38px;color:var(--text-muted);font-size:inherit;line-height:var(--roster-line-height);display:block}.guest-roster-item.is-current{border-color:var(--text);background:var(--canvas);color:var(--text)}.guest-roster-item.is-current strong{color:var(--text)}.guest-roster-item.is-complete:not(.is-current) strong{color:var(--success)}.step-meta{color:var(--text-muted);font-size:var(--text-step);font-weight:600;line-height:var(--leading-supporting);margin:0 0 8px}h1{font-family:Fraunces,Georgia,serif;font-size:var(--text-display);letter-spacing:var(--tracking-display);font-weight:500;line-height:var(--leading-display);margin:0 0 22px}.overview-intro{gap:var(--layout-gap-compact);max-width:70ch;color:var(--text-muted);display:grid}.overview-intro p{line-height:var(--leading-intro);margin:0}.overview-intro p:last-child{color:var(--text);font-weight:600}p{line-height:var(--leading-body)}.booking{border:var(--border-subtle);border-radius:var(--radius-panel);background:var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:26px 0;display:grid;overflow:hidden}.booking div{background:var(--surface-muted);padding:17px}.booking span,.table article span{color:var(--text-muted);font-size:var(--text-meta);margin-bottom:5px;display:block}.booking strong{font-size:var(--text-booking)}.booking-guest-value{align-items:center;gap:var(--field-gap);display:inline-flex}.booking-guest-value svg{color:var(--text-muted)}.guest-count-edit{justify-items:start;margin:-8px 0 20px;display:grid}.guest-count-trigger{min-height:var(--control-height-compact);align-items:center;gap:var(--layout-gap-micro);color:var(--text-muted);font-size:var(--text-label);text-decoration:underline;-webkit-text-decoration-color:var(--link-underline);text-decoration-color:var(--link-underline);text-underline-offset:3px;background:0 0;border:0;padding:8px 0;display:inline-flex}.guest-count-trigger svg{transition:transform var(--motion-base) var(--ease-out)}.guest-count-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.guest-count-adjustment{border-block:var(--border-subtle);justify-content:space-between;align-items:center;gap:20px;width:min(100%,430px);padding:12px 0;display:flex}.guest-count-adjustment>div:first-child{gap:var(--layout-gap-hairline);display:grid}.guest-count-adjustment span{font-size:var(--text-adjustment);font-weight:600}.guest-count-adjustment small{color:var(--text-muted);font-size:var(--text-help)}.guest-count-stepper{grid-template-columns:44px 38px 44px;align-items:center;display:grid}.guest-count-stepper button{width:var(--control-height-compact);height:var(--control-height-compact);border:var(--border-subtle);border-radius:var(--radius-pill);background:var(--surface);color:var(--text);transition:border-color var(--motion-base) var(--ease-standard), background-color var(--motion-base) var(--ease-standard);place-items:center;display:grid}.guest-count-stepper button:disabled{opacity:.38}.guest-count-stepper output{color:var(--text);text-align:center;font-variant-numeric:tabular-nums;font-weight:700}.primary,.secondary{min-height:var(--control-height);border-radius:var(--radius-pill);transition:background-color var(--motion-base) var(--ease-standard), border-color var(--motion-base) var(--ease-standard), color var(--motion-base) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);border:1px solid #0000;padding:10px 21px;font-weight:700}.primary{background:var(--text);color:var(--surface)}.secondary{border-color:var(--line);background:var(--surface);color:var(--text)}.back-link{min-height:var(--back-link-min-height);max-width:100%;padding:var(--back-link-padding);color:var(--back-link-color);font:inherit;text-align:left;text-decoration:underline;-webkit-text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-decoration-color:color-mix(in srgb, currentColor 45%, transparent);text-underline-offset:var(--back-link-underline-offset);transition:color var(--motion-base) var(--ease-standard), text-decoration-color var(--motion-base) var(--ease-standard);background:0 0;border:0}.primary:disabled{opacity:.48}.primary:focus-visible,.secondary:focus-visible,.back-link:focus-visible,.choice:focus-visible,.guest-count-trigger:focus-visible,.guest-count-stepper button:focus-visible,.dock-details:focus-visible,.drawer-close:focus-visible,a:focus-visible,.results-options button:focus-visible,.check input:focus-visible{outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.primary:active,.secondary:active,.choice:active{transform:translateY(1px)}@media (hover:hover){.primary:not(:disabled):hover{background:var(--action-hover)}.secondary:not(:disabled):hover{border-color:var(--text);background:var(--canvas)}.back-link:hover{color:var(--back-link-hover-color);text-decoration-color:currentColor}.guest-count-trigger:hover{color:var(--text);text-decoration-color:currentColor}.guest-count-stepper button:not(:disabled):hover{border-color:var(--text);background:var(--canvas)}}.nav{justify-content:space-between;gap:var(--layout-gap);margin-top:34px;display:flex}.nav>button{white-space:normal;min-width:0}.nav .back-link{align-self:center}.party-intro{max-width:62ch;color:var(--text-muted);margin:-5px 0 24px}.choices{gap:10px;display:grid}.choice{border:var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface);width:100%;min-height:76px;color:var(--text);text-align:left;transition:border-color var(--motion-base) var(--ease-standard), background-color var(--motion-base) var(--ease-standard), transform var(--motion-fast) var(--ease-standard);grid-template-columns:46px minmax(0,1fr);align-items:center;gap:15px;padding:14px 16px;display:grid}.choice-icon{border-radius:var(--radius-field);background:var(--canvas);width:46px;height:46px;color:var(--text);place-items:center;display:grid}.choice-copy{gap:3px;min-width:0;display:grid}.choice-copy strong{font-size:var(--text-body)}.choice-copy small{color:var(--text-muted);font-size:var(--text-supporting);line-height:var(--leading-supporting)}.choice.selected{border-color:var(--text);background:var(--canvas)}.choice.selected .choice-icon{background:var(--text);color:var(--surface)}@media (hover:hover){.choice:hover{border-color:var(--text)}}.status-alert--attention{animation:status-alert-attention var(--motion-attention) var(--ease-out)}@keyframes status-alert-attention{0%,to{border-color:var(--status-alert-border);background:var(--status-alert-surface);transform:translateY(0)}34%{border-color:var(--focus);background:var(--notice-surface);transform:translateY(-3px)}}@keyframes status-alert-attention-reduced{0%,to{border-color:var(--status-alert-border);background:var(--status-alert-surface)}42%{border-color:var(--focus);background:var(--notice-surface)}}.grid{gap:var(--layout-gap-form);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.guest-fields{border:0;min-width:0;margin:0;padding:0}.preparation-hint{border:var(--border-subtle);border-radius:var(--radius-field);background:var(--surface-muted);color:var(--text-muted);font-size:var(--text-supporting);font-weight:600;line-height:var(--leading-supporting);margin:var(--layout-gap-wide) 0 0;padding:12px 14px}.required-fields-hint{color:var(--text-muted);font-size:var(--text-supporting);margin:-12px 0 24px}.required-fields-hint>span,.required-marker{color:var(--error);font-weight:800}.field-label{align-items:baseline;gap:4px;display:inline-flex}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}label{gap:var(--field-gap);color:var(--text);font-size:var(--text-label);font-weight:600;display:grid;position:relative}.floating-field{gap:var(--field-gap);min-width:0;display:grid}.floating-control{min-width:0;display:block;position:relative}.form-field-leading{z-index:2;color:var(--text-muted);pointer-events:none;place-items:center;display:grid;position:absolute;top:50%;left:18px;transform:translateY(-50%)}.form-field--with-leading-icon .floating-control>input{padding-inline-start:48px}.form-field--with-leading-icon .floating-control>label{left:38px}.form-field--with-leading-icon .floating-control:focus-within>.form-field-leading{color:var(--focus)}.enter-key-hint{top:50%;right:var(--layout-gap-form);color:var(--text-muted);opacity:0;pointer-events:none;display:flex;position:absolute;transform:translateY(-50%)}.floating-control:focus-within>.enter-key-hint{opacity:1}.floating-control:has(>.enter-key-hint)>input{padding-inline-end:calc(var(--layout-gap-form) * 2)}.floating-control>input,.floating-control>select{min-height:var(--field-control-height);padding:10px 18px}.floating-control>label,.floating-control>.floating-label{z-index:1;background:var(--surface);max-width:calc(100% - 24px);color:var(--text-muted);font-size:var(--text-label);font-weight:600;line-height:var(--leading-control);padding:var(--floating-label-padding-block) 8px;pointer-events:none;text-overflow:ellipsis;transform-origin:0;transition:transform var(--motion-slow) var(--ease-out), color var(--motion-feedback) var(--ease-standard);white-space:nowrap;align-items:baseline;gap:4px;display:flex;position:absolute;top:50%;left:10px;overflow:hidden;transform:translateY(-50%)}.floating-control:focus-within>label,.floating-control:focus-within>.floating-label,.floating-control.is-filled>label,.floating-control.is-filled>.floating-label{transform:translateY(calc(-50% - var(--field-control-half-height))) scale(.82)}.floating-control:focus-within>label,.floating-control:focus-within>.floating-label{color:var(--focus)}.floating-control:has([aria-invalid=true])>label{color:var(--error)}.floating-control:has([aria-invalid=true])>.floating-label{color:var(--error)}.floating-control input::placeholder{color:#0000;opacity:1;transition:color var(--motion-feedback) var(--ease-standard)}.floating-control:focus-within input::placeholder{color:var(--text-muted)}.floating-control:not(.is-filled):not(:focus-within)>select{color:#0000}input,select{width:100%;min-height:var(--field-control-height);border:var(--border-subtle);border-radius:var(--radius-field);background:var(--surface);color:var(--text);transition:border-color var(--motion-base) var(--ease-standard), box-shadow var(--motion-base) var(--ease-standard), background-color var(--motion-base) var(--ease-standard);outline:none;padding:10px 18px}input:focus,select:focus{border-color:var(--focus);box-shadow:var(--field-focus-ring)}input[aria-invalid=true],select[aria-invalid=true]{border-color:var(--error);background:var(--surface)}input[aria-invalid=true]:focus,select[aria-invalid=true]:focus{box-shadow:var(--field-error-ring)}input:disabled,select:disabled{cursor:not-allowed;background:var(--surface-muted);color:var(--text-muted)}.field-error{color:var(--error);font-size:var(--text-meta);font-weight:600;line-height:var(--leading-compact)}.field-help{color:var(--text-muted);font-size:var(--text-help);font-weight:500;line-height:var(--leading-supporting)}.reference-select-readonly input{cursor:default;background:var(--surface);color:var(--text-muted)}.birth-date-field,.gender-field{border:0;min-width:0;margin:0;padding:0}.gender-field legend{margin-bottom:var(--field-gap);padding:0}.gender-options{gap:var(--layout-gap-compact);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.gender-option{align-items:center;gap:var(--field-gap);min-height:var(--field-control-height);border:var(--border-subtle);border-radius:var(--radius-field);background:var(--surface);cursor:pointer;transition:border-color var(--motion-base) var(--ease-standard), background-color var(--motion-base) var(--ease-standard);grid-template-columns:34px minmax(0,1fr);padding:6px 9px;display:grid}.gender-option input{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;min-height:1px;position:absolute;overflow:hidden}.gender-option-icon{border-radius:var(--radius-option);background:var(--canvas);width:34px;height:34px;color:var(--text);place-items:center;display:grid}.gender-option.is-selected{border-color:var(--text);background:var(--canvas)}.gender-option.is-selected .gender-option-icon{background:var(--text);color:var(--surface)}.gender-option:has(input:focus-visible){outline:var(--focus-outline);outline-offset:var(--focus-outline-offset)}.gender-option input:focus-visible{outline:none}.gender-field.is-invalid .gender-option{border-color:var(--error);background:var(--error-surface)}.gender-field>.field-error{margin-top:var(--field-gap);display:block}@media (hover:hover){.gender-option:hover{border-color:var(--text)}}.birth-date-field legend{margin-bottom:var(--field-gap);padding:0}.birth-date-control{height:var(--field-control-height);cursor:text;position:relative}.birth-date-part-input,.birth-date-part-input:focus,.birth-date-part-input[aria-invalid=true],.birth-date-part-input[aria-invalid=true]:focus{z-index:2;border-radius:inherit;min-height:0;box-shadow:none;color:#0000;caret-color:#0000;cursor:text;opacity:0;background:0 0;border:0;padding:0;position:absolute;inset:0}.birth-date-segments{gap:var(--layout-gap-compact);pointer-events:none;grid-template-columns:minmax(0,2fr) minmax(0,2fr) minmax(0,4fr);align-items:center;height:100%;display:grid}.birth-date-segment-cluster{height:var(--field-control-height);border:var(--border-subtle);border-radius:var(--radius-field);background:var(--surface);gap:var(--layout-gap-hairline);min-width:0;padding:var(--layout-gap-micro) var(--layout-gap-compact);transition:border-color var(--motion-base) var(--ease-standard), box-shadow var(--motion-base) var(--ease-standard), background-color var(--motion-base) var(--ease-standard);display:grid;position:relative}.birth-date-segment-cluster.is-invalid{border-color:var(--error)}.birth-date-segment-cluster.is-active,.birth-date-segment-cluster.is-invalid.is-active{border-color:var(--focus);background:var(--surface-muted);box-shadow:var(--field-focus-ring)}.birth-date-segment-cluster.is-active .birth-date-segment-label{color:var(--focus)}.birth-date-segment-label{color:var(--text-muted);font-size:var(--text-mobile-context);letter-spacing:var(--tracking-meta);font-weight:700;line-height:var(--leading-tight);text-align:center;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;overflow:hidden}.birth-date-digit-row{gap:var(--layout-gap-hairline);grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.birth-date-segment-cluster:last-child .birth-date-digit-row{grid-template-columns:repeat(4,minmax(0,1fr))}.birth-date-digit{height:var(--birth-date-slot-height);border-radius:var(--radius-key);background:var(--surface-muted);min-width:0;color:var(--text-muted);font-variant-numeric:tabular-nums;font-weight:650;line-height:var(--leading-tight);transition:border-color var(--motion-feedback) var(--ease-standard), background-color var(--motion-feedback) var(--ease-standard), color var(--motion-feedback) var(--ease-standard);border:0;place-items:center;display:grid}.birth-date-digit-value,.birth-date-digit:not(.is-filled):after,.birth-date-digit.is-active:after{grid-area:1/1}.birth-date-digit:not(.is-filled):after,.birth-date-digit.is-active:after{width:62%;margin-bottom:calc(var(--birth-date-slot-height) / 6);content:"";border-bottom:1px solid;align-self:end}.birth-date-digit.is-filled{background:var(--canvas-strong);color:var(--text)}.birth-date-digit.is-invalid{color:var(--error)}.birth-date-digit.is-active{background:var(--focus);color:var(--surface)}.birth-date-field .field-error{margin-top:var(--field-gap);display:block}.section-title{border-top:1px solid var(--line);font-family:Fraunces,Georgia,serif;font-size:var(--text-section);grid-column:1/-1;margin-top:12px;padding-top:22px}.reference-select{gap:var(--field-gap);display:grid;position:relative}.results{z-index:5;border:var(--border-subtle);border-radius:var(--radius-field);background:var(--surface);box-shadow:var(--shadow-soft);position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:hidden}.results-options{max-height:var(--listbox-options-max-height);padding:6px;overflow-y:auto}.results-group-label{color:var(--text-muted);font-size:var(--text-group);letter-spacing:var(--tracking-group);margin:0;padding:7px 9px 5px;font-weight:700}.results-group-label-secondary{border-top:1px solid var(--line);margin-top:6px;padding-top:11px}.results-options button{border-radius:var(--radius-option);background:var(--surface);width:100%;color:var(--text);text-align:left;border:0;gap:3px;padding:10px;display:grid}@media (hover:hover){.results-options button:hover:not([aria-selected=true]){background:var(--listbox-hover-surface)}}.results-options button[aria-selected=true]{background:var(--listbox-active-surface);color:var(--listbox-active-text);font-weight:700}.results-options button[aria-selected=true] small{color:var(--listbox-active-muted)}.results-option-title{display:block}.results-options button small,.results-empty,.results-shortcuts{color:var(--text-muted);font-size:var(--text-caption);font-weight:500;line-height:var(--leading-compact)}.results-shortcuts{align-items:center;gap:var(--layout-gap-compact) var(--layout-gap-wide);border-top:var(--border-subtle);background:var(--surface-muted);flex-wrap:wrap;padding:8px 10px;display:flex}.results-shortcuts>span{align-items:center;gap:var(--layout-gap-micro);display:inline-flex}.results-shortcuts kbd{border:var(--border-subtle);border-radius:var(--radius-key);background:var(--surface);min-width:22px;height:22px;color:var(--text);font:inherit;font-size:var(--text-key);place-items:center;font-weight:700;display:inline-grid}.results-shortcuts kbd+kbd{margin-left:-2px}.results-empty{margin:0;padding:12px}.status-alert{--status-alert-border:var(--line);--status-alert-surface:var(--surface);--status-alert-text:var(--text-muted);--status-alert-title:var(--text);grid-template-columns:var(--status-alert-icon-column) minmax(0, 1fr);align-items:center;gap:var(--status-alert-gap);border:1px solid var(--status-alert-border);border-radius:var(--status-alert-radius);padding:var(--status-alert-padding);background:var(--status-alert-surface);color:var(--status-alert-text);font-size:var(--status-alert-font-size);line-height:var(--status-alert-line-height);display:grid}.status-alert[data-tone=neutral]{--status-alert-border:var(--line);--status-alert-surface:var(--canvas);--status-alert-text:var(--text-muted);--status-alert-title:var(--text)}.status-alert[data-tone=warning]{--status-alert-border:var(--notice-line);--status-alert-surface:var(--notice-surface);--status-alert-text:var(--notice);--status-alert-title:var(--notice-strong)}.status-alert[data-tone=critical]{--status-alert-border:var(--error-line);--status-alert-surface:var(--error-surface);--status-alert-text:var(--error);--status-alert-title:var(--error-strong)}.status-alert-icon{min-height:calc(var(--status-alert-font-size) * var(--status-alert-line-height));align-self:start;place-items:center;display:grid}.status-alert-copy{gap:var(--layout-gap-hairline);min-width:0;display:grid}.status-alert-copy strong{color:var(--status-alert-title)}.alert-region{margin-top:var(--status-alert-region-gap)}.alert-region--lead{margin:0 0 var(--status-alert-region-lead-gap)}.alert-region--party{margin-top:var(--status-alert-region-party-gap)}.alert-region--compact{max-width:var(--status-alert-region-compact-width);margin-top:var(--status-alert-region-compact-gap)}.summary-list{border-top:var(--border-subtle);margin:0 0 24px;padding:0;list-style:none}.summary-entry{gap:var(--layout-gap-micro);padding:var(--section-gap-compact) 0;border-bottom:var(--border-subtle);display:grid}.summary-person{font-size:var(--text-booking);line-height:var(--leading-compact)}.summary-meta{align-items:center;gap:var(--layout-gap);color:var(--text-muted);font-size:var(--text-meta);line-height:var(--leading-supporting);display:flex}.summary-edit{min-height:var(--control-height-compact);color:inherit;font-size:inherit;padding-block:0}.summary-actions{justify-content:flex-end}.summary-list+.check{margin-bottom:24px}.check{line-height:var(--leading-ui);grid-template-columns:22px 1fr;align-items:start;display:grid}.check input{width:20px;min-height:20px;accent-color:var(--text);margin-top:2px}.turnstile{min-height:70px;margin-top:20px}.success{text-align:center;align-content:center;place-items:center;min-height:300px;display:grid}.success-icon{color:var(--success);margin-bottom:18px}.checkin-meta{justify-content:space-between;align-items:flex-start;gap:var(--layout-gap-wide);margin-bottom:var(--section-gap-compact);color:var(--text-muted);font-size:var(--text-footer);letter-spacing:var(--tracking-meta);line-height:var(--leading-ui);display:flex}.checkin-meta nav{gap:var(--layout-gap);display:inline-flex}.checkin-language{width:auto;min-height:var(--control-height-compact);border-radius:var(--radius-pill);background:var(--surface);letter-spacing:normal;padding:9px 34px 9px 14px}.checkin-meta a{min-height:24px;color:inherit;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;align-items:center;text-decoration-thickness:1px;display:inline-flex}@media (hover:hover){.checkin-meta a:hover{color:var(--text);text-decoration-color:currentColor}}.admin{width:min(1100px,100% - 32px)}.admin-workspace{gap:var(--section-gap-compact);display:grid}.admin-head{justify-content:space-between;align-items:start;gap:var(--layout-gap-wide);display:flex}.badges{gap:var(--layout-gap-compact);flex-wrap:wrap;display:flex}.status{border:var(--border-subtle);border-radius:var(--radius-pill);background:var(--canvas);color:var(--text-muted);font-size:var(--text-badge);padding:7px 10px}.badges span{color:var(--text-muted);font-size:var(--text-badge)}.form-version-link{align-items:center;gap:var(--layout-gap-hairline);color:inherit;font-variant-numeric:tabular-nums;-webkit-text-decoration-color:var(--line-strong);text-decoration-color:var(--line-strong);text-underline-offset:3px;text-decoration-thickness:1px;display:inline-flex}@media (hover:hover){.form-version-link:hover{color:var(--text);text-decoration-color:currentColor}}.sync{align-items:end;gap:var(--layout-gap);border-block:var(--border-subtle);padding-block:var(--layout-gap-wide);display:flex}.sync>.form-field{flex:1}.table{gap:var(--layout-gap-compact);margin-top:24px;display:grid}.table article{justify-content:space-between;align-items:center;gap:var(--layout-gap);border:var(--border-subtle);border-radius:var(--radius-table);background:var(--surface);padding:15px;display:flex}.reservation-summary{gap:var(--layout-gap);min-width:0;display:grid}.reservation-title{font-family:Fraunces,Georgia,serif;font-size:var(--text-section);letter-spacing:var(--tracking-heading);font-weight:400;line-height:var(--leading-heading);margin:0}.reservation-facts{gap:var(--layout-gap-compact) var(--layout-gap-wide);grid-template-columns:repeat(auto-fit,minmax(min(100%,12rem),1fr));margin:0;display:grid}.reservation-facts div{min-width:0}.reservation-facts dt{margin-bottom:var(--layout-gap-hairline);color:var(--text-muted);font-size:var(--text-meta);font-weight:600;line-height:var(--leading-compact)}.reservation-facts dd{font-size:var(--text-supporting);font-weight:600;line-height:var(--leading-supporting);margin:0}.reservation-smoobu-id{font-variant-numeric:tabular-nums}.reservation-actions{align-items:center;gap:10px;display:flex}.generated-link{color:var(--success);margin-top:9px;font-weight:700;display:block}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.admin-controls{align-items:end;gap:var(--layout-gap);grid-template-columns:minmax(16rem,1fr) minmax(10rem,auto) auto;margin-top:24px;display:grid}.compact{width:auto;min-height:var(--control-height);justify-content:center;align-items:center;gap:6px;display:inline-flex}.admin-control-action{min-height:var(--field-control-height)}.storybook-field-stage{width:min(560px,100vw - 48px)}.storybook-field-grid{gap:var(--layout-gap-wide);display:grid}.admin-empty{padding-block:var(--layout-gap);color:var(--text-muted);margin:24px 0 0}.admin-reservations{gap:10px}.table article.admin-reservation{--reservation-inner-radius:calc(var(--radius-table) - 1px);padding:0;display:block}.reservation-heading{border-start-start-radius:var(--reservation-inner-radius);border-start-end-radius:var(--reservation-inner-radius);grid-template-columns:auto minmax(0,1fr);align-items:stretch;display:grid;position:relative}.admin-reservation:has(.reservation-toggle[aria-expanded=false]) .reservation-heading{border-end-end-radius:var(--reservation-inner-radius);border-end-start-radius:var(--reservation-inner-radius)}.reservation-heading:has(.reservation-toggle:hover){background:var(--surface-muted)}.status-help{min-width:var(--control-height-compact);min-height:var(--control-height-compact);border-radius:var(--radius-key);color:var(--text-muted);padding:var(--layout-gap-compact);background:0 0;border:0;align-self:center;place-items:center;display:grid}.status-help--success{color:var(--success)}.status-help--warning{color:var(--notice-strong)}.status-help--error{color:var(--error-strong)}.status-help:hover{background:var(--surface-muted)}.status-help:focus-visible{outline:var(--focus-outline);outline-offset:-3px}.table article .status-tooltip{z-index:1;top:calc(100% + var(--layout-gap-hairline));left:var(--layout-gap-compact);max-width:min(18rem, calc(100% - var(--layout-gap-wide)));border:var(--border-subtle);border-radius:var(--radius-key);background:var(--surface);color:var(--text);padding:var(--layout-gap-compact);font-size:var(--text-meta);line-height:var(--leading-compact);opacity:0;pointer-events:none;visibility:hidden;transition:opacity var(--motion-fast) var(--ease-standard), visibility var(--motion-fast) var(--ease-standard);margin-bottom:0;display:block;position:absolute}.status-help:hover+.status-tooltip,.status-help:focus-visible+.status-tooltip,.table article .status-tooltip.is-visible{opacity:1;visibility:visible}.table article .status-tooltip strong{color:inherit;font-size:inherit;margin-bottom:0;display:inline}.reservation-toggle{justify-content:space-between;align-items:center;gap:var(--layout-gap);border-radius:0;width:100%;min-width:0;color:inherit;padding:var(--layout-gap-wide) var(--layout-gap-wide) var(--layout-gap-wide) 0;text-align:left;background:0 0;border:0;border-start-end-radius:var(--reservation-inner-radius);display:flex}.reservation-toggle[aria-expanded=false]{border-end-end-radius:var(--reservation-inner-radius)}.reservation-toggle:hover{background:0 0}.reservation-toggle:focus-visible{outline:var(--focus-outline);outline-offset:-3px}.reservation-toggle .reservation-summary{align-items:center;gap:var(--layout-gap);flex:auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr) max-content;min-width:0;margin-block:0;display:grid}.table article .reservation-title,.table article .reservation-platform,.table article .reservation-arrival{margin-bottom:0;display:block}.table article .reservation-title{min-width:0;color:var(--text);font-family:Fraunces,Georgia,serif;font-size:var(--text-section);letter-spacing:var(--tracking-heading);font-weight:400;line-height:var(--leading-heading);overflow-wrap:anywhere}.table article .reservation-platform{min-width:0;color:var(--text-muted);font-size:var(--text-supporting);line-height:var(--leading-supporting);overflow-wrap:anywhere}.table article .reservation-arrival{color:var(--text);font-size:var(--text-supporting);font-weight:600;line-height:var(--leading-supporting);white-space:nowrap;font-variant-numeric:tabular-nums}.reservation-facts{width:100%}.table article .reservation-facts{color:var(--text-muted);font-size:var(--text-supporting);margin-bottom:0;display:block}.reservation-facts time{font-variant-numeric:tabular-nums}.reservation-facts small{color:var(--text-muted);font-size:var(--text-meta);font-weight:600}.reservation-facts strong{font-size:var(--text-supporting);font-weight:600}.guest-completeness{color:var(--success);font-size:var(--text-supporting);font-weight:700;display:block}.guest-completeness.is-incomplete{color:var(--notice-strong)}.table article .reservation-chevron{color:var(--text-muted);flex:none;place-items:center;margin-bottom:0;display:grid}.status--success{border-color:var(--success);background:var(--success-surface);color:var(--success)}.status--warning{border-color:var(--notice-line);background:var(--notice-surface);color:var(--notice-strong)}.status--error{border-color:var(--error-line);background:var(--error-surface);color:var(--error-strong)}.reservation-detail{gap:var(--layout-gap-wide);border-top:var(--border-subtle);padding:16px;display:grid}.guest-review h3,.reservation-metadata h3,.link-lifecycle h3,.guest-field-group h4{font-family:DM Sans,sans-serif;font-size:var(--text-label);margin:0}.reservation-metadata{gap:var(--layout-gap-compact);display:grid}.reservation-metadata dl{gap:var(--layout-gap);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));margin:0;display:grid}.reservation-metadata dl div{gap:var(--layout-gap-hairline);display:grid}.reservation-metadata dt{color:var(--text-muted);font-size:var(--text-meta)}.reservation-metadata dd{font-size:var(--text-supporting);overflow-wrap:anywhere;margin:0}.guest-tabs{border-bottom:var(--border-subtle);gap:0;display:flex;overflow-x:auto}.guest-tab{color:var(--text-muted);font-size:var(--text-meta);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;flex:none;padding:8px 10px}.guest-tab[aria-selected=true]{border-bottom-color:var(--focus);color:var(--text)}@media (hover:hover){.guest-tab:hover{background:var(--surface-muted)}}.guest-tab.is-complete{color:var(--success)}.guest-panels{display:grid}.guest-panel{visibility:hidden;grid-area:1/1;min-width:0}.guest-panel.is-active{visibility:visible}.guest-missing{border-left:3px solid var(--notice);color:var(--notice-strong);margin:0;padding-left:10px}.guest-field-groups{gap:var(--layout-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.guest-field-group{min-width:0}.guest-field-group+.guest-field-group{border-left:var(--border-subtle);padding-left:var(--layout-gap)}.guest-field-group dl,.link-lifecycle dl{gap:8px;margin:10px 0 0;display:grid}.guest-field-group dl div,.link-lifecycle dl div{gap:1px;display:grid}.guest-field-group dt,.link-lifecycle dt{color:var(--text-muted);font-size:var(--text-meta)}.guest-field-group dd,.link-lifecycle dd{font-size:var(--text-supporting);overflow-wrap:anywhere;margin:0}.guest-hints{color:var(--notice-strong);font-size:var(--text-supporting);grid-column:1/-1;gap:6px;margin:0;padding:0;list-style:none;display:grid}.guest-hints li{align-items:start;gap:6px;display:flex}.guest-hints svg{flex:none;margin-top:2px}.link-lifecycle{gap:var(--layout-gap);margin-top:var(--layout-gap-compact);border-top:var(--border-subtle);padding-top:var(--section-gap-compact);display:grid}.link-lifecycle dl{gap:var(--layout-gap);grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));margin:0}.link-lifecycle>.secondary{justify-self:start}.link-lifecycle p{color:var(--text-muted);font-size:var(--text-help);margin:0}@media (width<=620px){main,.admin{width:min(100% - 24px,760px)}.primary,.secondary{width:100%}.checkin-meta{gap:var(--layout-gap-wide);text-align:left}.checkin-meta nav{flex-wrap:wrap;justify-content:flex-start}.card{border-radius:var(--radius-sheet);min-height:0;padding:24px 18px}.booking,.grid{grid-template-columns:1fr}.guest-count-adjustment{gap:var(--layout-gap)}.reference-select:not(.reference-select-readonly):focus-within{margin-bottom:var(--listbox-mobile-open-space)}.party-intro{margin-bottom:var(--section-gap-compact)}.choice{grid-template-columns:44px minmax(0,1fr);gap:13px;padding:14px}.choice-icon{width:44px;height:44px}.nav,.sync,.admin-head,.table article,.reservation-actions{flex-direction:column;align-items:stretch}.admin-controls,.guest-field-groups{grid-template-columns:1fr}.guest-field-group+.guest-field-group{border-top:var(--border-subtle);padding-top:var(--layout-gap);border-left:0;padding-left:0}.reservation-toggle .reservation-summary{gap:var(--layout-gap-compact);grid-template-columns:minmax(0,1fr) max-content}.table article .reservation-title{grid-column:1/-1}.table article .reservation-platform,.table article .reservation-arrival{font-size:var(--text-meta)}.nav .back-link{align-self:flex-start;width:auto}.guest-progress{margin:0}.guest-roster{grid-template-columns:repeat(2,minmax(0,1fr))}.checkin-dock-inner{gap:var(--field-gap);grid-template-columns:minmax(78px,auto) minmax(38px,1fr) auto;width:min(100% - 24px,760px)}.checkin-dock .brand-wordmark{font-size:var(--text-body)}.checkin-dock .brand-context{font-size:var(--text-mobile-context);letter-spacing:var(--tracking-context-mobile)}.dock-person-summary{padding-left:8px}.dock-person-summary span{display:none}.dock-person-summary strong{font-size:var(--text-meta)}.dock-details{min-height:var(--control-height-compact);gap:var(--layout-gap-micro);font-size:var(--text-step);padding:8px 10px}.dock-details.is-open{padding:0}.checkin-dock.is-drawer-open .checkin-dock-inner{grid-template-columns:minmax(78px,1fr) auto}.checkin-dock.is-drawer-open .dock-person-summary{display:none}.checkin-drawer{width:min(100% - 12px,760px);max-height:min(70vh,520px);padding:20px 14px}.checkin-drawer-head{gap:var(--layout-gap)}.reservation-actions{width:100%}}@media (width<=420px){.gender-options{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.status-alert--attention{animation-name:status-alert-attention-reduced}*,:before,:after{scroll-behavior:auto!important;transition-duration:var(--motion-reduced)!important}}
