
html,body{margin:0;background:#f5efe5}
.page{position:relative;max-width:1200px;margin:0 auto}
.page img{display:block;width:100%;height:auto}
.hotspot{position:absolute;display:block;background:transparent;border:0;cursor:pointer}

body{font-family:Georgia,'Times New Roman',serif;color:#402a3b}
.topbar{max-width:1200px;margin:0 auto;padding:14px 18px;display:flex;justify-content:space-between;gap:20px}
.topbar a{color:#6a355a;text-decoration:none}
.gridwrap,.book,.designview{max-width:1180px;margin:0 auto;padding:18px}
.designgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:22px}
.designcard{display:block;text-decoration:none;color:inherit;background:#fffaf2;border:1px solid #ded2c5;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(55,38,44,.08)}
.designcard img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:top;display:block}
.designcard div{padding:14px 16px}.designcard strong{font-size:1.15rem}
.guideimg{display:block;max-width:100%;height:auto;margin:0 auto;border-radius:12px}
.helpbox{background:#fffaf2;border:1px solid #ded2c5;border-radius:18px;padding:20px;margin:24px auto;max-width:950px}
.helpgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.helpbtn{display:block;text-align:center;text-decoration:none;padding:16px 12px;border:1px solid #aa8da1;border-radius:14px;color:#542d4b;background:#fbf4ed;font-weight:700}
.helpbtn small{display:block;font-weight:400;margin-top:6px;line-height:1.3}
@media(max-width:700px){.helpgrid{grid-template-columns:1fr}.topbar{font-size:.9rem}}
.choice{display:flex;gap:20px;align-items:flex-start;flex-wrap:wrap}.choice img{max-width:320px;width:100%}

.room-page{min-height:100vh;background:#f8f1e7;color:#3e2c38;font-family:Georgia,'Times New Roman',serif}
.room-shell{max-width:980px;margin:0 auto;padding:28px 22px 54px}
.room-back{display:inline-block;margin-bottom:24px;color:#6b3558;text-decoration:none}
.room-hero{position:relative;overflow:hidden;border:1px solid #ddcec4;border-radius:26px;padding:58px 40px 48px;background:#fffaf3;box-shadow:0 12px 35px rgba(70,48,58,.08)}
.room-hero:before,.room-hero:after{content:"";position:absolute;border-radius:50%;filter:blur(2px);opacity:.65;pointer-events:none}
.room-lavender .room-hero:before{width:420px;height:250px;left:-120px;top:-70px;background:radial-gradient(circle at center,rgba(178,158,203,.48),rgba(178,158,203,0))}
.room-lavender .room-hero:after{width:390px;height:240px;right:-110px;bottom:-70px;background:radial-gradient(circle at center,rgba(216,205,231,.62),rgba(216,205,231,0))}
.room-blush .room-hero:before{width:420px;height:250px;left:-120px;top:-70px;background:radial-gradient(circle at center,rgba(227,178,188,.48),rgba(227,178,188,0))}
.room-blush .room-hero:after{width:390px;height:240px;right:-110px;bottom:-70px;background:radial-gradient(circle at center,rgba(245,218,213,.7),rgba(245,218,213,0))}
.room-kicker{letter-spacing:.16em;text-transform:uppercase;font-size:.8rem;color:#7a5b6c}
.room-title{font-size:clamp(3rem,8vw,6rem);line-height:.95;margin:12px 0 8px;color:#5d3150;font-weight:400}
.room-subtitle{font-size:1.35rem;font-style:italic;margin:0 0 32px;color:#76556b}
.room-copy{font-size:1.1rem;line-height:1.7;max-width:720px}
.room-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin-top:32px;padding-top:28px;border-top:1px solid #dfd2c9}
.room-fact{padding:12px 0}
.room-fact strong{display:block;color:#61364f;margin-bottom:4px}
.room-note{margin-top:28px;font-style:italic;color:#6e5b63}
.room-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px}
.room-links a{border:1px solid #bda8b3;border-radius:999px;padding:10px 15px;text-decoration:none;color:#5d3150;background:#fffaf4}
@media(max-width:650px){.room-hero{padding:42px 25px 34px}.room-facts{grid-template-columns:1fr}}

/* Blackstone functional-page visual integration */
body{
  background:
    radial-gradient(circle at 8% 10%, rgba(191,161,182,.18) 0 9%, transparent 23%),
    radial-gradient(circle at 92% 17%, rgba(205,184,203,.20) 0 8%, transparent 22%),
    radial-gradient(circle at 15% 88%, rgba(226,211,194,.28) 0 11%, transparent 25%),
    linear-gradient(180deg,#fbf6ee 0%,#f7efe5 52%,#fbf6ee 100%);
  color:#49343f;
}
.gridwrap,.book,.designview{
  max-width:1180px;
  margin:0 auto;
  padding:34px 22px 54px;
}
.gridwrap h1,.book h1,.designview h1{
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  color:#643a56;
  letter-spacing:.01em;
}
.gridwrap>p{
  max-width:760px;
  font-size:1.08rem;
  line-height:1.6;
  color:#68545f;
}
.topbar{
  max-width:none;
  padding:14px 22px;
  border-bottom:1px solid rgba(110,77,96,.18);
  background:rgba(251,246,238,.88);
  backdrop-filter:blur(8px);
}
.designgrid{gap:24px;margin-top:28px}
.designcard{
  background:rgba(255,252,247,.94);
  border:1px solid #dbcfc3;
  border-radius:22px;
  box-shadow:0 12px 30px rgba(83,57,71,.10);
  transform:translateY(0);
  transition:transform .18s ease,box-shadow .18s ease;
}
.designcard:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(83,57,71,.14)}
.designcard img{
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:top;
  background:#f8f1e8;
}
.designcard div{padding:17px 18px 19px}
.designcard strong{
  display:block;
  font-family:Georgia,'Times New Roman',serif;
  font-weight:400;
  font-size:1.22rem;
  color:#5f3552;
}
.designcard p{margin:7px 0 0;color:#77626d;line-height:1.45;font-size:.95rem}
.guideimg{
  background:#fffaf4;
  padding:8px;
  border:1px solid #d9cdc2;
  box-shadow:0 12px 30px rgba(83,57,71,.09);
}
.helpbox,.summary{
  background:rgba(255,252,247,.94);
  border:1px solid #dacdc2;
  box-shadow:0 12px 30px rgba(83,57,71,.08);
}
.helpbox h2,.summary h2{font-weight:400;color:#643a56}
.helpbtn{
  background:linear-gradient(180deg,#fffaf4,#f7eee6);
  border:1px solid #b99eae;
  color:#603a54;
}
.helpbtn:hover{background:#f4e9e0}
.squarebtn{
  display:inline-block;
  margin-top:14px;
  padding:13px 18px;
  border-radius:999px;
  background:#633a55;
  color:white;
  text-decoration:none;
}
.session{margin-top:24px}
.note{color:#735e69;line-height:1.5}
.choice{
  background:rgba(255,252,247,.78);
  border:1px solid #dfd3c8;
  border-radius:20px;
  padding:18px;
}
