  :root{
    --teal-900:#0c2e30;
    --teal-700:#1b4b4f;
    --teal-500:#2e6e8e;
    --cream:#f2e9d8;
    --cream-soft:#faf6ec;
    --ink:#16201f;
    --red:#b33f3b;
    --ochre:#d9a441;
    --blue:#2e6e8e;
    --white:#fffdf8;
    --green:#2e6e35;
    --font-display:'Fraunces', serif;
    --font-body:'Karla', sans-serif;
    --radius:14px;
    --shadow: 0 18px 40px -20px rgba(12,46,48,0.45);
  }
  *{box-sizing:border-box;}
  html{scroll-behavior:smooth;}
  body{
    margin:0;
    font-family:var(--font-body);
    color:var(--ink);
    background:var(--cream-soft);
    -webkit-font-smoothing:antialiased;
  }
  img{max-width:100%; display:block;}
  a{color:inherit;}
  h1,h2,h3,h4{font-family:var(--font-display); margin:0; font-weight:600;}
  p{line-height:1.65; margin:0 0 1em;}
  .eyebrow{
    font-family:var(--font-body);
    text-transform:uppercase;
    letter-spacing:.18em;
    font-size:.72rem;
    font-weight:700;
    color:var(--ochre);
  }
  .wrap{max-width:1180px; margin:0 auto; padding:0 28px;}
  section{padding:96px 0;}
  @media(max-width:700px){ section{padding:64px 0;} }
 
  /* ---------- NAV ---------- */
  header.nav{
    position:fixed; top:0; left:0; right:0; z-index:100;
    background:rgba(12,46,48,0.72);
    backdrop-filter:blur(10px);
    border-bottom:1px solid rgba(242,233,216,0.12);
  }
  .nav-inner{
    max-width:1180px; margin:0 auto; padding:16px 28px;
    display:flex; align-items:center; justify-content:space-between;
  }
  .brand{
    font-family:var(--font-display);
    color:var(--cream);
    font-size:1.25rem;
    letter-spacing:.02em;
    display:flex; align-items:center; gap:10px;
  }
  .brand small{
    display:block; font-family:var(--font-body); font-size:.6rem;
    letter-spacing:.2em; color:var(--ochre); text-transform:uppercase; font-weight:700;
  }
  nav.links{display:flex; gap:24px; align-items:center;}
  nav.links a{
    color:var(--cream); text-decoration:none; font-size:.86rem; font-weight:600;
    opacity:.85; transition:opacity .2s;
  }
  nav.links a:hover{opacity:1;}
  .btn{
    display:inline-flex; align-items:center; gap:8px;
    padding:11px 22px; border-radius:999px; font-weight:700; font-size:.85rem;
    text-decoration:none; border:1px solid transparent; cursor:pointer;
    transition:transform .15s ease, box-shadow .15s ease;
  }
  .btn:hover{transform:translateY(-2px);}
  .btn-primary{background:var(--ochre); color:var(--teal-900);}
  .btn-primary:hover{box-shadow:0 10px 24px -8px rgba(217,164,65,0.6);}
  .btn-ghost{background:transparent; border-color:rgba(242,233,216,0.5); color:var(--cream);}
  .btn-red{background:var(--red); color:var(--white);}
  .btn-red:hover{box-shadow:0 10px 24px -8px rgba(179,63,59,0.6);}
  .btn-outline-dark{background:transparent; border-color:var(--teal-700); color:var(--teal-700);}
  .btn-sm{padding:8px 14px; font-size:.78rem;}
  .btn:disabled{opacity:.4; cursor:not-allowed; transform:none;}
  .navToggle{display:none; background:none; border:none; color:var(--cream); font-size:1.6rem;}
 
  @media(max-width:820px){
    nav.links{
      position:fixed; top:64px; left:0; right:0; background:var(--teal-900);
      flex-direction:column; padding:20px 28px 28px; gap:18px;
      transform:translateY(-130%); transition:transform .3s ease; align-items:flex-start;
    }
    nav.links.open{transform:translateY(0);}
    .navToggle{display:block;}
  }
 
  /* ---------- HERO ---------- */
  .hero{
  
    position: relative;
    min-height: 100vh;
    display: flex;
    align-items: flex-end;
    color: var(--cream);
    overflow: hidden;



  
}
  .hero img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;

    transform:scale(1.06);
    animation:heroImageEntrance 1.8s cubic-bezier(.2,.7,.2,1) forwards;

    will-change:transform;

}
  .hero::after{
    content:''; position:absolute; inset:0;
    background:linear-gradient(180deg, rgba(12,46,48,.35) 0%, rgba(12,46,48,.25) 40%, rgba(12,46,48,.92) 100%);
  }
  .hero-content{position:relative; z-index:2; padding:0 28px 100px; max-width:1180px; margin:0 auto; width:100%;}
  .hero h1{
    font-size:clamp(2.6rem, 6vw, 4.6rem); line-height:1.02; max-width:820px;
    font-weight:600;
  }
  .hero h1 em{font-style:italic; color:var(--ochre);}
  .hero p.lead{
    max-width:520px; margin-top:22px; font-size:1.08rem; color:rgba(250,246,236,0.9);
  }
  .hero-actions{display:flex; gap:14px; margin-top:34px; flex-wrap:wrap;}
 
  .river{display:block; width:100%; height:auto; margin-top:-2px;}
 
  /* ---------- INTRO ---------- */
  .intro{background:var(--teal-900); color:var(--cream);}
  .intro-grid{
    display:grid; grid-template-columns: 1.1fr .9fr; gap:60px; align-items:center;
  }
  @media(max-width:860px){ .intro-grid{grid-template-columns:1fr; gap:36px;} }
  .intro h2{font-size:clamp(1.9rem,3.4vw,2.6rem); margin:10px 0 20px; color:var(--white);}
  .intro p{color:rgba(250,246,236,0.82); font-size:1.02rem;}
  .intro-photos{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
  .intro-photos img{border-radius:var(--radius); box-shadow:var(--shadow); height:100%; object-fit:cover;}
  .intro-photos .tall{grid-row:span 2;}
 
  /* ---------- AMENITIES ---------- */
  .amenities{background:var(--cream-soft);}
  .section-head{max-width:640px; margin-bottom:52px;}
  .section-head h2{font-size:clamp(1.8rem,3.2vw,2.4rem); margin-top:10px;}
  .amen-grid{
    display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
    background:rgba(22,32,31,0.08); border:1px solid rgba(22,32,31,0.08); border-radius:var(--radius); overflow:hidden;
  }
  @media(max-width:820px){ .amen-grid{grid-template-columns:repeat(2,1fr);} }
  .amen-item{
    background:var(--white); padding:30px 22px; display:flex; flex-direction:column; gap:14px;
  }
  .amen-item svg{width:30px; height:30px; stroke:var(--teal-700);}
  .amen-item span{font-weight:700; font-size:.92rem;}
 
  /* ---------- ROOMS ---------- */
  .rooms{background:var(--cream);}
  .room-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:28px;}
  @media(max-width:1020px){ .room-grid{grid-template-columns:1fr 1fr;} }
  @media(max-width:700px){ .room-grid{grid-template-columns:1fr;} }
  .room-card{
    background:var(--white); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow);
    display:flex; flex-direction:column;
  }
  .room-roof{height:8px; width:100%;}
  .room-photo{height:230px; overflow:hidden; position:relative;}
  .room-photo img{width:100%; height:100%; object-fit:cover; transition:transform .5s ease;}
  .room-card:hover .room-photo img{transform:scale(1.06);}
  .room-body{padding:24px 26px 28px; display:flex; flex-direction:column; flex:1;}
  .room-body h3{font-size:1.35rem;}
  .room-tag{font-size:.72rem; text-transform:uppercase; letter-spacing:.14em; font-weight:700; margin-bottom:6px;}
  .room-feat{list-style:none; padding:0; margin:14px 0 20px; display:flex; flex-wrap:wrap; gap:8px;}
  .room-feat li{
    font-size:.76rem; font-weight:600; background:var(--cream-soft); padding:6px 12px; border-radius:999px;
    color:var(--teal-700);
  }
  .room-foot{display:flex; align-items:center; justify-content:space-between; margin-top:auto; padding-top:10px;}
  .room-price{font-family:var(--font-display); font-size:1.5rem; color:var(--teal-900);}
  .room-price small{font-family:var(--font-body); font-size:.72rem; font-weight:700; color:var(--ink); opacity:.6;}
  .room-live{margin-top:12px; font-size:.78rem; font-weight:700; display:flex; align-items:center; gap:6px;}
  .room-live .dot{width:8px; height:8px; border-radius:50%;}
 
  /* ---------- LIVE STATUS ---------- */
  .live-status{background:var(--cream-soft);}
  .live-summary{display:flex; gap:14px; flex-wrap:wrap; margin-bottom:34px;}
  .stat-pill{
    background:var(--white); border-radius:14px; padding:16px 22px; box-shadow:var(--shadow);
    display:flex; flex-direction:column; gap:2px; min-width:120px;
  }
  .stat-pill .num{font-family:var(--font-display); font-size:1.8rem; color:var(--teal-900);}
  .stat-pill .lbl{font-size:.72rem; text-transform:uppercase; letter-spacing:.08em; font-weight:700; opacity:.6;}
  .unit-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:16px;}
  @media(max-width:860px){ .unit-grid{grid-template-columns:repeat(2,1fr);} }
  .unit-card{
    background:var(--white); border-radius:12px; padding:18px 18px 16px 24px; box-shadow:var(--shadow);
    border-top:0; border-left:12px solid transparent; min-height:110px;
  }
  .unit-card.status-bos{border-left-color:var(--green); box-shadow:var(--shadow), inset 0 0 0 1px rgba(42, 142, 54, 0.08);}
  .unit-card.status-dolu{border-left-color:#E6B325; box-shadow:var(--shadow), inset 0 0 0 1px rgba(231, 160, 6, 0.858);}
  .unit-card.status-arizali, .unit-card.status-temizlikte{border-left-color:var(--red); box-shadow:var(--shadow), inset 0 0 0 1px rgba(179,63,59,.10);}
  .unit-card h4{font-size:.88rem; margin-bottom:4px;}
  .unit-card .unit-type{font-size:.72rem; opacity:.6; margin-bottom:10px;}
  .unit-badge{
    display:inline-flex; align-items:center; gap:6px; font-size:.72rem; font-weight:700;
    padding:5px 12px; border-radius:999px;
  }
  .unit-badge.bos{background:rgba(46,110,53,0.12); color:var(--green);}
  .unit-badge.dolu{background:rgba(230,179,37,.15); color:#B8860B;}
  .unit-badge.arizali, .unit-badge.temizlikte{background:rgba(179,63,59,0.12); color:var(--red);}
  .unit-badge .dot{width:7px; height:7px; border-radius:50%; background:currentColor;}
  .unit-out{font-size:.72rem; opacity:.6; margin-top:8px;}
  .live-refresh{font-size:.76rem; opacity:.55; margin-top:22px;}
 
  /* ---------- RESERVATION ---------- */
  .reserve{background:var(--teal-900); color:var(--cream);}
  .reserve .section-head h2{color:var(--white);}
  .reserve .section-head p{color:rgba(250,246,236,0.78);}
  .reserve-panel{
    background:var(--teal-700); border-radius:20px; padding:34px; box-shadow:var(--shadow);
  }
  .quickdates{display:flex; gap:10px; flex-wrap:wrap; margin-bottom:22px;}
  .chip{
    background:rgba(242,233,216,0.1); border:1px solid rgba(242,233,216,0.25); color:var(--cream);
    padding:8px 16px; border-radius:999px; font-size:.82rem; font-weight:600; cursor:pointer;
  }
  .chip:hover{background:rgba(242,233,216,0.2);}
  .form-row{display:grid; grid-template-columns:repeat(4,1fr); gap:14px; align-items:end;}
  @media(max-width:820px){ .form-row{grid-template-columns:1fr 1fr;} }
  .field label{display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; font-weight:700; margin-bottom:8px; color:var(--ochre);}
  .field input, .field select{
    width:100%; padding:12px 14px; border-radius:10px; border:1px solid rgba(242,233,216,0.3);
    background:var(--cream-soft); font-family:var(--font-body); font-size:.92rem; color:var(--ink);
  }
  .results{margin-top:30px;}
  .result-card{
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    background:var(--cream-soft); color:var(--ink); border-radius:14px; padding:18px 20px; margin-bottom:12px;
    flex-wrap:wrap;
  }
  .result-left{display:flex; align-items:center; gap:14px;}
  .result-dot{width:12px; height:12px; border-radius:50%; flex-shrink:0;}
  .result-info h4{font-size:1.02rem;}
  .result-info p{margin:2px 0 0; font-size:.82rem; opacity:.7;}
  .avail-pill{font-size:.74rem; font-weight:700; padding:5px 12px; border-radius:999px;}
  .avail-yes{background:rgba(46,110,53,0.12); color:var(--green);}
  .avail-no{background:rgba(179,63,59,0.12); color:var(--red);}
  .hint{font-size:.78rem; opacity:.65; margin-top:16px;}
 
  /* booking modal */
  .modal-overlay{
    position:fixed; inset:0; background:rgba(12,46,48,0.6); z-index:200; display:none;
    align-items:center; justify-content:center; padding:20px; overflow-y:auto;
  }
  .modal-overlay.open{display:flex;}
  .modal{
    background:var(--white); border-radius:18px; max-width:440px; width:100%; padding:32px;
    box-shadow:0 30px 60px -20px rgba(0,0,0,0.4); position:relative; margin:auto;
  }
  .modal h3{font-size:1.4rem; margin-bottom:6px;}
  .modal p.sub{font-size:.88rem; opacity:.7; margin-bottom:22px;}
  .modal .field{margin-bottom:14px;}
  .modal .field label{color:var(--teal-700);}
  .modal .field input{background:var(--cream-soft); border:1px solid rgba(22,32,31,0.15);}
  .modal-close{position:absolute; top:18px; right:18px; background:none; border:none; font-size:1.3rem; cursor:pointer; color:var(--ink); opacity:.5;}
  .confirm-box{
    display:none; background:rgba(46,110,53,0.1); border:1px solid rgba(46,110,53,0.3); border-radius:12px;
    padding:16px; font-size:.86rem; margin-top:16px; color:var(--green);
  }
  .confirm-box.show{display:block;}
  .error-box{
    display:none; background:rgba(179,63,59,0.1); border:1px solid rgba(179,63,59,0.3); border-radius:10px;
    padding:12px 14px; font-size:.82rem; margin-top:10px; color:var(--red);
  }
  .error-box.show{display:block;}
 
  /* ---------- GALLERY ---------- */
  .gallery{background:var(--cream-soft);}
  .gallery-grid{display:grid; grid-template-columns:1.3fr 1fr 1fr; gap:16px;}
  @media(max-width:820px){ .gallery-grid{grid-template-columns:1fr 1fr;} }
  .gallery-grid img{border-radius:var(--radius); height:100%; object-fit:cover; box-shadow:var(--shadow);}
  .gallery-grid .g1{grid-row:span 2;}
 

  /* ---------- ODALARIMIZ ALBUM ---------- */
  .room-album{background:var(--cream);}
  .album-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:18px;}
  @media(max-width:1020px){.album-grid{grid-template-columns:repeat(3,1fr);}}
  @media(max-width:760px){.album-grid{grid-template-columns:repeat(2,1fr);}}
  @media(max-width:520px){.album-grid{grid-template-columns:1fr;}}
  .album-slot{
    position:relative; min-height:210px; border-radius:var(--radius); overflow:hidden;
    background:linear-gradient(135deg, rgba(217,164,65,.16), rgba(12,46,48,.06));
    box-shadow:var(--shadow); border:1px dashed rgba(12,46,48,.18);
    transition:transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  }
  .album-slot:hover{transform:translateY(-7px); box-shadow:0 28px 65px -28px rgba(12,46,48,.75); border-color:rgba(217,164,65,.55);}
  .album-slot img{width:100%; height:100%; min-height:210px; object-fit:cover; transition:transform .45s ease, filter .45s ease;}
  .album-slot:hover img{transform:scale(1.06); filter:saturate(1.08) contrast(1.03);}
  .album-placeholder{position:absolute; inset:0; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px; text-align:center; padding:18px; color:rgba(22,32,31,.62); font-weight:700;}
  .album-placeholder span{font-family:var(--font-display); font-size:1.7rem; color:var(--ochre);}
  .album-caption{position:absolute; left:12px; right:12px; bottom:12px; border-radius:999px; padding:8px 12px; background:rgba(12,46,48,.72); color:var(--cream); font-size:.78rem; font-weight:700; backdrop-filter:blur(8px);}
  .reservation-cta{background:var(--teal-900); color:var(--cream);}
  .reservation-cta-box{background:rgba(242,233,216,.08); border:1px solid rgba(242,233,216,.18); border-radius:22px; padding:36px; box-shadow:var(--shadow); display:flex; justify-content:space-between; gap:24px; align-items:center; flex-wrap:wrap;}
  .reservation-cta-box h2{color:var(--white); font-size:clamp(1.8rem,3vw,2.5rem); margin-top:10px;}
  .reservation-cta-box p{color:rgba(250,246,236,.78); max-width:620px;}

  /* ---------- LOCATION / CONTACT ---------- */
  .location{background:var(--cream);}
  .loc-grid{display:grid; grid-template-columns:1fr 1fr; gap:40px; align-items:stretch;}
  @media(max-width:900px){ .loc-grid{grid-template-columns:1fr;} }
  .loc-card{
    background:var(--white); border-radius:var(--radius); padding:34px; box-shadow:var(--shadow);
    display:flex; flex-direction:column; gap:18px;
  }
  .loc-row{display:flex; gap:14px; align-items:flex-start;}
  .loc-row svg{width:22px; height:22px; stroke:var(--teal-700); flex-shrink:0; margin-top:2px;}
  .loc-row h4{font-size:.95rem; margin-bottom:4px;}
  .loc-row p, .loc-row a{font-size:.88rem; opacity:.8; text-decoration:none;}
  .loc-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:6px;}
  .map-frame{border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow); min-height:340px; border:none;}
  .map-frame iframe{width:100%; height:100%; min-height:340px; border:0;}
 
  footer{background:var(--teal-900); color:rgba(242,233,216,0.7); padding:40px 0;}
  .foot-inner{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px; font-size:.82rem;}
  .foot-social{display:flex; gap:16px; align-items:center;}
  .foot-social a{opacity:.85;}
  .foot-social a:hover{opacity:1;}
  .foot-staff{opacity:.5; font-size:.76rem; text-decoration:underline; cursor:pointer; background:none; border:none; color:inherit; font-family:inherit;}
 
  .reveal{opacity:0; transform:translateY(24px); transition:opacity .7s ease, transform .7s ease;}
  .reveal.visible{opacity:1; transform:translateY(0);}
 
  /* ---------- RECEPTION PANEL ---------- */
  .staff-overlay{
    position:fixed; inset:0; background:rgba(12,46,48,0.75); z-index:300; display:none;
    align-items:flex-start; justify-content:center; padding:40px 20px; overflow-y:auto;
  }
  .staff-overlay.open{display:flex;}
  .staff-panel{
    background:var(--cream-soft); border-radius:18px; max-width:900px; width:100%; padding:0;
    box-shadow:0 30px 60px -20px rgba(0,0,0,0.5); position:relative; overflow:hidden;
  }
  .staff-head{
    background:var(--teal-900); color:var(--cream); padding:24px 30px; display:flex;
    align-items:center; justify-content:space-between;
  }
  .staff-head h3{font-size:1.3rem;}
  .staff-close{background:none; border:none; color:var(--cream); font-size:1.4rem; cursor:pointer; opacity:.7;}
  .staff-close:hover{opacity:1;}
  .staff-login{padding:40px 30px; text-align:center;}
  .staff-login input{
    width:100%; max-width:260px; padding:13px 16px; border-radius:10px; border:1px solid rgba(22,32,31,0.15);
    font-size:1rem; text-align:center; letter-spacing:.2em; margin:18px 0;
  }
  .staff-body{padding:26px 30px 34px; display:none;}
  .staff-body.show{display:block;}
  .staff-login.hide{display:none;}
  .staff-unit-list{display:flex; flex-direction:column; gap:12px;}
  .staff-unit{
    background:var(--white); border-radius:12px; padding:16px 18px; box-shadow:0 6px 16px -10px rgba(0,0,0,.2);
    border-left:12px solid transparent;
  }
  .staff-unit.status-bos{border-left-color:var(--green);}
  .staff-unit.status-dolu{border-left-color:#E6B325;}
  .staff-unit.status-arizali, .staff-unit.status-temizlikte{border-left-color:var(--red);}
  .staff-actions{display:flex; gap:8px; flex-wrap:wrap; margin-top:12px;}
  .staff-unit-top{display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px;}
  .staff-unit-name{font-weight:700; font-size:.95rem;}
  .staff-unit-type{font-size:.76rem; opacity:.6;}
  .staff-form{
    display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin-top:14px; align-items:end;
  }
  @media(max-width:760px){ .staff-form{grid-template-columns:1fr 1fr;} }
  .staff-form .field label{color:var(--teal-700); font-size:.66rem;}
  .staff-form .field input{padding:10px 12px; font-size:.85rem;}
  .staff-guest-info{font-size:.82rem; margin-top:6px; opacity:.8;}
  .staff-guest-info b{opacity:1;}


  .staff-form{grid-template-columns:repeat(5,1fr);}
  .staff-private-details{
    margin-top:12px; padding:14px; border-radius:12px; background:rgba(12,46,48,0.06);
    display:grid; grid-template-columns:repeat(3,1fr); gap:8px 14px; font-size:.8rem;
  }
  .staff-private-details span{opacity:.65; display:block; font-size:.68rem; text-transform:uppercase; letter-spacing:.06em; font-weight:700;}
  .staff-private-details b{font-weight:700; color:var(--teal-900);}
  .staff-note{grid-column:1/-1;}
  @media(max-width:900px){.staff-form{grid-template-columns:1fr 1fr}.staff-private-details{grid-template-columns:1fr 1fr}}
  @media(max-width:560px){.staff-form{grid-template-columns:1fr}.staff-private-details{grid-template-columns:1fr}}

  /* ---- Staff panel: filter toolbar + collapsible rows ---- */
  .staff-toolbar{
    position:sticky; top:0; z-index:5; background:var(--cream-soft);
    padding:10px 0 14px; margin-bottom:6px; border-bottom:1px solid rgba(12,46,48,.1);
    display:flex; flex-direction:column; gap:10px;
  }
  .staff-filter-row{display:flex; gap:8px; flex-wrap:wrap; align-items:center;}
  .staff-chip{
    border:1px solid rgba(12,46,48,.18); background:var(--white); color:var(--teal-900);
    padding:7px 14px; border-radius:999px; font-size:.8rem; font-weight:600; cursor:pointer;
    font-family:inherit; transition:background .15s, color .15s, border-color .15s;
  }
  .staff-chip:hover{border-color:var(--teal-500);}
  .staff-chip.active{background:var(--teal-900); color:var(--cream); border-color:var(--teal-900);}
  .staff-search{
    flex:1; min-width:140px; padding:9px 14px; border-radius:999px;
    border:1px solid rgba(12,46,48,.18); font-size:.85rem; font-family:inherit;
  }
  .staff-count{font-size:.75rem; opacity:.6; white-space:nowrap;}
  .staff-empty-msg{padding:26px 4px; text-align:center; opacity:.6; font-size:.9rem;}

  /* collapsible row */
  .staff-unit{border-left:12px solid transparent;}
  .staff-unit-head{
    display:flex; align-items:center; justify-content:space-between; gap:10px; cursor:pointer;
    user-select:none;
  }
  .staff-unit-head .staff-unit-caret{
    font-size:.7rem; opacity:.5; transition:transform .2s ease; margin-left:4px;
  }
  .staff-unit.open .staff-unit-caret{transform:rotate(90deg);}
  .staff-unit-detail{display:none; margin-top:14px;}
  .staff-unit.open .staff-unit-detail{display:block;}
  .staff-unit.open{box-shadow:0 12px 30px -14px rgba(0,0,0,.35);}
  .staff-unit.hidden-by-filter{display:none;}


  /* ---------- PREMIUM LOADING + MICRO ANIMATIONS ---------- */
  .page-loader{
    position:fixed; inset:0; z-index:9999; display:flex; align-items:center; justify-content:center;
    background:radial-gradient(circle at 50% 35%, rgba(217,164,65,.18), transparent 32%), linear-gradient(135deg,#071f21,#0c2e30 55%,#102f32);
    color:var(--cream); transition:opacity .65s ease, visibility .65s ease;
  }
  .page-loader.hide{opacity:0; visibility:hidden; pointer-events:none;}
  .loader-box{text-align:center; transform:translateY(8px); animation:loaderFloat 1.8s ease-in-out infinite alternate;}
  .loader-logo{font-family:var(--font-display); font-size:clamp(2rem,5vw,3.6rem); letter-spacing:.03em; text-shadow:0 0 32px rgba(217,164,65,.45);}
  .loader-sub{margin-top:8px; text-transform:uppercase; letter-spacing:.22em; font-size:.72rem; color:var(--ochre); font-weight:700;}
  .loader-line{width:240px; height:4px; border-radius:999px; overflow:hidden; background:rgba(242,233,216,.16); margin:26px auto 0; box-shadow:0 0 24px rgba(217,164,65,.25);}
  .loader-line span{display:block; width:42%; height:100%; border-radius:999px; background:linear-gradient(90deg,transparent,var(--ochre),#fff0b8); animation:loaderMove 1.15s ease-in-out infinite;}
  @keyframes loaderMove{0%{transform:translateX(-120%)}100%{transform:translateX(260%)}}
  @keyframes loaderFloat{from{transform:translateY(8px) scale(.99)}to{transform:translateY(-4px) scale(1)}}
  body.loading{overflow:hidden;}

  .btn, .chip, .room-card, .unit-card, .amen-item, .stat-pill, .result-card, .staff-unit, .loc-card, .gallery-grid img{will-change:transform;}
  .room-card, .unit-card, .amen-item, .stat-pill, .result-card, .staff-unit, .loc-card{
    transition:transform .28s ease, box-shadow .28s ease, border-color .28s ease, filter .28s ease;
  }
  .room-card:hover{transform:perspective(900px) rotateX(2deg) rotateY(-2deg) translateY(-10px); box-shadow:0 28px 70px -24px rgba(12,46,48,.75), 0 0 0 1px rgba(217,164,65,.18);}
  .unit-card:hover, .amen-item:hover, .stat-pill:hover, .result-card:hover, .staff-unit:hover, .loc-card:hover{transform:translateY(-6px); box-shadow:0 24px 55px -24px rgba(12,46,48,.65);}
  .room-card::after, .staff-unit::after, .unit-card::after{
    content:''; position:absolute; inset:0; pointer-events:none; opacity:0; transition:opacity .28s ease;
    background:linear-gradient(120deg, transparent 20%, rgba(255,255,255,.22), transparent 78%);
  }
  .room-card, .staff-unit, .unit-card{position:relative; overflow:hidden;}
  .room-card:hover::after, .staff-unit:hover::after, .unit-card:hover::after{opacity:1;}
  .btn, .chip{position:relative; overflow:hidden;}
  .ripple{position:absolute; border-radius:50%; transform:scale(0); background:rgba(255,255,255,.5); animation:ripple .65s linear; pointer-events:none;}
  @keyframes ripple{to{transform:scale(4); opacity:0}}
  .gallery-grid img{transition:transform .45s ease, box-shadow .45s ease, filter .45s ease;}
  .gallery-grid img:hover{transform:scale(1.025) translateY(-4px); filter:saturate(1.08) contrast(1.03); box-shadow:0 28px 65px -26px rgba(12,46,48,.7);}
  nav.links a{position:relative;}
  nav.links a:not(.btn)::after{content:''; position:absolute; left:0; right:0; bottom:-6px; height:2px; background:var(--ochre); transform:scaleX(0); transform-origin:left; transition:transform .25s ease;}
  nav.links a:not(.btn):hover::after{transform:scaleX(1);}


  /* ---------- ODALARIMIZ KAYDIRMALI GALERİ ---------- */
  .album-slider{
    position:relative;
    overflow:hidden;
    padding:0 54px;
  }
  .album-track{
    display:flex;
    gap:18px;
    overflow-x:auto;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    padding:6px 2px 26px;
    scrollbar-width:none;
  }
  .album-track::-webkit-scrollbar{display:none;}
  .album-slide{
    flex:0 0 calc((100% - 72px) / 5);
    height:230px;
    border:0;
    padding:0;
    background:transparent;
    border-radius:var(--radius);
    overflow:hidden;
    cursor:pointer;
    box-shadow:var(--shadow);
    scroll-snap-align:start;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .album-slide:hover{transform:translateY(-7px); box-shadow:0 28px 65px -28px rgba(12,46,48,.75);}
  .album-slide img{width:100%; height:100%; object-fit:cover; transition:transform .45s ease, filter .45s ease;}
  .album-slide:hover img{transform:scale(1.06); filter:saturate(1.08) contrast(1.03);}
  .album-arrow{
    position:absolute;
    top:50%;
    transform:translateY(-50%);
    width:44px;
    height:44px;
    border-radius:50%;
    border:1px solid rgba(242,233,216,.35);
    background:rgba(12,46,48,.88);
    color:var(--cream);
    font-size:2rem;
    line-height:1;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    z-index:5;
    box-shadow:0 16px 35px -18px rgba(0,0,0,.8);
    transition:transform .2s ease, background .2s ease, color .2s ease;
  }
  .album-arrow:hover{transform:translateY(-50%) scale(1.08); background:var(--ochre); color:var(--teal-900);}
  .album-arrow-left{left:0;}
  .album-arrow-right{right:0;}
  .album-lightbox{
    position:fixed;
    inset:0;
    z-index:10000;
    background:rgba(7,31,33,.88);
    display:none;
    align-items:center;
    justify-content:center;
    padding:28px;
  }
  .album-lightbox.open{display:flex;}
  .album-lightbox img{
    max-width:min(1100px,96vw);
    max-height:86vh;
    border-radius:18px;
    object-fit:contain;
    box-shadow:0 35px 80px -30px rgba(0,0,0,.8);
  }
  .album-lightbox-close{
    position:absolute;
    top:20px;
    right:24px;
    width:44px;
    height:44px;
    border:0;
    border-radius:50%;
    background:rgba(242,233,216,.12);
    color:var(--cream);
    font-size:2rem;
    cursor:pointer;
  }
  @media(max-width:1100px){.album-slide{flex-basis:calc((100% - 36px) / 3);}}
  @media(max-width:700px){.album-slider{padding:0 42px}.album-slide{flex-basis:calc((100% - 18px) / 2); height:210px}.album-arrow{width:36px;height:36px;font-size:1.6rem;}}
  @media(max-width:430px){.album-slide{flex-basis:100%;}}


  /* ---------- INTERNAL RESERVATION PAGE ---------- */
  body.reservation-mode #landingContent{display:none;}
  body.reservation-mode #reservationPage{display:block;}
  #reservationPage{display:none; padding:130px 0 80px; min-height:100vh; background:radial-gradient(circle at top left,rgba(217,164,65,.18),transparent 30%),var(--cream-soft);}
  .reservation-page-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:34px;align-items:start;}
  @media(max-width:860px){.reservation-page-grid{grid-template-columns:1fr}#reservationPage{padding-top:105px}}
  .reservation-side-card{background:linear-gradient(135deg,var(--teal-900),var(--teal-700));color:var(--cream);border-radius:24px;padding:34px;box-shadow:var(--shadow);position:relative;overflow:hidden;}
  .reservation-side-card::after{content:'';position:absolute;right:-80px;top:-80px;width:220px;height:220px;background:rgba(217,164,65,.2);border-radius:50%;filter:blur(4px)}
  .reservation-side-card h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;margin:12px 0 16px;color:var(--white)}
  .reservation-side-card p{color:rgba(250,246,236,.82);line-height:1.65}
  .reservation-price-list{display:grid;gap:10px;margin-top:22px}
  .reservation-price-row{display:flex;justify-content:space-between;gap:12px;background:rgba(250,246,236,.08);border:1px solid rgba(250,246,236,.14);padding:12px 14px;border-radius:14px}
  .reservation-price-row b{color:var(--white)}
  .reservation-price-row span:last-child{color:var(--ochre);font-weight:700}
  .reservation-form-card{background:var(--white);border-radius:24px;padding:30px;box-shadow:var(--shadow);border:1px solid rgba(12,46,48,.08)}
  .reservation-form-card h2{font-size:1.8rem;margin:8px 0 8px}
  .reservation-form-card p{opacity:.72;line-height:1.6;margin:0 0 22px}
  .reservation-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
  @media(max-width:680px){.reservation-form-grid{grid-template-columns:1fr}}
  .reservation-full{grid-column:1/-1}
  .reservation-summary{margin-top:18px;padding:16px;border-radius:16px;background:rgba(46,110,53,.08);border:1px solid rgba(46,110,53,.18);font-size:.9rem;line-height:1.6;color:var(--green);display:none}
  .reservation-summary.show{display:block}
  .reservation-top-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;}

