@font-face{font-family:Fraunces;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/fraunces-latin.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Fraunces;font-style:normal;font-weight:300 700;font-display:swap;src:url(/fonts/fraunces-latin-ext.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}:root{--stone-50:#faf7f2;--stone-100:#f3eee6;--stone-200:#e8e0d4;--stone-300:#d5cabb;--stone-400:#ada08c;--stone-500:#857866;--stone-600:#665b4c;--stone-700:#4a4136;--stone-800:#2f2923;--stone-900:#1c1814;--wine-50:#fcf0f3;--wine-100:#f7dce3;--wine-200:#eeb9c7;--wine-300:#dd8aa1;--wine-400:#c25577;--wine-500:#a33358;--wine-600:#861f41;--wine-700:#6c1834;--wine-800:#521228;--wine-900:#380b1a;--gold-100:#fbefd6;--gold-500:#b7791f;--gold-700:#8a5a12;--green-100:#e3f1e6;--green-700:#2f7a45;--red-50:#fdf1f0;--red-600:#b42318;--red-700:#931d13;--bg:var(--stone-50);--surface:#ffffff;--surface-muted:var(--stone-100);--text:var(--stone-900);--text-2:var(--stone-600);--text-3:var(--stone-500);--line:var(--stone-200);--line-strong:var(--stone-300);--accent:var(--wine-600);--accent-hover:var(--wine-700);--accent-soft:var(--wine-50);--ring:0 0 0 4px var(--wine-100);--shadow-sm:0 1px 2px rgb(28 24 20/0.06);--shadow-md:0 4px 12px -2px rgb(28 24 20/0.1),0 1px 3px rgb(28 24 20/0.06);--shadow-lg:0 16px 40px -12px rgb(28 24 20/0.22),0 2px 6px rgb(28 24 20/0.06);--r-sm:8px;--r-md:12px;--r-lg:16px;--r-xl:24px;--font-display:"Fraunces","Iowan Old Style","Palatino Linotype",Georgia,serif;--font-body:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--control-h:3rem;--control-h-sm:2.5rem;--nav-h:3.75rem;--safe-b:env(safe-area-inset-bottom,0px);--page-max:40rem}@media (min-width:640px){:root{--control-h:2.75rem;--control-h-sm:2.25rem}}*,:after,:before{box-sizing:border-box}html{overflow-x:clip;-webkit-text-size-adjust:100%}body{min-height:100dvh;background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body,dd,dl,figure,h1,h2,h3,p,ul{margin:0}ul{padding:0;list-style:none}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover)}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}button:disabled{cursor:not-allowed}input,select,textarea{font:inherit;color:inherit;min-width:0}fieldset{border:0;margin:0;min-width:0}fieldset,legend{padding:0}:focus-visible{outline:2px solid var(--wine-500);outline-offset:2px}::selection{background:var(--wine-100)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.overflow-x-hidden{overflow-x:clip}.max-w-full{max-width:100%}.min-w-0{min-width:0}.tabular{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.self-start{align-self:flex-start;justify-self:start}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:var(--control-h);padding:0 1.125rem;border-radius:var(--r-md);font-size:.9375rem;font-weight:600;line-height:1.2;white-space:nowrap;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,transform .1s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ui-btn:active{transform:translateY(1px)}.ui-btn:disabled{opacity:.55;transform:none}.ui-btn svg{width:1.125rem;height:1.125rem;flex:none}.ui-btn--primary{background:var(--accent);color:#fff;box-shadow:inset 0 1px 0 rgb(255 255 255/.12),var(--shadow-sm)}.ui-btn--primary:hover{background:var(--accent-hover)}.ui-btn--secondary{background:var(--surface-muted);color:var(--text)}.ui-btn--secondary:hover{background:var(--stone-200)}.ui-btn--ghost{background:transparent;color:var(--text-2);padding-inline:.75rem}.ui-btn--ghost:hover{background:var(--surface-muted);color:var(--text)}.ui-btn--danger{color:var(--red-600)}.ui-btn--danger:hover{background:var(--red-50);color:var(--red-700)}.ui-btn--danger-solid{background:var(--red-600);color:#fff}.ui-btn--danger-solid:hover{background:var(--red-700);color:#fff}.ui-btn--accent{color:var(--accent)}.ui-btn--accent:hover{background:var(--accent-soft);color:var(--accent-hover)}.ui-btn--sm{min-height:var(--control-h-sm);padding-inline:.875rem;font-size:.875rem;border-radius:var(--r-sm)}.ui-btn--block{width:100%}.ui-btn--icon{width:var(--control-h);padding:0}.ui-label{display:block;margin-bottom:.375rem;font-size:.8125rem;font-weight:600;color:var(--text-2);letter-spacing:.01em}.ui-label__opt{font-weight:400;color:var(--text-3)}.ui-field{display:block;width:100%;min-height:var(--control-h);padding:.625rem .875rem;background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);color:var(--text);font-size:1rem;line-height:1.4;transition:border-color .15s ease,box-shadow .15s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none}.ui-field::placeholder{color:var(--stone-400)}.ui-field:hover{border-color:var(--stone-400)}.ui-field:focus,.ui-field:focus-visible{outline:none;border-color:var(--wine-500);box-shadow:var(--ring)}.ui-field:disabled{background:var(--surface-muted);color:var(--text-3)}textarea.ui-field{resize:vertical;min-height:5.5rem}select.ui-field{padding-right:2.5rem;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23665b4c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-repeat:no-repeat;background-position:right .75rem center}.ui-field--lg{min-height:3.25rem;font-size:1.125rem;letter-spacing:.08em}.ui-hint{font-size:.875rem;color:var(--text-3);line-height:1.5}.ui-error{display:flex;gap:.5rem;align-items:flex-start;background:var(--red-50);color:var(--red-700)}.ui-error,.ui-notice{padding:.625rem .875rem;border-radius:var(--r-sm);font-size:.875rem;line-height:1.45}.ui-notice{background:var(--gold-100);color:var(--gold-700)}.ui-search{position:relative}.ui-search svg{position:absolute;left:.875rem;top:50%;width:1.125rem;height:1.125rem;transform:translateY(-50%);color:var(--stone-400);pointer-events:none}.ui-search .ui-field{padding-left:2.625rem;border-radius:999px;background:var(--surface)}.ui-segmented{display:inline-flex;align-items:stretch;gap:2px;padding:3px;background:var(--stone-200);border-radius:var(--r-md);max-width:100%}.ui-segmented--fill{display:flex}.ui-segmented--fill>*{flex:1 1}.ui-segmented__opt{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:calc(var(--control-h) - 6px);padding:0 .875rem;border-radius:calc(var(--r-md) - 3px);font-size:.9375rem;font-weight:600;color:var(--text-2);white-space:nowrap;cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease}.ui-segmented__opt:hover{color:var(--text)}.ui-segmented__opt.is-active{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}.ui-segmented__opt:has(:focus-visible){outline:2px solid var(--wine-500);outline-offset:1px}.ui-segmented__opt input{position:absolute;opacity:0;inset:0;margin:0;cursor:pointer}.ui-segmented__count{font-size:.75rem;font-weight:600;color:var(--text-3);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ui-segmented__opt.is-active .ui-segmented__count{color:var(--accent)}.ui-segmented--scroll{overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.ui-segmented--scroll::-webkit-scrollbar{display:none}.ui-stepper{display:inline-flex;align-items:stretch;height:var(--control-h);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--r-md);overflow:hidden}.ui-stepper:focus-within{border-color:var(--wine-500);box-shadow:var(--ring)}.ui-stepper__btn{width:var(--control-h);display:inline-flex;align-items:center;justify-content:center;color:var(--text-2);font-size:1.25rem;font-weight:500;line-height:1;transition:background-color .15s ease}.ui-stepper__btn:hover{background:var(--surface-muted);color:var(--text)}.ui-stepper__btn:disabled{color:var(--stone-300)}.ui-stepper__input{width:3rem;text-align:center;border:0;background:transparent;font-size:1rem;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.ui-stepper__input:focus{outline:none}.ui-stepper__input::-webkit-inner-spin-button,.ui-stepper__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.ui-tag{display:inline-flex;align-items:center;gap:.375rem;padding:.125rem .5rem;border-radius:999px;background:var(--surface-muted);color:var(--text-2);font-size:.75rem;font-weight:600;letter-spacing:.01em;white-space:nowrap}.ui-tag--warn{background:var(--gold-100);color:var(--gold-700)}.ui-tag--good{background:var(--green-100);color:var(--green-700)}.ui-tag--accent{background:var(--accent-soft);color:var(--accent)}.ui-dot{display:inline-block;width:.5rem;height:.5rem;border-radius:50%;background:var(--stone-400);flex:none}.ui-dot--florin{background:var(--wine-500)}.ui-dot--maria{background:var(--gold-500)}.ui-section-title{display:flex;align-items:baseline;gap:.5rem;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.ui-section-title__count{font-weight:600;color:var(--stone-400);letter-spacing:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.ui-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.375rem;padding:2.5rem 1.25rem;border:1px dashed var(--line-strong);border-radius:var(--r-lg);color:var(--text-2)}.ui-empty svg{width:1.75rem;height:1.75rem;color:var(--stone-400);margin-bottom:.25rem}.ui-empty__title{font-family:var(--font-display);font-size:1.25rem;font-weight:500;color:var(--text)}.ui-empty__hint{font-size:.9375rem;max-width:28rem}.ui-empty .ui-btn{margin-top:.75rem}.ui-list{display:flex;flex-direction:column}.ui-list__row{padding:1rem 0;border-top:1px solid var(--line);min-width:0}.ui-list__row:last-child{border-bottom:1px solid var(--line)}.ui-sheet{background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-md);padding:1.25rem}@media (min-width:640px){.ui-sheet{padding:1.5rem}}.page{--page-x:1.125rem;width:100%;max-width:var(--page-max);margin-inline:auto;padding:1.25rem var(--page-x) calc(var(--nav-h) + var(--safe-b) + 2rem);min-width:0}.page--wide{--page-max:46rem}@media (min-width:640px){.page{--page-x:1.5rem;padding:2.25rem var(--page-x) 6rem}}.page-head{margin-bottom:1.5rem}.page-head--row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.page-head__title{font-family:var(--font-display);font-size:2rem;font-weight:600;line-height:1.1;letter-spacing:-.015em;color:var(--text)}.page-head__lede{margin-top:.5rem;font-size:.9375rem;color:var(--text-2);max-width:34rem}@media (min-width:640px){.page-head{margin-bottom:2rem}.page-head__title{font-size:2.5rem}.page-head__lede{font-size:1rem}}.topbar{background:var(--bg)}.topbar__inner{max-width:46rem;margin-inline:auto;padding:.75rem 1.125rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:3.5rem}.brand{display:inline-flex;align-items:baseline;gap:.625rem;min-width:0}.brand,.brand:hover{color:var(--text)}.brand__mono{font-family:var(--font-display);font-size:1.375rem;font-weight:600;letter-spacing:-.02em;line-height:1}.brand__amp{color:var(--accent);font-weight:400;margin:0 .04em}.brand__label{font-size:.8125rem;color:var(--text-3);white-space:nowrap}.nav{display:flex;align-items:stretch}.nav__link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-2);font-weight:600;font-size:.9375rem;transition:color .15s ease}.nav__link svg{width:1.375rem;height:1.375rem;flex:none}.nav__link:hover{color:var(--text)}.nav__link.is-active{color:var(--accent)}@media (max-width:639.98px){.brand__label{display:none}.nav{position:fixed;left:0;right:0;bottom:0;z-index:50;display:grid;grid-template-columns:repeat(3,1fr);height:calc(var(--nav-h) + var(--safe-b));padding-bottom:var(--safe-b);background:rgb(255 255 255/.94);border-top:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.nav__link{flex-direction:column;justify-content:center;gap:.2rem;font-size:.6875rem;letter-spacing:.01em;color:var(--text-3)}.nav__link.is-active{color:var(--accent)}}@media (min-width:640px){:root{--topbar-h:calc(4rem + 1px)}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:50;background:rgb(250 247 242/.9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}.topbar__inner{padding-inline:1.5rem;height:4rem}.nav{gap:.25rem}.nav__link{position:relative;padding:.5rem .75rem;border-radius:var(--r-sm)}.nav__link svg{display:none}.nav__link:hover{background:var(--stone-100)}.nav__link.is-active:after{content:"";position:absolute;left:.75rem;right:.75rem;bottom:-.8125rem;height:2px;background:var(--accent);border-radius:2px}}.gate{min-height:100dvh;display:grid;grid-template-rows:minmax(34vh,auto) 1fr;background:var(--bg)}.gate__photo{background:linear-gradient(180deg,rgb(28 24 20/0) 55%,rgb(250 247 242/1)),url(/wedding-couple.jpg) center 30% /cover no-repeat}.gate__panel{display:flex;justify-content:center;padding:0 1.5rem 3rem}.gate__body{width:100%;max-width:24rem;margin-top:-3rem}.gate__mono{font-family:var(--font-display);font-size:1.125rem;font-weight:600;letter-spacing:.02em;color:var(--text-3)}.gate__mono span{color:var(--accent);font-weight:400}.gate__title{margin-top:.5rem;font-family:var(--font-display);font-size:2.25rem;font-weight:500;line-height:1.05;letter-spacing:-.02em}.gate__title em{font-style:normal;color:var(--accent)}.gate__lede{margin-top:.875rem;color:var(--text-2);font-size:.9375rem;max-width:22rem}.gate__form{margin-top:1.75rem;display:flex;flex-direction:column;gap:.875rem}.gate__foot{margin-top:1.5rem;font-size:.8125rem;color:var(--text-3)}@media (min-width:900px){.gate{grid-template-rows:none;grid-template-columns:minmax(0,1fr) minmax(26rem,32rem)}.gate__photo{background:linear-gradient(90deg,rgb(28 24 20/0) 70%,rgb(28 24 20/.12)),url(/wedding-couple.jpg) 50% /cover no-repeat}.gate__panel{align-items:center;padding:3rem}.gate__body{margin-top:0;max-width:22rem}.gate__title{font-size:2.75rem}}.guests-head{display:flex;flex-direction:column;gap:1.25rem;margin-bottom:1.75rem}.guests-head__eyebrow{font-size:.8125rem;font-weight:600;color:var(--text-3);letter-spacing:.02em}.guests-head__total{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.guests-head__number{font-family:var(--font-display);font-size:4rem;font-weight:600;line-height:.95;letter-spacing:-.03em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--text)}.guests-head__unit{display:flex;flex-direction:column;line-height:1.25}.guests-head__unit-main{font-size:1.125rem;font-weight:600;color:var(--text)}.guests-head__unit-sub{font-size:.9375rem;color:var(--text-2)}@media (min-width:640px){.guests-head{flex-direction:row;align-items:flex-end;justify-content:space-between;margin-bottom:2rem}.guests-head__number{font-size:4.75rem}}.guests-actions{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem 1rem;margin-bottom:2rem}.guests-actions>.guests-add--open,.guests-actions>.import:has(.import__review){flex:1 1 100%}.guests-add__trigger{flex:none}@media (min-width:640px){.guests-actions>.guests-add:not(.guests-add--open){flex:none}.guests-actions>.import:not(:has(.import__review)){flex:1 1}}@media (max-width:639.98px){.guests-actions>.guests-add:not(.guests-add--open){flex:1 1 100%}.guests-add__trigger{width:100%}}.guests-add__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:-.5rem 0 .25rem}.guests-add__head .ui-btn{margin-right:-.5rem}.guests-add__form{display:grid;grid-gap:.875rem;gap:.875rem;margin-top:.75rem}.guests-add__row{display:flex;align-items:flex-end;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.guests-add__ctl{display:flex;flex-direction:column;min-width:0}.guests-add__ctl--grow{flex:1 1 12rem}.guests-add__foot{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.guests-add__notes{margin-top:-.25rem}@media (max-width:639.98px){.guests-add__foot .ui-btn--primary{width:100%;order:-1}}.import{min-width:0}.import__bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;font-size:.9375rem;color:var(--text-2)}@media (max-width:639.98px){.guests-actions>.import{flex:1 1 100%}.import__bar{flex-wrap:nowrap;justify-content:space-between}.import__bar:has(>.ui-btn--ghost){flex-wrap:wrap}.import__bar>.ui-btn--ghost{margin-left:auto}.import__pick{flex:1 1 auto;min-width:0}.import__side{flex:none}.import__side>span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}.import__pick{position:relative}.import__pick>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.import__pick:has(input:disabled){opacity:.55;cursor:progress}.import__pick:has(input:focus-visible){outline:2px solid var(--wine-500);outline-offset:2px}.import__side{display:inline-flex;align-items:center;gap:.5rem}.import__side select{min-height:var(--control-h-sm);padding:.25rem 2rem .25rem .625rem;border-radius:var(--r-sm);font-size:1rem;font-weight:600;width:auto}@media (min-width:640px){.import__side select{font-size:.9375rem}}.import__status{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-2);font-size:.9375rem}.import__spinner{width:1rem;height:1rem;border-radius:50%;border:2px solid var(--stone-300);border-top-color:var(--accent);animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.import__review{margin-top:.75rem}.import__review-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.import__review-title{font-family:var(--font-display);font-size:1.25rem;font-weight:500}.import__preview{margin-top:.75rem;padding:.75rem .875rem;background:var(--surface-muted);border-radius:var(--r-sm);font-size:.875rem;color:var(--text-2);white-space:pre-wrap;max-height:8rem;overflow:auto}.import__preview strong{color:var(--text)}.import__cands{margin-top:1rem}.cand{display:grid;grid-template-columns:auto 1fr;grid-gap:.5rem .75rem;gap:.5rem .75rem;align-items:start}.cand__check{display:flex;align-items:center;height:var(--control-h)}.cand__check input{width:1.375rem;height:1.375rem;margin:0;accent-color:var(--accent)}.cand__fields{display:grid;grid-template-columns:1fr 5.5rem;grid-gap:.5rem;gap:.5rem}.cand__fields .cand__notes{grid-column:1/-1}.cand__tags{grid-column:2;display:flex;gap:.375rem;flex-wrap:wrap}.cand.is-off .cand__fields{opacity:.5}@media (min-width:640px){.cand__fields{grid-template-columns:minmax(0,1.4fr) 5.5rem minmax(0,1fr)}.cand__fields .cand__notes{grid-column:auto}}.import__actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1rem}.guests-list__head{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}@media (min-width:640px){.guests-list__head{flex-direction:row;align-items:center;justify-content:space-between}.guests-list__head .ui-search{width:18rem}}.guest-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.25rem 1rem;gap:.25rem 1rem;align-items:start}.guest-row__name{font-size:1.0625rem;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.guest-row__meta{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap;margin-top:.25rem;font-size:.875rem;color:var(--text-2)}.guest-row__notes{overflow-wrap:anywhere}.guest-row__notes:before{content:"· ";color:var(--stone-300)}.guest-row__size{display:flex;align-items:baseline;gap:.25rem;white-space:nowrap}.guest-row__size strong{font-family:var(--font-display);font-size:1.5rem;font-weight:600;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.guest-row__size span{font-size:.8125rem;color:var(--text-3)}.guest-row__actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:.25rem;margin-top:.25rem;margin-right:-.5rem}@media (min-width:640px){.guest-row{grid-template-columns:minmax(0,1fr) auto auto;align-items:center}.guest-row__actions{grid-column:auto;margin-top:0;opacity:.75;transition:opacity .15s ease}.ui-list__row:focus-within .guest-row__actions,.ui-list__row:hover .guest-row__actions{opacity:1}}.guest-edit{display:grid;grid-gap:.875rem;gap:.875rem;padding:1rem;margin:-.25rem -1rem;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-md)}@media (min-width:640px){.guest-edit{padding:1.25rem;margin:-.25rem -1.25rem}}.guest-edit__row{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.guest-edit__actions{display:flex;gap:.5rem;flex-wrap:wrap}.vendors-filter{margin-bottom:1.5rem;flex-wrap:wrap}.vendors-form__custom{display:flex;flex-direction:column;gap:.375rem;margin-top:.75rem}@media (max-width:639.98px){.vendors-filter{display:flex;max-width:none;margin-inline:calc(-1 * var(--page-x));padding:0 var(--page-x);gap:.5rem;border-radius:0;background:transparent;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none}.vendors-filter::-webkit-scrollbar{display:none}.vendors-filter>.ui-segmented__opt{flex:none;min-height:var(--control-h-sm);border-radius:999px;background:var(--stone-200)}.vendors-filter>.ui-segmented__opt.is-active{background:var(--stone-900);color:#fff;box-shadow:none}.vendors-filter>.ui-segmented__opt.is-active .ui-segmented__count{color:var(--stone-300)}.vendors-form__category{display:grid;grid-template-columns:1fr 1fr}.vendors-form__category>.ui-segmented__opt{padding:0 .5rem;font-size:.9375rem}}.vendors-form{margin-bottom:2rem}.vendors-form__title{font-family:var(--font-display);font-size:1.375rem;font-weight:500;margin-bottom:1rem}.vendors-form__grid,.vendors-form__row{display:grid;grid-gap:1rem;gap:1rem}@media (min-width:640px){.vendors-form__row{grid-template-columns:1fr 1fr}}.vendors-form__links{display:grid;grid-gap:.5rem;gap:.5rem}.vendors-form__link{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.5rem;gap:.5rem}.vendors-form__link>input:nth-child(2){grid-column:1/-1}.vendors-form__link>.ui-btn{grid-row:1;grid-column:2}.vendors-form__link+.vendors-form__link{padding-top:.75rem;border-top:1px dashed var(--stone-200)}@media (min-width:640px){.vendors-form__link{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto}.vendors-form__link>input:nth-child(2){grid-column:auto}.vendors-form__link>.ui-btn{grid-row:auto;grid-column:auto}.vendors-form__link+.vendors-form__link{padding-top:0;border-top:0}}.vendors-form__actions{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:flex-end}.vendors-group{margin-bottom:2rem}.vendors-group .ui-section-title{margin-bottom:.5rem}.vendor-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-gap:.5rem 1rem;gap:.5rem 1rem}.vendor-row__name{font-size:1.0625rem;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.vendor-row__cat{margin-top:.125rem;font-size:.8125rem;color:var(--text-3)}.vendor-row__notes{grid-column:1/-1;font-size:.9375rem;color:var(--text-2);white-space:pre-wrap;overflow-wrap:anywhere}.vendor-row__chips{grid-column:1/-1;display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.25rem}.chip{display:inline-flex;align-items:center;gap:.375rem;min-height:2.25rem;padding:0 .75rem;border-radius:999px;background:var(--surface);border:1px solid var(--line-strong);color:var(--text);font-size:.875rem;font-weight:500;max-width:100%;transition:border-color .15s ease,background-color .15s ease}.chip svg{width:1rem;height:1rem;color:var(--accent);flex:none}.chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip:hover{border-color:var(--stone-400);background:var(--stone-50);color:var(--text)}.vendor-row__actions{display:flex;gap:.25rem;align-self:start;margin-right:-.5rem}.vendors-empty{padding:.875rem 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:1rem;color:var(--text-3);font-size:.9375rem}.venues{display:grid;grid-gap:1rem;gap:1rem}.venue-card{display:block;padding:1.25rem;background:var(--surface);border-radius:var(--r-lg);box-shadow:var(--shadow-sm);color:var(--text);transition:box-shadow .2s ease,transform .2s ease}.venue-card:hover{color:var(--text);box-shadow:var(--shadow-md);transform:translateY(-1px)}.venue-card__eyebrow{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-3)}.venue-card__year{font-weight:600;color:var(--accent)}.venue-card__title{margin-top:.25rem;font-family:var(--font-display);font-size:1.625rem;font-weight:500;line-height:1.15;letter-spacing:-.01em}.venue-card__tagline{margin-top:.375rem;font-size:.9375rem;color:var(--text-2)}.venue-card__stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--line)}.stat dt,.venue-card__stats dt{font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.stat dd,.venue-card__stats dd{margin-top:.25rem;display:flex;align-items:baseline;gap:.25rem;flex-wrap:wrap}.stat strong,.venue-card__stats strong{font-family:var(--font-display);font-size:1.25rem;font-weight:600;line-height:1.1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.stat dd span,.venue-card__stats dd span{font-size:.8125rem;color:var(--text-3)}.venue-card__cta{display:inline-flex;align-items:center;gap:.375rem;margin-top:1rem;font-size:.9375rem;font-weight:600;color:var(--accent)}.venue-card__cta svg{width:1rem;height:1rem;transition:transform .2s ease}.venue-card:hover .venue-card__cta svg{transform:translateX(3px)}@media (min-width:640px){.venue-card{padding:1.5rem 1.75rem}.venue-card__title{font-size:1.875rem}}.venue-back{display:inline-flex;align-items:center;gap:.375rem;min-height:2.5rem;margin-left:-.25rem;padding:0 .25rem;font-size:.9375rem;font-weight:600;color:var(--text-2)}.venue-back svg{width:1rem;height:1rem}.venue-back:hover{color:var(--text)}.venue-topline{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.venue-delete{display:flex;flex-direction:column;gap:.5rem;padding:.75rem .875rem;border:1px solid var(--red-600);border-radius:var(--r-sm);background:var(--red-50);flex:1 1 100%}.venue-delete__q{font-size:.9375rem;font-weight:600;color:var(--red-700)}.venue-delete__btns{display:flex;gap:.5rem}.venue-hero{margin-top:.75rem}.venue-hero__eyebrow{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-3)}.venue-hero__eyebrow strong{color:var(--accent);font-weight:600}.venue-hero__title{margin-top:.25rem;font-family:var(--font-display);font-size:2.25rem;font-weight:500;line-height:1.05;letter-spacing:-.02em}.venue-hero__tagline{margin-top:.625rem;font-size:1rem;color:var(--text-2);max-width:34rem}@media (min-width:640px){.venue-hero__title{font-size:3rem}}.venue-tabs{position:-webkit-sticky;position:sticky;top:var(--topbar-h,0);z-index:10;display:flex;gap:.25rem;margin:1.5rem -1.125rem 0;padding:.5rem 1.125rem;background:rgb(250 247 242/.92);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none}.venue-tabs::-webkit-scrollbar{display:none}.venue-tabs__tab{flex:none;display:inline-flex;align-items:center;min-height:2.25rem;padding:0 .75rem;border-radius:999px;font-size:.875rem;font-weight:600;color:var(--text-2);transition:background-color .15s ease,color .15s ease}.venue-tabs__tab:hover{background:var(--stone-100);color:var(--text)}.venue-tabs__tab.is-active{background:var(--stone-900);color:#fff}@media (min-width:640px){.venue-tabs{margin-inline:0;padding-inline:0}}.venue-section{padding-top:2rem;scroll-margin-top:4.5rem}@media (min-width:640px){.venue-section{scroll-margin-top:8rem}}.venue-section .ui-section-title{margin-bottom:1rem}.venue-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:1rem;gap:1rem}.stat__note{margin-top:.375rem;font-size:.75rem;color:var(--text-3);line-height:1.4}.stat strong{font-size:1.5rem}.venue-note{margin-top:1.25rem;padding:.75rem 1rem;border-left:3px solid var(--wine-300);background:var(--surface);border-radius:0 var(--r-sm) var(--r-sm) 0;font-size:.9375rem;color:var(--text-2)}.venue-sub{margin-top:1.5rem}.venue-sub__title{font-size:.9375rem;font-weight:600;margin-bottom:.5rem}.venue-bullets{display:grid;grid-gap:.5rem;gap:.5rem}.venue-bullets li{position:relative;padding-left:1.5rem;font-size:.9375rem;line-height:1.5}.venue-bullets li:before{content:"";position:absolute;left:.125rem;top:.55rem;width:.375rem;height:.375rem;border-radius:50%;background:var(--wine-400)}.venue-bullets--muted li{color:var(--text-2)}.venue-bullets--muted li:before{background:var(--stone-400)}.venue-checks{display:grid;grid-gap:.5rem 1.5rem;gap:.5rem 1.5rem}.venue-checks li{display:flex;gap:.625rem;align-items:flex-start;font-size:.9375rem;line-height:1.5}.venue-checks svg{flex:none;width:1.125rem;height:1.125rem;margin-top:.2rem;color:var(--green-700)}@media (min-width:640px){.venue-checks{grid-template-columns:1fr 1fr}}.venue-months{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:.75rem;gap:.75rem}.month{padding:.875rem 1rem;background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-sm)}.month__name{font-family:var(--font-display);font-size:1.125rem;font-weight:500;margin-bottom:.25rem}.month__lines{display:grid;grid-gap:.125rem;gap:.125rem;font-size:.875rem;color:var(--text-2)}@media (min-width:640px){.venue-months{grid-template-columns:repeat(3,minmax(0,1fr))}}.venue-docs{display:grid;grid-gap:.5rem;gap:.5rem}.doc{display:flex;align-items:center;gap:.875rem;min-height:3.25rem;padding:.625rem .875rem;background:var(--surface);border-radius:var(--r-md);box-shadow:var(--shadow-sm);font-weight:500;transition:box-shadow .15s ease}.doc,.doc:hover{color:var(--text)}.doc:hover{box-shadow:var(--shadow-md)}.doc__type{flex:none;padding:.125rem .5rem;border-radius:6px;background:var(--accent-soft);color:var(--accent);font-size:.6875rem;font-weight:700;letter-spacing:.06em}.doc__label{flex:1 1;min-width:0}.doc svg{width:1rem;height:1rem;color:var(--text-3);flex:none}.venue-contact{display:grid;grid-gap:.75rem;gap:.75rem}.venue-contact li{display:flex;flex-direction:column;gap:.125rem}.venue-contact__label{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.venue-contact__link{font-size:1.125rem;font-weight:600;overflow-wrap:anywhere}.venue-remarks{margin-top:2rem;padding:1.25rem;background:var(--surface-muted);border-radius:var(--r-lg)}.venue-remarks .ui-section-title{margin-bottom:.75rem}.dock{position:fixed;left:50%;bottom:calc(var(--nav-h) + var(--safe-b) + .75rem);z-index:40;transform:translateX(-50%);display:flex;gap:.375rem;padding:.375rem;width:min(calc(100% - 2rem),26rem);background:var(--surface);border-radius:999px;box-shadow:var(--shadow-lg)}@media (min-width:640px){.dock{bottom:1.5rem}}.dock__btn{flex:1 1;display:inline-flex;align-items:center;justify-content:center;gap:.375rem;min-height:2.75rem;border-radius:999px;background:var(--surface-muted);color:var(--text);font-size:.9375rem;font-weight:600;transition:background-color .15s ease}.dock__btn svg{width:1rem;height:1rem}.dock__btn:hover{background:var(--stone-200);color:var(--text)}.dock__btn--primary{background:var(--accent);color:#fff}.dock__btn--primary:hover{background:var(--accent-hover);color:#fff}.page--dock{padding-bottom:calc(var(--nav-h) + var(--safe-b) + 6rem)}@media (min-width:640px){.page--dock{padding-bottom:8rem}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;transition-duration:.01ms!important}}