@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Italiana&display=swap');
:root{--deep:#0b2f35;--teal:#176a72;--aqua:#83c3bd;--sand:#e9dfcd;--cream:#f7f3eb;--ink:#17383d;--muted:#6d7d7b;--line:#dcded6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--cream);font-family:"DM Sans",sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;width:100%}button,input,select{font:inherit}.hotel-container{width:min(1220px,calc(100% - 64px));margin:auto}.demo-bar{height:34px;display:flex;align-items:center;justify-content:center;gap:42px;padding:0 24px;color:#95a6a8;background:#071c20;font-size:10px}.demo-bar a{color:white;font-weight:600}.hotel-header{position:absolute;z-index:20;top:34px;width:100%;color:white;border-bottom:1px solid rgba(255,255,255,.18)}.hotel-nav{height:90px;display:flex;align-items:center;justify-content:space-between}.hotel-logo{display:grid;grid-template-columns:36px auto;grid-template-rows:22px 12px;align-items:center;column-gap:11px}.logo-moon{grid-row:1/3;position:relative;width:36px;height:36px;border:1px solid currentColor;border-radius:50%}.logo-moon::after{content:"";position:absolute;right:4px;top:5px;width:22px;height:22px;background:currentColor;border-radius:50%;box-shadow:-7px 0 0 0 var(--deep)}.hotel-logo strong{font-size:19px;letter-spacing:4px}.hotel-logo small{font-size:8px;letter-spacing:5px;opacity:.7}.hotel-menu{display:flex;align-items:center;gap:34px;font-size:12px;font-weight:600}.hotel-menu a{position:relative}.hotel-menu a::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:white;transition:.2s}.hotel-menu a:hover::after{width:100%}.header-book{padding:12px 20px;border:1px solid rgba(255,255,255,.6);font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.hotel-menu-button{display:none}.hotel-hero{position:relative;min-height:850px;display:flex;align-items:center;overflow:hidden;color:white;background:var(--deep)}.hero-image{position:absolute;inset:0;height:100%;object-fit:cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,29,33,.88) 0%,rgba(5,29,33,.56) 43%,rgba(5,29,33,.08) 76%),linear-gradient(0deg,rgba(5,29,33,.55),transparent 48%)}.hero-content{position:relative;z-index:2;padding-top:85px}.hero-overline,.section-overline{font-size:10px;font-weight:700;letter-spacing:2.7px;text-transform:uppercase}.hero-overline::before,.section-overline::before{content:"";display:inline-block;width:38px;height:1px;margin:0 12px 3px 0;background:currentColor}.hero-content h1{max-width:760px;margin:28px 0 22px;font:400 clamp(58px,6.5vw,96px)/.98 "Italiana",serif;letter-spacing:-2px}.hero-content h1 em,.hotel-intro h2 em{color:var(--aqua);font-style:normal}.hero-content p{max-width:520px;color:rgba(255,255,255,.72);font-size:16px;line-height:1.75}.watch-link{display:inline-flex;align-items:center;gap:12px;margin-top:30px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1.2px}.watch-link i{width:34px;height:34px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.45);border-radius:50%;font-style:normal}.hero-side{position:absolute;z-index:2;right:28px;top:50%;transform:rotate(90deg) translateX(50%);transform-origin:right;color:rgba(255,255,255,.55);font-size:9px;letter-spacing:2px}.booking-wrap{position:absolute;z-index:4;left:50%;bottom:0;transform:translate(-50%,50%)}.booking-bar{display:grid;grid-template-columns:1fr 1fr 1fr 1.25fr;min-height:104px;background:white;box-shadow:0 25px 65px rgba(5,30,35,.2)}.booking-bar label{display:flex;flex-direction:column;justify-content:center;padding:0 25px;border-right:1px solid #e2e5df}.booking-bar label span{margin-bottom:8px;color:#82908e;font-size:9px;font-weight:700;letter-spacing:1.4px;text-transform:uppercase}.booking-bar input,.booking-bar select{width:100%;padding:0;color:var(--ink);background:white;border:0;outline:0;font-size:13px;font-weight:600}.booking-bar button{color:white;background:var(--teal);border:0;font-size:11px;font-weight:700;letter-spacing:.7px;text-transform:uppercase;cursor:pointer}.booking-bar button b{margin-left:12px;font-size:16px}.hotel-intro{padding:155px 0 100px}.intro-layout{display:grid;grid-template-columns:.35fr 1.1fr .85fr;gap:50px;align-items:end}.intro-index{display:flex;align-items:center;gap:12px;color:#87918d}.intro-index span{font:36px "Italiana",serif}.intro-index i{width:35px;height:1px;background:#aeb5af}.intro-index small{font-size:9px;text-transform:uppercase;letter-spacing:1.5px}.intro-title .section-overline,.experience-copy .section-overline,.gallery-heading .section-overline{color:var(--teal)}.intro-title h2,.rooms-heading h2,.experience-copy h2,.gallery-heading h2,.hotel-contact h2{margin:18px 0 0;font:400 clamp(40px,4.3vw,64px)/1.1 "Italiana",serif;letter-spacing:-1px}.intro-copy p{margin:0;color:var(--muted);font-size:14px;line-height:1.9}.intro-copy a,.experience-copy>a{display:inline-flex;gap:10px;margin-top:24px;color:var(--teal);font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px}.values{display:grid;grid-template-columns:repeat(4,1fr);margin-top:90px;padding-top:35px;border-top:1px solid var(--line)}.values article{display:flex;align-items:center;gap:16px;padding:0 30px;border-right:1px solid var(--line)}.values article:first-child{padding-left:0}.values article:last-child{border:0}.values b{font:40px "Italiana",serif;color:var(--teal)}.values span{max-width:100px;color:#7d8a87;font-size:10px;line-height:1.4;text-transform:uppercase;letter-spacing:.8px}.rooms{padding:110px 0;background:var(--deep);color:white}.rooms-heading{display:grid;grid-template-columns:1.1fr .9fr;gap:90px;align-items:end;margin-bottom:55px}.rooms-heading p{margin:0;color:#9ab0b0;font-size:14px;line-height:1.8}.room-feature{display:grid;grid-template-columns:1.4fr .6fr;min-height:520px;background:#123d43}.room-photo{position:relative;overflow:hidden}.room-photo img{height:100%;object-fit:cover}.room-photo>span{position:absolute;left:25px;bottom:20px;padding:7px 10px;background:rgba(7,34,38,.75);font-size:9px;letter-spacing:1px}.room-detail{display:flex;flex-direction:column;justify-content:center;padding:48px}.room-type{color:var(--aqua);font-size:9px;font-weight:700;letter-spacing:1.8px;text-transform:uppercase}.room-detail h3{margin:18px 0;font:42px "Italiana",serif}.room-detail>p{color:#9eb2b1;font-size:13px;line-height:1.8}.room-specs{display:flex;flex-wrap:wrap;gap:15px;margin:22px 0;color:#b4c3c1;font-size:10px}.room-bottom{display:flex;align-items:end;justify-content:space-between;margin-top:auto;padding-top:25px;border-top:1px solid rgba(255,255,255,.12)}.room-bottom small,.room-bottom strong{display:block}.room-bottom small{margin-bottom:4px;color:#7f9b9a;font-size:9px;text-transform:uppercase}.room-bottom strong{font:25px "Italiana",serif}.room-bottom a{font-size:10px;text-transform:uppercase;letter-spacing:.8px}.room-small-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-top:1px;background:rgba(255,255,255,.12)}.room-small-grid article{padding:33px 38px;background:var(--deep)}.room-small-grid span{color:var(--aqua);font-size:8px;letter-spacing:1.5px}.room-small-grid h3{margin:12px 0 8px;font:26px "Italiana",serif}.room-small-grid p{color:#8fa5a4;font-size:12px}.room-small-grid a{font-size:10px;font-weight:700}.experiences{padding:130px 0}.experience-layout{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;align-items:center}.experience-image{position:relative}.experience-image img{height:650px;object-fit:cover}.image-note{position:absolute;right:-25px;bottom:35px;padding:18px 22px;color:white;background:var(--teal);font-size:9px;letter-spacing:1.2px;text-transform:uppercase}.experience-copy{padding-right:30px}.experience-copy p{margin:25px 0;color:var(--muted);font-size:14px;line-height:1.85}.experience-copy ul{margin:25px 0;padding:25px 0;list-style:none;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.experience-copy li{position:relative;margin:12px 0;padding-left:20px;color:#667471;font-size:12px}.experience-copy li::before{content:"·";position:absolute;left:3px;color:var(--teal);font-size:20px;line-height:12px}.hotel-gallery{padding:120px 0;background:#e9e3d7}.gallery-heading{display:flex;align-items:end;justify-content:space-between;margin-bottom:45px}.gallery-heading>a{margin-bottom:10px;color:var(--teal);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.gallery-mosaic{display:grid;grid-template-columns:1.2fr .8fr .8fr;height:580px;gap:8px;padding:0 8px}.gallery-mosaic figure{position:relative;overflow:hidden;margin:0}.gallery-mosaic img{height:100%;object-fit:cover;transition:transform .6s}.gallery-mosaic figure:hover img{transform:scale(1.03)}.gallery-mosaic figcaption{position:absolute;left:20px;bottom:18px;padding:8px 11px;color:white;background:rgba(7,34,38,.7);font-size:9px;text-transform:uppercase;letter-spacing:1px}.quote-section{padding:100px 0;background:var(--cream)}.quote-layout{text-align:center}.quote-layout>span{display:block;color:var(--aqua);font:90px/1 "Italiana",serif}.quote-layout blockquote{max-width:850px;margin:0 auto 35px;font:37px/1.35 "Italiana",serif}.quote-layout b,.quote-layout small{display:block}.quote-layout b{font-size:11px;text-transform:uppercase;letter-spacing:1px}.quote-layout small{margin-top:6px;color:#8b9692;font-size:9px}.hotel-contact{position:relative;min-height:610px;display:flex;align-items:center;color:white;overflow:hidden;background:var(--deep)}.contact-background{position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,35,39,.94),rgba(5,35,39,.52)),url("assets/luna-hotel-hero.png") center/cover}.contact-content{position:relative}.hotel-contact h2{max-width:700px;font-size:70px}.hotel-contact p{color:#adbfbd}.hotel-contact a{display:inline-flex;gap:20px;margin-top:25px;padding:17px 23px;color:var(--deep);background:white;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:1px}.hotel-footer{padding:65px 0 25px;color:white;background:#071d21}.footer-top{display:grid;grid-template-columns:1.5fr 1fr 1fr .7fr;gap:50px;padding-bottom:50px}.footer-logo{align-self:start}.footer-logo .logo-moon::after{box-shadow:-7px 0 0 0 #071d21}.footer-top>div small,.footer-top>div a,.footer-top>div p{display:block}.footer-top>div small{margin-bottom:16px;color:#6f8988;font-size:8px;letter-spacing:1.5px;text-transform:uppercase}.footer-top>div a,.footer-top>div p{margin:7px 0;color:#a5b6b4;font-size:11px;line-height:1.5}.footer-bottom{display:flex;justify-content:space-between;padding-top:22px;color:#607877;border-top:1px solid rgba(255,255,255,.08);font-size:9px}.hotel-menu-button{border:0;background:transparent}
@media(max-width:980px){.hotel-menu{gap:20px}.intro-layout{grid-template-columns:1fr 1fr}.intro-index{display:none}.room-feature{grid-template-columns:1fr}.room-photo{height:500px}.room-detail{min-height:400px}.experience-layout{grid-template-columns:1fr;gap:50px}.experience-image img{height:550px}.experience-copy{padding:0}.footer-top{grid-template-columns:1fr 1fr}}
@media(max-width:720px){.hotel-container{width:calc(100% - 32px)}.demo-bar{justify-content:space-between;gap:8px}.demo-bar span{display:none}.hotel-nav{height:72px}.hotel-logo{grid-template-columns:32px auto}.logo-moon{width:32px;height:32px}.logo-moon::after{width:19px;height:19px}.hotel-logo strong{font-size:16px}.hotel-menu-button{position:relative;z-index:23;width:43px;height:43px;display:block;border:1px solid rgba(255,255,255,.4)}.hotel-menu-button i{display:block;width:20px;height:1px;margin:6px auto;background:white}.hotel-menu{position:fixed;inset:34px 0 0;z-index:22;display:flex;flex-direction:column;justify-content:center;visibility:hidden;opacity:0;color:var(--deep);background:var(--cream);font-size:20px;transition:.2s}.hotel-menu.open{visibility:visible;opacity:1}.hotel-menu.open~.header-book{display:none}.header-book{display:none}.hotel-hero{min-height:790px;align-items:flex-start}.hero-image{object-position:62% center}.hero-shade{background:linear-gradient(0deg,rgba(4,29,33,.88),rgba(4,29,33,.25)),linear-gradient(90deg,rgba(4,29,33,.65),transparent)}.hero-content{padding-top:180px;text-align:center}.hero-overline{font-size:8px}.hero-content h1{font-size:52px;line-height:1.03}.hero-content p{font-size:14px;line-height:1.7}.watch-link{margin-top:20px}.hero-side{display:none}.booking-wrap{bottom:20px;transform:translate(-50%,0)}.booking-bar{grid-template-columns:1fr 1fr;min-height:auto}.booking-bar label{padding:14px;border-bottom:1px solid #e2e5df}.booking-bar label:nth-child(3){grid-column:1/3}.booking-bar button{grid-column:1/3;min-height:52px}.hotel-intro{padding:85px 0 70px}.intro-layout{grid-template-columns:1fr;gap:30px}.intro-title h2,.rooms-heading h2,.experience-copy h2,.gallery-heading h2{font-size:42px}.values{grid-template-columns:1fr 1fr;margin-top:55px;gap:25px}.values article{padding:0;border:0}.values b{font-size:34px}.rooms{padding:75px 0}.rooms-heading{grid-template-columns:1fr;gap:25px;margin-bottom:35px}.room-photo{height:310px}.room-detail{min-height:430px;padding:30px 23px}.room-detail h3{font-size:36px}.room-bottom{align-items:flex-start;flex-direction:column;gap:20px}.room-small-grid{grid-template-columns:1fr}.experiences{padding:75px 0}.experience-image img{height:410px}.image-note{right:0;bottom:0}.hotel-gallery{padding:75px 0}.gallery-heading{align-items:flex-start;flex-direction:column;gap:25px}.gallery-mosaic{grid-template-columns:1fr 1fr;grid-template-rows:320px 220px;height:auto}.gallery-mosaic figure:first-child{grid-column:1/3}.quote-section{padding:70px 0}.quote-layout blockquote{font-size:29px}.hotel-contact{min-height:540px}.hotel-contact h2{font-size:48px}.footer-top{grid-template-columns:1fr;gap:30px}.footer-bottom{flex-direction:column;gap:8px}}
@media(max-width:390px){.hero-content h1{font-size:46px}.booking-bar input,.booking-bar select{font-size:11px}.values{grid-template-columns:1fr}.gallery-mosaic{grid-template-columns:1fr;grid-template-rows:280px 220px 220px}.gallery-mosaic figure:first-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
