.hospitality-atelier{--ha-ink:#29281f;--ha-orange:#e94a24;--ha-muted:#847d6e;--ha-line:#dbd1bf}.ha-heading{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:35px}.ha-kicker{font:10px/1.5 monospace;letter-spacing:1.5px;color:#9a6145}.ha-heading h2{font:700 clamp(46px,5.5vw,84px)/.95 var(--display);letter-spacing:-1.5px;margin:24px 0 0}.ha-heading h2 em{font-style:normal;color:var(--ha-orange)}.ha-heading>p{font:14px/1.8 'DM Sans',sans-serif;color:#7f7667;margin-bottom:5px}.ha-shell{background:#f9f4e9;border:1px solid #c7b69c;max-width:1320px;margin:auto;overflow:hidden;border-radius:12px;box-shadow:0 24px 60px #44270912}.ha-shell *{box-sizing:border-box}.ha-shell button{font:inherit;cursor:pointer}.ha-shell button:disabled{cursor:default}.ha-shell button:focus-visible,.ha-shell input:focus-visible,.ha-shell select:focus-visible{outline:3px solid #f48e5a;outline-offset:4px}.ha-body{display:flex;flex-direction:column}.ha-scene{position:relative;background:#372a1e;height:clamp(390px,40vw,560px);overflow:hidden;isolation:isolate}.ha-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 60%;z-index:-2}.ha-scene::after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#161c17db,transparent 62%),linear-gradient(0deg,#1815108a,transparent 24%);pointer-events:none}.ha-scene-label{display:flex;justify-content:space-between;position:absolute;top:24px;left:30px;right:30px;color:#faf2df;font:10px monospace;letter-spacing:1px}.ha-scene-label>span:first-child{font-weight:700;font-size:15px;letter-spacing:-.5px}.ha-scene-label i{font:8px monospace;letter-spacing:1.5px;color:#cfbea4;margin-left:15px}.ha-scene-label>span:last-child{font-size:9px;color:#e0c7a6}.ha-tabs{position:absolute;left:30px;top:95px;width:260px;display:grid;gap:4px}.ha-tabs button{display:grid;grid-template-columns:26px 1fr;text-align:left;align-items:center;gap:7px 10px;border:0;border-bottom:1px solid #d1c3aa30;background:transparent;padding:18px 0;color:#cfbfa6;transition:color .25s,padding .25s}.ha-tabs button>span{font:10px monospace;grid-row:span 2}.ha-tabs strong{font:400 24px/1.1 Georgia,serif;letter-spacing:-.5px}.ha-tabs small{font:10px 'DM Sans',sans-serif;color:#ad9a7e}.ha-tabs button[aria-pressed=true]{color:#fff9ec;padding-left:14px;border-left:2px solid #f08753}.ha-tabs button[aria-pressed=true]>span{color:#f39a6f}.ha-tabs button[aria-pressed=true] small{color:#e6d1b2}.ha-tabs button:hover{color:white}.ha-scene-caption{position:absolute;bottom:26px;left:30px;right:30px;display:flex;align-items:center;gap:15px;color:#fff5dc}.ha-scene-number{font:italic 40px Georgia,serif;color:#d8b98e}.ha-scene-caption small{display:block;font:8px monospace;letter-spacing:1.4px;margin-bottom:7px;color:#ddc7a5}.ha-caption{font:italic 23px Georgia,serif}.ha-controls{position:relative;display:grid;grid-template-columns:.85fr 1.1fr 1fr;column-gap:28px;align-items:center;padding:28px 32px;min-height:215px;background:linear-gradient(110deg,#fffcf5,#efe7d7);color:var(--ha-ink)}.ha-controls>.ha-kicker{grid-column:1;grid-row:1;align-self:start;font-size:8px}.ha-controls>h3{grid-column:1;grid-row:2;align-self:start;font:400 31px/.98 Georgia,serif;letter-spacing:-1px;margin:10px 0}.ha-controls h3 em{font-weight:400;color:#aa5432}.ha-controls>p:not(.ha-feedback){grid-column:1;grid-row:3;font:10px/1.6 'DM Sans',sans-serif;color:#8b7a62;margin:0}.ha-quiet-control{grid-column:2;grid-row:1/3;display:flex;justify-content:space-between;gap:15px;align-items:center;padding:20px 0;border-bottom:1px solid #cfbfa7}.ha-quiet-control strong{font:600 14px 'DM Sans',sans-serif}.ha-quiet-control small{display:block;font:10px 'DM Sans',sans-serif;color:#8e7c63;margin-top:7px}.ha-switch{width:65px;height:36px;border:1px solid #c2b59e;background:#cec3ae;border-radius:25px;padding:4px;flex:none;box-shadow:inset 0 2px 4px #4f3e2622}.ha-switch span{display:block;width:26px;height:26px;background:linear-gradient(#fffdf7,#e8ddc5);border-radius:50%;box-shadow:0 2px 4px #33231755;transition:transform .3s}.ha-switch[aria-checked=true]{background:#ed4924;border-color:#cd4322}.ha-switch[aria-checked=true] span{transform:translateX(28px)}.ha-status{grid-column:2;grid-row:3;display:flex;align-items:center;gap:12px;color:#8d7c64}.ha-status>span{font:24px Georgia,serif}.ha-status strong{font:500 10px 'DM Sans',sans-serif}.ha-status small{display:block;font:9px/1.5 'DM Sans',sans-serif;margin-top:4px}.ha-status.is-active{color:#456443}.ha-text-link{grid-column:3;grid-row:1/4;border:0;border-bottom:1px solid #bdae93;background:transparent;display:flex;justify-content:space-between;align-items:center;gap:10px;text-align:left;color:#746047;font-size:12px!important;padding:18px 0}.ha-text-link b{font-size:25px;color:#bf5a32}.ha-reasons{grid-column:2;grid-row:1/4;display:grid;grid-template-columns:1fr 1fr;gap:8px}.ha-reasons button{border:1px solid #d5c6af;border-radius:6px;padding:14px 9px;background:#fffcf6;color:#807058;font-size:10px;display:flex;align-items:center;gap:8px}.ha-reasons button>span{font:18px Georgia,serif;color:#9b805b}.ha-reasons button[aria-pressed=true]{background:#efe0c9;color:#713f24;border-color:#bd7d52}.ha-action{grid-column:3;grid-row:1/3;width:100%;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 17px;background:#eb4824;border:1px solid #d74221;border-radius:7px;color:#fff5e9;font-size:11px!important;box-shadow:0 3px 0 #b6371a;transition:transform .2s,background .2s}.ha-action span{font-size:20px}.ha-action:hover:not(:disabled){background:#d83e1d;transform:translateY(-2px)}.ha-action:disabled{opacity:.6}.ha-service-progress{grid-column:3;grid-row:3;display:flex;align-items:center;gap:7px;font:8px monospace;color:#b2a48e;align-self:start}.ha-service-progress i{flex:1;height:1px;background:#d0c3ad}.ha-service-progress .done{color:#a14d2f}.ha-controls>.ha-feedback{grid-column:3;grid-row:3;align-self:end;font:9px/1.5 'DM Sans',sans-serif;color:#9b866a;margin:25px 0 0}.ha-form{grid-column:2/4;grid-row:1/4;display:grid;grid-template-columns:1fr 1fr;gap:12px 18px}.ha-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.ha-form label{display:block;font:9px 'DM Sans',sans-serif;color:#8d785a}.ha-form input:not([type=checkbox]),.ha-form select{display:block;width:100%;min-width:0;height:37px;border:1px solid #cfc1a9;border-radius:5px;background:#fffdf6;color:#5e533f;padding:6px;font:10px 'DM Sans',sans-serif;margin-top:6px;color-scheme:light}.ha-form .ha-preference{display:flex;align-items:center;gap:8px;grid-column:1}.ha-preference input{accent-color:#ed4924;width:15px;height:15px}.ha-preference small{display:block;font-size:8px;margin-top:3px;color:#a08d70}.ha-form .ha-action{grid-column:2;grid-row:2}.ha-form .ha-feedback{grid-column:1/3;margin:0;font:9px 'DM Sans',sans-serif;color:#99866b}.ha-confirm-icon{display:none}.ha-confirm{grid-column:2;grid-row:1/4;font:10px 'DM Sans',sans-serif;margin:0}.ha-confirm>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid #dcd0bc}.ha-confirm dt{color:#988265}.ha-confirm dd{margin:0;text-align:right;color:#5f503a}.ha-ticket{position:absolute;right:10%;bottom:13%;max-width:330px;background:#fff8e9;padding:25px 32px;color:#6b5538;border:1px solid #e0ccb0;box-shadow:5px 20px 25px #160e1440;transform:rotate(-5deg);animation:ha-ticket-in .6s both}.ha-ticket span{font:8px monospace;letter-spacing:1px;color:#b55c35}.ha-ticket strong{display:block;font:27px Georgia,serif;margin:12px 0}.ha-ticket small{font:10px 'DM Sans',sans-serif}.ha-foot{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid #d7c9b2;padding:12px 30px;color:#948164;font:9px 'DM Sans',sans-serif}.ha-foot i{display:inline-block;width:5px;height:5px;border-radius:50%;background:#c76d3d;margin-right:7px}.ha-foot small{font-size:8px}.ha-ripple{position:absolute;left:64%;top:56%;width:70px;height:70px;border:1px solid #efba86;border-radius:50%;opacity:0;pointer-events:none}.is-ringing .ha-ripple{animation:ha-ring 1s ease-out}.ha-enter .ha-art{animation:ha-camera 1.1s cubic-bezier(.2,.7,.3,1) both}.ha-shell [hidden]{display:none!important}@keyframes ha-camera{from{opacity:.65;transform:scale(1.05) translateX(7px)}to{opacity:1;transform:scale(1) translateX(0)}}@keyframes ha-ring{0%{opacity:.8;transform:translate(-50%,-50%) scale(.4)}100%{opacity:0;transform:translate(-50%,-50%) scale(3)}}@keyframes ha-ticket-in{from{opacity:0;translate:0 40px;rotate:6deg}to{opacity:1;translate:0 0;rotate:0deg}}@media(max-width:1000px){.ha-controls{gap:20px;padding:24px}.ha-tabs{width:210px}.ha-tabs strong{font-size:22px}.ha-controls>h3{font-size:29px}.ha-reasons{gap:6px}.ha-reasons button{padding:12px 7px;font-size:9px}.ha-form{grid-template-columns:1fr}.ha-form .ha-action{grid-column:1;grid-row:auto}.ha-form .ha-feedback{grid-column:1}.ha-fields{gap:10px}.ha-controls:has(.ha-form){min-height:280px}}
@media(max-width:650px){.ha-heading{display:block;margin-bottom:25px}.ha-heading h2{font-size:48px}.ha-heading>p{margin-top:18px;font-size:12px}.ha-scene{height:300px}.ha-art{object-position:65% center}.ha-scene::after{background:linear-gradient(90deg,#181a14c9,transparent 78%),linear-gradient(0deg,#16120fa6,transparent 30%)}.ha-scene-label{top:16px;left:18px;right:18px}.ha-scene-label i{display:none}.ha-tabs{top:60px;left:18px;width:155px}.ha-tabs button{padding:12px 0;grid-template-columns:19px 1fr;gap:4px 5px}.ha-tabs strong{font-size:17px}.ha-tabs small{font-size:8px}.ha-tabs button[aria-pressed=true]{padding-left:8px}.ha-tabs button>span{font-size:8px}.ha-scene-caption{bottom:15px;left:18px;gap:10px}.ha-scene-number{font-size:27px}.ha-caption{font-size:15px}.ha-scene-caption small{font-size:6px;margin-bottom:5px}.ha-controls{display:flex;flex-direction:column;align-items:stretch;padding:22px;gap:0;min-height:0}.ha-controls>.ha-kicker{font-size:8px}.ha-controls>h3{font-size:30px;margin:10px 0}.ha-controls>h3 br{display:none}.ha-controls>p:not(.ha-feedback){font-size:11px;margin-bottom:20px}.ha-reasons{margin-bottom:15px}.ha-reasons button{font-size:11px;padding:12px}.ha-service-progress{margin-top:21px;width:100%}.ha-controls>.ha-feedback{margin:12px 0 0;font-size:10px}.ha-quiet-control{padding:0 0 18px}.ha-status{margin:17px 0}.ha-text-link{font-size:11px!important;padding:12px 0}.ha-form{display:grid;grid-template-columns:1fr;gap:13px}.ha-form input:not([type=checkbox]),.ha-form select{font-size:12px;height:41px}.ha-form .ha-feedback{font-size:9px}.ha-ticket{right:5%;bottom:15%;padding:15px;max-width:200px}.ha-ticket strong{font-size:20px}.ha-ticket span{font-size:6px}.ha-ticket small{font-size:9px}.ha-foot{display:block;padding:12px 18px}.ha-foot small{display:block;margin-top:6px}.ha-confirm{margin:0 0 20px}.ha-controls:has(.ha-form){min-height:0}}
@media(prefers-reduced-motion:reduce){.ha-shell *, .ha-shell *::before,.ha-shell *::after{animation:none!important;transition:none!important}}
.ha-bell-hit{position:absolute;left:60%;top:61%;width:130px;height:115px;transform:translate(-50%,-50%);border:0;background:transparent;color:#fff8e6;display:grid;place-items:end center;border-radius:50%}.ha-bell-hit span{display:block;white-space:nowrap;font:9px 'DM Sans',sans-serif;padding:9px 13px;background:#261e15a6;border:1px solid #d9ba8270;border-radius:25px;backdrop-filter:blur(8px);transform:translateY(35px);transition:background .2s}.ha-bell-hit:hover span{background:#dc512bcc}.ha-bell-hit:disabled{opacity:0}.ha-quiet-on .ha-scene-caption small{color:#f6bc88}.ha-quiet-on .ha-scene-caption small::after{content:' / QUIET SERVICE ON';color:#ffc58a}@media(max-width:650px){.ha-bell-hit{left:70%;top:65%;width:80px;height:80px}.ha-bell-hit span{font-size:8px;padding:7px 10px;transform:translateY(18px)}}
@media(min-width:651px){.ha-tabs{top:78px}.ha-tabs button{padding-top:12px;padding-bottom:12px}.ha-controls>p:not(.ha-feedback){font-size:11px}.ha-reasons button{font-size:11px}.ha-action{font-size:12px!important}.ha-controls>.ha-feedback{font-size:10px}.ha-controls{min-height:215px}}
.ha-brand-mark{display:inline-block;width:19px;height:19px;vertical-align:middle;margin-right:5px;margin-top:-3px}
@media(max-width:650px){.ha-controls>h3 em::before{content:' ';white-space:pre}}
/* Sculpted service tokens, with the original button footprint retained. */
.ha-service-icon{width:32px;height:32px;flex:0 0 32px;filter:drop-shadow(0 2px 2px #5e32151a);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.ha-reasons button{position:relative;overflow:hidden;background:linear-gradient(145deg,#fffefb,#f6efe3);box-shadow:inset 0 1px #fff,0 2px 2px #70512a09;transition:border-color .2s,box-shadow .2s,background .2s;padding-top:7px;padding-bottom:7px;min-height:52px}
.ha-reasons button:hover .ha-service-icon{transform:translateY(-2px) rotate(-5deg)}
.ha-reasons button[aria-pressed=true]{background:linear-gradient(140deg,#fff2df,#f4d8b7);box-shadow:inset 0 1px #fff9ec,0 3px 8px #a7552220;border-color:#cf7743}
.ha-reasons button[aria-pressed=true]::after{content:'';position:absolute;right:5px;top:5px;width:4px;height:4px;border-radius:50%;background:#f04a20;box-shadow:0 0 7px #ffae67}
.ha-bell-hit{left:auto;top:18px;right:22px;bottom:auto;width:auto;height:auto;transform:none;border-radius:30px;z-index:3;padding:0}
.ha-bell-hit span{transform:none;background:#fff9eeed;color:#6e4930;border-color:#d0bfa4;box-shadow:0 3px 12px #24170514;font-size:10px;padding:10px 14px}
.ha-bell-hit:hover span{background:#fff0dc}.ha-scene-label>span:last-child{display:none}
@media(max-width:650px){.ha-service-icon{width:30px;height:30px;flex-basis:30px}.ha-reasons button{padding:7px 9px;min-height:52px}.ha-bell-hit{top:12px;right:12px;left:auto;width:auto;height:auto}.ha-bell-hit span{transform:none;font-size:8px;padding:8px 10px}}
/* Quiet mode communicates through the existing control footprint. */
.ha-moon{width:36px;height:36px;flex:0 0 36px;display:block;filter:drop-shadow(0 3px 3px #74532c28);transition:transform .45s,filter .45s}
.ha-moon svg{display:block;width:100%;height:100%}
.ha-status.is-active .ha-moon{animation:ha-moon-arrive .65s cubic-bezier(.2,.8,.2,1) both;filter:drop-shadow(0 3px 6px #c0914350)}
.ha-status.is-active{border-left:2px solid #d18a44;padding-left:10px;color:#4a533b;background:linear-gradient(90deg,#ecdab42e,transparent);border-radius:0 8px 8px 0}
.ha-status.is-active strong{font-size:13px;font-weight:700;line-height:1.3;color:#4d4a32}
.ha-status.is-active small{font-size:11px;color:#766444;margin-top:4px}
.ha-quiet-on .ha-controls>h3 em{color:#8e5e25}
.ha-text-link:hover b{transform:translate(3px,-3px)}.ha-text-link b{transition:transform .25s}
.ha-foot i{position:relative;width:7px;height:7px;vertical-align:1px;background:radial-gradient(circle at 30% 25%,#ffe4a3 0%,#ff9250 28%,#ec4b1f 65%,#9c2a10 100%);box-shadow:0 1px 2px #7c2d2440,0 0 5px #f87b4340;animation:ha-live-glow 2.8s ease-in-out infinite}
.ha-foot i::after{content:'';position:absolute;inset:-3px;border:1px solid #f1784690;border-radius:50%;animation:ha-live-ring 2.8s ease-out infinite}
@keyframes ha-live-ring{0%,15%{transform:scale(.65);opacity:.65}80%,100%{transform:scale(1.65);opacity:0}}
@keyframes ha-live-glow{0%,100%{box-shadow:0 1px 2px #7c2d2440,0 0 3px #f87b4330}50%{box-shadow:0 1px 2px #7c2d2440,0 0 8px #ff773a90}}
@keyframes ha-moon-arrive{from{opacity:.3;transform:translateY(5px) rotate(-18deg)}to{opacity:1;transform:translateY(0) rotate(0)}}
@media(max-width:650px){.ha-status.is-active{padding-top:0;padding-bottom:0}.ha-status.is-active strong{font-size:13px}.ha-status.is-active small{font-size:11px}}

.ha-status{height:42px;min-height:42px}

/* One soft invitation on first viewing each control set; no layout shift. */
.ha-guide .ha-switch,.ha-request-guide .ha-action{animation:ha-control-invitation 1.8s ease-in-out 1}
@keyframes ha-control-invitation{0%,100%{outline:2px solid transparent;outline-offset:3px}45%{outline:2px solid #ed784b85;outline-offset:5px;box-shadow:0 0 0 5px #f28c5420,0 0 20px #ed784b25}}

/* A single travelling invitation, followed by the selected request action. */
.ha-guide .ha-reasons button{animation:ha-option-light 1.1s ease-in-out both;animation-delay:var(--ha-cue-delay,0s)}
.ha-guide .ha-reasons button:nth-child(2){--ha-cue-delay:.55s}
.ha-guide .ha-reasons button:nth-child(3){--ha-cue-delay:1.1s}
.ha-guide .ha-reasons button:nth-child(4){--ha-cue-delay:1.65s}
.ha-guide .ha-reasons button::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 15%,#ffbd7845 48%,#fff6df80 52%,transparent 85%);transform:translateX(-120%);animation:ha-option-sheen 1.1s ease-in-out both;animation-delay:var(--ha-cue-delay,0s)}
.ha-guide .ha-reasons .ha-service-icon{animation:ha-option-lift 1.1s ease-in-out both;animation-delay:var(--ha-cue-delay,0s)}
@keyframes ha-option-light{0%,100%{outline:1px solid transparent;outline-offset:1px}45%{outline:1px solid #ed784b90;outline-offset:2px;box-shadow:0 2px 12px #df774a25}}
@keyframes ha-option-sheen{0%{transform:translateX(-120%);opacity:0}20%{opacity:1}80%,100%{transform:translateX(120%);opacity:0}}
@keyframes ha-option-lift{0%,100%{transform:translateY(0) rotate(0)}45%{transform:translateY(-3px) rotate(-4deg)}}

/* Advance the invitation only after a sample request is received. */
.ha-reasons button.ha-next-service{animation:ha-option-light 1.1s ease-in-out both}
.ha-reasons button.ha-next-service::before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,transparent 15%,#ffbd7845 48%,#fff6df80 52%,transparent 85%);animation:ha-option-sheen 1.1s ease-in-out both}
.ha-next-service .ha-service-icon{animation:ha-option-lift 1.1s ease-in-out both}
