@import url("shanghai-cruiseport.css?v=20260911b");

.hero>img{object-position:center 48%;filter:saturate(.92)}
.hero::after{background:linear-gradient(90deg,rgba(4,26,38,.88) 0%,rgba(4,26,38,.54) 42%,rgba(4,26,38,.12) 78%)}
.hero-content{max-width:1180px}
.life-text-panel{padding:clamp(34px,5vw,68px);border:1px solid rgba(255,255,255,.18);background:linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.025))}
.life-text-panel>p{max-width:1080px;margin:0;color:rgba(255,255,255,.88);font-size:clamp(17px,1.5vw,21px);line-height:2}
.life-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin-top:40px;background:rgba(215,188,130,.3)}
.life-fact{padding:28px 16px;background:var(--navy);text-align:center}
.life-fact strong{display:block;color:#f0d69d;font-family:CruiseSerif,serif;font-size:clamp(25px,2.7vw,39px);font-weight:500}
.life-fact span{display:block;margin-top:8px;color:#bdcad0;font-size:13px;line-height:1.5}
.overview-layout{grid-template-columns:minmax(360px,.86fr) minmax(470px,1.14fr);align-items:start}
.overview-gallery{display:flex;min-height:0;justify-content:center;align-items:flex-start}
.overview-gallery img{width:72%;max-width:580px;height:auto;object-fit:contain}
.overview-gallery img:first-child{grid-row:auto;object-position:center 46%}
.room-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.room-info-card{position:relative;overflow:hidden;min-height:360px;padding:clamp(30px,4vw,50px);border:1px solid rgba(181,138,43,.24);background:linear-gradient(145deg,#fff 0%,#fbf6ec 100%)}
.room-info-card>img{width:100%;aspect-ratio:16/10;object-fit:cover;margin-bottom:26px}.room-info-card::before{content:"";position:absolute;top:0;right:0;width:135px;height:135px;background:linear-gradient(135deg,transparent 49%,rgba(181,138,43,.1) 50%)}
.room-info-top{display:flex;align-items:flex-end;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid rgba(181,138,43,.27)}
.room-info-top span{color:var(--gold);font-size:13px;letter-spacing:.18em}
.room-info-top strong{color:var(--gold);font-family:CruiseSerif,serif;font-size:clamp(25px,2.8vw,38px);font-weight:500}
.room-info-card h3{margin:28px 0 10px;color:var(--ink);font-family:CruiseSerif,serif;font-size:clamp(27px,2.6vw,37px);font-weight:500}
.room-info-card .room-tagline{margin:0 0 18px;color:#9b7729;font-size:17px;line-height:1.7}
.room-info-card>p:last-child{margin:0;color:#60747e;font-size:15px;line-height:1.9}
.facility-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.service-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-top:20px;background:rgba(181,138,43,.28)}
.service-strip>div{padding:24px;background:var(--cream);text-align:center}
.service-strip strong{display:block;color:var(--gold);font-family:CruiseSerif,serif;font-size:29px;font-weight:500}
.service-strip span{display:block;margin-top:5px;color:var(--muted);font-size:13px}

@media(max-width:1080px){.overview-layout{grid-template-columns:1fr}.overview-gallery{min-height:520px}}
@media(max-width:900px){.life-facts,.room-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.room-info-card{min-height:0}}
@media(max-width:780px){
  .hero>img{object-position:center 48%}
  .life-text-panel{padding:30px 22px}
  .life-facts,.room-info-grid,.facility-grid,.service-strip{grid-template-columns:1fr}
  .overview-gallery{min-height:0}
  .overview-gallery img,.overview-gallery img:first-child{width:82%;height:auto;aspect-ratio:auto;grid-row:auto}
  .room-info-card{padding:30px 24px}
}
