:root { --cream:#f6f0e6; --ink:#25342a; --green:#375443; --coral:#c85d45; --gold:#d9a755; --paper:#fffdf8; }
* { box-sizing:border-box; } html { scroll-behavior:smooth; } body { margin:0; color:var(--ink); background:var(--cream); font-family:"DM Sans", sans-serif; } .container { width:min(1120px, calc(100% - 48px)); margin:auto; } h1,h2,h3,p { margin:0; } h1,h2 { font-family:"Playfair Display", serif; line-height:.98; letter-spacing:-.045em; } h1 { font-size:clamp(3.6rem, 7.2vw, 6.5rem); color:#fffaf1; } h2 { font-size:clamp(2.6rem, 4.6vw, 4.25rem); } em { color:var(--gold); font-weight:inherit; } .eyebrow { text-transform:uppercase; letter-spacing:.15em; font-size:.7rem; font-weight:700; color:var(--coral); margin-bottom:19px; } .hero { min-height:780px; position:relative; overflow:hidden; background:radial-gradient(circle at 77% 50%, rgba(227,172,83,.43), transparent 18%), linear-gradient(113deg, rgba(17,42,31,.89), rgba(33,73,52,.73)), url('https://images.unsplash.com/photo-1515003197210-e0cd71810b5f?auto=format&fit=crop&w=1800&q=85') center/cover; } .hero:after { content:""; position:absolute; inset:auto -80px -180px auto; width:420px; height:420px; border:1px solid rgba(255,255,255,.22); border-radius:50%; } .nav { height:105px; display:flex; align-items:center; justify-content:space-between; position:relative; z-index:1; } .logo { font-family:"Playfair Display",serif; text-decoration:none; color:var(--ink); font-size:1.65rem; font-weight:700; letter-spacing:-.07em; } .hero .logo { color:#fffaf1; } .logo em { font-style:italic; } .nav-links { display:flex; align-items:center; gap:29px; } .nav-links a { color:#fffaf1; font-size:.86rem; text-decoration:none; } .button { display:inline-flex; align-items:center; gap:17px; background:var(--coral); color:#fff; text-decoration:none; padding:16px 22px; border-radius:2px; font-weight:700; font-size:.86rem; } .button span { font-size:1.2rem; } .button-small { padding:12px 16px; } .menu-button { display:none; border:0; background:transparent; color:#fff; font-size:1.7rem; } .hero-content { position:relative; z-index:1; padding-top:138px; } .hero-content .eyebrow { color:#f7c677; } .hero-copy { color:#fffaf1; font-size:1.08rem; line-height:1.65; max-width:425px; margin:28px 0 32px; } .hero-actions { display:flex; align-items:center; gap:26px; } .text-link { color:var(--ink); font-weight:700; font-size:.87rem; text-decoration:none; border-bottom:1px solid currentColor; padding-bottom:4px; } .hero .text-link { color:#fffaf1; } .hero-note { color:#fffaf1; position:absolute; bottom:36px; left:calc((100% - min(1120px, calc(100% - 48px)))/2); font-size:.76rem; letter-spacing:.04em; z-index:1; } .hero-note span { margin:0 10px; color:var(--gold); } .intro { display:grid; grid-template-columns:120px 1fr 1fr; gap:50px; align-items:center; padding:130px 0; } .intro-art { height:180px; background:var(--gold); color:var(--green); display:flex; flex-direction:column; align-items:center; justify-content:center; gap:5px; font-size:2.1rem; } .intro-copy { font-size:1.05rem; line-height:1.8; max-width:390px; } .menu-section { background:var(--paper); padding:105px 0 120px; } .section-heading { display:flex; justify-content:space-between; align-items:end; margin-bottom:46px; } .dishes { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; } .dish { height:430px; position:relative; overflow:hidden; background-size:cover; background-position:center; } .dish:before { content:""; position:absolute; inset:0; background:linear-gradient(transparent 44%, rgba(20,29,23,.85)); } .dish-1 { background-image:url('https://images.unsplash.com/photo-1476124369491-e7addf5db371?auto=format&fit=crop&w=800&q=85'); } .dish-2 { background-image:url('https://images.unsplash.com/photo-1532550907401-a500c9a57435?auto=format&fit=crop&w=800&q=85'); } .dish-3 { background-image:url('https://images.unsplash.com/photo-1488477181946-6428a0291777?auto=format&fit=crop&w=800&q=85'); } .dish-label { position:absolute; z-index:1; bottom:27px; left:25px; right:25px; color:#fffaf1; } .dish-label h3 { font-family:"Playfair Display",serif; font-size:1.55rem; letter-spacing:-.04em; } .dish-label p { font-size:.8rem; margin:6px 0 14px; opacity:.9; } .dish-label strong { font-size:.83rem; color:#f7c677; } .quote { background:var(--green); padding:110px 24px; text-align:center; color:#fffaf1; font-family:"Playfair Display",serif; font-size:clamp(2rem,4vw,3.8rem); line-height:1.16; letter-spacing:-.035em; } .visit { padding:120px 0; display:grid; grid-template-columns:1.05fr .95fr; min-height:500px; } .visit-card { padding:65px 10% 45px; background:#e6daca; } .details { display:flex; gap:50px; margin-top:42px; font-size:.88rem; line-height:1.7; } .details b { color:var(--coral); text-transform:uppercase; letter-spacing:.1em; font-size:.66rem; } .map-placeholder { background:linear-gradient(40deg,rgba(55,84,67,.14),rgba(255,255,255,.2)), repeating-linear-gradient(135deg,transparent 0 39px,rgba(55,84,67,.15) 40px 42px), #c6d4bc; display:grid; place-items:center; } .map-placeholder div { background:var(--paper); padding:19px 25px; box-shadow:0 7px 20px rgba(0,0,0,.1); text-align:center; } .map-placeholder span { color:var(--coral); font-size:1.5rem; } .map-placeholder p { font-size:.8rem; line-height:1.35; } .reservation { background:var(--coral); color:#fffaf1; } .reservation .eyebrow { color:#ffe0ad; } .reservation em { color:#ffe0ad; } .reservation-inner { min-height:330px; display:flex; align-items:center; justify-content:space-between; } .button-light { background:#fffaf1; color:var(--coral); } .footer { min-height:140px; display:flex; gap:25px; align-items:center; justify-content:space-between; font-size:.82rem; } .footer a:not(.logo) { color:var(--ink); font-weight:700; }
@media (max-width:720px) { .container { width:min(100% - 32px, 1120px); } .hero { min-height:700px; } .nav { height:82px; } .nav-links { display:none; position:absolute; top:70px; right:0; padding:20px; flex-direction:column; align-items:flex-start; background:var(--green); } .nav-links.open { display:flex; } .menu-button { display:block; } .hero-content { padding-top:105px; } .hero-note { left:16px; right:16px; bottom:24px; line-height:1.6; } .intro { grid-template-columns:1fr; gap:23px; padding:80px 0; } .intro-art { display:none; } .section-heading { align-items:flex-start; gap:18px; flex-direction:column; } .dishes { grid-template-columns:1fr; } .dish { height:350px; } .visit { padding:70px 0; grid-template-columns:1fr; } .visit-card { padding:45px 30px; } .map-placeholder { min-height:260px; } .details { flex-direction:column; gap:22px; } .reservation-inner { min-height:330px; padding:55px 0; align-items:flex-start; gap:36px; flex-direction:column; } .footer { padding:35px 0; align-items:flex-start; flex-direction:column; gap:14px; } }
.logo-image { display:block; width:135px; line-height:0; }
.logo-image img { display:block; width:100%; height:auto; mix-blend-mode:multiply; }
.hero .logo-image { background:#fff; border-radius:3px; padding:2px; }

/* Paleta inspirada em madeira, cobre e mesa posta */
:root { --cream:#eee0c8; --ink:#25170f; --green:#3f2417; --coral:#a84122; --gold:#d49a35; --paper:#fff8e9; }
body { background:var(--cream); }
.hero { min-height:820px; background:linear-gradient(90deg, rgba(37,20,12,.92) 0%, rgba(68,37,20,.72) 54%, rgba(79,42,22,.38) 100%), url('https://images.unsplash.com/photo-1515003197210-e0cd71810b5f?auto=format&fit=crop&w=1800&q=85') center/cover; }
.hero:after { border-color:rgba(232,194,121,.32); }
.nav { height:145px; }
.logo-image { width:228px; }
.logo-image img { mix-blend-mode:normal; }
.hero .logo-image { background:transparent; padding:0; border-radius:0; filter:drop-shadow(0 10px 13px rgba(0,0,0,.3)); }

.hero { background:linear-gradient(90deg, rgba(37,20,12,.92) 0%, rgba(68,37,20,.69) 51%, rgba(79,42,22,.2) 100%), url('assets/polvo-hero.jpg') center/cover; }
.hero-content { padding-top:110px; }
.hero-content .eyebrow, .eyebrow { color:#d49a35; }
.button { background:#a84122; border-radius:0; box-shadow:0 7px 0 rgba(57,28,15,.35); }
.button:hover { background:#8c341c; transform:translateY(1px); box-shadow:0 6px 0 rgba(57,28,15,.35); }
.menu-section { background:#fff8e9; }
.intro-art { background:#a84122; color:#f3c56c; }
.dish-label strong { color:#f3c56c; }
.quote { background:linear-gradient(110deg, #2d170e, #5b301a); color:#fff4df; }
.visit-card { background:#dfc49d; }
.details b { color:#943b20; }
.details a, .footer p a { color:inherit; font-weight:700; text-decoration:none; }
.details a:hover, .footer p a:hover { text-decoration:underline; }
.map-placeholder { background:linear-gradient(40deg,rgba(82,46,26,.18),rgba(255,250,235,.18)), repeating-linear-gradient(135deg,transparent 0 39px,rgba(83,45,25,.18) 40px 42px), #cda77a; }
.map-placeholder { color:var(--ink); text-decoration:none; cursor:pointer; }
.map-placeholder small { color:#943b20; font-size:.66rem; font-weight:700; letter-spacing:.06em; }
.reservation { background:linear-gradient(110deg, #492417, #783718); }
.reservation .eyebrow, .reservation em { color:#f0bf62; }
.button-light { background:#f4d092; color:#5f2817; box-shadow:0 7px 0 rgba(35,16,9,.32); }
.footer { color:#54301c; }
.footer .logo-image { width:175px; }
@media (max-width:720px) { .nav { height:108px; } .logo-image { width:162px; } .hero-content { padding-top:105px; } .footer .logo-image { width:165px; } }

.dishes { grid-template-columns:repeat(4, 1fr); }
.dish { height:390px; }
.dish-1 { background-image:url('assets/polvo-da-casa.jpg'); }
.dish-2 { background-image:url('assets/peixe-com-camarao.jpg'); }
.dish-3 { background-image:url('assets/peixe-grelhado.jpg'); }
.dish-4 { background-image:url('assets/pasteis-da-casa.jpg'); }
@media (max-width:900px) and (min-width:721px) { .dishes { grid-template-columns:repeat(2, 1fr); } }
@media (max-width:720px) { .dishes { grid-template-columns:1fr; } }

.menu-page { background:#e8d2ab; color:#321b10; }
.menu-page-header { max-width:1060px; margin:auto; padding:25px 24px 15px; display:flex; align-items:center; justify-content:space-between; }
.menu-page-header .logo-image { width:190px; }
.back-link { color:#6c3019; text-decoration:none; font-size:.86rem; font-weight:700; }
.menu-page-title { background:linear-gradient(125deg,#3e2014,#76411f); color:#fff5e5; padding:72px 24px 65px; text-align:center; }
.menu-page-title h1 { color:#fff5e5; font-size:clamp(2.8rem,6vw,5rem); }
.menu-page-title p:last-child { margin:19px auto 0; line-height:1.6; font-size:.95rem; }
.menu-page-title .eyebrow { color:#efbd5e; }
.menu-page-nav { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 20px; padding:22px; background:#f8ebd4; }
.menu-page-nav a { color:#6c3019; text-decoration:none; font-size:.78rem; font-weight:700; }
.menu-images { width:min(760px, calc(100% - 32px)); margin:42px auto 80px; display:grid; gap:32px; }
.menu-images img { width:100%; height:auto; display:block; box-shadow:0 14px 34px rgba(63,31,15,.22); }
@media (max-width:520px) { .menu-page-header .logo-image { width:150px; } .menu-page-header { padding:18px 16px 10px; } .menu-images { width:calc(100% - 20px); margin-top:24px; gap:20px; } }
