@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800;900&family=Playfair+Display:wght@600;700;800&display=swap";
:root{--bg:#fbf7ef;--panel:#fffdf8;--ink:#243040;--muted:#766a5e;--line:#eadfce;--primary:#243040;--primary-dark:#141b25;--accent:#c9a45a;--accent-soft:#f3e6c7;--brown:#956744;--brown-dark:#75482c;--text:#342f2a;--sky:#f8efe2;--leaf:#fffaf1;--danger:#b91c1c;--radius:8px;--shadow:0 18px 50px #2430401a}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at top left, #c9a45a1f, transparent 32%), linear-gradient(180deg, #fffaf3 0%, var(--bg) 46%, #fffdf8 100%);color:var(--text);margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}img{max-width:100%;display:block}.site-header{border-bottom:1px solid var(--line);z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffe0;justify-content:space-between;align-items:center;gap:20px;padding:14px clamp(16px,4vw,56px);display:flex;position:sticky;top:0}.brand,nav,.eyebrow,.hero-actions,.trust-row,.card-footer,.status-actions{align-items:center;display:flex}.brand{gap:10px;font-weight:900}.brand-mark{background:linear-gradient(135deg, var(--brown), var(--accent));border-radius:var(--radius);color:#fff;place-items:center;width:36px;height:36px;display:grid}nav{color:var(--muted);flex-wrap:wrap;gap:16px;font-size:.94rem}nav a:hover{color:var(--ink)}.hero{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);gap:34px;min-height:min(760px,100vh - 66px);padding:46px clamp(16px,5vw,72px) 34px;display:grid}.apartment-hero{align-items:center}.hero-copy{max-width:660px}.eyebrow{color:var(--accent);letter-spacing:.08em;text-transform:uppercase;gap:8px;margin:0 0 14px;font-size:.8rem;font-weight:900}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--ink);font-family:Playfair Display,Georgia,serif}h1{margin-bottom:18px;font-size:clamp(2.7rem,6vw,5.8rem);font-weight:700;line-height:.98}h2{margin-bottom:12px;font-size:clamp(1.8rem,3.5vw,3.2rem);font-weight:700;line-height:1.08}h3{margin-bottom:8px;font-size:1.15rem}.hero-text,.room-card p,.muted,.form-card p{color:var(--muted);line-height:1.65}.hero-media{position:relative}.hero-image{aspect-ratio:4/3;border-radius:var(--radius);box-shadow:var(--shadow);object-fit:cover;width:100%;height:auto}.hero-note{border:1px solid var(--line);border-radius:var(--radius);background:#fffffff0;align-items:flex-start;gap:4px;max-width:min(320px,100% - 36px);padding:14px 16px;display:grid;position:absolute;bottom:18px;left:18px;box-shadow:0 14px 35px #0f172a29}.hero-note strong{color:var(--primary);font-size:1.35rem}.hero-note span{color:var(--muted);font-weight:700;line-height:1.35}.hero-actions,.trust-row{flex-wrap:wrap;gap:12px;margin-top:26px}.trust-row span{color:var(--muted);align-items:center;gap:6px;font-weight:700;display:inline-flex}.button{border-radius:var(--radius);cursor:pointer;border:0;justify-content:center;gap:8px;min-height:44px;padding:11px 16px;font-weight:850;display:inline-flex}.primary{background:linear-gradient(135deg, var(--brown), #a9794e);color:#fff;box-shadow:0 12px 28px #75482c2e}.primary:hover{background:linear-gradient(135deg, var(--brown-dark), var(--brown));transform:translateY(-2px)}.secondary{border:1px solid var(--line);color:var(--ink);background:#fffdf8f0}.danger{background:var(--danger);color:#fff}.text-link{color:var(--primary);font-weight:850}.section-shell{max-width:1180px;margin:0 auto;padding:58px clamp(16px,4vw,28px)}.section-heading{max-width:720px;margin-bottom:24px}.section-heading p:not(.eyebrow),.contact-section p{color:var(--muted);line-height:1.7}.filters,.form-card,.dashboard-panel,.api-doc,.auth-shell{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.filters{flex-wrap:wrap;align-items:center;gap:18px;margin-bottom:24px;padding:16px;display:flex}.filters label{color:var(--muted);gap:6px;min-width:240px;display:grid}select,input,textarea{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;min-height:42px;padding:10px 12px}textarea{resize:vertical}.room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.room-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.room-card:hover{transition:transform .18s,box-shadow .18s;transform:translateY(-3px)}.room-card img{aspect-ratio:4/3;object-fit:cover;width:100%}.room-card>div{padding:16px}.badge{margin-bottom:8px;font-size:.75rem;font-weight:900;color:var(--accent)!important}.card-footer{justify-content:space-between;gap:12px;margin-top:16px}.skeleton{border-radius:var(--radius);background:#e8e2d7;min-height:360px;animation:1.3s ease-in-out infinite pulse}@keyframes pulse{50%{opacity:.5}}.detail-grid,.booking-grid,.admin-grid{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:22px;display:grid}.gallery{grid-template-columns:1fr 1fr;gap:10px;display:grid}.gallery img:first-child{aspect-ratio:16/8;grid-column:span 2}.gallery img{border-radius:var(--radius);object-fit:cover;width:100%;height:100%}.form-card,.dashboard-panel,.api-doc,.auth-shell{padding:20px}.form-grid{gap:14px;display:grid}.form-grid label{color:var(--muted);gap:6px;font-weight:700;display:grid}.check-row{flex-direction:row;align-items:center;display:flex!important}.check-row input{width:auto;min-height:auto}.message{border-radius:var(--radius);margin-top:12px;padding:12px}.message.success{color:#14532d;background:#dcfce7}.message.error{color:#7f1d1d;background:#fee2e2}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat{border:1px solid var(--line);border-radius:var(--radius);background:#f8fafc;padding:16px}.stat strong{font-size:1.7rem;display:block}.table{gap:10px;display:grid}.row{border:1px solid var(--line);border-radius:var(--radius);background:#fafafa;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:10px;padding:12px;display:grid}.status{color:#fff;border-radius:999px;padding:4px 8px;font-size:.72rem;font-weight:900;display:inline-block}.PENDING{background:#b45309}.APPROVED{background:#15803d}.REJECTED{background:#b91c1c}.status-actions{gap:8px}.small-button{border:1px solid var(--line);border-radius:var(--radius);cursor:pointer;padding:8px 10px}.auth-shell{max-width:460px;margin:60px auto}.api-doc code{background:#f1f5f9;border-radius:5px;padding:2px 6px}.apartment-site{overflow-x:hidden}.about-section{grid-template-columns:minmax(0,1fr) minmax(280px,.8fr);gap:28px;display:grid}.about-stats{grid-template-columns:1fr 1fr;gap:12px;display:grid}.about-stats div,.pricing-panel,.location-panel,.facility-card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.about-stats div{gap:6px;padding:18px;display:grid}.about-stats strong{color:var(--primary);font-size:clamp(1.5rem,3vw,2.2rem);line-height:1}.about-stats span{color:var(--muted);font-weight:750;line-height:1.35}.section-band{background:linear-gradient(135deg, var(--sky), #fff 48%, var(--leaf));border-block:1px solid var(--line)}.facility-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.facility-card{padding:18px}.facility-card svg{color:var(--accent);margin-bottom:14px}.facility-card p,.pricing-panel p,.location-panel p{color:var(--muted);line-height:1.6}.pricing-location-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;display:grid}.pricing-panel,.location-panel{padding:clamp(18px,3vw,28px)}.price-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:18px 0;display:flex}.price-row strong{color:var(--primary);text-align:right;font-size:clamp(1.15rem,2vw,1.6rem)}.price-row span{color:var(--muted);font-weight:800}.check-list{gap:12px;margin:18px 0 0;padding:0;list-style:none;display:grid}.check-list li{align-items:center;gap:10px;font-weight:800;line-height:1.35;display:flex}.check-list svg{color:var(--primary);flex:none}.contact-section{color:#fff;background:#17212b;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:24px;margin-top:28px;padding:58px clamp(16px,5vw,72px);display:grid}.contact-section .eyebrow{color:#7dd3cc}.contact-section p{color:#cbd5df;max-width:680px}.contact-actions{flex-wrap:wrap;justify-content:flex-end;gap:12px;max-width:520px;display:flex}.site-footer{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:22px clamp(16px,5vw,72px) 110px;display:flex}.site-footer span{align-items:center;gap:8px;font-weight:800;display:inline-flex}.chatbot-shell{z-index:50;justify-items:end;gap:12px;display:grid;position:fixed;bottom:22px;right:22px}.chatbot-launcher{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:8px;min-height:52px;padding:0 18px;font-weight:900;display:inline-flex;box-shadow:0 16px 36px #d84f3a57}.chatbot-panel{border:1px solid var(--line);border-radius:var(--radius);background:#fff;grid-template-rows:auto minmax(0,1fr) auto auto auto;width:min(390px,100vw - 32px);max-height:min(680px,100vh - 110px);display:grid;overflow:hidden;box-shadow:0 24px 70px #0f172a3d}.chatbot-header{background:var(--primary);color:#fff;justify-content:space-between;align-items:center;padding:14px;display:flex}.chatbot-header>div{gap:2px;display:grid}.chatbot-kicker{color:#bdf1ec;text-transform:uppercase;font-size:.74rem;font-weight:900}.icon-button{border-radius:var(--radius);color:inherit;cursor:pointer;background:#ffffff29;border:1px solid #ffffff3d;place-items:center;width:38px;height:38px;display:inline-grid}.chatbot-history{background:#f8fafc;flex-direction:column;gap:10px;min-height:260px;padding:14px;display:flex;overflow-y:auto}.chat-message{border-radius:var(--radius);white-space:pre-wrap;max-width:86%;padding:10px 12px;line-height:1.45}.chat-message.bot{border:1px solid var(--line);color:var(--ink);background:#fff;align-self:flex-start}.chat-message.user{background:var(--primary);color:#fff;align-self:flex-end}.typing-indicator{border:1px solid var(--line);border-radius:var(--radius);background:#fff;align-self:flex-start;align-items:center;gap:5px;padding:12px;display:inline-flex}.typing-indicator span{background:var(--muted);border-radius:50%;width:6px;height:6px;animation:.9s ease-in-out infinite bounce}.typing-indicator span:nth-child(2){animation-delay:.12s}.typing-indicator span:nth-child(3){animation-delay:.24s}@keyframes bounce{50%{opacity:.35;transform:translateY(-3px)}}.quick-replies,.chat-actions{border-top:1px solid var(--line);flex-wrap:wrap;gap:8px;padding:10px;display:flex}.quick-replies button{color:var(--primary-dark);cursor:pointer;background:#eef7f6;border:1px solid #cce6e2;border-radius:999px;padding:8px 10px;font-size:.84rem;font-weight:850}.chat-actions a{border:1px solid var(--line);border-radius:var(--radius);color:var(--ink);background:#fff;flex:auto;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:8px;font-size:.86rem;font-weight:850;display:inline-flex}.chat-input-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px;display:grid}.chat-input-row input{width:100%;min-width:0}.send-button{background:var(--primary);border-color:var(--primary);color:#fff}.send-button:disabled{cursor:progress;opacity:.65}.luxury-site{background:linear-gradient(180deg, #f8f6f26b, var(--bg) 28%), var(--bg)}.luxury-nav{color:#fff;background:#fffdf81f;border-bottom:1px solid #ffffff38;transition:background .22s,color .22s,box-shadow .22s,border-color .22s;position:fixed;top:0;left:0;right:0}.luxury-nav .brand-mark{background:linear-gradient(135deg,#956744f5,#c9a45af5)}.luxury-nav nav{color:#ffffffd1}.luxury-nav nav a:hover{color:#fff}.luxury-nav.is-scrolled{border-bottom-color:var(--line);color:var(--ink);background:#fffdf8f0;box-shadow:0 14px 38px #1f293714}.luxury-nav.is-scrolled nav{color:var(--muted)}.luxury-nav.is-scrolled nav a:hover{color:var(--ink)}.luxury-hero{align-items:center;min-height:100vh;padding:120px clamp(18px,6vw,84px) 64px;display:grid;position:relative;overflow:hidden}.luxury-hero-image,.luxury-hero-overlay{position:absolute;inset:0}.luxury-hero-image{object-fit:cover;width:100%;height:100%;transition:opacity .48s;transform:scale(1.02)}.luxury-hero-overlay{background:linear-gradient(90deg,#1c222a94,#362d2247 52%,#362d2214),linear-gradient(#1c222a2e,#1f181275)}.luxury-hero-content{color:#fff;z-index:1;max-width:760px;animation:.68s both fadeUp;position:relative}.luxury-hero-content h1{color:#fff;letter-spacing:0;text-shadow:0 16px 42px #0000002e;max-width:900px;font-size:clamp(3.1rem,7.3vw,7rem);font-weight:700}.luxury-hero-content p:not(.eyebrow){color:#fffaf2e0;max-width:660px;font-size:clamp(1.02rem,1.6vw,1.25rem);line-height:1.75}.hero-secondary{color:#fff;background:#fffdf82b;border-color:#fffdf861}.hero-booking-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-radius:var(--radius);color:var(--ink);z-index:1;background:linear-gradient(#fffdf8f5,#fff8ece6);border:1px solid #ffffffb8;border-top:3px solid #c9a45ab8;gap:6px;max-width:300px;padding:20px;animation:.76s .12s both fadeUp;display:grid;position:absolute;bottom:46px;right:clamp(18px,6vw,84px);box-shadow:0 18px 54px #281f1629}.hero-booking-card span{color:var(--brown);letter-spacing:.08em;text-transform:uppercase;font-size:.78rem;font-weight:900}.hero-booking-card strong{color:var(--ink);font-family:Playfair Display,Georgia,serif;font-size:2.2rem;font-weight:700}.hero-booking-card p{color:var(--muted);margin:0;line-height:1.45}.luxury-about{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:start;gap:40px;padding-top:92px;display:grid}.about-copy{color:var(--muted);font-size:1.05rem;line-height:1.75}.about-stat-row{flex-wrap:wrap;gap:12px;margin-top:26px;display:flex}.about-stat-row span{border:1px solid var(--line);background:#fffdf8e6;border-radius:999px;align-items:center;gap:8px;padding:10px 14px;display:inline-flex;box-shadow:0 12px 30px #1f293712}.centered-heading{text-align:center;margin-inline:auto}.centered-heading p:not(.eyebrow){max-width:620px;margin-inline:auto}.luxury-room-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;display:grid}.luxury-room-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(#fffdf8,#fffaf2);transition:transform .22s,box-shadow .22s;animation:.68s both fadeUp;overflow:hidden;box-shadow:0 18px 54px #52372317}.luxury-room-card:hover{transform:translateY(-6px);box-shadow:0 28px 80px #52372326}.room-image-frame{aspect-ratio:4/3.15;position:relative;overflow:hidden}.room-image-frame img{object-fit:cover;width:100%;height:100%;transition:transform .52s,opacity .28s}.luxury-room-card:hover .room-image-frame img{transform:scale(1.045)}.room-chip{color:var(--ink);background:#fffdf8ed;border:1px solid #fff9;border-radius:999px;padding:8px 11px;font-size:.78rem;font-weight:900;position:absolute;bottom:14px;left:14px}.luxury-room-body{padding:18px}.room-title-row,.room-price-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.room-title-row span{color:var(--brown);text-transform:uppercase;font-size:.76rem;font-weight:900}.luxury-room-body p{color:var(--muted);line-height:1.65}.room-price-row{border-block:1px solid var(--line);margin:16px 0;padding:13px 0}.room-price-row strong{color:var(--brown);font-family:Playfair Display,Georgia,serif;font-size:1.22rem}.room-price-row span{color:var(--muted);text-align:right;font-size:.9rem;font-weight:800}.room-amenity-list{gap:9px;margin:0 0 18px;padding:0;list-style:none;display:grid}.room-amenity-list li{color:var(--muted);align-items:center;gap:8px;font-weight:700;display:flex}.room-amenity-list svg{color:var(--accent);flex:none}.room-detail-link{color:var(--brown)}.luxury-band{background:linear-gradient(135deg,#c9a45a29,#fffdf8db),#fff7ea}.premium-card{transition:transform .22s,box-shadow .22s;box-shadow:0 16px 44px #1f293714}.premium-card:hover{transform:translateY(-4px);box-shadow:0 24px 64px #1f293721}.premium-card svg,.nearby-card svg{color:var(--accent)}.nearby-section{grid-template-columns:minmax(0,.9fr) minmax(320px,1.1fr);align-items:start;gap:28px;display:grid}.nearby-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.nearby-card,.review-card{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(#fffdf8,#fffaf2);padding:18px;box-shadow:0 16px 44px #52372314}.nearby-card p,.review-card p{color:var(--muted);line-height:1.6}.review-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.star-row{color:var(--accent);gap:3px;margin-bottom:12px;display:flex}.review-card strong{color:var(--ink)}.luxury-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.luxury-gallery img{aspect-ratio:1;border-radius:var(--radius);object-fit:cover;width:100%;height:100%;transition:transform .22s;box-shadow:0 14px 36px #1f293717}.luxury-gallery img:first-child,.luxury-gallery img:nth-child(6){aspect-ratio:2;grid-column:span 2}.luxury-gallery img:hover{transform:scale(1.018)}.luxury-contact{background:linear-gradient(135deg, #243040f0, #5b3d27e6), var(--ink);margin-top:54px}.luxury-contact .button.secondary{color:#fff;background:#ffffff1f;border-color:#ffffff38}.map-section{padding-top:72px}.map-card{border:1px solid var(--line);border-radius:var(--radius);background:#fffdf8;position:relative;overflow:hidden;box-shadow:0 22px 70px #5237231c}.map-card iframe{border:0;width:100%;height:min(520px,68vh);display:block}.map-button{position:absolute;bottom:18px;left:18px}.luxury-footer{color:#ffffffb8;background:#1b2532;padding-bottom:120px}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@media (max-width:900px){.hero,.detail-grid,.booking-grid,.admin-grid{grid-template-columns:1fr}.room-grid,.stat-grid,.facility-grid,.pricing-location-grid,.about-section{grid-template-columns:1fr 1fr}.contact-section{grid-template-columns:1fr}.contact-actions{justify-content:flex-start}.luxury-room-grid,.review-grid,.luxury-about,.nearby-section{grid-template-columns:1fr}.luxury-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-booking-card{width:min(100%,320px);margin-top:26px;position:relative;bottom:auto;right:auto}}@media (max-width:640px){.site-header{flex-direction:column;align-items:flex-start}.hero{min-height:auto;padding-top:30px}.room-grid,.stat-grid,.row,.facility-grid,.pricing-location-grid,.about-section,.about-stats{grid-template-columns:1fr}h1{font-size:2.5rem}.hero-note{max-width:calc(100% - 20px);bottom:10px;left:10px}.price-row{flex-direction:column;align-items:flex-start}.price-row strong{text-align:left}.chatbot-shell{bottom:14px;right:14px}.chatbot-panel{width:min(360px,100vw - 28px);max-height:min(520px,100vh - 92px)}.site-footer{padding-bottom:96px}.luxury-nav{gap:12px;padding:12px 16px}.luxury-nav nav{gap:11px;font-size:.82rem}.luxury-hero{min-height:92vh;padding:126px 18px 44px}.luxury-hero-content h1{font-size:clamp(2.7rem,13vw,4rem)}.luxury-hero-content p:not(.eyebrow){font-size:.98rem}.section-shell{padding-block:46px}.nearby-grid,.luxury-gallery{grid-template-columns:1fr}.luxury-gallery img:first-child,.luxury-gallery img:nth-child(6){aspect-ratio:1;grid-column:span 1}.room-title-row,.room-price-row{flex-direction:column;align-items:flex-start}.room-price-row span{text-align:left}.chatbot-history{min-height:190px}.chatbot-launcher{min-height:46px;padding-inline:14px}.map-button{bottom:12px;left:12px;right:12px}.map-card iframe{height:420px}}
