:root{
  --cream:#f5efe5;
  --cream-2:#eee5d7;
  --ink:#45382f;
  --muted:#7d6e63;
  --dark:#393427;
  --line:#c7b8a3;
  --white:#fff;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  color:var(--ink);
  background:var(--cream);
  font-family:"Montserrat",sans-serif;
  font-weight:300;
  line-height:1.65;
}
img{display:block;width:100%;height:100%;object-fit:cover}
a{color:inherit;text-decoration:none}
button{font:inherit}
.container{width:min(1180px,calc(100% - 48px));margin:auto}
.section{padding:100px 0}

h1,h2,h3{
  font-family:"Cormorant Garamond",serif;
  font-weight:400;
  line-height:.92;
  margin:0;
}
h2{font-size:clamp(48px,6vw,78px)}
h3{font-size:42px}
p{margin:0 0 18px}

.eyebrow{
  text-transform:uppercase;
  letter-spacing:.24em;
  font-size:11px;
  font-weight:500;
}
.eyebrow--dark{color:#8f725b}

.btn{
  display:inline-flex;align-items:center;gap:18px;
  padding:15px 28px;
  text-transform:uppercase;
  letter-spacing:.16em;
  font-size:10px;font-weight:500;
  transition:.25s ease;
}
.btn--outline{border:1px solid rgba(255,255,255,.6)}
.btn--outline:hover{background:#fff;color:var(--dark)}
.btn--light{background:rgba(245,239,229,.92);color:var(--dark)}
.btn--light:hover{background:#fff;transform:translateY(-2px)}
.btn--dark{border:1px solid var(--ink);width:max-content;margin-top:10px}
.btn--dark:hover{background:var(--ink);color:var(--cream)}

.hero{height:min(850px,100vh);min-height:650px;position:relative;color:white;overflow:hidden}
.hero__bg,.hero__shade{position:absolute;inset:0}
.hero__shade{background:linear-gradient(90deg,rgba(18,18,14,.56) 0%,rgba(18,18,14,.18) 54%,rgba(18,18,14,.18) 100%)}
.nav{
  position:relative;z-index:2;
  display:flex;align-items:flex-start;justify-content:space-between;
  padding-top:30px;
}
.brand{display:flex;flex-direction:column;line-height:1.2}
.brand__star{font-size:18px;margin-left:70px;margin-bottom:5px}
.brand__name{
  font-family:"Cormorant Garamond",serif;
  letter-spacing:.16em;font-size:25px
}
.brand__sub{font-size:8px;letter-spacing:.25em;margin-top:4px;margin-left:18px}
.nav__links{display:flex;align-items:center;gap:36px;text-transform:uppercase;letter-spacing:.14em;font-size:9px}
.nav__links>a:not(.btn){padding:12px 0;border-bottom:1px solid transparent}
.nav__links>a:not(.btn):hover{border-color:white}

.hero__content{position:relative;z-index:2;padding-top:115px;display:flex;flex-direction:column;align-items:flex-start;gap:22px}
.hero__content>.eyebrow{margin:0}
.hero__content h1{font-family:"Bodoni Moda",serif;font-size:clamp(86px,11.2vw,154px);font-weight:400;line-height:.88;letter-spacing:-.025em;text-transform:uppercase}
.ornament{display:flex;align-items:center;gap:16px;width:270px;margin:0}
.ornament span{height:1px;background:rgba(255,255,255,.65);flex:1}
.hero__tagline{text-transform:uppercase;letter-spacing:.26em;font-size:14px;line-height:1.75;margin:0}
.menu-btn{display:none;background:none;border:0;width:34px;height:34px;padding:0}
.menu-btn span{display:block;height:1px;background:white;margin:8px 0}

.about{background:var(--cream)}
.about__grid{display:grid;grid-template-columns:.75fr 1.55fr;gap:70px;align-items:center}
.about__copy{padding-left:10px}
.about__copy h2{margin:7px 0 28px}
.about__copy p{max-width:440px;color:#665a51}
.text-link{text-transform:uppercase;letter-spacing:.17em;font-size:10px;display:inline-flex;gap:20px;margin-top:15px}
.about__collage{
  display:grid;
  grid-template-columns:1.1fr 1fr 1fr;
  grid-template-rows:1fr 1fr;
  gap:4px;
  height:460px;
}
.tile{
  margin:0;
  min-width:0;
  min-height:0;
  overflow:hidden;
}
.tile img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.tile--tall{grid-row:span 2}
.tile:nth-child(4){grid-column:3;grid-row:1/span 2}

.section-head{text-align:center;margin-bottom:45px}
.section-head h2{margin-top:8px}
.section-head--left{text-align:left}

.rooms{background:#f7f1e8;border-top:1px solid rgba(74,57,46,.14)}
.room-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.room-card{
  display:grid;grid-template-columns:1.1fr .9fr;
  background:#f0e7da;border-radius:8px;overflow:hidden;
  min-height:360px;
}
.room-card__content{padding:38px 32px;display:flex;flex-direction:column;justify-content:center}
.room-card__content h3{margin:5px 0 20px}
.room-card__content p{font-size:13px;color:#665a51}
.room-meta{display:flex;flex-direction:column;gap:5px;text-transform:uppercase;letter-spacing:.1em;font-size:10px;margin-top:7px}

.villa-banner{
  max-width:620px;margin:28px auto 0;padding:18px 26px;
  display:flex;align-items:center;justify-content:space-between;
  border:1px solid #c7b8a3;border-radius:6px;
}
.villa-banner div{display:flex;gap:30px;align-items:center}
.villa-banner small,.villa-banner strong{text-transform:uppercase;letter-spacing:.13em}
.villa-banner small{font-size:10px}
.villa-banner strong{font-size:11px}

.features{background:#3d392c;color:#f3ecdf}
.features__grid{display:grid;grid-template-columns:repeat(4,1fr);padding:25px 0}
.feature{display:grid;grid-template-columns:52px 1fr;gap:14px;padding:0 24px;border-right:1px solid rgba(255,255,255,.28)}
.feature:last-child{border-right:0}
.feature__icon{font-size:30px;line-height:1}
.feature h4{text-transform:uppercase;letter-spacing:.12em;font-size:10px;margin:0 0 8px}
.feature p{font-size:9px;line-height:1.5;margin:0;color:#d8d0c5}

.gallery{padding-bottom:0}
.gallery__strip{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr 1.15fr;height:260px}
.gallery__strip img{min-width:0}
.footer{padding:25px 0 35px;background:var(--cream)}
.footer__grid{display:grid;grid-template-columns:1fr auto 1fr;align-items:center}
.footer p{margin:0;font-size:11px}
.footer__place{text-transform:uppercase;letter-spacing:.16em}
.footer__center{font-size:30px;color:#9f876c}
.footer__contact{display:flex;justify-content:flex-end;gap:28px;font-size:10px;letter-spacing:.07em}

@media (max-width: 980px){
  .nav__links{
    position:fixed;inset:0 0 0 30%;
    background:rgba(54,48,38,.98);
    flex-direction:column;justify-content:center;align-items:flex-start;
    padding:60px;transform:translateX(100%);transition:.3s ease;
    font-size:12px;z-index:4;
  }
  .menu-open .nav__links{transform:none}
  .menu-btn{display:block;position:relative;z-index:5}
  .about__grid{grid-template-columns:1fr}
  .about__copy{max-width:650px}
  .room-grid{grid-template-columns:1fr}
  .features__grid{grid-template-columns:1fr 1fr;gap:30px 0}
  .feature:nth-child(2){border-right:0}
}

@media (max-width: 680px){
  .container{width:min(100% - 30px,1180px)}
  .section{padding:72px 0}
  .hero{min-height:720px}
  .hero__shade{background:linear-gradient(180deg,rgba(18,18,14,.35),rgba(18,18,14,.55))}
  .hero__content{padding-top:150px}
  .hero__content h1{font-size:68px}
  .hero__tagline{font-size:11px}
  .about__collage{grid-template-columns:1fr 1fr;grid-template-rows:220px 170px 210px;height:auto}
  .tile--tall{grid-row:auto}
  .tile:nth-child(1){grid-column:1/span 2}
  .tile:nth-child(4){grid-column:auto;grid-row:auto}
  .room-card{grid-template-columns:1fr}
  .room-card>img{height:320px}
  .villa-banner,.villa-banner div{align-items:flex-start}
  .villa-banner div{flex-direction:column;gap:4px}
  .features__grid{grid-template-columns:1fr}
  .feature{border-right:0;border-bottom:1px solid rgba(255,255,255,.18);padding:18px 8px}
  .gallery__strip{grid-template-columns:1fr 1fr;height:auto}
  .gallery__strip img{height:220px}
  .gallery__strip img:first-child{grid-column:1/span 2}
  .footer__grid{grid-template-columns:1fr;text-align:center;gap:18px}
  .footer__contact{justify-content:center;flex-wrap:wrap}
}


/* Detailed Fayoum experiences section */
.experience-showcase{
  background:#f7f1e8;
  padding-top:72px;
  padding-bottom:78px;
}
.experience-showcase__head{
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:start;
  gap:38px;
  margin-bottom:46px;
}
.experience-showcase__head>div{
  text-align:center;
  min-width:300px;
}
.experience-showcase__head h2{
  font-family:"Bodoni Moda","Cormorant Garamond",serif;
  font-size:clamp(42px,4.2vw,62px);
  font-style:italic;
  line-height:1;
  margin:0;
}
.experience-showcase__head p{
  margin:9px 0 0;
  font-size:12px;
  line-height:1.45;
  color:#51483f;
}
.experience-showcase__line{
  height:1px;
  background:#bcae9d;
  margin-top:22px;
}
.experience-showcase__ornament{
  display:block;
  margin-top:7px;
  color:#a87958;
  font-size:10px;
}
.experience-cards{
  display:grid;
  grid-template-columns:repeat(6,1fr);
  gap:12px;
}
.experience-card{
  min-width:0;
}
.experience-card__label{
  min-height:48px;
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:0 2px 10px;
}
.experience-card__label span{
  color:#a87958;
  font-size:20px;
  line-height:1;
  width:22px;
  flex:0 0 22px;
  text-align:center;
}
.experience-card__label strong{
  font-size:12px;
  line-height:1.15;
  font-weight:500;
}
.experience-card img{
  width:100%;
  aspect-ratio:1 / 1.12;
  object-fit:cover;
}
.breakfast-feature{
  display:grid;
  grid-template-columns:1.55fr .9fr 1fr;
  gap:24px;
  align-items:stretch;
  margin-top:28px;
}
.breakfast-feature>img{
  width:100%;
  height:260px;
  object-fit:cover;
}
.breakfast-feature__copy{
  padding:22px 0 10px;
}
.breakfast-feature__copy h3{
  font-family:"Bodoni Moda","Cormorant Garamond",serif;
  font-size:46px;
  font-style:italic;
  line-height:.95;
  margin:0 0 8px;
}
.breakfast-feature__copy p{
  margin-top:30px;
  max-width:270px;
  font-size:13px;
  line-height:1.6;
  color:#51483f;
}

@media (max-width:980px){
  .experience-cards{grid-template-columns:repeat(3,1fr);gap:22px 14px}
  .breakfast-feature{grid-template-columns:1.2fr .8fr}
  .breakfast-feature>img:last-child{display:none}
}
@media (max-width:680px){
  .experience-showcase{padding-top:55px;padding-bottom:60px}
  .experience-showcase__head{grid-template-columns:1fr;gap:12px}
  .experience-showcase__head>div{min-width:0}
  .experience-showcase__line{display:none}
  .experience-cards{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:14px;
    row-gap:28px;
    align-items:start;
  }
  .experience-card{
    display:flex;
    flex-direction:column;
    min-width:0;
    overflow:visible;
  }
  .experience-card__label{
    min-height:64px;
    height:64px;
    flex:0 0 64px;
    padding:0 2px 10px;
  }
  .experience-card img{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:1 / 1.12;
    object-fit:cover;
    flex:none;
  }
  .breakfast-feature{grid-template-columns:1fr;gap:18px}
  .breakfast-feature>img{height:240px}
  .breakfast-feature__copy{padding:0}
  .breakfast-feature__copy p{margin-top:18px}
}
