/* =========================================================
   Baklava Cafe — recreation of the Canva site
   ========================================================= */
:root{
  --brown:        #54300b;   /* deep coffee brown (hero heading) */
  --brown-text:   #683319;   /* body brown on cream */
  --gold:         #fddc97;   /* warm gold (dark sections) */
  --tan:          #bb8257;   /* eyebrow tan */
  --cream:        #efe7df;   /* light text on dark / menu bg */
  --cream-bg:     #f1eee9;   /* story section bg */
  --light-bg:     #f2f2f2;   /* hero / footer bg */
  --dark:         #121212;   /* near-black */
  --darkbrown:    #270f03;   /* coffee section bg */
  --black:        #000;

  --serif:  "Cormorant Garamond", Georgia, serif;  /* elegant display */
  --deco:   "Cinzel", Georgia, serif;              /* flared caps display */
  --body:   "EB Garamond", Georgia, serif;         /* body copy */

  --maxw: 1180px;
}

*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--body);
  color:var(--brown-text);
  background:var(--light-bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;display:block;}
a{text-decoration:none;color:inherit;}

.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 28px;}

/* ---------- shared display type ---------- */
.display{
  font-family:var(--deco);
  font-weight:500;
  letter-spacing:.01em;
  line-height:1.05;
  margin:0;
}
.eyebrow{
  display:block;
  font-family:var(--deco);
  text-transform:uppercase;
  letter-spacing:.5em;
  font-size:15px;
  font-weight:500;
}
.eyebrow--gold{color:var(--tan);}
.eyebrow--cream{color:var(--cream);}
.eyebrow--brown{color:var(--brown-text);}

/* ---------- buttons ---------- */
.btn{
  display:inline-block;
  font-family:var(--body);
  font-size:18px;
  letter-spacing:.06em;
  text-transform:uppercase;
  padding:15px 40px;
  border-radius:40px;
  border:1.5px solid currentColor;
  background:transparent;
  transition:all .25s ease;
  cursor:pointer;
  white-space:nowrap;
}
.btn--brown{color:var(--brown);}
.btn--brown:hover{background:var(--brown);color:#fff;}
.btn--gold{color:var(--gold);}
.btn--gold:hover{background:var(--gold);color:var(--darkbrown);}
.btn--ghost{color:#fff;}
.btn--ghost:hover{background:#fff;color:var(--dark);}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:var(--light-bg);
  overflow:hidden;
}
.hero__bg{
  position:absolute;inset:0;
  background-size:cover;
  background-position:center;
}
.hero__bg::after{
  content:"";position:absolute;inset:0;
  background:rgba(244,242,238,.55);
}
.hero__inner{position:relative;z-index:2;padding:60px 20px;}
.hero__logo{
  width:300px;max-width:74vw;margin:0 auto 26px;
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.12));
}
.hero__title{
  font-family:var(--serif);
  font-weight:500;
  color:var(--brown);
  font-size:clamp(40px,6vw,72px);
  line-height:1.04;
  margin:0 0 36px;
}
.hero__btns{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;}

/* =========================================================
   OUR STORY
   ========================================================= */
.story{background:var(--cream-bg);padding:96px 0 110px;}
.story__grid{display:grid;grid-template-columns:1fr;gap:40px;align-items:center;}
.story__text .eyebrow{margin-bottom:10px;}
.story__heading{
  color:var(--brown);
  font-size:clamp(38px,5vw,58px);
  margin-bottom:26px;
}
.story__text p{
  color:var(--brown-text);
  font-size:19px;
  line-height:1.65;
  margin:0 0 18px;
  text-align:justify;
}

/* layered food collage */
.collage{position:relative;width:100%;margin:0 auto;}
.collage .c{
  position:absolute;
  filter:drop-shadow(0 18px 28px rgba(60,30,10,.22));
}
.collage--story{max-width:620px;aspect-ratio:797/716;}
.collage--story .c1{left:0;     top:8.8%; width:70.9%;z-index:1;}
.collage--story .c2{left:41.4%; top:0;    width:40.5%;z-index:1;}
.collage--story .c3{left:29.1%; top:21.1%;width:70.9%;z-index:2;}
.collage--story .c4{left:15.4%; top:43%;  width:44.2%;z-index:3;}

@media(min-width:900px){
  .story__grid{grid-template-columns:1fr 1fr;gap:50px;}
}

/* =========================================================
   BRAND DIVIDER
   ========================================================= */
.brandbar{
  background:var(--dark);
  text-align:center;
  padding:52px 20px;
}
.brandbar .eyebrow{margin-bottom:14px;letter-spacing:.42em;font-size:14px;}
.brandbar__title{
  font-family:var(--deco);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.18em;
  color:var(--gold);
  font-size:clamp(26px,4.4vw,40px);
  margin:0;
}

/* =========================================================
   FEATURES (Convenient Online Ordering)
   ========================================================= */
.features{position:relative;background:var(--darkbrown);overflow:hidden;padding:84px 0 96px;}
.features__bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.5;}
.features__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(20,9,2,.86),rgba(36,15,4,.82));}
.features__inner{position:relative;z-index:2;}
.features__head{text-align:center;max-width:920px;margin:0 auto 56px;}
.features__head .eyebrow{margin-bottom:16px;}
.features__title{
  color:var(--cream);
  font-size:clamp(34px,5vw,56px);
  margin-bottom:24px;
}
.features__lead{
  color:var(--cream);
  font-size:18px;
  line-height:1.6;
  margin:0;
}
.cards{
  display:grid;
  grid-template-columns:1fr;
  gap:26px;
  max-width:1100px;
  margin:0 auto;
}
.card{
  border:1px solid rgba(253,220,151,.5);
  padding:38px 30px 42px;
  text-align:center;
  color:var(--cream);
}
.card__icon{color:var(--cream);display:inline-block;margin-bottom:16px;}
.card__title{
  font-family:var(--deco);
  font-weight:500;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:21px;
  color:var(--cream);
  margin:0 0 16px;
}
.card p{font-size:17px;line-height:1.6;margin:0;color:var(--cream);}
.features__cta{text-align:center;margin-top:50px;}
@media(min-width:820px){
  .cards{grid-template-columns:repeat(3,1fr);}
}

/* =========================================================
   BUFFET
   ========================================================= */
.buffet{background:var(--dark);padding:88px 0 96px;text-align:center;}
.buffet__inner{max-width:880px;}
.buffet__icon{color:var(--cream);display:inline-block;margin-bottom:22px;}
.buffet__title{
  color:var(--cream);
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:600;
  font-size:clamp(34px,5.4vw,62px);
  margin-bottom:26px;
}
.buffet__text{color:var(--cream);font-size:18px;line-height:1.6;margin:0 auto 38px;max-width:760px;}

/* =========================================================
   MENU
   ========================================================= */
.menu{background:var(--cream);padding:90px 0 100px;}
.menu__inner{display:grid;grid-template-columns:1fr;gap:30px;align-items:center;}
.collage--menu{max-width:640px;aspect-ratio:861/846;}
.collage--menu .m1{left:23.2%;top:0;     width:61.3%;z-index:1;}
.collage--menu .m2{left:0;    top:18.1%; width:61.3%;z-index:2;}
.collage--menu .m3{left:18.5%;top:17%;   width:81.5%;z-index:3;}
.menu__text{text-align:center;}
.menu__text .eyebrow{margin-bottom:10px;letter-spacing:.55em;}
.menu__title{
  color:var(--brown);
  font-family:var(--deco);
  font-weight:600;
  text-transform:uppercase;
  font-size:clamp(60px,11vw,130px);
  letter-spacing:.02em;
  margin-bottom:20px;
}
.menu__text p{font-size:19px;line-height:1.6;color:var(--brown-text);max-width:560px;margin:0 auto 30px;}
@media(min-width:900px){
  .menu__inner{grid-template-columns:1.05fr .95fr;gap:40px;}
  .menu__text{text-align:center;}
}

/* =========================================================
   CALL BAR
   ========================================================= */
.callbar{background:var(--dark);padding:32px 0;}
.callbar__inner{
  display:flex;align-items:center;justify-content:center;
  gap:28px;flex-wrap:wrap;text-align:center;
}
.callbar__left{display:flex;align-items:center;gap:16px;}
.callbar__icon{color:var(--gold);display:inline-flex;}
.callbar__title{
  font-family:var(--serif);
  color:var(--gold);
  font-size:26px;
  font-weight:500;
}
@media(min-width:780px){
  .callbar__inner{justify-content:space-between;}
}

/* =========================================================
   GALLERY
   ========================================================= */
.gallery{background:#fff;padding:70px 0 84px;}
.gallery__inner{display:grid;grid-template-columns:1fr;gap:24px;}
.gallery__inner img{
  width:100%;aspect-ratio:4/3;object-fit:cover;
}
@media(min-width:760px){
  .gallery__inner{grid-template-columns:repeat(3,1fr);gap:26px;}
}

/* =========================================================
   FOOTER
   ========================================================= */
.contact{background:var(--light-bg);}
.contact__inner{
  display:grid;grid-template-columns:1fr;gap:36px;align-items:center;
  padding:70px 28px 60px;text-align:center;
}
.contact__logo img{width:300px;max-width:70vw;margin:0 auto;}
.contact__h{
  font-family:var(--deco);
  text-transform:uppercase;
  letter-spacing:.16em;
  font-weight:600;
  font-size:22px;
  color:var(--brown);
  margin:0 0 12px;
}
.contact__h--gold{color:var(--tan);margin-top:30px;}
.contact__addr,.contact__phone{
  font-size:20px;letter-spacing:.04em;color:var(--brown);
  text-transform:uppercase;line-height:1.5;margin:0;
}
.contact__phone a{transition:color .2s;}
.contact__phone a:hover{color:var(--tan);}
@media(min-width:840px){
  .contact__inner{grid-template-columns:1fr 1fr;text-align:left;}
  .contact__logo img{margin:0;}
  .contact__info{text-align:center;}
}
.contact__copy{
  background:var(--black);color:#fff;text-align:center;
  padding:30px 20px 6px;
}
.contact__copy p{margin:0;font-size:18px;line-height:1.5;letter-spacing:.02em;}
.contact__bottom{
  background:var(--black);color:#fff;
  padding:18px 28px 26px;
}
.contact__links{
  display:flex;gap:30px;justify-content:center;
  max-width:var(--maxw);margin:0 auto;
}
.contact__links a{font-size:15px;opacity:.92;transition:opacity .2s;}
.contact__links a:hover{opacity:.6;}

/* =========================================================
   SCROLL REVEAL
   ========================================================= */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s ease,transform .9s ease;}
.reveal.is-visible{opacity:1;transform:none;}
@media(prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}
