:root {
    --sand:#F6F2EB; --navy:#1C3550; --navy-dark:#0E2135;
    --gold:#C9A262; --gold-light:#E8C88A; --cream:#EDE6D8;
    --text:#2A2A2A; --muted:#7A7A7A; --white:#FFFFFF;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Jost',sans-serif;background:var(--sand);color:var(--text);overflow-x:hidden;}

/* ─── NAV ─── */
nav{position:fixed;top:0;left:0;right:0;z-index:999;padding:20px 60px;display:flex;align-items:center;justify-content:space-between;transition:all .4s ease;}
nav.scrolled{background:rgba(14,33,53,.96);backdrop-filter:blur(14px);padding:14px 60px;box-shadow:0 2px 30px rgba(0,0,0,.25);}
.logo-img{height:46px;transition:height .3s;}
nav.scrolled .logo-img{height:36px;}
.nav-links{display:flex;align-items:center;gap:30px;list-style:none;}
.nav-links a{color:rgba(255,255,255,.82);text-decoration:none;font-size:11px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;transition:color .3s;}
.nav-links a:hover{color:var(--gold);}
.nav-book{background:var(--gold);color:var(--navy-dark)!important;padding:10px 24px;font-weight:600!important;}
.nav-book:hover{background:var(--white)!important;}
.menu-toggle{display:none;background:none;border:none;cursor:pointer;flex-direction:column;gap:5px;padding:4px;}
.menu-toggle span{display:block;width:24px;height:2px;background:white;transition:all .3s;}
.mobile-nav{display:none;position:fixed;inset:0;background:var(--navy-dark);z-index:998;flex-direction:column;align-items:center;justify-content:center;gap:32px;}
.mobile-nav.open{display:flex;}
.mobile-nav a{color:white;font-size:20px;text-decoration:none;letter-spacing:2px;text-transform:uppercase;font-family:'Cormorant Garamond',serif;}

/* ─── HERO SLIDESHOW ─── */
#hero{height:100vh;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;}
.slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s ease;}
.slide.active{opacity:1;}
.slide:nth-child(1){background-image:url('images/Kouremenos-Beach-1.jpg');}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(165deg,rgba(14,33,53,.58) 0%,rgba(14,33,53,.22) 50%,rgba(14,33,53,.72) 100%);z-index:1;}
.hero-content{position:relative;z-index:2;text-align:center;padding:0 24px;display:flex;flex-direction:column;align-items:center;}
.hero-loc{font-size:11px;letter-spacing:5px;text-transform:uppercase;color:var(--gold);margin-bottom:22px;opacity:0;animation:up 1s forwards .4s;}
.hero-title{font-family:'Cormorant Garamond',serif;font-size:clamp(54px,8vw,112px);font-weight:300;color:white;line-height:1.0;margin-bottom:26px;opacity:0;animation:up 1s forwards .7s;}
.hero-title em{font-style:italic;color:var(--gold-light);}
.hero-sub{font-size:15px;font-weight:300;letter-spacing:.5px;color:rgba(255,255,255,.78);margin-bottom:50px;max-width:540px;opacity:0;animation:up 1s forwards 1s;}
.hero-btns{display:flex;gap:16px;justify-content:center;opacity:0;animation:up 1s forwards 1.3s;flex-wrap:wrap;}
.btn{display:inline-block;text-decoration:none;cursor:pointer;border:none;font-family:'Jost',sans-serif;transition:all .3s ease;}
.btn-gold{background:var(--gold);color:var(--navy-dark);padding:16px 42px;font-size:12px;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;}
.btn-gold:hover{background:white;transform:translateY(-3px);}
.btn-outline{background:transparent;color:white;padding:16px 42px;font-size:12px;font-weight:500;letter-spacing:2.5px;text-transform:uppercase;border:1px solid rgba(255,255,255,.45);}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px);}
/* slide dots */
.dots{position:absolute;bottom:90px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:8px;}
.dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.4);cursor:pointer;transition:all .3s;}
.dot.active{background:var(--gold);width:22px;border-radius:3px;}
/* ribbon */
.ribbon{position:absolute;bottom:0;left:0;right:0;z-index:2;background:rgba(14,33,53,.88);backdrop-filter:blur(12px);display:flex;justify-content:center;}
.rib-stat{padding:20px 52px;text-align:center;border-right:1px solid rgba(255,255,255,.08);}
.rib-stat:last-child{border-right:none;}
.rib-val{font-family:'Cormorant Garamond',serif;font-size:28px;font-weight:600;color:var(--gold);display:block;}
.rib-lbl{font-size:10px;letter-spacing:2.5px;text-transform:uppercase;color:rgba(255,255,255,.6);margin-top:2px;}

@keyframes up{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}

/* ─── REVEAL ANIMATIONS ─── */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s ease;}
.reveal.in{opacity:1;transform:none;}
.reveal-l{opacity:0;transform:translateX(-36px);transition:opacity .9s ease,transform .9s ease;}
.reveal-l.in{opacity:1;transform:none;}
.reveal-r{opacity:0;transform:translateX(36px);transition:opacity .9s ease,transform .9s ease;}
.reveal-r.in{opacity:1;transform:none;}

/* ─── SECTION BASE ─── */
section{padding:120px 60px;}
.eyebrow{font-size:11px;font-weight:600;letter-spacing:4px;text-transform:uppercase;color:var(--gold);margin-bottom:14px;}
.sh{font-family:'Cormorant Garamond',serif;font-size:clamp(34px,4vw,56px);font-weight:400;color:var(--navy);line-height:1.18;}
.sh em{font-style:italic;font-weight:300;}

/* ─── ABOUT ─── */
#about{background:var(--cream);display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;}
.mosaic{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:220px 220px;gap:10px;}
.mosaic img{width:100%;height:100%;object-fit:cover;}
.mosaic img:first-child{grid-row:1/3;height:100%;}
.about-body{font-size:17px;font-weight:300;line-height:1.9;color:var(--muted);margin:20px 0 34px;}
.pills{display:flex;flex-wrap:wrap;gap:10px;}
.pill{background:white;border:1px solid rgba(201,162,98,.25);padding:9px 16px;font-size:13px;font-weight:500;color:var(--navy);display:flex;align-items:center;gap:7px;}

/* ─── ROOMS ─── */
#rooms{background:var(--sand);}
.rooms-hd{text-align:center;margin-bottom:68px;}
.rooms-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1160px;margin:0 auto;}
.room-card{background:white;overflow:hidden;transition:transform .4s,box-shadow .4s;cursor:pointer;}
.room-card:hover{transform:translateY(-10px);box-shadow:0 28px 64px rgba(28,53,80,.14);}
.rim{overflow:hidden;position:relative;height:260px;}
.rim img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease;}
.room-card:hover .rim img{transform:scale(1.07);}
.rim-tag{position:absolute;top:0;left:0;background:var(--gold);color:var(--navy-dark);font-size:10px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:6px 16px;}
.rinfo{padding:26px 26px 22px;}
.rname{font-family:'Cormorant Garamond',serif;font-size:24px;font-weight:500;color:var(--navy);margin-bottom:10px;}
.rdesc{font-size:14px;font-weight:300;color:var(--muted);line-height:1.75;margin-bottom:18px;}
.rchips{display:flex;gap:14px;flex-wrap:wrap;margin-bottom:20px;}
.rchip{font-size:12px;font-weight:500;color:var(--muted);display:flex;align-items:center;gap:4px;}
.rfoot{display:flex;justify-content:space-between;align-items:center;padding-top:18px;border-top:1px solid #EEE;}
.rprice{font-family:'Cormorant Garamond',serif;font-size:14px;color:var(--muted);}
.rbook{background:transparent;border:1.5px solid var(--navy);color:var(--navy);padding:9px 22px;font-family:'Jost',sans-serif;font-size:11px;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;cursor:pointer;transition:all .3s;text-decoration:none;display:inline-block;}
.rbook:hover{background:var(--navy);color:white;}

/* photo mini-gallery on hover */
.room-thumbs{display:flex;gap:4px;padding:0 26px 18px;margin-top:-8px;}
.room-thumbs img{width:52px;height:40px;object-fit:cover;cursor:pointer;opacity:.7;transition:opacity .3s;border:2px solid transparent;}
.room-thumbs img:hover,.room-thumbs img.active{opacity:1;border-color:var(--gold);}

/* ─── AMENITIES ─── */
#amenities{background:var(--navy);text-align:center;}
#amenities .sh{color:white;}
.amen-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:44px;max-width:920px;margin:68px auto 0;}
.amen-item{display:flex;flex-direction:column;align-items:center;gap:12px;}
.amen-ic{width:62px;height:62px;border:1px solid rgba(201,162,98,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:4px;transition:all .3s;}
.amen-item:hover .amen-ic{background:var(--gold);border-color:var(--gold);}
.amen-nm{font-size:13px;font-weight:500;color:rgba(255,255,255,.82);}

/* ─── GALLERY ─── */
#gallery{padding:0;display:grid;grid-template-columns:repeat(5,1fr);height:360px;}
.gt{overflow:hidden;cursor:pointer;}
.gt img{width:100%;height:100%;object-fit:cover;transition:transform .6s,filter .6s;filter:brightness(.85);}
.gt:hover img{transform:scale(1.1);filter:brightness(1);}

/* ─── LIGHTBOX ─── */
.lb{position:fixed;inset:0;z-index:9000;background:rgba(14,33,53,.95);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .4s;}
.lb.open{opacity:1;pointer-events:all;}
.lb img{max-width:90vw;max-height:88vh;object-fit:contain;}
.lb-close{position:absolute;top:24px;right:32px;color:white;font-size:36px;cursor:pointer;font-weight:300;line-height:1;}
.lb-prev,.lb-next{position:absolute;top:50%;transform:translateY(-50%);color:white;font-size:48px;cursor:pointer;font-weight:200;line-height:1;padding:0 20px;background:rgba(255,255,255,.08);transition:background .3s;}
.lb-prev:hover,.lb-next:hover{background:rgba(255,255,255,.2);}
.lb-prev{left:0;}
.lb-next{right:0;}

/* ─── RESERVATION ─── */
#reservation{background:var(--cream);}
.res-inner{max-width:980px;margin:0 auto;}
.res-hd{text-align:center;margin-bottom:52px;}
.res-hd p{color:var(--muted);font-size:15px;margin-top:14px;}

/* Iframe wrapper */
.booking-frame-wrap{position:relative;background:white;box-shadow:0 8px 40px rgba(28,53,80,.09);}
.booking-frame-wrap iframe{width:100%;height:700px;border:none;display:block;}
.booking-fallback{display:none;padding:60px 40px;text-align:center;}
.booking-fallback p{font-size:16px;color:var(--muted);margin-bottom:24px;}

/* ─── REVIEWS ─── */
#reviews{background:var(--sand);}
.rev-hd{text-align:center;margin-bottom:68px;}
.rev-score{font-family:'Cormorant Garamond',serif;font-size:52px;font-weight:300;color:var(--navy);margin-top:10px;}
.rev-score span{font-size:20px;color:var(--gold);}
.rev-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1100px;margin:0 auto;}
.rev-card{background:white;padding:34px;border-top:3px solid var(--gold);}
.rev-stars{color:var(--gold);font-size:14px;letter-spacing:2px;margin-bottom:18px;}
.rev-text{font-family:'Cormorant Garamond',serif;font-size:19px;font-weight:400;font-style:italic;line-height:1.72;color:var(--text);margin-bottom:22px;}
.rev-author{font-size:13px;font-weight:600;letter-spacing:.5px;color:var(--navy);}
.rev-src{font-size:11px;color:var(--muted);margin-top:4px;}

/* ─── LOCATION ─── */
#location{padding:0;display:grid;grid-template-columns:1fr 1fr;}
.loc-info{background:var(--navy);padding:100px 72px;}
.loc-info .eyebrow{color:var(--gold);}
.loc-info .sh{color:white;}
.loc-body{font-size:16px;font-weight:300;color:rgba(255,255,255,.7);line-height:1.88;margin:22px 0 40px;}
.loc-det{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px;font-size:14px;color:rgba(255,255,255,.82);}
.loc-det a{color:rgba(255,255,255,.82);text-decoration:none;}
.loc-det a:hover{color:var(--gold);}
.loc-ic{font-size:18px;margin-top:1px;flex-shrink:0;}
.loc-img{background:url('images/Kouremenos-Beach-3.jpg') center/cover;min-height:500px;}

/* ─── FOOTER ─── */
footer{background:var(--navy-dark);padding:64px 60px 40px;}
.ft-inner{display:flex;justify-content:space-between;gap:40px;margin-bottom:52px;flex-wrap:wrap;}
.ft-logo-img{height:48px;margin-bottom:16px;opacity:.9;}
.ft-tagline{font-size:13px;color:rgba(255,255,255,.45);line-height:1.7;max-width:260px;}
.ft-col h4{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:var(--gold);margin-bottom:18px;}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.ft-col ul li a{color:rgba(255,255,255,.55);text-decoration:none;font-size:14px;transition:color .3s;}
.ft-col ul li a:hover{color:var(--gold);}
.ft-col p{color:rgba(255,255,255,.65);font-size:14px;margin-bottom:8px;display:flex;align-items:flex-start;gap:8px;}
.ft-col p a{color:rgba(255,255,255,.65);text-decoration:none;}
.ft-col p a:hover{color:var(--gold);}
.ft-bottom{border-top:1px solid rgba(255,255,255,.08);padding-top:26px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;}
.ft-bottom p{font-size:12px;color:rgba(255,255,255,.3);}
.social-links{display:flex;gap:16px;}
.social-links a{color:rgba(255,255,255,.4);text-decoration:none;font-size:13px;letter-spacing:1px;transition:color .3s;}
.social-links a:hover{color:var(--gold);}

/* ─── RESPONSIVE ─── */
@media(max-width:960px){
    nav{padding:16px 20px;}
    nav.scrolled{padding:12px 20px;}
    .nav-links{display:none;}
    .menu-toggle{display:flex;}
    section{padding:80px 24px;}
    #about{grid-template-columns:1fr;gap:40px;}
    .mosaic img:first-child{height:260px;}
    .rooms-grid{grid-template-columns:1fr;}
    .amen-grid{grid-template-columns:repeat(2,1fr);gap:32px;}
    #gallery{grid-template-columns:repeat(3,1fr);height:280px;}
    .gt:nth-child(n+4){display:none;}
    .rev-grid{grid-template-columns:1fr;}
    #location{grid-template-columns:1fr;}
    .loc-info{padding:64px 24px;}
    .loc-img{min-height:280px;}
    .ribbon{display:none;}
    footer{padding:48px 24px 32px;}
    .ft-inner{flex-direction:column;}
    .quick-book{padding:20px;}
    .booking-frame-wrap iframe{height:600px;}
}