@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--cream:#f6f2e9;--paper:#fffdf7;--ink:#24342e;--green:#2c5547;--green-dark:#214438;--sage:#dce8d9;--rust:#ad6952;--line:#e4e3d8;--muted:#6c7970;font-family:Manrope,Arial,sans-serif;color:var(--ink);background:var(--cream);font-size:16px}
*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.52}a{color:inherit}.hidden{display:none!important}.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}.page-shell{max-width:1520px;margin:0 auto;padding:0 64px}.site-header{height:108px;display:flex;align-items:center;gap:40px;border-bottom:1px solid var(--line)}.brand{text-decoration:none;display:flex;align-items:center;gap:12px;font-size:15px;font-weight:800;line-height:1.1;letter-spacing:.04em;min-width:215px}.brand strong{font-size:21px;letter-spacing:.1em}.brand-mark{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:var(--green);color:#fff3dc;font-size:30px;font-weight:400}.top-nav{display:flex;gap:8px;margin:auto}.nav-link{border:0;background:transparent;color:#67756d;padding:13px 19px;border-radius:100px;font-weight:700}.nav-link:hover,.nav-link.active{background:#e5ece1;color:var(--green)}.header-actions{display:flex;gap:10px}.icon-button{width:42px;height:42px;border-radius:50%;border:1px solid #ced7ca;background:transparent;color:var(--green);font-weight:800}.icon-button:hover{background:#e5ece1}.hero{min-height:480px;display:grid;grid-template-columns:1fr 470px;align-items:center;gap:40px;padding:54px 0 64px}.eyebrow,.section-kicker,.question-label{color:var(--rust);font-size:12px;letter-spacing:.16em;font-weight:800}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#c97655;margin-right:7px}.hero h1,.section-intro h1{font-family:Georgia,'Times New Roman',serif;letter-spacing:-.055em;font-size:clamp(43px,4.4vw,68px);line-height:1.13;margin:23px 0}.hero h1 em{color:var(--green);font-weight:400}.hero-lead{max-width:610px;color:#57645b;font-size:18px;line-height:1.75;margin:0 0 28px}.hero-buttons{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.primary-button{border:0;border-radius:13px;background:var(--green);color:white;padding:17px 26px;font-weight:800;box-shadow:0 8px 18px #2c554725;white-space:nowrap}.primary-button:hover{background:var(--green-dark);transform:translateY(-1px)}.button-icon{font-size:20px;margin-right:8px}.text-button,.plain-button{border:0;background:transparent;color:var(--green);font-weight:800}.text-button span{margin-left:5px}.hero-note{margin-top:27px;color:#727e74;font-size:13px;font-weight:700}.hero-note span:first-child{font-size:19px;vertical-align:-1px}.note-divider{padding:0 10px}.hero-art{position:relative;height:390px;border-radius:220px 220px 38px 38px;background:#e7e9db;overflow:hidden;isolation:isolate}.hero-art:before{content:"";position:absolute;inset:22px;border:1px solid #cdd9c9;border-radius:200px 200px 30px 30px}.art-ring{position:absolute;border:1px dashed #b5c7b0;border-radius:50%;left:50%;top:48%;transform:translate(-50%,-50%)}.ring-outer{width:355px;height:355px}.ring-inner{width:292px;height:292px}.art-table{position:absolute;left:50%;top:48%;transform:translate(-50%,-50%);width:224px;height:224px;background:#d19d75;border-radius:50%;box-shadow:0 14px 24px #8f82645c, inset 0 0 0 9px #c78f68;display:grid;place-items:center}.plate{width:156px;height:156px;border-radius:50%;background:#f8f3e8;box-shadow:0 3px 8px #5a534a44,inset 0 0 0 8px #efeadf;display:grid;place-items:center}.plate-inner{width:118px;height:118px;border-radius:50%;border:2px solid #d5dacd;display:grid;place-items:center;color:#829b81;font-size:72px;font-family:Georgia}.art-chair{position:absolute;background:#597964;border-radius:16px;box-shadow:0 5px 8px #465d4a55}.chair-top,.chair-bottom{width:92px;height:34px;left:50%;transform:translateX(-50%)}.chair-top{top:42px}.chair-bottom{bottom:45px}.chair-left,.chair-right{height:92px;width:34px;top:48%;transform:translateY(-50%)}.chair-left{left:63px}.chair-right{right:63px}.art-spark{position:absolute;color:#b66d4d}.spark-one{top:59px;left:65px;font-size:45px}.spark-two{right:65px;bottom:55px;font-size:36px}.art-caption{position:absolute;bottom:14px;left:0;right:0;text-align:center;font-family:Georgia;font-style:italic;color:#56725f;font-size:14px}.guest-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;margin-bottom:80px}.dialogue-card,.summary-card,.tips-card,.lookup-card,.bookings-section{background:var(--paper);border:1px solid var(--line);border-radius:22px;box-shadow:0 10px 32px #263d3010}.dialogue-card{overflow:hidden}.card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:30px 32px 20px}.card-heading h2,.summary-card h2{font-family:Georgia,serif;font-size:31px;font-weight:400;letter-spacing:-.04em;margin:7px 0 0}.stage-badge,.count-pill{border-radius:50px;background:#e7eee4;color:var(--green);font-size:12px;font-weight:800;padding:8px 12px;white-space:nowrap}.dialogue-empty{min-height:220px;display:grid;place-content:center;text-align:center;color:#7d8c80;padding:30px}.empty-symbol{font-family:Georgia;font-size:72px;color:#b8cbb4;line-height:1}.dialogue-empty p{max-width:310px;line-height:1.6}.dialogue-history{max-height:310px;overflow:auto;padding:6px 32px 16px}.message{display:flex;gap:11px;margin:14px 0;align-items:flex-end}.message.guest{justify-content:flex-end}.avatar{width:32px;height:32px;flex:none;border-radius:50%;background:#dce8d9;color:var(--green);display:grid;place-items:center;font-size:20px}.bubble{max-width:78%;padding:13px 17px;border-radius:16px 16px 16px 3px;background:#ecf1e8;line-height:1.5}.guest .bubble{border-radius:16px 16px 3px 16px;background:var(--green);color:#fff}.question-panel{margin:4px 32px 28px;padding:21px 23px;border:1px solid #b9cfb8;background:#f1f6ee;border-radius:15px}.question-panel strong{display:block;font-family:Georgia,serif;font-size:21px;line-height:1.4;margin:8px 0}.hint-row{display:flex;flex-wrap:wrap;gap:7px}.hint{border:1px solid #cbdcc8;border-radius:30px;background:#fff;padding:7px 11px;color:var(--green);font-size:13px;font-weight:700}.hint:hover{background:#dfeada}.booking-result{margin:4px 32px 28px;border-radius:16px;background:#e4eee2;border:1px solid #b6d1b5;padding:22px}.booking-result h3{font-family:Georgia;font-size:26px;margin:0 0 10px}.booking-result strong{font-size:22px;color:var(--green)}.voice-area{border-top:1px solid var(--line);padding:22px 32px 26px;background:#fcfcf8}.voice-state{font-size:13px;font-weight:800;color:var(--green);display:flex;align-items:center;gap:8px}.voice-light{height:9px;width:9px;border-radius:50%;background:#9bae9d}.voice-light.recording{background:#ce6e52;box-shadow:0 0 0 5px #ce6e5233;animation:pulse 1s infinite}.voice-controls{display:flex;align-items:center;gap:17px;margin:16px 0}.mic-button{width:64px;height:64px;flex:none;border-radius:50%;border:0;background:var(--green);color:white;font-size:27px;box-shadow:0 8px 16px #2c55473b}.mic-button.recording{background:#bf6d51;animation:pulse 1s infinite}.voice-controls span{font-size:13px;color:#728077;line-height:1.5}.text-form{display:flex;gap:9px}.text-form input,.lookup-form input,.staff-toolbar input,.staff-toolbar select{border:1px solid #cdd7ca;background:#fff;border-radius:10px;padding:13px 14px;color:var(--ink);outline:none}.text-form input:focus,.lookup-form input:focus,.staff-toolbar input:focus,.staff-toolbar select:focus{border-color:var(--green);box-shadow:0 0 0 3px #2c554722}.text-form input{min-width:0;flex:1}.text-form button{border:1px solid var(--green);border-radius:10px;background:transparent;color:var(--green);font-weight:800;padding:10px 14px}.secondary-actions{display:flex;gap:22px;flex-wrap:wrap;margin-top:18px}.plain-button{font-size:13px;padding:0}.sidebar{display:flex;flex-direction:column;gap:20px}.summary-card,.tips-card{padding:27px}.summary-list{margin-top:20px}.summary-row{display:flex;justify-content:space-between;gap:15px;border-bottom:1px solid var(--line);padding:12px 0;font-size:14px}.summary-row strong{text-align:right}.muted{color:#849087;line-height:1.6}.tips-card{background:#e5e9db;border-color:#d8e0d2}.tips-icon{font-family:Georgia;font-size:36px;color:#8f9b7d}.tips-card h3{font-family:Georgia;font-size:25px;font-weight:400;margin:8px 0}.tips-card p{font-size:14px;color:#5a6a5c;line-height:1.65}.section-intro{padding:65px 0 30px}.section-intro h1{margin:10px 0}.section-intro p{color:#637168;font-size:17px}.lookup-card{padding:32px;max-width:650px;margin-bottom:100px}.lookup-form label,.staff-toolbar label{display:block;font-weight:800;font-size:14px;margin-bottom:10px}.lookup-form>div{display:flex;gap:10px}.lookup-form input{min-width:0;flex:1;text-transform:uppercase;letter-spacing:.1em}.lookup-result-card{margin-top:26px;padding:24px;background:#edf3e9;border-radius:13px}.lookup-result-card h2{font-family:Georgia;font-weight:400;margin:0 0 14px}.lookup-result-card p{margin:8px 0}.danger-button{border:1px solid #b25d4b;background:#fff;color:#a45143;border-radius:9px;padding:10px 14px;font-weight:800;margin-top:14px}.staff-toolbar{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin-bottom:20px}.staff-toolbar label{margin-bottom:6px}.staff-toolbar select{min-width:210px}.staff-toolbar #staff-pin-wrap input{width:180px}.outline-button{border:1px solid var(--green);color:var(--green);padding:13px 17px;border-radius:10px;background:transparent;font-weight:800}.status-message{min-height:22px;color:#a45143;margin-bottom:15px}.schedule-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.slot-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:24px}.slot-card h2{font-family:Georgia;font-size:35px;font-weight:400;margin:0}.slot-card .slot-sub{color:#718075;font-size:13px;margin:0 0 16px}.table-tag{display:inline-block;border-radius:8px;padding:8px 9px;margin:0 5px 7px 0;font-size:12px;font-weight:800;background:#e2eee0;color:#2f654d}.table-tag.busy,.table-tag.past{background:#f1e4dc;color:#9a624d}.bookings-section{margin:26px 0 85px;overflow:hidden}.booking-list{padding:0 32px 28px}.booking-item{display:grid;grid-template-columns:85px 1fr auto;align-items:center;gap:20px;border-top:1px solid var(--line);padding:17px 0}.booking-time{font-size:21px;font-weight:800;color:var(--green)}.booking-item strong{display:block}.booking-item small{color:#7b877e}.booking-item button{border:0;background:#edf2e9;color:var(--green);padding:9px 13px;border-radius:8px;font-weight:800}.details{grid-column:1/-1;background:#f3f5ef;padding:15px;border-radius:10px;font-size:14px}.site-footer{border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:15px;padding:29px 0 35px;color:#708075;font-size:13px;font-weight:700}.site-footer span:first-child{color:var(--green)}.large-text{font-size:19px}.large-text .hero-lead{font-size:22px}.large-text .bubble,.large-text .question-panel strong,.large-text input,.large-text button{font-size:1.1em}@keyframes pulse{50%{box-shadow:0 0 0 9px #ce6e5222}}@media(max-width:1050px){.page-shell{padding:0 32px}.hero{grid-template-columns:1fr 360px}.hero-art{height:340px}.guest-grid{grid-template-columns:1fr 280px}.schedule-grid{grid-template-columns:1fr 1fr}}@media(max-width:750px){.page-shell{padding:0 18px}.site-header{height:auto;min-height:85px;flex-wrap:wrap;gap:10px;padding:14px 0}.brand{min-width:0;margin-right:auto}.brand strong{font-size:17px}.brand-mark{width:40px;height:40px}.top-nav{order:3;width:100%;justify-content:space-between}.nav-link{padding:10px 13px}.hero{grid-template-columns:1fr;padding:43px 0 35px;gap:25px}.hero-art{height:300px;max-width:430px;width:100%;margin:auto}.hero h1{font-size:47px}.guest-grid{grid-template-columns:1fr}.sidebar{display:grid;grid-template-columns:1fr 1fr}.schedule-grid{grid-template-columns:1fr}.site-footer{flex-direction:column}.section-intro{padding-top:45px}}@media(max-width:520px){.hero h1{font-size:40px}.hero-art{height:260px}.art-table{width:172px;height:172px}.plate{width:121px;height:121px}.plate-inner{width:90px;height:90px;font-size:56px}.ring-outer{width:260px;height:260px}.ring-inner{width:215px;height:215px}.chair-left{left:35px}.chair-right{right:35px}.chair-top{top:27px}.chair-bottom{bottom:28px}.hero-buttons{align-items:stretch;gap:16px}.primary-button{width:100%}.guest-grid{margin-bottom:40px}.card-heading{padding:24px 20px 18px}.card-heading h2{font-size:26px}.stage-badge{font-size:10px}.dialogue-history{padding:5px 20px 15px}.question-panel,.booking-result{margin:5px 20px 20px}.voice-area{padding:20px}.sidebar{grid-template-columns:1fr}.lookup-form>div{flex-direction:column}.booking-item{grid-template-columns:65px 1fr}.booking-item button{grid-column:1/-1}.details{grid-column:1/-1}}
