*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
	font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
	color:#1a1a1a;
	background:#faf8f5;
	line-height:1.6;
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

/* Typo */
h1,h2,h3,h4{font-family:'Cormorant Garamond',serif;font-weight:400;letter-spacing:-.5px;line-height:1.15}
.eyebrow{
	display:inline-block;
	font-size:11px;
	letter-spacing:3px;
	text-transform:uppercase;
	font-weight:500;
	color:rgba(255,255,255,.75);
	margin-bottom:24px;
}
.eyebrow.dark{color:#b08656}

/* Nav */
.nav{
	position:fixed;top:0;left:0;right:0;z-index:50;
	padding:22px 0;
	background:linear-gradient(to bottom,rgba(0,0,0,.45),transparent);
}
.nav__inner{
	max-width:1280px;margin:0 auto;padding:0 32px;
	display:flex;align-items:center;justify-content:space-between;
}
.brand{display:flex;align-items:center;gap:12px;color:#fff}
.brand__mark{
	width:36px;height:36px;border-radius:50%;
	background:#b08656;color:#fff;
	display:flex;align-items:center;justify-content:center;
	font-family:'Cormorant Garamond',serif;font-size:20px;font-weight:500;
}
.brand__name{font-family:'Cormorant Garamond',serif;font-size:22px;letter-spacing:.5px}
.nav__links{display:flex;gap:36px}
.nav__links a{color:#fff;font-size:14px;font-weight:400;opacity:.85;transition:opacity .2s}
.nav__links a:hover{opacity:1}

/* Hero */
.hero{
	position:relative;
	min-height:100vh;
	display:flex;align-items:center;justify-content:center;
	color:#fff;overflow:hidden;
	padding:120px 32px 80px;
}
.hero__bg{
	position:absolute;inset:0;
	background:url('https://images.unsplash.com/photo-1549366021-9f761d450615?w=2000&q=85') center/cover no-repeat;
	transform:scale(1.05);
	animation:slowZoom 20s ease-in-out infinite alternate;
}
@keyframes slowZoom{from{transform:scale(1.05)}to{transform:scale(1.15)}}
.hero__overlay{
	position:absolute;inset:0;
	background:linear-gradient(to bottom,rgba(20,15,10,.45) 0%,rgba(20,15,10,.25) 40%,rgba(20,15,10,.75) 100%);
}
.hero__content{
	position:relative;z-index:2;
	text-align:center;max-width:820px;
}
.hero h1{
	font-size:clamp(44px,7vw,84px);
	margin-bottom:28px;
	font-weight:300;
}
.hero p{
	font-size:17px;line-height:1.7;
	max-width:560px;margin:0 auto 40px;
	opacity:.88;font-weight:300;
}
.btn{
	display:inline-block;
	padding:16px 36px;
	border:1px solid rgba(255,255,255,.8);
	color:#fff;
	font-size:13px;letter-spacing:2px;text-transform:uppercase;
	font-weight:500;
	transition:all .3s ease;
	background:transparent;
}
.btn:hover{background:#fff;color:#1a1a1a}
.hero__scroll{
	position:absolute;bottom:32px;left:50%;transform:translateX(-50%);
	font-size:11px;letter-spacing:3px;text-transform:uppercase;
	opacity:.7;z-index:2;
}
.hero__scroll::after{
	content:"";display:block;width:1px;height:40px;
	background:#fff;margin:12px auto 0;opacity:.5;
}

/* Sections */
.section-head{text-align:center;max-width:680px;margin:0 auto 72px}
.section-head h2{font-size:clamp(36px,5vw,54px);margin-bottom:20px}
.section-head p{color:#5a5450;font-size:16px;font-weight:300}

/* Gallery */
.gallery{padding:120px 32px;max-width:1400px;margin:0 auto}
.grid{
	display:grid;
	grid-template-columns:repeat(3,1fr);
	grid-auto-rows:320px;
	gap:16px;
}
.card{
	position:relative;overflow:hidden;
	background:#2a2520;
}
.card.tall{grid-row:span 2}
.card.wide{grid-column:span 2}
.card img{
	width:100%;height:100%;object-fit:cover;
	transition:transform .8s ease;
}
.card:hover img{transform:scale(1.06)}
.card figcaption{
	position:absolute;bottom:0;left:0;right:0;
	padding:28px 24px 20px;
	background:linear-gradient(to top,rgba(0,0,0,.75),transparent);
	color:#fff;
	font-family:'Cormorant Garamond',serif;
	font-size:18px;letter-spacing:.5px;
	opacity:0;transform:translateY(10px);
	transition:all .4s ease;
}
.card:hover figcaption{opacity:1;transform:translateY(0)}

/* About */
.about{
	background:#1a1613;
	color:#e8e2db;
	padding:140px 32px;
}
.about__inner{
	max-width:1200px;margin:0 auto;
	display:grid;grid-template-columns:1fr 1fr;
	gap:80px;align-items:center;
}
.about__text h2{
	color:#fff;
	font-size:clamp(34px,4.5vw,48px);
	margin-bottom:28px;
}
.about__text p{
	margin-bottom:20px;
	font-size:16px;font-weight:300;
	color:#c4bcb2;
	line-height:1.8;
}
.about__img{overflow:hidden;aspect-ratio:4/5}
.about__img img{width:100%;height:100%;object-fit:cover}

/* Footer */
.footer{
	background:#0f0c0a;
	color:#a8a098;
	padding:80px 32px 30px;
}
.footer__inner{
	max-width:1200px;margin:0 auto;
	display:grid;
	grid-template-columns:2fr 1fr 1fr 1fr;
	gap:48px;
	padding-bottom:48px;
	border-bottom:1px solid rgba(255,255,255,.08);
}
.footer__brand .brand__mark{margin-bottom:16px}
.footer__brand h3{color:#fff;font-size:24px;margin-bottom:12px}
.footer__brand p{font-size:14px;max-width:320px;line-height:1.7}
.footer__col h4{
	color:#fff;
	font-family:'Inter',sans-serif;
	font-size:12px;letter-spacing:2px;text-transform:uppercase;
	font-weight:500;
	margin-bottom:18px;
}
.footer__col p{font-size:14px;margin-bottom:10px;line-height:1.6}
.footer__col a{transition:color .2s}
.footer__col a:hover{color:#b08656}
.footer__bottom{
	max-width:1200px;margin:0 auto;
	padding-top:28px;
	display:flex;justify-content:space-between;
	font-size:12px;color:#6a645c;
	flex-wrap:wrap;gap:12px;
}
.footer__bottom a{color:#a8a098;border-bottom:1px solid rgba(255,255,255,.2)}

/* Responsive */
@media (max-width:900px){
	.nav__links{display:none}
	.grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:260px}
	.card.wide{grid-column:span 2}
	.card.tall{grid-row:span 1}
	.about__inner{grid-template-columns:1fr;gap:48px}
	.footer__inner{grid-template-columns:1fr 1fr;gap:32px}
	.gallery{padding:80px 20px}
	.about{padding:80px 24px}
}
@media (max-width:560px){
	.grid{grid-template-columns:1fr;grid-auto-rows:280px}
	.card.wide{grid-column:span 1}
	.footer__inner{grid-template-columns:1fr}
	.hero{padding:100px 20px 60px}
}
