/* Photography carries the palette. Keep the space between scenes quiet. */
:root{--photo-ink:#fffdf8;--photo-body:#f1ebe0}
.solutions{background:#f8f7f4;padding-bottom:72px}
.solution-index{background:transparent;border:0;box-shadow:none;padding:0;gap:22px;margin-top:8px;margin-bottom:38px;border-radius:0}
.solution-index a{background:none;padding:8px 0;border-radius:0;border-bottom:1px solid #d5c7b7;font-size:13px}
.solution-index a:hover,.solution-index a:focus-visible{background:transparent;border-color:#6b5440}
.showcase-grid{gap:22px}
.showcase{border:0;color:var(--photo-ink);isolation:isolate;background-size:cover;background-position:center;box-shadow:none}
.showcase:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#1f1a16a1 0%,#1f1a1633 50%,#1f1a1666 100%);opacity:1}
.showcase .showcase-intro,.showcase--hospad .showcase-intro,.showcase--safety .showcase-intro,.showcase--hos-system .showcase-intro{color:var(--photo-body)}
.showcase h3{text-shadow:0 2px 16px #211a1526}
.showcase .product-name{opacity:1;color:#eee3d1;font-weight:400;font-size:13px;letter-spacing:.08em}
.showcase .showcase-detail{background:none;border:0;border-top:1px solid #ffffff73;border-radius:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;padding:0;color:var(--photo-ink)}
.showcase .showcase-detail summary{font-size:13px;padding:16px 0;min-height:55px;text-shadow:0 1px 8px #1c171266}
.showcase .showcase-detail summary span{background:#fff2;border:1px solid #ffffff47;color:#fff}
.showcase .showcase-detail[open]{background:#30291fe8;border:1px solid #ffffff52;border-radius:16px;padding:0 18px;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.showcase .showcase-detail>div p{color:#f4ece0}
.showcase .showcase-foot{padding-bottom:20px}
.showcase--hospad{background-image:url('assets/hotel-lobby.webp');min-height:565px;grid-template-columns:39% 61%}
.showcase--hospad:before{background:linear-gradient(90deg,#191613b3 0%,#211b1666 43%,#211b161a 75%);opacity:1}
.showcase--hospad .showcase-copy{padding-top:90px;padding-bottom:45px}
.showcase--hospad .showcase-media{padding:65px 48px 65px 20px;min-height:565px}
.showcase--hospad .showcase-media img{clip-path:none;filter:drop-shadow(0 18px 26px #15100d55)}
.showcase--hospad .showcase-foot{padding-bottom:44px;padding-right:30px}
.showcase--access{background:#302c28}
.showcase--access:before{display:none}
.showcase--access:after{background:linear-gradient(#201a16a1,transparent 45%,#201a16a1)}
.showcase--miniapp{background-image:url('assets/hotel-suite-scene.jpg');background-position:62% center}
.showcase--miniapp:before{background:linear-gradient(180deg,#211c16a1,#211c1626 55%,#211c168c)}
.showcase--miniapp .showcase-media{padding:26px 53px 20px}
.showcase--miniapp .showcase-media img{filter:drop-shadow(0 10px 18px #211a1566);border-radius:7px}
.showcase--breakfast{background-image:url('assets/hotel-dining-scene.jpg');background-position:56% center}
.showcase--breakfast:before{background:linear-gradient(180deg,#211b16b3,#211b1626 55%,#211b168c)}
.showcase--breakfast .showcase-media{padding:34px 65px}
.showcase--breakfast .showcase-media img{filter:drop-shadow(0 16px 18px #211a155c)}
.showcase--safety{background-image:url('assets/hotel-lobby.webp');background-position:60% 45%}
.showcase--safety:before{background:linear-gradient(180deg,#211b16b3,#211b164d 55%,#211b1680)}
.showcase--safety .showcase-media img{filter:drop-shadow(0 18px 20px #110e0b66)}
.showcase--hos-system{background-image:url('assets/hotel-suite-scene.jpg');background-position:center 50%;min-height:515px}
.showcase--hos-system:before{background:linear-gradient(90deg,#211c16c4,#211c164d 67%,#211c1626)}
.showcase--hos-system .showcase-media{min-height:515px;padding-top:65px;padding-bottom:65px}
.showcase--hos-system .showcase-media img{filter:drop-shadow(0 18px 24px #110e0b66)}
.showcase--hos-system .showcase-foot{padding-right:30px;padding-bottom:44px}
.company-facts{position:relative;isolation:isolate;padding:84px 0;color:var(--photo-ink);background:url('assets/hotel-dining-scene.jpg') center 58%/cover}
.company-facts:before{content:"";position:absolute;inset:0;background:#26221bc4;z-index:-1}
.company-facts .section-intro h2{font-size:28px;font-weight:400}
.facts-grid{border:0;border-radius:0;box-shadow:none;background:transparent;margin-top:40px}
.fact{background:none;min-height:140px}
.fact+.fact{border-color:#ffffff42}
.fact strong{font-size:32px;letter-spacing:0}
.fact p{color:#e5dacb;font-size:13px}
.story{gap:42px;margin:78px auto}
.story-image{border-radius:24px}
.story-image>div{background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;left:16px;right:16px;bottom:18px}
.story-image:after{background:linear-gradient(0deg,#1c1713c4,transparent 70%)}
.story-about{background:transparent;padding:30px 0 32px}
.story-right{gap:0}
.story-about h2{font-size:30px;line-height:1.6;font-weight:400}
.story-about>p:not(.eyebrow){font-size:14px;line-height:2}
.story-cases{position:relative;isolation:isolate;padding:30px 32px;min-height:255px;background:url('assets/hotel-dining-scene.jpg') center/cover}
.story-cases:before{content:"";position:absolute;inset:0;background:#262019ad;z-index:-1}
.contact-content{background:#f8f4e5bd;border:1px solid #ffffff80;box-shadow:none;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}
.site-footer{background:#302b25}
@media(max-width:1050px){
 .showcase--hospad .showcase-foot,.showcase--hos-system .showcase-foot{padding-right:10px}
 .story{gap:28px}
}
@media(max-width:760px){
 .solutions{padding-bottom:45px}.solution-index{gap:6px 16px;margin-bottom:25px}.solution-index a{padding:10px 0;text-align:left}
 .showcase{margin-bottom:18px;min-height:0}
 .showcase h3{text-shadow:0 2px 15px #211a1540}
 .showcase--hospad{background-position:53% center}
 .showcase--hospad:before{background:linear-gradient(180deg,#211b16c4,#211b164d 58%,#211b168c)}
 .showcase--hospad .showcase-copy{padding:30px 25px 0}
 .showcase--hospad .showcase-media{min-height:280px;height:280px;padding:30px 18px}
 .showcase--hospad .showcase-foot,.showcase--hos-system .showcase-foot,.showcase .showcase-foot{padding:0 24px 13px}
 .showcase--access{min-height:515px}.showcase--access .showcase-foot{padding-top:285px}
 .showcase--miniapp .showcase-media{padding:28px 45px 20px}
 .showcase--breakfast .showcase-media{padding:30px 52px}
 .showcase--hos-system{background-position:65% center}.showcase--hos-system:before{background:linear-gradient(180deg,#211b16c4,#211b1673 65%,#211b168c)}
 .showcase--hos-system .showcase-media{min-height:265px;height:265px;padding:30px 18px}
 .company-facts{padding:50px 0;background-position:64% center}.company-facts .section-intro h2{font-size:24px}.facts-grid{margin-top:28px}
 .fact{min-height:0;padding:24px 6px}.fact+.fact{border-color:#ffffff42}.fact strong{font-size:27px}.fact p{font-size:13px}
 .story{margin:45px auto;gap:12px}.story-about{padding:28px 4px 32px}.story-about h2{font-size:27px}.story-cases{padding:28px 24px}
 .story-image>div{padding:22px;left:0;right:0;bottom:8px}
 .contact-content{background:#f8f4e5e0}
}
@media(prefers-reduced-transparency:reduce){.contact-content{background:#f7f2e7}.showcase .showcase-detail[open]{background:#30291f}}

/* One complete product scene per row. */
.showcase-grid{grid-template-columns:minmax(0,1fr);gap:28px}
.showcase-grid>.showcase{grid-column:1}
@media(min-width:761px){
 .showcase--miniapp,.showcase--breakfast,.showcase--safety{display:grid;grid-template-columns:39% 61%;grid-template-rows:1fr auto;min-height:530px}
 .showcase--miniapp .showcase-copy,.showcase--breakfast .showcase-copy,.showcase--safety .showcase-copy{grid-column:1;grid-row:1;padding:70px 0 30px 48px;align-self:center}
 .showcase--miniapp h3,.showcase--breakfast h3,.showcase--safety h3{font-size:34px;max-width:380px;line-height:1.5}
 .showcase--miniapp .showcase-intro,.showcase--breakfast .showcase-intro,.showcase--safety .showcase-intro{font-size:15px}
 .showcase--miniapp .showcase-media,.showcase--breakfast .showcase-media,.showcase--safety .showcase-media{grid-column:2;grid-row:1/3;height:530px;min-height:530px;padding:55px 48px 55px 28px}
 .showcase--miniapp .showcase-media{gap:32px;justify-content:center}
 .showcase--miniapp .showcase-media img{width:auto;max-width:44%;height:100%}
 .showcase--miniapp .showcase-media .companion-screen{height:88%}
 .showcase--miniapp .showcase-foot,.showcase--breakfast .showcase-foot,.showcase--safety .showcase-foot{grid-column:1;grid-row:2;margin:0;padding:0 30px 44px 48px}
 .showcase--miniapp:before,.showcase--safety:before{background:linear-gradient(90deg,#211b16bf,#211b164d 55%,#211b1633)}
 .showcase--breakfast{grid-template-columns:57% 43%;background-position:center 55%}
 .showcase--breakfast .showcase-copy,.showcase--breakfast .showcase-foot{grid-column:2;padding-left:25px;padding-right:48px}
 .showcase--breakfast .showcase-media{grid-column:1;padding:60px 70px}
 .showcase--breakfast:before{background:linear-gradient(270deg,#211b16c4,#211b1666 50%,#211b1626)}
 .showcase--access{display:grid;grid-template-columns:57% 43%;grid-template-rows:1fr auto;min-height:565px}
 .showcase--access .showcase-copy{grid-column:2;grid-row:1;align-self:center;padding:70px 48px 30px 25px}
 .showcase--access h3{font-size:34px;line-height:1.5;max-width:380px}
 .showcase--access .showcase-intro{font-size:15px}
 .showcase--access .showcase-foot{grid-column:2;grid-row:2;margin:0;padding:0 48px 44px 25px}
 .showcase--access .showcase-media img{object-position:center 46%}
 .showcase--access:after{background:linear-gradient(270deg,#201a16c4 0%,#201a1666 40%,transparent 75%)}
}
@media(min-width:761px) and (max-width:1050px){
 .showcase--miniapp h3,.showcase--breakfast h3,.showcase--safety h3,.showcase--access h3{font-size:28px}
 .showcase--miniapp .showcase-copy,.showcase--safety .showcase-copy{padding-left:32px}
 .showcase--miniapp .showcase-foot,.showcase--safety .showcase-foot{padding-left:32px;padding-right:15px}
 .showcase--miniapp .showcase-media{gap:20px;padding-inline:26px}
 .showcase--breakfast .showcase-copy,.showcase--access .showcase-copy,.showcase--breakfast .showcase-foot,.showcase--access .showcase-foot{padding-right:32px}
}
@media(max-width:760px){.showcase-grid{display:grid;gap:20px}.showcase-grid>.showcase{margin-bottom:0}}

/* Immersive scenes: full-width photography with a shared content alignment. */
:root{--scene-height:100vh;--scene-height:max(680px,100svh)}
.solutions{padding-bottom:0}
.solutions>.shell{padding-bottom:10px}
.showcase-grid{display:block}
.showcase-grid>.showcase{display:block;width:100%;min-height:var(--scene-height);margin:0;border:0;border-radius:0;box-shadow:none;scroll-margin-top:-114px}
.scene-inner{width:88%;max-width:1320px;margin-inline:auto;min-height:var(--scene-height);display:grid;grid-template-columns:39% 61%;grid-template-rows:1fr auto}
.showcase .showcase-copy{grid-column:1;grid-row:1;align-self:center;padding:85px 28px 30px 0}
.showcase h3,.showcase--hospad h3,.showcase--hos-system h3{font-size:clamp(30px,2.8vw,42px);line-height:1.45;font-weight:400;max-width:430px;letter-spacing:-.035em}
.showcase .showcase-intro{font-size:15px;line-height:1.9;margin-top:20px}
.showcase .showcase-media{grid-column:2;grid-row:1/3;height:var(--scene-height);min-height:0;padding:95px 0 95px 40px}
.showcase .showcase-media>img{max-height:100%;object-fit:contain}
.showcase .showcase-foot{grid-column:1;grid-row:2;padding:0 28px 64px 0;margin:0}
.showcase--miniapp .showcase-media{gap:36px;padding-block:100px}
.showcase--miniapp .showcase-media img{width:auto;max-width:42%;height:100%;align-self:center}
.showcase--miniapp .showcase-media .companion-screen{height:84%;align-self:flex-end}
.showcase--hospad .showcase-media img{max-height:570px}
.showcase--safety .showcase-media img,.showcase--hos-system .showcase-media img{max-height:510px}
.showcase--breakfast .scene-inner,.showcase--access .scene-inner{grid-template-columns:57% 43%}
.showcase--breakfast .showcase-copy,.showcase--access .showcase-copy{grid-column:2;padding-left:36px;padding-right:0}
.showcase--breakfast .showcase-foot,.showcase--access .showcase-foot{grid-column:2;padding-left:36px;padding-right:0}
.showcase--breakfast .showcase-media{grid-column:1;padding:110px 80px 110px 20px}
.showcase--breakfast .showcase-media img{max-height:470px}
.showcase--access .showcase-media{position:absolute;inset:0;height:100%;min-height:0;padding:0;z-index:0}
.showcase--access .showcase-media img{max-height:none;height:100%;width:100%;object-fit:cover;object-position:center 47%}
.company-facts{padding:90px 0}
.story{width:100%;max-width:none;margin:0;gap:0;min-height:690px}
.story-image,.story-about,.story-cases{border-radius:0}
.story-image{min-height:690px}
.story-right{grid-template-rows:1fr 1fr}
.story-about{padding:62px 12%}
.story-cases{padding:42px 12%}
.story-image>div{left:12%;right:8%;bottom:9%;padding:0}
.story-image h2{font-size:36px;font-weight:400}
.contact{width:100%;max-width:none;min-height:660px;margin:0;border-radius:0;padding:0;isolation:isolate}
.contact-photo{z-index:0}
.contact:after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,transparent 25%,#211a1680 53%,#211a16cc 100%)}
.contact-content{z-index:2;width:38%;max-width:570px;min-height:660px;margin:0 6% 0 auto;padding:80px 0;border:0;border-radius:0;box-shadow:none;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;color:#fffaf0}
.contact h2{font-size:40px;font-weight:400;line-height:1.5}
.contact-content>div:first-child>p:last-child,.contact-methods small{color:#e4d9c8}
.contact-methods,.contact-methods>a,.contact-methods>div{border-color:#ffffff42}
.contact-methods strong{font-weight:400}
@media(min-width:1500px){
 .contact-content{margin-right:max(6%,calc((100% - 1320px)/2))}
}
@media(min-width:761px) and (max-width:1050px){
 .showcase h3,.showcase--hospad h3,.showcase--hos-system h3{font-size:30px}
 .showcase .showcase-copy{padding-top:70px;padding-right:20px}
 .showcase .showcase-media{padding:100px 0 100px 24px}
 .showcase--breakfast .showcase-media{padding:110px 45px 110px 0}
 .showcase--access .showcase-media{padding:0}
 .showcase--access .showcase-copy,.showcase--breakfast .showcase-copy,.showcase--access .showcase-foot,.showcase--breakfast .showcase-foot{padding-left:24px}
 .showcase--miniapp .showcase-media{gap:20px}
 .contact-content{width:42%}.contact h2{font-size:34px}
}
@media(max-width:760px){
 :root{--scene-height:100vh;--scene-height:max(650px,100svh)}
 .showcase-grid{display:block}
 .showcase-grid>.showcase{scroll-margin-top:-90px}
 .solutions>.shell{padding-bottom:8px}
 .scene-inner{display:flex;flex-direction:column;min-height:var(--scene-height);padding:98px 0 24px;width:88%}
 .showcase .showcase-copy,.showcase--access .showcase-copy,.showcase--breakfast .showcase-copy{padding:0;align-self:stretch}
 .showcase h3,.showcase--hospad h3,.showcase--hos-system h3{font-size:28px;line-height:1.5;max-width:none}
 .showcase .showcase-intro{font-size:14px;margin-top:14px}
 .showcase .showcase-media{height:320px;min-height:0;max-height:370px;padding:30px 0;flex:1;align-items:center}
 .showcase .showcase-media>img{height:100%;max-height:310px}
 .showcase .showcase-foot,.showcase--access .showcase-foot,.showcase--breakfast .showcase-foot{padding:0;margin-top:auto}
 .showcase--miniapp .showcase-media{height:355px;padding:27px 8px;gap:20px}
 .showcase--miniapp .showcase-media img{width:44%;max-width:44%;height:100%;max-height:320px;align-self:flex-start}
 .showcase--miniapp .showcase-media .companion-screen{height:88%;align-self:flex-end}
 .showcase--breakfast .showcase-media{padding:36px 30px}
 .showcase--safety .showcase-media,.showcase--hos-system .showcase-media{padding:35px 0}
 .showcase--access .scene-inner{min-height:var(--scene-height)}
 .showcase--access .showcase-media{height:100%;max-height:none;padding:0;flex:none}
 .showcase--access .showcase-media img{height:100%;max-height:none;object-position:35% center}
 .showcase--access:after{background:linear-gradient(#211b16a6,transparent 38%,#211b1673 78%,#211b16ad)}
 .showcase--access .showcase-foot{margin-top:350px}
 .company-facts{padding:55px 0}
 .story{width:100%;margin:0;gap:0}.story-image{min-height:520px}.story-image>div{left:6%;right:6%;bottom:8%}
 .story-image h2{font-size:30px}.story-right{grid-template-rows:auto auto}
 .story-about{padding:48px 6%}.story-cases{padding:42px 6%;min-height:300px}
 .contact{min-height:740px;padding:300px 0 0}.contact-photo img{object-position:28% center}
 .contact:after{background:linear-gradient(transparent 10%,#211a1659 35%,#211a16eb 66%)}
 .contact-content{width:88%;max-width:none;min-height:0;margin:0 auto;padding:35px 0 48px;background:none;border-radius:0}
 .contact h2{font-size:30px}
}
@media(prefers-reduced-transparency:reduce){.contact-content{background:none}}
