:root{--paper:#fff;--ink:#171412;--muted:#6f6862;--line:#e8e3dd;--soft:#f7f5f1;--accent:#2f6f5e;--accent-dark:#214f43;--accent-soft:#e6f1ed;--danger:#9d2f2f;--shadow:0 22px 70px #1714121a;--radius:8px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);letter-spacing:0;margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input{font:inherit}button{cursor:pointer}.site-header,.booking-header{justify-content:space-between;align-items:center;max-width:1180px;margin:0 auto;padding:28px 28px 0;display:flex}.setup-page{min-height:100vh}.brand{align-items:center;gap:10px;font-size:1rem;font-weight:750;display:inline-flex}.brand-mark{background:var(--accent);color:var(--paper);border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}nav{color:var(--muted);align-items:center;gap:26px;font-size:.92rem;font-weight:650;display:flex}nav a:hover{color:var(--accent)}.setup-hero{text-align:center;flex-direction:column;align-items:center;gap:26px;max-width:560px;min-height:calc(100vh - 62px);margin:0 auto;padding:84px 28px 112px;display:flex}.setup-copy h1{letter-spacing:0;margin:0;font-size:clamp(2.45rem,7vw,4.5rem);line-height:.96}.setup-copy p{color:var(--muted);max-width:390px;margin:16px auto 0;font-size:1.04rem;line-height:1.45}.button{border:1px solid var(--line);border-radius:var(--radius);justify-content:center;align-items:center;gap:9px;min-height:48px;padding:0 18px;font-size:.96rem;font-weight:760;transition:background .18s,border-color .18s,color .18s,transform .18s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--paper)}.button.primary:hover{background:var(--accent-dark);border-color:var(--accent-dark)}.button.primary:disabled{color:#ffffffc7;cursor:not-allowed;background:#b9c7c1;border-color:#b9c7c1;transform:none}.button.ghost{background:var(--paper);color:var(--ink)}.button.full{width:100%}.button.hidden{display:none}.setup-panel,.booking-shell{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.setup-panel{text-align:left;flex-direction:column;gap:18px;width:min(100%,440px);padding:20px;display:flex}.setup-panel-connect{box-shadow:none;background:0 0;border:0;padding:0}.panel-topline{color:var(--muted);text-transform:uppercase;justify-content:space-between;align-items:center;font-size:.82rem;font-weight:730;display:flex}.panel-topline strong{color:var(--accent)}.connect-row{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);text-align:left;align-items:center;gap:14px;min-height:70px;padding:12px;display:flex}.connect-row.connected{background:var(--accent-soft);border-color:#2f6f5e47}.connect-icon,.success-icon{background:var(--accent);color:var(--paper);border-radius:8px;flex:none;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.connect-row strong,.connect-row small{display:block}.connect-row strong{font-size:.98rem}.connect-row small{color:var(--muted);margin-top:4px;font-size:.82rem}.field-grid{gap:14px;display:grid}label,fieldset legend{color:var(--muted);font-size:.82rem;font-weight:720}.slug-input{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);align-items:center;gap:0;min-height:46px;margin-top:8px;padding:0 12px;font-size:.95rem;font-weight:650;display:flex}.slug-input input{color:var(--ink);background:0 0;border:0;outline:0;width:100%;min-width:0;font-weight:760}.mode-switch{background:var(--soft);border:1px solid var(--line);border-radius:var(--radius);grid-template-columns:1fr 1fr;gap:4px;margin-top:8px;padding:4px;display:grid}.mode-switch button{color:var(--muted);background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;gap:7px;min-height:38px;font-size:.9rem;font-weight:760;display:inline-flex}.mode-switch button.active{background:var(--paper);color:var(--accent);box-shadow:0 8px 24px #17141214}.availability-strip{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.availability-strip span{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);color:var(--muted);gap:5px;min-height:64px;padding:10px;font-size:.78rem;display:grid}.availability-strip strong{color:var(--ink);font-size:.9rem}.ready-link{border-top:1px solid var(--line);color:var(--accent);overflow-wrap:anywhere;align-items:center;gap:8px;padding-top:16px;font-size:.86rem;font-weight:740;display:flex}.ready-link.muted{color:var(--muted)}.invite-button{min-height:42px;font-size:.86rem}.friend-helper{color:var(--muted);margin:-2px 0 -6px;font-size:.84rem;font-weight:650;line-height:1.45}.panel-notice{color:var(--accent);margin:-4px 0 0;font-size:.86rem;font-weight:720;line-height:1.4}.panel-notice.error{color:var(--danger)}.seo-section{background:var(--soft);grid-template-columns:minmax(0,.9fr) minmax(360px,.8fr);align-items:start;gap:52px;padding:86px max(28px,50vw - 562px) 96px;display:grid}.seo-section h2{letter-spacing:0;max-width:720px;margin:0;font-size:clamp(2.1rem,4vw,4.4rem);line-height:.98}.seo-section p{color:var(--muted);max-width:610px;margin:24px 0 0;font-size:1.08rem;line-height:1.6}.seo-section ol{counter-reset:steps;gap:10px;margin:0;padding:0;list-style:none;display:grid}.seo-section li{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);counter-increment:steps;grid-template-columns:44px 1fr;align-items:center;gap:5px;min-height:82px;padding:14px;display:grid}.seo-section li:before{background:var(--accent);color:var(--paper);content:counter(steps);border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;font-weight:800;display:flex}.seo-section li strong,.seo-section li span{grid-column:2}.seo-section li strong{font-size:1rem}.seo-section li span{color:var(--muted);font-size:.93rem}.booking-page{background:linear-gradient(90deg, #2f6f5e14 1px, transparent 1px), linear-gradient(#2f6f5e14 1px, transparent 1px), var(--paper);background-size:56px 56px;min-height:100vh}.booking-header{padding-bottom:64px}.booking-shell{grid-template-columns:.74fr 1fr;gap:32px;max-width:980px;margin:0 auto 80px;padding:24px;display:grid}.booking-intro{background:var(--accent);border-radius:var(--radius);color:var(--paper);flex-direction:column;justify-content:space-between;min-height:520px;padding:28px;display:flex}.booking-intro p,.booking-intro span{color:#ffffffc7;margin:0;font-weight:720}.booking-intro h1{letter-spacing:0;margin:0;font-size:clamp(2.2rem,5vw,4.6rem);line-height:.95}.booking-form{flex-direction:column;gap:24px;display:flex}fieldset{border:0;margin:0;padding:0}fieldset legend{margin-bottom:10px}.slot-grid{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.slot{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);min-height:58px;padding:8px;font-size:.88rem;font-weight:720}.slot:hover,.slot.selected{border-color:var(--accent);color:var(--accent)}.slot.selected{background:var(--accent-soft)}.booking-mode{max-width:360px}.guest-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.guest-fields input{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);outline-color:var(--accent);width:100%;min-height:46px;margin-top:8px;padding:0 12px;display:block}.form-error{color:var(--danger);margin:-8px 0 0;font-size:.9rem;font-weight:700}.confirmation{text-align:center;flex-direction:column;max-width:560px;display:flex}.confirmation .success-icon{width:52px;height:52px;margin:0 auto}.confirmation h1{letter-spacing:0;margin:8px 0 0;font-size:clamp(2.5rem,7vw,4.8rem);line-height:.94}.confirmation p{color:var(--muted);max-width:430px;margin:0 auto;font-size:1.04rem;line-height:1.55}@media (max-width:900px){.site-header,.booking-header{padding-inline:18px}nav{display:none}.setup-hero{gap:24px;min-height:auto;padding:68px 18px 82px}.setup-copy h1{font-size:clamp(2.4rem,12vw,4.3rem)}.setup-panel{width:100%}.seo-section,.booking-shell{grid-template-columns:1fr}.seo-section{padding:64px 18px 72px}.booking-header{padding-bottom:36px}.booking-shell{margin-inline:18px}.booking-intro{min-height:280px}}@media (max-width:620px){.guest-fields,.availability-strip,.slot-grid{grid-template-columns:1fr}.booking-shell{padding:14px}}
