:root{--ink:#0b1f3a;--muted:#64748b;--blue:#1d5fe9;--blue2:#0f4bd8;--green:#08a96a;--line:#e2e8f0;--bg:#f7f9fc;--white:#fff;--shadow:0 22px 60px rgba(15,34,63,.10)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased}.site-shell{overflow:hidden}.public-header{position:sticky;top:0;z-index:50;height:78px;padding:0 clamp(20px,5vw,72px);display:flex;align-items:center;gap:28px;background:rgba(255,255,255,.92);border-bottom:1px solid rgba(203,213,225,.8);backdrop-filter:blur(16px)}.brand{display:flex;align-items:center;gap:12px;color:var(--ink);text-decoration:none;min-width:220px}.brand-mark{width:44px;height:44px;border-radius:13px;background:linear-gradient(145deg,#1764f5,#2f73ed);color:#fff;display:grid;place-items:center;box-shadow:0 10px 25px rgba(29,95,233,.24)}.brand-mark svg{width:22px}.brand strong{display:block;font-size:16px;line-height:1.15}.brand small{display:block;margin-top:4px;color:#8493aa;font-size:10px;font-weight:600;letter-spacing:.06em}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:30px;flex:1}.desktop-nav a{color:#52627a;text-decoration:none;font-size:13px;font-weight:600;transition:.2s}.desktop-nav a:hover{color:var(--blue)}.header-login{display:inline-flex;align-items:center;gap:8px;color:#fff;background:var(--blue);text-decoration:none;padding:12px 17px;border-radius:12px;font-size:12px;font-weight:700;box-shadow:0 8px 20px rgba(29,95,233,.20);transition:.2s}.header-login:hover{background:var(--blue2);transform:translateY(-1px)}.header-logout{background:#fff;color:#dc2626;border:1px solid #fecaca;box-shadow:none}.header-logout:hover{background:#fff5f5;color:#b91c1c;border-color:#fca5a5}.header-login svg{width:16px}.mobile-nav-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:11px;width:43px;height:43px;color:var(--ink)}.mobile-nav{display:none}.hero{position:relative;max-width:1380px;margin:0 auto;padding:88px clamp(20px,5vw,72px) 70px;display:grid;grid-template-columns:minmax(0,1fr) minmax(420px, .92fr);align-items:center;gap:55px}.hero-glow{position:absolute;border-radius:50%;filter:blur(1px);pointer-events:none}.hero-glow-one{width:500px;height:500px;left:-260px;top:-190px;background:radial-gradient(circle,rgba(57,120,255,.13),transparent 67%)}.hero-glow-two{width:430px;height:430px;right:-180px;bottom:-120px;background:radial-gradient(circle,rgba(18,190,123,.10),transparent 68%)}.hero-copy{position:relative;z-index:1}.eyebrow{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid #d8e8df;background:#f0fbf5;color:#087b50;border-radius:999px;font-size:11px;font-weight:700}.eyebrow-dot{width:7px;height:7px;border-radius:50%;background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.10)}h1{font-size:clamp(42px,5vw,70px);line-height:1.03;letter-spacing:-.055em;margin:20px 0 20px;max-width:720px}h1 span{color:var(--blue)}.hero-text{max-width:610px;color:#64748b;font-size:16px;line-height:1.8;margin:0}.hero-actions{display:flex;gap:12px;margin-top:30px;flex-wrap:wrap}.primary-btn,.secondary-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;border-radius:12px;padding:14px 19px;font-size:13px;font-weight:700;transition:.22s}.primary-btn{background:var(--blue);color:#fff;box-shadow:0 12px 26px rgba(29,95,233,.20)}.primary-btn:hover{background:var(--blue2);transform:translateY(-2px)}.secondary-btn{background:#fff;color:var(--ink);border:1px solid var(--line)}.secondary-btn:hover{border-color:#b8c7db;transform:translateY(-2px)}.primary-btn svg,.secondary-btn svg{width:17px}.hero-trust{display:flex;gap:22px;flex-wrap:wrap;margin-top:30px;color:#718096;font-size:11px;font-weight:600}.hero-trust div{display:flex;align-items:center;gap:7px}.hero-trust svg{width:16px;color:#159a68}.hero-visual{position:relative;min-height:520px;display:flex;align-items:center;justify-content:center}.visual-card{position:relative;width:min(100%,560px);border:1px solid rgba(210,221,235,.95);border-radius:30px;background:linear-gradient(145deg,#fff,#f4f8fd);box-shadow:var(--shadow);overflow:hidden}.main-visual{padding:18px}.visual-top{display:flex;align-items:center;justify-content:space-between;padding:4px 4px 13px}.visual-badge{display:inline-flex;align-items:center;gap:7px;background:#edf4ff;color:#315887;border-radius:999px;padding:7px 10px;font-size:10px;font-weight:700}.visual-badge svg{width:14px}.live-dot{display:flex;align-items:center;gap:6px;color:#0a9360;font-size:10px;font-weight:700}.live-dot span{width:7px;height:7px;border-radius:50%;background:#15b878;box-shadow:0 0 0 4px rgba(21,184,120,.10)}.room-illustration{height:330px;border-radius:22px;background:linear-gradient(180deg,#eaf2fc 0%,#f6f9fd 60%,#edf3f9 60%,#e4ecf5 100%);position:relative;overflow:hidden}.window{position:absolute;top:32px;left:50%;transform:translateX(-50%);width:150px;height:105px;background:#d9ebff;border:8px solid #fff;border-radius:13px;box-shadow:0 7px 25px rgba(65,104,148,.10);display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.window span{border:1px solid rgba(87,132,184,.18)}.wall-light{position:absolute;width:10px;height:42px;border-radius:5px;background:#fff;box-shadow:0 0 24px rgba(255,255,255,.9)}.wall-light-one{left:72px;top:90px}.wall-light-two{right:72px;top:90px}.bed{position:absolute;bottom:62px;width:190px;height:115px;background:#f5f8fc;border:5px solid #b6c8dc;border-bottom-width:9px;border-radius:10px 10px 4px 4px;box-shadow:0 18px 20px rgba(72,102,133,.12)}.bed-one{left:55px}.bed-two{right:55px}.bed .pillow{position:absolute;left:14px;top:12px;width:54px;height:34px;background:#fff;border-radius:8px;box-shadow:0 4px 8px rgba(30,50,75,.06)}.bed .mattress{position:absolute;left:67px;right:9px;top:12px;height:43px;background:#dfe9f5;border-radius:8px}.bed .frame{position:absolute;left:8px;right:8px;bottom:-31px;height:30px;border-left:7px solid #a5b9d0;border-right:7px solid #a5b9d0;border-bottom:7px solid #a5b9d0}.side-table{position:absolute;right:18px;bottom:70px;width:40px;height:40px;border-radius:7px;background:#c8d8e8;box-shadow:0 8px 15px rgba(60,90,120,.12)}.side-table span{position:absolute;left:5px;right:5px;bottom:-13px;height:13px;border-left:4px solid #9fb4cb;border-right:4px solid #9fb4cb}.plant{position:absolute;left:19px;bottom:62px;width:44px;height:70px}.plant .pot{position:absolute;bottom:0;left:9px;width:26px;height:27px;background:#d9906d;border-radius:3px 3px 8px 8px}.leaf{position:absolute;width:20px;height:35px;background:#6fbe8d;border-radius:20px 3px 20px 3px;transform-origin:bottom center}.l1{left:1px;bottom:21px;transform:rotate(-34deg)}.l2{left:14px;bottom:26px;transform:rotate(8deg)}.l3{left:24px;bottom:18px;transform:rotate(36deg)}.visual-bottom{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:16px 3px 3px}.visual-bottom div{padding:8px 10px;border-right:1px solid #e5ebf2}.visual-bottom div:last-child{border-right:0}.visual-bottom strong{display:block;font-size:19px}.visual-bottom span{display:block;color:#7a889c;font-size:9px;margin-top:3px}.floating-card{position:absolute;display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid #e1e8f1;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 16px 35px rgba(22,42,70,.12);z-index:2}.floating-card-one{left:-8px;bottom:76px}.floating-card-two{right:-12px;top:92px}.floating-icon{width:34px;height:34px;border-radius:10px;display:grid;place-items:center}.floating-icon.green{background:#eaf9f1;color:#09945d}.floating-icon.blue{background:#edf3ff;color:#2864dc}.floating-icon svg{width:17px}.floating-card strong{display:block;font-size:10px}.floating-card small{display:block;color:#8995a6;font-size:9px;margin-top:3px}.section{max-width:1380px;margin:0 auto;padding:90px clamp(20px,5vw,72px)}.section-heading{max-width:670px}.section-heading.centered{margin:0 auto 34px;text-align:center}.section-kicker{display:inline-block;color:#55729b;font-size:10px;font-weight:800;letter-spacing:.14em}.section-heading h2,.contact-intro h2{font-size:clamp(30px,3.5vw,46px);line-height:1.08;letter-spacing:-.04em;margin:10px 0 12px}.section-heading p,.contact-intro p{color:#718096;font-size:14px;line-height:1.75;margin:0}.stats-strip{padding:78px clamp(20px,5vw,72px);background:#fff;border-top:1px solid #edf1f6;border-bottom:1px solid #edf1f6}.availability-grid{max-width:1380px;margin:auto;display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.availability-card{min-height:112px;border:1px solid var(--line);border-radius:18px;background:#fff;padding:18px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 25px rgba(21,42,69,.04);position:relative;overflow:hidden}.availability-card:after{content:"";position:absolute;width:120px;height:120px;border-radius:50%;right:-55px;bottom:-70px;background:currentColor;opacity:.055}.availability-icon{width:43px;height:43px;flex:0 0 43px;border-radius:13px;display:grid;place-items:center}.availability-icon svg{width:20px}.availability-card small{display:block;color:#718096;font-size:10px;font-weight:600}.availability-card strong{display:block;font-size:25px;margin-top:5px}.availability-card.total{color:#2764df}.availability-card.total .availability-icon{background:#edf3ff}.availability-card.available{color:#078b5b}.availability-card.available .availability-icon{background:#eaf9f1}.availability-card.occupied{color:#d4510a}.availability-card.occupied .availability-icon{background:#fff1e8}.availability-card.blocked{color:#d27b00}.availability-card.blocked .availability-icon{background:#fff7e7}.availability-card.maintenance{color:#e1263c}.availability-card.maintenance .availability-icon{background:#fff0f2}.availability-card small{color:#718096}.features{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:start}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:15px}.feature-card{padding:25px;border-radius:20px;background:#fff;border:1px solid var(--line);box-shadow:0 12px 30px rgba(20,42,70,.04);transition:.22s}.feature-card:hover{transform:translateY(-4px);box-shadow:0 18px 35px rgba(20,42,70,.08)}.feature-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;margin-bottom:20px}.feature-card h3{font-size:16px;margin:0 0 9px}.feature-card p{font-size:12px;color:#718096;line-height:1.7;margin:0}.feature-blue .feature-icon{background:#edf3ff;color:#2764df}.feature-green .feature-icon{background:#eaf9f1;color:#078b5b}.feature-purple .feature-icon{background:#f2efff;color:#7048db}.feature-orange .feature-icon{background:#fff1e8;color:#d4510a}.cta-section{max-width:1240px;margin:15px auto 0;padding:62px clamp(24px,5vw,60px);border-radius:30px;background:linear-gradient(120deg,#113d9f,#1d63e9 55%,#3d7df0);color:#fff;position:relative;overflow:hidden}.cta-content{position:relative;z-index:2;max-width:680px}.cta-section .section-kicker{color:#bfd2ff}.cta-section h2{font-size:clamp(30px,4vw,48px);line-height:1.06;letter-spacing:-.04em;margin:10px 0}.cta-section p{color:#d7e3ff;font-size:14px;line-height:1.7;margin:0 0 24px}.primary-btn.light{background:#fff;color:#1246aa;box-shadow:none}.primary-btn.light:hover{background:#f2f6ff}.cta-pattern{position:absolute;right:-30px;bottom:-95px;width:450px;height:450px;display:grid;grid-template-columns:repeat(3,1fr);gap:13px;transform:rotate(-12deg);opacity:.14}.cta-pattern span{border:1px solid #fff;border-radius:50%}.contact{padding-bottom:80px}.contact-card{display:grid;grid-template-columns:1fr 1fr;gap:40px;padding:36px;border-radius:25px;background:#fff;border:1px solid var(--line);box-shadow:0 15px 45px rgba(22,42,70,.06)}.contact-details{display:grid;gap:12px}.contact-details>a,.contact-static{display:flex;align-items:center;gap:13px;padding:15px;border:1px solid #e8edf3;border-radius:15px;text-decoration:none;color:var(--ink);background:#fbfcfe}.contact-details>a:hover{border-color:#cbd9ec;background:#fff}.contact-details span{width:40px;height:40px;border-radius:12px;background:#edf3ff;color:#2864dc;display:grid;place-items:center;flex:0 0 40px}.contact-details span svg{width:18px}.contact-details small{display:block;color:#8491a4;font-size:9px}.contact-details strong{display:block;font-size:12px;margin-top:3px;word-break:break-word}.public-footer{max-width:1380px;margin:auto;padding:25px clamp(20px,5vw,72px);border-top:1px solid #e1e7ef;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#8390a3;font-size:10px}.footer-brand{font-weight:800;color:var(--ink);text-decoration:none;margin-right:8px}.public-footer>a{display:inline-flex;align-items:center;gap:4px;color:#315fbd;text-decoration:none;font-weight:700}.public-footer>a svg{width:13px}
@media(max-width:1100px){.hero{grid-template-columns:1fr;gap:45px}.hero-copy{max-width:800px}.hero-visual{min-height:480px}.availability-grid{grid-template-columns:repeat(3,1fr)}.features{grid-template-columns:1fr;gap:35px}.feature-grid{max-width:800px}.contact-card{grid-template-columns:1fr}}
@media(max-width:760px){.public-header{height:68px;padding:0 17px;gap:12px}.brand{min-width:0;flex:1}.brand-mark{width:40px;height:40px;border-radius:11px}.brand strong{font-size:14px}.brand small{font-size:8px}.desktop-nav,.header-login{display:none}.mobile-nav-toggle{display:grid;place-items:center}.mobile-nav{position:fixed;top:68px;left:0;right:0;z-index:49;padding:12px 17px 17px;background:rgba(255,255,255,.98);border-bottom:1px solid var(--line);box-shadow:0 15px 30px rgba(20,42,70,.08);transform:translateY(-120%);transition:.25s;display:grid;gap:5px}.mobile-nav.open{transform:translateY(0)}.mobile-nav a{padding:12px 13px;border-radius:10px;color:var(--ink);font-size:12px;font-weight:700;text-decoration:none}.mobile-nav a:hover{background:#f3f6fb;color:var(--blue)}.hero{padding:56px 18px 45px}.hero h1{font-size:42px}.hero-text{font-size:14px}.hero-visual{min-height:410px}.main-visual{padding:13px;border-radius:23px}.room-illustration{height:250px}.bed{transform:scale(.76);transform-origin:bottom}.bed-one{left:18px}.bed-two{right:18px}.window{width:120px;height:85px;top:22px}.wall-light-one{left:42px}.wall-light-two{right:42px}.visual-bottom{gap:4px}.visual-bottom strong{font-size:16px}.visual-bottom span{font-size:8px}.floating-card{padding:9px 11px}.floating-card-one{left:-4px;bottom:52px}.floating-card-two{right:-3px;top:62px}.floating-card strong{font-size:9px}.floating-card small{font-size:8px}.stats-strip{padding:58px 18px}.availability-grid{grid-template-columns:1fr 1fr}.availability-card{min-height:96px;padding:14px}.availability-icon{width:38px;height:38px;flex-basis:38px}.section{padding:60px 18px}.feature-grid{grid-template-columns:1fr}.cta-section{margin:0 15px;border-radius:22px;padding:45px 25px}.contact-card{padding:24px}.public-footer{flex-direction:column;align-items:flex-start;padding:23px 18px}}
@media(max-width:430px){.availability-grid{grid-template-columns:1fr}.hero h1{font-size:37px}.hero-trust{gap:12px;display:grid}.hero-visual{min-height:380px}.floating-card-two{top:46px}.room-illustration{height:225px}.bed{transform:scale(.64)}}

.nav-disabled{color:#94a3b8;cursor:not-allowed}.primary-btn.disabled{background:#cbd5e1;color:#64748b;cursor:not-allowed;box-shadow:none}

/* Guest-facing stay information */
.stay-info{padding-top:72px}.stay-info-grid{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.stay-info-card{min-height:82px;padding:15px 16px;border:1px solid var(--line);border-radius:16px;background:#fff;display:flex;align-items:center;gap:12px;box-shadow:0 8px 25px rgba(21,42,69,.035)}.stay-info-card>span{width:38px;height:38px;flex:0 0 38px;border-radius:11px;background:#edf3ff;color:#2764df;display:grid;place-items:center}.stay-info-card>span svg{width:17px}.stay-info-card small{display:block;color:#8491a4;font-size:9px}.stay-info-card strong{display:block;color:var(--ink);font-size:11px;margin-top:4px;line-height:1.45}.stay-info-wide{grid-column:span 2}.stay-info-wide>span{background:#eaf9f1;color:#078b5b}@media(max-width:900px){.stay-info-grid{grid-template-columns:1fr 1fr}.stay-info-wide{grid-column:1/-1}}@media(max-width:560px){.stay-info-grid{grid-template-columns:1fr}.stay-info-wide{grid-column:auto}.stay-info{padding-top:55px}}

/* Public property policies */
.policies{padding-top:72px}.policy-grid{max-width:1380px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.policy-card{min-width:0;display:flex;align-items:flex-start;gap:13px;padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 8px 25px rgba(21,42,69,.035)}.policy-icon{width:42px;height:42px;flex:0 0 42px;border-radius:12px;display:grid;place-items:center}.policy-icon svg{width:19px}.policy-allowed .policy-icon{background:#eaf9f1;color:#078b5b}.policy-not-allowed .policy-icon{background:#fff0f2;color:#d7263d}.policy-copy{min-width:0;flex:1}.policy-topline{display:flex;align-items:center;justify-content:space-between;gap:8px}.policy-topline h3{margin:0;color:var(--ink);font-size:13px;font-weight:800}.policy-copy p{margin:6px 0 0;color:#7a889c;font-size:10px;line-height:1.55}.policy-status{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:800}.policy-status svg{width:12px;height:12px}.policy-status.is-allowed{background:#eaf9f1;color:#078b5b}.policy-status.is-not-allowed{background:#fff0f2;color:#c6283a}.policy-note{max-width:1380px;margin:14px auto 0;padding:11px 14px;border:1px solid #e4eaf2;border-radius:12px;background:#fbfcfe;color:#748297;display:flex;align-items:flex-start;gap:8px;font-size:10px;line-height:1.55}.policy-note svg{width:15px;flex:0 0 15px;color:#5273a3;margin-top:1px}
@media(max-width:1100px){.policy-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.policies{padding-top:55px}.policy-grid{grid-template-columns:1fr}.policy-card{padding:15px}.policy-topline{align-items:flex-start;flex-direction:column;gap:6px}}
