@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:ital,wght@0,500;0,600;1,500;1,600&display=swap";:root{--ink:#153c32;--paper:#f5f1e9;--cream:#fbf9f4;--accent:#d65c39;--yellow:#e8bd50;--muted:#718079;--line:#d8d5cc;--serif:"Playfair Display",Georgia,serif;--sans:"DM Sans",Arial,sans-serif;--mono:"DM Mono",monospace}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}.skip{position:absolute;left:-1000px}.skip:focus{left:1rem;top:1rem;background:#fff;padding:.5rem;z-index:20}.demo-bar{background:#193f35;color:#f8e9be;text-align:center;padding:8px 16px;font:11px var(--mono);letter-spacing:.08em}.demo-bar span{color:#d0ddd4;margin-left:16px}.header{height:78px;padding:0 5vw;display:flex;align-items:center;gap:56px;border-bottom:1px solid var(--line);background:var(--paper);position:relative;z-index:2}.brand{font:600 23px var(--serif);letter-spacing:-.05em;white-space:nowrap}.brand span:first-child{font-style:italic}.brand-dot{color:var(--accent);font-family:var(--sans);font-size:15px;margin-left:3px}.header nav{display:flex;align-self:stretch;gap:29px;align-items:center;font-size:14px}.header nav a{height:100%;display:flex;align-items:center;border-bottom:2px solid transparent;color:#52655f}.header nav a.active,.header nav a:hover{border-color:var(--accent);color:var(--ink)}.header-right{margin-left:auto;display:flex;align-items:center;gap:18px;font-size:14px}.account-link{display:flex;align-items:center;gap:8px}.avatar{display:grid;place-items:center;background:var(--yellow);border-radius:50%;width:29px;height:29px;font-weight:700;font-size:12px}.icon-button{border:0;background:none;padding:5px}.button{border:1px solid var(--ink);border-radius:2px;background:var(--ink);color:var(--cream);min-height:44px;padding:10px 18px;display:inline-flex;align-items:center;justify-content:center;gap:9px;font-weight:600;transition:.18s ease}.button:hover{background:#2c5b4e;transform:translateY(-1px)}.button.outline{background:transparent;color:var(--ink)}.button.outline:hover{background:var(--ink);color:var(--cream)}.button.light{background:var(--paper);color:var(--ink);border-color:var(--paper)}.button.small{min-height:36px;padding:7px 13px;font-size:13px}.button.danger{background:#a93b29;border-color:#a93b29}.eyebrow{font:500 11px var(--mono);letter-spacing:.12em;color:var(--accent)}.muted,.field small{color:var(--muted)}.discovery-top{min-height:540px;display:grid;grid-template-columns:48% 52%;background:var(--ink);color:var(--paper)}.hero-copy{padding:90px 7vw 70px;display:flex;flex-direction:column;justify-content:center}.hero-copy .eyebrow{color:#ebc558}.hero-copy h1{font:500 clamp(50px,6vw,86px)/.97 var(--serif);letter-spacing:-.065em;margin:22px 0}.hero-copy h1 em,.start-heading h1 em{color:#eabf57}.hero-copy p{font-size:17px;line-height:1.65;color:#c7d6cd;margin:0}.hero-location{margin-top:54px;color:#f8e9be;display:flex;gap:8px;align-items:center;font-size:13px}.hero-location span{margin-left:4px}.hero-photo{position:relative;min-height:540px;overflow:hidden}.hero-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,var(--ink) -3%,transparent 30%)}.hero-photo img{width:100%;height:100%;object-fit:cover;filter:saturate(.78)}.photo-note{position:absolute;left:11%;bottom:12%;z-index:1;color:#fff;font:500 28px/1.1 var(--serif);letter-spacing:-.03em}.photo-note em{color:#e8bd50}.photo-credit{position:absolute;bottom:13px;right:20px;z-index:1;color:#e9eee8;font:10px var(--mono)}.discover-section{padding:91px 7vw 110px}.section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}.section-head h1,.section-head h2{font:500 44px/1.05 var(--serif);letter-spacing:-.05em;margin:12px 0}.section-head p{color:var(--muted);margin:0}.search-bar{display:grid;grid-template-columns:1fr 1fr 1.3fr auto;gap:14px;background:var(--cream);padding:18px;margin-top:40px;border:1px solid var(--line)}.field{display:flex;flex-direction:column;gap:7px;min-width:0}.field>span{font:500 11px var(--mono);letter-spacing:.05em;text-transform:uppercase}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:var(--paper);padding:11px 12px;border-radius:0;outline:none}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--ink);box-shadow:0 0 0 2px #d1dfd7}.field textarea{resize:vertical}.search-bar>.button{align-self:end}.filter-row{display:flex;align-items:center;gap:9px;margin:22px 0 34px;font-size:12px;color:var(--muted)}.filter-row span{margin-left:auto}.chip{border:1px solid var(--line);background:transparent;padding:8px 12px;border-radius:30px;font-size:13px;display:flex;align-items:center;gap:5px}.chip.selected,.chip:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.dinner-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.dinner-card{display:block;min-width:0}.card-image{aspect-ratio:1.1;position:relative;overflow:hidden;background:#ccd2ca}.card-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s}.dinner-card:hover .card-image img{transform:scale(1.035)}.image-tag,.seat-tag{position:absolute;top:13px;padding:6px 9px;background:var(--paper);font:10px var(--mono);letter-spacing:.04em}.image-tag{left:13px}.seat-tag{right:13px;background:var(--ink);color:#fff}.card-meta{display:flex;justify-content:space-between;padding-top:15px;color:var(--muted);font:11px var(--mono)}.card-meta span:first-child{display:flex;align-items:center;gap:4px}.dinner-card h3{font:500 25px/1.05 var(--serif);margin:10px 0 5px;letter-spacing:-.03em}.dinner-card p{margin:0;color:var(--muted);font-size:14px}.card-bottom{border-top:1px solid var(--line);margin-top:17px;padding-top:13px;display:flex;align-items:center;justify-content:space-between;font-size:13px}.card-bottom strong{font-size:15px}.round-arrow{width:30px;height:30px;border:1px solid var(--ink);border-radius:50%;display:grid;place-items:center}.dinner-card:hover .round-arrow{background:var(--ink);color:var(--paper)}.alert{background:#f7dfd7;color:#8c3323;border:1px solid #e5b7ab;padding:11px 13px;margin:14px 0;font-size:14px}.alert.success{background:#e1eee6;color:#265c45;border-color:#b9d6c4}.empty{text-align:center;padding:70px 20px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:8px}.empty h2{color:var(--ink);font:500 28px var(--serif);margin:4px 0}.empty p{margin:0 0 12px}.host-invite{background:var(--accent);color:#fff;padding:62px 7vw;display:flex;align-items:center;gap:22px}.host-invite .eyebrow{color:#f8e9be}.host-invite h2{font:500 37px var(--serif);margin:8px 0}.host-invite p{margin:0;color:#ffddd0}.host-invite .button{margin-left:auto}.invite-icon{width:70px;height:70px;border:1px solid #efa894;border-radius:50%;display:grid;place-items:center}.page{max-width:1180px;margin:0 auto;padding:60px 32px 110px}.back{display:inline-flex;align-items:center;gap:4px;color:var(--muted);font-size:14px;margin-bottom:46px}.detail-heading{max-width:720px}.detail-heading h1{font:500 clamp(46px,6vw,76px)/.98 var(--serif);letter-spacing:-.06em;margin:17px 0}.detail-heading p{display:flex;align-items:center;gap:8px;color:var(--muted)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:70px;margin-top:45px}.detail-photo{width:100%;aspect-ratio:1.35;object-fit:cover}.detail-facts{display:flex;gap:22px;padding:21px 0;border-bottom:1px solid var(--line);font:12px var(--mono);color:var(--muted);flex-wrap:wrap}.detail-facts span{display:flex;align-items:center;gap:7px}.detail-facts svg{width:17px}.prose{padding:40px 0;border-bottom:1px solid var(--line)}.prose h2,.menu-sheet h2{font:500 32px var(--serif);margin:0 0 13px}.prose h3{font-size:15px;margin:25px 0 8px}.prose p{color:#53645e;max-width:680px}.demo-note{border-left:3px solid var(--yellow);padding-left:13px;color:var(--ink)!important}.booking-panel{align-self:start;position:sticky;top:20px;padding:27px;background:var(--cream);border:1px solid var(--line)}.panel{background:var(--cream);border:1px solid var(--line);padding:26px}.price{display:flex;align-items:baseline;gap:6px}.price strong{font:500 34px var(--serif)}.price span{color:var(--muted);font-size:13px}.availability{font-size:13px;color:#36724f;display:flex;align-items:center;gap:7px}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#54a878}.booking-panel hr,.panel hr{border:0;border-top:1px solid var(--line);margin:20px 0}.quantity-row{display:flex;justify-content:space-between;align-items:center}.quantity-row small{display:block;color:var(--muted);font-size:12px;margin-top:2px}.quantity{border:1px solid var(--line);display:flex;align-items:center}.quantity button{border:0;background:transparent;padding:8px}.quantity span{min-width:25px;text-align:center}.total{border-top:1px solid var(--line);margin-top:24px;padding-top:16px;display:flex;justify-content:space-between;font-size:14px}.check-label{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:#52645d}.check-label input{margin-top:4px;accent-color:var(--ink)}.booking-panel .button{width:100%;margin-top:18px}.centered{text-align:center;display:block}.booking-note{display:flex;gap:9px;border-top:1px solid var(--line);margin-top:22px;padding-top:17px;color:var(--muted);font-size:12px}.confirmation-mark{background:#dbece0;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;color:#36724f;margin-bottom:12px}.menu-sheet{background:var(--ink);color:var(--paper);padding:40px;position:relative;margin:40px 0}.menu-sheet .eyebrow{color:#e8bd50}.course{border-top:1px solid #456156;padding:18px 0}.course span{font:11px var(--mono);color:#a7beb0;text-transform:uppercase}.course h3{font:500 19px var(--serif);margin:5px 0}.menu-star{position:absolute;right:30px;bottom:25px;color:var(--accent);font-size:30px}.tags{display:flex;gap:7px;flex-wrap:wrap}.tags span,.badge{border:1px solid #b9c9c1;padding:5px 8px;font:10px var(--mono);color:#4c6b5b;text-transform:uppercase}.badge{background:#e3eee7;border-color:#b9d6c4;display:inline-block}.start-heading{display:flex;justify-content:space-between;align-items:center;background:var(--ink);color:var(--paper);margin:-60px -32px 0;padding:75px 7vw 66px}.start-heading h1{font:500 clamp(46px,6vw,74px)/.99 var(--serif);letter-spacing:-.06em;margin:15px 0}.start-heading p{color:#c8d7ce;max-width:530px;font-size:17px}.start-stamp{width:145px;height:145px;border:1px solid #759081;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:#e8bd50;text-align:center;font:11px var(--mono);transform:rotate(8deg)}.city-tabs{display:flex;margin:50px 0 55px;border-bottom:1px solid var(--line)}.city-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;padding:15px 25px 15px 0;margin-right:34px;font-size:17px;display:flex;align-items:center;gap:7px}.city-tabs button.selected{border-color:var(--accent);font-weight:600}.city-tabs small{font:10px var(--mono);color:var(--muted);margin-left:4px}.guide-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:70px}.steps{border-top:1px solid var(--line);margin-top:28px}.step{display:grid;grid-template-columns:67px 1fr;gap:17px;padding:25px 0;border-bottom:1px solid var(--line)}.step-number{font:500 17px var(--mono);color:var(--accent)}.step-type{font:10px var(--mono);text-transform:uppercase;color:var(--muted)}.step h3{font:500 24px var(--serif);margin:5px 0}.step p{color:#586963;margin:0;max-width:650px}.reviewed{font-size:12px;color:var(--muted);margin-top:28px}.resource-panel{display:flex;flex-direction:column;gap:13px}.resource-panel h2{font:500 28px var(--serif);margin:0}.resource-panel p{color:var(--muted);font-size:14px;margin:0 0 3px}.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:14px}.resource-panel .button{width:100%;margin-top:4px}.plain-note{display:flex;gap:10px;padding:18px 0;color:var(--muted);font-size:12px}.plain-note p{margin:0}.templates-section{border-top:1px solid var(--line);margin-top:75px;padding-top:55px}.templates-section h2,.ai-section h2{font:500 37px var(--serif);margin:12px 0 28px}.template-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:13px}.template{background:var(--cream);border:1px solid var(--line);padding:20px;min-height:175px;display:flex;flex-direction:column;align-items:flex-start;transition:.18s}.template:hover{border-color:var(--ink);transform:translateY(-2px)}.template svg{color:var(--accent)}.template h3{font:500 19px var(--serif);margin:15px 0 5px}.template p{font-size:13px;color:var(--muted);margin:0}.template span{display:flex;align-items:center;gap:5px;color:var(--accent);font-size:12px;margin-top:auto}.ai-section{background:#e5eee8;margin:75px -32px -110px;padding:60px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:60px;position:relative}.ai-section h2{max-width:450px}.ai-section p{max-width:480px;color:#50655c}.notice{background:#f6ebc8;border:1px solid #dec57c;color:#5d4c1d;padding:12px 14px;font-size:13px;margin-top:18px}.draft-output{grid-column:1/-1;background:var(--cream);border:1px solid var(--line);padding:22px}.draft-output h3{font:500 24px var(--serif);margin-top:0}.draft-output pre{font:14px/1.6 var(--sans);white-space:pre-wrap}.auth-page{max-width:470px;margin:0 auto;padding:90px 20px 130px;text-align:center}.auth-page h1{font:500 50px var(--serif);margin:14px 0 8px}.auth-page>p{color:var(--muted)}.form-stack{display:flex;flex-direction:column;gap:17px;text-align:left}.auth-page .panel{margin-top:30px}.auth-page .button{width:100%}.demo-access{margin-top:42px;text-align:left;border-top:1px solid var(--line);padding-top:24px}.demo-access p{color:var(--muted);font-size:14px}.demo-access>div{display:flex;gap:8px;flex-wrap:wrap}.dashboard h1,.bookings-page h1,.admin-page>h1{font:500 55px var(--serif);letter-spacing:-.06em;margin:10px 0}.status-strip{display:flex;align-items:center;gap:14px;background:#e5eee8;padding:15px 18px;margin:33px 0}.status-strip svg{color:#397452}.status-strip div{display:flex;flex-direction:column}.status-strip span{font-size:13px;color:var(--muted)}.status-strip .badge{margin-left:auto}.tabs{display:flex;border-bottom:1px solid var(--line);gap:26px;margin-bottom:28px}.tabs button{border:0;border-bottom:2px solid transparent;padding:13px 0;background:transparent;color:var(--muted)}.tabs button.active{color:var(--ink);border-color:var(--accent);font-weight:600}.host-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:35px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px}.host-layout .panel h2{font:500 29px var(--serif);margin:0}.host-layout .panel .button{align-self:flex-start}.upload-button{display:flex;justify-content:center;align-items:center;gap:8px;border:1px dashed #8da99a;padding:15px;cursor:pointer;color:#397452}.upload-button input{display:none}.sittings-list{display:flex;flex-direction:column;gap:12px;margin-bottom:25px}.sitting-row{display:flex;align-items:center;gap:15px;border:1px solid var(--line);background:var(--cream);padding:12px}.sitting-row img{width:70px;height:56px;object-fit:cover}.sitting-row h3{margin:0;font:500 20px var(--serif)}.sitting-row p{margin:3px 0;color:var(--muted);font-size:13px}.sitting-row .badge{margin-left:auto}.dinner-form{margin-top:25px;max-width:800px}.actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.actions>button:not(.button){border:0;background:transparent;text-decoration:underline;font-size:13px}.booking-card{display:grid;grid-template-columns:180px 1fr auto;gap:22px;margin:15px 0}.booking-card>img{width:180px;height:180px;object-fit:cover}.booking-card h2{font:500 27px var(--serif);margin:12px 0 7px}.booking-card p{color:var(--muted);font-size:14px;margin:6px 0;display:flex;align-items:center;gap:5px}.booking-total{font:500 20px var(--serif)}.booking-card details{font-size:13px;color:var(--muted);margin:18px 0}.booking-card summary{color:var(--accent);cursor:pointer}.review-card{margin:14px 0}.review-card h3{font:500 25px var(--serif);margin:0}.review-card p{color:var(--muted);font-size:14px}.review-card .section-head{align-items:center}.table-wrap{overflow-x:auto}.table-wrap table{width:100%;border-collapse:collapse;background:var(--cream)}th,td{text-align:left;border-bottom:1px solid var(--line);padding:13px;font-size:13px}th{font:11px var(--mono);text-transform:uppercase;color:var(--muted)}footer{background:var(--ink);color:#c9d8cf;padding:55px 7vw 35px;display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:20px;align-items:start}footer .brand{color:var(--paper)}footer p{margin:4px 0;font:500 18px var(--serif)}footer div{display:flex;flex-direction:column;gap:9px;font-size:13px;color:#e8bd50}footer small{grid-column:1/-1;color:#88a194;font:10px var(--mono);margin-top:35px}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:850px){.header{gap:22px;padding:0 20px}.header nav{gap:15px}.account-link span:last-child{display:none}.discovery-top{grid-template-columns:1fr}.hero-copy{padding:70px 7vw}.hero-photo{min-height:330px}.dinner-grid{grid-template-columns:repeat(2,1fr)}.search-bar{grid-template-columns:1fr 1fr}.search-bar>.button{grid-column:1/-1}.detail-layout,.guide-layout,.host-layout{grid-template-columns:1fr}.booking-panel{position:static}.template-grid{grid-template-columns:repeat(2,1fr)}.ai-section{grid-template-columns:1fr}.booking-card{grid-template-columns:120px 1fr}.booking-card>img{width:120px;height:120px}.booking-total{grid-column:2}.start-heading{align-items:flex-start}.start-stamp{width:110px;height:110px;flex:none}}@media(max-width:560px){.header{height:68px}.header nav a:nth-child(3){display:none}.header-right>a:not(.account-link){display:none}.hero-copy h1{font-size:54px}.discover-section,.page{padding-left:20px;padding-right:20px}.section-head{display:block}.section-head .muted{display:block;margin-top:10px}.search-bar{grid-template-columns:1fr}.search-bar>.button{grid-column:auto}.filter-row{flex-wrap:wrap}.filter-row span{width:100%;margin:4px 0}.dinner-grid{grid-template-columns:1fr}.host-invite{display:block;padding:45px 20px}.host-invite .button{margin-top:20px}.host-invite h2{font-size:31px}.detail-heading h1{font-size:52px}.detail-layout{gap:30px}.menu-sheet{padding:27px 20px}.start-heading{margin:-20px -20px 0;padding:55px 20px;display:block}.start-stamp{display:none}.city-tabs{overflow-x:auto;margin:35px 0}.city-tabs button{white-space:nowrap;margin-right:20px;padding-right:0}.template-grid{grid-template-columns:1fr}.ai-section{margin-left:-20px;margin-right:-20px;padding:45px 20px}.form-grid{grid-template-columns:1fr}.dashboard h1,.bookings-page h1,.admin-page>h1{font-size:45px}.booking-card{grid-template-columns:1fr}.booking-card>img{width:100%;height:190px}.booking-total{grid-column:auto}.booking-card .actions{margin-top:15px}.footer{display:block}footer{display:block}footer p{margin:18px 0}footer div{margin-top:25px}footer small{display:block;margin-top:35px}}.field-requirement{font-size:.75rem;font-weight:400;text-transform:none;letter-spacing:normal}.field-error{display:block;color:#a12b1e;font-size:.85rem;margin-top:.35rem}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{border:2px solid #a12b1e;background:#fff5f2}.validation-summary{padding-left:1.2rem;color:#a12b1e}.validation-summary a{text-decoration:underline}input:focus,select:focus,textarea:focus{scroll-margin-top:120px}
