/*
Theme Name: Roomphi Theme
Description: Custom WordPress theme converted from HTML.
Author: Antigravity
Version: 1.0
*/

*{margin:0;padding:0;box-sizing:border-box;}
:root{
  --gold:#c9a96e;--dark:#0e0c0a;--cream:#f7f2ea;
  --muted:#8a8278;--border:#e5dfd6;--bg:#f9f6f1;--white:#fff;--text:#1e1a16;
}
html{scroll-behavior:smooth;}
body{font-family:'Georgia',serif;color:var(--text);background:var(--white);overflow-x:hidden;}
a{text-decoration:none;color:inherit;}
img{display:block;}

/* NAV */
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:0 48px;height:76px;background:rgba(255,255,255,0.95);
  backdrop-filter:blur(12px);border-bottom:1px solid var(--border);
  position:sticky;top:0;z-index:999;transition:box-shadow .3s;
}
.nav.scrolled{box-shadow:0 2px 24px rgba(0,0,0,.08);}
.nav-logo{height:60px;width:auto;object-fit:contain;}
.nav-links{display:flex;gap:28px;list-style:none;}
.nav-links a{font-family:Arial,sans-serif;font-size:11px;letter-spacing:1.5px;color:var(--muted);text-transform:uppercase;position:relative;padding-bottom:4px;}
.nav-links a::after{content:'';position:absolute;bottom:0;left:0;width:0;height:1px;background:var(--gold);transition:width .3s;}
.nav-links a:hover::after{width:100%;}
.nav-links a:hover{color:var(--dark);}
.nav-cta{background:var(--dark);color:var(--cream);border:none;padding:10px 24px;font-family:Arial,sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:background .3s;}
.nav-cta:hover{background:var(--gold);color:var(--dark);}

/* HERO */
.hero{position:relative;height:100vh;overflow:hidden;background:var(--dark);display:flex;align-items:center;}
.hero-bg-grid{
  position:absolute;inset:0;z-index:1;
  background-image:linear-gradient(rgba(201,169,110,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(201,169,110,.07) 1px,transparent 1px);
  background-size:60px 60px;
  transform:perspective(800px) rotateX(20deg) scale(1.4);transform-origin:50% 100%;
  animation:gridMove 8s linear infinite;
}
@keyframes gridMove{from{background-position:0 0;}to{background-position:0 60px;}}
.hero-glow{position:absolute;inset:0;z-index:2;background:radial-gradient(ellipse 80% 60% at 30% 60%,rgba(201,169,110,.18) 0%,transparent 70%);}
.hero-content{position:relative;z-index:10;padding:0 80px;max-width:720px;}
.hero-eyebrow{font-family:Arial,sans-serif;font-size:11px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;margin-bottom:24px;opacity:0;animation:fadeUp .8s .2s forwards;}
.hero-title{font-size:80px;font-weight:400;line-height:1;color:var(--cream);margin-bottom:8px;opacity:0;animation:fadeUp .9s .4s forwards;}
.hero-title .line2{font-style:italic;color:transparent;-webkit-text-stroke:1px var(--gold);display:block;font-size:88px;}
.hero-title .line3{display:block;font-size:80px;background:linear-gradient(90deg,var(--cream),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;}
.hero-sub{font-family:Arial,sans-serif;font-size:16px;color:#9a8c7e;line-height:1.8;max-width:420px;margin:28px 0 44px;opacity:0;animation:fadeUp .9s .6s forwards;}
.hero-btns{display:flex;gap:16px;opacity:0;animation:fadeUp .9s .8s forwards;}
.btn-gold{background:var(--gold);color:var(--dark);border:none;padding:16px 36px;font-family:Arial,sans-serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;position:relative;overflow:hidden;transition:transform .2s;}
.btn-gold::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.2);transform:translateX(-100%);transition:transform .4s;}
.btn-gold:hover::before{transform:translateX(0);}
.btn-gold:hover{transform:translateY(-2px);}
.btn-outline{background:transparent;color:var(--cream);border:1px solid rgba(201,169,110,.4);padding:16px 36px;font-family:Arial,sans-serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;transition:border-color .3s,color .3s,transform .2s;}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-2px);}
.hero-right{position:absolute;right:0;top:0;bottom:0;width:46%;z-index:5;}
.hero-imgs-3d{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr;gap:3px;}
.hi{overflow:hidden;}
.hi img{width:100%;height:100%;object-fit:cover;transition:transform .6s;opacity:.75;}
.hi:hover img{transform:scale(1.06);opacity:1;}
.hero-right::before{content:'';position:absolute;left:0;top:0;bottom:0;width:120px;z-index:6;background:linear-gradient(to right,var(--dark),transparent);}
.hero-scroll{position:absolute;bottom:40px;left:80px;z-index:10;display:flex;align-items:center;gap:12px;font-family:Arial,sans-serif;font-size:11px;letter-spacing:2px;color:var(--muted);text-transform:uppercase;opacity:0;animation:fadeUp .9s 1.2s forwards;}
.scroll-line{width:40px;height:1px;background:var(--gold);position:relative;overflow:hidden;}
.scroll-line::after{content:'';position:absolute;left:-100%;top:0;width:100%;height:100%;background:var(--cream);animation:scrollAnim 2s 2s infinite;}
@keyframes scrollAnim{0%{left:-100%;}100%{left:100%;}}
@keyframes fadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}

/* TICKER */
.ticker-wrap{overflow:hidden;background:var(--gold);padding:12px 0;}
.ticker-track{display:flex;white-space:nowrap;animation:ticker 28s linear infinite;}
.ticker-item{font-family:Arial,sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:var(--dark);padding:0 32px;display:inline-flex;align-items:center;gap:32px;}
.ticker-item::after{content:'◆';opacity:.4;margin-left:32px;}
@keyframes ticker{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* INTRO */
.intro{padding:80px 56px;text-align:center;border-bottom:1px solid var(--border);}
.intro-tag{font-family:Arial,sans-serif;font-size:11px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;margin-bottom:16px;}
.intro h2{font-size:42px;font-weight:400;margin-bottom:16px;}
.intro p{font-family:Arial,sans-serif;font-size:16px;color:var(--muted);line-height:1.9;max-width:600px;margin:0 auto 36px;}
.intro-cats{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;}
.intro-cat{font-family:Arial,sans-serif;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;padding:9px 20px;border:1px solid var(--border);color:var(--muted);cursor:pointer;transition:border-color .3s,color .3s,background .3s;}
.intro-cat:hover{border-color:var(--gold);color:var(--dark);background:rgba(201,169,110,.06);}

/* ── 9 ROOM SECTIONS ── */
.rooms-section{padding:80px 56px;}
.rooms-section-dark{padding:80px 56px;background:var(--dark);}
.sec-eyebrow{font-family:Arial,sans-serif;font-size:11px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;margin-bottom:12px;}
.sec-eyebrow-light{font-family:Arial,sans-serif;font-size:11px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;margin-bottom:12px;}
.sec-title{font-size:36px;font-weight:400;margin-bottom:10px;}
.sec-title-light{font-size:36px;font-weight:400;margin-bottom:10px;color:var(--cream);}
.sec-divider{width:48px;height:1px;background:var(--gold);margin:16px 0 24px;}
.sec-desc{font-family:Arial,sans-serif;font-size:15px;color:var(--muted);line-height:1.9;max-width:560px;margin-bottom:32px;}
.sec-desc-light{font-family:Arial,sans-serif;font-size:15px;color:#7a7068;line-height:1.9;max-width:560px;margin-bottom:32px;}

/* Room layout A: text left, image right */
.room-layout-a{display:grid;grid-template-columns:1fr 1.4fr;gap:56px;align-items:center;}
/* Room layout B: image left, text right */
.room-layout-b{display:grid;grid-template-columns:1.4fr 1fr;gap:56px;align-items:center;}
/* Room layout C: full width image + overlay */
.room-layout-c{position:relative;height:500px;overflow:hidden;}

.room-img{overflow:hidden;}
.room-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s;}
.room-img:hover img{transform:scale(1.04);}
.room-img-tall{height:480px;}
.room-img-med{height:400px;}

.room-tips{margin-top:28px;}
.room-tip{display:flex;align-items:flex-start;gap:14px;margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--border);}
.room-tip:last-child{border-bottom:none;margin-bottom:0;}
.tip-num{font-family:Arial,sans-serif;font-size:11px;color:var(--gold);letter-spacing:2px;min-width:28px;margin-top:2px;}
.tip-text{font-family:Arial,sans-serif;font-size:13px;color:var(--muted);line-height:1.7;}
.tip-num-light{font-family:Arial,sans-serif;font-size:11px;color:var(--gold);letter-spacing:2px;min-width:28px;margin-top:2px;}
.tip-text-light{font-family:Arial,sans-serif;font-size:13px;color:#7a7068;line-height:1.7;}

.room-badge{display:inline-block;font-family:Arial,sans-serif;font-size:10px;letter-spacing:2px;text-transform:uppercase;padding:5px 14px;background:rgba(201,169,110,.12);color:var(--gold);margin-bottom:16px;}

/* section divider line */
.divider-line{height:1px;background:var(--border);margin:0 56px;}
.divider-line-dark{height:1px;background:rgba(255,255,255,.06);margin:0 56px;}

/* 2-image grid layout for some sections */
.room-2img{display:grid;grid-template-columns:1fr 1fr;gap:3px;}
.room-2img img{width:100%;height:280px;object-fit:cover;transition:transform .6s;}
.room-2img img:hover{transform:scale(1.03);}

/* STATS */
.stats{background:var(--dark);padding:56px;display:grid;grid-template-columns:repeat(4,1fr);gap:2px;}
.stat{text-align:center;padding:32px;background:rgba(255,255,255,.02);border:1px solid rgba(201,169,110,.1);transition:background .3s;cursor:default;}
.stat:hover{background:rgba(201,169,110,.05);}
.stat-num{font-size:48px;font-weight:400;color:var(--gold);line-height:1;margin-bottom:8px;}
.stat-label{font-family:Arial,sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;color:#6a6058;}

/* QUOTE */
.quote-strip{padding:80px 56px;text-align:center;background:var(--bg);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.q-mark{font-size:80px;color:var(--gold);font-style:italic;line-height:.8;margin-bottom:24px;opacity:.4;}
.q-text{font-size:26px;font-weight:400;font-style:italic;max-width:760px;margin:0 auto 24px;line-height:1.6;}
.q-author{font-family:Arial,sans-serif;font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--muted);}
.q-stars{color:var(--gold);font-size:16px;margin-bottom:12px;letter-spacing:4px;}

/* NEWSLETTER */
.newsletter{padding:80px 56px;text-align:center;background:var(--dark);}
.nl-tag{font-family:Arial,sans-serif;font-size:11px;letter-spacing:4px;color:var(--gold);text-transform:uppercase;margin-bottom:16px;}
.newsletter h2{font-size:38px;font-weight:400;color:var(--cream);margin-bottom:12px;}
.newsletter p{font-family:Arial,sans-serif;font-size:15px;color:#7a7068;margin-bottom:28px;}
.nl-benefits{display:flex;justify-content:center;gap:28px;margin-bottom:32px;flex-wrap:wrap;}
.nl-benefit{font-family:Arial,sans-serif;font-size:12px;color:#7a7068;display:flex;align-items:center;gap:8px;}
.nl-benefit::before{content:'✓';color:var(--gold);}
.nl-form{display:flex;max-width:500px;margin:0 auto;box-shadow:0 0 0 1px rgba(201,169,110,.3);}
.nl-form input{flex:1;padding:16px 20px;background:rgba(255,255,255,.05);border:none;font-family:Arial,sans-serif;font-size:14px;color:var(--cream);}
.nl-form input::placeholder{color:#5a5248;}
.nl-form input:focus{outline:none;}
.nl-form button{background:var(--gold);color:var(--dark);border:none;padding:16px 32px;font-family:Arial,sans-serif;font-size:11px;letter-spacing:2px;text-transform:uppercase;cursor:pointer;}

/* FOOTER */
footer{padding:72px 56px 32px;background:var(--white);border-top:1px solid var(--border);}
.footer-top{display:grid;grid-template-columns:2.2fr 1fr 1fr 1fr;gap:48px;margin-bottom:56px;}
.footer-logo-img{height:64px;width:auto;object-fit:contain;margin-bottom:16px;}
.footer-about{font-family:Arial,sans-serif;font-size:13px;color:var(--muted);line-height:1.9;max-width:250px;margin-bottom:24px;}
.footer-social{display:flex;gap:12px;}
.social-btn{width:36px;height:36px;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;font-family:Arial,sans-serif;font-size:11px;color:var(--muted);transition:border-color .3s,color .3s;}
.social-btn:hover{border-color:var(--gold);color:var(--gold);}
.footer-col h4{font-family:Arial,sans-serif;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:var(--dark);margin-bottom:20px;}
.footer-col ul{list-style:none;}
.footer-col li{margin-bottom:12px;}
.footer-col a{font-family:Arial,sans-serif;font-size:13px;color:var(--muted);transition:color .3s;}
.footer-col a:hover{color:var(--gold);}
.footer-bottom{border-top:1px solid var(--border);padding-top:24px;display:flex;justify-content:space-between;}
.footer-copy{font-family:Arial,sans-serif;font-size:12px;color:var(--muted);}
.footer-gold{font-family:Arial,sans-serif;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);}

/* REVEAL */
.reveal{opacity:0;transform:translateY(40px);transition:opacity .7s,transform .7s;}
.reveal.visible{opacity:1;transform:translateY(0);}
.reveal-left{opacity:0;transform:translateX(-40px);transition:opacity .7s,transform .7s;}
.reveal-left.visible{opacity:1;transform:translateX(0);}
.reveal-right{opacity:0;transform:translateX(40px);transition:opacity .7s,transform .7s;}
.reveal-right.visible{opacity:1;transform:translateX(0);}

/* CURSOR */
.cursor{width:12px;height:12px;border:1px solid var(--gold);border-radius:50%;position:fixed;pointer-events:none;z-index:99999;transform:translate(-50%,-50%);transition:width .2s,height .2s;}
.cursor-follower{width:36px;height:36px;border:1px solid rgba(201,169,110,.3);border-radius:50%;position:fixed;pointer-events:none;z-index:99998;transform:translate(-50%,-50%);transition:left .12s ease-out,top .12s ease-out;}

@media(max-width:900px){
  .nav{padding:0 20px;}.nav-links{display:none;}
  .hero-right{display:none;}.hero-content{padding:60px 24px;}.hero-title{font-size:44px;}.hero-title .line2{font-size:50px;}.hero-title .line3{font-size:44px;}.hero-scroll{left:24px;}
  .rooms-section,.rooms-section-dark{padding:56px 20px;}
  .room-layout-a,.room-layout-b{grid-template-columns:1fr;gap:32px;}
  .room-img-tall,.room-img-med{height:280px;}
  .stats{grid-template-columns:1fr 1fr;padding:32px 20px;}
  .divider-line,.divider-line-dark{margin:0 20px;}
  .quote-strip,.newsletter{padding:56px 20px;}
  footer{padding:48px 20px 24px;}.footer-top{grid-template-columns:1fr 1fr;}
  .intro,.ticker-wrap{padding-left:0;padding-right:0;}
}
