/* ==========================================================================
   Bombeke Diamonds
   ========================================================================== */

html
	{
	scroll-behavior:smooth;
	}

body
	{
	margin:0;
	padding:0;
	background:#080808;
	color:#F6F3ED;
	font-family:'Inter',sans-serif;
	font-size:16px;
	font-weight:400;
	line-height:1.7;
	overflow-x:hidden;
	}

/* ==========================================================================
   Typography
   ========================================================================== */

h1,
h2,
h3,
h4,
h5,
h6
	{
	margin:0 0 20px 0;
	font-family:'Cormorant Garamond',serif;
	font-weight:500;
	color:#C8A86B;
	line-height:1.2;
	}

h1
	{
	font-size:4rem;
	}

h2
	{
	font-size:3rem;
	}

h3
	{
	font-size:2.2rem;
	}

h4
	{
	font-size:1.8rem;
	}

p
	{
	margin:0 0 20px 0;
	}

a
	{
	color:#C8A86B;
	text-decoration:none;
	transition:all .25s ease;
	}

a:hover
	{
	color:#F6F3ED;
	}

/* ==========================================================================
   Layout
   ========================================================================== */

main
	{
	min-height:60vh;
	}

section
	{
	position:relative;
	}

.container
	{
	position:relative;
	}

/* ==========================================================================
   Buttons
   ========================================================================== */

.btn-gold
	{
	display:inline-block;
	padding:12px 30px;
	background:#C8A86B;
	border:1px solid #C8A86B;
	color:#080808;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:1px;
	}

.btn-gold:hover
	{
	background:transparent;
	color:#C8A86B;
	}

.btn-outline-gold
	{
	display:inline-block;
	padding:12px 30px;
	background:transparent;
	border:1px solid #C8A86B;
	color:#C8A86B;
	font-weight:600;
	text-transform:uppercase;
	letter-spacing:1px;
	}

.btn-outline-gold:hover
	{
	background:#C8A86B;
	color:#080808;
	}

/* ==========================================================================
   Utility
   ========================================================================== */

.text-gold
	{
	color:#C8A86B;
	}

.text-white-soft
	{
	color:#F6F3ED;
	}

.bg-black
	{
	background:#080808;
	}

.bg-gold
	{
	background:#C8A86B;
	}

/* ==========================================================================
   Images
   ========================================================================== */

img
	{
	max-width:100%;
	height:auto;
	display:block;
	}

/* ==========================================================================
   Forms
   ========================================================================== */

input,
textarea,
select
	{
	width:100%;
	padding:12px 15px;
	background:#111111;
	border:1px solid rgba(200,168,107,0.30);
	color:#F6F3ED;
	font-family:'Inter',sans-serif;
	}

input:focus,
textarea:focus,
select:focus
	{
	outline:none;
	border-color:#C8A86B;
	}

/* ==========================================================================
   Responsive
   ========================================================================== */

@media (max-width:991px)
	{
	h1
		{
		font-size:3rem;
		}

	h2
		{
		font-size:2.4rem;
		}
	}

@media (max-width:575px)
	{
	h1
		{
		font-size:2.4rem;
		}

	h2
		{
		font-size:2rem;
		}

	body
		{
		font-size:15px;
		}
	}
	
#site_footer
	{
	position:relative;
	overflow:hidden;
	background:#050505;
	padding:70px 0 35px 0;
	}

.footer-diamond
	{
	position:absolute;
	right:0;
	top:20px;
	width:48%;
	max-width:780px;
	opacity:0.12;
	filter:brightness(0.75);
	z-index:1;
	}

.footer-content
	{
	position:relative;
	z-index:2;
	}

.footer-main h2
	{
	font-size:3rem;
	margin-bottom:8px;
	}

.footer-tagline
	{
	color:#F6F3ED;
	font-size:1.1rem;
	letter-spacing:1px;
	}

.footer-line
	{
	width:75px;
	height:1px;
	background:#C8A86B;
	margin:22px 0 28px 0;
	}

.footer-nav
	{
	display:flex;
	flex-wrap:wrap;
	gap:0 22px;
	margin-bottom:28px;
	}

.footer-nav a,
.footer-legal a
	{
	font-family:'Inter',sans-serif;
	font-size:0.9rem;
	text-transform:uppercase;
	letter-spacing:1px;
	color:#F6F3ED;
	}

.footer-nav a:hover,
.footer-legal a:hover,
.footer-bottom a:hover
	{
	color:#C8A86B;
	}

.footer-facebook
	{
	display:flex;
	align-items:center;
	justify-content:center;
	width:48px;
	height:48px;
	border:1px solid #C8A86B;
	border-radius:50%;
	color:#C8A86B;
	font-family:Arial,sans-serif;
	font-size:2rem;
	font-weight:bold;
	line-height:1;
	}

.footer-facebook:hover
	{
	color:#F6F3ED;
	border-color:#F6F3ED;
	}

.footer-bottom
	{
	margin-top:45px;
	padding-top:22px;
	border-top:1px solid rgba(246,243,237,0.20);
	display:flex;
	justify-content:space-between;
	gap:25px;
	color:#B6B6B6;
	font-size:0.9rem;
	}

.footer-bottom a
	{
	color:#C8A86B;
	}

.footer-legal
	{
	display:flex;
	flex-wrap:wrap;
	gap:0 20px;
	}

@media (max-width:991px)
	{
	.footer-diamond
		{
		width:70%;
		opacity:0.16;
		}

	.footer-bottom
		{
		display:block;
		}

	.footer-legal
		{
		margin-top:15px;
		}
	}

@media (max-width:575px)
	{
	#site_footer
		{
		padding:55px 0 30px 0;
		}

	.footer-main h2
		{
		font-size:2.4rem;
		}

	.footer-diamond
		{
		width:95%;
		right:-35%;
		top:40px;
		}

	.footer-nav
		{
		display:block;
		}

	.footer-nav a
		{
		display:block;
		margin-bottom:10px;
		}
	}	
	
#featured_designs
	{
	padding:120px 0;
	background:#080808;
	}

#featured_designs .section-header
	{
	margin-bottom:60px;
	}

.design-list-intro
	{
	max-width:760px;
	margin:0 auto;
	}

.feature-box p,
.cta-section p
	{
	text-align:justify;
	}

.hero-home .lead
	{
	text-align:left;
	}

.timeline-section
	{
	background:#0d0d0d;
	}

.timeline-item
	{
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:120px;
	padding:24px 18px;
	background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
	border:1px solid rgba(200,168,107,.28);
	}

.timeline-item h4
	{
	margin:0;
	color:#F6F3ED;
	font-family:'Inter',sans-serif;
	font-size:.95rem;
	font-weight:600;
	letter-spacing:1px;
	line-height:1.45;
	text-align:center;
	text-transform:uppercase;
	}

.design-card
	{
	position:relative;
	display:block;
	overflow:hidden;
	text-decoration:none;
	background:#111;
	}

.design-image img
	{
	width:100%;
	height:500px;
	object-fit:cover;
	transition:transform .6s ease;
	}

.design-overlay
	{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	padding:65px 30px 30px 30px;
	background:linear-gradient(to top,rgba(0,0,0,.96) 0%,rgba(0,0,0,.78) 45%,rgba(0,0,0,0) 100%);
	text-align:center;
	}

.design-overlay h2,
.design-overlay h3
	{
	margin:0;
	color:#F6F3ED;
	font-size:2rem;
	text-align:center;
	}

.design-card:hover img
	{
	transform:scale(1.05);
	}

.design-card:hover h3
	{
	color:#C8A86B;
	}	

/* ==========================================================================
   Diamond design detail
   ========================================================================== */

.design-detail-section
	{
	padding:120px 0;
	background:#080808;
	}

.design-detail-image
	{
	position:relative;
	display:block;
	overflow:hidden;
	background:#111111;
	}

.design-detail-image img
	{
	width:100%;
	}

.design-detail-zoom
	{
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	padding:16px 20px;
	background:rgba(0,0,0,0.38);
	color:#F6F3ED;
	font-size:0.85rem;
	font-weight:600;
	letter-spacing:1px;
	text-align:center;
	text-transform:uppercase;
	}

.design-detail-text
	{
	font-size:1.05rem;
	font-weight:300;
	line-height:1.85;
	color:rgba(246,243,237,0.88);
	text-align:justify;
	}

.design-image-modal
	{
	background:#080808;
	color:#F6F3ED;
	}

.design-zoom-header
	{
	position:relative;
	z-index:2;
	padding:20px 30px;
	background:#080808;
	}

.design-zoom-controls
	{
	display:flex;
	align-items:center;
	}

.design-zoom-button
	{
	min-width:42px;
	height:42px;
	margin-left:8px;
	padding:0 12px;
	border:1px solid rgba(200,168,107,0.7);
	background:transparent;
	color:#F6F3ED;
	font-family:'Inter',sans-serif;
	font-size:0.9rem;
	font-weight:600;
	}

.design-zoom-button:hover
	{
	background:#C8A86B;
	color:#080808;
	}

.design-zoom-body
	{
	min-height:0;
	background:#050505;
	}

.design-zoom-stage
	{
	display:flex;
	align-items:center;
	justify-content:center;
	height:calc(100vh - 84px);
	overflow:hidden;
	touch-action:none;
	user-select:none;
	}

.design-zoom-image
	{
	max-width:100%;
	max-height:100%;
	transform-origin:center center;
	transition:transform .2s ease;
	user-select:none;
	}

.design-zoom-stage.is-dragging .design-zoom-image
	{
	transition:none;
	}

.design-zoom-stage.is-zoomed
	{
	cursor:grab;
	}

.design-zoom-stage.is-zoomed:active
	{
	cursor:grabbing;
	}

/* ========================================================================== 
   Pieter Bombeke
   ========================================================================== */

.pieter-hero
	{
	position:relative;
	min-height:620px;
	overflow:hidden;
	background:#050505;
	}

.pieter-hero::after
	{
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(0,0,0,.86) 0%,rgba(0,0,0,.56) 43%,rgba(0,0,0,.08) 75%,rgba(0,0,0,.25) 100%);
	content:'';
	}

.pieter-hero-image
	{
	position:absolute;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	}

.pieter-hero-content
	{
	position:relative;
	z-index:1;
	}

.pieter-hero h1
	{
	font-size:5rem;
	}

.pieter-eyebrow
	{
	margin-bottom:14px;
	color:#C8A86B;
	font-size:.8rem;
	font-weight:600;
	letter-spacing:2px;
	text-transform:uppercase;
	}

.pieter-content-section
	{
	padding:120px 0;
	background:#080808;
	}

.pieter-section-muted
	{
	background:#0d0d0d;
	}

.pieter-image
	{
	width:100%;
	}

.pieter-copy
	{
	color:rgba(246,243,237,.88);
	font-size:1.05rem;
	font-weight:300;
	line-height:1.85;
	text-align:justify;
	}

.pieter-hero .lead
	{
	text-align:left;
	}

.pieter-copy-centered
	{
	max-width:760px;
	margin:0 auto;
	}

.pieter-antwerp-section
	{
	padding:0;
	background:#080808;
	}

.pieter-antwerp-image
	{
	width:100%;
	}

/* ==========================================================================
   Fair Diamonds & Elasha
   ========================================================================== */

.fair-hero
	{
	position:relative;
	min-height:620px;
	overflow:hidden;
	background:#050505;
	}

.fair-hero::after
	{
	position:absolute;
	inset:0;
	background:linear-gradient(90deg,rgba(0,0,0,.90) 0%,rgba(0,0,0,.68) 45%,rgba(0,0,0,.22) 78%,rgba(0,0,0,.45) 100%);
	content:'';
	}

.fair-hero-image
	{
	position:absolute;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	filter:saturate(.82);
	}

.fair-hero-content
	{
	position:relative;
	z-index:1;
	}

.fair-hero h1
	{
	font-size:5rem;
	}

.fair-eyebrow
	{
	margin-bottom:14px;
	color:#C8A86B;
	font-size:.8rem;
	font-weight:600;
	letter-spacing:2px;
	text-transform:uppercase;
	}

.fair-intro-section,
.fair-content-section,
.fair-pillars-section,
.fair-process-section,
.fair-impact-section,
.fair-project-section,
.fair-quote-section,
.fair-cta-section
	{
	padding:120px 0;
	background:#080808;
	}

.fair-section-muted
	{
	background:#0d0d0d;
	}

.fair-copy
	{
	color:rgba(246,243,237,.88);
	font-size:1.05rem;
	font-weight:300;
	line-height:1.85;
	text-align:justify;
	}

.fair-copy-centered
	{
	max-width:820px;
	margin:0 auto;
	}

.fair-image-panel
	{
	position:relative;
	overflow:hidden;
	border:1px solid rgba(200,168,107,.28);
	background:#111111;
	}

.fair-image-panel::after
	{
	position:absolute;
	inset:0;
	background:linear-gradient(to top,rgba(0,0,0,.38),rgba(0,0,0,0));
	content:'';
	}

.fair-image-panel img
	{
	width:100%;
	min-height:420px;
	object-fit:cover;
	}

.fair-image-panel-compact img
	{
	min-height:0;
	max-height:560px;
	object-position:center;
	}

.fair-pillar-card,
.fair-impact-card,
.fair-elasha-card
	{
	height:100%;
	padding:38px;
	background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
	border:1px solid rgba(200,168,107,.24);
	}

.fair-pillar-number
	{
	margin-bottom:24px;
	color:rgba(200,168,107,.55);
	font-family:'Cormorant Garamond',serif;
	font-size:3rem;
	line-height:1;
	}

.fair-pillar-card h3,
.fair-impact-card h3
	{
	color:#F6F3ED;
	font-size:2rem;
	}

.fair-pillar-card p,
.fair-impact-card p,
.fair-elasha-card p
	{
	color:rgba(246,243,237,.84);
	font-weight:300;
	text-align:justify;
	}

.fair-process-row
	{
	display:grid;
	grid-template-columns:repeat(6,1fr);
	gap:18px;
	margin-top:55px;
	}

.fair-process-item
	{
	position:relative;
	display:flex;
	align-items:center;
	justify-content:center;
	min-height:120px;
	padding:22px 14px;
	background:#101010;
	border:1px solid rgba(200,168,107,.25);
	text-align:center;
	}

.fair-process-item::after
	{
	position:absolute;
	top:50%;
	right:-18px;
	width:18px;
	height:1px;
	background:rgba(200,168,107,.45);
	content:'';
	}

.fair-process-item:last-child::after
	{
	display:none;
	}

.fair-process-item span
	{
	color:#F6F3ED;
	font-size:.92rem;
	font-weight:600;
	letter-spacing:1px;
	text-transform:uppercase;
	}

.fair-elasha-card
	{
	background:linear-gradient(145deg,rgba(30,90,73,.44),rgba(5,5,5,.95));
	border-color:rgba(200,168,107,.36);
	}

.fair-elasha-logo-link
	{
	display:inline-block;
	margin-bottom:28px;
	padding:10px;
	background:rgba(246,243,237,.96);
	}

.fair-elasha-logo
	{
	width:118px;
	height:auto;
	}

.fair-note
	{
	margin-top:30px;
	padding:18px 20px;
	background:rgba(200,168,107,.08);
	border-left:2px solid #C8A86B;
	color:rgba(246,243,237,.70) !important;
	font-size:.95rem;
	}

.fair-impact-card
	{
	text-align:center;
	}

.fair-impact-card i
	{
	margin-bottom:24px;
	color:#C8A86B;
	font-size:2.4rem;
	}

.fair-project-card
	{
	height:100%;
	margin:0;
	background:#101010;
	border:1px solid rgba(200,168,107,.24);
	}

.fair-project-card img
	{
	width:100%;
	height:230px;
	object-fit:cover;
	filter:saturate(.88);
	}

.fair-project-card figcaption
	{
	padding:22px;
	color:rgba(246,243,237,.82);
	font-size:.95rem;
	font-weight:300;
	line-height:1.65;
	text-align:left;
	}

.fair-project-section .lead,
.fair-cta-section p
	{
	text-align:left;
	}

.fair-project-section .fair-project-lead
	{
	text-align:center;
	}

.fair-quote-section
	{
	background:#050505;
	}

.fair-quote-section blockquote
	{
	margin:0;
	color:#F6F3ED;
	font-family:'Cormorant Garamond',serif;
	font-size:3rem;
	font-weight:300;
	line-height:1.25;
	}

.fair-cta-section
	{
	background:linear-gradient(135deg,#0d0d0d 0%,#080808 55%,rgba(30,90,73,.30) 100%);
	border-top:1px solid rgba(200,168,107,.22);
	}

/* ==========================================================================
   Legal
   ========================================================================== */

.legal-hero
	{
	padding:170px 0 110px 0;
	background:linear-gradient(135deg,#050505 0%,#080808 55%,rgba(30,90,73,.28) 100%);
	}

.legal-eyebrow
	{
	margin-bottom:14px;
	color:#C8A86B;
	font-size:.8rem;
	font-weight:600;
	letter-spacing:2px;
	text-transform:uppercase;
	}

.legal-content-section
	{
	padding:120px 0;
	background:#080808;
	}

.legal-nav
	{
	position:sticky;
	top:120px;
	display:flex;
	flex-direction:column;
	gap:12px;
	padding:30px;
	background:rgba(255,255,255,.035);
	border:1px solid rgba(200,168,107,.24);
	}

.legal-nav a
	{
	color:#F6F3ED;
	font-size:.9rem;
	font-weight:600;
	letter-spacing:1px;
	text-transform:uppercase;
	}

.legal-nav a:hover
	{
	color:#C8A86B;
	}

.legal-card
	{
	margin-bottom:45px;
	padding:45px;
	background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.015));
	border:1px solid rgba(200,168,107,.24);
	scroll-margin-top:120px;
	}

.legal-card:last-child
	{
	margin-bottom:0;
	}

.legal-copy
	{
	color:rgba(246,243,237,.88);
	font-size:1.05rem;
	font-weight:300;
	line-height:1.85;
	text-align:justify;
	}

.legal-copy p:last-child
	{
	margin-bottom:0;
	}

/* ========================================================================== 
   Contact
   ========================================================================== */

.contact-page-section
	{
	position:relative;
	overflow:hidden;
	padding:120px 0;
	background:#080808;
	}

.contact-page-background,
.contact-page-overlay
	{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	}

.contact-page-background
	{
	object-fit:cover;
	object-position:center;
	}

.contact-page-overlay
	{
	background:rgba(0,0,0,.78);
	}

.contact-page-content
	{
	position:relative;
	z-index:1;
	}

.contact-panel
	{
	padding:40px;
	background:rgba(5,5,5,.86);
	border:1px solid rgba(200,168,107,.32);
	backdrop-filter:blur(4px);
	}

.contact-panel h2
	{
	margin-bottom:28px;
	}

.contact-panel h3
	{
	margin:30px 0 8px 0;
	font-family:'Inter',sans-serif;
	font-size:.82rem;
	font-weight:600;
	letter-spacing:1.5px;
	text-transform:uppercase;
	}

.contact-panel h3:first-of-type
	{
	margin-top:0;
	}

.contact-panel p
	{
	text-align:justify;
	}

.contact-panel p:has(a),
.contact-form-success,
.contact-map-section p
	{
	text-align:left;
	}

.text-center p,
.text-center .lead,
.text-center .fair-copy,
.text-center .pieter-copy,
.text-center .design-list-intro
	{
	text-align:center;
	}

#contact_form label
	{
	display:block;
	margin-bottom:8px;
	color:#F6F3ED;
	font-size:.9rem;
	}

#contact_form textarea
	{
	resize:vertical;
	}

.contact-honeypot
	{
	position:absolute;
	left:-9999px;
	width:1px;
	height:1px;
	overflow:hidden;
	}

.contact-recaptcha-v2
	{
	margin-top:25px;
	}

.contact-feedback
	{
	min-height:24px;
	margin-top:22px;
	}

.contact-feedback-error
	{
	color:#f1a2a2;
	}

.contact-feedback-success
	{
	color:#F6F3ED;
	}

.contact-form-success
	{
	margin:0;
	color:#F6F3ED;
	font-size:1.05rem;
	}

.contact-map-section
	{
	padding:100px 0;
	background:#0d0d0d;
	}

@media (max-width:575px)
	{
	.design-detail-section
		{
		padding:80px 0;
		}

	.design-zoom-header
		{
		padding:15px;
		}

	.design-zoom-header h2
		{
		font-size:1.8rem;
		}

	.design-zoom-button
		{
		min-width:36px;
		height:36px;
		margin-left:4px;
		padding:0 8px;
		}

	.design-zoom-stage
		{
		height:calc(100vh - 66px);
		}

	.pieter-hero
		{
		min-height:500px;
		}

	.pieter-hero h1
		{
		font-size:3.5rem;
		}

	.pieter-content-section
		{
		padding:80px 0;
		}

	.fair-hero
		{
		min-height:520px;
		}

	.fair-hero h1
		{
		font-size:3.5rem;
		}

	.fair-intro-section,
	.fair-content-section,
	.fair-pillars-section,
	.fair-process-section,
	.fair-impact-section,
	.fair-project-section,
	.fair-quote-section,
	.fair-cta-section
		{
		padding:80px 0;
		}

	.fair-process-row
		{
		grid-template-columns:1fr;
		}

	.fair-process-item::after
		{
		top:auto;
		right:50%;
		bottom:-18px;
		width:1px;
		height:18px;
		}

	.fair-quote-section blockquote
		{
		font-size:2.3rem;
		}

	.legal-hero
		{
		padding:130px 0 80px 0;
		}

	.legal-content-section
		{
		padding:80px 0;
		}

	.legal-nav
		{
		position:relative;
		top:auto;
		}

	.legal-card
		{
		padding:32px 26px;
		}

	.contact-page-section
		{
		padding:80px 0;
		}

	.contact-panel
		{
		padding:30px 25px;
		}

	.contact-map-section
		{
		padding:80px 0;
		}
	}
