:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;--accent:#245b46}::selection{background:#d8e6d1}*{box-sizing:border-box}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#263c33;background:#f6f5ef}button,input,select,textarea{font:inherit}button,a,input,select,textarea{outline-offset:4px}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}a{color:inherit}button{border:1px solid #d7ded7;border-radius:9px;background:#fff;color:#263c33;padding:12px 16px;transition:background .15s}button:hover:enabled{background:#f1f4f0}input,select{height:47px;border:1px solid #dce1da;border-radius:8px;padding:0 12px;background:#fff;color:#263c33;width:100%;min-width:0}label{display:flex;flex-direction:column;gap:9px;font-size:12px;font-weight:600;letter-spacing:.01em;margin-bottom:20px}h1,h2,p{margin-top:0}h1,h2{font-family:Georgia,serif;font-weight:400;letter-spacing:-.035em}.mock-banner{min-height:29px;text-align:center;padding:7px 14px;background:#e5eadd;font-size:9px;letter-spacing:.14em;font-weight:700}.mock-banner span{margin-left:16px;font-weight:400;letter-spacing:.03em}.topbar{max-width:1240px;margin:auto;padding:29px 45px;display:flex;justify-content:space-between;align-items:center}.brand{font-size:21px;font-weight:700;text-decoration:none;display:flex;align-items:center;gap:9px;letter-spacing:-.06em}.brand-icon{background:#224d3a;color:#f6f3e8;width:31px;height:31px;border-radius:10px;display:grid;place-items:center;font-family:Georgia;font-size:26px}.brand-separator{font-size:20px;margin:0 6px;color:#c5ccc1;font-weight:300}.brand-sub{font-size:13px;letter-spacing:0;font-weight:400}.secure-label{font-size:11px;color:#708074}.booking-grid{max-width:1115px;margin:22px auto 35px;display:grid;grid-template-columns:.92fr 1.08fr;gap:65px;padding:0 32px;align-items:start}.restaurant-story{padding-top:10px}.story-art{height:266px;background:#d9dfc9;position:relative;overflow:hidden;border-radius:150px 150px 7px 7px;isolation:isolate}.orb{position:absolute;width:170px;height:170px;left:calc(50% - 85px);top:35px;background:#ededdc;border-radius:50%;box-shadow:0 0 70px #faf2ce77}.stem{width:140px;height:240px;border-left:2px solid #50694a;position:absolute;bottom:-55px;left:80px;transform:rotate(19deg);border-radius:50%}.stem:before,.stem:after{content:"";width:70px;height:25px;background:#62794f;border-radius:90% 0;position:absolute;top:63px;left:-68px;transform:rotate(30deg)}.stem:after{left:0;top:104px;transform:rotate(-20deg);background:#809365}.stem-two{left:auto;right:45px;transform:rotate(-25deg);bottom:-10px;opacity:.65}.art-caption{position:absolute;font-size:9px;letter-spacing:.24em;line-height:1.7;top:90px;left:40px;color:#37503a;z-index:1}.art-number{position:absolute;bottom:20px;right:22px;font-size:8px;letter-spacing:.16em}.story-copy{padding:28px 6px}.eyebrow{display:block;font-size:9px;letter-spacing:.18em;font-weight:700;text-transform:uppercase;color:#6f806e}.story-copy h1{font-size:41px;line-height:1.1;margin:15px 0 18px;max-width:360px}.story-copy p{font-size:13px;color:#7c8379;line-height:1.8}.story-meta{border-top:1px solid #dee1d7;padding-top:19px;margin-top:25px;display:flex;flex-direction:column;gap:12px;font-size:11px;color:#6c796b}.booking-card{background:#fff;border:1px solid #e2e5dc;border-radius:16px;padding:31px 33px 0;box-shadow:0 14px 45px #304c2510;min-width:0}.card-top{display:flex;align-items:center;justify-content:space-between}.step-count{font-size:10px;color:#8b978d}.booking-card h2{font-size:32px;line-height:1.15;margin:16px 0 12px}.intro{color:#798278;line-height:1.7;font-size:12px;margin-bottom:25px}.steps{display:flex;align-items:center;gap:14px;border-block:1px solid #edf0e9;padding:17px 0;margin:0 0 25px}.steps>span{font-size:10px;color:#a4ada4;display:flex;align-items:center;gap:7px}.steps .active,.steps .done{color:var(--accent);font-weight:700}.steps i{height:1px;background:#dde2da;flex:1}.field-row{display:grid;grid-template-columns:1.1fr 1fr;gap:14px}.periods{border:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:0 0 22px;min-width:0}.periods legend{font-size:12px;font-weight:600;padding:0;margin-bottom:10px}.periods button{text-align:left;display:grid;grid-template-columns:22px 1fr;font-size:13px;padding:11px 14px}.periods small{grid-column:2;font-size:10px;color:#879184;margin-top:5px}.selected{border-color:var(--accent)!important;color:var(--accent)!important;background:color-mix(in srgb,var(--accent) 7%,white)!important;box-shadow:inset 0 0 0 1px var(--accent)}.slots-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.slots-heading h3{font-size:12px;font-weight:600;margin:0}.slots-heading span{font-size:9px;color:#8d978b}.slots{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin:12px 0 24px}.slots button{font-size:12px;padding:12px 5px}.primary{background:var(--accent);color:#fff;border-color:var(--accent);display:flex;align-items:center;justify-content:space-between;width:100%;min-height:47px;font-size:12px;font-weight:600}.primary:hover:enabled{background:color-mix(in srgb,var(--accent) 88%,black)}.primary span{font-size:19px;font-weight:300}.fine-print{text-align:center;font-size:10px;color:#8e978b;line-height:1.6;margin:13px 0 22px}.privacy{text-align:left}.card-footer{border-top:1px solid #edf0e9;padding:17px 0;display:flex;justify-content:space-between;gap:8px;font-size:8px;color:#8a9587}.card-footer b{font-size:10px;color:#5c705b}.page-footer{max-width:1050px;margin:auto;padding:12px 30px 25px;display:flex;align-items:start;justify-content:space-between;font-size:10px;color:#929a8d}.page-footer details{max-width:220px}.page-footer summary{cursor:pointer}.page-footer label{padding-top:10px}.page-footer select{font-size:11px}.error{border:1px solid #eac8bd;background:#fff5ef;color:#8a3928;padding:12px;border-radius:8px;font-size:12px;line-height:1.7;margin:14px 0}.error button{font-size:11px;display:block;margin-top:9px}.state-message{padding:20px 0;font-size:12px;line-height:1.7;color:#788476}.back{border:0;padding:0;margin-bottom:15px;font-size:11px;color:#6a7b68}.visit-summary{background:#f5f7f1;padding:17px;border-radius:9px;display:flex;flex-direction:column;gap:9px;font-size:12px;margin-bottom:22px}.visit-summary span{color:#7e8b78;font-size:11px}.check{flex-direction:row;align-items:flex-start;font-size:11px;font-weight:400;line-height:1.6}.check input{width:16px;height:16px;flex-shrink:0;accent-color:var(--accent)}.confirmation{text-align:center;padding:22px 0}.confirmation-icon{display:grid;place-items:center;background:#e9f0e4;color:var(--accent);border-radius:50%;width:58px;height:58px;margin:0 auto 24px;font-size:27px}.confirmation p{font-size:12px;color:#7a8777;line-height:1.8}.confirmation code{font-size:15px;color:var(--accent);padding:12px}.standalone{padding:60px;max-width:650px;margin:auto}.demo-page{max-width:900px;margin:60px auto;padding:20px}.demo-page h1{font-size:46px;margin-top:16px}.demo-frame{width:100%;height:900px;border:1px solid #dbe1d6;border-radius:14px;display:block;margin:30px 0}.layout-minimal .story-art{height:180px;border-radius:12px}.layout-classic .story-art{border-radius:12px}.layout-minimal .booking-card{box-shadow:none}@media(max-width:850px){.booking-grid{gap:30px;padding:0 24px}.booking-card{padding:25px 24px 0}.story-copy h1{font-size:34px}.topbar{padding:25px}.story-art{height:240px}.card-footer{font-size:7px}}@media(max-width:650px){.topbar{padding:19px 20px}.secure-label{display:none}.booking-grid{grid-template-columns:1fr;gap:17px;margin-top:0;padding:0 16px}.restaurant-story{padding:0}.story-art{display:none}.story-copy{padding:12px 6px}.story-copy h1{font-size:30px;margin:8px 0}.story-copy p,.story-meta{display:none}.booking-card{padding:24px 22px 0}.booking-card h2{font-size:30px}.mock-banner{font-size:8px;letter-spacing:.06em}.mock-banner span{display:block;margin:5px 0 0}.page-footer{gap:20px;flex-direction:column}.slots{grid-template-columns:repeat(3,1fr)}.field-row{gap:10px}.card-footer{font-size:8px}.demo-page{margin:20px auto}.demo-frame{height:1100px}.slots-heading span{font-size:8px}}.primary{color:var(--accent-foreground,#fff);border-color:var(--accent-text,var(--accent))}.selected{color:var(--accent-text,var(--accent))!important;border-color:var(--accent-text,var(--accent))!important;box-shadow:inset 0 0 0 1px var(--accent-text,var(--accent))}.steps .active,.steps .done,.confirmation-icon,.visit-summary code{color:var(--accent-text,var(--accent))}.optional-label{font-weight:400;font-size:.85em;color:#64725b}textarea{font:inherit;width:100%;border:1px solid #dbe1d7;border-radius:8px;padding:13px;background:#fff;color:inherit;resize:vertical}textarea:focus-visible{outline:2px solid #628256;outline-offset:3px}@media(max-width:520px){.booking-card form .field-row{grid-template-columns:1fr}}.booking-card .visit-form{min-width:0}.booking-card .visit-form>.field-row{min-width:0}.booking-card .visit-form>.field-row>label{width:100%;min-width:0}.booking-card .visit-form>.field-row>label>input,.booking-card .visit-form>.field-row>label>select{width:100%;max-width:100%;min-width:0}.booking-card .visit-form>.field-row>label>input[type=date]{display:block;box-sizing:border-box;width:100%!important;max-width:100%!important;min-width:0!important;inline-size:100%!important;max-inline-size:100%!important;min-inline-size:0!important}@media(max-width:650px){.booking-card .visit-form>.field-row{grid-template-columns:1fr;gap:0}.booking-card .visit-form>.field-row label{margin-bottom:14px}}.booking-shell.themed,.booking-shell.popup-layout{background:var(--booking-background);color:var(--booking-text);font-family:var(--booking-font)}.booking-shell.themed .booking-card,.popup-layout .booking-card{background:var(--booking-surface);border-color:var(--booking-border);border-radius:var(--booking-radius);padding:var(--booking-card-padding);color:var(--booking-text)}.themed .booking-card h2,.themed .story-copy h1,.themed label,.themed legend,.themed .slots-heading h3,.themed .visit-summary b{color:var(--booking-text)}.themed .intro,.themed .fine-print,.themed .eyebrow,.themed .steps,.themed .story-copy p,.themed .card-footer,.themed .back,.themed .periods small,.themed .step-count{color:var(--booking-mutedText)}.themed input,.themed select,.themed textarea{background:var(--booking-inputBackground);border-color:var(--booking-inputBorder);color:var(--booking-text);border-radius:var(--booking-input-radius);font-family:var(--booking-font)}.themed .primary{background:var(--booking-button);border:1px solid var(--booking-button);color:var(--booking-buttonText);border-radius:var(--booking-input-radius);min-height:var(--booking-button-height)}.themed.button-outline .primary{background:var(--booking-surface);color:var(--booking-primary);border-color:var(--booking-primary)}.themed .periods button,.themed .slots button{background:var(--booking-inputBackground);color:var(--booking-text);border-color:var(--booking-inputBorder);border-radius:var(--booking-input-radius)}.themed .periods button.selected,.themed .slots button.selected{border-color:var(--booking-primary);color:var(--booking-primary);background:color-mix(in srgb,var(--booking-secondary) 45%,var(--booking-surface))}.themed .periods button.selected>span,.themed .steps .active,.themed .steps .done{color:var(--booking-primary)}.themed .visit-summary{background:color-mix(in srgb,var(--booking-secondary) 50%,var(--booking-surface));color:var(--booking-text);border-radius:var(--booking-input-radius)}.themed .error{color:var(--booking-error);background:color-mix(in srgb,var(--booking-error) 7%,var(--booking-surface));border-color:var(--booking-error)}.themed label{font-size:var(--booking-label-size);margin-bottom:var(--booking-field)}.themed .steps{margin-block:var(--booking-section);border-color:var(--booking-border)}.themed .booking-card h2{font-family:var(--booking-font)}.themed input:focus-visible,.themed select:focus-visible,.themed textarea:focus-visible,.themed button:focus-visible{outline:2px solid var(--booking-accent);outline-offset:3px}.booking-logo{display:flex;margin:0 0 var(--booking-section,24px)}.booking-logo.align-center{justify-content:center}.booking-logo.align-left{justify-content:flex-start}.booking-logo.align-right{justify-content:flex-end}.booking-logo>div{width:min(var(--logo-width),100%);height:100px;overflow:hidden}.booking-logo img{display:block;width:100%;height:100%;object-fit:contain}.uploaded-hero{border-radius:var(--booking-radius);overflow:hidden;margin-bottom:28px;aspect-ratio:4/3}.uploaded-hero.ratio-wide{aspect-ratio:4/3}.uploaded-hero.ratio-panoramic{aspect-ratio:16/9}.uploaded-hero.ratio-square{aspect-ratio:1}.uploaded-hero img{width:100%;height:100%;object-fit:cover;display:block}.popup-layout{min-height:0;padding:0}.popup-layout .booking-grid{display:block;max-width:560px;width:100%;margin:0 auto;padding:0}.popup-layout .booking-card{box-sizing:border-box;width:100%;box-shadow:none;border:0;margin:0;min-width:0}.popup-layout .steps{border:0;padding:0;margin:0 0 24px}.popup-layout .booking-card .intro,.popup-layout .visit-form .fine-print{display:none}.popup-layout .visit-summary{padding:14px 16px;margin-top:12px}.popup-layout .periods button{padding:12px 9px;min-height:66px}.popup-layout .periods{margin-block:18px}.popup-layout .slots{gap:8px}.popup-layout .slots button{padding:11px 8px}.popup-layout .primary{margin-top:18px}.popup-layout .confirmation{padding:8px 0}.popup-layout .confirmation h2{font-size:26px}.popup-layout .booking-logo{margin-bottom:18px}.popup-layout .booking-card input,.popup-layout .booking-card select{min-height:44px}.popup-layout .booking-card form .field-row{grid-template-columns:1fr 1fr}.popup-layout .booking-card label{line-height:1.5}.popup-layout .card-top,.popup-layout .restaurant-story,.popup-layout .page-footer,.popup-layout .topbar,.popup-layout .card-footer,.popup-layout .mock-banner{display:none}@media(max-width:520px){.popup-layout .booking-card{padding:min(var(--booking-card-padding),22px)}.popup-layout .booking-card form .field-row{grid-template-columns:1fr}.popup-layout .steps{font-size:12px;gap:8px}.popup-layout .slots{grid-template-columns:repeat(3,minmax(0,1fr))}.popup-layout .periods button{font-size:12px}.popup-layout .periods small{font-size:10px}.popup-layout input,.popup-layout select,.popup-layout textarea{font-size:16px}.popup-layout .booking-logo>div{height:80px}}@media(prefers-reduced-motion:no-preference){.booking-card{animation:booking-arrive .16s ease-out}@keyframes booking-arrive{0%{opacity:.6;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}}.themed.button-outline .primary{color:var(--booking-button);border-color:var(--booking-button)}.themed .periods button.selected>span,.themed .steps .active,.themed .steps .done{color:var(--accent-text)}.themed .periods button.selected,.themed .slots button.selected{background:color-mix(in srgb,var(--booking-secondary) 45%,var(--booking-surface))!important}.themed .confirmation-icon{background:var(--booking-secondary);color:var(--accent-text)}.themed .confirmation p{color:var(--booking-mutedText)}.themed .confirmation code{color:var(--accent-text)}.periods button{grid-template-columns:1fr}.periods small{grid-column:1}.periods:empty{display:none}.simulation-note{margin-block:12px;font-size:11px}.slots button small{display:block;font-size:10px;margin-top:4px}.periods button{min-width:0;overflow-wrap:anywhere}.powered-by{display:inline-flex;align-items:center;gap:9px;min-height:44px;text-decoration:none;font-size:11px;letter-spacing:0;color:var(--booking-mutedText,#708074)}.powered-by img{display:block;object-fit:contain;flex-shrink:0}.powered-by strong{font-size:12px;font-weight:600;color:var(--booking-text,#263c33)}.powered-by:hover strong{text-decoration:underline}.powered-by:focus-visible{outline:2px solid var(--booking-accent,#264746);border-radius:4px}.booking-shell:not(.popup-layout) .booking-grid.no-hero{grid-template-columns:minmax(0,1fr);max-width:760px;gap:20px}.no-hero .restaurant-story{padding:0}.no-hero .story-copy{padding:0 4px}.no-hero .story-copy h1{max-width:none;font-size:clamp(28px,3vw,38px);margin:10px 0 0;overflow-wrap:anywhere}@media(max-width:650px){.booking-shell:not(.popup-layout) .booking-grid.no-hero{gap:18px}.no-hero .story-copy{padding:10px 6px 0}}.service-empty{grid-column:1/-1;font-size:12px;font-weight:400;line-height:1.7;color:var(--booking-mutedText,#708074);margin:0;padding:12px 0}.booking-shell.themed .primary,.booking-shell.themed.button-outline .primary{color:var(--booking-button-effectiveText)}.booking-shell.themed .primary:hover:enabled{background:var(--booking-button-hover);color:var(--booking-button-hoverText)}.booking-shell.themed .periods button.selected,.booking-shell.themed .slots button.selected{background:var(--booking-selectionBackground)!important;color:var(--booking-selectionText)!important}.booking-shell.themed .periods button.selected>span,.booking-shell.themed .periods button.selected small,.booking-shell.themed .slots button.selected small{color:inherit}.booking-shell .visit-summary{background:var(--booking-summaryBackground);color:var(--booking-summaryText)}.booking-shell .visit-summary b,.booking-shell .visit-summary h3,.booking-shell .visit-summary dd,.booking-shell .visit-summary code{color:var(--booking-summaryText)}.booking-shell .visit-summary span,.booking-shell .visit-summary dt{color:var(--booking-summaryMuted)}.booking-shell .confirmation-icon{background:var(--booking-button);color:var(--booking-confirmationText)}.confirmation-icon svg{display:block}.has-confirmation .booking-logo{margin-bottom:16px}.has-confirmation .booking-logo>div{height:72px}.confirmation{padding:4px 0 8px}.confirmation .confirmation-icon{width:48px;height:48px;margin:0 auto 16px}.confirmation h2{font-size:26px;margin:10px 0}.confirmation>p{margin-bottom:22px}.confirmation-summary{text-align:left;padding:20px;gap:16px}.confirmation-summary h3{font-size:16px;margin:0;line-height:1.5;overflow-wrap:anywhere}.confirmation-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:0}.confirmation-summary dl>div{min-width:0}.confirmation-summary dt{font-size:11px;margin-bottom:5px}.confirmation-summary dd{font-size:14px;font-weight:600;margin:0;line-height:1.5;overflow-wrap:anywhere}.confirmation-summary dl>div:first-child{grid-column:1/-1}.confirmation-reference{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding-top:14px;border-top:1px solid var(--booking-border,#dee5dd)}.confirmation-reference span{font-size:11px}.confirmation .confirmation-reference code{padding:0;font-size:13px;overflow-wrap:anywhere}.popup-layout .confirmation-summary{margin-top:20px;padding:18px}.confirmation .primary{justify-content:center}.booking-shell.themed .periods button,.booking-shell.themed .slots button{color:var(--booking-optionText)}.booking-shell.themed .periods button small,.booking-shell.themed .slots button small{color:inherit}
