.rooms-root{--cyan:#46f0e6;--cyan-soft:#8ff7ef;--ink:#0c0330;--ink-2:#160a3a;--pink:#ff4fa3;--paper:#fdf3ff;--paper-warm:#f8efe1;--paper-cream:#f0e6d2;--terracotta:#c97b58;--terracotta-soft:#d99476;--olive:#5b6b3a;--board:#1b0c4a;font-family:VT323,monospace;color:#fff;background:#160a3a;-webkit-font-smoothing:antialiased;min-height:100svh;overflow-x:hidden;position:relative}.rooms-root *,.rooms-root :after,.rooms-root :before{box-sizing:border-box}body:has(>.rooms-root):before{display:none}.rooms-root .rooms-bg{position:fixed;inset:0;z-index:0;background:radial-gradient(ellipse 70% 50% at 50% 0,rgba(255,79,163,.16) 0,transparent 60%),radial-gradient(ellipse 60% 40% at 50% 100%,rgba(70,240,230,.12) 0,transparent 65%),linear-gradient(180deg,#0c0330,#160a3a 35%,#1b0c4a 65%,#0e052e)}.rooms-root .rooms-scanlines{position:fixed;inset:0;z-index:40;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.22) 0 1px,transparent 1px 3px);mix-blend-mode:multiply;opacity:.4}.rooms-root .rooms-grain{position:fixed;inset:-50%;z-index:41;pointer-events:none;opacity:.04;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='120' height='120'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");animation:rooms-grain .6s steps(3) infinite}@keyframes rooms-grain{0%{transform:translate(0)}33%{transform:translate(-6%,4%)}66%{transform:translate(4%,-5%)}to{transform:translate(-3%,2%)}}.rooms-root .rooms-vignette{position:fixed;inset:0;z-index:39;pointer-events:none;box-shadow:inset 0 0 220px 40px rgba(8,1,28,.65)}.rooms-root .rooms-page{position:relative;z-index:10;min-height:100svh;display:flex;flex-direction:column;padding:clamp(14px,2.5vw,28px) clamp(16px,4vw,60px) clamp(20px,3vw,40px);max-width:1280px;margin:0 auto}.rooms-root .rooms-topbar{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.rooms-root .rooms-pill{font-family:VT323,monospace;font-size:clamp(12px,1.1vw,16px);letter-spacing:.18em;color:var(--cyan-soft);text-transform:uppercase;border:1.5px solid var(--cyan);border-radius:6px;padding:.28em .7em .18em;background:rgba(8,2,30,.28);box-shadow:0 0 14px rgba(70,240,230,.35),inset 0 0 10px rgba(70,240,230,.12);white-space:nowrap}.rooms-root .rooms-brand{text-align:center;line-height:1;margin-top:-2px}.rooms-root .rooms-brand .mates,.rooms-root .rooms-brand .sol{display:block;font-family:Bungee,sans-serif;font-weight:400;font-size:clamp(18px,2.4vw,30px);color:#fff;letter-spacing:.04em;text-shadow:0 0 14px rgba(70,240,230,.35),0 2px 0 rgba(0,0,0,.35)}.rooms-root .rooms-brand .presents{display:block;font-family:Press Start\ 2P,monospace;font-size:clamp(6px,.7vw,9px);color:var(--cyan);letter-spacing:.42em;margin-top:.6em;text-indent:.42em;text-shadow:0 0 10px rgba(70,240,230,.6)}.rooms-root .rooms-back{margin-top:clamp(14px,2.2vh,26px)}.rooms-root .rooms-back a{font-family:VT323,monospace;font-size:clamp(12px,1.1vw,15px);letter-spacing:.18em;text-transform:uppercase;color:var(--cyan-soft);text-decoration:none;border-bottom:1px dotted rgba(143,247,239,.4);padding-bottom:2px;transition:color .18s ease,border-color .18s ease}.rooms-root .rooms-back a:hover{color:var(--cyan);border-bottom-color:var(--cyan)}.rooms-root .rooms-hero{margin-top:clamp(18px,3.5vh,38px);display:grid;gap:clamp(18px,3vw,40px)}@media (min-width:880px){.rooms-root .rooms-hero{grid-template-columns:1.1fr 1fr;align-items:start}.rooms-root .rooms-h1{grid-column:1/-1}}.rooms-root .rooms-h1{margin:0;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.5em}.rooms-root .rooms-h1-eyebrow{font-family:Press Start\ 2P,monospace;font-size:clamp(7px,.8vw,10px);color:var(--cyan);letter-spacing:.42em;text-transform:uppercase;text-shadow:0 0 10px rgba(70,240,230,.55)}.rooms-root .rooms-h1-main{font-family:Bungee,sans-serif;font-weight:400;font-size:clamp(28px,4.2vw,56px);color:#fff;letter-spacing:.03em;line-height:1;text-shadow:0 0 18px rgba(255,79,163,.4),0 2px 0 rgba(0,0,0,.35)}.rooms-root .rooms-hotel-photo{margin:0;position:relative;border:solid var(--paper-warm);border-width:8px 8px 28px;background:var(--paper-warm);box-shadow:0 30px 60px -22px rgba(0,0,0,.7),0 0 0 1px hsla(0,0%,100%,.06),0 0 32px rgba(70,240,230,.15);transform:rotate(-1.2deg);transition:transform .4s ease}.rooms-root .rooms-hotel-photo:hover{transform:rotate(0deg) scale(1.005)}.rooms-root .rooms-hotel-photo img{display:block;width:100%;height:auto;aspect-ratio:16/9;-o-object-fit:cover;object-fit:cover}.rooms-root .rooms-hotel-caption{position:absolute;left:0;right:0;bottom:-22px;text-align:center;font-family:VT323,monospace;font-size:clamp(11px,1vw,14px);color:#2a1a4a;letter-spacing:.18em;text-transform:uppercase}.rooms-root .rooms-hotel-copy{display:flex;flex-direction:column;gap:.9em}.rooms-root .rooms-h2{margin:0;font-family:Bungee,sans-serif;font-weight:400;font-size:clamp(20px,2.6vw,32px);color:#fff;letter-spacing:.03em;line-height:1.02;text-shadow:0 0 14px rgba(70,240,230,.3),0 2px 0 rgba(0,0,0,.3)}.rooms-root .rooms-lede{margin:0;font-size:clamp(15px,1.6vw,21px);line-height:1.4;letter-spacing:.015em;color:var(--cyan-soft);text-shadow:0 1px 6px rgba(8,1,28,.7)}.rooms-root .rooms-lede:before{content:"> ";color:var(--cyan)}.rooms-root .rooms-aside{margin:0;font-size:clamp(13px,1.4vw,18px);line-height:1.35;letter-spacing:.04em;color:#efe6ff;font-style:italic;opacity:.85}.rooms-root .rooms-practical{margin-top:.4em;padding:clamp(12px,1.6vw,18px) clamp(14px,2vw,22px);background:rgba(8,2,30,.5);border:1.5px solid rgba(70,240,230,.3);border-radius:8px;box-shadow:0 0 18px rgba(70,240,230,.12),inset 0 0 10px rgba(70,240,230,.06)}.rooms-root .rooms-practical ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.28em}.rooms-root .rooms-practical li{position:relative;padding-left:1em;font-size:clamp(13px,1.25vw,16px);color:#efe6ff;letter-spacing:.04em}.rooms-root .rooms-practical li:before{content:"·";position:absolute;left:0;top:-.1em;color:var(--pink);font-size:1.6em;line-height:1;text-shadow:0 0 8px rgba(255,79,163,.7)}.rooms-root .rooms-list{margin-top:clamp(40px,6vh,72px)}.rooms-root .rooms-list-head{text-align:center;margin-bottom:clamp(20px,3.5vh,40px)}.rooms-root .rooms-sub{margin:.55em auto 0;max-width:56ch;font-size:clamp(13px,1.3vw,17px);color:#d7caf6;letter-spacing:.04em;line-height:1.35}.rooms-root .rooms-grid{display:grid;gap:clamp(28px,4.5vw,64px)}.rooms-root .room-card{position:relative;background:var(--paper-warm);border-radius:4px;display:grid;gap:0;box-shadow:0 28px 60px -22px rgba(0,0,0,.75),0 0 0 1px hsla(0,0%,100%,.05),0 0 0 8px var(--paper-warm),0 0 36px rgba(70,240,230,.16);transform:rotate(-.6deg);transition:transform .5s ease,box-shadow .5s ease;overflow:visible}.rooms-root .room-card:nth-child(2n){transform:rotate(.7deg)}.rooms-root .room-card:hover{transform:rotate(0) translateY(-2px);box-shadow:0 36px 70px -22px rgba(0,0,0,.78),0 0 0 1px hsla(0,0%,100%,.07),0 0 0 8px var(--paper-warm),0 0 48px rgba(255,79,163,.25)}@media (min-width:880px){.rooms-root .room-card{grid-template-columns:1.2fr 1fr;gap:0}.rooms-root .room-card.flip .room-card-photo{order:2}.rooms-root .room-card.flip .room-card-body{order:1}}.rooms-root .room-card-photo{position:relative;background:var(--paper-cream);padding:clamp(10px,1.4vw,16px);display:flex;flex-direction:column;gap:clamp(8px,1vw,12px)}.rooms-root .polaroid-tape{position:absolute;top:-10px;left:50%;transform:translateX(-50%) rotate(-3deg);width:clamp(70px,10vw,110px);height:20px;background:linear-gradient(180deg,rgba(70,240,230,.35),rgba(70,240,230,.55));border:1px solid rgba(70,240,230,.55);box-shadow:0 4px 10px rgba(0,0,0,.25),0 0 12px rgba(70,240,230,.35);z-index:2;pointer-events:none}.rooms-root .room-card:nth-child(2n) .polaroid-tape{background:linear-gradient(180deg,rgba(255,79,163,.35),rgba(255,79,163,.55));border-color:rgba(255,79,163,.55);box-shadow:0 4px 10px rgba(0,0,0,.25),0 0 12px rgba(255,79,163,.4);transform:translateX(-50%) rotate(2.5deg)}.rooms-root .rooms-hero-tape{background:linear-gradient(180deg,rgba(255,79,163,.4),rgba(255,79,163,.6));border-color:rgba(255,79,163,.6);box-shadow:0 4px 10px rgba(0,0,0,.25),0 0 14px rgba(255,79,163,.45);transform:translateX(-50%) rotate(-2deg);z-index:3}.rooms-root .room-card-photo>img{display:block;width:100%;aspect-ratio:3/2;-o-object-fit:cover;object-fit:cover;border-radius:2px;box-shadow:0 8px 24px -10px rgba(0,0,0,.45)}.rooms-root .room-card-gallery{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(6px,.9vw,10px)}.rooms-root .room-card-gallery li{margin:0}.rooms-root .room-card-gallery img{display:block;width:100%;aspect-ratio:3/2;-o-object-fit:cover;object-fit:cover;border-radius:2px;box-shadow:0 4px 14px -6px rgba(0,0,0,.4)}.rooms-root .room-card-body{background:var(--paper-warm);color:#1a0a3a;padding:clamp(20px,2.4vw,32px) clamp(20px,2.4vw,32px) clamp(22px,2.6vw,34px);display:flex;flex-direction:column;gap:clamp(12px,1.6vw,18px);font-family:VT323,monospace}.rooms-root .room-card-head{display:flex;flex-direction:column;gap:.55em}.rooms-root .room-card-name{margin:0;font-family:Bungee,sans-serif;font-weight:400;font-size:clamp(18px,2vw,26px);letter-spacing:.025em;line-height:1.08;color:#1a0a3a}.rooms-root .room-card-meta{display:flex;flex-wrap:wrap;gap:8px}.rooms-root .meta-pill{font-family:VT323,monospace;font-size:clamp(11px,1vw,14px);letter-spacing:.18em;text-transform:uppercase;color:#2a1a4a;background:#fff;border:1.5px solid #1a0a3a;border-radius:4px;padding:.2em .7em .08em}.rooms-root .meta-pill.stock{background:rgba(70,240,230,.15);border-color:rgba(20,100,95,.55);color:#07473f}.rooms-root .meta-pill.stock.sold-out{background:rgba(255,79,163,.15);border-color:rgba(160,25,90,.55);color:#6c0a3a}.rooms-root .room-card-blurb{margin:0;font-size:clamp(14px,1.4vw,18px);line-height:1.4;letter-spacing:.02em;color:#2a1a4a}.rooms-root .room-card-foot{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding-top:clamp(12px,1.6vw,18px);border-top:1.5px dashed rgba(26,10,58,.2)}.rooms-root .room-card-price{display:flex;flex-direction:column;gap:.15em}.rooms-root .price-amount{font-family:Press Start\ 2P,monospace;font-size:clamp(14px,1.7vw,22px);color:#1a0a3a;line-height:1;text-shadow:0 1px 0 hsla(0,0%,100%,.4)}.rooms-root .price-cap{font-size:clamp(11px,1vw,14px);color:#5a4a82}.rooms-root .price-cap,.rooms-root .room-cta{letter-spacing:.16em;text-transform:uppercase}.rooms-root .room-cta{display:inline-block;text-decoration:none;font-family:VT323,monospace;font-size:clamp(14px,1.5vw,18px);color:var(--ink);background:var(--cyan);border:2px solid var(--cyan);padding:.42em 1.2em .32em;border-radius:6px;box-shadow:0 0 0 3px rgba(70,240,230,.22),0 0 22px rgba(70,240,230,.55);transition:transform .12s ease,box-shadow .2s ease,background .2s ease,color .2s ease}.rooms-root .room-cta:hover{transform:translateY(-2px) scale(1.02);background:transparent;color:#07473f;box-shadow:0 0 0 3px rgba(70,240,230,.16),0 0 32px rgba(70,240,230,.8)}.rooms-root .room-cta:active{transform:translateY(0) scale(.99)}.rooms-root .room-cta:focus-visible{outline:2px solid var(--pink);outline-offset:3px}.rooms-root .rooms-fineprint{margin:clamp(28px,4vh,48px) auto 0;max-width:56ch;text-align:center;font-size:clamp(12px,1.2vw,16px);color:#cbb9f3;letter-spacing:.05em;line-height:1.4;font-style:italic}.rooms-root .rooms-foot{margin-top:clamp(40px,6vh,70px);display:flex;align-items:center;justify-content:space-between;gap:14px;border-top:1px solid rgba(143,247,239,.25);padding-top:14px;flex-wrap:wrap}.rooms-root .rooms-foot .panic{font-family:Press Start\ 2P,monospace;font-size:clamp(8px,.85vw,10px);color:var(--pink);letter-spacing:.18em;text-shadow:0 0 12px rgba(255,79,163,.8)}.rooms-root .rooms-foot .meta{font-size:clamp(11px,1.1vw,14px);letter-spacing:.22em;color:#cdbcf2;text-transform:uppercase;opacity:.85}@media (max-width:879px){.rooms-root .room-card-photo{padding-top:clamp(20px,4vw,28px)}.rooms-root .room-card-photo>img,.rooms-root .rooms-hotel-photo img{aspect-ratio:4/3}}@media (max-width:560px){.rooms-root .rooms-brand .presents{letter-spacing:.3em}.rooms-root .rooms-foot{justify-content:center;text-align:center}.rooms-root .room-card-meta{gap:6px}.rooms-root .room-card-foot{flex-direction:column;align-items:flex-start;gap:10px}.rooms-root .room-cta{align-self:stretch;text-align:center}}@media (prefers-reduced-motion:reduce){.rooms-root *{animation:none!important;transition:none!important}.rooms-root .room-card,.rooms-root .rooms-hotel-photo{transform:none}}