.hero{justify-content:center;align-items:center;height:800px;display:flex;position:relative;overflow:hidden}.hero-bg{position:absolute;inset:0}.hero-bg-img{object-fit:cover;width:100%;height:100%}.hero-overlay{background:linear-gradient(#0009,#0006,#000c);position:absolute;inset:0}.hero-content{z-index:10;text-align:center;max-width:1024px;margin:0 auto;padding:0 16px;position:relative}@media (width>=640px){.hero-content{padding:0 24px}}.hero-badge-wrap{margin-bottom:24px}.hero-badge{color:var(--champagne);letter-spacing:.05em;background:#c6a77d1a;border:1px solid #c6a77d4d;border-radius:9999px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-block}.hero-title{margin-bottom:24px;font-size:48px;font-weight:700;line-height:1.15}.hero-title-accent{color:var(--champagne)}@media (width>=640px){.hero-title{font-size:60px}}@media (width>=768px){.hero-title{font-size:72px}}@media (width>=1024px){.hero-title{font-size:96px}}.hero-subtitle{color:#d1d5db;max-width:768px;margin-bottom:48px;margin-left:auto;margin-right:auto;font-size:20px;line-height:1.6}@media (width>=640px){.hero-subtitle{font-size:24px}}.hero-actions{flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex}@media (width>=640px){.hero-actions{flex-direction:row}}.hero-scroll-indicator{animation:2s infinite bounce;position:absolute;bottom:32px;left:50%;transform:translate(-50%)}.hero-scroll-indicator i{color:var(--champagne);font-size:24px}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%)translateY(0)}40%{transform:translate(-50%)translateY(-10px)}60%{transform:translate(-50%)translateY(-5px)}}.trust-badges{background:var(--charcoal);border-top:1px solid #c6a77d1a;border-bottom:1px solid #c6a77d1a}.trust-badges-container{max-width:1280px;margin:0 auto;padding:32px 16px}@media (width>=640px){.trust-badges-container{padding:32px 24px}}@media (width>=1024px){.trust-badges-container{padding:32px}}.trust-badges-grid{grid-template-columns:repeat(2,1fr);gap:24px;display:grid}@media (width>=768px){.trust-badges-grid{grid-template-columns:repeat(4,1fr);gap:32px}}.trust-badge{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.trust-badge-icon{background:#c6a77d1a;border-radius:50%;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.trust-badge-icon i{color:var(--champagne);font-size:24px}.trust-badge-title{color:#fff;font-weight:600;font-family:var(--font-sans);margin-bottom:4px;font-size:16px}.trust-badge-sub{color:#9ca3af;font-size:14px}.apartments-section{background:var(--bg-body);padding:80px 0}.apartments-container{max-width:1280px;margin:0 auto;padding:0 16px}@media (width>=640px){.apartments-container{padding:0 24px}}@media (width>=1024px){.apartments-container{padding:0 32px}}.apartments-scroll{scrollbar-width:none;-ms-overflow-style:none;padding-bottom:32px;overflow-x:auto}.apartments-scroll::-webkit-scrollbar{display:none}.apartments-grid{gap:24px;min-width:max-content;display:flex}@media (width>=768px){.apartments-grid{grid-template-columns:repeat(2,1fr);gap:32px;min-width:0;display:grid}}.apartment-card{background:var(--darkgray);cursor:pointer;border:1px solid #0000;border-radius:16px;width:320px;transition:all .5s cubic-bezier(.4,0,.2,1);display:block;overflow:hidden}.apartment-card:hover{border-color:#c6a77d33}@media (width>=768px){.apartment-card{width:auto}}.apartment-image-wrap{height:320px;position:relative;overflow:hidden}.apartment-image{object-fit:cover;width:100%;height:100%;transition:transform .7s cubic-bezier(.4,0,.2,1)}.apartment-card:hover .apartment-image{transform:scale(1.1)}.apartment-image-overlay{background:linear-gradient(#0000,#0006,#000000e6);position:absolute;inset:0}.apartment-info{padding:24px}.apartment-name{margin-bottom:12px;font-size:24px;font-weight:700}.apartment-desc{color:#9ca3af;margin-bottom:16px}.apartment-features{border-top:1px solid #c6a77d33;grid-template-columns:repeat(4,1fr);gap:16px;padding-top:16px;display:grid}.apartment-feature{text-align:center}.apartment-feature i{color:var(--champagne);margin-bottom:8px}.apartment-feature p{color:#9ca3af;font-size:12px}.reviews-section{background:var(--charcoal);padding:80px 0}.reviews-container{max-width:1280px;margin:0 auto;padding:0 16px}@media (width>=640px){.reviews-container{padding:0 24px}}@media (width>=1024px){.reviews-container{padding:0 32px}}.reviews-layout{flex-direction:column;align-items:flex-start;gap:32px;display:flex}@media (width>=1024px){.reviews-layout{flex-direction:row}}.reviews-sidebar{width:100%}@media (width>=1024px){.reviews-sidebar{width:33.333%}}.rating-card{background:var(--darkgray);border:1px solid #c6a77d33;border-radius:16px;padding:32px}.rating-header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}.rating-score{font-size:48px;font-family:var(--font-serif);color:var(--champagne);margin-bottom:8px;font-weight:700}.rating-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.05em;font-size:14px}.rating-stars-wrap{text-align:right}.rating-stars{justify-content:flex-end;gap:4px;margin-bottom:8px;display:flex}.rating-stars i{color:var(--gold)}.rating-count{color:#9ca3af;font-size:12px}.rating-bars{border-top:1px solid #c6a77d33;flex-direction:column;gap:16px;padding-top:24px;display:flex}.rating-bar-row{justify-content:space-between;align-items:center;display:flex}.rating-bar-label{color:#d1d5db;font-size:14px}.rating-bar-track-wrap{align-items:center;gap:8px;display:flex}.rating-bar-track{background:var(--darkgray);border-radius:9999px;width:96px;height:8px;overflow:hidden}.rating-bar-fill{background:var(--champagne);border-radius:9999px;height:100%}.rating-bar-score{color:var(--champagne);font-size:14px;font-weight:600}.reviews-list{flex-direction:column;gap:24px;width:100%;display:flex}@media (width>=1024px){.reviews-list{width:66.666%}}.review-card{background:var(--darkgray);border:1px solid #c6a77d1a;border-radius:16px;padding:24px;transition:border-color .3s}.review-card:hover{border-color:#c6a77d4d}.review-top{align-items:flex-start;gap:16px;display:flex}.review-booking-logo{background:#003580;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.review-booking-logo span{color:#fff;font-size:22px;font-weight:800;line-height:1}.review-meta{flex:1}.review-meta-top{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.review-name{color:#fff;font-weight:600;font-family:var(--font-sans)}.review-stars{gap:4px;display:flex}.review-stars i{color:var(--gold);font-size:14px}.review-stay{color:#9ca3af;margin-bottom:12px;font-size:14px}.review-text{color:#d1d5db;line-height:1.6}.amenities-section{background:var(--bg-body);padding:80px 0}.amenities-container{max-width:1280px;margin:0 auto;padding:0 16px}@media (width>=640px){.amenities-container{padding:0 24px}}@media (width>=1024px){.amenities-container{padding:0 32px}}.amenities-grid{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=640px){.amenities-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.amenities-grid{grid-template-columns:repeat(3,1fr)}}.amenity-card{background:var(--darkgray);border-radius:16px;padding:32px;transition:all .3s}.amenity-card:hover{transform:scale(1.05)}.amenity-icon{background:#c6a77d1a;border-radius:12px;justify-content:center;align-items:center;width:64px;height:64px;margin-bottom:24px;display:flex}.amenity-icon i{color:var(--champagne);font-size:30px}.amenity-title{margin-bottom:12px;font-size:24px;font-weight:700}.amenity-desc{color:#9ca3af;line-height:1.6}.gallery-section{background:var(--bg-body);padding:80px 0}.gallery-container{max-width:1280px;margin:0 auto;padding:0 16px}@media (width>=640px){.gallery-container{padding:0 24px}}@media (width>=1024px){.gallery-container{padding:0 32px}}.gallery-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=640px){.gallery-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}.gallery-item{cursor:pointer;border-radius:12px;height:288px;position:relative;overflow:hidden}.gallery-item-wide{grid-column:span 1}@media (width>=640px){.gallery-item-wide{grid-column:span 2}}.gallery-image{object-fit:cover;width:100%;height:100%;transition:transform .7s}.gallery-item:hover .gallery-image{transform:scale(1.1)}.gallery-overlay{background:#0006;transition:background .3s;position:absolute;inset:0}.gallery-item:hover .gallery-overlay{background:#0009}.gallery-label{position:absolute;bottom:16px;left:16px;right:16px}.gallery-label h3{color:#fff;font-size:20px;font-weight:700}
