:root{
  --cream: #F6E8D5;
  --cream-light: #FBF6EE;
  --forest: #34432F;
  --forest-deep: #212B1B;
  --reed: #B89A5E;
  --bougain: #B8325A;
  --ink: #2C2418;
  --ink-soft: #5B5142;
  --line: rgba(52,67,47,0.16);
  --shadow: 0 18px 50px -25px rgba(38,48,31,0.45);
  color-scheme: light;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ background:var(--forest-deep); }
body{
  margin:0;
  background:var(--cream);
  color:var(--ink);
  font-family:'Inter', system-ui, sans-serif;
  font-size:16px;
  line-height:1.6;
  overflow-x:clip;
}
img,video{ max-width:100%; display:block; }
a{ color:inherit; }
button{ font-family:inherit; }
.visually-hidden{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
:focus-visible{ outline:3px solid var(--bougain); outline-offset:3px; }

h1,h2,h3{
  font-family:'EB Garamond', Georgia, serif;
  font-weight:400;
  line-height:1.1;
  margin:0;
  text-wrap:balance;
  letter-spacing:-0.01em;
  color:var(--forest);
}
.serif-italic{ font-style:italic; }

.container{
  max-width:1180px;
  margin:0 auto;
  padding-inline:24px;
}

.btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:14px 26px;
  border-radius:999px;
  border:1.5px solid var(--forest);
  background:transparent;
  color:var(--forest);
  font-family:'Inter', sans-serif;
  font-weight:600;
  font-size:14.5px;
  cursor:pointer;
  transition:background .35s ease, color .35s ease, transform .3s ease;
  text-decoration:none;
}
.btn:hover{ background:var(--forest); color:var(--cream-light); transform:translateY(-1px); }
.btn.solid{ background:var(--forest); color:var(--cream-light); }
.btn.solid:hover{ background:var(--forest-deep); }

/* ---------------------------------- */
/* Intro curtain                       */
/* ---------------------------------- */
.curtain{
  position:fixed; inset:0; z-index:200;
  background:var(--forest-deep);
  display:flex; align-items:center; justify-content:center;
  transition:transform .9s cubic-bezier(.65,0,.35,1);
}
.curtain.is-hidden{ transform:translateY(-100%); pointer-events:none; }
.curtain-word{
  font-family:'EB Garamond', serif;
  font-style:italic;
  font-size:clamp(24px,3.4vw,34px);
  color:var(--cream-light);
  opacity:0;
  transition:opacity .5s ease;
}
.curtain-word::before{ content:'•'; margin-right:12px; opacity:.6; }
.curtain-word.is-visible{ opacity:1; }

/* ---------------------------------- */
/* Top nav                             */
/* ---------------------------------- */
.topnav{
  position:fixed; inset:0 0 auto 0; z-index:80;
  display:flex; align-items:center; justify-content:space-between;
  padding:20px clamp(20px,4vw,48px);
  padding-top:calc(20px + env(safe-area-inset-top,0px));
  pointer-events:none;
}
.topnav > *{ pointer-events:auto; }
.topnav .logo{
  display:flex; align-items:center; gap:10px;
  text-decoration:none;
}
.logo-icon, .logo-word{ position:relative; display:block; }
.logo-icon{ width:27px; aspect-ratio:1/1; }
.logo-word{ height:18px; aspect-ratio:1486/454; }
.logo-icon img, .logo-word img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:contain;
  transition:opacity .35s ease;
}
.logo-icon img.on-light, .logo-word img.on-light{ opacity:0; }
.topnav.is-scrolled .logo-icon img.on-dark, .topnav.is-scrolled .logo-word img.on-dark{ opacity:0; }
.topnav.is-scrolled .logo-icon img.on-light, .topnav.is-scrolled .logo-word img.on-light{ opacity:1; }
.lang-switch{
  display:flex; gap:6px; font-family:'Inter',sans-serif; font-size:13px; font-weight:600;
  color:var(--cream-light); transition:color .4s ease;
}
.topnav.is-scrolled .lang-switch{ color:var(--forest); }
/* Inner pages (rooms, experiences, nearby): once scrolled, the nav gets a soft cream
   backdrop so content — like the nearby page's road — doesn't run through the logo. */
.room-page .topnav{ transition:background-color .35s ease, box-shadow .35s ease; }
.room-page .topnav.is-scrolled{
  background:rgba(246,232,213,.9); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  box-shadow:0 1px 0 rgba(52,67,47,.1);
}
.lang-switch button{
  background:none; border:none; color:inherit; cursor:pointer; padding:4px 6px;
  opacity:.55; font-size:inherit; font-weight:inherit;
}
.lang-switch button[aria-pressed="true"]{ opacity:1; text-decoration:underline; text-underline-offset:4px; }

/* ---------------------------------- */
/* Hero — split Dalyan photos          */
/* ---------------------------------- */
.hero{
  position:relative;
  height:100svh;
  min-height:600px;
  overflow:hidden;
  background:var(--forest-deep);
  display:flex;
}
.hero-half{
  position:relative;
  width:50%; height:100%;
  overflow:hidden;
  will-change:transform;
}
.hero-half img{ width:100%; height:100%; object-fit:cover; }
.hero-half::after{
  content:'';
  position:absolute; inset:0;
  background:rgba(33,43,27,.38);
}
.hero-half-left{ transform:translateY(-100%); }
.hero-half-right{ transform:translateY(100%); }
.hero.is-open .hero-half-left{ transform:translateY(0); transition:transform 1.1s cubic-bezier(.16,.7,.2,1); }
.hero.is-open .hero-half-right{ transform:translateY(0); transition:transform 1.1s cubic-bezier(.16,.7,.2,1) .05s; }

.hero-content{
  position:absolute; inset:0; z-index:3;
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  text-align:center;
  padding:0 20px;
  color:var(--cream-light);
  opacity:0;
  transition:opacity .9s ease 1s;
}
.hero.is-open .hero-content{ opacity:1; }
.hero-eyebrow{
  font-family:'Inter', sans-serif; font-size:13px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; opacity:.85; margin-bottom:18px;
}
.hero h1{
  color:var(--cream-light);
  font-size:clamp(32px,6vw,64px);
  max-width:16ch;
}
.hero h1 em{ font-style:italic; font-weight:400; }
.hero-rule{
  width:1px; height:60px; background:rgba(246,232,213,.5);
  margin:28px auto;
}
.hero .btn{ border-color:var(--cream-light); color:var(--cream-light); }
.hero .btn:hover{ background:var(--cream-light); color:var(--forest); }

.hero-credit{
  position:absolute; right:20px; bottom:18px; z-index:3;
  font-family:'Inter',sans-serif; font-size:11px; color:rgba(246,232,213,.65);
}

/* ---------------------------------- */
/* Section rhythm                      */
/* ---------------------------------- */
section{ position:relative; }
.section-pad{ padding-block:100px; }
.section-pad.tight{ padding-block:60px; }
.eyebrow{
  font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--bougain);
}
.section-head{ max-width:640px; }
.section-head h2{ font-size:clamp(28px,4vw,42px); margin-top:10px; }
.section-head p{ margin-top:14px; color:var(--ink-soft); font-size:16px; max-width:52ch; }
.section-head.center{ margin-inline:auto; text-align:center; }

/* ---------------------------------- */
/* Welcome                             */
/* ---------------------------------- */
.welcome{ background:var(--cream); text-align:center; padding-block:100px 40px; }
.welcome .container{ max-width:760px; }
.welcome-icon{ display:block; width:40px; height:auto; margin:0 auto 18px; }
.welcome .eyebrow{
  display:block;
  font-family:'EB Garamond', serif; font-style:italic; font-weight:500;
  font-size:18px; letter-spacing:0; text-transform:none; color:var(--bougain);
}
.welcome h2{ margin-top:6px; }
.welcome p{ margin-top:18px; color:var(--ink-soft); font-size:18px; line-height:1.65; }
.welcome .btn{ margin-top:28px; }

/* ---------------------------------- */
/* Aisha'dan bir bakış — welcome photos */
/* ---------------------------------- */
/* Burası Aisha — the hotel as a second hero. The frame starts as an inset rounded card
   and widens to full-bleed as it scrolls in (--inset, --radius, --zoom from JS). */
.place{ background:var(--cream); }
.place-hero{ position:relative; }
.place-hero-frame{
  position:relative; height:min(88vh, 880px); min-height:420px; overflow:hidden;
  clip-path:inset(0 var(--inset, 48px) round var(--radius, 28px));
}
.place-hero-frame img{
  width:100%; height:100%; object-fit:cover; object-position:60% 58%; display:block;
  transform:scale(var(--zoom, 1.1)); will-change:transform;
}
.place-hero-frame::after{
  content:""; position:absolute; inset:auto 0 0 0; height:55%; pointer-events:none;
  background:linear-gradient(to top, rgba(33,43,27,.62), rgba(33,43,27,0));
}
.place-hero-text{
  position:absolute; left:0; right:0; bottom:clamp(28px,6vh,64px); z-index:1;
  padding-inline:calc(var(--inset, 48px) + clamp(20px,4vw,56px));
  color:var(--cream-light);
}
.place-hero-eyebrow{
  font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase;
  color:rgba(251,246,238,.85);
}
.place-hero-text h2{
  margin-top:10px; color:var(--cream-light);
  font-size:clamp(46px,7.4vw,112px); line-height:.95; letter-spacing:-0.025em;
}

/* "Aisha'da bir gün": a short text on the left and, on the right, a story-style player
   (our Instagram handle, progress bars, tap left/right to switch) that overlaps the
   hero's lower-right edge. It plays the two videos one after the other (from JS). */
.place-after{
  position:relative; z-index:2;
  display:grid; grid-template-columns:1fr auto; gap:clamp(24px,5vw,80px); align-items:start;
}
.place-day{ padding-top:56px; max-width:40ch; }
.place-day p{
  margin-top:12px; font-family:'EB Garamond',serif; font-size:clamp(21px,1.9vw,26px); line-height:1.4; color:var(--ink);
}
.place-ig{
  display:inline-block; margin-top:20px; padding-bottom:1px;
  font-size:14px; font-weight:600; color:var(--ink); text-decoration:none;
  border-bottom:2px solid currentColor; transition:color .25s ease;
}
.place-ig:hover{ color:var(--bougain); }

.story-player{
  --spw:clamp(240px, 21vw, 310px);
  position:relative; width:var(--spw); aspect-ratio:9/16;
  margin-top:calc(var(--spw) * -0.98);          /* overlap the hero by ~55% of its height */
  border-radius:22px; overflow:hidden; background:var(--forest-deep);
  box-shadow:0 34px 70px -30px rgba(33,43,27,.65), 0 2px 6px rgba(33,43,27,.12);
  transform:translate3d(0, var(--sp-rise, 0px), 0);
}
.story-player::before, .story-player::after{ content:""; position:absolute; left:0; right:0; z-index:2; pointer-events:none; }
.story-player::before{ top:0; height:26%; background:linear-gradient(to bottom, rgba(0,0,0,.45), transparent); }
.story-player::after{ bottom:0; height:32%; background:linear-gradient(to top, rgba(0,0,0,.55), transparent); }
.sp-video{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  opacity:0; transition:opacity .6s ease;
}
.sp-video.is-active{ opacity:1; }
.sp-bars{ position:absolute; top:12px; left:12px; right:12px; z-index:3; display:flex; gap:4px; }
.sp-bar{ flex:1; height:2.5px; border-radius:2px; overflow:hidden; background:rgba(255,255,255,.35); }
.sp-bar i{ display:block; width:0; height:100%; background:#fff; }
.sp-head{
  position:absolute; top:24px; left:12px; right:12px; z-index:3;
  display:flex; align-items:center; gap:8px;
  font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600; color:#fff;
}
.sp-avatar{
  width:30px; height:30px; flex:0 0 auto; border-radius:50%;
  display:grid; place-items:center; background:var(--cream-light);
  box-shadow:0 0 0 2px var(--bougain);
}
.sp-avatar img{ width:17px; height:auto; }
.sp-when{ font-weight:400; opacity:.8; }
.sp-when::before{ content:"· "; }
.sp-cap{
  position:absolute; left:16px; right:16px; bottom:18px; z-index:3; margin:0;
  font-family:'EB Garamond',serif; font-style:italic; font-size:22px; line-height:1.2; color:var(--cream-light);
}
.sp-nav{
  position:absolute; top:0; bottom:0; z-index:4; width:45%;
  background:none; border:0; padding:0; cursor:pointer;
}
.sp-prev{ left:0; }
.sp-next{ right:0; }

/* Hizmetlerimiz — two bands of serif names with round line icons, drifting in
   opposite directions (CSS) over the panorama's blurred sky, nudged further by the
   scroll (--shift from JS). */
.services{ padding-top:44px; }
.services-head{ text-align:center; }
.services-head h3{ font-size:clamp(28px,3.4vw,44px); line-height:1.12; margin-top:10px; }
.services-marquee{
  position:absolute; left:0; right:0; top:clamp(16px,2.4vw,34px); z-index:2;
  display:flex; flex-direction:column; gap:6px;
  -webkit-mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
          mask-image:linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.svc-row{ overflow:hidden; }
.svc-shift{ transform:translate3d(var(--shift, 0px), 0, 0); will-change:transform; }
.svc-track{ display:flex; width:max-content; animation:svc-marquee 70s linear infinite; }
.svc-row--rev .svc-track{ animation-direction:reverse; animation-duration:80s; }
.services-marquee:hover .svc-track{ animation-play-state:paused; }
@keyframes svc-marquee{ to{ transform:translateX(-50%); } }
.svc-item{
  display:inline-flex; align-items:center; gap:12px; padding:5px 22px;
  font-family:'EB Garamond',serif; font-size:clamp(19px,2.1vw,30px); line-height:1.1;
  color:var(--forest); white-space:nowrap;
}
.svc-item:nth-child(even) .svc-name{ font-style:italic; color:var(--ink); }
.svc-icon{
  width:clamp(30px,2.6vw,40px); aspect-ratio:1; flex:0 0 auto; border-radius:50%;
  display:grid; place-items:center;
  background:var(--cream-light); border:1.4px solid rgba(52,67,47,.28);
  transition:background-color .3s ease, transform .4s ease;
}
.svc-icon svg{
  width:54%; height:54%; color:var(--forest);
  fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round;
}
.svc-item:hover .svc-icon{ background:var(--bougain); transform:rotate(-8deg); }
.svc-item:hover .svc-icon svg{ color:var(--cream-light); }

/* Dalyan panorama — full-bleed band; the image is wider than the frame and pans
   left → right as the section scrolls past (--pan from JS). A blurred copy, masked
   to the top, softens the sky under the service bands; a cream veil fades the top
   edge into the section above. */
.pano{ position:relative; margin:36px 0 0; height:clamp(380px, 44vw, 620px); overflow:hidden; }
.pano-img{
  position:absolute; inset:0; width:100%; height:100%; display:block;
  object-fit:cover; object-position:var(--pan, 50%) 50%;
}
.pano-blur{
  filter:blur(9px); transform:scale(1.04);
  -webkit-mask-image:linear-gradient(to bottom, #000 0%, #000 24%, transparent 46%);
          mask-image:linear-gradient(to bottom, #000 0%, #000 24%, transparent 46%);
}
.pano::before{
  content:""; position:absolute; inset:0 0 auto 0; height:55%; z-index:1; pointer-events:none;
  background:linear-gradient(to bottom, rgba(246,232,213,1), rgba(246,232,213,.5) 32%, rgba(246,232,213,0));
}
.pano::after{
  content:""; position:absolute; inset:auto 0 0 0; height:40%;
  background:linear-gradient(to top, rgba(33,43,27,.45), transparent); pointer-events:none;
}
.pano figcaption{
  position:absolute; left:clamp(20px,4vw,48px); bottom:22px; z-index:1;
  font-family:'EB Garamond',serif; font-style:italic; font-size:clamp(18px,1.6vw,22px); color:var(--cream-light);
}

/* ---------------------------------- */
/* Elimizle yaptık — sticky split      */
/* ---------------------------------- */
.craft{ background:var(--forest); color:var(--cream-light); padding-block:100px 110px; }
.craft .section-head h2{ color:var(--cream-light); }
.craft-split{
  margin-top:56px;
  display:grid; grid-template-columns:minmax(260px, 4fr) 7fr; gap:clamp(32px,5vw,88px);
  align-items:start;
}
.craft-nav{ position:sticky; top:120px; }
.craft-nav ol{ list-style:none; margin:0; padding:0; }
.craft-nav-item{
  padding:18px 0; border-top:1px solid rgba(246,232,213,.16);
  opacity:.42; transition:opacity .5s ease;
}
.craft-nav-item:last-child{ border-bottom:1px solid rgba(246,232,213,.16); }
.craft-nav-item.is-active{ opacity:1; }
.craft-ch-num{ font-family:'EB Garamond',serif; font-style:italic; font-size:15px; color:var(--reed); }
.craft-nav-item h3, .craft-ch-head h3{ color:var(--cream-light); font-size:clamp(24px,2.4vw,32px); margin-top:4px; }
.craft-nav-item p{
  max-height:0; overflow:hidden; opacity:0;
  color:rgba(246,232,213,.8); font-size:15.5px; line-height:1.6;
  transition:max-height .7s ease, opacity .5s ease, margin-top .5s ease;
}
.craft-nav-item.is-active p{ max-height:220px; opacity:1; margin-top:10px; }
.craft-ch-head{ display:none; }             /* mobile only: the text sits above its media */
.craft-ch-head p{ color:rgba(246,232,213,.8); font-size:15.5px; line-height:1.6; margin-top:10px; }

.craft-flow{ display:flex; flex-direction:column; gap:120px; }
/* Two staggered columns: every second tile sits lower. */
.craft-grid{ display:grid; grid-template-columns:1fr 1fr; gap:22px; align-items:start; }
.craft-grid > :nth-child(even){ transform:translateY(64px); }
.craft-tile{ margin:0; }
.craft-media{
  position:relative; overflow:hidden; border-radius:16px; aspect-ratio:4/5;
  background:var(--forest-deep); box-shadow:0 30px 60px -28px rgba(0,0,0,.55);
}
.craft-tile--tall .craft-media{ aspect-ratio:9/14; }
.craft-media img, .craft-media video{ width:100%; height:100%; object-fit:cover; display:block; }
.craft-tile figcaption{
  margin-top:10px; font-family:'EB Garamond',serif; font-style:italic; font-size:16px; color:rgba(246,232,213,.72);
}
/* Placeholder for footage still to come */
.craft-ph{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px;
  padding:18px; text-align:center; box-shadow:none;
  background:rgba(246,232,213,.05); border:1px dashed rgba(246,232,213,.3);
}
.craft-ph-label{ font-family:'EB Garamond',serif; font-size:20px; color:var(--cream-light); }
.craft-ph-note{ font-family:'Inter',sans-serif; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:rgba(246,232,213,.5); }

/* Closing note: the dried mint every guest gets — a small gift tag at the end of
   the right column, with a punched hole in its corner. */
.craft-gift{
  position:relative; max-width:640px; margin-top:-40px;
  display:grid; grid-template-columns:210px 1fr; gap:26px; align-items:center;
  padding:14px 30px 14px 14px; border-radius:18px;
  background:var(--cream-light); color:var(--ink);
  transform:rotate(-1.2deg);
  box-shadow:0 24px 50px -26px rgba(0,0,0,.55);
}
.craft-gift::after{
  content:""; position:absolute; top:14px; right:14px; width:9px; height:9px; border-radius:50%;
  background:var(--forest); box-shadow:inset 0 1px 2px rgba(0,0,0,.35);
}
.craft-gift-media{ aspect-ratio:4/5; border-radius:12px; overflow:hidden; background:rgba(52,67,47,.05); }
.craft-gift-media img{ width:100%; height:100%; object-fit:cover; display:block; }
.craft-gift-media.craft-ph{ padding:8px; border-color:rgba(52,67,47,.3); }
.craft-gift-media .craft-ph-label{ font-size:14px; line-height:1.2; color:var(--forest); }
.craft-gift-media .craft-ph-note{ font-size:9px; color:var(--ink-soft); }
.craft-gift-text .eyebrow{ font-size:11px; }
.craft-gift-text h3{ font-size:clamp(20px,1.8vw,24px); line-height:1.15; margin-top:4px; color:var(--forest); }
.craft-gift-text p{ margin-top:6px; font-size:14px; line-height:1.5; color:var(--ink-soft); }

/* ---------------------------------- */
/* Odalar — expanding panels           */
/* ---------------------------------- */
.rooms{ background:var(--cream); }
.room-panels{
  display:flex;
  gap:14px;
  height:560px;
}
.room-panel{
  position:relative;
  flex:1;
  border-radius:22px;
  overflow:hidden;
  cursor:pointer;
  transition:flex-grow .6s cubic-bezier(.22,.8,.2,1);
  box-shadow:var(--shadow);
  background:var(--forest);
}
.room-panel.is-active{ flex-grow:3.2; }
.room-panel img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
  transition:transform .8s ease;
}
.room-panel:hover img, .room-panel.is-active img{ transform:scale(1.05); }
.room-panel::after{
  content:'';
  position:absolute; inset:0;
  background:linear-gradient(0deg, rgba(38,48,31,.85) 0%, rgba(38,48,31,.15) 45%, rgba(38,48,31,.05) 70%);
}
.room-panel-body{
  position:absolute; left:0; right:0; bottom:0; z-index:2;
  padding:22px;
  color:var(--cream-light);
}
.room-kicker{
  font-family:'Inter',sans-serif; font-size:12px; letter-spacing:.06em;
  opacity:.8; display:flex; align-items:center; gap:6px;
}
.room-title{
  font-family:'EB Garamond',serif; color:var(--cream-light);
  font-size:22px; margin-top:6px;
  writing-mode:vertical-rl;
  transition:writing-mode 0s;
}
.room-panel.is-active .room-title, .room-panel:hover .room-title{ writing-mode:horizontal-tb; font-size:28px; }
.room-detail{
  max-height:0; overflow:hidden; opacity:0;
  transition:max-height .5s ease, opacity .4s ease .05s;
}
.room-panel.is-active .room-detail{ max-height:320px; opacity:1; }
.room-detail p{ margin:10px 0 14px; color:rgba(246,232,213,.9); font-size:14.5px; max-width:40ch; }
.room-detail .btn{ margin-top:20px; border-color:var(--cream-light); color:var(--cream-light); padding:10px 18px; font-size:13.5px; }
.room-detail .btn:hover{ background:var(--cream-light); color:var(--forest); }
.room-feats{ display:flex; gap:10px; flex-wrap:wrap; margin-top:8px; }
/* Paw badge: every room is pet friendly. Just the paw on closed cards, the label too on the open one. */
.room-pet{
  position:absolute; top:16px; right:16px; z-index:2;
  display:inline-flex; align-items:center; gap:0; height:36px; padding:0 9px;
  border-radius:999px; background:rgba(251,246,238,.94); color:var(--forest);
  box-shadow:0 6px 18px -8px rgba(0,0,0,.4);
  font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600; white-space:nowrap;
  transition:gap .4s ease, padding .4s ease;
}
.room-pet svg{ width:18px; height:18px; flex:0 0 auto; fill:currentColor; }
.room-pet span{ max-width:0; overflow:hidden; opacity:0; transition:max-width .5s ease, opacity .4s ease; }
.room-panel.is-active .room-pet{ gap:7px; padding:0 14px 0 11px; }
.room-panel.is-active .room-pet span{ max-width:180px; opacity:1; }
.room-feats span{
  font-size:12px; padding:5px 10px; border:1px solid rgba(246,232,213,.4); border-radius:999px;
}


/* ---------------------------------- */
/* Patiler — split video               */
/* ---------------------------------- */
/* .pets is a tall scroll track; .pets-pin sticks to the top of the viewport while the
   page scrolls through it, so the section holds still without hijacking the scroll. */
.pets{ background:var(--cream); height:calc(100vh + 360px); transition:background-color .5s linear; }
.pets-pin{ position:sticky; top:0; height:100vh; min-height:560px; overflow:hidden; }
.pets-stage{ position:relative; width:100%; height:100%; }
.pet-video-wrap{
  position:absolute; top:50%; left:50%;
  width:min(25vw, 330px); height:min(74vh, 640px);
  border-radius:24px; overflow:hidden; box-shadow:0 30px 70px -20px rgba(0,0,0,.55);
  transition:transform 1.3s cubic-bezier(.45,0,.2,1);
  will-change:transform;
}
.pet-video-wrap video{ width:100%; height:100%; object-fit:cover; }
.pet-video-wrap.cat{ z-index:2; }
.pet-video-wrap.dog{ z-index:1; }

/* Step 0: stacked, leaning together — the "closed deck" rest state */
.pets-stage[data-step="0"] .pet-video-wrap.cat{ transform:translate(calc(-50% - 1vw), -50%) rotate(-6deg); }
.pets-stage[data-step="0"] .pet-video-wrap.dog{ transform:translate(calc(-50% + 1vw), -50%) rotate(6deg); }
/* Step 1: first scroll — slides apart, leaning further */
.pets-stage[data-step="1"] .pet-video-wrap.cat{ transform:translate(calc(-50% - 14vw), -50%) rotate(-12deg); }
.pets-stage[data-step="1"] .pet-video-wrap.dog{ transform:translate(calc(-50% + 14vw), -50%) rotate(12deg); }
/* Step 2: second scroll — fully open, settles flat, holds */
.pets-stage[data-step="2"] .pet-video-wrap.cat{ transform:translate(calc(-50% - 29vw), -50%) rotate(0deg); }
.pets-stage[data-step="2"] .pet-video-wrap.dog{ transform:translate(calc(-50% + 29vw), -50%) rotate(0deg); }

.pets-copy{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%) scale(.92);
  z-index:3; text-align:center; width:min(34ch, 26vw);
  opacity:0;
  transition:opacity .9s ease .2s, transform .9s cubic-bezier(.45,0,.2,1) .2s;
  pointer-events:none;
}
.pets-stage[data-step="2"] .pets-copy{ opacity:1; transform:translate(-50%,-50%) scale(1); }
.pets-copy h2{ font-size:clamp(24px,2.5vw,36px); white-space:pre-line; color:var(--cream-light); margin-top:10px; }
.pets-copy p{ margin-top:16px; color:rgba(246,232,213,.82); font-size:15.5px; }

@media (prefers-reduced-motion: reduce){
  .pet-video-wrap, .pets-copy, .pets{ transition-duration:.01s !important; }
}

/* ---------------------------------- */
/* Hikâyemiz — horizontal scrapbook    */
/* ---------------------------------- */
/* Same sticky-track idea as .pets: .story is as tall as the horizontal travel (set from JS
   as --story-travel), .story-sticky holds the frame while the track slides sideways.
   --th is the collage height; every photo is placed and sized in units of it. */
.story{ background:var(--cream); height:calc(100vh + var(--story-travel, 300vw)); }
.story-sticky{
  position:sticky; top:0; height:100vh; overflow:hidden;
  display:flex; flex-direction:column;
  --th:clamp(280px, min(calc(100vh - 340px), calc(38vw - 40px)), 620px);
}
.swipe-hint{ display:none; }
.story-head.container{ padding-top:92px; width:100%; max-width:none; margin:0; padding-inline:8vw; }
.story-track{
  position:relative; flex:1; min-height:0;
  display:flex; align-items:center; gap:10vw;
  padding-inline:8vw;
  will-change:transform;
}
.story-ch{ flex:0 0 auto; display:flex; align-items:center; gap:clamp(32px,4vw,64px); }
.story-ch.is-flip{ flex-direction:row-reverse; }
.story-text{ width:min(34ch, 28vw); flex:0 0 auto; }
.story-year{ font-family:'EB Garamond',serif; font-style:italic; font-size:22px; color:var(--bougain); }
.story-text h3{ font-size:clamp(24px,2.6vw,34px); margin-top:6px; line-height:1.12; }
.story-text h3.story-big{ font-size:clamp(34px,4vw,56px); font-style:italic; line-height:1.02; }
.story-text p{ margin-top:14px; color:var(--ink-soft); font-size:16px; line-height:1.6; }

.story-collage{ position:relative; flex:0 0 auto; height:var(--th); width:calc(var(--th) * var(--cw)); }
.story-pic{
  position:absolute; margin:0;
  left:calc(var(--th) * var(--x)); top:var(--y);
  height:var(--h); aspect-ratio:var(--ar);
  transform:translate3d(var(--px, 0px), 0, 0) rotate(var(--r, 0deg));
  border-radius:14px; overflow:hidden; box-shadow:var(--shadow);
}
.story-pic img{ width:100%; height:100%; object-fit:cover; display:block; }
.story-pic figcaption{
  position:absolute; left:12px; bottom:12px;
  padding:5px 10px; border-radius:999px;
  background:rgba(251,246,238,.92); color:var(--ink);
  font-family:'Inter',sans-serif; font-size:11.5px; font-weight:500; white-space:nowrap;
}
/* Old prints: cream photo-paper border, a thicker bottom edge for the handwritten caption,
   a slight tilt and a touch of warmth so they read as "then" next to today's photos. */
.is-old .story-pic{
  border-radius:3px; background:var(--cream-light);
  padding:clamp(6px,.7vw,10px) clamp(6px,.7vw,10px) clamp(22px,2.4vw,32px);
  box-shadow:0 14px 34px -18px rgba(38,48,31,.55), 0 1px 2px rgba(38,48,31,.12);
}
.is-old .story-pic img{ border-radius:1px; filter:sepia(.14) saturate(.92); }
/* Today's photos: still prints, but fresh ones — bright white instant-film frames
   held on with a strip of tape, no ageing, so "now" reads apart from "then". */
.is-new .story-pic{
  overflow:visible; border-radius:4px; background:#FFFDF9;
  padding:clamp(7px,.8vw,11px) clamp(7px,.8vw,11px) clamp(26px,2.8vw,38px);
  box-shadow:0 16px 36px -18px rgba(38,48,31,.5), 0 1px 2px rgba(38,48,31,.1);
}
.is-new .story-pic img{ border-radius:2px; }
.is-new .story-pic::before{
  content:""; position:absolute; z-index:2; top:-11px; left:50%;
  width:clamp(54px,5vw,78px); height:22px; margin-left:calc(clamp(54px,5vw,78px) / -2);
  background:rgba(184,154,94,.42); transform:rotate(-4deg);
  box-shadow:0 1px 2px rgba(38,48,31,.08);
}
.is-new .story-pic:nth-child(2)::before{ transform:rotate(5deg); background:rgba(184,50,90,.26); }
.is-new .story-pic.is-front{ z-index:3; }
.is-new .story-pic figcaption{
  left:0; right:0; bottom:0; padding:0; height:clamp(26px,2.8vw,38px);
  display:flex; align-items:center; justify-content:center;
  background:none; border-radius:0;
  font-family:'EB Garamond',serif; font-style:italic; font-size:clamp(13px,1.15vw,17px); color:var(--ink);
}
.is-old .story-pic figcaption{
  left:0; right:0; bottom:0; padding:0; height:clamp(22px,2.4vw,32px);
  display:flex; align-items:center; justify-content:center;
  background:none; border-radius:0;
  font-family:'EB Garamond',serif; font-style:italic; font-size:clamp(13px,1.1vw,16px); color:var(--ink-soft);
}

.story-line{ position:relative; margin:0 8vw; height:78px; flex:0 0 auto; }
.story-line-bar{ position:absolute; left:0; right:0; top:22px; height:2px; background:var(--line); }
.story-line-fill{ position:absolute; left:0; top:0; height:100%; width:0%; background:var(--bougain); }
.story-marks{ position:absolute; inset:0; }
.story-mark{
  position:absolute; top:17px; transform:translateX(-50%);
  padding-top:22px; white-space:nowrap;
  font-family:'Inter',sans-serif; font-size:11.5px; font-weight:500; letter-spacing:.04em; color:var(--ink-soft);
  transition:color .3s ease;
}
.story-mark::before{
  content:""; position:absolute; top:0; left:50%; width:12px; height:12px; margin-left:-6px; border-radius:50%;
  background:var(--cream-light); border:2px solid var(--reed); box-sizing:border-box;
  transition:background-color .3s ease, border-color .3s ease, transform .3s ease;
}
.story-mark.is-passed::before{ background:var(--bougain); border-color:var(--bougain); }
.story-mark.is-active{ color:var(--ink); }
.story-mark.is-active::before{ transform:scale(1.3); }

/* ---------------------------------- */
/* Misafir Defteri                     */
/* ---------------------------------- */
.guestbook{ background:var(--forest); color:var(--cream-light); }
.guestbook .section-head h2{ color:var(--cream-light); }
.guestbook .section-head p{ color:rgba(246,232,213,.75); }
.gb-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:32px; flex-wrap:wrap; }
.gb-ratings{ list-style:none; margin:0; padding:0; display:flex; gap:clamp(20px,3.4vw,48px); }
.gb-ratings li{ display:flex; flex-direction:column; gap:4px; }
.gb-ratings strong{
  font-family:'EB Garamond',serif; font-weight:400; font-size:clamp(34px,3.4vw,46px); line-height:1; color:var(--cream-light);
}
.gb-ratings strong::after{ content:" ★"; font-size:.46em; vertical-align:.45em; color:var(--reed); }
.gb-ratings li > span{ font-size:12.5px; color:rgba(246,232,213,.7); white-space:nowrap; }

/* One draggable row (Swiper), each note/photo slightly tilted (--tilt) and held by a
   strip of tape (--tape) — same idea as the taped notes in our Instagram posts. */
.gb-strip{ margin-top:48px; padding:14px clamp(20px,4vw,48px) 24px; cursor:grab; }
.gb-strip:active{ cursor:grabbing; }
.gb-strip .swiper-wrapper{ align-items:flex-start; }
.gb-note, .gb-photo{
  position:relative; display:block; margin:0;
  transform:rotate(var(--tilt, 0deg));
  box-shadow:0 22px 44px -26px rgba(0,0,0,.65);
}
.gb-note::before, .gb-photo::before{
  content:""; position:absolute; z-index:1; top:-11px; left:50%; width:88px; height:22px; margin-left:-44px;
  background:var(--tape, rgba(184,154,94,.6)); transform:rotate(-3deg);
}
.gb-note{ width:min(330px, 80vw); background:var(--cream-light); color:var(--ink); border-radius:6px; padding:28px 22px 20px; }
.gb-note-head{ display:flex; justify-content:space-between; align-items:center; gap:12px; }
.gb-lang{
  font-family:'Inter',sans-serif; font-size:10.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  color:var(--forest); border:1px solid rgba(52,67,47,.3); border-radius:999px; padding:3px 9px;
}
.gb-stars{ color:var(--bougain); font-size:12px; letter-spacing:2px; }
.gb-chips{ display:flex; flex-wrap:wrap; gap:6px; }
.gb-quote{ white-space:pre-line; }

/* Featured review: wider card, a big pull quote, the full text folded with a fade. */
.gb-note--featured{ width:min(560px, 86vw); padding:32px 30px 24px; }
.gb-featured{ background:var(--forest); border-color:var(--forest); color:var(--cream-light); }
.gb-pull{
  margin-top:18px; font-family:'EB Garamond',serif; font-style:italic;
  font-size:clamp(28px,2.6vw,36px); line-height:1.1; color:var(--forest);
}
.gb-note--featured .gb-quote{ font-size:16.5px; line-height:1.6; }
.gb-fold{ position:relative; max-height:9.6em; overflow:hidden; transition:max-height .6s ease; }
.gb-fold::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:4.5em; pointer-events:none;
  background:linear-gradient(to bottom, rgba(251,246,238,0), var(--cream-light));
  transition:opacity .4s ease;
}
.gb-fold.is-open{ max-height:80em; }
.gb-fold.is-open::after{ opacity:0; }
.gb-more{ margin-right:18px; color:var(--forest); }
.gb-quote{
  margin-top:14px; font-family:'EB Garamond',serif; font-style:italic; font-size:17.5px; line-height:1.45; color:var(--ink);
  transition:opacity .22s ease;
}
.gb-quote.is-swapping{ opacity:0; }
.gb-toggle{
  margin-top:12px; padding:0 0 1px; background:none; border:0; border-bottom:1.5px solid currentColor; cursor:pointer;
  font-family:'Inter',sans-serif; font-size:13px; font-weight:600; color:var(--bougain);
}
.gb-who{ margin-top:18px; padding-top:14px; border-top:1px dashed rgba(52,67,47,.22); display:flex; flex-direction:column; gap:2px; }
.gb-who strong{ font-family:'Inter',sans-serif; font-size:14px; font-weight:700; color:var(--forest); }
.gb-who span{ font-size:13px; color:var(--ink-soft); }
.gb-photo{ background:#FFFDF9; padding:10px 10px 12px; border-radius:4px; }
.gb-photo{ width:auto; }
.gb-photo img{ display:block; height:280px; width:auto; max-width:none; border-radius:2px; user-select:none; -webkit-user-drag:none; }
.gb-photo figcaption{
  margin-top:9px; text-align:center; font-family:'EB Garamond',serif; font-style:italic; font-size:15px; color:var(--ink-soft);
}
@media (max-width:639px){
  .gb-ratings{ flex-wrap:wrap; gap:18px 28px; }
  .gb-ratings strong{ font-size:32px; }
  .gb-strip{ margin-top:32px; padding-inline:16px; }
  .gb-photo img{ height:240px; }
}

/* ---------------------------------- */
/* Yakındakiler — drag carousel        */
/* (travelnextlvl.de "Latest articles") */
/* ---------------------------------- */
.nearby{ background:var(--cream); padding-block:90px 110px; overflow:hidden; }
.nearby-head{
  display:flex; align-items:flex-end; justify-content:space-between; gap:24px;
  padding-inline:clamp(20px,4vw,48px); margin-bottom:40px;
}
.nearby-side{ display:flex; align-items:center; gap:22px; padding-bottom:6px; }
.nearby-xp{
  padding:9px 16px; border-radius:999px; border:1.5px solid var(--forest); color:var(--forest);
  font-family:'Inter',sans-serif; font-size:13px; font-weight:600; text-decoration:none; white-space:nowrap;
  transition:background-color .25s ease, color .25s ease;
}
.nearby-xp:hover{ background:var(--forest); color:var(--cream-light); }
.nearby-side .nearby-drag{ padding-bottom:0; }
.nearby-drag{
  font-family:'Inter',sans-serif; font-size:11px; font-weight:500; letter-spacing:.1em;
  text-transform:uppercase; color:var(--ink-soft); padding-bottom:10px; white-space:nowrap;
}
.nearby-swiper{ padding-left:clamp(20px,4vw,48px); cursor:grab; }
.nearby-swiper:active{ cursor:grabbing; }
.nearby-swiper .swiper-wrapper{ padding-right:clamp(20px,4vw,48px); padding-bottom:92px; }

/* Road under the cards */
.nearby-road{ position:absolute; left:0; bottom:0; height:66px; pointer-events:none; }
.road-line, .road-trail{ position:absolute; left:16px; top:22px; height:2px; }
.road-line{
  right:0;
  background:repeating-linear-gradient(90deg, rgba(52,67,47,.45) 0 9px, transparent 9px 18px);
}
.road-trail{ background:var(--forest); border-radius:2px; }
.road-home{
  position:absolute; left:0; top:5px; z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:6px;
}
.road-home-badge{
  width:36px; height:36px; border-radius:50%;
  background:var(--cream-light); border:1.5px solid var(--forest);
  display:flex; align-items:center; justify-content:center;
}
.road-home-badge img{ width:20px; height:auto; }
.road-home-label, .road-stop-label{
  font-family:'Inter',sans-serif; font-size:11px; font-weight:500; letter-spacing:.06em;
  color:var(--ink-soft); white-space:nowrap;
}
.road-home-label{
  font-family:'EB Garamond',serif; font-style:italic; font-size:15px; font-weight:500;
  letter-spacing:0; color:var(--forest); margin-top:-2px;
}
.road-stop{
  position:absolute; top:18px; width:10px; height:10px; margin-left:-5px; border-radius:50%;
  background:var(--cream); border:2px solid var(--forest);
  transition:background-color .3s ease, transform .3s ease;
}
.road-stop.is-reached{ background:var(--bougain); border-color:var(--bougain); transform:scale(1.15); }
.road-stop-label{ position:absolute; top:18px; left:50%; transform:translateX(-50%); }
.road-car{ position:absolute; left:0; top:-9px; z-index:3; width:54px; height:33px; will-change:transform; }
.road-car svg{ display:block; transition:transform .35s ease; }
.road-car.is-back svg{ transform:scaleX(-1); }
.road-car .road-wheel, .road-car .road-crank{ transform-box:fill-box; transform-origin:center; }
.road-car.is-driving .road-wheel{ animation:road-wheel .6s linear infinite; }
.road-car.is-driving .road-crank{ animation:road-wheel 1.1s linear infinite; }
.road-car.is-driving{ animation:road-bob .3s ease-in-out infinite alternate; }
@keyframes road-wheel{ to{ transform:rotate(360deg); } }
@keyframes road-bob{ from{ margin-top:0; } to{ margin-top:-1px; } }
.nearby-card{ width:min(430px, 86vw); display:flex; gap:18px; align-items:stretch; }
.nearby-photo{
  margin:0; flex:0 0 50%; aspect-ratio:197/256;
  border-radius:8px; overflow:hidden; background:var(--forest);
}
.nearby-photo img{ width:100%; height:100%; object-fit:cover; user-select:none; -webkit-user-drag:none; }
.nearby-photo.is-empty{
  display:flex; align-items:center; justify-content:center; padding:12px; text-align:center;
  background:rgba(52,67,47,.07); border:1px dashed rgba(52,67,47,.28);
  font-family:'Inter',sans-serif; font-size:12px; color:var(--ink-soft);
}
.nearby-body{ flex:1; min-width:0; display:flex; flex-direction:column; padding-top:2px; }
.nearby-name{ font-size:21px; line-height:1.15; color:var(--forest); }
.nearby-desc{ margin:8px 0 0; font-size:13.5px; line-height:1.45; color:var(--ink-soft); }
.nearby-more{
  align-self:flex-start; margin-top:12px;
  font-size:13px; font-weight:600; color:var(--ink); text-decoration:none;
  border-bottom:2px solid currentColor; padding-bottom:1px;
  transition:color .25s ease;
}
.nearby-more:hover{ color:var(--bougain); }
.nearby-dist{ margin-top:auto; padding-top:14px; font-size:12.5px; font-weight:500; color:var(--ink); }

@media (max-width:600px){
  .nearby{ padding-block:64px 80px; }
  .nearby-head{ align-items:flex-start; flex-direction:column; gap:10px; margin-bottom:28px; }
  .nearby-card{ gap:14px; }
  .nearby-photo{ flex-basis:46%; }
  .nearby-name{ font-size:18px; }
  .nearby-desc{ font-size:13px; display:-webkit-box; -webkit-line-clamp:4; -webkit-box-orient:vertical; overflow:hidden; }
}

/* ---------------------------------- */
/* Footer                              */
/* ---------------------------------- */
.site-footer{
  background:var(--forest-deep);
  color:var(--cream-light);
  position:relative;
  overflow:hidden;
  padding-top:60px;
}
.footer-grid{
  display:grid; grid-template-columns: 1.3fr 1fr 1fr; gap:40px;
  padding-block:40px 50px;
}
.footer-logo-img{ width:min(220px,60vw); height:auto; display:block; }
.footer-tag{ margin-top:12px; color:rgba(246,232,213,.75); max-width:34ch; font-size:14.5px; }
.footer h4{ font-family:'Inter',sans-serif; font-size:13px; letter-spacing:.08em; text-transform:uppercase; color:var(--reed); margin-bottom:14px; }
.footer-col a, .footer-col p{ display:block; color:rgba(246,232,213,.85); text-decoration:none; font-size:14.5px; margin-bottom:10px; }
.footer-col a:hover{ color:var(--cream-light); text-decoration:underline; }
.footer-bottom{
  border-top:1px solid rgba(246,232,213,.15);
  padding-block:22px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px;
  font-size:12.5px; color:rgba(246,232,213,.55);
}

/* ---------------------------------- */
/* Reveal (non-pinned sections)         */
/* ---------------------------------- */
[data-reveal]{ visibility:visible; }

/* ---------------------------------- */
/* Responsive                          */
/* ---------------------------------- */
@media (max-width:900px){
  .footer-grid{ grid-template-columns:1fr 1fr; }

}
@media (max-width:600px){
  .container{ padding-inline:16px; }
  .section-pad{ padding-block:70px; }
  .footer-grid{ grid-template-columns:1fr; }
}
@media (max-width:760px){
  .place-hero-frame{ height:72vh; min-height:380px; }
  .place-hero-frame img{ object-position:74% 50%; }
  .place-hero-text{ bottom:200px; }
  .services{ padding-top:56px; }
  .svc-item{ gap:10px; padding:4px 16px; }
  .pano{ margin-top:28px; height:380px; }
}

@media (prefers-reduced-motion: reduce){
  .curtain{ display:none; }
  .hero-half-left, .hero-half-right{ transform:none; }
  .hero-content{ opacity:1; transition:none; }
  *{ scroll-behavior:auto !important; }
}

/* ---------------------------------- */
/* Oda sayfası (oda.html)              */
/* ---------------------------------- */
.room-page{ background:var(--cream); }
.rp-hero{ position:relative; height:min(86vh, 860px); min-height:480px; overflow:hidden; background:var(--forest); }
.rp-hero img{ width:100%; height:100%; object-fit:cover; display:block; }
.rp-hero::after{
  content:""; position:absolute; inset:auto 0 0 0; height:60%; pointer-events:none;
  background:linear-gradient(to top, rgba(33,43,27,.7), rgba(33,43,27,0));
}
.rp-hero-text{
  position:absolute; left:0; right:0; bottom:clamp(32px,7vh,72px); z-index:1;
  display:flex; justify-content:space-between; align-items:flex-end; gap:24px; color:var(--cream-light);
}
.rp-back{
  display:inline-block; margin-bottom:22px; font-family:'Inter',sans-serif; font-size:13px; font-weight:600;
  color:rgba(251,246,238,.85); text-decoration:none;
}
.rp-back:hover{ color:var(--cream-light); }
.rp-eyebrow{
  display:block; font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:rgba(251,246,238,.85);
}
.rp-hero h1{
  margin-top:10px; color:var(--cream-light);
  font-size:clamp(46px,7vw,104px); line-height:.95; letter-spacing:-0.025em;
}
.rp-hero-btn, .rp-book-btn{ border-color:var(--cream-light); color:var(--cream-light); white-space:nowrap; }
.rp-hero-btn:hover, .rp-book-btn:hover{ background:var(--cream-light); color:var(--forest); }

.rp-intro{
  padding-block:90px 80px;
  display:grid; grid-template-columns:1.15fr 1fr; gap:clamp(32px,6vw,96px); align-items:start;
}
.rp-lead{ font-family:'EB Garamond',serif; font-size:clamp(22px,2.1vw,30px); line-height:1.4; color:var(--ink); }
.rp-facts{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; border-top:1px solid var(--line); }
.rp-facts li{ padding:22px 0; display:flex; flex-direction:column; gap:6px; border-bottom:1px solid var(--line); }
.rp-facts li:nth-child(odd){ padding-right:20px; }
.rp-facts li:nth-child(even){ padding-left:20px; border-left:1px solid var(--line); }
.rp-facts strong{ font-family:'EB Garamond',serif; font-weight:400; font-size:clamp(34px,3.4vw,46px); line-height:1; color:var(--forest); }
.rp-facts span{ font-size:14px; color:var(--ink-soft); }

/* Gallery: one draggable strip at a common height, counter + arrows on the right. */
.rp-gallery{ padding-bottom:100px; overflow:hidden; }
.rp-gallery-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; }
.rp-gallery-ui{ display:flex; align-items:center; gap:10px; }
.rp-count{ font-family:'EB Garamond',serif; font-size:20px; color:var(--ink-soft); margin-right:8px; font-variant-numeric:tabular-nums; }
.rp-arrow{
  width:44px; height:44px; border-radius:50%; border:1.5px solid var(--forest); background:none; color:var(--forest);
  font-size:18px; cursor:pointer; transition:background-color .25s ease, color .25s ease;
}
.rp-arrow:hover{ background:var(--forest); color:var(--cream-light); }
.rp-strip{ margin-top:36px; padding-inline:clamp(20px,4vw,48px); }
.rp-shot{
  width:auto; height:clamp(320px, 60vh, 600px); padding:0; border:0; background:none; cursor:zoom-in;
  border-radius:16px; overflow:hidden; box-shadow:var(--shadow);
}
.rp-shot img{ display:block; height:100%; width:auto; max-width:none; user-select:none; transition:transform .6s ease; }
.rp-shot:hover img{ transform:scale(1.03); }
.rp-gallery-hint{ margin-top:18px; font-family:'Inter',sans-serif; font-size:11px; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft); }
.rp-ph{
  display:flex; align-items:center; justify-content:center; width:clamp(240px, 30vw, 380px); height:clamp(320px, 60vh, 600px);
  border-radius:16px; border:1px dashed rgba(52,67,47,.3); background:rgba(52,67,47,.04);
  font-family:'Inter',sans-serif; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft);
}

.rp-amen{ background:var(--cream-light); padding-block:90px; }
.rp-amen-grid{
  list-style:none; margin:40px 0 0; padding:0;
  display:grid; grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); gap:18px 28px;
}
.rp-amen-grid li{ display:flex; align-items:center; gap:14px; font-size:15px; color:var(--ink); }
.rp-amen-icon{
  width:46px; height:46px; flex:0 0 auto; border-radius:50%;
  display:grid; place-items:center; background:var(--cream); border:1.4px solid rgba(52,67,47,.22);
}
.rp-amen-icon svg{ width:24px; height:24px; color:var(--forest); fill:none; stroke:currentColor; stroke-width:1.4; stroke-linecap:round; stroke-linejoin:round; }
.rp-shared{ margin-top:40px; padding-top:24px; border-top:1px solid var(--line); font-size:15px; color:var(--ink-soft); }
.rp-shared a{ color:var(--ink); font-weight:600; text-decoration:none; border-bottom:2px solid currentColor; }
.rp-shared a:hover{ color:var(--bougain); }

.rp-book{ padding-block:100px 40px; }
.rp-book-card{
  display:flex; justify-content:space-between; align-items:center; gap:32px; flex-wrap:wrap;
  padding:clamp(28px,4vw,56px); border-radius:24px; background:var(--forest); color:var(--cream-light);
}
.rp-book-card h2{ color:var(--cream-light); font-size:clamp(28px,3.2vw,42px); margin-top:10px; }
.rp-book-card p{ margin-top:12px; color:rgba(246,232,213,.8); max-width:44ch; }
.rp-book-actions{ display:flex; flex-direction:column; align-items:flex-start; gap:12px; }
.rp-book-actions a:not(.btn){ color:var(--cream-light); text-decoration:none; font-size:15px; }
.rp-book-actions a:not(.btn):hover{ color:var(--reed); }

.rp-others{ padding-block:80px 120px; }
.rp-others-grid{ margin-top:36px; display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.rp-other{ display:block; text-decoration:none; color:var(--ink); }
.rp-other-img{ aspect-ratio:4/3; border-radius:18px; overflow:hidden; box-shadow:var(--shadow); }
.rp-other-img img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.rp-other:hover .rp-other-img img{ transform:scale(1.04); }
.rp-other-cap{ display:block; margin-top:16px; font-family:'Inter',sans-serif; font-size:12px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--bougain); }
.rp-other h3{ margin-top:6px; font-size:clamp(24px,2.4vw,32px); color:var(--forest); }
.rp-other-link{ display:inline-block; margin-top:8px; font-size:14px; font-weight:600; border-bottom:2px solid currentColor; }

.rp-lightbox{
  position:fixed; inset:0; z-index:200; display:none; align-items:center; justify-content:center;
  background:rgba(20,24,16,.94);
}
.rp-lightbox.is-open{ display:flex; }
.rp-lightbox img{ max-width:88vw; max-height:86vh; border-radius:10px; }
.rp-lightbox button{ position:absolute; background:none; border:0; color:var(--cream-light); cursor:pointer; font-size:44px; line-height:1; padding:12px 18px; }
.rp-lb-close{ top:14px; right:14px; }
.rp-lb-prev{ left:10px; top:50%; transform:translateY(-50%); }
.rp-lb-next{ right:10px; top:50%; transform:translateY(-50%); }

@media (max-width:760px){
  .rp-hero{ height:74vh; }
  .rp-hero-text{ flex-direction:column; align-items:flex-start; }
  .rp-intro{ grid-template-columns:1fr; padding-block:60px 50px; }
  .rp-others-grid{ grid-template-columns:1fr; }
  .rp-gallery-head{ flex-direction:column; align-items:flex-start; }
  .rp-shot, .rp-ph{ height:420px; }
  .rp-strip{ padding-inline:16px; }
  .xp-row, .xp-row.is-flip{ grid-template-columns:1fr; }
  .xp-row.is-flip .xp-media{ order:0; }
  .nearby-side{ gap:14px; flex-wrap:wrap; }
  .rp-book-card{ flex-direction:column; align-items:flex-start; }
}

/* ---------------------------------- */
/* Deneyimler (deneyimler.html)        */
/* ---------------------------------- */
.xp-intro{ padding-block:90px 30px; }
.xp-intro .rp-lead{ max-width:40ch; }
.xp-list{ padding-block:40px 40px; display:flex; flex-direction:column; gap:clamp(80px,10vw,140px); }
.xp-row{ display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(32px,6vw,96px); align-items:center; }
.xp-row.is-flip{ grid-template-columns:1fr 1.1fr; }
.xp-row.is-flip .xp-media{ order:2; }
.xp-media{ aspect-ratio:4/5; border-radius:20px; overflow:hidden; box-shadow:var(--shadow); background:var(--forest); }
.xp-media img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .8s ease; }
.xp-row:hover .xp-media img{ transform:scale(1.03); }
.xp-media.is-empty{
  display:flex; align-items:center; justify-content:center; box-shadow:none;
  border:1px dashed rgba(52,67,47,.3); background:rgba(52,67,47,.04);
  font-family:'Inter',sans-serif; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft);
}
.xp-num{ display:block; font-family:'EB Garamond',serif; font-style:italic; font-size:20px; color:var(--reed); }
.xp-meta{ margin-top:14px; display:flex; flex-wrap:wrap; gap:8px; }
.xp-pickup{ background:var(--forest) !important; color:var(--cream-light) !important; }
.xp-dist{
  display:inline-block; padding:5px 12px; border-radius:999px;
  background:rgba(52,67,47,.08); color:var(--forest);
  font-family:'Inter',sans-serif; font-size:12px; font-weight:600;
}
.xp-text h2{ margin-top:14px; font-size:clamp(34px,4vw,56px); line-height:1.02; color:var(--forest); }
.xp-desc{ margin-top:18px; font-size:16.5px; line-height:1.7; color:var(--ink-soft); max-width:46ch; }
.xp-stops-label{
  display:block; margin-top:26px; font-family:'Inter',sans-serif; font-size:11.5px; font-weight:600;
  letter-spacing:.1em; text-transform:uppercase; color:var(--bougain);
}
.xp-stops{ margin-top:10px; display:flex; flex-wrap:wrap; gap:8px; }
.xp-stops span{
  padding:6px 13px; border-radius:999px; border:1px solid rgba(52,67,47,.25);
  font-size:13.5px; color:var(--ink); background:var(--cream-light);
}
.xp-ask{
  display:inline-block; margin-top:28px; padding-bottom:1px;
  font-size:14px; font-weight:600; color:var(--ink); text-decoration:none; border-bottom:2px solid currentColor;
}
.xp-ask:hover{ color:var(--bougain); }
.xp-more{ padding-block:10px 110px; text-align:center; }
.xp-more-link{ font-family:'EB Garamond',serif; font-size:24px; color:var(--forest); text-decoration:none; border-bottom:1px solid currentColor; }
.xp-more-link:hover{ color:var(--bougain); }

/* ---------------------------------- */
/* Yakındakiler (yakindakiler.html)    */
/* ---------------------------------- */
.yk-hero-sub{ margin-top:14px; font-family:'EB Garamond',serif; font-style:italic; font-size:clamp(20px,2vw,28px); color:rgba(251,246,238,.9); }
.yk-intro{ padding-block:80px 30px; }
.yk-intro .rp-lead{ max-width:44ch; }
/* The list: a road down the left gutter, one section per place to its right. */
.yk-list{ position:relative; padding-top:90px; padding-bottom:40px; padding-left:calc(24px + 120px); }
.yk-road{ position:absolute; top:0; bottom:0; left:24px; width:64px; pointer-events:none; }
.yk-road-line, .yk-road-trail{ position:absolute; left:31px; top:60px; width:2px; }
.yk-road-line{ bottom:0; background:repeating-linear-gradient(180deg, rgba(52,67,47,.4) 0 9px, transparent 9px 18px); }
.yk-road-trail{ height:0; background:var(--forest); border-radius:2px; }
/* "Aisha" label above the badge; the road and the bicycle start just below it. */
.yk-road-home{ position:absolute; top:0; left:14px; display:flex; flex-direction:column-reverse; align-items:center; gap:4px; z-index:2; }
.yk-road-home .road-home-label{ margin-top:0; line-height:20px; }
.yk-bike{ position:absolute; top:72px; left:5px; width:54px; height:54px; z-index:3; will-change:transform; }
.yk-bike svg{ display:block; margin:10px 0 0; transform:rotate(90deg); transition:transform .4s ease; }
.yk-bike.is-up svg{ transform:rotate(-90deg); }
.yk-bike .road-wheel, .yk-bike .road-crank{ transform-box:fill-box; transform-origin:center; }
.yk-bike.is-driving .road-wheel{ animation:road-wheel .6s linear infinite; }
.yk-bike.is-driving .road-crank{ animation:road-wheel 1.1s linear infinite; }

.yk-place{
  position:relative; display:grid; grid-template-columns:1fr 1.05fr; gap:clamp(28px,5vw,72px);
  align-items:start; padding-bottom:clamp(90px,10vw,140px); scroll-margin-top:90px;
}
.yk-stop{
  position:absolute; top:10px; left:-94px; width:12px; height:12px; border-radius:50%;
  background:var(--cream); border:2px solid var(--forest); z-index:1;
  transition:background-color .3s ease, border-color .3s ease, transform .3s ease;
}
.yk-stop.is-reached{ background:var(--bougain); border-color:var(--bougain); transform:scale(1.2); }
.yk-stop-label{
  position:absolute; top:-3px; left:20px; white-space:nowrap;
  font-family:'Inter',sans-serif; font-size:11px; font-weight:500; letter-spacing:.04em; color:var(--ink-soft);
}
.yk-text h2{ margin-top:8px; font-size:clamp(34px,4vw,54px); line-height:1.02; color:var(--forest); }
.yk-meta{ margin-top:16px; display:flex; flex-wrap:wrap; gap:8px; }
.yk-dist, .yk-how{
  display:inline-block; padding:5px 12px; border-radius:999px;
  font-family:'Inter',sans-serif; font-size:12.5px; font-weight:600;
}
.yk-dist{ background:var(--forest); color:var(--cream-light); }
.yk-how{ background:rgba(52,67,47,.08); color:var(--forest); font-weight:500; }
.yk-text p{ margin-top:16px; font-size:16.5px; line-height:1.75; color:var(--ink-soft); max-width:52ch; }
.yk-text p:first-of-type{ font-family:'EB Garamond',serif; font-size:21px; line-height:1.5; color:var(--ink); }

/* Photo collage: one large photo, up to two smaller ones overlapping its lower edge. */
.yk-media{ position:relative; padding-bottom:22%; }
.yk-media img{ display:block; object-fit:cover; border-radius:18px; box-shadow:var(--shadow); }
.yk-media img:nth-child(1){ width:84%; aspect-ratio:4/5; }
.yk-media img:nth-child(2), .yk-media img:nth-child(3){
  position:absolute; bottom:0; width:40%; aspect-ratio:3/4; border:6px solid var(--cream);
}
.yk-media img:nth-child(2){ right:0; }
.yk-media img:nth-child(3){ right:26%; bottom:-6%; width:30%; transform:rotate(-3deg); }
.yk-media--1{ padding-bottom:0; }
.yk-media--1 img:nth-child(1){ width:100%; aspect-ratio:4/3; }
.yk-media.is-empty{
  display:flex; align-items:center; justify-content:center; aspect-ratio:4/3; padding:0; border-radius:18px;
  border:1px dashed rgba(52,67,47,.3); background:rgba(52,67,47,.04);
  font-family:'Inter',sans-serif; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-soft);
}

@media (max-width:760px){
  .yk-list{ padding-left:calc(16px + 54px); padding-top:70px; }
  .yk-road{ left:6px; }
  .yk-stop{ left:-54px; margin-left:16px; }
  .yk-stop-label{ display:none; }
  .yk-place{ grid-template-columns:1fr; gap:24px; }
  .yk-media{ order:-1; }
  .yk-bike{ transform-origin:center; }
}

/* ---------------------------------- */
/* Instagram şeridi                    */
/* ---------------------------------- */
.insta{ background:var(--cream); padding-block:80px 0; overflow:hidden; }
.insta-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:24px; flex-wrap:wrap; }
.insta-handle{
  display:block; margin-top:8px; text-decoration:none; color:var(--forest);
  font-family:'EB Garamond',serif; font-size:clamp(30px,3.6vw,48px); line-height:1; letter-spacing:-0.01em;
  transition:color .25s ease;
}
.insta-handle:hover{ color:var(--bougain); }
.insta-follow{
  display:inline-flex; align-items:center; gap:8px; padding:10px 18px; border-radius:999px;
  border:1.5px solid var(--forest); color:var(--forest); text-decoration:none;
  font-family:'Inter',sans-serif; font-size:13.5px; font-weight:600;
  transition:background-color .25s ease, color .25s ease;
}
.insta-follow svg{ width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.6; }
.insta-follow:hover{ background:var(--forest); color:var(--cream-light); }

/* One row of squares, edge to edge; the strip sits right on top of the footer. */
.insta-strip{ margin-top:36px; display:grid; grid-template-columns:repeat(8, 1fr); gap:6px; }
.insta-tile{ position:relative; display:block; aspect-ratio:1/1; overflow:hidden; background:var(--forest); }
.insta-tile img{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .7s ease, filter .4s ease; }
.insta-tile-icon{
  position:absolute; inset:0; display:grid; place-items:center;
  background:rgba(33,43,27,.38); opacity:0; transition:opacity .35s ease;
}
.insta-tile-icon svg{ width:34px; height:34px; fill:none; stroke:var(--cream-light); stroke-width:1.5; }
.insta-tile:hover img{ transform:scale(1.08); }
.insta-tile:hover .insta-tile-icon{ opacity:1; }

@media (max-width:760px){
  .insta{ padding-top:60px; }
  /* Phones: a sideways-scrolling row instead of eight tiny squares. */
  .insta-strip{
    display:flex; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; gap:4px;
  }
  .insta-strip::-webkit-scrollbar{ display:none; }
  .insta-tile{ flex:0 0 42vw; scroll-snap-align:start; }
}

/* ---------------------------------- */
/* Footer haritası (gece modu)         */
/* ---------------------------------- */
.footer-map-wrap{ position:relative; margin-top:56px; }
.footer-map{
  height:360px; border-radius:22px; overflow:hidden; background:#1b2216;
  box-shadow:0 30px 60px -30px rgba(0,0,0,.6); border:1px solid rgba(246,232,213,.08);
}
/* Night mode: light OSM tiles inverted, then pulled toward our forest greens */
.footer-map .leaflet-tile-pane{
  filter:invert(1) hue-rotate(180deg) brightness(.82) contrast(.92) sepia(.35) hue-rotate(45deg) saturate(.75);
}
.footer-map .leaflet-control-attribution{
  background:rgba(27,34,22,.7); color:rgba(246,232,213,.55); font-size:10px;
}
.footer-map .leaflet-control-attribution a{ color:rgba(246,232,213,.75); }
.footer-map .leaflet-control-zoom{ border:0; box-shadow:none; margin:14px 14px 0 0; }
.footer-map .leaflet-control-zoom a{
  width:34px; height:34px; line-height:32px; margin-top:6px; border-radius:50% !important; border:0;
  background:rgba(251,246,238,.92); color:var(--forest); font-size:18px;
}
.footer-map .leaflet-control-zoom a:hover{ background:var(--cream-light); color:var(--bougain); }

.map-pin{ position:relative; }
.map-pin-dot{
  position:absolute; inset:6px; border-radius:50%; display:grid; place-items:center;
  background:var(--cream-light); box-shadow:0 0 0 3px var(--bougain), 0 10px 24px rgba(0,0,0,.45);
}
.footer-map .map-pin-dot img{ width:20px !important; height:auto !important; }
.map-pin-pulse{
  position:absolute; inset:0; border-radius:50%; background:rgba(184,50,90,.45);
  animation:map-pulse 2.4s ease-out infinite;
}
@keyframes map-pulse{ from{ transform:scale(.6); opacity:.9; } to{ transform:scale(2.2); opacity:0; } }

.footer-map-card{
  position:absolute; left:24px; top:50%; transform:translateY(-50%); z-index:500;
  width:min(300px, calc(100% - 48px)); padding:24px 24px 22px; margin-left:24px;
  border-radius:18px; background:rgba(251,246,238,.96); color:var(--ink);
  box-shadow:0 24px 50px -20px rgba(0,0,0,.6);
}
.footer-map-card h4{ margin-top:8px; font-family:'EB Garamond',serif; font-weight:400; font-size:26px; color:var(--forest); }
.footer-map-card p{ margin-top:8px; font-size:14.5px; line-height:1.55; color:var(--ink-soft); }
.footer-map-tel{ display:block; margin-top:10px; font-size:14.5px; color:var(--ink); text-decoration:none; }
.footer-map-dir{
  display:inline-block; margin-top:16px; padding-bottom:1px; font-size:14px; font-weight:600;
  color:var(--forest); text-decoration:none; border-bottom:2px solid currentColor;
}
.footer-map-dir:hover{ color:var(--bougain); }

@media (max-width:760px){
  .footer-map{ height:300px; }
  .footer-map-card{ position:relative; left:auto; top:auto; transform:none; margin:-40px 16px 0; width:auto; }
}

/* ---------------------------------- */
/* Gizlilik (gizlilik.html)             */
/* ---------------------------------- */
.footer-bottom a{ color:inherit; text-decoration:none; border-bottom:1px solid currentColor; }
.footer-bottom a:hover{ color:var(--cream-light); }
.rp-hero.gz-hero{ height:auto; min-height:0; padding:170px 0 56px; }
.gz-hero .rp-hero-text{ position:relative; bottom:auto; }
.gz-hero::after{ display:none; }
.gz-body{ max-width:760px; padding-block:70px 110px; }
.gz-body h2{ margin-top:40px; font-size:clamp(24px,2.4vw,30px); color:var(--forest); }
.gz-body p{ margin-top:14px; font-size:16px; line-height:1.75; color:var(--ink-soft); }
.gz-body .rp-lead{ margin-top:0; color:var(--ink); }
.gz-body a{ color:var(--ink); font-weight:600; text-decoration:none; border-bottom:1.5px solid currentColor; }
html[lang="en"] .gz-tr, html:not([lang="en"]) .gz-en{ display:none; }
@media (max-width:760px){
  .rp-hero.gz-hero{ height:auto; min-height:0; padding:120px 0 36px; }
  .gz-body{ padding-block:44px 72px; }
  .gz-body h2{ margin-top:30px; font-size:22px; }
  .gz-body p{ font-size:14.5px; line-height:1.65; }
}

/* ---------------------------------- */
/* Rezervasyon penceresi                */
/* ---------------------------------- */
.bk{ position:fixed; inset:0; z-index:300; display:flex; align-items:center; justify-content:center; padding:20px; }
.bk[hidden]{ display:none; }
.bk-backdrop{ position:absolute; inset:0; background:rgba(20,26,16,.55); opacity:0; transition:opacity .3s ease; }
.bk-panel{ outline:none;
  position:relative; width:min(440px, 100%); padding:30px 28px 24px; border-radius:22px;
  background:var(--cream-light); color:var(--ink); box-shadow:0 30px 80px -30px rgba(0,0,0,.6);
  opacity:0; transform:translateY(14px); transition:opacity .3s ease, transform .35s cubic-bezier(.22,.8,.2,1);
}
.bk.is-open .bk-backdrop{ opacity:1; }
.bk.is-open .bk-panel{ opacity:1; transform:none; }
.bk-close{
  position:absolute; top:12px; right:12px; width:38px; height:38px; border-radius:50%; border:0;
  background:none; color:var(--forest); font-size:26px; line-height:1; cursor:pointer;
}
.bk-close:hover{ background:rgba(52,67,47,.08); }
.bk-panel h3{ margin-top:6px; font-size:26px; line-height:1.15; color:var(--forest); }
.bk-room{ margin-top:6px; font-family:'EB Garamond',serif; font-style:italic; font-size:18px; color:var(--ink-soft); }
.bk-room[hidden]{ display:none; }
.bk-opt{
  display:flex; align-items:center; gap:14px; margin-top:12px; padding:14px 16px; border-radius:16px;
  text-decoration:none; color:var(--ink); border:1px solid rgba(52,67,47,.18); background:#fff;
  transition:border-color .25s ease, transform .25s ease, background-color .25s ease;
}
.bk-panel h3 + .bk-opt, .bk-room + .bk-opt{ margin-top:20px; }
.bk-opt[hidden]{ display:none; }
.bk-opt:hover, .bk-opt:focus-visible{ border-color:var(--forest); transform:translateY(-1px); }
.bk-opt--wa{ background:var(--forest); border-color:var(--forest); color:var(--cream-light); }
.bk-opt--wa:hover, .bk-opt--wa:focus-visible{ background:var(--forest-deep); }
.bk-icon{ width:40px; height:40px; flex:0 0 auto; border-radius:50%; display:grid; place-items:center; background:rgba(52,67,47,.08); }
.bk-opt--wa .bk-icon{ background:rgba(251,246,238,.14); }
.bk-icon svg{ width:22px; height:22px; fill:currentColor; }
.bk-opt--airbnb .bk-icon{ color:#E0565B; }
.bk-opt-text{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.bk-opt-text strong{ font-family:'Inter',sans-serif; font-size:15px; font-weight:600; }
.bk-opt-text small{ font-size:12.5px; line-height:1.4; opacity:.75; }
.bk-arrow{ font-size:18px; opacity:.7; }
.bk-call{ margin-top:18px; font-size:13.5px; color:var(--ink-soft); text-align:center; }
.bk-call a{ color:var(--ink); font-weight:600; text-decoration:none; border-bottom:1.5px solid currentColor; }
html.bk-open, html.bk-open body{ overflow:hidden; }
@media (max-width:600px){
  .bk{ align-items:flex-end; padding:0; }
  .bk-panel{ width:100%; border-radius:22px 22px 0 0; padding:26px 18px calc(20px + env(safe-area-inset-bottom)); transform:translateY(40px); }
  .bk-panel h3{ font-size:23px; }
}

/* Lenis smooth scroll (recommended base styles) */
html.lenis, html.lenis body{ height:auto; }
.lenis.lenis-smooth{ scroll-behavior:auto !important; }
.lenis.lenis-smooth [data-lenis-prevent]{ overscroll-behavior:contain; }
.lenis.lenis-stopped{ overflow:hidden; }

/* ================================================================== */
/* PHONES & SMALL TABLETS — mobile layouts (desktop is final: nothing  */
/* below applies above 900px)                                           */
/* ================================================================== */
@media (max-width:900px){

  /* Odalar: the desktop idea on a phone — three tall cards side by side,
     the chosen one widens (tap to choose). */
  .room-panels{ flex-direction:row; height:min(122vw, 520px); gap:8px; }
  .room-panel{ flex:1 1 0; min-width:0; height:auto; border-radius:18px; }
  .room-panel.is-active{ flex-grow:4.6; }
  .room-panel-body{ padding:14px; }
  .room-panel:not(.is-active) .room-kicker{ display:none; }
  .room-panel:not(.is-active) .room-title{ font-size:18px; }
  .room-panel.is-active .room-title{ font-size:24px !important; }
  .room-detail p{ font-size:13.5px; margin:8px 0 10px; }
  .room-feats{ gap:6px; }
  .room-feats span{ font-size:11.5px; }
  .room-detail .btn{ margin-top:14px; }
  .room-panel:not(.is-active) .room-pet{ top:10px; right:50%; transform:translateX(50%); }

  /* Patiler: same choreography as desktop, phone geometry — the two videos
     slide out to the edges (half off screen) and the text rises in between. */
  .pets{ height:calc(100svh + 420px); }
  .pets-pin{ height:100svh; min-height:0; }
  .pet-video-wrap{ width:44vw; height:calc(44vw * 16 / 9); max-height:72svh; border-radius:18px; }
  .pets-stage[data-step="0"] .pet-video-wrap.cat{ transform:translate(calc(-50% - 3vw), -50%) rotate(-6deg); }
  .pets-stage[data-step="0"] .pet-video-wrap.dog{ transform:translate(calc(-50% + 3vw), -50%) rotate(6deg); }
  .pets-stage[data-step="1"] .pet-video-wrap.cat{ transform:translate(calc(-50% - 18vw), -50%) rotate(-10deg); }
  .pets-stage[data-step="1"] .pet-video-wrap.dog{ transform:translate(calc(-50% + 18vw), -50%) rotate(10deg); }
  .pets-stage[data-step="2"] .pet-video-wrap.cat{ transform:translate(calc(-50% - 49vw), -50%) rotate(-4deg); }
  .pets-stage[data-step="2"] .pet-video-wrap.dog{ transform:translate(calc(-50% + 49vw), -50%) rotate(4deg); }
  .pets-copy{ width:min(44vw, 280px); }
  .pets-copy h2{ font-size:24px; }
  .pets-copy p{ font-size:13px; line-height:1.55; margin-top:12px; }
  .pets-copy .eyebrow{ font-size:10.5px; }

  /* Hikâyemiz: chapters become a sideways swipe — one quick scroll passes it. */
  .story{ height:auto; padding-bottom:56px; }
  .story-sticky{ position:static; height:auto; overflow:visible; display:block; }
  .story-head.container{ padding-top:72px; padding-inline:20px; }
  .swipe-hint{
    display:block; margin-top:10px; font-family:'Inter',sans-serif; font-size:11px; font-weight:500;
    letter-spacing:.1em; text-transform:uppercase; color:var(--ink-soft);
  }
  .story-track{
    flex-direction:row; align-items:flex-start; gap:16px; padding:26px 20px 12px;
    overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; transform:none !important;
    scroll-padding-inline:20px; cursor:grab;
  }
  .story-track::-webkit-scrollbar{ display:none; }
  .craft-grid{ scroll-padding-inline:16px; }
  .story-ch, .story-ch.is-flip{
    flex:0 0 84vw; flex-direction:column; align-items:flex-start; gap:18px; scroll-snap-align:start;
  }
  .story-text{ width:auto; }
  .story-year{ font-size:18px; }
  .story-text h3{ font-size:22px; }
  .story-text h3.story-big{ font-size:30px; }
  .story-text p{ font-size:14.5px; line-height:1.55; margin-top:10px; }
  .story-collage{ --th:min(calc((84vw - 8px) / var(--cw)), 300px); }
  .story-pic{ --px:0px !important; }
  .story-line{ display:none; }

  /* Elimizle yaptık: the chapter titles become tabs; only the chosen chapter shows,
     its photos and videos as a sideways strip. */
  .craft{ padding-block:72px 80px; }
  .craft-split{ grid-template-columns:1fr; gap:0; margin-top:28px; }
  .craft-split > *{ min-width:0; }   /* let the tab row and strips scroll instead of widening the page */
  .craft-nav{ position:static; margin-inline:-16px; }
  .craft-nav ol{
    display:flex; gap:8px; overflow-x:auto; padding:0 16px 4px; scrollbar-width:none;
  }
  .craft-nav ol::-webkit-scrollbar{ display:none; }
  .craft-nav-item, .craft-nav-item:last-child{
    flex:0 0 auto; padding:9px 16px; border:1px solid rgba(246,232,213,.3); border-radius:999px;
    opacity:1; cursor:pointer; transition:background-color .25s ease, color .25s ease;
  }
  .craft-nav-item .craft-ch-num, .craft-nav-item p{ display:none; }
  .craft-nav-item h3{ margin:0; font-size:15px; white-space:nowrap; }
  .craft-nav-item.is-active{ background:var(--cream-light); border-color:var(--cream-light); }
  .craft-nav-item.is-active h3{ color:var(--forest); }
  .craft-flow{ gap:0; margin-top:22px; }
  .craft-ch{ display:none; }
  .craft-ch.is-current{ display:block; }
  .craft-ch-head{ display:block; margin-bottom:18px; }
  .craft-ch-head .craft-ch-num, .craft-ch-head h3{ display:none; }
  .craft-ch-head p{ margin-top:0; font-size:14.5px; }
  .craft-grid{
    display:flex; gap:12px; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none;
    margin-inline:-16px; padding:0 16px 6px;
  }
  .craft-grid::-webkit-scrollbar{ display:none; }
  .craft-grid > :nth-child(even){ transform:none; }
  .craft-tile{ flex:0 0 60vw; scroll-snap-align:start; }
  .craft-media, .craft-tile--tall .craft-media{ aspect-ratio:3/4; }
  .craft-gift{ grid-template-columns:130px 1fr; gap:16px; margin-top:36px; padding-right:26px; }
}

@media (max-width:760px){
  /* Burası Aisha: the story player shrinks and sits beside the day text. */
  .place-after{ grid-template-columns:1fr auto; gap:14px; align-items:start; }
  .story-player{ --spw:44vw; grid-row:auto; justify-self:end; margin-top:calc(var(--spw) * -1.1); border-radius:16px; }
  .place-day{ padding-top:14px; }
  .place-day p{ font-size:16.5px; line-height:1.45; margin-top:8px; }
  .place-ig{ font-size:12.5px; margin-top:14px; }
  .sp-bars{ top:8px; left:8px; right:8px; gap:3px; }
  .sp-head{ top:16px; left:8px; right:8px; gap:6px; font-size:10.5px; }
  .sp-avatar{ width:22px; height:22px; }
  .sp-avatar img{ width:13px; }
  .sp-when{ display:none; }
  .sp-cap{ left:10px; right:10px; bottom:10px; font-size:16px; }

  /* Instagram: a tidy 3 × 2 grid instead of a strip of 2½ photos; smaller type. */
  .insta{ padding-top:52px; }
  .insta-head{ align-items:center; gap:12px; }
  .insta-handle{ font-size:24px; margin-top:6px; }
  .insta-follow{ padding:8px 14px; font-size:12.5px; gap:6px; }
  .insta-follow svg{ width:15px; height:15px; }
  .insta-strip{ display:grid; grid-template-columns:repeat(3, 1fr); gap:3px; overflow:visible; margin-top:24px; }
  .insta-tile{ flex:none; }
  .insta-tile:nth-child(n+7){ display:none; }

  /* Footer: small logo with the tagline beside it, then pages and contact side by side. */
  .site-footer{ padding-top:36px; }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:26px 18px; padding-block:12px 28px; }
  .footer-grid > :first-child{ grid-column:1 / -1; display:flex; align-items:center; gap:16px; }
  .footer-logo-img{ width:112px; flex:0 0 auto; }
  .footer-tag{ margin-top:0; font-size:13px; line-height:1.5; }
  .site-footer h4{ font-size:11.5px; margin-bottom:10px; }
  .footer-col a, .footer-col p{ font-size:13px; margin-bottom:8px; }
  .footer-map-wrap{ margin-top:28px; }
  .footer-map{ height:240px; border-radius:18px; }
  .footer-map-card{ margin:-32px 12px 0; padding:18px 18px 16px; }
  .footer-map-card h4{ font-size:22px; }
  .footer-bottom{ font-size:11.5px; }
}

/* Phones, second pass: calmer type sizes and breathing room. */
@media (max-width:760px){
  /* Hoş geldiniz */
  .welcome{ padding-block:72px 28px; }
  .welcome .eyebrow{ font-size:16px; }
  .welcome h2{ font-size:26px; }
  .welcome p{ font-size:15px; line-height:1.6; margin-top:14px; }
  .welcome .btn{ margin-top:22px; padding:11px 22px; font-size:13.5px; }

  /* Odalar: smaller type inside the open card, the pet badge only as a paw */
  .room-panel-body{ padding:12px; }
  .room-kicker{ font-size:10.5px; }
  .room-panel.is-active .room-title{ font-size:20px !important; margin-top:4px; }
  .room-panel:not(.is-active) .room-title{ font-size:16px; }
  .room-detail p{ font-size:12.5px; line-height:1.5; margin:6px 0 10px; }
  .room-feats{ gap:5px; margin-top:4px; }
  .room-feats span{ font-size:10.5px; padding:3px 8px; }
  .room-detail .btn{ margin-top:12px; padding:8px 14px; font-size:12px; }
  .room-pet, .room-panel.is-active .room-pet{ height:28px; padding:0 6px; gap:0; top:10px; right:10px; }
  .room-pet svg{ width:15px; height:15px; }
  .room-pet span, .room-panel.is-active .room-pet span{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }

  /* Misafir defteri: ratings stay on one line, smaller type throughout */
  .guestbook .section-head h2{ font-size:26px; }
  .guestbook .section-head p{ font-size:14px; }
  .gb-head{ gap:22px; }
  .gb-ratings{ flex-wrap:nowrap; gap:0; width:100%; justify-content:space-between; }
  .gb-ratings li{ gap:3px; flex:0 1 auto; min-width:0; }
  .gb-ratings strong{ font-size:26px; }
  .gb-ratings li > span{ font-size:10.5px; white-space:normal; line-height:1.3; }
  .gb-note{ padding:24px 18px 18px; }
  .gb-quote{ font-size:15.5px; line-height:1.45; margin-top:12px; }
  .gb-note--featured{ padding:26px 20px 20px; }
  .gb-pull{ font-size:24px; margin-top:14px; }
  .gb-note--featured .gb-quote{ font-size:14.5px; }
  .gb-lang{ font-size:9.5px; padding:2px 8px; }
  .gb-toggle{ font-size:12px; }
  .gb-who strong{ font-size:13px; }
  .gb-who span{ font-size:12px; }
  .gb-photo img{ height:210px; }
}

/* Phones, third pass. */
@media (max-width:900px){
  /* Odalar: the chosen card dims its photo so the light text on it stays readable */
  .room-panel::before{
    content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
    background:rgba(30,38,25,.58); opacity:0; transition:opacity .5s ease;
  }
  .room-panel.is-active::before{ opacity:1; }
}
@media (max-width:760px){
  /* Aisha'da bir gün: text beside the video, the Instagram link on its own line under both */
  .place-day{ display:contents; }
  .place-day .eyebrow{ grid-column:1; grid-row:1; margin-top:14px; align-self:start; }
  .place-day p{ grid-column:1; grid-row:2; margin-bottom:0; }
  .story-player{ grid-column:2; grid-row:1 / span 2; }
  .place-ig{ grid-column:1 / -1; grid-row:3; justify-self:end; margin-top:4px; white-space:nowrap; }

  /* Bahçemizden size: photo across the top of the tag, the text below at full width */
  .craft-gift{
    grid-template-columns:1fr; gap:0; max-width:none; margin-top:36px;
    padding:10px 10px 18px; border-radius:16px; transform:rotate(-.8deg);
  }
  .craft-gift::after{ display:none; }
  .craft-gift-media{ aspect-ratio:16/10; border-radius:10px; }
  .craft-gift-media img{ object-position:50% 42%; }
  .craft-gift-text{ padding:16px 8px 0; }
  .craft-gift-text .eyebrow{ font-size:10.5px; }
  .craft-gift-text h3{ font-size:20px; margin-top:6px; }
  .craft-gift-text p{ font-size:13.5px; line-height:1.5; margin-top:6px; }
}

/* Phones: inner pages (oda / deneyimler / yakındakiler). */
@media (max-width:760px){
  /* Shared hero + lead */
  .rp-hero h1{ font-size:36px; line-height:1; }
  .rp-back{ margin-bottom:16px; font-size:12.5px; }
  .rp-eyebrow{ font-size:11px; }
  .rp-lead{ font-size:18px; line-height:1.5; }

  /* Deneyimler: one tour per block — photo on top, then number + chips, title, text, stops */
  .xp-intro{ padding-block:44px 0; }
  .xp-list{ padding-block:36px 24px; gap:64px; }
  .xp-row, .xp-row.is-flip{ grid-template-columns:1fr; gap:18px; align-items:start; }
  .xp-row.is-flip .xp-media{ order:0; }
  .xp-media{ aspect-ratio:4/3; border-radius:16px; }
  .xp-text{ display:flex; flex-wrap:wrap; align-items:center; gap:0 10px; }
  .xp-text > *{ flex:0 0 100%; }
  .xp-num{ flex:0 0 auto; font-size:17px; }
  .xp-meta{ flex:1 1 0; min-width:0; margin-top:0; gap:6px; }
  .xp-dist{ font-size:11px; padding:4px 10px; }
  .xp-text h2{ margin-top:10px; font-size:27px; line-height:1.08; }
  .xp-desc{ margin-top:10px; font-size:14.5px; line-height:1.6; max-width:none; }
  .xp-stops-label{ margin-top:18px; font-size:10.5px; }
  .xp-stops{ margin-top:8px; gap:6px; }
  .xp-stops span{ padding:4px 10px; font-size:12px; }
  .xp-text > .xp-ask{ flex:0 0 auto; margin-top:20px; font-size:13.5px; }
  .xp-more{ padding-block:0 72px; }
  .xp-more-link{ font-size:19px; }

  /* Yakındakiler: calmer type */
  .yk-hero-sub{ font-size:17px; margin-top:10px; }
  .yk-intro{ padding-block:44px 0; }
  .yk-list{ padding-top:56px; }
  .yk-place{ gap:20px; padding-bottom:64px; }
  .yk-text h2{ margin-top:6px; font-size:28px; line-height:1.05; }
  .yk-meta{ margin-top:12px; gap:6px; }
  .yk-dist, .yk-how{ font-size:11px; padding:4px 10px; line-height:1.4; }
  .yk-how{ border-radius:12px; }
  .yk-text p{ margin-top:12px; font-size:14.5px; line-height:1.65; }
  .yk-text p:first-of-type{ font-size:17.5px; line-height:1.45; }
  .yk-media img{ border-radius:14px; }
  .yk-media img:nth-child(2), .yk-media img:nth-child(3){ border-width:4px; }
}

/* Phones: room pages (oda.html#otel / apart3 / apart4). */
@media (max-width:760px){
  .room-page .section-head h2{ font-size:26px; }
  .rp-hero{ height:68svh; min-height:420px; }
  .rp-hero-text{ gap:18px; }
  .rp-hero-btn{ padding:11px 20px; font-size:13.5px; }

  /* Intro: lead, then the four facts as a compact 2 × 2 */
  .rp-intro{ padding-block:40px 36px; gap:26px; }
  .rp-facts li{ padding:14px 0; gap:4px; }
  .rp-facts li:nth-child(odd){ padding-right:14px; }
  .rp-facts li:nth-child(even){ padding-left:14px; }
  .rp-facts strong{ font-size:26px; }
  .rp-facts span{ font-size:12.5px; line-height:1.4; }

  /* Gallery: title and the counter/arrows on one row */
  .rp-gallery{ padding-bottom:56px; }
  .rp-gallery-head{ flex-direction:row; align-items:flex-end; gap:12px; }
  .rp-gallery-ui{ gap:6px; flex:0 0 auto; }
  .rp-count{ font-size:16px; margin-right:4px; }
  .rp-arrow{ width:36px; height:36px; font-size:15px; }
  .rp-strip{ margin-top:22px; }
  .rp-shot, .rp-ph{ height:340px; border-radius:14px; }
  .rp-gallery-hint{ margin-top:12px; font-size:10.5px; }

  /* Amenities: three small tiles per row — icon above, label below */
  .rp-amen{ padding-block:52px; }
  .rp-amen-grid{ margin-top:24px; grid-template-columns:repeat(3, 1fr); gap:20px 10px; }
  .rp-amen-grid li{ flex-direction:column; align-items:center; text-align:center; gap:8px; font-size:12.5px; line-height:1.3; }
  .rp-amen-icon{ width:40px; height:40px; }
  .rp-amen-icon svg{ width:20px; height:20px; }
  .rp-shared{ margin-top:28px; padding-top:18px; font-size:13.5px; line-height:1.55; }

  /* Booking card */
  .rp-book{ padding-block:52px 12px; }
  .rp-book-card{ gap:22px; padding:26px 22px; border-radius:20px; }
  .rp-book-card h2{ font-size:24px; margin-top:8px; }
  .rp-book-card p{ font-size:14px; line-height:1.55; margin-top:10px; }
  .rp-book-actions a:not(.btn){ font-size:14px; }
  .rp-book-btn{ padding:11px 20px; font-size:13.5px; }

  /* Other rooms: the two cards side by side */
  .rp-others{ padding-block:52px 72px; }
  .rp-others-grid{ grid-template-columns:1fr 1fr; gap:14px; margin-top:22px; }
  .rp-other-img{ aspect-ratio:4/5; border-radius:14px; }
  .rp-other-cap{ margin-top:10px; font-size:10px; }
  .rp-other h3{ margin-top:4px; font-size:18px; line-height:1.15; }
  .rp-other-link{ margin-top:6px; font-size:12.5px; }
}

/* Phones: calmer Hizmetlerimiz bands — slower drift, no sharp/blur layers sliding apart. */
@media (max-width:760px){
  .svc-track{ animation-duration:110s; }
  .svc-row--rev .svc-track{ animation-duration:125s; }
  .svc-shift, .svc-track{ will-change:auto; }
  .pano-img{ transition:none; }
}

/* iPhone shows a big play button on a video it is not allowed to autoplay; our videos are
   decorative loops, so hide it (a tap anywhere starts them, see main.js). */
.pet-video-wrap video::-webkit-media-controls-start-playback-button,
.craft-media video::-webkit-media-controls-start-playback-button,
.story-player video::-webkit-media-controls-start-playback-button{ display:none !important; -webkit-appearance:none; }
