:root {
  --cream:       #faf7f2;
  --cream-2:     #f3ede3;
  --sand:        #e8d9c4;
  --sand-2:      #d4c0a4;
  --stone:       #8c7a65;
  --pamir:       #3d6b5c;
  --pamir-light: #5a8f7c;
  --pamir-pale:  #d4e8e1;
  --deep:        #1e2d29;
  --text-main:   #2a2118;
  --text-body:   #5a4f42;
  --text-soft:   #9e8e7c;
  --white:       #ffffff;
  --radius-btn:  50px;
  --radius-card: 20px;
  --radius-sm:   12px;
  --shadow:      0 8px 40px rgba(30,45,41,0.08);
  --shadow-lg:   0 20px 60px rgba(30,45,41,0.14);
  --tr: 0.3s cubic-bezier(0.4,0,0.2,1);
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--text-main);font-family:'DM Sans',sans-serif;font-weight:300;overflow-x:hidden}
::-webkit-scrollbar{width:5px}
::-webkit-scrollbar-track{background:var(--cream-2)}
::-webkit-scrollbar-thumb{background:var(--pamir);border-radius:3px}
h1,h2,h3{font-family:'Playfair Display',serif;font-weight:400}

/* ── LANG SWITCHER ── */
.lang-bar {
  position: fixed;
  top: 0; right: 0;
  z-index: 1000;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 10px 20px;
  background: rgba(30,45,41,0.75);
  backdrop-filter: blur(12px);
  border-bottom-left-radius: 14px;
}
.lang-btn {
  background: transparent;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 20px;
  padding: 5px 13px;
  font-family: 'DM Sans', sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  color: rgba(255,255,255,0.6);
  cursor: pointer;
  transition: var(--tr);
  letter-spacing: 0.05em;
}
.lang-btn:hover { color: white; border-color: rgba(255,255,255,0.5); }
.lang-btn.active {
  background: var(--pamir);
  border-color: var(--pamir);
  color: white;
}

/* ── BUTTONS ── */
.btn-primary {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--pamir); color: var(--white);
  border: none; border-radius: var(--radius-btn);
  padding: 14px 32px;
  font-family: 'DM Sans',sans-serif; font-size: 0.85rem; font-weight: 500;
  letter-spacing: 0.03em; cursor: pointer; text-decoration: none;
  transition: var(--tr); box-shadow: 0 4px 20px rgba(61,107,92,0.3);
}
.btn-primary:hover { background: var(--deep); transform: translateY(-2px); box-shadow: 0 8px 30px rgba(30,45,41,0.35); }
.btn-primary .arr { width:18px;height:18px;border:1.5px solid currentColor;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;transition:transform 0.3s; }
.btn-primary:hover .arr { transform: rotate(45deg); }
.btn-outline {
  display: inline-flex; align-items: center; gap: 8px;
  background: transparent; color: var(--pamir);
  border: 1.5px solid var(--pamir); border-radius: var(--radius-btn);
  padding: 12px 28px; font-family:'DM Sans',sans-serif; font-size:0.82rem; font-weight:500;
  cursor:pointer; text-decoration:none; transition:var(--tr);
}
.btn-outline:hover { background: var(--pamir); color: var(--white); }
.btn-light {
  display: inline-flex; align-items: center; gap: 10px;
  background: var(--white); color: var(--deep); border: none;
  border-radius: var(--radius-btn); padding: 14px 32px;
  font-family:'DM Sans',sans-serif; font-size:0.85rem; font-weight:500;
  cursor:pointer; text-decoration:none; transition:var(--tr);
  box-shadow: 0 4px 20px rgba(0,0,0,0.15);
}
.btn-light:hover { background: var(--cream); transform: translateY(-2px); }

/* ── LABEL ── */
.lbl {
  display:inline-flex; align-items:center; gap:8px;
  font-size:0.68rem; font-weight:500; letter-spacing:0.18em; text-transform:uppercase;
  color:var(--pamir); margin-bottom:14px;
}
.lbl::before { content:''; display:block; width:22px; height:1.5px; background:var(--pamir); border-radius:1px; }

/* ── NAV ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:998;
  padding: 0 60px; height:72px;
  display:flex; align-items:center; justify-content:space-between;
  transition: all 0.4s;
}
nav.transparent { background: transparent; }
nav.solid {
  background: rgba(250,247,242,0.96);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--sand);
  box-shadow: 0 2px 20px rgba(30,45,41,0.06);
}
.nav-logo { font-family:'Playfair Display',serif; font-size:1.4rem; color:var(--white); text-decoration:none; letter-spacing:0.06em; transition:color 0.3s; 
background: url("../images/logo.png") no-repeat center;
background-size: contain;

    content: "";
    display: block;
    width: 180px;
    height: 60px;
}
nav.solid .nav-logo { color:var(--deep); }
.nav-links { display:flex; gap:32px; list-style:none; }
.nav-links a { color:rgba(255,255,255,0.85); text-decoration:none; font-size:0.82rem; transition:color 0.3s; }
.nav-links a:hover { color:white; }
nav.solid .nav-links a { color:var(--text-body); }
nav.solid .nav-links a:hover { color:var(--pamir); }
.nav-cta {
  /* background:var(--white); color:var(--deep) !important;
  border-radius:var(--radius-btn); padding:9px 22px;
  font-size:0.8rem !important; font-weight:500 !important;
  text-decoration:none; transition:all 0.3s;
  box-shadow: 0 2px 12px rgba(0,0,0,0.15); */
  background:none; color:transparent !important;
  border-radius:none; padding:9px 22px;
  font-size:0.8rem !important; font-weight:500 !important;
  text-decoration:none; transition:all 0.3s;
  box-shadow: none;
  color: none;
}
.nav-cta:hover { background:var(--pamir) !important; color:var(--white) !important; }
nav.solid .nav-cta { 
  /* background:var(--pamir); color:var(--white) !important;  */
  background:none; color:transparent !important;
  border-radius:none;
  font-size:0.8rem !important; font-weight:500 !important;
  text-decoration:none; transition:all 0.3s;
  box-shadow: none;
}
nav.solid .nav-cta:hover { background:var(--deep) !important; }

/* ── HERO ── */
#hero { position:relative; height:100vh; min-height:600px; overflow:hidden; display:flex; align-items:flex-end; }
.hero-video-wrap { position:absolute; inset:0; overflow:hidden; }
.hero-video-wrap iframe {
  position:absolute; top:50%; left:50%; transform:translate(-50%,-50%);
  width:100vw; height:56.25vw; min-height:100vh; min-width:177.78vh;
  border:none; pointer-events:none;
}
.hero-overlay {
  position:absolute; inset:0; z-index:1;
  background: linear-gradient(to top, rgba(20,35,30,0.92) 0%, rgba(20,35,30,0.35) 50%, rgba(20,35,30,0.15) 100%);
}
.hero-content { position:relative; z-index:2; padding:0 60px 80px; width:100%; max-width:1300px; margin:0 auto; }
.hero-badge {
  display:inline-flex; align-items:center; gap:8px;
  background:rgba(255,255,255,0.12); backdrop-filter:blur(12px);
  border:1px solid rgba(255,255,255,0.22); border-radius:var(--radius-btn);
  padding:7px 18px; color:rgba(255,255,255,0.9);
  font-size:0.72rem; letter-spacing:0.1em; margin-bottom:22px;
  opacity:0; animation:slideUp 0.7s 0.4s forwards;
}
.hero-badge .dot { width:6px;height:6px;background:#6de8b2;border-radius:50%;animation:blink 2s infinite; }
.hero-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(3.2rem,8vw,8rem); font-weight:400;
  color:var(--white); line-height:1.0; margin-bottom:18px;
  opacity:0; animation:slideUp 0.8s 0.6s forwards;
}
.hero-title span { font-style:italic; color:#a8d5c4; }
.hero-desc {
  color:rgba(255,255,255,0.72); font-size:1rem; font-weight:300;
  max-width:480px; line-height:1.75; margin-bottom:34px;
  opacity:0; animation:slideUp 0.8s 0.8s forwards;
}
.hero-actions { display:flex; gap:14px; align-items:center; flex-wrap:wrap; opacity:0; animation:slideUp 0.8s 1.0s forwards; }
.scroll-ind {
  position:absolute; right:60px; bottom:80px; z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:10px;
  color:rgba(255,255,255,0.4); font-size:0.6rem; letter-spacing:0.25em; text-transform:uppercase;
  opacity:0; animation:fadeIn 1s 1.5s forwards;
}
.scroll-line { width:1px; height:48px; background:linear-gradient(to bottom,rgba(255,255,255,0.5),transparent); animation:sAnim 2s 2s infinite; }

/* ── BOOKING BAR ── */
.booking-bar {
  position:relative; z-index:10;
  background:var(--white); margin:-28px 60px 0;
  border-radius:18px; padding:26px 32px;
  display:flex; align-items:center; gap:0;
  box-shadow: var(--shadow-lg);
}
.bf { flex:1; padding:0 26px; border-right:1px solid var(--sand); }
.bf:first-child { padding-left:0; }
.bf-lbl { font-size:0.62rem; font-weight:500; letter-spacing:0.1em; text-transform:uppercase; color:var(--text-soft); margin-bottom:5px; }
.bf input, .bf select { border:none; background:none; font-family:'DM Sans',sans-serif; font-size:0.92rem; color:var(--text-main); outline:none; width:100%; }
.booking-bar .btn-primary { margin-left:26px; white-space:nowrap; }

/* ── CONTAINER / SECTION ── */
.container { max-width:1300px; margin:0 auto; padding:0 60px; }

/* ── REVEAL ── */
.reveal { opacity:0; transform:translateY(28px); transition:opacity 0.7s ease, transform 0.7s ease; }
.reveal.visible { opacity:1; transform:translateY(0); }

/* ── ABOUT ── */
#about { background:var(--white); padding:100px 0; }
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.about-text .ttl { font-size:clamp(1.9rem,3.5vw,3.2rem); line-height:1.2; color:var(--text-main); margin-bottom:20px; }
.about-text .bdy { color:var(--text-body); font-size:0.93rem; line-height:1.85; margin-bottom:14px; }
.about-text .btn-primary { margin-top:22px; }
.stats-row { display:flex; gap:36px; margin-top:36px; padding-top:36px; border-top:1px solid var(--sand); }
.stat-n { font-family:'Playfair Display',serif; font-size:2.4rem; color:var(--pamir); line-height:1; }
.stat-l { font-size:0.72rem; color:var(--text-soft); margin-top:4px; }

/* Photo grid */
.photo-grid { display:grid; grid-template-columns:1fr 1fr; grid-template-rows:auto auto; gap:12px; }
.pg-img { border-radius:14px; overflow:hidden; background:#c8d8d4; }
.pg-img img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.6s; }
.pg-img:hover img { transform:scale(1.05); }
.pg-big { grid-column:1/-1; height:210px; }
.pg-sm { height:160px; }
.pg-badge {
  grid-column:2/3; height:160px; background:var(--deep);
  border-radius:14px; display:flex; align-items:center; justify-content:center;
  flex-direction:column; gap:6px; text-align:center; padding:20px;
}
.pg-badge .nbig { font-family:'Playfair Display',serif; font-size:2.8rem; color:#a8d5c4; line-height:1; }
.pg-badge .ntxt { font-size:0.68rem; letter-spacing:0.1em; color:rgba(255,255,255,0.55); }

/* ── GALLERY STRIP ── */
#gallery { background:var(--cream-2); padding:80px 0 0; overflow:hidden; }
.gallery-header { padding:0 60px 40px; display:flex; align-items:flex-end; justify-content:space-between; }
.gallery-header .ttl { font-size:clamp(1.8rem,3vw,2.8rem); }
.gallery-strip { display:flex; gap:14px; padding:0 60px 60px; overflow-x:auto; scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; }
.gallery-strip::-webkit-scrollbar { height:4px; }
.gallery-strip::-webkit-scrollbar-thumb { background:var(--pamir); border-radius:2px; }
.gallery-item { flex:0 0 340px; height:250px; border-radius:16px; overflow:hidden; scroll-snap-align:start; }
.gallery-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.5s; }
.gallery-item:hover img { transform:scale(1.06); }

/* ── ROOMS ── */
#rooms { background:var(--cream); padding:100px 0; }
.sec-head { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:46px; }
.sec-ttl { font-size:clamp(1.8rem,3.5vw,3rem); line-height:1.2; max-width:400px; }
.rooms-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.room-card { background:var(--white); border-radius:var(--radius-card); overflow:hidden; transition:all var(--tr); box-shadow:var(--shadow); }
.room-card:hover { transform:translateY(-7px); box-shadow:var(--shadow-lg); }
.room-thumb { height:220px; position:relative; overflow:hidden; }
.room-thumb img { width:100%; height:100%; object-fit:cover; transition:transform 0.6s; }
.room-card:hover .room-thumb img { transform:scale(1.06); }
.room-pb { position:absolute; top:14px; right:14px; background:var(--white); border-radius:var(--radius-btn); padding:5px 14px; font-size:0.78rem; font-weight:500; color:var(--pamir); box-shadow:0 2px 10px rgba(0,0,0,0.15); }
.room-body { padding:22px; }
.room-tag { font-size:0.63rem; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:var(--pamir); margin-bottom:7px; }
.room-name { font-family:'Playfair Display',serif; font-size:1.3rem; color:var(--text-main); margin-bottom:12px; }
.room-feats { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:18px; }
.rft { background:var(--pamir-pale); color:var(--pamir); border-radius:var(--radius-btn); padding:5px 12px; font-size:0.7rem; }
.room-foot { display:flex; align-items:center; justify-content:space-between; padding-top:14px; border-top:1px solid var(--sand); }
.room-price { font-family:'Playfair Display',serif; font-size:1.45rem; color:var(--text-main); }
.room-price span { font-family:'DM Sans',sans-serif; font-size:0.72rem; color:var(--text-soft); }
.room-btn { background:var(--cream); border:none; border-radius:var(--radius-btn); padding:9px 18px; font-family:'DM Sans',sans-serif; font-size:0.78rem; font-weight:500; color:var(--pamir); cursor:pointer; transition:var(--tr); }
.room-btn:hover { background:var(--pamir); color:var(--white); }

/* ── EXPERIENCE ── */
#experience { background:var(--deep); padding:100px 0; color:var(--white); position:relative; overflow:hidden; }
#experience::before { content:''; position:absolute; top:-80px; right:-80px; width:460px; height:460px; background:radial-gradient(circle, rgba(61,107,92,0.2) 0%, transparent 70%); pointer-events:none; }
#experience .lbl { color:#a8d5c4; }
#experience .lbl::before { background:#a8d5c4; }
.exp-head { display:flex; justify-content:space-between; align-items:flex-end; margin-bottom:56px; }
.exp-ttl { font-size:clamp(1.8rem,3.5vw,3.2rem); color:var(--white); max-width:430px; line-height:1.2; }
.exp-ttl span { font-style:italic; color:#a8d5c4; }
.am-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; }
.am-card {
  background:rgba(255,255,255,0.05); border:1px solid rgba(255,255,255,0.08);
  border-radius:var(--radius-card); padding:28px 22px; transition:all var(--tr);
  position:relative; overflow:hidden;
}
.am-card::after { content:''; position:absolute; bottom:0; left:0; right:0; height:2px; background:linear-gradient(90deg,var(--pamir),var(--pamir-light)); transform:scaleX(0); transform-origin:left; transition:transform 0.4s; }
.am-card:hover { background:rgba(255,255,255,0.08); border-color:rgba(168,213,196,0.25); transform:translateY(-4px); }
.am-card:hover::after { transform:scaleX(1); }
.am-ico { width:46px;height:46px;background:rgba(61,107,92,0.25);border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;color:#a8d5c4; }
.am-name { font-family:'Playfair Display',serif; font-size:1.02rem; color:var(--white); margin-bottom:7px; }
.am-desc { font-size:0.78rem; color:rgba(255,255,255,0.47); line-height:1.65; }

/* ── LOCATION ── */
#location { background:var(--cream-2); padding:100px 0; }
.loc-grid { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; }
.loc-text .ttl { font-size:clamp(1.8rem,3.5vw,3rem); line-height:1.2; margin-bottom:18px; }
.loc-text .bdy { color:var(--text-body); font-size:0.93rem; line-height:1.85; margin-bottom:28px; }
.loc-items { display:flex; flex-direction:column; gap:12px; margin-top:28px; }
.loc-item { display:flex; align-items:center; gap:13px; padding:13px 16px; background:var(--white); border-radius:var(--radius-sm); }
.loc-ico { width:36px;height:36px;background:var(--pamir-pale);border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--pamir);flex-shrink:0; }
.loc-lbl { font-size:0.62rem; text-transform:uppercase; letter-spacing:0.1em; color:var(--text-soft); }
.loc-val { font-size:0.86rem; color:var(--text-main); margin-top:1px; }
.map-box { background:var(--white); border-radius:22px; overflow:hidden; box-shadow:var(--shadow-lg); height:400px; position:relative; display:flex; align-items:center; justify-content:center; }
.map-box img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.map-overlay { position:absolute; inset:0; background:rgba(212,232,225,0.4); }
.map-pin-wrap { position:relative; z-index:2; display:flex; flex-direction:column; align-items:center; gap:10px; }
.map-pin { width:48px;height:48px;background:var(--pamir);border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 6px 24px rgba(61,107,92,0.5);animation:pinFloat 2.5s ease-in-out infinite;position:relative; }
.map-pin::after { content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:18px;height:18px;background:var(--white);border-radius:50%; }
.map-lbl { background:var(--white);border-radius:var(--radius-btn);padding:7px 16px;font-size:0.8rem;font-weight:500;color:var(--deep);box-shadow:0 4px 16px rgba(0,0,0,0.12); }
.map-coord { font-size:0.65rem;color:var(--stone);text-align:center; }

/* ── PARTNERS ── */
#partners { background:var(--white); padding:60px 0; }
.part-inner { display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap; }
.part-title { font-size:0.68rem;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;color:var(--text-soft);white-space:nowrap;flex-shrink:0;padding-right:36px;border-right:1px solid var(--sand); }
.part-list { display:flex;gap:8px;flex-wrap:wrap;flex:1;padding-left:36px; }
.part-chip { display:inline-flex;align-items:center;background:var(--cream);border:1px solid var(--sand);border-radius:var(--radius-btn);padding:9px 20px;font-size:0.78rem;color:var(--text-body);text-decoration:none;transition:all var(--tr); }
.part-chip:hover { background:var(--pamir-pale);border-color:var(--pamir-light);color:var(--pamir); }

/* ── TESTIMONIALS ── */
#testimonials { background:var(--cream); padding:100px 0; }
.t-head { display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:44px; }
.t-ttl { font-size:clamp(1.8rem,3vw,3rem);line-height:1.2;max-width:360px; }
.t-grid { display:grid;grid-template-columns:repeat(3,1fr);gap:22px; }
.t-card { background:var(--white);border-radius:var(--radius-card);padding:30px;box-shadow:var(--shadow);transition:all var(--tr);display:flex;flex-direction:column;gap:18px; }
.t-card:hover { transform:translateY(-6px);box-shadow:var(--shadow-lg); }
.t-stars { display:flex;gap:3px; }
.t-star { width:13px;height:13px;background:#f5c842;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%); }
.t-txt { font-size:0.88rem;color:var(--text-body);line-height:1.8;font-style:italic;flex:1; }
.t-auth { display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px solid var(--sand); }
.t-av { width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.1rem;flex-shrink:0; }
.av1{background:#d4e8e1;color:var(--pamir)} .av2{background:#e8d9c4;color:#7a5c3a} .av3{background:#d4d8e4;color:#3a4a7a}
.t-name{font-size:0.86rem;font-weight:500;color:var(--text-main)} .t-from{font-size:0.7rem;color:var(--text-soft)}

/* ── CONTACT ── */
#contact { background:var(--white); padding:100px 0; }
.contact-grid { display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:start; }
.cl-ttl{font-size:clamp(1.8rem,3.5vw,3.2rem);line-height:1.2;margin-bottom:14px}
.cl-bdy{color:var(--text-body);font-size:0.93rem;line-height:1.8;margin-bottom:28px}
.ci-cards{display:flex;flex-direction:column;gap:12px;margin-top:28px}
.ci-card{display:flex;align-items:center;gap:13px;padding:14px 16px;background:var(--cream);border-radius:var(--radius-sm);border:1px solid var(--sand)}
.ci-ico{width:38px;height:38px;background:var(--pamir-pale);border-radius:9px;display:flex;align-items:center;justify-content:center;color:var(--pamir);flex-shrink:0}
.ci-lbl{font-size:0.62rem;text-transform:uppercase;letter-spacing:0.1em;color:var(--text-soft)}
.ci-val{font-size:0.88rem;color:var(--text-main);margin-top:1px}
.c-form{background:var(--cream);border-radius:22px;padding:36px;border:1px solid var(--sand)}
.c-form-ttl{font-family:'Playfair Display',serif;font-size:1.45rem;margin-bottom:24px;color:var(--text-main)}
.fg{margin-bottom:14px}
.fg label{display:block;font-size:0.68rem;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-soft);margin-bottom:7px}
.fg input,.fg select,.fg textarea{width:100%;background:var(--white);border:1.5px solid var(--sand);border-radius:11px;padding:12px 14px;font-family:'DM Sans',sans-serif;font-size:0.88rem;color:var(--text-main);outline:none;transition:border-color 0.3s}
.fg input:focus,.fg select:focus,.fg textarea:focus{border-color:var(--pamir)}
.fg textarea{height:82px;resize:none}
.fr{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.f-sub{margin-top:18px}
.f-sub .btn-primary{width:100%;justify-content:center}

/* ── FOOTER ── */
footer{background:var(--deep);color:var(--white);padding:56px 0 32px}
.ft-top{display:grid;grid-template-columns:2fr 1fr 1fr;gap:56px;padding-bottom:44px;border-bottom:1px solid rgba(255,255,255,0.08)}
.ft-logo{font-family:'Playfair Display',serif;font-size:1.7rem;color:var(--white);margin-bottom:10px}
.ft-tag{font-size:0.8rem;color:rgba(255,255,255,0.42);line-height:1.7;max-width:260px}
.ft-col-ttl{font-size:0.68rem;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;color:rgba(255,255,255,0.38);margin-bottom:18px}
.ft-links{display:flex;flex-direction:column;gap:9px;list-style:none}
.ft-links a{color:rgba(255,255,255,0.58);text-decoration:none;font-size:0.86rem;transition:color 0.3s}
.ft-links a:hover{color:#a8d5c4}
.ft-bot{padding-top:26px;display:flex;align-items:center;justify-content:space-between}
.ft-copy{font-size:0.72rem;color:rgba(255,255,255,0.32)}
.ft-made{font-size:0.72rem;color:rgba(255,255,255,0.22)}

/* ── ANIMATIONS ── */
@keyframes slideUp{from{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.3}}
@keyframes sAnim{0%{transform:scaleY(0);transform-origin:top;opacity:1}50%{transform:scaleY(1);transform-origin:top}51%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom;opacity:0}}
@keyframes pinFloat{0%,100%{transform:rotate(-45deg) translateY(0)}50%{transform:rotate(-45deg) translateY(-8px)}}

/* ── MOBILE ── */
@media(max-width:960px){
  nav{padding:0 20px}
  .nav-links{display:none}
  .hero-content{padding:0 20px 70px}
  .booking-bar{display:none}
  .container{padding:0 20px}
  .about-grid,.loc-grid,.contact-grid{grid-template-columns:1fr;gap:40px}
  .rooms-grid,.am-grid,.t-grid{grid-template-columns:1fr}
  .ft-top{grid-template-columns:1fr;gap:28px}
  .ft-bot{flex-direction:column;gap:8px;text-align:center}
  .sec-head,.exp-head,.t-head{flex-direction:column;align-items:flex-start;gap:18px}
  .part-inner{flex-direction:column;gap:18px}
  .part-title{border-right:none;padding-right:0;border-bottom:1px solid var(--sand);padding-bottom:16px;width:100%}
  .part-list{padding-left:0}
  .scroll-ind{display:none}
  .stats-row{gap:22px}
  .fr{grid-template-columns:1fr}
  .gallery-strip{padding:0 20px 50px}
  .gallery-header{padding:0 20px 30px}
  .lang-bar{padding:8px 12px}
  .lang-btn{padding:4px 10px;font-size:0.65rem}
}

/************/
.modal {
  display: none;
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.6);
  z-index: 9999;
  justify-content: center;
  align-items: center;
}

.modal-box {
  background: #fff;
  width: 90%;
  max-width: 500px;
  max-height: 90vh;
  overflow: hidden;
  border-radius: 20px;
  padding: 20px;
}
.modal-box-body {
  max-height: 80vh;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 20px;
}
.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.close {
  cursor: pointer;
  font-size: 22px;
}

.room-tags span {
  display: inline-block;
  border: 1px solid #ccc;
  padding: 5px 8px;
  margin: 3px;
  border-radius: 5px;
  font-size: 12px;
}

.features {
  margin-top: 15px;
  padding-left: 18px;

  display: flex;
  flex-wrap: wrap;
  gap: 15px;
}

.features li {
  position: relative;
  margin-bottom: 6px;
  font-size: 12px;
  list-style:none;
  padding-left: 11px;
  white-space: nowrap;
}
.features li::before {
  content: "✔";
  position: absolute;
  left: 0;
  color: #2e7d32; /* можно изменить цвет */
  font-weight: bold;
}

 /* ===== GALLERY MODULE ===== */
  .pg-gallery { width: 100%; user-select: none; }

  .pg-stage {
    position: relative;
    width: 100%;
    aspect-ratio: 16/9;
    background: #0f3460;
    border-radius: 12px;
    overflow: hidden;
  }

  .pg-slide {
    position: absolute;
    inset: 0;
    opacity: 0;
    transition: opacity .4s ease;
  }
  .pg-slide.active { opacity: 1; }

  .pg-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
  }

  /* Placeholder если нет картинки */
  .pg-slide .pg-placeholder {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    font-size: 48px;
    background: linear-gradient(135deg, #0f3460, #533483);
    color: rgba(255,255,255,.15);
    font-weight: 900;
  }

  /* Стрелки */
  .pg-arrow {
    position: absolute;
    top: 50%; transform: translateY(-50%);
    background: rgba(0,0,0,.5);
    border: none;
    color: #fff;
    width: 40px; height: 40px;
    border-radius: 50%;
    font-size: 18px;
    cursor: pointer;
    z-index: 10;
    transition: background .2s;
    display: flex; align-items: center; justify-content: center;
  }
  .pg-arrow:hover { background: rgba(233,69,96,.8); }
  .pg-arrow.prev { left: 12px; }
  .pg-arrow.next { right: 12px; }

  /* Счётчик */
  .pg-counter {
    position: absolute;
    bottom: 12px; right: 14px;
    background: rgba(0,0,0,.55);
    color: #fff;
    font-size: 12px;
    padding: 3px 10px;
    border-radius: 20px;
    z-index: 10;
  }

  /* Точки */
  .pg-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 14px;
  }
  .pg-dot {
    width: 8px; height: 8px;
    border-radius: 50%;
    background: rgba(255,255,255,.25);
    border: none;
    cursor: pointer;
    padding: 0;
    transition: background .2s, transform .2s;
  }
  .pg-dot.active { background: #e94560; transform: scale(1.3); }

  /* Превью миниатюр */
  .pg-thumbs {
    display: flex;
    gap: 8px;
    margin-top: 12px;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: thin;
    scrollbar-color: #e94560 transparent;
  }
  .pg-thumb {
    flex: 0 0 64px;
    height: 44px;
    border-radius: 6px;
    overflow: hidden;
    cursor: pointer;
    opacity: .5;
    border: 2px solid transparent;
    transition: opacity .2s, border-color .2s;
  }
  .pg-thumb.active { opacity: 1; border-color: #e94560; }
  .pg-thumb img { width: 100%; height: 100%; object-fit: cover; }
  .pg-thumb .pg-thumb-ph {
    width: 100%; height: 100%;
    background: linear-gradient(135deg, #0f3460, #533483);
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,.4);
    font-size: 10px;
    font-weight: 700;
  }