/* The shallow stone reception ledge belongs to the foreground, not the tower. */
.stage-concierge{position:fixed;z-index:5;left:50%;right:auto;bottom:0;transform:translateX(-50%);width:min(760px,72vw);padding:0;border:0;background:none;box-shadow:none;color:#31271c;overflow:visible}
.concierge-ledge{position:relative;padding:17px 42px 18px;min-height:80px;box-sizing:border-box;border:1px solid #d9b778;border-top:3px solid #f4db9b;border-bottom:0;border-radius:50% 50% 0 0 / 24px 24px 0 0;background:linear-gradient(174deg,transparent 28%,#8e7b6020 28.3%,transparent 28.8%,transparent 66%,#aa997820 66.5%,transparent 67%),linear-gradient(7deg,#c9bba3,#eee5d2 45%,#fff5dc 77%,#d4c4a7);box-shadow:0 -3px 0 #77522b,0 -5px 0 #e6c18a,0 -14px 30px #0003,inset 0 2px 0 #ffffe9,inset 0 -8px 14px #79644c22}
.concierge-ledge::after{content:'';position:absolute;bottom:7px;left:6%;right:6%;height:1px;background:linear-gradient(90deg,transparent,#90724766,transparent);pointer-events:none}
.concierge-invitation{display:grid;grid-template-columns:1fr auto;align-items:center;column-gap:35px;border:0;background:none;color:#3a2b1b;text-align:left;width:100%;padding:4px 15px;cursor:pointer;text-shadow:0 1px #fff9e6}
.concierge-invitation span{font:400 clamp(22px,2.1vw,29px)/1.15 Georgia,serif;letter-spacing:-.025em}
.concierge-invitation small{grid-column:1;font:12px/1.4 Arial,sans-serif;letter-spacing:.025em;color:#62503a;margin-top:5px}
.ledge-pen{grid-column:2;grid-row:1 / 3;display:block;width:27px;height:27px;fill:none;stroke:#7c582b;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.concierge-composer{position:absolute;bottom:calc(100% - 1px);left:50%;transform:translateX(-50%);width:min(520px,100%);box-sizing:border-box;padding:20px;border:1px solid #b38a4970;border-top:2px solid #e3c084;border-radius:16px 16px 4px 4px;background:linear-gradient(135deg,#19282ff7,#06151dfc);box-shadow:0 15px 45px #0008,inset 0 1px #fff3c62b;max-height:calc(100svh - 13rem);overflow:auto;scrollbar-width:thin;scrollbar-color:#ac8b54 #071720}
.concierge-dismiss{position:absolute;right:8px;top:5px;width:36px;height:36px;border:0;background:none;color:#ebd4aa;font:26px/1 Arial;cursor:pointer}
.concierge-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-right:18px}
.concierge-engraving{display:block;font:700 9px/1.3 Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:#e7c789}
.stage-concierge label{display:block;margin:7px 0 0;font:400 24px/1.15 Georgia,serif;letter-spacing:-.02em;text-transform:none;color:#fff3d8}
.concierge-welcome{margin:8px 0 12px;font:13px/1.5 Arial,sans-serif;color:#c8d6d9}
.stage-concierge button:focus-visible,.stage-concierge a:focus-visible{outline:2px solid #ffe3a3;outline-offset:3px}
.stage-entry{grid-template-columns:minmax(0,1fr) auto;margin-top:12px;border:1px solid #b3955a8c;border-radius:6px;background:#020e16;box-shadow:inset 0 2px 10px #000b;backdrop-filter:none;align-items:center}
.stage-entry textarea{width:100%;box-sizing:border-box;min-width:0;resize:vertical;min-height:72px;max-height:140px;padding:12px;border:0;outline:0;color:#fff9ee;background:transparent;font:16px/1.45 Arial,sans-serif}
.stage-entry textarea::placeholder{color:#a8bbbf}
.stage-entry:focus-within{border-color:#ffe0a0}
.stage-entry button[type="submit"]{min-width:0;min-height:48px;padding:8px 12px;margin:5px;border:1px solid #f8d997;border-radius:3px;font:700 12px/1.2 Arial,sans-serif;letter-spacing:0;text-transform:none;background:linear-gradient(135deg,#ffe9b4,#c89a4c);color:#211909}
.stage-entry button[type="submit"] span{display:block;margin-top:3px;font-size:19px}
.stage-concierge.is-guiding .stage-entry{box-shadow:inset 0 2px 10px #000b}
.stage-concierge button:disabled{cursor:wait;opacity:.65}
.concierge-starters{display:flex;align-items:center;flex-wrap:wrap;gap:3px 12px;margin-top:7px;font:12px Arial,sans-serif;color:#a9bfc4}
.concierge-starters button,.concierge-foot button,#stage-fold{min-height:32px;padding:5px 0;border:0;background:none;color:#efd197;font:12px/1.3 Arial,sans-serif;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.concierge-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:5px;color:#b5c6ca;font:11px/1.5 Arial,sans-serif}
.stage-conversation{margin-top:12px;max-height:30svh;overflow:auto;overscroll-behavior:contain;padding-right:5px;scrollbar-width:thin}
.concierge-receipt{margin:0 0 10px;padding-left:10px;border-left:2px solid #c4a366;color:#b9cbd0;font:italic 13px/1.45 Georgia,serif;overflow-wrap:anywhere}
.stage-concierge .stage-answer{margin:6px 0;min-height:0;max-height:none;color:#f2eee5;font:14px/1.55 Arial,sans-serif;text-shadow:none;white-space:pre-line;overflow-wrap:anywhere}
.concierge-question{margin:12px 0 4px;color:#ffe2a5;font:600 17px/1.4 Georgia,serif}
.stage-work{padding-top:10px;margin-top:10px}.stage-work-kicker{color:#d8bd85;font-size:10px;letter-spacing:.07em}.stage-work strong{margin:6px 0;font:400 20px/1.25 Georgia,serif}.stage-work p{color:#ccd9dc;font:13px/1.5 Arial,sans-serif;white-space:pre-line;overflow-wrap:anywhere}.stage-work-next{display:grid;gap:4px;margin:8px 0 10px;padding:0;list-style:none;color:#f4e4c7;font:12px/1.45 Arial,sans-serif}.stage-work-next li::before{content:'✓';margin-right:7px;color:#83e5ff;font-weight:900}.stage-work-next.is-review-list{gap:8px}.stage-work-next .stage-review-group{display:block;margin:0;padding:8px 9px;border:1px solid rgba(226,190,118,.26);border-radius:12px;background:linear-gradient(135deg,rgba(255,235,184,.08),rgba(5,18,25,.42));box-shadow:inset 0 1px rgba(255,255,255,.06)}.stage-work-next .stage-review-group::before{display:none}.stage-work-next .stage-review-group>strong{display:block;margin:0 0 4px;color:#f6d58f;font:900 9px/1.2 Arial,sans-serif;letter-spacing:.12em;text-transform:uppercase}.stage-work-next .stage-review-group ul{display:grid;gap:3px;margin:0;padding:0;list-style:none}.stage-work-next .stage-review-group li{color:#f8eee0;font:12px/1.35 Arial,sans-serif}.stage-work-next .stage-review-group li::before{content:'•';margin-right:6px;color:#83e5ff}.stage-work-next .stage-review-group.is-held{border-color:rgba(255,206,126,.42);background:linear-gradient(135deg,rgba(255,197,103,.13),rgba(5,18,25,.45))}.stage-work-next .stage-review-group.is-missing{border-color:rgba(125,218,245,.38);background:linear-gradient(135deg,rgba(98,190,222,.13),rgba(5,18,25,.45))}.stage-work a{display:inline-block;margin-top:6px;padding:9px 0;font:700 14px/1.3 Arial,sans-serif;letter-spacing:0;text-transform:none}.stage-save{min-height:40px;font:12px/1.4 Arial,sans-serif;letter-spacing:0;text-transform:none}
.stage-concierge [hidden]{display:none!important}
body.reading .stage-concierge,body.reading .stage-concierge:focus-within{opacity:1;pointer-events:auto;transform:translateX(-50%)}
.screen .screen-guidance{background:linear-gradient(140deg,#020b13f5,#0b1c2de8);padding:5% 6%;gap:3cqw;overflow:hidden}
.screen .screen-guidance small{font:700 clamp(8px,2.3cqw,11px)/1.2 Arial,sans-serif;letter-spacing:.12em;color:#edcf96}
.screen .screen-guidance strong{max-width:100%;font:400 clamp(17px,5.8cqw,30px)/1.08 Georgia,serif;letter-spacing:-.02em;overflow-wrap:anywhere}
.screen #screen-guidance-copy{display:block;max-width:100%;font:400 clamp(14px,4.5cqw,23px)/1.25 Georgia,serif;overflow-wrap:anywhere}
.screen #screen-guidance-copy:empty{display:none}
.screen .screen-guidance em{padding-top:2cqw;font:600 clamp(9px,2.7cqw,13px)/1.2 Arial,sans-serif;letter-spacing:.02em;text-transform:none;border-color:#e5c99180}

.concierge-foot .stage-voice{position:static;flex-shrink:0;min-height:44px;padding:4px 8px;border:1px solid #d4b27866;border-radius:4px;text-decoration:none;color:#ffe3b0;background:#172830;font:12px/1.3 Arial,sans-serif;cursor:pointer}
.concierge-foot .stage-voice::before,.concierge-foot .stage-voice::after{display:none}
.concierge-foot .stage-voice.is-listening{background:#68422b;outline:2px solid #f4d59b}
@media(max-width:700px){.stage-concierge{left:0;right:0;bottom:0;transform:none;width:auto}.concierge-ledge{padding:13px 16px calc(12px + env(safe-area-inset-bottom));min-height:76px;border-radius:50% 50% 0 0 / 15px 15px 0 0}.concierge-invitation{padding:2px 12px;column-gap:16px}.concierge-invitation span{font-size:23px}.concierge-invitation small{font-size:11px}.ledge-pen{width:24px;height:24px}.concierge-composer{padding:18px 16px;bottom:calc(100% - 1px);width:calc(100% - 18px);max-height:calc(100svh - 12rem)}.stage-concierge label{font-size:22px}.stage-conversation{max-height:24svh}body.reading .stage-concierge,body.reading .stage-concierge:focus-within{transform:none}}
@media(prefers-reduced-motion:reduce){.stage-concierge{transition:none}}
