:root{
	--bpro-container:1400px;
	--bpro-space-1:.5rem;
	--bpro-space-2:1rem;
	--bpro-space-3:1.5rem;
	--bpro-space-4:2.5rem;
	--bpro-space-5:4rem;
	--bpro-space-6:6.5rem;
	--bpro-radius:0;
	--bpro-radius-sm:0;
	--bpro-font-display:"Cormorant Garamond",Georgia,serif;
	--bpro-font-body:"Outfit",system-ui,sans-serif;
	/* Aman reference: charcoal + linen (photos carry color) */
	--bpro-primary:#313131;
	--bpro-secondary:#252525;
	--bpro-accent:#8a8178;
	--bpro-bg:#f3eee7;
	--bpro-text:#313131;
	--bpro-heading:#313131;
	--bpro-paragraph:#404040;
	--bpro-span:#585858;
	--bpro-muted:#8a8178;
	--bpro-surface:#fffcf8;
	--bpro-border:#ddd7ce;
	--bpro-link:#313131;
	--bpro-link-hover:#8a8178;
	--bpro-button:#313131;
	--bpro-button-text:#f3eee7;
	--bpro-button-hover:#000000;
	--bpro-icon:#585858;
	--bpro-label:#585858;
	--bpro-ease:cubic-bezier(.22,1,.36,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
	margin:0;
	font-family:var(--bpro-font-body);
	color:var(--bpro-text);
	background:var(--bpro-bg);
	line-height:1.65;
	font-weight:400;
	letter-spacing:.01em;
	-webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block}
h1,h2,h3,h4,h5,h6{
	color:var(--bpro-heading);
	font-weight:500;
	letter-spacing:.01em;
}
p{color:var(--bpro-paragraph)}
a{color:var(--bpro-link);text-decoration:none;transition:color .25s var(--bpro-ease)}
a:hover{color:var(--bpro-link-hover)}
.bpro-container{width:min(100% - 2.5rem, var(--bpro-container));margin-inline:auto}
.bpro-section{
	padding:var(--bpro-space-6) 0;
	position:relative;
}
.bpro-section__eyebrow{
	color:var(--bpro-label);
	text-transform:uppercase;
	letter-spacing:.22em;
	font-size:.68rem;
	font-weight:500;
	margin:0 0 1rem;
}
.bpro-section__title{
	font-family:var(--bpro-font-display);
	font-size:clamp(2.15rem,4.2vw,3.6rem);
	line-height:1.08;
	margin:0 0 1rem;
	font-weight:500;
	color:var(--bpro-heading);
	letter-spacing:.005em;
}
.bpro-section__subtitle{
	color:var(--bpro-muted);
	font-size:1.02rem;
	font-weight:400;
	max-width:36rem;
	margin:0 0 2.35rem;
	line-height:1.7;
}
.bpro-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:.55rem;
	padding:.95rem 1.65rem;
	border-radius:var(--bpro-radius);
	border:0;
	cursor:pointer;
	background:var(--bpro-button);
	color:var(--bpro-button-text);
	font-weight:500;
	font-family:inherit;
	font-size:.82rem;
	letter-spacing:.12em;
	text-transform:uppercase;
	transition:background .3s var(--bpro-ease), color .3s var(--bpro-ease), transform .3s var(--bpro-ease);
}
.bpro-btn:hover{
	background:var(--bpro-button-hover);
	color:var(--bpro-button-text);
	transform:translateY(-1px);
}
.bpro-btn--ghost{
	background:transparent;
	color:#fff;
	border:1px solid rgba(255,255,255,.55);
}
.bpro-btn--ghost:hover{
	background:#fff;
	color:var(--bpro-heading);
}
.bpro-grid{display:grid;gap:1.75rem}
.bpro-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.bpro-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.bpro-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:960px){
	.bpro-grid--3,.bpro-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
	.bpro-grid--2,.bpro-grid--3,.bpro-grid--4{grid-template-columns:1fr}
	.bpro-section{padding:var(--bpro-space-5) 0}
	.bpro-container{width:min(100% - 1.5rem, var(--bpro-container))}
}
.bpro-site{min-height:100vh;display:flex;flex-direction:column}
.bpro-site__main{flex:1}
@keyframes bpro-fade-up{
	from{opacity:0;transform:translateY(22px)}
	to{opacity:1;transform:none}
}
.bpro-reveal{animation:bpro-fade-up .85s var(--bpro-ease) both}
