.service-section{background:radial-gradient(ellipse at 100% 0,var(--vertical-soft),transparent 60%),#fffdf8}
.service-section h2{font-size:clamp(27px,5vw,40px)}
.service-demo{margin-top:30px;overflow:hidden;border:2px solid #244575;border-radius:20px;background:#fff;box-shadow:5px 7px 0 #183e7315;color:#173a69;isolation:isolate}
.service-demo *{min-width:0}
.service-demo button{font:inherit;cursor:pointer;min-height:44px;touch-action:manipulation}
.service-demo button:focus-visible,.service-links a:focus-visible{outline:3px solid #c99833;outline-offset:3px}
.service-topbar{display:flex;justify-content:space-between;align-items:center;gap:10px;background:linear-gradient(110deg,#173a79,#091e42);padding:13px 17px;color:white}
.service-topbar b{font:800 16px/1.4 var(--display,sans-serif);letter-spacing:1.1px}
.service-topbar>span{font-size:9px;color:#efd28b}
.service-context{font-size:10px;color:#6a7181;padding:9px 17px;background:#f4f5f7}
.service-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;padding:16px 16px 0}
.service-steps button{position:relative;display:grid;gap:4px;padding:10px 4px 13px;border:1px solid #d4dce9;border-radius:9px;background:#f2f5f9;color:#6a7689;overflow:hidden;text-align:center}
.service-steps button small{font-family:var(--display,sans-serif);font-weight:800;font-size:11px;letter-spacing:1px}
.service-steps button strong{font-size:11px}
.service-steps button[aria-pressed=true]{background:#19458e;color:#fff;border-color:#19458e}
.service-steps button[aria-pressed=true] small{color:#efd18a}
.service-steps button i{position:absolute;bottom:0;left:0;width:100%;height:3px;background:#eac76f;transform:scaleX(0);transform-origin:left}
.service-board{padding:0 18px 18px}
.service-caption{min-height:52px;padding:15px 0 10px;text-align:center;font-size:12px;line-height:1.6;font-weight:700;color:var(--vertical-ink)}
.service-lounge{height:160px;border-radius:12px;background:radial-gradient(ellipse at 50% 20%,#39567e,transparent 60%),linear-gradient(120deg,#12213c,#08152b);position:relative;overflow:hidden;color:#edcf8e}
.service-lounge:before,.service-lounge:after{content:"";position:absolute;top:0;width:30%;height:150px;border:1px solid #c7a35a55;border-radius:100px 100px 0 0;background:linear-gradient(90deg,#bf955314,transparent,#bf955314)}
.service-lounge:before{left:-10%}.service-lounge:after{right:-10%}
.service-chandelier{position:absolute;left:48%;top:-20px;font-size:72px;text-shadow:0 0 20px #f6cf7b55;font-style:normal}
.service-table-number{position:absolute;left:15px;top:16px;display:flex;flex-direction:column;font:800 10px/1.2 var(--display,sans-serif);letter-spacing:1px}
.service-table-number b{font-size:29px;line-height:1.3}
.service-tabletop{position:absolute;left:31%;top:86px;width:43%;height:30px;background:linear-gradient(140deg,#c2a674,#736044);border:1px solid #e4c68e;border-radius:50%;box-shadow:0 9px 0 #071229,0 10px 20px #0005;z-index:2}
.service-seat{position:absolute;width:70px;height:39px;left:17%;top:86px;border:2px solid #a58754;border-radius:30px 30px 6px 6px;background:linear-gradient(#446182,#24374f);transform:rotate(-22deg)}
.service-seat:nth-of-type(3){left:auto;right:8%;transform:rotate(22deg)}
.service-seat:nth-of-type(4){left:41%;top:104px;transform:rotate(0deg);z-index:3;width:76px;height:35px}
.service-seat.is-extra{opacity:.16;border-style:dashed;background:transparent}
.service-seat.is-added{box-shadow:0 0 16px #efce8b77}
.service-cast{position:absolute;width:79px;height:79px;left:43%;top:15px;z-index:1}
.service-lounge-status{position:absolute;right:10px;top:13px;font-size:9px;border:1px solid #cab07e77;border-radius:4px;padding:4px 7px;max-width:46%}
.service-ledger{margin-top:14px;border:1px solid #e3e8ef;border-radius:10px;overflow:hidden}
.service-ledger>div{display:grid;grid-template-columns:76px 1fr;align-items:center;gap:10px;min-height:45px;padding:10px 14px;border-bottom:1px solid #e6ebf2;background:linear-gradient(90deg,#f5f7fa,white)}
.service-ledger>div:last-child{border-bottom:0}
.service-ledger dt{font-size:11px;color:#7b8492}.service-ledger dd{margin:0;font-size:12px;font-weight:800;line-height:1.6;text-align:right;color:#183b6a;overflow-wrap:anywhere}
.service-result{margin-top:13px;padding:15px;border-radius:11px;background:var(--vertical-soft);border:1px solid #bca06444;text-align:center}
.service-result>span{display:block;color:#607087;font-size:10px;margin-bottom:5px}
.service-result>strong{display:block;font-size:19px;font-weight:900;letter-spacing:.2px;line-height:1.4;color:var(--vertical-ink)}
.service-result>strong small{font-size:11px}.service-result>strong i{font-size:13px;color:#8896a6;font-style:normal;padding:0 6px}
.service-result p{font-size:10px;margin-top:8px;color:#667286;line-height:1.7}
.service-playback{display:flex;align-items:center;justify-content:space-between;gap:8px;border-top:1px solid #e5e9ef;padding:10px 16px;background:#f8f9fb}
.service-playback p{font-size:10px;color:#64758a;line-height:1.5;flex:1}
.service-playback button{padding:8px 12px;border:1px solid #cbd5e5;border-radius:7px;font-size:10px;font-weight:800;background:white;color:#244473;flex:none}
.service-outcome{font-size:13px;line-height:1.9;text-align:center;font-weight:800;margin-top:20px;color:var(--vertical-ink)}
.service-links{display:flex;flex-wrap:wrap;gap:4px 20px;margin-top:10px}
.service-cast-select{padding-top:16px}.service-cast-select>span{display:block;font-size:10px;color:#6b7a8a;margin-bottom:7px}
.service-cast-select>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.service-cast-select button{display:flex;align-items:center;flex-direction:column;gap:4px;border:1px solid #dbe3e8;border-radius:9px;background:#f7fafb;color:#3e586c;padding:5px 2px 7px}
.service-cast-select button .cast-portrait{width:45px;height:45px;border-radius:6px;background-color:#eaf2f1}
.service-cast-select button strong{font-size:11px}.service-cast-select button[aria-pressed=true]{border-color:#358e96;background:#e7f5f2;box-shadow:0 3px 0 #398a9e24}
.service-bar{height:145px;border-radius:12px;background:radial-gradient(ellipse at 50% 0,#155c71,transparent 70%),linear-gradient(120deg,#0c314b,#062236);position:relative;overflow:hidden}
.service-bar:before{content:"";position:absolute;left:8%;right:8%;top:17px;height:40px;border-bottom:2px solid #b8d9d629;background:repeating-linear-gradient(90deg,transparent 0 19px,#64c5c423 20px 23px,transparent 24px 39px)}
.service-counter-label{position:absolute;left:14px;top:13px;font:800 10px/1.4 var(--display,sans-serif);letter-spacing:1.2px;color:#9fdbdd}
.service-counter-top{position:absolute;left:-5%;bottom:22px;width:110%;height:24px;transform:skewX(-18deg);background:linear-gradient(#9d6e40,#b08658 45%,#735438);border-top:2px solid #deb580;box-shadow:0 6px 0 #3e2c24,0 20px 15px #0004;z-index:1}
.service-glass{position:absolute;left:38%;bottom:46px;width:39px;height:59px;border:2px solid #d0efeecc;border-top:3px solid #d0efee;border-radius:3px 3px 10px 10px;transform:rotate(-4deg);background:linear-gradient(transparent 17%,#71bbb34d 18%,#49a79a88);z-index:2;box-shadow:inset -6px 0 8px #b9e8e937,3px 4px 6px #001e2e55}
.service-glass i,.service-glass b{position:absolute;width:14px;height:14px;border:1px solid #ecffffa3;background:#e5ffff3a;border-radius:3px;top:18px;left:5px;transform:rotate(18deg)}
.service-glass b{top:33px;left:17px;transform:rotate(-20deg)}
.service-glass:before{content:"";position:absolute;top:-13px;right:-9px;width:24px;height:24px;border:3px solid #d8df89;border-radius:50%;background:#b8c65e55;transform:rotate(-15deg)}
.service-glass-two{left:57%;transform:rotate(4deg)}.service-glass.is-cancelled{opacity:.2;filter:grayscale(1)}
.service-drinks{list-style:none;padding:0;margin:14px 0 0;border:1px solid #dde7eb;border-radius:10px;min-height:120px;overflow:hidden;background:#fbfcfd}
.service-drinks li{display:grid;grid-template-columns:38px minmax(0,1fr) auto;gap:8px;align-items:center;min-height:59px;padding:10px 11px;border-bottom:1px solid #e2e9ed}
.service-drinks li:last-child{border-bottom:0}.service-drinks time{font:700 11px var(--display,sans-serif);color:#7f909b}.service-drinks strong{display:block;font-size:11px}.service-drinks span{font-size:10px;color:#45838b}.service-drinks b{font-size:12px;white-space:nowrap}
.service-drinks li.is-cancelled strong{text-decoration:line-through;color:#85939e}.service-drinks li.is-cancelled>b{font-size:10px;padding:4px 7px;border-radius:5px;background:#f3ece5;color:#8b6543}
@media(max-width:390px){.service-topbar{padding:12px}.service-topbar b{font-size:14px}.service-topbar>span{font-size:8px}.service-steps{gap:5px;padding:12px 10px 0}.service-board{padding:0 10px 13px}.service-steps button strong{font-size:10px}.service-ledger>div{grid-template-columns:53px 1fr;padding:10px;gap:6px}.service-ledger dd{font-size:11px}.service-result>strong{font-size:17px}.service-caption{font-size:11px}.service-playback{padding:9px 10px;flex-wrap:wrap}.service-playback p{flex-basis:130px}.service-playback button{font-size:9px}.service-drinks li{gap:5px;padding:10px 7px;grid-template-columns:34px minmax(0,1fr) auto}.service-drinks strong{font-size:10px}.service-drinks b{font-size:11px}.service-lounge-status{font-size:8px;max-width:43%}.service-seat{width:54px}.service-cast-select button .cast-portrait{width:40px;height:40px}}
@media(prefers-reduced-motion:reduce){.service-demo *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* A small working floor, with one visible action leading into its record.
   The source ledger stays readable if JavaScript or optional motion is absent. */
.service-demo[data-service-enhanced]{--service-warm:#efcf91;--service-dark:#48273a;--service-paper:#fff8e8}
.service-demo[data-service-kind=girlsbar]{--service-warm:#f0b198;--service-dark:#17494c;--service-paper:#fff8eb}
.service-demo[data-service-enhanced] :is(.service-lounge,.service-bar){height:248px;isolation:isolate;contain:layout paint}
.service-demo[data-service-enhanced] .service-lounge:before,
.service-demo[data-service-enhanced] .service-lounge:after{height:212px;opacity:.7}
.service-demo[data-service-enhanced] .service-chandelier{font-size:58px;top:-24px;left:43%;opacity:.55}
.service-demo[data-service-enhanced] .service-table-number{top:11px;left:14px;z-index:6;letter-spacing:2px}
.service-demo[data-service-enhanced] .service-table-number b{font-size:24px}
.service-demo[data-service-enhanced] .service-lounge-status{top:13px;right:12px;max-width:49%;z-index:6;line-height:1.45;background:#24121b70;font-weight:700}
.service-demo[data-service-enhanced] .service-cast{display:none}
.service-demo[data-service-enhanced] .service-tabletop{left:22%;top:168px;width:47%;height:28px;z-index:4;box-shadow:0 7px 0 #201621,0 10px 17px #0003}
.service-demo[data-service-enhanced] .service-seat{left:17%;top:154px;width:60px;height:33px;z-index:1}
.service-demo[data-service-enhanced] .service-seat:nth-of-type(3){left:auto;right:17%;top:154px}
.service-demo[data-service-enhanced] .service-seat:nth-of-type(4){left:34%;top:188px;width:66px;height:29px;z-index:5}
.service-demo[data-service-enhanced] .service-scene-light{position:absolute;inset:0 5% 33px -30%;background:linear-gradient(106deg,transparent 30%,var(--service-warm) 49%,transparent 65%);opacity:0;mix-blend-mode:soft-light;pointer-events:none;z-index:1}
.service-demo[data-service-enhanced] .service-speech{position:absolute;left:14px;top:55px;max-width:70%;padding:6px 11px;border:1px solid var(--service-warm);border-radius:12px 12px 12px 3px;background:var(--service-paper);color:var(--service-dark);font-size:11px;line-height:1.45;font-weight:800;z-index:7;box-shadow:0 3px 0 #0002}
.service-demo[data-service-enhanced] .service-speech:after{content:"";position:absolute;left:15px;bottom:-5px;width:7px;height:7px;rotate:45deg;background:var(--service-paper);border-right:1px solid var(--service-warm);border-bottom:1px solid var(--service-warm)}
.service-demo[data-service-enhanced] .service-actor{position:absolute;width:118px;bottom:52px;z-index:3;transform-origin:50% 90%;pointer-events:none}
.service-demo[data-service-enhanced] .service-actor>.crew-sprite{width:100%;animation:none;transform-origin:50% 88%;filter:drop-shadow(0 5px 4px #0006)}
.service-demo[data-service-enhanced] .service-actor>b{position:absolute;left:27%;bottom:-4px;border:1px solid #e7cca35e;border-radius:4px;background:#261923dc;padding:2px 7px;color:#fff5e6;font-size:8px;line-height:1.4;font-weight:700;letter-spacing:.06em;white-space:nowrap;z-index:3}
.service-demo[data-service-enhanced] .service-actor--staff{left:-2%;bottom:55px}
.service-demo[data-service-enhanced] .service-actor--cast{left:24%;bottom:62px;width:109px;z-index:2}
.service-demo[data-service-enhanced] .service-guests{position:absolute;display:flex;align-items:flex-end;left:19%;bottom:48px;gap:7px;z-index:5}
.service-demo[data-service-enhanced] .service-guests>i{display:block;position:relative;width:24px;height:30px;background:linear-gradient(#cab28b,#8e735b);border:1px solid #efd4aa;border-radius:12px 12px 4px 4px;box-shadow:0 4px 7px #0004}
.service-demo[data-service-enhanced] .service-guests>i:before{content:"";position:absolute;left:5px;top:-11px;width:12px;height:12px;border:1px solid #efd4aa;background:#c7ad85;border-radius:50%}
.service-demo[data-service-enhanced] .service-guests>i.is-new{background:linear-gradient(#edd6a7,#b38b55);border-color:#f5e6bd}
.service-demo[data-service-enhanced] .service-scene-ticket{position:absolute;top:93px;right:10px;width:clamp(92px,34%,120px);padding:9px 8px 8px;border:1px solid #e0ca9d;border-radius:4px;background:var(--service-paper);color:var(--service-dark);z-index:6;box-shadow:0 6px 13px #0003;text-align:left;transform-origin:80% 20%;display:flex;flex-direction:column;gap:3px}
.service-demo[data-service-enhanced] .service-scene-ticket:before{content:"";position:absolute;left:8px;right:8px;top:4px;height:1px;background:#a78b6130}
.service-demo[data-service-enhanced] .service-scene-ticket>small{font:800 8px/1.3 var(--display,sans-serif);letter-spacing:1.3px;color:#927650}
.service-demo[data-service-enhanced] .service-scene-ticket>strong{display:block;font-size:clamp(12px,3.6vw,14px);line-height:1.6;font-weight:900;letter-spacing:-.04em}
.service-demo[data-service-enhanced] .service-mini-row{display:block;font-size:9px;line-height:1.7;font-weight:700;white-space:nowrap}
.service-demo[data-service-enhanced] .service-mini-row.is-cancelled{color:#9a6957;text-decoration:line-through}
.service-demo[data-service-enhanced] .service-scene-ticket>b{font-size:9px;line-height:1.5;border-top:1px dashed #ac93645c;padding-top:4px;margin-top:3px;font-weight:800}
.service-demo[data-service-enhanced] .service-extension{position:absolute;left:32%;top:94px;width:62px;height:62px;z-index:7;display:grid;place-items:center;border-radius:50%;background:#482333e8;box-shadow:0 3px 14px #0004;color:#ffe4a6}
.service-demo[data-service-enhanced] .service-extension svg{position:absolute;inset:0;width:100%;height:100%;rotate:-90deg;overflow:visible}
.service-demo[data-service-enhanced] .service-extension circle{fill:none;stroke:var(--service-warm);stroke-width:2.5;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0}
.service-demo[data-service-enhanced] .service-extension>b{font:800 21px/1 var(--display,sans-serif);letter-spacing:-.03em}
.service-demo[data-service-enhanced] .service-extension small{font-size:10px;margin-left:1px}
.service-demo[data-service-enhanced] .service-flight{position:absolute;left:0;top:0;display:block;padding:5px 8px;background:var(--service-warm);border:1px solid #fff5da;color:var(--service-dark);font-size:10px;font-weight:900;line-height:1.5;border-radius:4px;box-shadow:0 4px 12px #0004;opacity:0;z-index:10;white-space:nowrap;pointer-events:none}
.service-demo[data-service-enhanced] .service-stage-rail{position:absolute;left:10px;right:10px;bottom:9px;display:flex;align-items:center;justify-content:space-between;gap:7px;border-top:1px solid #e7cba12d;padding-top:7px;color:#f3e3c7;z-index:8}
.service-demo[data-service-enhanced] .service-stage-rail>span{font-size:9px;font-weight:800;line-height:1.4;white-space:nowrap}
.service-demo[data-service-enhanced] .service-stage-rail>span:nth-of-type(2){color:var(--service-warm)}
.service-demo[data-service-enhanced] .service-stage-rail>i{flex:1;font-size:12px;line-height:1;text-align:center;font-style:normal;opacity:.6}
.service-demo[data-service-kind=girlsbar] .service-actor--staff{width:132px;bottom:55px;left:-1%;z-index:2}
.service-demo[data-service-kind=girlsbar] .service-actor>b{background:#153b3cdd;border-color:#e6c2a766}
.service-demo[data-service-enhanced] .service-counter-label{top:17px;left:13px;font-size:10px;z-index:6}
.service-demo[data-service-enhanced] .service-cast-marker{position:absolute;right:10px;top:11px;display:flex;align-items:center;gap:6px;z-index:6;color:#fff2e0}
.service-demo[data-service-enhanced] .service-cast-marker .cast-portrait{width:31px;height:31px;border-radius:50%;border:1px solid #ebbea1;background-color:#f1e2cd}
.service-demo[data-service-enhanced] .service-cast-marker>span:last-child{display:flex;flex-direction:column;gap:2px}
.service-demo[data-service-enhanced] .service-cast-marker small{font-size:7px;line-height:1.3;color:#d5c8b4}
.service-demo[data-service-enhanced] .service-cast-marker b{font-size:11px;line-height:1.3;font-weight:800}
.service-demo[data-service-kind=girlsbar] .service-speech{top:53px;left:13px;font-size:10px}
.service-demo[data-service-kind=girlsbar] .service-scene-ticket{top:88px;right:9px;padding:8px 7px 7px;width:clamp(94px,32%,116px);z-index:3}
.service-demo[data-service-kind=girlsbar] .service-scene-ticket>strong{font-size:clamp(11px,3.4vw,13px)}
.service-demo[data-service-enhanced] .service-counter-top{bottom:45px;height:23px;z-index:3}
.service-demo[data-service-enhanced] .service-glass{left:43%;bottom:69px;width:35px;height:54px;z-index:5;transform:none;rotate:-4deg;transform-origin:50% 85%}
.service-demo[data-service-enhanced] .service-glass-two{left:61%;rotate:4deg}
.service-demo[data-service-enhanced] .service-glass b{left:14px;top:30px}
.service-demo[data-service-enhanced] .service-glass i{left:4px;top:15px}
.service-demo[data-service-enhanced] .service-glass:before{width:21px;height:21px;top:-10px;right:-7px}
.service-demo[data-service-enhanced] .service-cancel-stamp{position:absolute;left:59%;bottom:90px;padding:4px 9px;border:2px solid #e9ac8e;background:#3f3029ed;color:#ffe4cc;border-radius:4px;font-size:13px;font-weight:900;line-height:1.35;rotate:-8deg;z-index:7}
.service-demo[data-service-enhanced][data-service-animating=true] :is(.service-actor,.service-glass,.service-scene-ticket,.service-flight){will-change:transform,opacity}
@media(max-width:390px){
  .service-demo[data-service-enhanced] .service-actor--staff{width:104px;left:-5%}
  .service-demo[data-service-enhanced] .service-actor--cast{width:95px;left:22%;bottom:66px}
  .service-demo[data-service-kind=girlsbar] .service-actor--staff{width:117px;left:-3%;bottom:58px}
  .service-demo[data-service-enhanced] .service-speech{font-size:10px;left:10px;padding:6px 9px}
  .service-demo[data-service-enhanced] .service-scene-ticket{right:7px;padding:8px 6px 7px}
  .service-demo[data-service-enhanced] .service-mini-row{font-size:8px}
  .service-demo[data-service-enhanced] .service-extension{width:54px;height:54px;left:28%;top:101px}
  .service-demo[data-service-enhanced] .service-extension>b{font-size:18px}
  .service-demo[data-service-enhanced] .service-guests{left:18%;gap:5px}
  .service-demo[data-service-enhanced] .service-guests>i{width:21px;height:27px}
  .service-demo[data-service-enhanced] .service-guests>i:before{left:4px;width:11px;height:11px}
  .service-demo[data-service-enhanced] .service-glass{left:42%;width:32px;height:52px}
  .service-demo[data-service-enhanced] .service-glass-two{left:60%}
  .service-demo[data-service-enhanced] .service-counter-label{font-size:9px;letter-spacing:1px}
  .service-demo[data-service-enhanced] .service-cast-marker{right:8px;gap:4px}
  .service-demo[data-service-enhanced] .service-cast-marker .cast-portrait{width:28px;height:28px}
  .service-demo[data-service-enhanced] .service-cast-marker small{font-size:7px}
  .service-demo[data-service-enhanced] .service-stage-rail{left:9px;right:9px;gap:4px}
  .service-demo[data-service-enhanced] .service-stage-rail>span{font-size:8px}
}
