*{box-sizing:border-box} :root{--ink:#211b18;--cream:#f4eee5;--paper:#fbf8f2;--rust:#9d351e;--gold:#c59a52;--muted:#786e64;--line:#d9cec0}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;background:var(--paper);color:var(--ink);font-family:"DM Sans",sans-serif;font-size:14px;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.announcement{height:27px;background:var(--rust);color:#fff4e6;display:flex;align-items:center;justify-content:center;font-size:9px;letter-spacing:.19em;font-weight:600}.header{height:78px;padding:0 7vw;display:flex;align-items:center;justify-content:space-between;background:var(--paper);position:sticky;top:0;z-index:20;border-bottom:1px solid #241b1410;transition:height .25s,box-shadow .25s}.header.scrolled{height:66px;box-shadow:0 5px 24px #241b140d}.logo{display:flex;align-items:center;width:70px;height:70px;overflow:hidden;border-radius:50%;background:#1b1714;border:2px solid var(--gold);box-shadow:0 3px 12px #27190f19}.logo img{width:100%;height:100%;object-fit:cover}.nav{display:flex;align-items:center;gap:clamp(20px,3vw,44px);font-size:11px;font-weight:600}.nav>a:not(.nav-cta){position:relative;padding:10px 0}.nav>a:not(.nav-cta):after{content:"";position:absolute;left:0;bottom:3px;width:0;height:1px;background:var(--rust);transition:width .25s}.nav>a:hover:after{width:100%}.nav-cta{padding:13px 18px;background:var(--ink);color:#fff8ee;letter-spacing:.02em}.nav-cta span,.btn span{margin-left:15px}.menu-toggle{display:none}.hero{min-height:570px;height:min(680px,75vw);max-height:760px;position:relative;display:flex;align-items:center;overflow:hidden;background:#33231a}.hero-image{position:absolute;inset:0;background:url("local-restaurante.png") center 54%/cover no-repeat;transform:scale(1.02);animation:slowZoom 1.2s ease-out both}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#1d1712e8 0%,#1d1712c4 38%,#1d171230 77%),linear-gradient(0deg,#1d17126b,transparent 38%)}.hero-content{position:relative;z-index:1;width:min(580px,75%);margin-left:10vw;padding:70px 0;color:#fff7ed;animation:rise .8s ease both}.eyebrow{display:flex;align-items:center;gap:10px;font-size:9px;letter-spacing:.19em;font-weight:700;margin:0 0 20px}.eyebrow>span{display:inline-block;width:24px;height:1px;background:var(--gold)}h1,h2,h3,p{margin-top:0}h1,h2{font-family:"Playfair Display",serif;font-weight:500;letter-spacing:-.045em}h1{font-size:clamp(46px,6.2vw,82px);line-height:.99;margin-bottom:22px}h1 em,h2 em{font-weight:400;color:#d6ad6d} .hero-copy{font-size:13px;line-height:1.9;color:#f0e4d6;max-width:425px;margin-bottom:27px}.actions{display:flex;gap:10px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:space-between;min-height:46px;padding:0 19px;font-size:10px;letter-spacing:.04em;font-weight:700;transition:transform .2s,background .2s,color .2s}.btn:hover{transform:translateY(-2px)}.btn-dark{background:var(--rust);color:#fff8ef}.btn-dark:hover{background:#782817}.btn-light{border:1px solid #fff9;padding-inline:18px;color:white}.hero-note{display:flex;align-items:center;gap:12px;margin-top:54px;font-size:8px;letter-spacing:.18em;color:#e8d8c5}.note-line{width:38px;height:1px;background:var(--gold)}.hero-index{position:absolute;z-index:2;right:7vw;bottom:29px;color:#fff4e6;font-size:10px;letter-spacing:.1em}.hero-index span{color:var(--gold);padding:0 7px}.section{padding:100px 10vw}.welcome{display:grid;grid-template-columns:.7fr 1.15fr 1fr;align-items:center;gap:5vw;background:var(--cream)}.welcome-mark{width:100%;max-width:180px;aspect-ratio:1;border-radius:50%;overflow:hidden;background:#211b18;border:1px solid var(--gold);padding:3px;justify-self:center}.welcome-mark img{width:100%;height:100%;object-fit:cover;border-radius:50%}.welcome-text h2,.section-top h2,.feature h2,.visit h2{font-size:clamp(36px,4vw,56px);line-height:1.04;margin-bottom:20px}.welcome-text h2 em,.section-top h2 em,.visit h2 em{color:var(--rust)}.welcome-text>p:not(.eyebrow),.section-top>p,.feature-content>p:not(.eyebrow),.visit-copy>p:not(.eyebrow){font-size:12px;line-height:1.95;color:#6d6258}.text-link{display:inline-flex;gap:22px;align-items:center;margin-top:12px;font-size:10px;font-weight:700;border-bottom:1px solid var(--gold);padding-bottom:8px}.text-link span{font-size:16px;color:var(--rust)}.welcome-photo{height:330px;position:relative;overflow:hidden}.welcome-photo img{height:100%;width:100%;object-fit:cover;transition:transform .7s}.welcome-photo:hover img{transform:scale(1.04)}.photo-caption{position:absolute;bottom:0;left:0;background:var(--rust);color:white;padding:12px 15px;font-size:8px;letter-spacing:.17em}.menu-section{background:var(--paper)}.section-top{display:flex;align-items:end;justify-content:space-between;gap:40px;margin-bottom:36px}.section-top h2{margin-bottom:0}.section-top>p{max-width:310px;margin:0 0 5px}.menu-cards{border-top:1px solid var(--line)}.menu-card{display:grid;grid-template-columns:70px 1fr 35px;align-items:center;gap:20px;padding:22px 10px;border-bottom:1px solid var(--line);transition:padding .25s,background .25s}.menu-card:hover{padding-left:18px;padding-right:18px;background:#f4eee5}.dish-number{font-size:10px;color:var(--rust);letter-spacing:.1em}.menu-card h3{font-family:"Playfair Display",serif;font-weight:500;font-size:22px;margin:0 0 5px}.menu-card p{font-size:11px;color:var(--muted);margin:0}.card-arrow{font-size:20px;color:var(--rust);justify-self:end}.menu-disclaimer{font-size:9px;line-height:1.6;color:#8d8175;margin:18px 0 0}.feature{min-height:440px;position:relative;display:flex;align-items:center;background:#241a14;color:#fff6e9;overflow:hidden}.feature-photo{position:absolute;inset:0;background:linear-gradient(90deg,#211812ee,#211812b8 55%,#21181248),url("local-restaurante.png") center 60%/cover no-repeat}.feature-content{position:relative;padding:80px 10vw;max-width:780px}.feature h2{font-size:clamp(38px,5vw,64px)}.feature-content>p:not(.eyebrow){max-width:420px;color:#e4d6c6;font-size:12px;line-height:1.9;margin-bottom:24px}.btn-cream{background:var(--cream);color:var(--ink)}.visit{display:grid;grid-template-columns:1fr .8fr;gap:10vw;background:var(--cream);align-items:center}.visit h2 em{color:var(--rust)}.visit-copy>p:not(.eyebrow){max-width:380px;margin-bottom:24px}.visit-details{border-top:1px solid var(--line)}.visit-details>div{padding:19px 0;border-bottom:1px solid var(--line)}.visit-details span{font-size:8px;letter-spacing:.18em;color:var(--rust);font-weight:700}.visit-details p{font-size:12px;margin:8px 0 0}.visit-details .small-note{font-size:9px;line-height:1.6;color:var(--muted);border:0;margin-top:12px}.footer{min-height:100px;padding:20px 7vw;background:#211b18;color:#eee1d0;display:flex;align-items:center;gap:25px;justify-content:space-between}.footer-logo{width:48px;height:48px;border:1px solid var(--gold);border-radius:50%;overflow:hidden}.footer-logo img{width:100%;height:100%;object-fit:cover}.footer p{font-family:"Playfair Display",serif;font-size:15px;margin:0 auto 0 0}.footer>a:not(.footer-logo){font-size:8px;letter-spacing:.12em}.footer small{font-size:8px;color:#b8a99a}@keyframes slowZoom{from{transform:scale(1.08)}to{transform:scale(1.02)}}@keyframes rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@media(max-width:900px){.section{padding:75px 7vw}.welcome{grid-template-columns:.45fr 1fr;gap:35px}.welcome-mark{max-width:125px;grid-column:1}.welcome-text{grid-column:2}.welcome-photo{grid-column:1/-1;height:300px}.hero-content{margin-left:7vw}.section-top{gap:25px}.feature-content{padding-inline:7vw}}@media(max-width:650px){.announcement{font-size:7px;letter-spacing:.12em}.header{height:68px;padding:0 5vw}.header.scrolled{height:60px}.logo{width:55px;height:55px}.menu-toggle{display:flex;flex-direction:column;gap:5px;border:0;background:transparent;padding:10px;z-index:31}.menu-toggle span{display:block;width:23px;height:1px;background:var(--ink);transition:transform .2s}.nav{position:fixed;inset:0;background:var(--paper);display:flex;flex-direction:column;justify-content:center;gap:25px;visibility:hidden;opacity:0;transition:opacity .2s;z-index:30;font-size:15px}.nav.open{visibility:visible;opacity:1}.menu-toggle.open span:first-child{transform:translateY(3px) rotate(45deg)}.menu-toggle.open span:last-child{transform:translateY(-3px) rotate(-45deg)}.nav-cta{margin-top:6px}.hero{height:auto;min-height:640px;max-height:none;align-items:center}.hero-image{background-position:57% center}.hero:after{background:linear-gradient(90deg,#1d1712e8,#1d1712a6 70%,#1d171250),linear-gradient(0deg,#1d17126b,transparent 40%)}.hero-content{width:86%;margin:0 auto;padding:90px 0 85px}.hero h1{font-size:clamp(43px,12vw,64px)}.hero-copy{font-size:12px;max-width:350px}.hero-note{margin-top:35px}.hero-index{right:7vw;bottom:20px}.section{padding:62px 6vw}.welcome{grid-template-columns:1fr;gap:28px}.welcome-mark{display:none}.welcome-text{grid-column:auto}.welcome-photo{grid-column:auto;height:240px}.welcome-text h2,.section-top h2,.visit h2{font-size:clamp(35px,10vw,48px)}.section-top{display:block;margin-bottom:25px}.section-top>p{margin-top:18px}.menu-card{grid-template-columns:32px 1fr 22px;gap:12px;padding:19px 2px}.menu-card h3{font-size:19px}.menu-card p{font-size:10px;line-height:1.6}.feature{min-height:410px}.feature-photo{background-position:58% center}.feature-content{padding:65px 6vw}.feature h2{font-size:clamp(35px,10vw,50px)}.visit{grid-template-columns:1fr;gap:36px}.footer{padding:22px 6vw;flex-wrap:wrap;gap:15px}.footer p{font-size:13px}.footer>a:not(.footer-logo){display:none}.footer small{width:100%}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}

/* Scroll effects and refined interactions */
html { scroll-behavior: smooth; }
body { overflow-x: hidden; }
.hero-image { will-change: transform; }
.hero-content { will-change: transform, opacity; }
.menu-card { position: relative; overflow: hidden; }
.menu-card::before {
  content: ""; position: absolute; inset: 0 auto 0 0; width: 2px;
  background: var(--rust); transform: scaleY(0); transform-origin: bottom;
  transition: transform .35s ease;
}
.menu-card:hover::before { transform: scaleY(1); }
.nav a, .text-link, .btn, .menu-card { -webkit-tap-highlight-color: transparent; }
.reveal-on-scroll {
  opacity: 0; transform: translateY(28px);
  transition: opacity .75s cubic-bezier(.2,.65,.3,1), transform .75s cubic-bezier(.2,.65,.3,1);
  transition-delay: var(--reveal-delay, 0ms);
}
.reveal-on-scroll.is-visible { opacity: 1; transform: translateY(0); }
.reveal-from-left { transform: translateX(-28px); }
.reveal-from-right { transform: translateX(28px); }
.reveal-from-left.is-visible, .reveal-from-right.is-visible { transform: translateX(0); }
.header { transition: height .28s ease, box-shadow .28s ease, background .28s ease; }
.header.scrolled { backdrop-filter: blur(12px); background: rgba(251,248,242,.94); }
.hero-image { transition: filter .4s ease; }
.btn span, .card-arrow { display: inline-block; transition: transform .25s ease; }
.btn:hover span, .menu-card:hover .card-arrow { transform: translate(3px,-2px); }
.welcome-photo img { will-change: transform; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; }
  .reveal-on-scroll { opacity: 1 !important; transform: none !important; }
}

.nav a.active:not(.nav-cta) { color: var(--rust); }
body.menu-open { overflow: hidden; }


/* Premium motion details */
:root { --scroll-progress: 0%; }
body::before {
  content:""; position:fixed; top:0; left:0; width:var(--scroll-progress); height:2px;
  background:linear-gradient(90deg,var(--rust),var(--gold)); z-index:1000; pointer-events:none;
}
.hero-image { transform-origin:center; }
.hero::after { transition:opacity .5s ease; }
.hero-content .eyebrow { animation:fadeSlide .7s .12s both; }
.hero-content h1 { animation:fadeSlide .8s .22s both; }
.hero-content .hero-copy { animation:fadeSlide .8s .34s both; }
.hero-content .actions { animation:fadeSlide .8s .44s both; }
.btn { position:relative; overflow:hidden; isolation:isolate; }
.btn::before { content:""; position:absolute; inset:0; background:#ffffff18; transform:translateX(-105%); transition:transform .45s cubic-bezier(.2,.7,.2,1); z-index:-1; }
.btn:hover::before { transform:translateX(0); }
.menu-card { transform-style:preserve-3d; }
.welcome-photo, .feature { isolation:isolate; }
.welcome-photo::after { content:""; position:absolute; inset:0; border:1px solid #fff5; pointer-events:none; opacity:0; transform:scale(.96); transition:opacity .4s,transform .4s; }
.welcome-photo:hover::after { opacity:1; transform:scale(1); }
.nav a.active:not(.nav-cta)::after { width:100%; }
@keyframes fadeSlide { from { opacity:0; transform:translateY(14px); } to { opacity:1; transform:translateY(0); } }
@media (hover:hover) and (pointer:fine) {
  .menu-card { transition:padding .3s,background .3s,transform .3s,box-shadow .3s; }
  .menu-card:hover { box-shadow:0 10px 30px #241b1408; }
}


/* Chef-led editorial hero: clean layout inspired by the supplied reference */
.hero {
  min-height: 610px;
  height: min(700px, 75vw);
  max-height: 760px;
  background: var(--paper);
  color: var(--ink);
}
.hero-image {
  left: auto;
  right: 0;
  width: 56%;
  height: 100%;
  background-image: url("cozinheiro-raizes.png");
  background-position: 57% center;
  background-size: cover;
  border-radius: 48% 0 0 48% / 55% 0 0 55%;
  transform: scale(1.015);
  animation: chefReveal 1.1s cubic-bezier(.2,.7,.2,1) both;
}
.hero::after {
  background: linear-gradient(90deg, var(--paper) 0%, #fbf8f2f7 37%, #fbf8f200 62%),
              linear-gradient(0deg, #21181230, transparent 35%);
  pointer-events: none;
}
.hero-content {
  width: min(540px, 51%);
  margin-left: 8vw;
  padding: 58px 0;
  color: var(--ink);
}
.hero h1 { font-size: clamp(43px, 5.4vw, 72px); }
.hero h1 em { color: var(--rust); }
.hero-copy { color: #6f6257; max-width: 390px; }
.hero-note { color: #82756a; }
.hero-note .note-line { background: var(--rust); }
.hero-index { color: #5c5046; }
.hero-index span { color: var(--rust); }
.hero .btn-dark { background: var(--rust); }
.hero .btn-light { background: #fffdf9; color: var(--ink); border: 1px solid #e6dbcf; }
.hero .btn-light:hover { background: #eee3d6; }
.feature-photo {
  background-image: linear-gradient(90deg,#211812e8,#21181288 58%,#21181218),url("cozinheiro-raizes.png");
  background-position: center, 55% 44%;
}
@keyframes chefReveal {
  from { opacity: 0; clip-path: inset(0 0 0 18%); transform: scale(1.07); }
  to { opacity: 1; clip-path: inset(0 0 0 0); transform: scale(1.015); }
}
@media (max-width: 760px) {
  .hero { min-height: 740px; height: auto; max-height: none; align-items: flex-start; }
  .hero-image {
    top: auto; bottom: 0; left: 0; right: 0;
    width: 100%; height: 48%;
    border-radius: 44% 44% 0 0 / 18% 18% 0 0;
    background-position: 55% 42%;
  }
  .hero::after {
    background: linear-gradient(180deg,var(--paper) 0%,#fbf8f2 42%,#fbf8f200 72%),
                linear-gradient(0deg,#21181224,transparent 25%);
  }
  .hero-content { width: auto; margin: 0 7vw; padding: 55px 0 0; }
  .hero h1 { font-size: clamp(42px, 11vw, 60px); }
  .hero-copy { max-width: 440px; }
  .hero-note { margin-top: 20px; }
  .hero-index { bottom: 16px; right: 7vw; color: #fff7ed; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-image { animation: none !important; }
}
