:root{--bg: #0a0a0c;--bg-elevated: #17171b;--bg-elevated-2: #1f1f24;--border: rgba(212, 175, 106, .18);--champagne: #d4af6a;--champagne-light: #e8cc94;--cream: #f2ede4;--muted: #a39c8f;--danger: #e08585;--success: #8fc9a0;--font-heading: "Playfair Display", serif;--font-body: "Inter", sans-serif;--radius: 14px;--shadow: 0 25px 60px rgba(0, 0, 0, .55);--glass-bg: rgba(23, 23, 27, .45);--glow: 0 0 45px rgba(212, 175, 106, .25);--navbar-height: 108px}*{box-sizing:border-box}body{margin:0;font-family:var(--font-body);color:var(--cream);background:linear-gradient(#0a0a0cdb,#0a0a0ce6),url(/images/ocean-waves-bg.jpg);background-size:cover;background-position:center;background-attachment:fixed;background-repeat:no-repeat}h1,h2,h3{font-family:var(--font-heading);color:var(--cream);font-weight:600;margin:0 0 .5rem}a{color:var(--champagne-light);text-decoration:none}.app{min-height:100vh;display:flex;flex-direction:column}.app__content{flex:1;padding-top:var(--navbar-height)}.navbar{position:fixed;top:0;left:0;right:0;z-index:1000;display:flex;justify-content:space-between;align-items:center;padding:1.25rem 3rem;min-height:var(--navbar-height);background:#17171b38;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}.navbar__brand{font-family:var(--font-heading);font-size:3.2rem;font-weight:700;color:var(--champagne);letter-spacing:.04em;line-height:1}.navbar__links{display:flex;align-items:center;gap:1.75rem}.navbar__links a{color:var(--cream);font-size:.95rem;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.6)}.navbar__links a:hover{color:var(--champagne-light)}.navbar__user{color:var(--muted);font-size:.85rem}.btn{display:inline-block;padding:.65rem 1.4rem;border-radius:999px;border:1px solid transparent;font-weight:600;cursor:pointer;font-family:var(--font-body);font-size:.9rem;transition:all .2s ease}.btn--primary{background:var(--champagne);color:#14120d}.btn--primary:hover{background:var(--champagne-light)}.btn--ghost{background:transparent;border-color:var(--border);color:var(--cream)}.btn--ghost:hover{border-color:var(--champagne);color:var(--champagne-light)}.btn--lg{padding:.9rem 2.2rem;font-size:1rem}.btn--block{width:100%;text-align:center}.hero{position:relative;background:radial-gradient(ellipse at 50% 0%,rgba(212,175,106,.14),transparent 60%),linear-gradient(#0a0a0ccc,#0a0a0ceb),url(https://picsum.photos/seed/luxury-resort-hero/1600/900);background-size:cover;background-position:center;padding:9rem 3rem;text-align:center;border-bottom:1px solid var(--border)}.hero__eyebrow{color:var(--champagne);letter-spacing:.25em;text-transform:uppercase;font-size:.75rem}.hero--brand{background:#0a0a0c80;padding:7rem 3rem}.hero__brand-title{font-family:var(--font-heading);font-size:7.5rem;font-weight:700;letter-spacing:.06em;margin:0;background:linear-gradient(120deg,#e8cc94,#d4af6a 45%,#e0895a 75%,#d4af6a);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 60px rgba(212,175,106,.35)}.hero h1{font-size:3.75rem;margin:.75rem 0 1.25rem}.hero p{max-width:560px;margin:0 auto 2.25rem;color:var(--muted);font-size:1.05rem;line-height:1.6}.section{padding:4rem 3rem;max-width:1200px;margin:0 auto}.section--narrow{max-width:460px}.section__title{text-align:center;margin-bottom:.5rem}.section__subtitle{text-align:center;color:var(--muted);margin-bottom:2.5rem}.rooms-header{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:2.5rem;flex-wrap:wrap;gap:1rem}.filter{display:flex;flex-direction:column;font-size:.8rem;color:var(--muted)}.filter input{margin-top:.4rem;padding:.55rem .7rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-elevated-2);color:var(--cream)}.room-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.carousel{margin-bottom:3rem}.carousel__header{margin-bottom:1.25rem}.carousel__body{position:relative}.carousel__arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;border:1px solid var(--border);background:var(--bg-elevated);color:var(--cream);font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow);z-index:2;transition:all .2s ease}.carousel__arrow--left{left:-22px}.carousel__arrow--right{right:-22px}.carousel__arrow:hover{border-color:var(--champagne);color:var(--champagne-light);background:var(--bg-elevated-2)}.carousel__track{display:flex;gap:1.75rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:.5rem;scrollbar-width:none}.carousel__track::-webkit-scrollbar{display:none}.carousel__item{flex:0 0 280px;scroll-snap-align:start}.room-card{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow),var(--glow);display:flex;flex-direction:column;transition:transform .25s ease,border-color .25s ease,box-shadow .25s ease}.room-card:hover{transform:translateY(-4px);border-color:var(--champagne);box-shadow:var(--shadow),0 0 60px #d4af6a66}.room-card__image{width:100%;height:200px;object-fit:cover}.room-card__body{padding:1.4rem;display:flex;flex-direction:column;gap:.6rem;flex:1}.pill{display:inline-flex;align-items:center;gap:.3rem;padding:.2rem .65rem;border:1px solid var(--border);border-radius:999px;text-transform:uppercase;font-size:.68rem;letter-spacing:.08em;color:var(--champagne-light);width:fit-content}.room-card__meta{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.stat{display:inline-flex;align-items:center;gap:.35rem;color:var(--muted);font-size:.85rem}.stat svg{color:var(--champagne)}.room-card__description{color:var(--muted);font-size:.9rem;line-height:1.5;flex:1}.room-card__footer{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;padding-top:.9rem;border-top:1px solid var(--border)}.room-card__price{font-weight:600;color:var(--champagne-light);font-family:var(--font-heading)}.villa-detail__hero{width:100%;max-height:480px;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);margin-bottom:2rem}.villa-detail__header{max-width:720px;margin-bottom:1.5rem}.room-detail__description{color:var(--muted);line-height:1.6;margin:1rem 0 1.5rem}.stats-bar{display:flex;gap:1.5rem;padding:1.25rem 0;margin-bottom:1.5rem;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.stats-bar--full{justify-content:space-around;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);padding:1.75rem 1rem;box-shadow:var(--glow)}.stats-bar--full .stats-bar__item{align-items:center;text-align:center}.stats-bar__item{display:flex;flex-direction:column;gap:.3rem}.villa-layout{display:grid;grid-template-columns:1.4fr 1fr;gap:3rem;align-items:start;margin-top:2.5rem}.villa-content h2{margin-top:2rem}.villa-content h2:first-child{margin-top:0}.villa-booking{position:sticky;top:calc(var(--navbar-height) + 1.5rem);background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow),var(--glow)}.villa-booking__price{display:flex;align-items:baseline;gap:.4rem;margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.villa-booking__amount{font-family:var(--font-heading);font-size:2rem;color:var(--champagne-light)}.villa-booking__unit{color:var(--muted);font-size:.9rem}.villa-booking__form{background:transparent;padding:0;border:none;box-shadow:none}.villa-booking__breakdown{display:flex;flex-direction:column;gap:.5rem;padding:1rem 0;border-top:1px solid var(--border);font-size:.9rem;color:var(--muted)}.villa-booking__breakdown>div{display:flex;justify-content:space-between}.villa-booking__total{padding-top:.5rem;border-top:1px solid var(--border);color:var(--cream);font-weight:700;font-family:var(--font-heading);font-size:1.1rem}.stats-bar__item span:first-child{color:var(--muted);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}.stats-bar__item span:last-child{color:var(--cream);font-weight:600;display:flex;align-items:center;gap:.35rem}.stats-bar__item svg{color:var(--champagne)}.amenities{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:0 0 1.75rem}.amenities li{padding:.35rem .8rem;background:var(--bg-elevated-2);border:1px solid var(--border);border-radius:999px;font-size:.8rem;color:var(--muted)}.form{display:flex;flex-direction:column;gap:1.1rem;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);padding:2rem;border-radius:var(--radius);border:1px solid var(--border);box-shadow:var(--shadow),var(--glow)}.form label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;color:var(--muted)}.form input{padding:.65rem .8rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-elevated-2);color:var(--cream);font-family:var(--font-body)}.form input:focus{outline:none;border-color:var(--champagne)}.form__error{color:var(--danger);font-size:.85rem}.form__success{color:var(--success);font-size:.85rem}.guest-portal__header{margin-bottom:2rem}.guest-portal__section-title{margin:0 0 1.5rem}.guest-portal__layout{display:grid;grid-template-columns:1.6fr 1fr;gap:3rem;align-items:start;margin-top:2.5rem}.concierge-card{position:sticky;top:calc(var(--navbar-height) + 1.5rem);background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);padding:2rem;box-shadow:var(--shadow),var(--glow);text-align:center}.concierge-card__avatar{width:64px;height:64px;margin:0 auto 1rem;border-radius:50%;background:var(--champagne);color:#14120d;display:flex;align-items:center;justify-content:center;font-family:var(--font-heading);font-weight:700;font-size:1.3rem}.concierge-card p{color:var(--muted);font-size:.9rem;line-height:1.6;margin:.75rem 0 1.5rem}.concierge-card__name{color:var(--cream);font-family:var(--font-heading);font-size:1.05rem;margin:0 0 .2rem!important}.concierge-card__role{color:var(--champagne-light);font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;margin:0!important}.stat-feature{display:flex;gap:1.5rem;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow),var(--glow);overflow:hidden;margin-bottom:1.25rem}.stat-feature img{width:280px;min-width:220px;object-fit:cover}.stat-feature__body{padding:1.5rem 1.75rem 1.5rem 0;display:flex;flex-direction:column;justify-content:center;gap:.5rem}.stat-feature__body:only-child{padding-left:1.75rem}.stat-feature__body h3{margin:0}.stat-feature__body p{color:var(--muted);line-height:1.6;margin:0}.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.stat-card{background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);padding:1.4rem;box-shadow:var(--glow);display:flex;flex-direction:column;justify-content:space-between;gap:.9rem;min-height:118px}.stat-card__header{display:flex;justify-content:space-between;align-items:center;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.08em}.stat-card__header svg{color:var(--champagne)}.stat-card__value{font-family:var(--font-heading);font-size:1.15rem;font-weight:600;color:var(--cream);letter-spacing:.01em;line-height:1.35;font-variant-numeric:tabular-nums}.date-range{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;font-family:var(--font-heading);font-size:1rem;font-weight:600;color:var(--cream)}.date-range__arrow{color:var(--champagne);font-weight:400}.timeline{position:relative;display:flex;flex-direction:column;gap:1.5rem;padding-left:1.75rem}.timeline:before{content:"";position:absolute;left:5px;top:8px;bottom:8px;width:1px;background:var(--border)}.timeline-item{position:relative}.timeline-item__dot{position:absolute;left:-1.75rem;top:1.4rem;width:11px;height:11px;border-radius:50%;background:var(--champagne);box-shadow:0 0 12px #d4af6ab3}.timeline-item__card{display:flex;align-items:center;gap:1.5rem;background:var(--glass-bg);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);border-radius:var(--radius);padding:1.1rem;box-shadow:var(--glow)}.timeline-item__card img{width:120px;height:90px;object-fit:cover;border-radius:10px}.timeline-item__card>div{flex:1}.timeline-item__card p{color:var(--muted);margin:.2rem 0}.badge{display:inline-block;padding:.25rem .7rem;border-radius:999px;font-size:.72rem;text-transform:capitalize;border:1px solid var(--border)}.badge--confirmed{color:var(--success);border-color:#8fc9a066}.badge--cancelled{color:var(--danger);border-color:#e0858566}.footer{background:#17171b38;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-top:1px solid var(--border);color:var(--muted);text-align:center;padding:.9rem}.footer p:first-child{color:var(--champagne-light);font-family:var(--font-heading);font-size:1rem;margin:0 0 .3rem}.footer__links{display:flex;justify-content:center;gap:.5rem;font-size:.8rem;color:var(--muted)}.footer__links a{color:var(--champagne-light);text-decoration:underline}.footer__links a:hover{color:var(--champagne)}@media (max-width: 768px){:root{--navbar-height: 190px}.navbar{flex-direction:column;gap:1rem;padding:1.25rem}.hero{padding:5.5rem 1.5rem}.hero h1{font-size:2.5rem}.hero__brand-title{font-size:3.75rem}.villa-layout,.guest-portal__layout{grid-template-columns:1fr}.villa-booking,.concierge-card{position:static}.stat-cards{grid-template-columns:1fr}.stat-feature{flex-direction:column}.stat-feature img{width:100%;height:180px}.stat-feature__body,.stat-feature__body:only-child{padding:0 1.25rem 1.25rem}.stats-bar--full{flex-wrap:wrap;gap:1.5rem}.section{padding:2.5rem 1.25rem}.carousel__arrow{width:36px;height:36px;font-size:1.2rem}.carousel__arrow--left{left:0}.carousel__arrow--right{right:0}}
