/* ============================================================
   CAMERE PAGE — luxury listing layout
   ============================================================ */

.camere-page .page-bg{background:var(--ink)}

/* ---- Side rail ---- */
.cr-rail{
  position:fixed;left:0;top:50%;transform:translateY(-50%);z-index:55;
  display:flex;flex-direction:column;align-items:center;gap:18px;
  padding:18px 10px;background:color-mix(in srgb,var(--ink) 88%,transparent);
  border-right:1px solid rgba(246,241,232,.08);
  backdrop-filter:blur(10px);
}
.cr-rail a{
  width:34px;height:34px;border-radius:50%;border:1px solid rgba(246,241,232,.18);
  display:grid;place-items:center;color:var(--paper);transition:.25s;
}
.cr-rail a:hover{background:var(--gold);border-color:var(--gold);color:#1a1d23}
.cr-rail svg{width:15px;height:15px;fill:currentColor}
.cr-rail a.cr-rail-book{
  width:auto;height:auto;min-height:0;border-radius:0;border:none;background:none;
  display:block;padding:18px 6px 10px;margin-top:8px;
  border-top:1px solid rgba(246,241,232,.14);
  writing-mode:vertical-rl;text-orientation:mixed;
  font-size:.58rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-2);white-space:nowrap;line-height:1;
  transform:none;
}
.cr-rail a.cr-rail-book:hover{background:none;border-color:transparent;color:#fff}
@media(max-width:900px){.cr-rail{display:none}}

/* ---- Hero ---- */
.cr-hero{
  position:relative;min-height:100svh;display:flex;align-items:center;
  overflow:hidden;color:#fff;isolation:isolate;
}
.cr-hero-bg{position:absolute;inset:0;z-index:0}
.cr-hero-bg img{width:100%;height:100%;object-fit:cover}
.cr-hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(105deg,rgba(14,16,20,.82) 0%,rgba(14,16,20,.55) 42%,rgba(14,16,20,.25) 100%);
}
.cr-hero .wrap{
  position:relative;z-index:2;width:100%;
  padding-top:calc(var(--nav-h) + 32px);padding-bottom:80px;
  max-width:640px;margin-inline:0;padding-inline:clamp(24px,5vw,80px);
  padding-left:clamp(56px,6vw,96px);
}
.cr-hero .eyebrow{color:var(--gold-2);margin-bottom:18px}
.cr-hero h1{
  font-size:clamp(2.6rem,6.5vw,5.2rem);color:#fff;line-height:1.02;
  text-transform:uppercase;letter-spacing:.04em;max-width:14ch;
}
.cr-hero h1 em{font-style:italic;font-weight:500;color:var(--gold-2)}
.cr-hero .lead{
  color:rgba(246,241,232,.88);margin-top:22px;max-width:46ch;font-size:clamp(.98rem,1.3vw,1.12rem);
}
.cr-hero .btn{margin-top:32px}
@media(prefers-reduced-motion:no-preference){
  .cr-hero-bg img{animation:kenburns 24s ease-out both}
  .cr-hero .wrap > *{opacity:0;animation:rise 1s cubic-bezier(.2,.7,.2,1) forwards}
  .cr-hero .wrap > .eyebrow{animation-delay:.35s}
  .cr-hero .wrap > h1{animation-delay:.55s}
  .cr-hero .wrap > .lead{animation-delay:.75s}
  .cr-hero .wrap > .btn{animation-delay:.95s}
}

/* ---- Info bar ---- */
.cr-infobar{display:grid;grid-template-columns:repeat(3,1fr);position:relative;z-index:3}
.cr-info{
  display:flex;align-items:flex-start;gap:16px;padding:clamp(22px,3vw,32px) clamp(20px,3vw,36px);
  color:var(--paper);border-right:1px solid rgba(255,255,255,.06);
}
.cr-info:last-child{border-right:none}
.cr-info:nth-child(1){background:#12151a}
.cr-info:nth-child(2){background:#181c23}
.cr-info:nth-child(3){background:#1d222a}
.cr-info-ic{
  width:44px;height:44px;border-radius:50%;flex:none;
  border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);
  display:grid;place-items:center;color:var(--gold);
}
.cr-info-ic svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4}
.cr-info-lbl{font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;opacity:.55;margin-bottom:5px}
.cr-info-val{font-family:var(--display);font-size:clamp(1.05rem,1.6vw,1.28rem);font-weight:600;line-height:1.25}
.cr-info-sub{font-size:.78rem;opacity:.62;margin-top:4px}
@media(max-width:760px){
  .cr-infobar{grid-template-columns:1fr}
  .cr-info{border-right:none;border-bottom:1px solid rgba(255,255,255,.06)}
}

/* ---- Rooms section ---- */
.cr-rooms{
  position:relative;padding:clamp(64px,8vw,100px) 0 clamp(72px,9vw,110px);
  overflow:hidden;color:#fff;
}
.cr-rooms-bg{position:absolute;inset:0;z-index:0}
.cr-rooms-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.35) saturate(.85)}
.cr-rooms-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(14,16,20,.75),rgba(14,16,20,.88));
}
.cr-rooms .wrap{position:relative;z-index:2}
.cr-rooms-head{text-align:center;margin-bottom:clamp(36px,5vw,56px)}
.cr-rooms-head h2{font-size:clamp(2.4rem,5vw,3.8rem);color:#fff;text-transform:uppercase;letter-spacing:.06em}
.cr-rooms-head p{opacity:.72;margin-top:12px;max-width:52ch;margin-inline:auto}

.cr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(16px,2vw,24px)}
.cr-card{
  display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;
  background:rgba(22,25,31,.55);backdrop-filter:blur(12px);
  border:1px solid rgba(246,241,232,.08);
  transition:transform .4s cubic-bezier(.2,.7,.2,1),box-shadow .4s,border-color .4s;
}
.cr-card:hover{
  transform:translateY(-8px);
  box-shadow:0 28px 60px -20px rgba(0,0,0,.55);
  border-color:color-mix(in srgb,var(--gold) 35%,transparent);
}
.cr-card-media{position:relative;aspect-ratio:4/3;overflow:hidden}
.cr-card-media img{width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.7,.2,1)}
.cr-card:hover .cr-card-media img{transform:scale(1.06)}
.cr-card-media a{display:block;height:100%}
.cr-badge{
  position:absolute;top:14px;right:0;z-index:2;
  background:var(--gold);color:#1a1d23;
  font-size:.58rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;
  padding:7px 14px 7px 18px;
  clip-path:polygon(8px 0,100% 0,100% 100%,8px 100%,0 50%);
}
.cr-specbar{
  position:absolute;bottom:0;left:0;right:0;z-index:2;
  display:flex;gap:16px;padding:10px 14px;
  background:linear-gradient(180deg,transparent,rgba(10,12,16,.88));
  font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
}
.cr-specbar span{display:inline-flex;align-items:center;gap:6px;opacity:.92}
.cr-specbar svg{width:14px;height:14px;stroke:var(--gold-2);fill:none;stroke-width:1.4;flex:none}

.cr-card-body{
  padding:clamp(18px,2.5vw,24px) clamp(18px,2.5vw,26px) clamp(22px,3vw,28px);
  flex:1;display:flex;flex-direction:column;
  background:linear-gradient(180deg,rgba(14,16,20,.4),rgba(14,16,20,.72));
}
.cr-card-body .rk{font-size:.6rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-2);margin-bottom:6px}
.cr-card-body h3{font-size:clamp(1.05rem,1.5vw,1.25rem);color:#fff;letter-spacing:.12em;text-transform:uppercase;line-height:1.15}
.cr-card-body h3 a{color:inherit;transition:color .25s}
.cr-card-body h3 a:hover{color:var(--gold-2)}
.cr-card-body p{
  font-size:.84rem;line-height:1.62;opacity:.72;margin-top:10px;flex:1;
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}
.cr-card-link{
  display:inline-flex;align-items:center;gap:8px;margin-top:16px;
  font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--gold-2);transition:gap .25s,color .25s;
}
.cr-card-link:hover{color:#fff;gap:12px}
.cr-card-link .ar{font-size:1.1em}

@media(max-width:980px){.cr-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:580px){.cr-grid{grid-template-columns:1fr}.cr-hero .wrap{padding-left:var(--pad)}}

/* ---- Testimonials ---- */
.cr-quote{
  position:relative;padding:clamp(72px,9vw,110px) 0;text-align:center;color:#fff;overflow:hidden;
}
.cr-quote-bg{position:absolute;inset:0;z-index:0}
.cr-quote-bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.32)}
.cr-quote-bg::after{content:"";position:absolute;inset:0;background:rgba(14,16,20,.55)}
.cr-quote .wrap{position:relative;z-index:2;max-width:820px}
.cr-quote-mark{font-family:var(--display);font-size:clamp(4rem,10vw,7rem);line-height:.6;color:var(--gold);opacity:.85;margin-bottom:24px}
.cr-quote-slides{position:relative;min-height:180px}
.cr-quote-slide{
  position:absolute;inset:0;opacity:0;transform:translateY(16px);
  transition:opacity .55s,transform .55s;pointer-events:none;
}
.cr-quote-slide.on{opacity:1;transform:none;pointer-events:auto;position:relative}
.cr-quote-slide blockquote{
  font-family:var(--display);font-style:italic;font-size:clamp(1.35rem,2.8vw,2.1rem);
  line-height:1.42;color:var(--paper);
}
.cr-quote-slide cite{
  display:block;margin-top:22px;font-style:normal;
  font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-2);
}
.cr-quote-dots{display:flex;justify-content:center;gap:8px;margin-top:32px}
.cr-quote-dots button{
  width:8px;height:8px;border-radius:50%;background:rgba(246,241,232,.25);
  transition:.3s;padding:0;
}
.cr-quote-dots button.on{background:var(--gold);width:24px;border-radius:4px}

/* ---- Bottom CTA ---- */
.cr-bottom-cta{background:var(--paper);padding:clamp(48px,6vw,72px) 0}
.cr-bottom-cta .cta-band{margin:0}
.cr-bottom-cta .cta-band h2{color:var(--paper)}
