@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;500;600;650;700;750;800&family=Playfair+Display:ital,wght@0,500;0,600;0,700;1,500;1,600&display=swap');

:root{
	--wine:#831831;
	--wine-dark:#601125;
	--gold:#bea16c;
	--cream:#f7f4ee;
	--ink:#312d2a;
	--muted:#817a74;
	--line:#e7e1d8
}
*{
	box-sizing:border-box
}
html{
	scroll-behavior:smooth;
	scroll-padding-top:30px
}
body{
	margin:0;
	font:14px 'Montserrat',sans-serif;
	color:var(--ink);
	background:white;
	-webkit-font-smoothing:antialiased
}
a{
	color:inherit;
	text-decoration:none
}
button{
	font:inherit;
	cursor:pointer;
	border:0
}
a,button{
	outline-offset:5px
}
img{
	display:block;
	max-width:100%
}
h1,h2,h3,p{
	margin-top:0
}
.container{
	width:min(1160px,88%);
	margin-inline:auto
}
.contact-bar{
	background:var(--gold);
	color:white;
	font-size:10px;
	min-height:40px;
	display:flex;
	align-items:center
}
.contact-bar>.container{
	display:flex;
	align-items:center;
	justify-content:space-between
}
.contact-bar i{
	margin-right:8px
}
.contact-bar strong{
	font-weight:600
}
.top-right{
	display:flex;
	align-items:center;
	gap:19px
}
.top-right>span{
	font-size:9px;
	color:#fffdf4c7
}
.top-right>a{
	font-size:13px
}
.site-header{
	position:absolute;
	top:40px;
	left:0;
	right:0;
	z-index:5;
	color:white
}
.header-inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:35px;
	padding-block:24px
}
.brand{
	width:133px;
	height:96px;
	flex-shrink:0;
	display:flex;
	flex-direction:column;
	align-items:center;
	justify-content:center;
	border:3px solid var(--gold);
	border-radius:50%;
	background:var(--wine);
	color:#fff4de;
	box-shadow:0 0 0 4px #83183145;
	position:relative;
	transform:rotate(-4deg)
}
.brand-name{
	font:italic 46px 'Playfair Display',Georgia,serif;
	line-height:.95;
	letter-spacing:-2px
}
.brand-ribbon{
	font-size:6px;
	color:var(--wine-dark);
	background:#fcf7eb;
	display:block;
	transform:rotate(3deg);
	padding:4px 12px;
	margin-top:5px
}
.brand-bottom{
	font-size:4px;
	letter-spacing:.6px;
	margin-top:6px
}
nav{
	display:flex;
	align-items:center;
	gap:27px;
	font-size:11px;
	font-weight:600
}
nav>a{
	padding-block:12px;
	transition:color .2s
}
nav>a:hover{
	color:#e2c58f
}
nav>a>span{
	margin-left:4px
}
nav .nav-cta{
	border:1px solid #e4cfaa8c;
	border-radius:25px;
	padding:12px 17px;
	font-size:9px
}
nav .nav-cta i{
	margin-left:9px
}
.menu-toggle{
	display:none
}
.hero{
	height:720px;
	min-height:600px;
	max-height:900px;
	position:relative;
	display:flex;
	align-items:center;
	background:#38251c;
	overflow:hidden;
	color:white
}
.hero-image{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center 58%
}
.hero-overlay{
	position:absolute;
	inset:0;
	background:linear-gradient(180deg,#100b09a0 0%,#12090861 25%,#170c0b77 65%,#180c0ca3 100%)
}
.hero-content{
	position:relative;
	text-align:center;
	padding-top:95px;
	z-index:1
}
.hero-kicker{
	display:inline-block;
	font-size:10px;
	letter-spacing:4px;
	color:#ead9b7;
	margin-bottom:19px;
	font-weight:600
}
.hero h1{
	font-weight:750;
	font-size:73px;
	line-height:1.07;
	letter-spacing:-2.3px;
	margin-bottom:22px;
	text-shadow:0 2px 25px #0002
}
.hero h1 em{
	font-family:'Playfair Display',Georgia,serif;
	font-weight:500;
	color:#fff2dc
}
.hero-content>p{
	font-size:19px;
	line-height:1.6;
	font-weight:400;
	margin-bottom:29px;
	color:#f6f2e9
}
.button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:22px;
	background:var(--wine);
	color:white;
	border:2px solid var(--gold);
	border-radius:30px;
	padding:14px 27px;
	font-size:11px;
	font-weight:600;
	transition:background .2s,transform .2s
}
.button:hover{
	background:var(--wine-dark);
	transform:translateY(-2px)
}
.hero-button{
	border-width:3px
}
.button i{
	font-size:10px
}
.hero-bottom{
	position:absolute;
	bottom:29px;
	left:0;
	right:0;
	display:flex;
	justify-content:space-between;
	align-items:center;
	font-size:7px;
	letter-spacing:1.6px;
	color:#ede1c9
}
.hero-bottom>span{
	width:35%
}
.scroll-link{
	width:35%;
	text-align:right
}
.scroll-link span{
	margin-left:12px;
	font-size:17px
}
.slide-dots{
	display:flex;
	gap:9px
}
.slide-dots button{
	width:7px;
	height:7px;
	padding:0;
	border-radius:50%;
	background:#ffffff60;
	box-shadow:0 0 0 5px transparent
}
.slide-dots button.active{
	background:var(--gold);
	outline:1px solid #d8bd8c;
	outline-offset:4px
}
.slide-arrow{
	position:absolute;
	top:53%;
	background:transparent;
	color:#fff9;
	font-size:20px;
	padding:20px;
	z-index:2
}
.slide-arrow:hover{
	color:#fff
}
.slide-arrow.previous{
	left:20px
}
.slide-arrow.next{
	right:20px
}
.section{
	padding-block:85px
}
.eyebrow{
	display:block;
	color:#aa8751;
	letter-spacing:2.2px;
	font-weight:600;
	font-size:9px;
	margin-bottom:16px
}
.section-heading h2,.house h2{
	font:500 40px/1.28 'Playfair Display',Georgia,serif;
	margin-bottom:20px;
	letter-spacing:-1px
}
.section-heading h2 em,.house h2 em{
	font-weight:500;
	color:var(--wine)
}
.centered{
	text-align:center
}
.section-heading>p{
	color:var(--muted);
	font-size:11px;
	line-height:2;
	max-width:770px;
	margin:0 auto
}
.ornament{
	color:var(--gold);
	display:flex;
	justify-content:center;
	gap:15px;
	align-items:center;
	font-size:12px;
	margin:22px 0
}
.ornament i{
	font-size:16px
}
.values{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:0;
	margin-top:50px
}
.values article{
	position:relative;
	text-align:center;
	padding:8px 30px;
	border-right:1px solid var(--line)
}
.values article:last-child{
	border:0
}
.values article>i{
	font-size:27px;
	color:var(--wine);
	margin-bottom:20px
}
.value-number{
	position:absolute;
	right:20px;
	top:0;
	font:35px 'Playfair Display',serif;
	color:#e9e3da
}
.values h3{
	font:500 19px 'Playfair Display',serif;
	margin-bottom:12px
}
.values p{
	font-size:10px;
	color:var(--muted);
	line-height:1.9;
	margin:0 auto;
	max-width:260px
}
.menu-section{
	background:var(--cream)
}
.flavor-filters{
	display:flex;
	justify-content:center;
	gap:10px;
	margin:30px 0 35px
}
.flavor-filters button{
	background:transparent;
	border:1px solid #d8cfc1;
	border-radius:25px;
	color:#8b7d6b;
	padding:10px 20px;
	font-size:10px
}
.flavor-filters button.active{
	background:var(--wine);
	border-color:var(--wine);
	color:white
}
.pizza-grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:27px
}
.pizza-card{
	background:white;
	border:1px solid #eae3d9;
	box-shadow:0 5px 20px #3c271405
}
.pizza-photo{
	position:relative;
	overflow:hidden
}
.pizza-photo img{
	height:210px;
	width:100%;
	object-fit:cover;
	transition:transform .4s
}
.pizza-card:hover .pizza-photo img{
	transform:scale(1.04)
}
.pizza-photo>span{
	position:absolute;
	bottom:13px;
	left:16px;
	background:#831831e8;
	color:#fff4da;
	padding:6px 10px;
	font-size:7px;
	text-transform:uppercase;
	letter-spacing:1px
}
.pizza-info{
	padding:23px
}
.pizza-info h3{
	font:500 23px 'Playfair Display',serif;
	margin-bottom:12px
}
.pizza-info>p{
	font-size:10px;
	line-height:1.8;
	color:var(--muted);
	min-height:36px;
	margin-bottom:19px
}
.flavor-detail{
	display:flex;
	justify-content:space-between;
	align-items:center;
	width:100%;
	padding:12px 0 0;
	background:none;
	color:var(--wine);
	font-size:9px;
	font-weight:600;
	border-top:1px solid var(--line);
	text-transform:uppercase;
	letter-spacing:.8px
}
.flavor-detail>i{
	font-size:10px
}
.menu-note{
	text-align:center;
	font-size:9px;
	color:#968b7b;
	line-height:1.8;
	margin:30px 0 0
}
.house-grid{
	display:grid;
	grid-template-columns:1.05fr 1fr;
	gap:75px;
	align-items:center
}
.house-photo{
	position:relative;
	padding:0 25px 25px 0
}
.house-photo::after{
	content:'';
	position:absolute;
	inset:24px 0 0 25px;
	border:1px solid var(--gold);
	z-index:-1
}
.house-photo>img{
	height:390px;
	width:100%;
	object-fit:cover
}
.photo-caption{
	position:absolute;
	bottom:25px;
	left:0;
	right:25px;
	padding:60px 25px 25px;
	background:linear-gradient(transparent,#231510c9);
	color:#fff8ea
}
.photo-caption span{
	display:block;
	font-size:7px;
	letter-spacing:2px;
	color:#ddc59e;
	margin-bottom:9px
}
.photo-caption strong{
	font:italic 23px 'Playfair Display',serif;
	font-weight:400
}
.house-copy>p{
	font-size:11px;
	line-height:2;color:var(--muted);
	margin-bottom:20px
}
.house-copy .button{
	margin-top:8px
}
.highlights{
	background:#faf9f6;
	border-top:1px solid var(--line)
}
.highlight-grid{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:25px;
	margin-top:38px
}
.highlight-main{
	position:relative;
	min-height:440px;
	overflow:hidden;
	color:white;
	background:#442a1e
}
.highlight-main>img{
	height:100%;
	width:100%;
	object-fit:cover;
	position:absolute
}
.highlight-main>div{
	position:relative;
	padding:160px 35px 30px;
	background:linear-gradient(transparent,#261812df);
	height:100%;
	display:flex;
	flex-direction:column;
	justify-content:flex-end
}
.highlight-main h3{
	font:36px 'Playfair Display',serif;
	margin-bottom:14px
}
.highlight-main .eyebrow{
	color:#dcc396;
	font-size:8px
}
.highlight-main p{
	font-size:11px;
	line-height:1.8;
	max-width:330px;
	color:#eee5db
}
.flavor-detail.light{
	color:#ebd1a4;
	border-top-color:#ffffff30;
	max-width:170px
}
.highlight-side{
	display:flex;
	flex-direction:column;
	gap:25px
}
.highlight-side article{
	display:grid;
	grid-template-columns:42% 1fr;
	background:white;
	border:1px solid var(--line);
	flex:1
}
.highlight-side article>img{
	height:100%;
	min-height:200px;
	width:100%;
	object-fit:cover
}
.highlight-side article>div{
	padding:25px
}
.highlight-side .eyebrow{
	font-size:7px;
	letter-spacing:1px
}
.highlight-side h3{
	font:23px 'Playfair Display',serif;
	line-height:1.2;
	margin-bottom:13px
}
.highlight-side p{
	font-size:10px;
	color:var(--muted);
	line-height:1.8
}
.invitation{
	position:relative;
	background:linear-gradient(#541027df,#541027df),url('../painel/fotos/Marguerita.jpg') center/cover;
	text-align:center;
	padding:75px 0;
	color:#fff5e1
}
.invitation .eyebrow{color:#d7bd91}
.invitation h2{
	font:500 48px/1.2 'Playfair Display',serif;
	margin-bottom:20px
}
.invitation h2 em{
	color:#dfc191;
	font-weight:500
}
.invitation p{
	color:#dcbec4;
	font-size:11px;
	margin-bottom:28px
}
.button.gold{
	background:var(--gold);
	border-color:var(--gold);
	color:#5d1427
}
.button.gold:hover{
	background:#d1b47e
}
.contact-grid{
	display:grid;
	grid-template-columns:repeat(4,1fr);
	gap:25px;
	margin-top:40px
}
.contact-grid article{
	border:1px solid var(--line);
	text-align:center;
	padding:30px 17px;
	min-height:190px
}
.contact-grid article>i{
	font-size:25px;
	color:var(--wine);
	margin-bottom:20px
}
.contact-grid h3{
	font:500 17px 'Playfair Display',serif;
	margin-bottom:14px
}
.contact-grid p{
	font-size:10px;
	color:var(--muted);
	line-height:1.9;
	margin-bottom:12px;
	overflow-wrap:anywhere
}
.contact-link{
	font-size:9px;
	color:var(--wine);
	text-decoration:underline
}
.contact-example{
	font-size:8px;
	color:#ab9c89
}
footer{
	background:#231d1c;
	color:#b4aaa0;
	padding-top:55px
}
.footer-grid{
	display:grid;
	grid-template-columns:1fr 1fr 1.2fr 1.2fr;
	gap:45px;padding-bottom:45px
}
.footer-grid>.brand{
	margin-top:5px
}
.footer-grid h3{
	color:#e7d6bb;
	font:500 16px 'Playfair Display',serif;
	margin-bottom:20px
}
.footer-grid>div>a{
	display:block;
	font-size:10px;
	line-height:2.4
}
.footer-grid p{
	font-size:10px;
	line-height:1.9
}
.back-top{color:#c4a67a}
.footer-bottom{
	display:flex;
	justify-content:space-between;
	border-top:1px solid #ffffff15;
	padding-block:21px;
	font-size:8px;color:#8d8278
}
.quick-links{
	position:fixed;
	right:24px;
	bottom:22px;
	z-index:6;
	display:flex;
	flex-direction:column;
	align-items:flex-end;
	gap:11px
}
.quick-contact{
	display:grid;
	place-items:center;
	width:48px;
	height:48px;
	background:#2aa66a;
	color:white;
	border-radius:50%;
	font-size:26px;
	box-shadow:0 3px 15px #0002
}
.quick-menu{
	background:var(--wine);
	color:white;
	border:1px solid #d5b57b80;
	border-radius:25px;
	padding:12px 19px;
	font-size:9px;
	box-shadow:0 3px 15px #0002
}
.quick-menu i{margin-right:8px}
.skip-link{
	position:fixed;
	top:-100px;
	background:var(--wine);
	color:white;
	padding:15px;
	z-index:100
}
.skip-link:focus{top:0}
dialog{
	border:1px solid #d3b783;
	border-radius:6px;
	background:var(--cream);
	color:var(--ink);
	padding:40px;
	width:min(450px,92vw);
	box-shadow:0 10px 80px #0004
}
dialog::backdrop{
	background:#21101190;
	backdrop-filter:blur(4px)
}
dialog h2{
	font:500 35px 'Playfair Display',serif;
	margin-bottom:20px
}
dialog p{
	font-size:12px;
	line-height:1.8;
	color:var(--muted)
}
dialog .eyebrow{
	font-size:8px;
	color:#aa8751
}
.ingredient-note{
	font-size:10px!important;
	margin:25px 0
}
.dialog-close{
	position:absolute;
	right:15px;
	top:10px;
	background:none;
	font-size:27px;
	color:#8d6e60
}
[hidden]{
	display:none!important
}
@media(min-width:1500px){
	.hero{height:790px}
	.hero h1{font-size:85px}
}
@media(max-width:1100px){
	nav{gap:19px;font-size:10px}
	nav .nav-cta{display:none}
	.hero h1{font-size:65px}
	.house-grid{gap:40px}
	.house h2{font-size:34px}
	.highlight-side article>div{padding:20px}
	.contact-grid{gap:15px}
	.contact-grid h3{font-size:15px}
	.contact-grid p{font-size:9px}
	.footer-grid{gap:25px}
}
@media(max-width:750px){
	.contact-bar{
		min-height:36px;
		font-size:8px
	}
	.top-right{gap:12px}
	.top-right>span{display:none}
	.site-header{top:36px}
	.header-inner{
		padding-block:20px;
		position:relative;
		flex-wrap:wrap;gap:0
	}
	.brand{
		width:103px;
		height:77px;
		border-width:2px
	}
	.brand-name{
		font-size:36px
	}
	.brand-ribbon{
		font-size:5px;padding:3px 9px
	}
	.brand-bottom{font-size:3px;margin-top:4px}
	.menu-toggle{
		display:block;
		color:white;
		background:#ffffff12;
		border:1px solid #ffffff40;
		border-radius:3px;
		padding:10px;
		font-size:19px
	}
	.site-header nav{
		display:none;
		flex-basis:100%;
		flex-direction:column;
		align-items:stretch;
		gap:0;background:#601125f5;
		border:1px solid #bca16a66;
		margin-top:17px;
		padding:12px 20px;
		box-shadow:0 10px 30px #0003
	}
	.site-header nav.open{display:flex}
	.site-header nav>a{
		padding:13px 0;
		font-size:12px;
		border-bottom:1px solid #ffffff15
	}
	.site-header nav .nav-cta{
		display:block;
		border:0;
		border-radius:0;
		color:#e2c08b
	}
	.hero{
		height:680px;
		min-height:580px;
		max-height:none
	}
	.hero-content{
		padding-top:95px
	}
	.hero-image{
		object-position:center
	}
	.hero h1{
		font-size:54px;
		line-height:1.12;
		letter-spacing:-1.5px
	}
	.hero-kicker{
		font-size:8px;
		letter-spacing:3px
	}
	.hero-content>p{
		font-size:15px;
		line-height:1.7
	}
	.slide-arrow{
		font-size:13px;
		padding:10px;
		top:55%
	}
	.slide-arrow.previous{left:4px}
	.slide-arrow.next{right:4px}
	.hero-bottom{bottom:25px;justify-content:center}
	.hero-bottom>span,.scroll-link{display:none}
	.button{font-size:10px;padding:13px 23px}
	.section{padding-block:60px}
	.section-heading h2{font-size:32px}
	.eyebrow{font-size:8px;letter-spacing:1.7px}
	.section-heading>p{font-size:10px}
	.section-heading>p br{display:none}
	.values{grid-template-columns:1fr;margin-top:30px;gap:25px}
	.values article{border:0;border-bottom:1px solid var(--line);padding:10px 20px 25px}
	.values article:last-child{padding-bottom:0}
	.values p{max-width:330px}
	.value-number{right:15px}
	.pizza-grid{
		grid-template-columns:repeat(2,1fr);
		gap:17px}.pizza-photo img{height:170px
	}
	.pizza-info{padding:18px 15px}
	.pizza-info h3{font-size:21px;min-height:50px}
	.pizza-info p{font-size:9px;min-height:48px}
	.pizza-photo>span{font-size:6px;left:10px;bottom:10px}
	.flavor-filters{gap:7px}
	.flavor-filters button{font-size:8px;padding:10px 13px}
	.house-grid{grid-template-columns:1fr;gap:30px}
	.house-photo>img{height:350px}
	.house h2{font-size:35px}
	.house-copy p{font-size:11px}
	.highlight-grid{grid-template-columns:1fr}
	.highlight-main{min-height:390px}
	.highlight-side article>img{min-height:180px}
	.highlight-side h3{font-size:22px}
	.invitation{padding-block:60px}
	.invitation h2{font-size:38px}
	.contact-grid{grid-template-columns:repeat(2,1fr);gap:15px;margin-top:30px}
	.contact-grid article{padding:25px 13px;min-height:190px}
	.contact-grid h3{font-size:17px}
	.contact-grid p{font-size:9px}
	.footer-grid{grid-template-columns:1fr 1fr;gap:30px}
	.footer-grid>div>a,.footer-grid p{font-size:9px}
	.footer-bottom{
		gap:15px;
		flex-direction:column;
		padding-bottom:28px;
		padding-right:80px;
		line-height:1.8
	}
	.quick-links{right:15px;bottom:15px;gap:8px}
	.quick-contact{width:43px;height:43px;font-size:23px}
	.quick-menu{font-size:8px;padding:10px 14px}
}
@media(max-width:390px){
	.hero h1{font-size:45px}
	.hero{height:620px}
	.pizza-grid{grid-template-columns:1fr}
	.pizza-photo img{height:230px}
	.pizza-info h3,.pizza-info p{min-height:0}
	.contact-grid{grid-template-columns:1fr}
	.contact-grid article{min-height:0}
	.flavor-filters button{font-size:7px;padding:9px 10px}
	.highlight-side article{grid-template-columns:38% 1fr}
	.highlight-side article>div{padding:17px}
	.highlight-side h3{font-size:20px}
}
@media(prefers-reduced-motion:reduce){
	html{scroll-behavior:auto}
	*,*::before,*::after{transition:none!important}
}



