:root{
  --cream: rgb(255,254,248);
  --cream-deep: rgb(251,249,235);
  --dark: rgb(13,33,35);
  --dark-soft: rgb(18,48,51);
  --ember: rgb(240,153,73);
  --ember-deep: rgb(193,101,16);
  --whatsapp: #3AC34E;
  --whatsapp-hover: #2fa840;
  --btn-text: #061011;
  --font-heading: 'Playfair Display', Georgia, serif;
  --font-body: 'Montserrat', Helvetica, Arial, sans-serif;
  --site-width: 980px;
  --shadow-soft: 0 24px 48px rgba(13,33,35,0.14);
  --shadow-btn: 0 10px 24px rgba(58,195,78,0.28);
}

*{box-sizing:border-box;margin:0;padding:0;}

::selection{
  background: rgba(240,153,73,0.35);
  color: var(--dark);
}

body{
  font-family: var(--font-body);
  color: var(--dark);
  background: var(--cream);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}

.skip-link{
  position:absolute;
  top:-100%;
  left:16px;
  z-index:300;
  padding:12px 20px;
  background: var(--dark);
  color: var(--cream);
  font-size:14px;
  font-weight:600;
  border-radius:4px;
}

.skip-link:focus{
  top:16px;
}

img{display:block;max-width:100%;height:auto;}

a{text-decoration:none;color:inherit;}

a:focus-visible,
button:focus-visible{
  outline:2px solid var(--ember);
  outline-offset:3px;
}

.container{
  max-width: var(--site-width);
  margin:0 auto;
  padding:0 40px;
}

.container--narrow{
  max-width:700px;
}

/* Header */
.site-header{
  background:var(--cream);
}

.header-bar{
  display:flex;
  align-items:center;
  justify-content:center;
  max-width:var(--site-width);
  margin:0 auto;
  padding:32px 20px 8px;
}

.header-brand{
  text-decoration:none;
  color:inherit;
}

.header-brand__title{
  display:block;
  font-family:var(--font-heading);
  font-size:clamp(20px, 3vw, 26px);
  line-height:1.15;
  font-weight:400;
  color:var(--dark);
  text-align:center;
}

/* Hero */
.hero{
  background: var(--cream);
  padding:24px 0 0;
}

.hero-content{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  color: var(--dark);
  padding:24px 40px 48px;
  gap:24px;
}

.hero h1{
  font-family: var(--font-heading);
  font-size:clamp(40px, 7vw, 68px);
  line-height:1.2;
  font-weight:400;
  color: var(--dark);
  margin:0;
  text-wrap:balance;
}

.hero-tagline{
  font-family: var(--font-body);
  font-size:clamp(16px, 2vw, 18px);
  line-height:1.4;
  color:rgba(13,33,35,0.72);
  margin:0;
}

.hero-image{
  margin:0 auto;
  padding:0 clamp(16px, 6vw, 80px);
}

.hero-image img{
  width:100%;
  height:auto;
  object-fit:cover;
}

/* WhatsApp button */
.btn-whatsapp{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  background: var(--whatsapp);
  color: var(--btn-text);
  font-family: var(--font-heading);
  font-weight:400;
  letter-spacing:0.05em;
  font-size:18px;
  min-width:274px;
  height:48px;
  padding:0 28px;
  border-radius:60px;
  border:none;
  box-shadow: var(--shadow-btn);
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.btn-whatsapp:hover{
  background: var(--whatsapp-hover);
  transform:translateY(-2px);
  box-shadow:0 14px 28px rgba(58,195,78,0.34);
}

.btn-whatsapp--hero{
  min-width:300px;
  height:52px;
  font-size:19px;
}

.btn-whatsapp__icon{
  flex-shrink:0;
}

/* Buffet / Menu */
.buffet{
  background: var(--cream);
  padding:88px 0 24px;
}

.section-head{
  text-align:center;
  margin-bottom:48px;
}

.buffet h2,
.quote h2{
  font-family: var(--font-heading);
  font-size:clamp(34px, 5vw, 48px);
  line-height:1.2;
  font-weight:400;
  margin-bottom:16px;
  text-wrap:balance;
}

.buffet-lead{
  font-size:16px;
  line-height:1.7;
  margin-bottom:4px;
}

.buffet-sub{
  font-size:16px;
  line-height:1.7;
  margin-bottom:8px;
}

.menu-list{
  text-align:left;
}

.menu-item{
  margin-bottom:26px;
}

.menu-item h3{
  font-family: var(--font-body);
  font-size:17px;
  line-height:1.4;
  font-weight:700;
  color: var(--dark);
  margin-bottom:4px;
}

.menu-item p{
  font-size:15px;
  line-height:1.7;
  color:rgba(13,33,35,0.82);
}

/* Quote */
.quote{
  background: var(--cream);
  color: var(--dark);
  text-align:center;
  padding:64px 0 88px;
}

.quote h2{
  color: var(--dark);
  margin-bottom:24px;
}

/* Feature cards */
.features{
  background: var(--cream);
  padding:72px 0 48px;
}

.features .container{
  max-width:900px;
  padding:0 20px;
}

.feature-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
}

.feature-row--right{
  margin-top:-90px;
}

.feature-row--left .feature-card{
  grid-column:1;
  justify-self:start;
}

.feature-row--left .feature-card::before{
  background:
    linear-gradient(180deg, rgba(48,31,15,0.2) 0%, rgba(13,33,35,0.55) 100%),
    radial-gradient(ellipse 80% 50% at 50% 100%, rgba(193,101,16,0.22) 0%, transparent 60%);
}

.feature-row--left .feature-card__text h3{
  letter-spacing:0.03em;
  padding-bottom:12px;
  border-bottom:2px solid rgba(240,153,73,0.75);
  display:inline-block;
}

.feature-row--right .feature-card{
  grid-column:2;
  justify-self:end;
}

.feature-card{
  position:relative;
  width:450px;
  max-width:100%;
  height:440px;
  background-size:cover;
  background-position:center;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow: var(--shadow-soft);
  transition: transform 0.35s ease;
}

.feature-card:hover{
  transform:scale(1.02);
}

.feature-card::before{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(13,33,35,0.15) 0%, rgba(13,33,35,0.62) 100%);
}

.feature-card__text{
  position:relative;
  z-index:1;
  text-align:center;
  color: var(--cream);
  padding:0 25px;
  width:100%;
}

.feature-card__text h3{
  font-family: var(--font-heading);
  font-size:26px;
  line-height:1.3;
  font-weight:400;
  margin-bottom:10px;
}

.feature-card__text p{
  font-size:18px;
  line-height:1.6;
  color:rgba(255,254,248,0.9);
}

/* Contact */
.contact{
  background: var(--cream);
  text-align:center;
  padding:72px 0 0;
}

.contact h2{
  font-family: var(--font-heading);
  font-size:28px;
  line-height:1.3;
  font-weight:400;
  margin-bottom:8px;
}

.contact-sub{
  font-size:18px;
  line-height:1.75;
  margin-bottom:26px;
}

/* CTA final */
.cta-final{
  background: var(--cream);
  padding:48px 0 0;
}

.cta-final-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  align-items:stretch;
}

.cta-final-content{
  background: var(--dark);
  color: var(--cream);
  text-align:center;
  padding:100px 24px 56px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:443px;
}

.cta-final-content h2{
  font-family: var(--font-heading);
  font-size:clamp(32px, 4vw, 44px);
  line-height:1.25;
  font-weight:400;
  color: var(--cream);
  margin-bottom:18px;
}

.cta-sub{
  font-size:16px;
  line-height:1.75;
  color:rgba(255,254,248,0.82);
  margin-bottom:36px;
  max-width:32ch;
}

.cta-final-content .btn-whatsapp{
  margin-bottom:28px;
}

.cta-phone{
  font-family: var(--font-heading);
  font-size:clamp(24px, 3vw, 32px);
  line-height:1.3;
}

.cta-phone a{
  color: var(--cream);
  transition: opacity 0.2s ease;
}

.cta-phone a:hover{
  opacity:0.85;
}

.cta-final-image img{
  width:100%;
  height:443px;
  object-fit:cover;
}

/* Footer */
.site-footer{
  background: var(--cream);
  text-align:center;
  padding:56px 0 100px;
}

.footer-logo{
  font-family: var(--font-heading);
  font-size:24px;
  line-height:1.3;
  font-weight:400;
  margin-bottom:18px;
}

.footer-tagline{
  font-size:14px;
  line-height:1.79;
  margin-top:18px;
  color:rgba(13,33,35,0.72);
}

.footer-cnpj{
  font-size:13px;
  line-height:1.6;
  margin-top:8px;
  color:rgba(13,33,35,0.55);
}

/* Entrance */
@media (prefers-reduced-motion: no-preference){
  .hero-content{
    animation:hero-in 0.9s cubic-bezier(0.22,1,0.36,1) both;
  }

  .feature-card,
  .btn-whatsapp{
    transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  }
}

@media (prefers-reduced-motion: reduce){
  .hero-content{
    animation:none;
  }

  .feature-card:hover,
  .btn-whatsapp:hover{
    transform:none;
  }
}

@keyframes hero-in{
  from{
    opacity:0;
    transform:translateY(28px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

/* Responsive */
@media (max-width: 900px){
  .feature-row{grid-template-columns:1fr;}
  .feature-row--right{margin-top:24px;}
  .feature-row--left .feature-card,
  .feature-row--right .feature-card{
    grid-column:1;
    justify-self:center;
    width:100%;
  }
  .cta-final-grid{grid-template-columns:1fr;}
  .cta-final-content{min-height:auto;padding:72px 24px 48px;}
}

@media (max-width: 768px){
  .hero-content{
    width:100%;
    padding:16px 28px 40px;
    gap:20px;
  }

  .hero h1{
    font-size:clamp(28px, 7vw, 40px);
    line-height:1.28;
  }

  .hero-tagline{
    font-size:clamp(15px, 4vw, 17px);
    line-height:1.5;
  }

  .btn-whatsapp--hero{
    min-width:auto;
    height:50px;
    font-size:16px;
    padding:0 28px;
  }
}

@media (max-width: 560px){
  .container{padding:0 20px;}

  .header-bar{
    padding:20px 16px 6px;
  }

  .header-brand__title{
    font-size:clamp(18px, 4.8vw, 20px);
  }

  .hero-content{
    padding:14px 24px 36px;
    gap:18px;
  }

  .btn-whatsapp{
    min-width:auto;
    width:100%;
    max-width:300px;
  }

  .btn-whatsapp--footer{
    display:none;
  }

  .feature-card{height:360px;}

  .site-footer{
    padding:48px 0 100px;
  }

  .footer-logo{
    font-size:22px;
    margin-bottom:12px;
  }

  .footer-tagline{
    margin-top:0;
  }
}
