/* The root page (four doors) and the Cloud Kingdom page */
.eyebrow{font-weight:700;font-size:.74rem;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);margin-bottom:6px}
.lead{max-width:680px}
.play{font:inherit;font-weight:700;letter-spacing:.04em;padding:10px 22px;border:0;border-radius:999px;color:#fff;cursor:pointer;background:linear-gradient(90deg,#b9a3d9,#e3a6c9);box-shadow:0 8px 20px rgba(169,120,190,.35)}
.play:disabled{opacity:.6;cursor:default}

/* the four doors */
.gate-hero{height:min(62vh,560px)}
.doors{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:-30px;position:relative;z-index:2}
.door{position:relative;display:block;border-radius:22px;overflow:hidden;text-decoration:none;aspect-ratio:16/10;background:#2d2240;box-shadow:0 14px 34px rgba(74,53,96,.25);transition:transform .3s,box-shadow .3s}
.door img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .7s}
.door:hover,.door:focus-visible{transform:translateY(-4px);box-shadow:0 0 0 3px var(--gold),0 18px 40px rgba(74,53,96,.32);outline:none}
.door:hover img{transform:scale(1.05)}
.door .lbl{position:absolute;left:0;right:0;bottom:0;padding:40px 22px 18px;background:linear-gradient(180deg,transparent,rgba(45,34,64,.85));color:#fff}
.door b{display:block;font-family:'Cinzel','GFS Didot',serif;font-size:1.45rem;letter-spacing:.04em}
.door i{font-family:'Cormorant Garamond','GFS Didot',Georgia,serif;font-size:1.1rem;color:#ffe9c4}

/* the Cloud Kingdom */
.ck-hero{position:relative;background:#1c1528;overflow:hidden}
.ck-hero>img{display:block;width:100%;height:auto;max-height:80vh;object-fit:cover}
.ck-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(45,34,64,.25) 0%,rgba(45,34,64,0) 35%,rgba(247,238,246,.55) 85%,#f7eef6 100%);pointer-events:none}
.ck-hero .back{position:absolute;z-index:2;top:16px;left:18px;font-weight:700;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:#fff;text-decoration:none;background:rgba(45,34,64,.45);padding:7px 14px;border-radius:999px}
.ck-hero .back.right{left:auto;right:18px}
.ck-title{position:absolute;z-index:1;left:0;right:0;bottom:8%;text-align:center;padding:0 16px}
.ck-title h1{font-size:clamp(2.2rem,7vw,4.6rem);line-height:1.05;color:var(--dusk);text-shadow:0 0 26px rgba(255,250,245,.95),0 0 8px rgba(255,250,245,.9)}
.ck-title .kicker{color:var(--plum);text-shadow:0 0 12px rgba(255,250,245,.9)}

.ck-about{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:22px;align-items:center}
.ck-about>img{display:block;width:100%;height:auto;border-radius:20px;box-shadow:0 14px 34px rgba(74,53,96,.22)}
.ck-about .card p+p{margin-top:10px}
.ck-head{text-align:center;margin-bottom:18px}
.ck-head .lead{margin:0 auto}

.table-wrap{display:flex;justify-content:center}
.roundtable{width:min(380px,86vw);height:auto;overflow:visible}
.roundtable .seat{fill:#b9a3d9;stroke:#fffaf5;stroke-width:3}
.roundtable .seat.new{fill:#fffaf5;stroke:var(--gold);stroke-width:3;stroke-dasharray:5 4;cursor:pointer}
.roundtable .halo{fill:url(#glow)}
@media (prefers-reduced-motion:no-preference){.roundtable .halo{animation:halo 2.6s ease-in-out infinite}}
@keyframes halo{50%{opacity:.35}}

.qa{max-width:760px;margin:18px auto 0;display:grid;gap:10px}
.qa details{background:rgba(255,250,245,.88);border:1px solid rgba(217,168,91,.35);border-radius:16px;padding:12px 18px;box-shadow:0 6px 18px rgba(74,53,96,.08)}
.qa summary{cursor:pointer;font-family:'Cinzel','GFS Didot',serif;font-weight:700;color:var(--ink);list-style:none}
.qa summary::-webkit-details-marker{display:none}
.qa summary::before{content:"✦";color:var(--gold);margin-right:10px}
.qa details p{margin-top:8px}

.chair{max-width:760px;margin:20px auto 0;padding:20px 22px;border-radius:18px;border:1px dashed rgba(217,168,91,.85);background:linear-gradient(120deg,rgba(233,216,251,.5),rgba(251,215,227,.5))}
.chair h3{margin-bottom:6px}
.chair label{display:block;margin-bottom:10px}
.chair textarea{width:100%;font:inherit;padding:12px 14px;border-radius:14px;border:1px solid rgba(214,180,232,.9);background:#fff;color:var(--ink);resize:vertical}
.chair .hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.chair .note{font-size:.84rem;font-style:italic;margin:6px 0 12px}
.chair .msg{margin-top:10px;font-weight:700;color:var(--plum);min-height:1.3em}

.places{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
@media (max-width:1000px) and (min-width:761px){.places{grid-template-columns:repeat(3,minmax(0,1fr))}}
.pl{position:relative;display:block;border-radius:18px;overflow:hidden;aspect-ratio:4/3;background:#2d2240;text-decoration:none;box-shadow:0 10px 24px rgba(74,53,96,.18)}
.pl img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pl .pn{position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;background:linear-gradient(180deg,transparent,rgba(45,34,64,.88));color:#fff;font-family:'Cinzel','GFS Didot',serif;font-weight:700;font-size:.95rem;line-height:1.25}
.pl .pn small{font-weight:500;font-size:.8em}
.pl .st{position:absolute;top:10px;right:10px;display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;font-weight:700;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase}
.pl.open .st{background:linear-gradient(90deg,#f3d08a,#e9a3c9);color:#fff}
.pl.open:hover,.pl.open:focus-visible{box-shadow:0 0 0 3px var(--gold),0 14px 30px rgba(74,53,96,.3);outline:none}
.pl.locked img{filter:grayscale(1) brightness(.85) contrast(.9)}
.pl.locked .st{background:rgba(45,34,64,.78);color:#f3d08a}
.pl.locked .st::before{content:"";width:11px;height:12px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10V8a5 5 0 0 1 10 0v2' fill='none' stroke='black' stroke-width='2.4'/%3E%3Crect x='5' y='10' width='14' height='11' rx='2.5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10V8a5 5 0 0 1 10 0v2' fill='none' stroke='black' stroke-width='2.4'/%3E%3Crect x='5' y='10' width='14' height='11' rx='2.5'/%3E%3C/svg%3E") center/contain no-repeat}

@media (max-width:760px){
  .doors{grid-template-columns:minmax(0,1fr);margin-top:-16px}
  .ck-about{grid-template-columns:minmax(0,1fr)}
  .ck-hero .back{top:auto;bottom:10px;font-size:.66rem;padding:5px 10px}
  .ck-hero>img{height:min(62vh,440px);object-position:50% 40%}
  .ck-title{bottom:20%}
  .ck-title .kicker{font-size:.6rem;letter-spacing:.14em}
  .places{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .pl .pn{font-size:.8rem;padding:24px 10px 10px}
}
