/* The room stays dominant; software is a quiet annotation around its edges. */
.hero:has(.hospitality-visual){grid-template-columns:1.02fr 1fr;gap:64px;padding-bottom:86px}
.hospitality-visual.hero-art{width:100%;max-width:560px;aspect-ratio:1.08;isolation:isolate;padding:0;margin:12px 0 28px;overflow:visible}
.hospitality-photo{position:absolute;inset:0;border:0;border-radius:40% 4px 4px 4px;background:#f3efe8}
.hospitality-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:60% center;border-radius:inherit}
.hospitality-card{position:absolute;z-index:2;background:rgba(255,255,255,.96);border:1px solid rgba(30,25,45,.08);border-radius:14px;box-shadow:0 10px 32px rgba(35,27,20,.08);color:var(--ink);font-size:12px;line-height:1.4;letter-spacing:0}
.booking-card,.assistant-card{backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.hospitality-card p{margin:0;color:inherit;line-height:1.5}
.hospitality-icon{display:inline-flex;flex:none;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;background:#f1e9fc;color:var(--violet)}
.hospitality-icon svg{width:19px;height:19px}
.booking-card{width:250px;top:30px;left:-28px;padding:17px 19px}
.booking-summary{display:flex;gap:13px;align-items:center}
.booking-summary .hospitality-icon{width:40px;height:40px;border-radius:13px}
.booking-count{display:block;font-size:25px;line-height:1.1;font-weight:550;letter-spacing:-.7px}
.booking-label{display:block;margin-top:4px;color:#595361;font-size:12px}
.booking-channels{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #eee9f1;margin-top:15px;padding-top:12px;font-size:10px;font-weight:600;color:#4c4655}
.assistant-card{width:230px;top:54px;right:-20px;padding:17px 16px}
.assistant-message{display:flex;align-items:flex-start;gap:10px}
.notification-label{display:block;font-size:10px;color:#625b6b;margin-bottom:7px}
.assistant-message p{font-size:12px;font-weight:550;white-space:nowrap}
.assistant-card .assistant-status{font-size:10px;color:#625b6b;margin-top:15px;padding-left:44px;white-space:nowrap}
.assistant-status>span{color:var(--violet);margin-right:4px;font-weight:700}
.ecosystem-card{left:-24px;bottom:23px;width:191px;padding:13px 14px;border-radius:16px}
.ecosystem-card ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.ecosystem-card li{display:flex;align-items:center;gap:10px;font-size:11px;color:#514a5c}
.ecosystem-card .hospitality-icon{width:29px;height:29px}
.ecosystem-card svg{width:17px;height:17px}
.hospitality-message{right:8px;bottom:-19px;width:266px;padding:18px 18px 18px 24px;border-radius:5px}
.hospitality-message:before{content:"";position:absolute;left:11px;top:18px;bottom:18px;width:2px;background:var(--violet)}
.hospitality-message>span{display:block;font-size:8px;letter-spacing:.12em;color:#625b6b;margin-bottom:8px}
.hospitality-message>strong{display:block;font-size:13px;line-height:1.5;font-weight:550}
.hospitality-connections{position:absolute;inset:0;width:100%;height:100%;overflow:visible;z-index:1;pointer-events:none;color:var(--violet)}
.hospitality-connections path{stroke:currentColor;stroke-width:1.25;opacity:.28;vector-effect:non-scaling-stroke}
.hospitality-connections circle{fill:currentColor;opacity:.4}
.hospitality-plus{position:absolute;right:17px;top:4px;font-size:18px;font-weight:300;color:#6b6057;opacity:.55}
.hospitality-edge{position:absolute;right:-25px;top:205px;writing-mode:vertical-rl;font-size:7px;letter-spacing:.15em;color:#777078}
.hospitality-caption{position:absolute;left:4px;bottom:-34px;font-size:8px;letter-spacing:.025em;color:#625b6b}
.hero-awaiting .hospitality-photo,.hero-awaiting .hospitality-card,.hero-awaiting .hospitality-connections{opacity:0}
.hero-revealed .hospitality-photo{animation:hero-photo-enter .85s cubic-bezier(.22,1,.36,1) both}
.hero-revealed .hospitality-card{animation:hero-card-enter .85s cubic-bezier(.22,1,.36,1) both}
.hero-revealed .booking-card{animation-delay:.1s}.hero-revealed .assistant-card{animation-delay:.2s}.hero-revealed .ecosystem-card{animation-delay:.3s}.hero-revealed .hospitality-message{animation-delay:.4s}
.hero-revealed .hospitality-connections{animation:hero-lines-enter .9s ease .35s both}
@keyframes hero-photo-enter{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-card-enter{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}
@keyframes hero-lines-enter{from{opacity:0}to{opacity:1}}
@media(min-width:1001px) and (max-width:1200px){.hero:has(.hospitality-visual){gap:42px}.booking-card{width:218px;left:-18px;padding:14px}.assistant-card{width:205px;right:-14px;top:130px;padding:14px 12px}.assistant-message{gap:7px}.assistant-message p{font-size:11px}.assistant-card .assistant-status{padding-left:0}.ecosystem-card{width:172px;padding:12px;bottom:18px}.ecosystem-card ul{gap:7px}.ecosystem-card li{font-size:10px;gap:8px}.hospitality-message{width:225px;right:-7px;bottom:-34px;padding-right:12px}.hospitality-message>span{font-size:7px}.hospitality-message>strong{font-size:12px}}
@media(min-width:601px) and (max-width:1000px){.hero:has(.hospitality-visual){grid-template-columns:1fr;gap:32px;padding-top:42px}.hero:has(.hospitality-visual) .hero-copy{max-width:620px}.hospitality-visual.hero-art{max-width:560px;margin:0 auto 28px}.booking-card{width:230px;left:-12px;padding:15px}.assistant-card{width:214px;right:-10px;padding:15px 13px}.ecosystem-card{width:180px;left:-10px;padding:12px}.ecosystem-card ul{gap:8px}.hospitality-message{right:12px;width:246px}.hospitality-message>span{font-size:7px}}
@media(max-width:600px){.hero:has(.hospitality-visual){grid-template-columns:1fr;gap:28px;padding-bottom:52px}.hospitality-visual.hero-art{aspect-ratio:1 / 1.18;max-width:420px;margin:0 auto 25px;padding:0}.hospitality-photo{border-width:3px}.hospitality-photo img{object-position:57% center}.booking-card{width:202px;top:14px;left:12px;padding:13px 15px}.booking-summary{gap:10px}.booking-summary .hospitality-icon{width:33px;height:33px}.booking-count{font-size:22px}.booking-label{font-size:11px}.booking-channels{margin-top:10px;padding-top:9px;font-size:9px;gap:8px}.assistant-card{width:214px;top:auto;bottom:14px;right:12px;padding:14px}.assistant-message p{font-size:11px}.assistant-card .assistant-status{font-size:9px;margin-top:10px}.hospitality-connections,.ecosystem-card,.hospitality-message,.hospitality-edge,.hospitality-plus{display:none}.hospitality-caption{bottom:-24px;left:3px;font-size:8px}}
@media(min-width:601px) and (max-width:1000px){.hospitality-edge{right:-15px}}
/* Reference composition: a generous architectural curve and inset annotations. */
.hospitality-card{background:rgba(255,253,255,.97);box-shadow:0 8px 28px rgba(35,27,20,.055);border-color:rgba(80,45,110,.045)}
.hospitality-connections{color:#e8d2fa}
.hospitality-connections path{stroke-width:1.3;opacity:.85}
.hospitality-connections circle{opacity:1}
.booking-channels{border-top:0;padding-top:0;gap:10px}
.booking-channels>span:first-child{color:#074184;font-weight:750}
.booking-channels>span:nth-child(2){color:#e74664;font-weight:650}
.booking-channels>span:last-child{color:#68616d;font-weight:650;letter-spacing:.06em}
.hospitality-plus,.hospitality-edge{display:none}
.hospitality-caption{width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:601px){
 .booking-card{width:40%;left:2.3%;top:13.3%;padding:15px;border-radius:14px}
 .booking-summary{gap:10px}.booking-summary .hospitality-icon{width:34px;height:34px}
 .booking-count{font-size:21px}.booking-label{font-size:11px}
 .booking-channels{font-size:9px;margin-top:17px}
 .assistant-card{width:36%;top:13.3%;right:3%;padding:15px 13px;border-radius:14px}
 .assistant-message{gap:9px}.assistant-message .hospitality-icon{width:30px;height:30px}
 .notification-label{font-size:10px}.assistant-message p{font-size:11px;white-space:normal}
 .assistant-card .assistant-status{font-size:9px;padding-left:0;margin-top:15px;text-align:right;white-space:normal}
 .ecosystem-card{width:27%;left:-2.8%;bottom:9.5%;padding:12px;border-radius:20px}
 .ecosystem-card ul{gap:9px}.ecosystem-card li{font-size:10px;gap:8px}
 .ecosystem-card .hospitality-icon{width:25px;height:25px}.ecosystem-card svg{width:16px;height:16px}
 .hospitality-message{width:40%;right:11.7%;bottom:3.7%;padding:16px 12px 16px 25px;border-radius:13px}
 .hospitality-message>span{font-size:6.8px;margin-bottom:6px;letter-spacing:.13em}
 .hospitality-message>strong{font-size:11px}
}
@media(min-width:1001px) and (max-width:1200px){
 .booking-card{padding:12px}.booking-channels{gap:5px;font-size:8px}
 .assistant-card{padding:12px 10px}.assistant-message{gap:6px}.assistant-message .hospitality-icon{width:25px;height:25px}
 .assistant-message p{font-size:10px}.notification-label{font-size:9px}
 .ecosystem-card{width:31%;padding:10px}.ecosystem-card ul{gap:6px}.ecosystem-card li{font-size:9px;gap:5px}
 .hospitality-message{width:44%;right:5%;padding:13px 10px 13px 22px}.hospitality-message>strong{font-size:10px}
}
@media(max-width:600px){.hospitality-photo{border:0;border-top-left-radius:36%}.booking-card{top:12%;left:12px}.hospitality-caption{width:1px}}
/* Supplied OTA artwork, trimmed only to remove transparent outer padding.
   Original span text remains available to assistive technology. */
.booking-channels{display:grid;grid-template-columns:1.4fr 1fr .8fr;gap:12px;align-items:center}
.booking-channels>span{display:block;min-width:0;height:21px;background-repeat:no-repeat;background-position:center;background-size:contain;transform:scale(.8);font-size:0!important;letter-spacing:0!important}
.booking-channels>span:nth-child(1){background-image:url('booking-logo.png')}
.booking-channels>span:nth-child(2){background-image:url('airbnb-logo.png')}
.booking-channels>span:nth-child(3){background-image:url('agoda-logo.png')}
@media(min-width:1001px) and (max-width:1200px){.booking-channels{gap:8px}.booking-channels>span{height:18px}}
@media(max-width:600px){.booking-channels{gap:9px}.booking-channels>span{height:19px}}
@media(prefers-reduced-motion:reduce){.hospitality-visual .hospitality-photo,.hospitality-visual .hospitality-card,.hospitality-visual .hospitality-connections{animation:none!important;opacity:1!important;transform:none!important}}
