.mobile-nav{
	display:flex;
	flex-direction:column;
	gap:1rem;
}
.mobile-nav a{ color:inherit; font-weight:600; text-decoration:none; }
/* ---------- Critical small overrides & polished UI (extracted from index.html) ---------- */
:root{
	/* Palette: high-end off-white for light, deep charcoal for dark */
	--ivory: #f6f3ee;               /* warm off-white */
	--paper: #fbf9f7;               /* subtle paper tone */
	--bg: linear-gradient(180deg, #fdfbf8, #f4f1ea);
	--surface: rgba(255,255,255,0.9);
	--text: #111111;                /* primary text (dark) */
	--muted: #7f7f7f;
	--accent: #d3cfc5;              /* brand beige */
	--accent-2: #b8b2a6;            /* secondary warm */
	--accent-blaze: #d3c3a4;        /* Blaze warm highlight */
	--accent-kolasi: #38e2ce;       /* Kolasi cool neon */
	--dark-1: #0f0f0f;
	--dark-2: #121212;
	--surface-dark: #0a0a0a;
	--brand: #d3cfc5;
	--hero-text: #111111;
	--hero-overlay-light: linear-gradient(180deg, rgba(255,255,255,0.14), rgba(0,0,0,0.04));
	--hero-overlay-dark: linear-gradient(180deg, rgba(0,0,0,0.28), rgba(0,0,0,0.45));
	--overlay-strong: rgba(0,0,0,0.38);
	--space-1: 0.5rem;
	--space-2: 0.75rem;
	--space-3: 1rem;
	--space-4: 1.5rem;
	--space-5: 2.25rem;
	--space-6: 3.5rem;

	/* Header sizing tokens */
	--header-h: 64px;
	--header-control-h: 28px;


	/* Button system: theme-aware values used by all buttons/controls */
	--btn-bg: rgba(255,255,255,0.92);
	--btn-color: #111111;
	--btn-border: rgba(0,0,0,0.06);
	--btn-glow: rgba(17,17,17,0.06);
	--btn-glow-intense: rgba(17,17,17,0.14);
	--btn-elev: rgba(0,0,0,0.08);

	/* accessible focus ring (tuned per theme below) */
	--focus-ring: rgba(17,17,17,0.18);

	--dot-active-light: #111;
	--dot-active-dark: #fff;
	--control-bg-light: rgba(255,255,255,0.92);
	--control-color-light: #111;
	--control-bg-dark: rgba(255,255,255,0.06);
	--control-color-dark: #fff;
}

html.dark,
.theme--dark{
	--bg: radial-gradient(circle at 20% 20%, rgba(56,226,206,0.05), transparent 32%), radial-gradient(circle at 80% 0%, rgba(211,195,164,0.08), transparent 30%), linear-gradient(180deg, #0b0b0b, #0f0f0f);
	--surface: rgba(8,8,8,0.85);
	--text: #f7f7f2;
	--muted: rgba(247,247,245,0.78);
	--overlay-strong: rgba(0,0,0,0.62);
}
@media(max-width:767px){
	:root{
		--header-h: 56px;
		--header-control-h: 26px;
	}
}

/* Blaze highlight list + readability (migrated from inline index styles) */
.blaze-points{ list-style:none; padding-left:0; }
.blaze-points li{ position:relative; padding-left:1.25rem; }
.blaze-points li::before{ content:''; position:absolute; left:0.35rem; top:0.6rem; width:6px; height:6px; border-radius:50%; background:rgba(0,0,0,0.6); }
html.dark .blaze-points,
html.dark .blaze-points li{ color:rgba(245,245,245,0.92) !important; }
html.dark .blaze-points li::before{ background:rgba(255,255,255,0.85) !important; }

html:not(.dark) .blaze-section,
html.light .blaze-section{ background:#ffffff !important; color:#111111 !important; }
html:not(.dark) .blaze-section .blaze-muted,
html.light .blaze-section .blaze-muted,
html:not(.dark) .blaze-section p,
html.light .blaze-section p{ color:rgba(0,0,0,0.72) !important; }
html:not(.dark) .blaze-section .blaze-points li::before,
html.light .blaze-section .blaze-points li::before{ background:rgba(0,0,0,0.6) !important; }
html:not(.dark) .blaze-section .showcase-caption,
html.light .blaze-section .showcase-caption,
html:not(.dark) .blaze-section .showcap-title,
html.light .blaze-section .showcap-title{ color:#111 !important; }
html:not(.dark) .blaze-section h3,
html.light .blaze-section h3,
html:not(.dark) .blaze-section h4,
html.light .blaze-section h4,
html:not(.dark) .blaze-section .font-serif,
html.light .blaze-section .font-serif{ color:#0b0b0b !important; }
html:not(.dark) .blaze-section .text-neutral-600,
html.light .blaze-section .text-neutral-600,
html:not(.dark) .blaze-section .blaze-muted,
html.light .blaze-section .blaze-muted{ color:rgba(0,0,0,0.68) !important; }
@media(max-width:767px){
	.blaze-section{ padding-top:2.25rem !important; padding-bottom:2.25rem !important; }
	.blaze-section .showcase-caption-wrap{ padding:0 1rem; }
	.blaze-points{ text-align:left; margin:0 auto; max-width:90%; }
	.blaze-points li::before{ left:0.25rem !important; top:0.55rem !important; }
	.blaze-section h3,
	.blaze-section h2,
	.blaze-section .showcap-title{ font-size:1.6rem !important; }
	.blaze-section .text-neutral-600{ color:rgba(0,0,0,0.66) !important; }
}

.blaze-shell{
	position:relative;
	border-radius:32px;
	padding:3rem;
	background:transparent;
	border:none;
	box-shadow:none;
	overflow:visible;
}
.blaze-showcase{ display:none; }
.blaze-layout{
	position:relative;
	z-index:1;
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:2.5rem;
	align-items:stretch;
}
.blaze-identity-card{
	background:linear-gradient(160deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));
	border-radius:32px;
	padding:2.5rem;
	border:1px solid rgba(255,255,255,0.12);
	box-shadow:0 30px 80px rgba(0,0,0,0.35);
	display:flex;
	flex-direction:column;
	gap:1.5rem;
}
.blaze-badge-row{
	display:flex;
	justify-content:space-between;
	align-items:center;
	gap:1rem;
}
.blaze-badge-row span{ letter-spacing:0.22em; color:rgba(255,255,255,0.75); }
.blaze-ghost-link{
	font-size:0.9rem;
	padding:0.35rem 0.85rem;
	border-radius:999px;
	border:1px solid rgba(255,255,255,0.22);
	background:rgba(255,255,255,0.05);
	color:#fff;
	text-decoration:none;
	transition:all .2s ease;
}
.blaze-ghost-link:hover{ border-color:rgba(211,195,164,0.8); background:rgba(211,195,164,0.1); }
.blaze-card-divider{
	height:1px;
	width:100%;
	background:linear-gradient(90deg, transparent, rgba(255,255,255,0.4), transparent);
}
.blaze-meta-panel{ margin-top:auto; padding-top:1rem; }
.blaze-meta-pair{
	display:flex;
	flex-wrap:wrap;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
}
.blaze-media-panel{ position:relative; }
.blaze-media-grid{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
	gap:1.25rem;
}
.blaze-media-tile{
	position:relative;
	border-radius:26px;
	overflow:hidden;
	box-shadow:0 25px 70px rgba(0,0,0,0.4);
	background:rgba(255,255,255,0.03);
	min-height:0;
	height:auto;
	display:flex;
}
.blaze-media-tile img{ width:100%; height:100%; flex:1; object-fit:cover !important; display:block; transition:transform .6s ease; }
.blaze-media-tile:hover img{ transform:scale(1.04); }
.blaze-footer-cta{
	margin-top:2.5rem;
	display:flex;
	justify-content:center;
	align-items:center;
}
@media(max-width:1024px){
	.blaze-layout{ grid-template-columns:1fr; }
	.blaze-identity-card{ padding:2rem; }
}
@media(max-width:640px){
	.blaze-shell{ padding:1rem; border-radius:18px; box-shadow:none; border:none; background:transparent; width:100%; max-width:100%; overflow:visible; }
	.blaze-shell::after{ display:none; }
	.blaze-layout{ gap:1rem; grid-template-columns:1fr; }
	.blaze-identity-card{ padding:1.1rem; border-radius:18px; box-shadow:0 12px 26px rgba(0,0,0,0.22); }
	.blaze-identity-card h3{ font-size:1.4rem; line-height:1.2; }
	.blaze-identity-card p,
	.blaze-identity-card li{ font-size:0.95rem; line-height:1.45; word-break:break-word; hyphens:auto; }
	.blaze-identity-card .blaze-points{ gap:0.35rem; }
	.blaze-media-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
	.blaze-media-tile{ border-radius:18px; box-shadow:0 12px 24px rgba(0,0,0,0.2); }
	.blaze-section .blaze-shell{ box-sizing:border-box; }
	#blaze-production .orbit-carousel--blaze-home{ width:100%; padding:0; }
	#blaze-production .orbit-carousel--blaze-home .orbit-stage{ width:100%; min-height:clamp(320px, 90vw, 460px); }
}
@media(max-width:767px){
	#blaze-production .blaze-shell{ padding:1rem; border-radius:18px; }
	#blaze-production .blaze-layout{ gap:1rem; width:100%; max-width:100%; }
	#blaze-production .blaze-identity-card{
		padding:1rem;
		border-radius:16px;
		width:100%;
		max-width:100%;
		overflow:hidden;
	}
	#blaze-production .blaze-identity-card h3{ font-size:1.5rem; line-height:1.25; }
	#blaze-production .blaze-identity-card p,
	#blaze-production .blaze-identity-card li{ font-size:0.95rem; line-height:1.45; }
	#blaze-production .blaze-identity-card *{ word-break:break-word; }
	#blaze-production .blaze-section .max-w-7xl{ padding-left:0.5rem !important; padding-right:0.5rem !important; }
	#blaze-production .orbit-carousel--blaze-home{ width:100%; }
	#blaze-production .orbit-carousel--blaze-home .orbit-stage{ min-height:min(64vh, 520px); }
}

/* Global layout polish */
body{
	background: var(--bg, #0b0b0b);
	color: var(--text, #e9e9e9);
}
html.light body{
	background: var(--bg, linear-gradient(180deg, #fdfbf8, #f4f1ea));
	color: var(--text, #1a1a1a);
}
.site-header{
	position:sticky;
	top:0;
	z-index:80;
	background:rgba(10,10,10,0.72);
	backdrop-filter:blur(14px);
	border-bottom:1px solid rgba(255,255,255,0.08);
}
html.light .site-header{
	background:linear-gradient(135deg, #fdf9f1, #f4ecdf);
	border-color:rgba(0,0,0,0.08);
	box-shadow:0 10px 26px rgba(0,0,0,0.08);
}
.header-nav{
	display:flex;
	align-items:center;
	gap:1.75rem;
}
.nav-link{
	position:relative;
	padding:0.35rem 0;
	font-size:0.72rem;
	letter-spacing:0.2em;
	text-transform:uppercase;
	font-weight:600;
	color:rgba(247,247,245,0.9);
	text-decoration:none;
	transform:translateY(0);
	transition:color .25s ease, transform .18s ease;
}
html.light .nav-link{ color:#1c1c1c; }
.nav-link::after{
	content:'';
	position:absolute;
	left:0;
	bottom:-6px;
	width:100%;
	height:2px;
	background:currentColor;
	opacity:0;
	transform:translateY(6px);
	transition:opacity .25s ease, transform .25s ease;
}
.nav-link:hover,
.nav-link:focus-visible{
	color:var(--brand, #d3cfc5);
	transform:translateY(-2px);
}
.nav-link:hover::after,
.nav-link:focus-visible::after,
.nav-link[aria-current="page"]::after{
	opacity:1;
	transform:translateY(0);
}
.nav-link:active{ transform:translateY(0); opacity:0.92; }
.nav-link[aria-current="page"]{ color:var(--brand, #d3cfc5); }
.nav-link--emphasis{
	letter-spacing:0.24em;
	color:var(--brand, #d3cfc5);
}
.rounded-cta:hover{
	transform:translateY(-4px) scale(1.04);
	border-color:rgba(56,226,206,0.35);
	background:color-mix(in srgb, var(--btn-bg) 82%, rgba(56,226,206,0.3));
	box-shadow:0 28px 56px rgba(0,0,0,0.28);
}
html.light .rounded-cta{
	border-color:rgba(0,0,0,0.12);
	background:linear-gradient(145deg, #fffefd, #f6efe3);
	box-shadow:0 14px 30px rgba(0,0,0,0.14), inset 0 1px 0 rgba(255,255,255,0.9);
	color:#121212;
}
html.light .rounded-cta:hover{
	border-color:rgba(0,0,0,0.18);
	background:linear-gradient(145deg, #ffffff, #f2e7d6);
	box-shadow:0 30px 60px rgba(0,0,0,0.18), inset 0 1px 0 rgba(255,255,255,0.95);
}
.rounded-cta:focus-visible,
.rounded-cta--ghost:focus-visible{
	outline:3px solid var(--accent);
	outline-offset:3px;
}
.theme-btn{
	border-radius:999px;
	padding:0.55rem 1.2rem;
	border:1px solid var(--btn-border);
	background:var(--btn-bg);
	box-shadow:0 12px 28px var(--btn-elev);
	color:var(--btn-color);
	transition:transform .24s cubic-bezier(.22,.9,.28,1), box-shadow .24s cubic-bezier(.22,.9,.28,1), background .2s ease, border-color .2s ease;
}
.theme-btn:hover,
.theme-btn:focus-visible{
	transform:translateY(-4px) scale(1.04);
	box-shadow:0 26px 64px rgba(0,0,0,0.18), 0 0 28px var(--btn-glow-intense);
}
.theme-btn:focus-visible{
	outline:3px solid var(--focus-ring);
	outline-offset:4px;
}
html.light .theme-btn{
	border-color:var(--btn-border);
	background:linear-gradient(145deg, #fffefd, #f3eadf);
	color:#131313;
	box-shadow:0 12px 22px rgba(0,0,0,0.12), inset 0 1px 0 rgba(255,255,255,0.92);
}
.theme-btn:active{ transform:translateY(-2px) scale(1.01); }
.menu-toggle{
	border:1px solid rgba(255,255,255,0.16);
	box-shadow:0 8px 18px rgba(0,0,0,0.16);
}
html.light .menu-toggle{
	border-color:rgba(0,0,0,0.12);
	background:linear-gradient(145deg, #fffefd, #f3eadf);
	color:#131313;
	box-shadow:
		0 10px 20px rgba(0,0,0,0.12),
		inset 0 1px 0 rgba(255,255,255,0.92),
		inset 0 -1px 0 rgba(0,0,0,0.04);
}

/* Light-mode treatment for Kolasi block on homepage */
html.light body:not(.kolasi-page) .kolasi-section{
	background:linear-gradient(165deg,#f8f5ef 0%,#efe5db 35%,#f4ede4 100%);
	color:#161616;
}
html.light body:not(.kolasi-page) .kolasi-section .kolasi-shell{
	background:transparent;
	border:none;
	box-shadow:none;
}
html.light body:not(.kolasi-page) .kolasi-section .kolasi-shell::before{
	background:radial-gradient(circle, rgba(56,226,206,0.25), transparent 65%);
}
html.light body:not(.kolasi-page) .kolasi-section .kolasi-info-card{
	background:linear-gradient(150deg, rgba(255,255,255,0.96), rgba(255,255,255,0.88));
	border:1px solid rgba(0,0,0,0.06);
	box-shadow:0 16px 40px rgba(0,0,0,0.08);
	color:#161616;
}
html.light body:not(.kolasi-page) .kolasi-section .kolasi-muted,
html.light body:not(.kolasi-page) .kolasi-section .kolasi-info-card li{
	color:#3f3a35;
}
html.light body:not(.kolasi-page) .kolasi-section .rounded-cta{
	color:#101010;
	border-color:rgba(0,0,0,0.12);
}
html.light body:not(.kolasi-page) .kolasi-section .kolasi-gallery-band{
	background:linear-gradient(120deg, rgba(56,226,206,0.12), rgba(255,255,255,0.9));
	border-color:rgba(0,0,0,0.04);
	box-shadow:0 18px 50px rgba(0,0,0,0.12);
}
html.light body:not(.kolasi-page) .kolasi-section .kolasi-gallery-card{
	box-shadow:0 8px 18px rgba(0,0,0,0.12);
}

/* Light mode polish for Kolasi section on the Kolasi landing page */
html.light body.kolasi-page .kolasi-section{
	background:linear-gradient(160deg, #f9f5ee, #f2e8db);
	color:#141414;
}
html.light body.kolasi-page .kolasi-section .kolasi-info-card{
	background:linear-gradient(150deg, rgba(255,255,255,0.92), rgba(255,255,255,0.86));
	border-color:rgba(0,0,0,0.08);
	box-shadow:0 16px 30px rgba(0,0,0,0.12);
	color:#1a1a1a;
}
html.light body.kolasi-page .kolasi-section .kolasi-info-card h3,
html.light body.kolasi-page .kolasi-section .kolasi-info-card p,
html.light body.kolasi-page .kolasi-section .kolasi-info-card li{ color:#1a1a1a; }
html.light body.kolasi-page .kolasi-section .kolasi-media-grid .kolasi-media-block,
html.light body.kolasi-page .kolasi-section figure{
	border:1px solid rgba(0,0,0,0.06);
	background:#ffffff;
}
html.light body.kolasi-page .kolasi-gallery-card{
	border:1px solid rgba(0,0,0,0.06);
	box-shadow:0 8px 18px rgba(0,0,0,0.08);
}

/* Blaze page scoped styling (migrated from blaze.html inline) */
body.blaze-page{
	font-family:Inter,ui-sans-serif;
	transition:background .35s ease,color .35s ease;
}
html.light body.blaze-page{ background:var(--ivory); color:var(--text); }
html.dark body.blaze-page{ background:#0e0e0e; color:#f5f5f5; }
.img-zoom{ transition:transform 1.2s cubic-bezier(.22,.61,.36,1); }
.img-zoom:hover{ transform:scale(1.03); }
.blaze-surface{
	background:transparent;
	backdrop-filter:none;
	box-shadow:none;
	border-radius:28px;
	border:none;
}
.blaze-section{ position:relative; width:100%; }
html.light .blaze-section{ background:color-mix(in srgb,var(--paper) 90%,#ffffff 10%); color:var(--text); }
html.dark .blaze-section{ background:linear-gradient(180deg,#0e0e0e,#151515); color:#f5f5f5; }
.blaze-logo-panel{
	background:linear-gradient(160deg, rgba(255,255,255,0.72), rgba(255,255,255,0.32));
	backdrop-filter:blur(24px);
	border:1px solid rgba(255,255,255,0.35);
	box-shadow:0 28px 70px rgba(0,0,0,0.38), inset 0 1px 0 rgba(255,255,255,0.4);
}
.client-video{ position:relative; width:100%; height:100%; }
.client-video video{ width:100%; height:100%; display:block; }



.client-video-logo{
	position:absolute;
	top:1.25rem;
	left:0.4rem;
	width:min(140px, 32%);
	height:auto;
	background:rgba(0,0,0,0.55);
	padding:0.4rem 0.9rem;
	border-radius:999px;
	box-shadow:0 12px 26px rgba(0,0,0,0.35);
}
@media(max-width:640px){ .client-video-logo{ width:100px; top:0.75rem; left:0.25rem; padding:0.35rem 0.8rem; } }
html.light .blaze-logo-panel{
	background:linear-gradient(145deg, rgba(255,255,255,0.92), rgba(245,241,236,0.9));
	border-color:rgba(0,0,0,0.05);
}
.blaze-section + .blaze-section{ margin-top:-1px; }
.blaze-muted{ color:#454545; }
html.dark .blaze-muted{ color:rgba(245,245,243,0.74); }
body.blaze-page video:focus{ outline:3px solid rgba(211,207,197,0.95); outline-offset:4px; border-radius:6px; }
.blaze-page .blaze-surface h1{
	white-space: normal !important;
	word-break: break-word !important;
	overflow-wrap: anywhere !important;
}
html:not(.dark) .blaze-surface,
html:not(.dark) .blaze-surface h1,
html:not(.dark) .blaze-surface p,
html:not(.dark) .blaze-surface .blaze-muted{ color:#ffffff !important; }
html.dark .blaze-surface,
.blaze-surface.html-dark-fallback{
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	backdrop-filter: none !important;
}

/* Screen reader utility: hide visually while keeping for assistive tech */
.sr-only{
	position:absolute;
	width:1px;
	height:1px;
	padding:0;
	margin:-1px;
	overflow:hidden;
	clip:rect(0,0,0,0);
	white-space:nowrap;
	border:0;
}

/* --------------------------------------------------
	 Final authoritative overrides (prevent conflicts)
	 - Ensures header controls are exactly aligned on the same baseline
	 - Forces hero video/panel/overlay to use expected stacking and colors
	 -------------------------------------------------- */


/* Reduce specificity issues on small screens while preserving layout */
@media(max-width:900px){
	.header-nav{ display:none !important; }
	.theme-btn{ margin-left:8px !important; }
}

/* Mobile: make hamburger compact and professional-looking */
.menu-toggle{
	display:inline-flex !important;
	align-items:center;
	justify-content:center;
	gap:0.5rem;
	padding:0.5rem 1.1rem !important;
	border-radius:999px !important;
	font-weight:600;
	letter-spacing:0.08em;
	text-transform:uppercase;
	font-size:0.82rem;
	line-height:1;
}
.menu-toggle::before{
	content:'';
	display:inline-block;
	width:16px;
	height:10px;
	background:repeating-linear-gradient(to bottom, currentColor, currentColor 2px, transparent 2px, transparent 4px);
	border-radius:2px;
}
.menu-toggle:focus-visible{ outline:3px solid var(--focus-ring); outline-offset:4px; }
.menu-toggle:hover{ filter:brightness(1.08); }
@media(min-width:901px){ .menu-toggle{ display:none !important; } }

@media(max-width:767px){
	/* Avoid vertical transforms on the hero panel on small screens to prevent layout/zoom issues */
	.hero{ min-height:100vh; }
	.hero .hero-video,
	.hero .bg,
	.hero .hero-poster{
		top:0 !important;
		transform:none !important;
		height:100% !important;
		min-height:100vh;
	}
	#blaze-production .blaze-section,
	#blaze-production .blaze-shell{
		margin:0 !important;
	}
	.blaze-section{ padding-left:1rem !important; padding-right:1rem !important; }
	#blaze-production .max-w-7xl{ padding-left:0.75rem !important; padding-right:0.75rem !important; }
}

/* -----------------------------
	Authoritative hero overrides (kept for legacy compatibility)
	----------------------------- */
.hero-video, .hero video.hero-video, .hero .bg, .hero video.bg {
	position:absolute !important;
	top:50% !important;
	left:0 !important;
	transform:translateY(-50%) !important;
	width:100% !important;
	height:clamp(420px, 60vh, 720px) !important;
	object-fit:cover !important;
	z-index:-1 !important;
	pointer-events:none !important;
}
.hero-poster, .hero .hero-poster {
	position: absolute !important;
	top:50% !important;
	left:0 !important;
	transform:translateY(-50%) !important;
	width:100% !important;
	height:clamp(420px, 60vh, 720px) !important;
	background-size: cover !important;
	background-position: center !important;
	filter: blur(16px) saturate(1.05) !important;
	transition: opacity .72s ease, transform .72s ease !important;
	z-index: 0 !important;
}
.hero.video-ready .hero-poster, .hero.video-ready .hero .hero-poster{ opacity:0 !important; transform:scale(1.02) !important; pointer-events:none !important; }
.hero-overlay, .hero .overlay, .hero .hero-overlay { position:absolute !important; inset:0 !important; z-index:1 !important; pointer-events:none !important; }
.hero .content { position:relative !important; z-index:2 !important; }
.hero{
	position:relative;
}
.hero::after{
	content:'';
	position:absolute;
	inset:0;
	background:radial-gradient(circle at 20% 20%, rgba(56,226,206,0.08), transparent 38%), linear-gradient(180deg, rgba(0,0,0,0.72), rgba(0,0,0,0.55) 40%, rgba(0,0,0,0.86));
	pointer-events:none;
	z-index:0;
}
html.light .hero::after{
	background:linear-gradient(180deg, rgba(255,255,255,0.02), rgba(255,255,255,0.06));
}

/* Homepage hero CTA spacing */
.hero-home .hero-cta-group{ margin-top:1.15rem; gap:1rem; }

/* Reduce header/hero gap */
main#site-content > .hero.hero-home{
	margin-top:0;
}
main#site-content{
	padding-top:0 !important;
}
.home-page .hero.hero-home{ padding-top:calc(var(--header-h) + var(--space-1)); }
@media(max-width:767px){
	.home-page .hero.hero-home{ padding-top:calc(var(--header-h) + var(--space-1)); }
}
@media(max-width:640px){
	.hero-redux{ padding:calc(var(--header-h) + 1.25rem) 0 3rem; }
	.hero-copy .hero-title{ font-size:clamp(2.1rem, 8vw, 3rem); }
	.hero-eyebrow{ letter-spacing:0.28em; }
}
@media(max-width:767px){
	body.blaze-page > section:first-of-type,
	body.kolasi-page > section:first-of-type{
		padding-top:calc(var(--header-h) + 10px);
	}
}

/* 2025 hero layout */
header.hero{
	position:relative;
	background:var(--bg);
	color:var(--text);
	isolation:isolate;
	padding:calc(var(--header-h) + var(--space-1)) var(--space-3) var(--space-4);
	scroll-margin-top:calc(var(--header-h) + var(--space-2));
}
header.hero::after{ display:none; }
header.hero::before{
	content:'';
	position:absolute;
	inset:0;
	background:radial-gradient(circle at 20% 20%, rgba(255,255,255,0.05), transparent 40%), linear-gradient(135deg, rgba(0,0,0,0.85), rgba(8,8,8,0.6));
	opacity:0.65;
	z-index:0;
}
html.light header.hero{
	background:linear-gradient(135deg, #fefbf6 0%, #f7eddc 52%, #f1e3d1 100%);
	color:#16120d;
}
html.light header.hero::before{
	background:radial-gradient(circle at 18% 28%, rgba(255,255,255,0.95), transparent 55%), radial-gradient(circle at 78% 6%, rgba(196,168,138,0.35), transparent 58%), linear-gradient(140deg, rgba(255,255,255,0.9), rgba(250,240,228,0.7));
	opacity:1;
}
html.light header.hero::after{
	display:block;
	content:'';
	position:absolute;
	left:10%;
	right:10%;
	bottom:-15%;
	height:240px;
	background:radial-gradient(circle, rgba(255,255,255,0.65), transparent 65%), linear-gradient(135deg, rgba(215,189,158,0.25), transparent 70%);
	filter:blur(45px);
	opacity:0.65;
	z-index:0;
}
html.light header.hero{
	background:linear-gradient(140deg, #fefbf6 0%, #f7edde 52%, #f1e3d1 100%);
	color:#16120d;
}
html.light header.hero::before{
	background:radial-gradient(circle at 18% 28%, rgba(255,255,255,0.92), transparent 55%), radial-gradient(circle at 78% 6%, rgba(196,168,138,0.35), transparent 58%), linear-gradient(140deg, rgba(255,255,255,0.9), rgba(250,240,228,0.7));
	opacity:1;
}
.hero-shell{
	width:100%;
	position:relative;
	z-index:1;
	display:flex;
	flex-direction:column;
	justify-content:flex-start;
	gap:var(--space-4);
	min-height:calc(100vh - var(--header-h));
}
.hero-grid{
	display:grid;
	gap:clamp(1.75rem, 4vw, 4rem);
	align-items:flex-start;
	grid-template-columns:minmax(0, 1.05fr) minmax(280px, 0.95fr);
	max-width:1200px;
	margin:0 auto;
	justify-content:center;
}
.hero-column{
	display:flex;
	flex-direction:column;
	gap:var(--space-4);
}
.hero-column--primary{
	max-width:640px;
	width:100%;
	justify-content:center;
	align-items:center;
	margin-right:0;
	text-align:center;
	gap:clamp(0.2rem, 0.6vw, 0.5rem);
	padding-block:clamp(1.5rem, 4vw, 3rem);
}
.hero-column--media{
	width:100%;
	align-items:center;
	justify-content:center;
}
.hero__content{ width:100%; }
.hero__media{
	position:relative;
	width:100%;
	max-width:clamp(320px, 55vw, 640px);
	padding:clamp(0.75rem, 1.6vw, 1.5rem);
	border-radius:32px;
	background:linear-gradient(155deg, rgba(5,5,5,0.95), rgba(8,8,8,0.7));
	border:1px solid rgba(255,255,255,0.14);
	box-shadow:0 32px 80px rgba(0,0,0,0.5);
	margin:0;
	display:flex;
	flex-direction:column;
}
html.light .hero__media{
	background:linear-gradient(150deg, rgba(255,255,255,0.95), rgba(247,233,214,0.85));
	border-color:rgba(0,0,0,0.08);
	box-shadow:0 26px 56px rgba(0,0,0,0.12);
}
.hero__media::after{ display:none; }
.hero-media-card__inner{
	position:relative;
	width:100%;
	aspect-ratio:16/9;
	border-radius:24px;
	overflow:hidden;
	background:#050505;
	box-shadow:0 28px 70px rgba(0,0,0,0.5);
}
.hero-media-card__inner::after{
	content:'';
	position:absolute;
	inset:auto 12% 8% auto;
	width:220px;
	height:120px;
	background:radial-gradient(circle, rgba(211,195,164,0.45), transparent 70%);
	filter:blur(25px);
	opacity:0.7;
	z-index:1;
}
.hero-media-card__inner picture.hero__poster,
.hero-media-card__inner .hero__poster,
.hero-media-card__inner .hero__video{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	z-index:0;
}
.hero-media-card__inner .hero__poster img,
.hero-media-card__inner .hero__video{
	width:100%;
	height:100%;
	object-fit:cover;
	border-radius:inherit;
}
.hero-media-card__inner .hero__video{
	filter:saturate(1.05) contrast(1.02);
}
.hero-media-card__label{
	display:flex;
	flex-direction:column;
	gap:0.35rem;
	margin-top:1.3rem;
}
.hero-media-card__eyebrow{
	font-size:0.72rem;
	letter-spacing:0.32em;
	text-transform:uppercase;
	color:var(--brand, #d3cfc5);
}
.hero-media-card__descriptor{
	font-size:0.9rem;
	letter-spacing:0.1em;
	text-transform:uppercase;
	color:var(--muted);
}
.hero-media-card__foot{
	margin-top:1rem;
	padding-top:0.85rem;
	border-top:1px solid rgba(255,255,255,0.14);
	font-size:0.9rem;
	letter-spacing:0.08em;
	text-transform:uppercase;
	color:rgba(247,247,245,0.72);
}
html.light .hero-media-card__foot{
	border-color:rgba(0,0,0,0.08);
	color:#574c41;
}
@media(max-width:1024px){
	.hero-grid{ grid-template-columns:1fr; }
	.hero-column--media{ align-items:center; }
	.hero__media{ margin:0 auto; max-width:520px; }
}
@media(max-width:640px){
	.hero__media{ padding:0.75rem; border-radius:24px; }
	.hero-media-card__inner{ aspect-ratio:16/9; border-radius:18px; }
	.hero-media-card__label{ margin-top:1rem; }
	.hero-copy{ align-items:center; text-align:center; }
}
.hero__poster{
	position:absolute;
	inset:0;
	z-index:0;
	transition:opacity .6s ease;
}
.hero__poster img,
.hero__media video{
	width:100%;
	height:100%;
	display:block;
	object-fit:cover;
	object-position:center;
}
.hero.video-ready .hero__poster{
	opacity:0;
	pointer-events:none;
}
.hero__media video{
	position:absolute;
	inset:0;
	filter:saturate(1.05);
	pointer-events:none;
	z-index:0;
}
.hero-copy{
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
	gap:var(--space-3);
}
html.light .hero-copy{ color:#16120d; }
.hero-eyebrow{
	font-size:clamp(0.68rem, 1.9vw, 0.85rem);
	letter-spacing:0.45em;
	text-transform:uppercase;
	color:var(--accent);
}
html.light .hero-eyebrow{ color:#a78154; }
.hero-title{
	font-size:clamp(2.35rem, 6vw, 4.6rem);
	line-height:1.05;
	color:var(--text);
}
html.light .hero-title{ color:#11100e; }
.hero-sub{
	font-size:clamp(1rem, 2.2vw, 1.35rem);
	color:var(--muted);
	align-items:center;
	max-width:60ch;
	margin:0 auto;
	text-align:center;
}
html.light .hero-sub{ color:#4a4036; }
.hero-stats-panel{
	background:transparent;
	text-align:center;
	border:none;
	box-shadow:none;
	padding:0;
	display:grid;
	gap:var(--space-2);
	width:100%;
	max-width:520px;
	margin-top:var(--space-3) !important;
	margin-left:auto;
	margin-right:auto;
	justify-items:center;
	justify-content:center;
	position:relative;
	top:auto;
	left:auto;
}
@media(min-width:640px){
	.hero-stats-panel{ grid-template-columns:repeat(auto-fit, minmax(200px, 1fr)); }
}

.hero-stat{
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
	gap:var(--space-1);
	padding:var(--space-2) var(--space-3) var(--space-3);
	border-radius:20px;
	border:1px solid rgba(255,255,255,0.12);
	background:linear-gradient(145deg, rgba(10,10,10,0.9), rgba(6,6,6,0.65));
	box-shadow:0 18px 40px rgba(0,0,0,0.35);
	position:relative;
}
.hero-stat::before{
	content:'';
	width:42px;
	height:2px;
	border-radius:999px;
	background:var(--accent-blaze);
	margin-bottom:0.25rem;
}
.hero-stat:nth-child(2)::before{ background:var(--accent-kolasi); }
html.light .hero-stat{
	border-color:rgba(0,0,0,0.08);
	background:linear-gradient(145deg, rgba(255,255,255,0.95), rgba(243,243,243,0.82));
	box-shadow:0 14px 30px rgba(0,0,0,0.14);
}
.hero-meta-label{
	letter-spacing:0.24em;
	font-size:0.64rem;
	text-transform:uppercase;
	color:rgba(247,247,245,0.75);
}
html.light .hero-meta-label{ color:#3d3329; }
.hero-meta-value{
	font-size:clamp(0.95rem, 1.8vw, 1.1rem);
	line-height:1.35;
}
.hero-stats-panel .hero-cta-group{
	margin-top:var(--space-2);
	justify-content:center;
	width:100%;
}
.hero-stats-panel .rounded-cta,
.hero-stats-panel .rounded-cta--ghost{
	width:auto;
	min-width:0;
}
.hero__media:focus-within::after,
.hero__media:hover::after{
	opacity:0.5;
}

@media (min-width:768px){
	header.hero{
		padding:calc(var(--header-h) + var(--space-4)) var(--space-4) var(--space-6);
	}
	.hero-grid{ gap:var(--space-6); }
	.hero__media{ border-radius:36px; }
}

@media (min-width:960px){
	.hero-grid{
		grid-template-columns:minmax(0, 1.05fr) minmax(0, 0.85fr);
		column-gap:clamp(3rem, 6vw, 6.5rem);
		align-items:stretch;
	}
	.hero-column--primary{
		height:100%;
		justify-content:space-between;
		transform:none;
		gap:clamp(0.15rem, 0.4vw, 0.35rem);
		padding-block:clamp(2rem, 5vh, 3.75rem);
	}
	.hero-column--media{
		align-self:stretch;
		justify-content:center;
	}
	.hero__media{
		margin:0 auto;
		min-height:520px;
	}
	.hero-stats-panel{
		align-self:flex-start;
		margin-top:var(--space-4) !important;
		top:auto;
		left:auto;
		transform:none;
	}
}
@media(max-width:959px){
	.hero-stats-panel{
		margin-top:var(--space-2) !important;
		top:auto;
		left:auto;
	}
}

@media (min-width:1280px){
	.hero-grid{
		grid-template-columns:minmax(0, 1fr) minmax(0, 0.75fr);
		gap:var(--space-7, 4rem);
	}
}

@media (prefers-reduced-motion: reduce){
	.hero__media video{ display:none; }
}

/* Feature highlights (Blaze/Kolasi tiles) */
.feature-duo{
	color:rgba(235,235,235,0.85);
	grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
	gap:1.25rem;
	margin-top:1.5rem;
}
.feature-card{
	position:relative;
	justify-content:center;
	align-items:center;
	gap:1.15rem;
	flex-wrap:wrap;
	width:100%;
	background:linear-gradient(145deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
	box-shadow:0 16px 44px rgba(0,0,0,0.28);
	overflow:hidden;
}
.feature-card::after{
	content:'';
	position:absolute;
	inset:0;
	background:radial-gradient(circle at 80% 10%, rgba(255,255,255,0.08), transparent 40%);
	pointer-events:none;
}
html.light .feature-card{
	background:linear-gradient(145deg, rgba(0,0,0,0.02), rgba(0,0,0,0.01));
	border-color:rgba(0,0,0,0.06);
	box-shadow:0 18px 32px rgba(0,0,0,0.1);
}
.feature-card.blaze{
	border-color:rgba(211,195,164,0.38);
}
.feature-card.kolasi{
	border-color:rgba(56,226,206,0.5);
}
.feature-card h3{
	margin-bottom:0.35rem;
}
.feature-meta{
	display:flex;
	align-items:center;
	gap:0.75rem;
	margin-top:0.75rem;
	font-size:0.95rem;
	color:rgba(235,235,235,0.74);
}
html.light .feature-meta{ color:#3a3a3a; }

/* Showcase / services */
.showcase-track{
	border-radius:24px;
	box-shadow:0 20px 60px rgba(0,0,0,0.26);
	overflow:hidden;
}
.showcase-slide{
	border-radius:22px;
	overflow:hidden;
}
.showcase-slide video{
	object-fit:cover;
	height:520px;
}
.showcase-caption{
	font-size:1.05rem;
	color:rgba(235,235,235,0.78);
}
html.light .showcase-caption{ color:#2f2f2f; }
.showcase-track .ss-control{
	border-radius:999px;
	border:1px solid rgba(255,255,255,0.16);
	background:rgba(0,0,0,0.4);
	backdrop-filter:blur(6px);
	box-shadow:0 10px 30px rgba(0,0,0,0.25);
}
html.light .showcase-track .ss-control{
	background:rgba(255,255,255,0.75);
	border-color:rgba(0,0,0,0.08);
}
.showcase-track .ss-dots button{
	width:9px;
	height:9px;
	border-radius:50%;
}

/* Kolasi media rail */
.kolasi-section .media-overlay{
	background:linear-gradient(180deg, rgba(0,0,0,0) 10%, rgba(0,0,0,0.55));
}
.kolasi-section figure,
.kolasi-section .rounded-2xl{
	border-radius:20px;
	box-shadow:0 18px 50px rgba(0,0,0,0.22);
	overflow:hidden;
}
.kolasi-gallery img{
	border-radius:14px !important;
	box-shadow:0 12px 22px rgba(0,0,0,0.2);
}
html.light .kolasi-gallery img{
	box-shadow:0 10px 18px rgba(0,0,0,0.1);
}
.kolasi-showcase-fixed{
	height:auto;
	min-height:0;
}
.kolasi-showcase-fixed video{
	display:block;
	width:100%;
	height:auto;
	min-height:0;
	aspect-ratio:16/9;
	object-fit:cover;
}
.kolasi-showcase-grid video{
	display:block;
	width:100%;
	height:auto !important;
	aspect-ratio:16/9;
	object-fit:cover;
}

.kolasi-logo-panel{
	width:100%;
	max-width:520px;
	height:20rem;
	border-radius:36px;
	border:1px solid rgba(255,255,255,0.08);
	background:linear-gradient(165deg, rgba(8,8,8,0.92), rgba(22,22,22,0.85));
	box-shadow:0 32px 90px rgba(0,0,0,0.65), inset 0 1px 0 rgba(255,255,255,0.08);
	backdrop-filter:blur(12px);
	display:flex;
	align-items:center;
	justify-content:center;
	padding:2rem;
}
.kolasi-logo-placeholder{
	font-family:"Playfair Display",serif;
	font-size:clamp(2.4rem,4vw,3.8rem);
	letter-spacing:0.4rem;
	text-transform:uppercase;
	color:#f5f5f5;
	opacity:0.82;
}
html.dark .kolasi-logo-panel{
	background:linear-gradient(165deg, rgba(4,4,4,0.95), rgba(0,0,0,0.92));
	border-color:rgba(255,255,255,0.15);
	box-shadow:0 32px 90px rgba(0,0,0,0.8), inset 0 1px 0 rgba(255,255,255,0.05);
}
html.light .kolasi-logo-panel{
	background:linear-gradient(155deg, rgba(10,10,10,0.95), rgba(0,0,0,0.82));
	border-color:rgba(0,0,0,0.35);
	box-shadow:0 25px 60px rgba(15,15,15,0.35), inset 0 1px 0 rgba(255,255,255,0.08);
}

.kolasi-shell{
	position:relative;
	border-radius:32px;
	padding:2.5rem;
	background:transparent;
	border:none;
	box-shadow:none;
}
.kolasi-shell::before{ display:none; }
.kolasi-layout{
	display:grid;
	grid-template-columns:repeat(2, minmax(0, 1fr));
	gap:2rem;
	align-items:start;
}
.kolasi-info-card{
	border-radius:32px;
	padding:2.25rem;
	background:linear-gradient(160deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
	border:1px solid rgba(255,255,255,0.12);
	box-shadow:0 28px 70px rgba(0,0,0,0.35);
}
.kolasi-media-grid{ position:relative; }
.kolasi-media-stack{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
	gap:1.25rem;
}
.kolasi-media-block{
	min-height:220px;
	display:flex;
	flex-direction:column;
}
.kolasi-media-block.kolasi-media-wide{
	grid-column:span 2;
	min-height:280px;
}

/* Homepage trusted-by social proof */
.trusted-section{
	position:relative;
	background:radial-gradient(circle at 12% 20%, rgba(211,195,164,0.25), transparent 52%), linear-gradient(160deg, rgba(8,8,8,0.95), rgba(5,5,5,0.8));
	color:#f5f5f2;
}
.trusted-shell{
	border:1px solid rgba(255,255,255,0.12);
	border-radius:32px;
	padding:3rem;
	background:linear-gradient(155deg, rgba(255,255,255,0.04), rgba(0,0,0,0.35));
	box-shadow:0 30px 80px rgba(0,0,0,0.5);
	display:flex;
	flex-direction:column;
	gap:2.5rem;
}
.trusted-copy{
	text-align:center;
	max-width:720px;
	margin:0 auto;
	display:flex;
	flex-direction:column;
	gap:1.25rem;
}
.trusted-eyebrow{
	letter-spacing:0.32em;
	text-transform:uppercase;
	font-size:0.72rem;
	color:rgba(247,247,245,0.7);
}
.trusted-desc{
	color:rgba(245,245,245,0.8);
}
.trusted-logos{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(180px,1fr));
	gap:1rem;
}
.trusted-logo-card{
	border:1px solid rgba(255,255,255,0.14);
	border-radius:20px;
	padding:1.5rem 1.25rem;
	text-align:center;
	background:linear-gradient(140deg, rgba(255,255,255,0.05), rgba(255,255,255,0.01));
	box-shadow:0 14px 36px rgba(0,0,0,0.35);
	font-weight:600;
	letter-spacing:0.08em;
	text-transform:uppercase;
	font-size:0.85rem;
	color:#f5f5f2;
	display:flex;
	flex-direction:column;
	gap:0.35rem;
	transition:transform 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.trusted-logo-card.has-logo{
	text-transform:none;
	letter-spacing:0;
	gap:0.6rem;
	align-items:center;
}
.trusted-logo-img{
	width:100%;
	max-width:160px;
	height:auto;
	max-height:70px;
	object-fit:contain;
	margin:0 auto;
	filter:drop-shadow(0 6px 18px rgba(0,0,0,0.35));
}
html.light .trusted-logo-img{ filter:none; }
.trusted-logo-img--invert{ filter:invert(1) brightness(2.1) drop-shadow(0 6px 18px rgba(0,0,0,0.35)); }
html.light .trusted-logo-img--invert{ filter:none; }
.trusted-logo-title{
	letter-spacing:0.22em;
	text-transform:uppercase;
	font-size:0.8rem;
}
.trusted-logo-card small{
	letter-spacing:0.12em;
	font-size:0.68rem;
	color:rgba(247,247,245,0.65);
}
.trusted-logo-card:hover{
	border-color:rgba(211,195,164,0.75);
	transform:translateY(-4px);
	transition:transform 0.2s ease, border-color 0.2s ease;
}
.trusted-meta{
	display:flex;
	justify-content:center;
	gap:2rem;
	flex-wrap:wrap;
}
.trusted-stat{
	padding:1rem 1.5rem;
	border-radius:999px;
	border:1px solid rgba(255,255,255,0.12);
	background:rgba(255,255,255,0.05);
	text-align:center;
	min-width:180px;
}
.trusted-stat__label{
	display:block;
	letter-spacing:0.2em;
	text-transform:uppercase;
	font-size:0.7rem;
	color:rgba(247,247,245,0.68);
}
.trusted-stat__value{
	display:block;
	margin-top:0.35rem;
	font-size:1.25rem;
	font-weight:600;
}
html.light .trusted-section{
	background:radial-gradient(circle at 10% 18%, rgba(211,195,164,0.45), transparent 55%), linear-gradient(145deg, #fef9f2, #f3e8db);
	color:#141414;
}
html.light .trusted-shell{
	background:linear-gradient(150deg, rgba(255,255,255,0.92), rgba(255,255,255,0.86));
	border-color:rgba(0,0,0,0.06);
	box-shadow:0 24px 70px rgba(0,0,0,0.15);
}
html.light .trusted-eyebrow{ color:#a4702a; }
html.light .trusted-desc{ color:#3e3a34; }
html.light .trusted-logo-card{
	border-color:rgba(0,0,0,0.08);
	background:linear-gradient(140deg, rgba(255,255,255,0.96), rgba(255,255,255,0.88));
	color:#111111;
	box-shadow:0 16px 36px rgba(0,0,0,0.12);
}
html.light .trusted-logo-card small{ color:#6a6157; }
html.light .trusted-stat{
	border-color:rgba(0,0,0,0.08);
	background:rgba(255,255,255,0.8);
}
html.light .trusted-stat__label{ color:#5a5046; }

@media(max-width:640px){
	.trusted-shell{ padding:1.75rem; border-radius:20px; }
	.trusted-copy h3{ font-size:1.65rem; }
	.trusted-logos{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
	.trusted-logo-card{ font-size:0.78rem; padding:1.1rem 0.75rem; }
	.trusted-meta{ flex-direction:column; gap:1rem; }
}
@media(max-width:768px){
	.kolasi-media-block.kolasi-media-wide{ grid-column:span 1; }
}
@media(max-width:767px){
	.kolasi-layout{ grid-template-columns:1fr; }
	.kolasi-media-stack{ grid-template-columns:1fr; gap:1rem; }
	.kolasi-media-block{ min-height:auto; border-radius:18px; overflow:hidden; box-shadow:0 14px 32px rgba(0,0,0,0.24); }
	.kolasi-media-block video{
		width:100%;
		height:auto;
		aspect-ratio:16/9;
		object-fit:cover;
		display:block;
	}
	.kolasi-media-block .media-overlay{ border-radius:inherit; }
}
.kolasi-gallery-band{
	border-radius:28px;
	padding:1.5rem;
	background:linear-gradient(120deg, rgba(56,226,206,0.1), rgba(255,255,255,0.02));
	border:1px solid rgba(255,255,255,0.1);
	box-shadow:0 24px 60px rgba(0,0,0,0.45);
}
.kolasi-gallery-track{
	display:flex;
	gap:1rem;
	overflow-x:auto;
	scroll-snap-type:x mandatory;
	padding-bottom:0.5rem;
	scrollbar-width:thin;
	scrollbar-color:rgba(255,255,255,0.4) transparent;
}
.kolasi-gallery-track::-webkit-scrollbar{ height:6px; }
.kolasi-gallery-track::-webkit-scrollbar-track{ background:rgba(255,255,255,0.05); border-radius:999px; }
.kolasi-gallery-track::-webkit-scrollbar-thumb{ background:rgba(255,255,255,0.35); border-radius:999px; }
html.light .kolasi-gallery-track{ scrollbar-color:rgba(0,0,0,0.45) transparent; }
html.light .kolasi-gallery-track::-webkit-scrollbar-track{ background:rgba(0,0,0,0.08); }
html.light .kolasi-gallery-track::-webkit-scrollbar-thumb{ background:rgba(0,0,0,0.35); }
.kolasi-gallery-card{
	min-width:170px;
	scroll-snap-align:start;
	border-radius:18px;
	padding:0.15rem;
	background:rgba(255,255,255,0.08);
	box-shadow:0 14px 36px rgba(0,0,0,0.35);
}
.kolasi-gallery-card img{ border-radius:14px !important; }
@media(max-width:1024px){
	.kolasi-layout{ grid-template-columns:1fr; }
	.kolasi-info-card{ padding:1.75rem; }
}
@media(max-width:640px){
	.kolasi-shell{ padding:1.5rem; }
	.kolasi-gallery-card{ min-width:140px; }
}
@media(max-width:767px){
	.kolasi-gallery-band{ box-shadow:0 14px 32px rgba(0,0,0,0.16); }
	.kolasi-gallery-card{ box-shadow:0 10px 22px rgba(0,0,0,0.14); }
	.kolasi-section figure,
	.kolasi-section .rounded-2xl{
		box-shadow:0 12px 26px rgba(0,0,0,0.14);
	}
	.kolasi-section .rounded-2xl video{
		min-height:220px;
	}
}

/* Cards */


/* Blaze carousels */
.blaze-carousel{
	position:relative;
	padding:1rem 0.5rem;
	border-radius:22px;
	border:1px solid rgba(255,255,255,0.08);
	background:linear-gradient(145deg, rgba(255,255,255,0.04), rgba(255,255,255,0.02));
	box-shadow:0 16px 44px rgba(0,0,0,0.24);
}
.carousel-viewport{
	scrollbar-width:none;
}
.carousel-track{
	gap:18px;
}
.carousel-item{
	border-radius:18px;
	overflow:hidden;
	box-shadow:0 12px 32px rgba(0,0,0,0.22);
}
.blaze-carousel .carousel-prev,
.blaze-carousel .carousel-next{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	width:42px;
	height:42px;
	border-radius:999px;
	border:1px solid rgba(255,255,255,0.22);
	background:rgba(0,0,0,0.45);
	color:#fff;
	display:grid;
	place-items:center;
	box-shadow:0 16px 34px rgba(0,0,0,0.35);
	z-index:10;
}
.blaze-carousel .carousel-prev{ left:-4px; }
.blaze-carousel .carousel-next{ right:-4px; }
html.light .blaze-carousel{
	background:linear-gradient(145deg, rgba(0,0,0,0.02), rgba(0,0,0,0.01));
	border-color:rgba(0,0,0,0.06);
	box-shadow:0 12px 26px rgba(0,0,0,0.1);
}
html.light .blaze-carousel .carousel-prev,
html.light .blaze-carousel .carousel-next{
	background:rgba(255,255,255,0.9);
	color:#111;
	border-color:rgba(0,0,0,0.08);
}

/* Lightroom gallery carousel */
.lightroom-section{
	border-radius:32px;
	border:1px solid rgba(255,255,255,0.12);
	background:linear-gradient(135deg, rgba(5,5,5,0.95), rgba(12,12,12,0.75));
	box-shadow:0 28px 70px rgba(0,0,0,0.45);
	text-align:center;
}
html.light .lightroom-section{
	background:linear-gradient(135deg, #fdfbf5, #f2eee6);
	border-color:rgba(0,0,0,0.06);
	box-shadow:0 24px 52px rgba(0,0,0,0.12);
}
.lr-heading{
	display:flex;
	flex-wrap:wrap;
	align-items:flex-end;
	gap:1.5rem;
	margin-bottom:1.5rem;
	justify-content:center;
}
.lr-heading__eyebrow{
	font-size:0.75rem;
	letter-spacing:0.35em;
	text-transform:uppercase;
	color:rgba(255,255,255,0.65);
	width:100%;
}
html.light .lr-heading__eyebrow{
	color:rgba(20,20,20,0.55);
}
.lr-heading__text h3{
	margin-bottom:0.35rem;
}
.lr-heading__text{
	max-width:640px;
	margin:0 auto;
}
.lr-heading__sub{
	color:rgba(255,255,255,0.75);
}
html.light .lr-heading__sub{
	color:rgba(20,20,20,0.7);
}
.lightroom-carousel{
	position:relative;
	padding:1rem 0 0;
}
.lr-carousel-viewport{
	overflow:visible;
}
.lr-carousel-track{
	display:flex;
	flex-wrap:wrap;
	justify-content:center;
	gap:1.5rem;
	padding:0.5rem 0 0.75rem;
	overflow:visible;
}
.lr-card{
	flex:1 1 100%;
	max-width:520px;
}
@media(min-width:640px){
	.lr-card{ flex:0 1 calc(50% - 1.25rem); max-width:560px; }
}
@media(min-width:1024px){
	.lr-card{ flex:0 1 calc(45% - 1.25rem); max-width:600px; }
}
.lr-card__link{
	display:flex;
	flex-direction:column;
	height:100%;
	border-radius:28px;
	overflow:hidden;
	border:1px solid rgba(255,255,255,0.14);
	background:linear-gradient(145deg, rgba(255,255,255,0.04), rgba(255,255,255,0.01));
	box-shadow:0 18px 38px rgba(0,0,0,0.35);
}
html.light .lr-card__link{
	border-color:rgba(0,0,0,0.08);
	background:linear-gradient(145deg, rgba(0,0,0,0.03), rgba(0,0,0,0.01));
	box-shadow:0 16px 34px rgba(0,0,0,0.12);
}
.lr-card__media-grid{
	display:block;
	padding:1.25rem 1.5rem 0;
}
.lr-card__media{
	position:relative;
	width:100%;
	border-radius:20px;
	overflow:hidden;
	background:linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.02));
	min-height:var(--lr-media-min, 220px);
	aspect-ratio:var(--lr-media-aspect, 4 / 3);
	box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);
}
html.light .lr-card__media{
	background:linear-gradient(135deg, rgba(0,0,0,0.08), rgba(0,0,0,0.02));
	box-shadow:inset 0 1px 0 rgba(0,0,0,0.08);
}
.lr-card__media img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
}
.lr-card__media--primary{
	--lr-media-min:280px;
}
.lr-card__media--secondary{
	--lr-media-min:120px;
	flex:1;
}
.lr-card__media--portrait{
	--lr-media-aspect:3 / 4;
}
.lr-card__media--landscape{
	--lr-media-aspect:4 / 3;
}
.lr-card__media--empty{
	background:repeating-linear-gradient(135deg, rgba(255,255,255,0.08), rgba(255,255,255,0.08) 12px, rgba(255,255,255,0.02) 12px, rgba(255,255,255,0.02) 24px);
	border:1px dashed rgba(255,255,255,0.2);
}
html.light .lr-card__media--empty{
	background:repeating-linear-gradient(135deg, rgba(0,0,0,0.05), rgba(0,0,0,0.05) 12px, rgba(0,0,0,0.015) 12px, rgba(0,0,0,0.015) 24px);
	border-color:rgba(0,0,0,0.12);
}
@media(max-width:640px){
	.lr-card__media--secondary{
		--lr-media-min:150px;
	}
}
.lr-card__body{
	padding:1.5rem;
	display:flex;
	flex-direction:column;
	gap:0.35rem;
	height:100%;
	text-align:center;
}
.lr-card__eyebrow{
	font-size:0.8rem;
	letter-spacing:0.18em;
	text-transform:uppercase;
	color:rgba(255,255,255,0.65);
}
html.light .lr-card__eyebrow{ color:rgba(30,30,30,0.55); }
.lr-card__meta{
	font-size:0.9rem;
	color:rgba(255,255,255,0.7);
}
html.light .lr-card__meta{ color:rgba(15,15,15,0.65); }
.lr-card__cta{
	margin-top:auto;
	display:inline-flex;
	align-self:flex-start;
	justify-content:center;
	margin-left:auto;
	margin-right:auto;
}
.lr-note{
	margin-top:1.5rem;
	font-size:0.85rem;
	color:rgba(255,255,255,0.6);
}
html.light .lr-note{
	color:rgba(0,0,0,0.6);
}

/* Blaze section (index) */
#blaze-production .blaze-shell{
	border-radius:30px;
	padding:2rem 1.5rem 1.75rem;
	background:transparent;
	border:none;
	box-shadow:none;
}
html.light #blaze-production .blaze-shell{
	background:transparent;
	border:none;
	box-shadow:none;
}
#blaze-production .blaze-layout{
	display:grid;
	grid-template-columns: minmax(320px, 420px) 1fr;
	gap:1.5rem;
	align-items:flex-start;
}
@media(max-width:960px){
	#blaze-production .blaze-layout{
		grid-template-columns:1fr;
	}
}
#blaze-production .blaze-identity-card{
	padding:1.75rem;
	border-radius:24px;
	border:1px solid rgba(255,255,255,0.08);
	background:linear-gradient(160deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02));
	box-shadow:0 18px 42px rgba(0,0,0,0.28);
	height:100%;
}
html.light #blaze-production .blaze-identity-card{
	background:linear-gradient(160deg, rgba(0,0,0,0.03), rgba(0,0,0,0.01));
	border-color:rgba(0,0,0,0.06);
	box-shadow:0 14px 32px rgba(0,0,0,0.12);
}
.blaze-badge-row{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:1rem;
}
.blaze-card-divider{
	width:100%;
	height:1px;
	background:linear-gradient(90deg, transparent, rgba(255,255,255,0.14), transparent);
	margin:1.25rem 0;
}
#blaze-production .blaze-media-panel{
	display:flex;
	align-items:center;
	justify-content:center;
	padding:0.5rem;
	width:100%;
}
.blaze-media-grid{
	display:grid;
	grid-template-columns:repeat(auto-fill, minmax(180px, 1fr));
	gap:14px;
	align-items:stretch;
}
.blaze-media-grid .blaze-media-tile:nth-child(n+7){
	opacity:0.85;
}
@media(max-width:640px){
	.blaze-media-grid{
		grid-template-columns:repeat(auto-fill, minmax(140px, 1fr));
	}
}
.blaze-media-tile{
	position:relative;
	aspect-ratio:3/4;
	border-radius:18px;
	overflow:hidden;
	box-shadow:0 16px 36px rgba(0,0,0,0.25);
	background:rgba(255,255,255,0.02);
}
.blaze-media-tile img{
	position:absolute;
	inset:0;
	width:100%;
	height:100%;
	object-fit:cover;
}
.blaze-footer-cta{
	display:flex;
	justify-content:center;
	margin-top:1.5rem;
}

/* Orbit carousel: triple-view hero for Blaze page */
.orbit-carousel{
	--orbit-offset: clamp(120px, 18vw, 240px);
	--orbit-tilt: 14deg;
	--orbit-depth: clamp(320px, 55vw, 540px);
	position:relative;
	display:flex;
	align-items:center;
	gap:1.5rem;
	padding:2rem 0 2.5rem;
}
.orbit-stage{
	position:relative;
	flex:1;
	min-height:var(--orbit-depth);
	perspective:1400px;
}
.orbit-stage:focus-visible{
	outline:3px solid var(--focus-ring);
	outline-offset:6px;
}
.orbit-slide{
	position:absolute;
	top:50%;
	left:50%;
	width:min(68vw, 540px);
	height:100%;
	max-height:var(--orbit-depth);
	border-radius:28px;
	overflow:hidden;
	transform:translate(-50%, -50%) scale(0.84);
	opacity:0;
	pointer-events:none;
	box-shadow:0 18px 50px rgba(0,0,0,0.35);
	transition:transform .72s cubic-bezier(.22,.9,.28,1), opacity .45s ease, box-shadow .45s ease, filter .45s ease;
	background:rgba(0,0,0,0.4);
}
.orbit-slide img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.orbit-slide.is-active{
	opacity:1;
	pointer-events:auto;
	transform:translate(-50%, -50%) scale(1);
	z-index:3;
	box-shadow:0 32px 90px rgba(0,0,0,0.5);
}
.orbit-slide.is-left{
	opacity:0.9;
	transform:translate(calc(-50% - var(--orbit-offset)), -50%) scale(0.9) rotateY(var(--orbit-tilt));
	z-index:2;
	filter:saturate(0.85);
}
.orbit-slide.is-right{
	opacity:0.9;
	transform:translate(calc(-50% + var(--orbit-offset)), -50%) scale(0.9) rotateY(calc(-1 * var(--orbit-tilt)));
	z-index:2;
	filter:saturate(0.85);
}
.orbit-slide.is-off{
	opacity:0;
	transform:translate(-50%, -50%) scale(0.75);
}
.orbit-control{
	position:absolute;
	top:50%;
	width:52px;
	height:52px;
	border-radius:999px;
	border:1px solid var(--btn-border);
	background:var(--btn-bg);
	color:var(--btn-color);
	display:inline-flex;
	align-items:center;
	justify-content:center;
	font-size:1.5rem;
	box-shadow:0 18px 38px rgba(0,0,0,0.18);
	cursor:pointer;
	transition:transform .3s cubic-bezier(.22,.9,.28,1), box-shadow .3s cubic-bezier(.22,.9,.28,1);
	z-index:4;
	transform:translate3d(0,-50%,0);
}
.orbit-control--prev{ left:0; }
.orbit-control--next{ right:0; }
.orbit-control:hover,
.orbit-control:focus-visible{
	transform:translate3d(0,-50%,0) translateY(-4px) scale(1.05);
	box-shadow:0 28px 70px rgba(0,0,0,0.24);
}
.orbit-carousel.is-dragging{
	user-select:none;
}
.orbit-carousel.is-dragging .orbit-stage,
.orbit-carousel.is-dragging .orbit-slide img{
	cursor:grabbing;
}
html.light .orbit-slide{ background:rgba(255,255,255,0.6); }
html.light .orbit-slide img{ filter:saturate(1.02); }

.orbit-carousel--lr{
	--orbit-depth: clamp(400px, 48vw, 640px);
	--orbit-offset: clamp(42px, 9vw, 120px);
	padding-bottom:2rem;
}
.orbit-carousel--lr .orbit-stage{
	min-height:calc(var(--orbit-depth) + 12px);
}
.orbit-carousel--lr .orbit-slide{
	width:min(64vw, 440px);
	height:auto;
	max-height:none;
	background:rgba(6,6,6,0.9);
	border:1px solid rgba(255,255,255,0.14);
	box-shadow:0 22px 66px rgba(0,0,0,0.4);
	overflow:visible;
}
html.light .orbit-carousel--lr .orbit-slide{
	background:rgba(255,255,255,0.95);
	border-color:rgba(0,0,0,0.08);
	box-shadow:0 20px 48px rgba(0,0,0,0.16);
}
.orbit-carousel--lr .orbit-slide.is-active{
	box-shadow:none;
}
.orbit-carousel--lr .orbit-slide::after{
	content:'';
	position:absolute;
	inset:-32px;
	border-radius:34px;
	background:radial-gradient(circle at top, rgba(255,255,255,0.08), rgba(0,0,0,0));
	filter:blur(35px);
	z-index:-1;
}
.orbit-carousel--lr .orbit-control{
	margin-top:0.65rem;
	width:48px;
	height:48px;
}
.orbit-carousel--lr .orbit-control--prev{ left:-30px; }
.orbit-carousel--lr .orbit-control--next{ right:-30px; }

.orbit-carousel--blaze-home{
	--orbit-depth: clamp(340px, 52vw, 540px);
	--orbit-offset: clamp(70px, 12vw, 160px);
	width:100%;
	padding:0.25rem 0 2rem;
}
.orbit-carousel--blaze-home .orbit-stage{
	min-height:var(--orbit-depth);
}
.orbit-carousel--blaze-home .orbit-slide{
	border-radius:26px;
	border:1px solid rgba(255,255,255,0.12);
	background:linear-gradient(145deg, rgba(0,0,0,0.72), rgba(0,0,0,0.35));
}
html.light .orbit-carousel--blaze-home .orbit-slide{
	border-color:rgba(0,0,0,0.06);
	background:linear-gradient(145deg, rgba(255,255,255,0.96), rgba(255,255,255,0.78));
}
#blaze-production .orbit-carousel--blaze-home .orbit-control{
	background:rgba(0,0,0,0.6);
	color:#fff;
}
html.light #blaze-production .orbit-carousel--blaze-home .orbit-control{
	background:rgba(255,255,255,0.96);
	color:#111;
}

@media(max-width:1024px){
	.orbit-carousel{
		flex-direction:column;
		align-items:center;
	}
	.orbit-stage{
		width:100%;
		min-height:clamp(340px, 60vw, 480px);
	}
	.orbit-control{
		position:static;
		transform:none;
	}
	.orbit-control:hover,
	.orbit-control:focus-visible{
		transform:translateY(-2px) scale(1.03);
	}
	.orbit-carousel--lr{
		padding-bottom:2.75rem;
		position:relative;
	}
	.orbit-carousel--lr .orbit-stage{ width:100%; }
	.orbit-carousel--lr .orbit-control{
		position:absolute;
		top:-0.4rem;
		transform:none;
		margin-top:0;
		z-index:5;
	}
	.orbit-carousel--lr .orbit-control--prev{ left:10%; }
	.orbit-carousel--lr .orbit-control--next{ right:10%; }
}

@media(max-width:768px){
	.orbit-carousel{
		--orbit-offset: clamp(80px, 24vw, 140px);
	}
	.orbit-slide{
		width:min(82vw, 380px);
	}
	.orbit-slide.is-left,
	.orbit-slide.is-right{
		opacity:0.85;
		pointer-events:none;
		transform:translate(-50%, -50%) scale(0.88);
	}
	.orbit-control{
		width:44px;
		height:44px;
	}
	.orbit-carousel--lr{
		padding:1.5rem 0 2rem;
	}
	.orbit-carousel--lr .orbit-stage{
		min-height:clamp(380px, 110vw, 560px);
	}
	.orbit-carousel--lr .orbit-slide{
		width:min(78vw, 340px);
	}
	.orbit-carousel--lr .orbit-control{
		width:40px;
		height:40px;
		top:-0.65rem;
	}
}

@media(max-width:560px){
	.orbit-carousel--lr{ padding:1.35rem 0 1.5rem; gap:0.75rem; }
	.orbit-carousel--lr .orbit-stage{
		min-height:clamp(340px, 140vw, 520px);
	}
	.orbit-carousel--lr .orbit-slide{
		width:min(90vw, 290px);
	}
	.orbit-carousel--lr .orbit-control{
		width:36px;
		height:36px;
	}
}

@media(max-width:768px){
	.orbit-carousel--lr .orbit-slide.is-left,
	.orbit-carousel--lr .orbit-slide.is-right{
		opacity:0.78;
		pointer-events:none;
	}
	.orbit-carousel--lr .orbit-slide.is-left{
		transform:translate(calc(-50% - clamp(10px, 6vw, 30px)), -50%) scale(0.82) rotateY(7deg);
	}
	.orbit-carousel--lr .orbit-slide.is-right{
		transform:translate(calc(-50% + clamp(10px, 6vw, 30px)), -50%) scale(0.82) rotateY(-7deg);
	}
}

@media(max-width:560px){
	.orbit-carousel--lr .orbit-stage{ padding:0 0.5rem; }
	.orbit-carousel--lr .orbit-slide{ max-width:320px; }
	.orbit-carousel--lr .orbit-control--prev{ left:6%; }
	.orbit-carousel--lr .orbit-control--next{ right:6%; }
}

@media(max-width:1024px){
	.orbit-carousel--blaze-home{
		padding:0.75rem 0 2.25rem;
	}
}

@media(max-width:640px){
	#blaze-production .orbit-carousel--blaze-home{
		border-radius:20px;
		box-shadow:0 14px 38px rgba(0,0,0,0.22);
		padding-top:2.25rem;
		position:relative;
	}
	#blaze-production .orbit-carousel--blaze-home .orbit-control{
		position:absolute;
		top:0.35rem;
		transform:none;
		margin-top:0;
		z-index:6;
	}
	#blaze-production .orbit-carousel--blaze-home .orbit-control--prev{ left:8%; }
	#blaze-production .orbit-carousel--blaze-home .orbit-control--next{ right:8%; }
}

@media(max-width:620px){
	.orbit-carousel--blaze-home{
		padding:0.35rem 0 1.75rem;
	}
	.orbit-carousel--blaze-home .orbit-stage{
		min-height:clamp(300px, 105vw, 440px);
	}
}

@media(max-width:768px){
	.orbit-carousel--blaze-home{
		--orbit-offset: clamp(32px, 10vw, 72px);
	}
	.orbit-carousel--blaze-home .orbit-slide{
		width:min(92vw, 420px);
	}
	.orbit-carousel--blaze-home .orbit-slide.is-left{
		opacity:0.82;
		transform:translate(calc(-50% - clamp(20px, 9vw, 48px)), -50%) scale(0.9) rotateY(9deg);
	}
	.orbit-carousel--blaze-home .orbit-slide.is-right{
		opacity:0.82;
		transform:translate(calc(-50% + clamp(20px, 9vw, 48px)), -50%) scale(0.9) rotateY(-9deg);
	}
}

@media(max-width:560px){
	.orbit-carousel--blaze-home{
		--orbit-offset: clamp(22px, 12vw, 42px);
	}
	.orbit-carousel--blaze-home .orbit-slide{
		width:min(94vw, 360px);
	}
	.orbit-carousel--blaze-home .orbit-slide.is-left{
		opacity:0.78;
		transform:translate(calc(-50% - clamp(16px, 7vw, 36px)), -50%) scale(0.88) rotateY(7deg);
	}
	.orbit-carousel--blaze-home .orbit-slide.is-right{
		opacity:0.78;
		transform:translate(calc(-50% + clamp(16px, 7vw, 36px)), -50%) scale(0.88) rotateY(-7deg);
	}
	.orbit-carousel--blaze-home .orbit-control{
		width:38px;
		height:38px;
	}
}

/* Blaze section responsive polish */
@media(max-width:640px){
	#blaze-production .blaze-shell{
		padding:0.85rem;
		border-radius:18px;
		box-shadow:none;
		border:none;
		background:transparent;
		width:100%;
		max-width:100%;
	}
	#blaze-production .blaze-shell::after{ display:none; }
	#blaze-production .blaze-layout{
		display:flex;
		flex-direction:column;
		gap:0.85rem;
	}
	#blaze-production .blaze-identity-card{
		padding:1.1rem;
		border-radius:16px;
		box-shadow:0 16px 32px rgba(0,0,0,0.25);
	}
	#blaze-production .blaze-identity-card h3{ font-size:1.32rem; line-height:1.25; }
	#blaze-production .blaze-identity-card p,
	#blaze-production .blaze-identity-card li{ font-size:0.95rem; line-height:1.45; word-break:break-word; }
	#blaze-production .blaze-media-panel{ padding:0; }
	#blaze-production .orbit-carousel--blaze-home{ padding:0; }
	#blaze-production .orbit-carousel--blaze-home .orbit-stage{ min-height:clamp(280px, 115vw, 420px); }
}
@media(max-width:767px){
	#blaze-production .orbit-carousel--blaze-home{
		width:100%;
		border-radius:18px;
		box-shadow:0 12px 28px rgba(0,0,0,0.18);
	}
}

/* CTA/footer preview */
.cta-panel{
	border-radius:24px;
	padding:2rem;
	border:1px solid rgba(255,255,255,0.12);
	background:linear-gradient(160deg, rgba(255,255,255,0.06), rgba(255,255,255,0.02));
	box-shadow:0 20px 54px rgba(0,0,0,0.3);
}
html.light .cta-panel{
	border-color:rgba(0,0,0,0.06);
	background:linear-gradient(160deg, rgba(0,0,0,0.02), rgba(0,0,0,0.01));
	box-shadow:0 16px 32px rgba(0,0,0,0.12);
}

/* Kolasi hero: force full-bleed video on all breakpoints (default hero rules use translateY). */
.kolasi-page .hero-video{
	position:absolute !important;
	inset:0 !important;
	width:100% !important;
	height:100% !important;
	min-height:100% !important;
	transform:none !important;
	top:0 !important;
	left:0 !important;
	object-fit:cover !important;
	z-index:-1 !important;
	pointer-events:none !important;
}
.kolasi-page .kolasi-surface{
	position:relative;
	z-index:1;
	display:flex !important;
	flex-direction:column !important;
	align-items:center !important;
	justify-content:center !important;
	text-align:center !important;
	width:100% !important;
	max-width:900px !important;
	margin:0 auto !important;
	padding-left:1.5rem !important;
	padding-right:1.5rem !important;
}
html:not(.dark) .kolasi-surface,
html:not(.dark) .kolasi-surface h1{
	color:#ffffff !important;
}
html:not(.dark) .kolasi-surface p{ color:rgba(255,255,255,0.92) !important; }
html.dark .kolasi-surface,
.kolasi-surface.html-dark-fallback{
	background:transparent !important;
	box-shadow:none !important;
	border:none !important;
	backdrop-filter:none !important;
}
.kolasi-page #services .kolasi-card video{ position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; object-fit:cover !important; }
.kolasi-page #services .kolasi-card .kolasi-overlay{ max-width:92%; }
.kolasi-page #kolasi-hero-title{ display:inline-block !important; white-space:normal !important; word-break:break-word !important; overflow-wrap:anywhere !important; hyphens:auto !important; margin:0 0 0.9rem !important; }
.kolasi-page .kolasi-surface p{ margin-bottom:1rem !important; max-width:56ch !important; }
.kolasi-page .kolasi-surface .kolasi-button{ margin-top:0.25rem !important; }
.kolasi-page .kolasi-surface .kolasi-muted{ white-space:normal !important; word-break:break-word !important; overflow-wrap:anywhere !important; }
@media(min-width:768px){
	.kolasi-page #kolasi-hero-title{ white-space:nowrap !important; }
	.kolasi-page .kolasi-surface .kolasi-muted{ white-space:nowrap !important; }
}

/* force readable hero text in both themes */
.hero .content,
.hero h1,
.hero h2,
.hero p,
.hero .hero-sub,
.hero .hero-title-line {
	color:var(--text) !important;
}

html.dark .hero .content,
html.dark .hero h1,
html.dark .hero p,
html.dark .hero .hero-sub,
html.dark .hero .hero-title-line {
	color:#ffffff !important;
}

@media(max-width:640px){
	.header-nav{ display:none !important; }
	.theme-btn{ margin-left:8px !important; }
	.brand{ font-size:1rem !important; }
}

.site-header .max-w-7xl{ padding-top:0; padding-bottom:0; }
.site-header .max-w-7xl[class*="py-"]{ padding-top:0; padding-bottom:0; }

@media(min-width:1024px){
	.hero{ position:relative; }
	/* On large screens, keep hero content aligned for an editorial layout */
	.hero .content{ padding-right:0 !important; }
}
/* Ensure default light theme if no class is present on html */
html:not(.dark) body, html.light body{ background:var(--ivory); color:var(--text); /* light theme button tweaks: stronger for media contrast */ --btn-bg: rgba(255,255,255,0.96); --btn-color: var(--text); --btn-border: rgba(0,0,0,0.06); --btn-glow: rgba(17,17,17,0.06); --btn-glow-intense: rgba(17,17,17,0.16); --btn-elev: rgba(0,0,0,0.06); --focus-ring: rgba(17,17,17,0.30); }
/* Dark theme when html.dark is present */
html.dark body{ background:linear-gradient(180deg,var(--dark-1),var(--dark-2)); color:#f7f7f5;
	/* dark theme button tweaks: tuned for better contrast */
	--btn-bg: rgba(255,255,255,0.04);
	--btn-color: #f7f7f5;
	--btn-border: rgba(255,255,255,0.08);
	--btn-glow: rgba(255,255,255,0.04);
	--btn-glow-intense: rgba(255,255,255,0.12);
	--btn-elev: rgba(0,0,0,0.48);
	--focus-ring: rgba(255,255,255,0.30);
	--hero-text: #f7f7f5;
}

/* Dark-mode fallbacks for Tailwind utility classes used in HTML files
   Some templates use Tailwind neutral-600 / neutral-900 without dark: variants.
   Provide conservative fallbacks so text remains readable in html.dark. */
html.dark .text-neutral-600 { color: rgba(247,247,245,0.78) !important; }
html.dark .text-neutral-400 { color: rgba(247,247,245,0.62) !important; }
html.dark .text-neutral-800, html.dark .text-neutral-900, html.dark .text-neutral-700 { color: rgba(247,247,245,0.96) !important; }
html.dark .text-neutral-300, html.dark .text-neutral-100 { color: rgba(247,247,245,0.92) !important; }

/* Convert obvious white section backgrounds to low-contrast dark tints in html.dark */
html.dark .bg-white { background-color: rgba(255,255,255,0.03) !important; }
html.dark .bg-white\/60 { background-color: rgba(255,255,255,0.03) !important; }

/* Ensure card / panel text inherits a light color when a dark bg is present */
html.dark .about-card, html.dark .contact-panel { color: inherit !important; }

/* Additional fallbacks for fractional bg utilities and common components */
html.dark .bg-white\/85 { background-color: rgba(255,255,255,0.04) !important; }
html.dark .bg-white\/90 { background-color: rgba(255,255,255,0.04) !important; }
html.dark .bg-white\/94 { background-color: rgba(255,255,255,0.05) !important; }

/* About timeline point: ensure visibility in dark mode when color is hardcoded */
html.dark .about-timeline .point { background: rgba(247,247,245,0.92) !important; box-shadow: 0 0 0 6px rgba(247,247,245,0.06) !important; }

/* Contact form inputs: ensure label and input colors remain legible */
html.dark .contact-input { color: rgba(247,247,245,0.95) !important; }
html.dark .contact-label { color: rgba(247,247,245,0.76) !important; }

/* Service cards and other white panels fallback */
html.dark .gallery-track, html.dark .showcase-caption { background-color: rgba(255,255,255,0.03) !important; color: inherit !important; }

#blaze-production{
	display:block;
	width:100%;
	height:auto;
	overflow:visible;
	position:relative;
	z-index:10;
}

body { font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; }

/* header */
header.app-header{ position:fixed; top:0; left:0; width:100%; z-index:90; backdrop-filter: blur(8px); transition: background .25s ease, color .25s ease, border-color .25s ease; height:var(--header-h); }
html.light header.app-header {
	background: linear-gradient(135deg, rgba(251,247,241,0.98), rgba(233,223,209,0.94));
	color:var(--text);
	border-bottom:1px solid rgba(93,70,43,0.18);
	box-shadow:0 18px 55px rgba(90,70,45,0.12);
}
html.dark header.app-header  { background: rgba(10,10,10,0.72); color:#f7f7f5; border-bottom:1px solid rgba(255,255,255,0.04); }

/* Make header sit above the hero panel */
header.app-header{ z-index:1200; }

/* Consistent header across all pages */

/* Ensure mobile nav overlay and panel sit above all page chrome (authoritative) */
.site-nav-overlay { position: fixed; inset: 0; background: rgba(0,0,0,0.45); opacity: 0; pointer-events: none; transition: opacity .25s ease; z-index: 9999 !important; }
.site-nav-overlay.open { opacity: 1; pointer-events: auto; }
.site-nav-panel { position: fixed; left: 0; top: 0; height: 100%; width: 320px; background: rgba(6,6,6,0.92); color: #fff; padding: 2.25rem 1.5rem; transform: translateX(-16px); opacity: 0; transition: transform .25s ease, opacity .25s ease; display:flex; flex-direction:column; gap:0.5rem; z-index: 10000 !important; }
.site-nav-overlay.open .site-nav-panel { transform: none; opacity: 1; }
@media(max-width:767px){
	.site-nav-panel{ width:min(88vw, 340px); padding:1.6rem 1.4rem; }
}
.nav-overlay-link{
	display:block;
	padding:0.75rem 0;
	font-size:1rem;
	letter-spacing:0.08em;
	text-transform:uppercase;
	font-weight:600;
	color:#ffffff;
	text-decoration:none;
	border-bottom:1px solid rgba(255,255,255,0.06);
}
.nav-overlay-link:last-child{ border-bottom:0; }
.nav-overlay-link:hover,
.nav-overlay-link:focus-visible{ color:var(--brand, #d3cfc5); }

/* ensure body content isn't hidden under fixed header */
main{ padding-top:calc(var(--header-h) + 8px); }
@media(max-width:640px){ main{ padding-top:calc(var(--header-h) + 6px); } }
.header-right{ display:flex; align-items:center; gap:12px; margin-left:auto; }
.nav-pill{ display:inline-block; }

/* Unified pill-button system */
:where(.pill-button, .kolasi-button, .header-control, .nav-pill, .menu-toggle, .rounded-cta, .btn-primary, #visitBlaze, #visitKolasi, button, button[type="button"], button[type="submit"], button.quote-submit, input[type="button"], input[type="submit"], a.btn-on-media, a[role="button"], .action-group a, .ss-control) {
	--pill-height: 3rem;
	--pill-py: .75rem;
	--pill-px: 2.5rem;
	--pill-bg-light: var(--btn-bg);
	--pill-color-light: var(--btn-color);
	--pill-border-light: var(--btn-border);
	--pill-shadow-light: 0 12px 36px var(--btn-elev);
	--pill-bg-dark: transparent;
	--pill-color-dark: var(--accent);
	--pill-border-dark: var(--accent);
	--pill-shadow-dark: none;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	gap: .45rem;
	padding: var(--pill-py) var(--pill-px) !important;
	min-height: var(--pill-height) !important;
	border-radius: 999px !important;
	font-weight: 600 !important;
	letter-spacing: .02em;
	text-transform: none !important;
	text-decoration: none !important;
	line-height: 1 !important;
	position: relative;
	transition: transform .28s cubic-bezier(.22,.9,.28,1), box-shadow .36s cubic-bezier(.22,.9,.28,1), background-color .18s ease, color .18s ease, border-color .18s ease;
	transform-origin: center center;
	will-change: transform, box-shadow;
	backface-visibility: hidden;
}

html:not(.dark) :where(.pill-button, .kolasi-button, .header-control, .nav-pill, .menu-toggle, .rounded-cta, .btn-primary, #visitBlaze, #visitKolasi, button, button[type="button"], button[type="submit"], button.quote-submit, input[type="button"], input[type="submit"], a.btn-on-media, a[role="button"], .action-group a, .ss-control) {
	background: var(--pill-bg-light) !important;
	color: var(--pill-color-light) !important;
	border: 1px solid var(--pill-border-light) !important;
	box-shadow: var(--pill-shadow-light) !important;
}

/* Header-specific elevated treatment */
.header .header-control,
.app-header .header-control,
.header-right .header-control{
	position:relative;
	padding-inline:1.4rem !important;
	min-width:96px;
	text-transform:uppercase !important;
	letter-spacing:0.12em !important;
	font-size:0.76rem !important;
	backdrop-filter:blur(10px) saturate(140%);
}
.header .header-control::after,
.app-header .header-control::after,
.header-right .header-control::after{
	content:'';
	position:absolute;
	inset:4px;
	border-radius:999px;
	border:1px solid rgba(255,255,255,0.6);
	opacity:0.72;
	pointer-events:none;
}

html:not(.dark) .app-header .header-control{
	background:linear-gradient(145deg, rgba(255,255,255,0.95), rgba(244,236,223,0.9)) !important;
	border:1px solid rgba(141,118,90,0.35) !important;
	box-shadow:0 12px 34px rgba(81,63,41,0.18), inset 0 1px rgba(255,255,255,0.85) !important;
	color:#1f150b !important;
}
html:not(.dark) .app-header .header-control::after{ border-color:rgba(255,255,255,0.9); opacity:0.85; }
html:not(.dark) .app-header .header-control:hover,
html:not(.dark) .app-header .header-control:focus-visible{
	background:linear-gradient(145deg, rgba(255,255,255,0.98), rgba(250,241,229,0.95)) !important;
	box-shadow:0 20px 60px rgba(81,63,41,0.26), 0 0 26px rgba(255,255,255,0.65) !important;
}
html:not(.dark) .app-header .header-control:active{ transform:translateY(-2px) scale(0.99); box-shadow:0 12px 30px rgba(81,63,41,0.2) inset; }
html:not(.dark) .app-header .header-control.is-active{ box-shadow:0 24px 70px rgba(81,63,41,0.32), 0 0 32px rgba(255,255,255,0.7) !important; }

.app-header .header-control:hover,
.app-header .header-control:focus-visible{
	background:linear-gradient(135deg, rgba(255,255,255,0.98), rgba(243,243,243,0.8)) !important;
	box-shadow:0 20px 50px rgba(15,15,15,0.25), 0 0 25px rgba(255,255,255,0.4) !important;
}
.app-header .header-control:active{ transform:translateY(-2px) scale(0.99); box-shadow:0 12px 32px rgba(15,15,15,0.18) inset; }
.app-header .header-control.is-active{ color:#111 !important; box-shadow:0 18px 60px rgba(0,0,0,0.25), 0 0 30px rgba(255,255,255,0.5) !important; }

html.dark .app-header .header-control{
	background:linear-gradient(135deg, rgba(18,18,18,0.88), rgba(35,35,35,0.7)) !important;
	border:1px solid rgba(255,255,255,0.12) !important;
	color:#f7f7f5 !important;
	box-shadow:0 16px 40px rgba(0,0,0,0.6), inset 0 1px rgba(255,255,255,0.08) !important;
}
html.dark .app-header .header-control::after{ border-color:rgba(255,255,255,0.25); opacity:0.45; }
html.dark .app-header .header-control:hover,
html.dark .app-header .header-control:focus-visible{
	box-shadow:0 22px 55px rgba(0,0,0,0.7), 0 0 32px rgba(212,205,189,0.45) !important;
	background:linear-gradient(135deg, rgba(35,35,35,0.9), rgba(55,55,55,0.75)) !important;
}
html.dark .app-header .header-control.is-active{
	color:#fefefe !important;
	box-shadow:0 26px 70px rgba(0,0,0,0.75), 0 0 36px rgba(212,205,189,0.6) !important;
}

html:not(.dark) :where(.pill-button, .kolasi-button, .header-control, .nav-pill, .menu-toggle, .rounded-cta, .btn-primary, #visitBlaze, #visitKolasi, button, button[type="button"], button[type="submit"], button.quote-submit, input[type="button"], input[type="submit"], a.btn-on-media, a[role="button"], .action-group a, .ss-control):hover,
html:not(.dark) :where(.pill-button, .kolasi-button, .header-control, .nav-pill, .menu-toggle, .rounded-cta, .btn-primary, #visitBlaze, #visitKolasi, button, button[type="button"], button[type="submit"], button.quote-submit, input[type="button"], input[type="submit"], a.btn-on-media, a[role="button"], .action-group a, .ss-control):focus-visible {
	transform: translateY(-6px) scale(1.06);
	box-shadow: 0 30px 80px rgba(0,0,0,0.18), 0 0 40px var(--btn-glow-intense);
}

html:not(.dark) :where(.pill-button, .kolasi-button, .header-control, .nav-pill, .menu-toggle, .rounded-cta, .btn-primary, #visitBlaze, #visitKolasi, button, button[type="button"], button[type="submit"], button.quote-submit, input[type="button"], input[type="submit"], a.btn-on-media, a[role="button"], .action-group a, .ss-control):focus-visible {
	outline: 3px solid var(--focus-ring);
	outline-offset: 6px;
}

html.dark :where(.pill-button, .kolasi-button, .header-control, .nav-pill, .menu-toggle, .rounded-cta, .btn-primary, #visitBlaze, #visitKolasi, button, button[type="button"], button[type="submit"], button.quote-submit, input[type="button"], input[type="submit"], a.btn-on-media, a[role="button"], .action-group a, .ss-control) {
	background: var(--pill-bg-dark) !important;
	color: var(--pill-color-dark) !important;
	border: 1px solid var(--pill-border-dark) !important;
	box-shadow: var(--pill-shadow-dark) !important;
}

html.dark :where(.pill-button, .kolasi-button, .header-control, .nav-pill, .menu-toggle, .rounded-cta, .btn-primary, #visitBlaze, #visitKolasi, button, button[type="button"], button[type="submit"], button.quote-submit, input[type="button"], input[type="submit"], a.btn-on-media, a[role="button"], .action-group a, .ss-control):hover,
html.dark :where(.pill-button, .kolasi-button, .header-control, .nav-pill, .menu-toggle, .rounded-cta, .btn-primary, #visitBlaze, #visitKolasi, button, button[type="button"], button[type="submit"], button.quote-submit, input[type="button"], input[type="submit"], a.btn-on-media, a[role="button"], .action-group a, .ss-control):focus-visible {
	background: var(--accent);
	color: #0a0a0a;
	transform: translateY(-4px) scale(1.04);
	box-shadow: 0 24px 60px rgba(211,207,197,0.28);
}

html.dark :where(.pill-button, .kolasi-button, .header-control, .nav-pill, .menu-toggle, .rounded-cta, .btn-primary, #visitBlaze, #visitKolasi, button, button[type="button"], button[type="submit"], button.quote-submit, input[type="button"], input[type="submit"], a.btn-on-media, a[role="button"], .action-group a, .ss-control):focus-visible {
	outline: 3px solid rgba(211,207,197,0.36);
	outline-offset: 6px;
}

:where(.pill-button, .kolasi-button, .header-control, .nav-pill, .menu-toggle, .rounded-cta, .btn-primary, #visitBlaze, #visitKolasi, button, button[type="button"], button[type="submit"], button.quote-submit, input[type="button"], input[type="submit"], a.btn-on-media, a[role="button"], .action-group a, .ss-control):active {
	transform: translateY(-1px) scale(1.01);
	box-shadow: var(--pill-shadow-light);
}

html.dark :where(.pill-button, .kolasi-button, .header-control, .nav-pill, .menu-toggle, .rounded-cta, .btn-primary, #visitBlaze, #visitKolasi, button, button[type="button"], button[type="submit"], button.quote-submit, input[type="button"], input[type="submit"], a.btn-on-media, a[role="button"], .action-group a, .ss-control):active {
	box-shadow: var(--pill-shadow-dark);
}

:where(.pill-button, .kolasi-button, .header-control, .nav-pill, .menu-toggle, .rounded-cta, .btn-primary, #visitBlaze, #visitKolasi, button, button[type="button"], button[type="submit"], button.quote-submit, input[type="button"], input[type="submit"], a.btn-on-media, a[role="button"], .action-group a, .ss-control)[disabled],
:where(.pill-button, .kolasi-button, .header-control, .nav-pill, .menu-toggle, .rounded-cta, .btn-primary, #visitBlaze, #visitKolasi, button, button[type="button"], button[type="submit"], button.quote-submit, input[type="button"], input[type="submit"], a.btn-on-media, a[role="button"], .action-group a, .ss-control).is-disabled {
	opacity: 0.58;
	transform: none !important;
	box-shadow: none !important;
	cursor: not-allowed !important;
	filter: saturate(0.82);
}

.site-header :where(.header-control, .nav-pill, .theme-btn) {
	--pill-height: var(--header-control-h);
	--pill-py: .45rem;
	--pill-px: 1.25rem;
	font-size: 0.95rem;
}

.site-header :where(.header-control, .nav-pill, .theme-btn):disabled {
	opacity: 0.58;
	cursor: not-allowed;
	transform: none !important;
	box-shadow: none !important;
}


.header-divider{ width:1px; height:28px; background: rgba(0,0,0,0.06); margin:0 8px; border-radius:2px; }

.theme-btn{ cursor:pointer; }


/* Loader removed in favor of immediate render to improve performance */


/* Cinematic modal styling: hidden by default, visible when .open is present */
#cinematicModal.modal{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,0.72); visibility:hidden; opacity:0; pointer-events:none; transition:opacity .28s ease, visibility .28s; z-index:1200; }
#cinematicModal.modal.open{ display:flex; visibility:visible; opacity:1; pointer-events:auto; }
#cinematicModal .modal-close{ position:absolute; top:18px; right:18px; font-size:28px; color:#fff; background:transparent; border:none; cursor:pointer; }
#cinematicModal video{ max-width:92vw; max-height:86vh; border-radius:8px; box-shadow:0 24px 80px rgba(0,0,0,0.6); transform-origin:center center; transition: transform .42s cubic-bezier(.22,.9,.28,1), opacity .42s cubic-bezier(.22,.9,.28,1); }

/* Modal animation helper states (fallback if GSAP not present) */
#cinematicModal.modal-animating video{ transform: scale(.98); opacity:0; }
#cinematicModal.open video{ transform: scale(1); opacity:1; }

/* Prevent body scroll when modal open */
.no-scroll{ overflow:hidden; height:100%; }


.ss-control {
	background: var(--btn-bg);
	color: var(--btn-color);
	border: 1px solid var(--btn-border);
	width: 48px;
	height: 48px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 9999px;
	font-size: 28px;
	cursor: pointer;
	transition: transform .28s cubic-bezier(.22,.9,.28,1), box-shadow .36s cubic-bezier(.22,.9,.28,1), background-color .18s ease, color .18s ease, border-color .18s ease;
	box-shadow: 0 8px 20px rgba(0,0,0,0.06);
}

.ss-control:hover,
.ss-control:focus-visible {
	transform: translateY(-6px) scale(1.06);
	box-shadow: 0 30px 80px rgba(0,0,0,0.18), 0 0 40px var(--btn-glow-intense);
}

.ss-control:focus-visible {
	outline: 3px solid var(--focus-ring);
	outline-offset: 4px;
}

/* Helper for buttons that sit directly on media (hero, cards) to ensure contrast */
.btn-on-media{ background: color-mix(in srgb, var(--btn-bg) 86%, rgba(0,0,0,0.06)); border-color: color-mix(in srgb, var(--btn-border) 86%, rgba(0,0,0,0.06)); padding: 10px 18px; }
html.dark .btn-on-media{ background: color-mix(in srgb, var(--btn-bg) 86%, rgba(255,255,255,0.02)); border-color: color-mix(in srgb, var(--btn-border) 86%, rgba(255,255,255,0.02)); }

/* Action group: responsive ~ stacked on narrow screens, side-by-side on wide screens */
.action-group{ display:flex; align-items:center; justify-content:center; flex-direction:column; gap:10px; }
@media(min-width:768px){ .action-group{ flex-direction:row; } }
.action-group .rounded-cta{ height:44px; padding:0 20px; font-size:1rem; }

/* Ensure header container items are centered and baseline aligned */
.site-header{ position:relative; z-index:9998; }
.site-header .max-w-7xl{ display:flex; align-items:center; gap:12px; height:100%; }
.site-header .brand{ display:flex; align-items:center; height:100%; flex:0 0 auto; }
.header-right{ align-items:center; display:flex; gap:12px; flex:0 0 auto; margin-left:auto; }
/* unified header-control sizing */
.root, :root{ --header-control-h:28px; }
.site-header .brand, .theme-btn, .header-divider{ height:var(--header-control-h); display:inline-flex; align-items:center; }
.theme-btn{ height:var(--header-control-h); padding:0 10px; min-width:72px; box-sizing:border-box; }
.header-divider{ width:1px; margin:0 8px; align-self:center; height:56%; background: rgba(0,0,0,0.06); }
.site-header .theme-btn{
	background:var(--btn-bg);
	color:var(--btn-color);
	border-color:var(--btn-border);
	box-shadow:0 12px 26px var(--btn-elev);
}
.site-header .theme-btn:hover,
.site-header .theme-btn:focus-visible{
	transform:translateY(-3px) scale(1.02);
	box-shadow:0 22px 44px rgba(0,0,0,0.18);
}

@media(max-width:767px){
	.site-header{
		position:relative;
		z-index:9998;
		min-height:var(--header-h);
	}
	.site-header,
	.app-header{
		padding:0 1rem;
	}
	.site-header .max-w-7xl{
		display:flex;
		align-items:center;
		justify-content:center;
		position:relative;
		min-height:var(--header-h);
		height:var(--header-h) !important;
		padding:0 !important;
	}
	.site-header .brand{
		flex:0 1 auto;
		min-width:0;
		white-space:nowrap;
		overflow:hidden;
		text-overflow:ellipsis;
		text-align:center;
		max-width:100%;
	}
	.header-right{
		margin-left:0;
		gap:8px;
		position:absolute;
		right:0;
		top:50%;
		transform:translateY(-50%);
	}
	.site-header .menu-toggle,
	.site-header .theme-btn,
	.site-header .theme-toggle,
	.site-header [data-theme-toggle]{
		display:inline-flex;
		align-items:center;
		justify-content:center;
		height:38px !important;
		min-height:38px !important;
		min-width:78px;
		padding:0 1rem !important;
		border-radius:9999px !important;
		font-size:0.8rem;
		line-height:1;
	}
	.site-header .theme-btn{
		margin-left:0 !important;
	}
	.site-header .menu-toggle{
		position:absolute;
		left:0;
		top:50%;
		transform:translateY(-50%);
	}
	.header-divider{ display:none; }
}

@media(max-width:900px){
	.header-divider{ display:none; }
}

/* Keep nav flexible but avoid fixed min-widths that cause reflow */
.nav { display:flex; align-items:center; gap:8px; }


/* === BLAZE HERO FIX === */
/* match index hero colors for blaze hero */
.blaze-page .blaze-surface,
.blaze-page .blaze-surface .hero-content,
.blaze-page .blaze-surface h1,
.blaze-page .blaze-surface h2,
.blaze-page .blaze-surface h3,
.blaze-page .blaze-surface p,
.blaze-page .blaze-surface .subheading,
.blaze-page .blaze-surface .eyebrow {
	color: #ffffff;
}


html.light body.blaze-page .blaze-surface,
html.light body.blaze-page .blaze-surface h1,
html.light body.blaze-page .blaze-surface h2,
html.light body.blaze-page .blaze-surface p,
html.light body.blaze-page .blaze-surface .subheading,
html.light body.blaze-page .blaze-surface .eyebrow {
	color: #ffffff !important;
}

html.light body.blaze-page .blaze-surface .blaze-muted {
	color: rgba(255,255,255,0.86) !important;
}

body.blaze-page #heroContent .rounded-cta,
body.blaze-page #heroContent .pill-button,
body.blaze-page #heroContent .hero-cta {
	background: rgba(255,255,255,0.92);
	color: #0a0a0a;
	border: 1px solid rgba(255,255,255,0.15);
}

/* Make showcase arrows and dots higher contrast and match button pop */
.ss-control, .showcase-arrow{ background: var(--btn-bg); color: var(--btn-color); border:1px solid var(--btn-border); box-shadow:0 12px 34px var(--btn-elev); }
.ss-control:hover, .showcase-arrow:hover{ transform: translateY(-6px) scale(1.06); box-shadow: 0 30px 80px rgba(0,0,0,0.18), 0 0 40px var(--btn-glow-intense); }
.ss-dot{ background: rgba(255,255,255,0.6); border:1px solid rgba(0,0,0,0.06); }
.ss-dot.active{ box-shadow: 0 8px 24px rgba(0,0,0,0.12); }

/* Animated reveal for Visit pills */
.visit-reveal{ animation: visitIn .36s cubic-bezier(.2,.9,.2,1) both; }
@keyframes visitIn{ from{ opacity:0; transform:translateY(8px); } to{ opacity:1; transform:none; } }

/* ----------------------------------------
   Page: About
-----------------------------------------*/
.about-hero{
	background:radial-gradient(circle at top,#1d1d1d 0%,#090909 60%,#050505 100%);
	color:#f7f7f5;
}
.about-hero p{ color:rgba(247,247,245,0.9); }
html.light .about-hero{
	background:linear-gradient(180deg,#f7f7f5 0%,#ece9e3 50%,#dfdbd2 100%);
	color:#0b0b0b;
}
html.light .about-hero p{ color:#3a3734; }
.about-timeline{
	position:relative;
	padding-left:2rem;
	border-left:1px solid rgba(255,255,255,0.08);
}
html.light .about-timeline{ border-left:1px solid rgba(0,0,0,0.14); }
.about-timeline .point{
	position:absolute;
	left:-0.58rem;
	top:0.5rem;
	width:0.75rem;
	height:0.75rem;
	border-radius:999px;
	background:#f7f7f5;
	box-shadow:0 0 0 6px rgba(247,247,245,0.08);
}
html.light .about-timeline .point{
	background:#111;
	box-shadow:0 0 0 6px rgba(0,0,0,0.06);
}
.about-card{
	background:rgba(255,255,255,0.04);
	border:1px solid rgba(255,255,255,0.06);
	backdrop-filter:blur(6px);
}
html.light .about-card{
	background:rgba(255,255,255,0.95);
	border-color:rgba(0,0,0,0.08);
}
html.light .about-hero h1{ color:var(--hero-text, #111) !important; }
html.light .about-hero p,
html.light .about-hero .text-neutral-600{ color:rgba(0,0,0,0.66) !important; opacity:1 !important; }
html.light .about-timeline h3{ color:var(--hero-text, #111) !important; }
html.light .about-timeline p{ color:rgba(0,0,0,0.62) !important; }
html.light .about-card{ background:rgba(255,255,255,0.96) !important; border-color:rgba(0,0,0,0.06) !important; }
html.light .about-card h3,
html.light .about-card p{ color:#111 !important; }
html.light .about-card p{ color:rgba(0,0,0,0.75) !important; }
html.light .bg-white\/60{ background-color:rgba(255,255,255,0.60) !important; }
html.light .text-neutral-600{ color:rgba(0,0,0,0.64) !important; opacity:1 !important; }
html.light .text-neutral-800{ color:rgba(0,0,0,0.86) !important; opacity:1 !important; }
html.light .text-neutral-900{ color:rgba(0,0,0,0.95) !important; opacity:1 !important; }
html.light .lets-create{
	background-color:var(--paper, #fbf9f7) !important;
	color:var(--text, #111) !important;
}
html.light .lets-create h2,
html.light .lets-create p{ color:var(--text, #111) !important; opacity:1 !important; text-shadow:none !important; }
html.light .lets-create .rounded-cta{
	background:var(--btn-bg) !important;
	color:var(--btn-color) !important;
	border-color:var(--btn-border) !important;
	box-shadow:0 18px 48px rgba(0,0,0,0.06) !important;
}
html.light .lets-create .text-neutral-600{ color:rgba(0,0,0,0.66) !important; opacity:1 !important; }

/* ----------------------------------------
   Page: Contact
-----------------------------------------*/
.contact-hero{
	background:radial-gradient(circle at 20% 20%,rgba(255,255,255,0.12),rgba(0,0,0,0.92));
	color:#f7f7f5;
}
html.light .contact-hero{
	background:linear-gradient(180deg,#f7f7f5 0%,#efece6 50%,#e2ded5 100%);
	color:#111;
}
.contact-hero p{ color:rgba(247,247,245,0.8); }
html.light .contact-hero p{ color:#5b5852; }
.contact-panel{
	background:rgba(255,255,255,0.05);
	border:1px solid rgba(255,255,255,0.08);
	backdrop-filter:blur(6px);
	color:#f7f7f5;
}
html.light .contact-panel{
	background:rgba(255,255,255,0.9);
	border-color:rgba(0,0,0,0.06);
	color:#111;
}
.contact-input{
	background:rgba(0,0,0,0.6);
	color:#f7f7f5;
	border:1px solid rgba(255,255,255,0.14);
	transition:background .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.contact-input:focus{
	background:rgba(0,0,0,0.72);
	border-color:var(--btn-border, rgba(255,255,255,0.24));
}
html.light .contact-input{
	background:rgba(255,255,255,0.94);
	color:#111;
	border-color:rgba(0,0,0,0.12);
}
html.light .contact-input:focus{
	background:#fff;
	border-color:rgba(0,0,0,0.24);
}
.contact-label{
	position:absolute;
	left:1rem;
	top:1rem;
	font-size:0.85rem;
	color:rgba(255,255,255,0.7);
	transition:all .22s ease;
	pointer-events:none;
	background:transparent;
	padding:0 .35rem;
}
.contact-input:focus + .contact-label,
.contact-input:not(:placeholder-shown) + .contact-label{
	transform:translateY(-1.4rem);
	font-size:0.72rem;
	color:#d3cfc5;
	background:rgba(0,0,0,0.86);
	border-radius:999px;
}
html.light .contact-label{ color:#5a5a5a; }
html.light .contact-input:focus + .contact-label,
html.light .contact-input:not(:placeholder-shown) + .contact-label{
	background:#f7f7f5;
	color:#111;
}
.social-links{
	display:flex;
	gap:1rem;
	flex-wrap:wrap;
	align-items:center;
}
.social-link{
	display:inline-flex;
	align-items:center;
	gap:0.6rem;
	text-decoration:none;
	color:inherit;
	font-size:1rem;
}
.social-link img{
	width:36px;
	height:36px;
	object-fit:contain;
	display:block;
}
html.light .contact-info{ color:var(--text, #111) !important; }
html.light .contact-info h2,
html.light .contact-info h3{ color:var(--text, #111) !important; opacity:1 !important; }
html.light .contact-info p,
html.light .contact-info a{ color:rgba(0,0,0,0.66) !important; opacity:1 !important; }
html.light .lets-meet{
	background-color:var(--paper, #fbf9f7) !important;
	color:var(--text, #111) !important;
}
html.light .lets-meet h2,
html.light .lets-meet p{ color:var(--text, #111) !important; opacity:1 !important; text-shadow:none !important; }
html.light .lets-meet .rounded-cta{
	background:var(--btn-bg) !important;
	color:var(--btn-color) !important;
	border-color:var(--btn-border) !important;
	box-shadow:0 18px 48px rgba(0,0,0,0.06) !important;
}
@media(max-width:1024px){ html.light .contact-info{ padding-top:0.25rem; } }

/* ----------------------------------------
   Page: Quote
-----------------------------------------*/
body.quote-page{ background:var(--paper); color:var(--text); }
html.dark body.quote-page{
	background:linear-gradient(180deg,#060606,#101010);
	color:#f5f5f5;
}
.quote-hero{ padding:120px 0 80px; }
.quote-kicker{
	display:inline-flex;
	align-items:center;
	gap:10px;
	padding:8px 16px;
	border-radius:999px;
	background:rgba(0,0,0,0.04);
	color:#111;
	font-size:0.9rem;
	font-weight:600;
	letter-spacing:0.04em;
	text-transform:uppercase;
}
html.dark .quote-kicker{ background:rgba(255,255,255,0.08); color:#f5f5f5; }
.quote-title{ font-size:clamp(2.6rem,4.5vw,3.6rem); line-height:1.05; }
.quote-intro{ color:#4a4a4a; }
html.dark .quote-intro{ color:rgba(245,245,245,0.7); }
.quote-grid{ display:grid; gap:28px; }
@media(min-width:1024px){ .quote-grid{ grid-template-columns:1fr 1fr; gap:34px; } }
.quote-surface{
	background:rgba(255,255,255,0.94);
	border-radius:28px;
	border:1px solid rgba(0,0,0,0.06);
	box-shadow:0 24px 70px rgba(0,0,0,0.12);
	backdrop-filter:blur(10px);
	padding:32px;
}
html.dark .quote-surface{
	background:rgba(12,12,12,0.78);
	border-color:rgba(255,255,255,0.08);
	box-shadow:0 24px 70px rgba(0,0,0,0.48);
}
.quote-section-title{ font-size:1.2rem; font-weight:600; margin-bottom:18px; }
.quote-list{ color:#444; }
html.dark .quote-list{ color:rgba(245,245,245,0.78); }
.quote-placeholder{
	border:1px dashed rgba(0,0,0,0.12);
	border-radius:18px;
	display:grid;
	place-items:center;
	min-height:160px;
	background:rgba(0,0,0,0.02);
	color:rgba(0,0,0,0.42);
	font-size:0.9rem;
	font-weight:500;
}
html.dark .quote-placeholder{
	border-color:rgba(255,255,255,0.14);
	background:rgba(255,255,255,0.04);
	color:rgba(245,245,245,0.6);
}
.quote-label{ display:block; font-size:0.85rem; font-weight:600; margin-bottom:6px; color:#1c1c1c; }
html.dark .quote-label{ color:#f5f5f5; }
.quote-input{
	width:100%;
	border-radius:16px;
	border:1px solid rgba(0,0,0,0.1);
	background:rgba(255,255,255,0.9);
	padding:12px 16px;
	color:#111;
	font-size:0.97rem;
	transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.quote-input::placeholder{ color:rgba(0,0,0,0.42); }
html.dark .quote-input{
	border-color:rgba(255,255,255,0.12);
	background:rgba(12,12,12,0.65);
	color:#f5f5f5;
}
html.dark .quote-input::placeholder{ color:rgba(245,245,245,0.46); }
.quote-input:focus{
	outline:none;
	border-color:rgba(0,0,0,0.32);
	box-shadow:0 0 0 3px rgba(0,0,0,0.08);
}
html.dark .quote-input:focus{
	border-color:rgba(255,255,255,0.62);
	box-shadow:0 0 0 3px rgba(255,255,255,0.12);
}
.quote-secondary{ color:#4a4a4a; }
html.dark .quote-secondary{ color:rgba(245,245,245,0.7); }
.quote-footer{ padding:64px 0; }
.quote-contact{ color:#4a4a4a; font-size:0.95rem; }
html.dark .quote-contact{ color:rgba(245,245,245,0.68); }
.quote-footer-bar{
	background:rgba(255,255,255,0.9);
	border-top:1px solid rgba(0,0,0,0.08);
}
html.dark .quote-footer-bar{
	background:rgba(10,10,10,0.72);
	border-color:rgba(255,255,255,0.08);
}
.quote-footer-text{ color:#4a4a4a; font-size:0.85rem; }
html.dark .quote-footer-text{ color:rgba(245,245,245,0.7); }


/* HERO ~ centered panel for strong legibility over video */
.hero { position:relative; min-height:calc(100vh - var(--header-h,72px)); display:flex; align-items:center; justify-content:center; overflow:hidden; padding: calc(var(--header-h,72px) + 28px) clamp(1.5rem, 4vw, 3rem) clamp(64px, 11vh, 112px); text-align:center; }

/* Prefer dynamic viewport units where supported to avoid mobile address-bar shrink issues */
@supports (height: 100dvh) {
	.hero { min-height: calc(100dvh - var(--header-h,72px)); }
	.no-scroll { height: 100dvh; }
}
.hero-poster, .hero-video, .hero .bg, .hero video.bg {
	position:absolute !important;
	top:50% !important;
	left:0 !important;
	transform:translateY(-50%) !important;
	width:100% !important;
	height:clamp(420px, 60vh, 720px) !important;
	object-fit:cover !important;
	z-index:0 !important;
	filter: saturate(.96) contrast(.98) !important;
}
.hero-overlay, .hero .overlay { position:absolute; inset:0; z-index:1; pointer-events:none; background: linear-gradient(180deg, rgba(0,0,0,0.06), rgba(0,0,0,0.12)); }
html.light .hero-overlay, html.light .hero .overlay { background: linear-gradient(180deg, rgba(255,255,245,0.06), rgba(255,255,245,0.02)); }
html.dark .hero-overlay, html.dark .hero .overlay { background: linear-gradient(180deg, rgba(0,0,0,0.12), rgba(0,0,0,0.22)); }
.hero .content { position:relative; z-index:2; width:100%; max-width:1100px; color: var(--hero-text); display:flex; justify-content:center; align-items:center; padding:0 1rem; }

/* Hero title lines & ampersand styling (moved from inline in index.html) */
.hero-title-line{ display:block; text-align:center; }
/* Small improvement: ensure hero titles stack and have consistent spacing on small screens */
@media (max-width:767px){ .hero-title-line{ display:block; margin-bottom:0.25rem; } }
.hero-amp{ display:block; text-align:center; margin:0.25rem 0; font-weight:600; font-size:1.1em; line-height:1; }
.hero-sub{ text-align:center; max-width:54ch; margin:0.75rem auto 0; }
/* Hero bullet list: horizontal on wide screens, stacked on small screens */

/* Blaze highlight points (single row on desktop) */
.blaze-points{ list-style:none; padding:0; margin:0 0 1rem; display:flex; gap:18px; align-items:flex-start; flex-wrap:wrap; }
.blaze-points li{ position:relative; padding-left:18px; color: rgba(0,0,0,0.64); font-size:0.98rem; line-height:1.4; }
.blaze-points li::before{ content:''; position:absolute; left:0; top:8px; width:6px; height:6px; background: rgba(0,0,0,0.5); border-radius:999px; }
@media(min-width:1024px){
	.blaze-points{ flex-wrap: nowrap; }
	.blaze-points li{ flex: 0 0 calc((100% - 36px) / 3); }
}
@media(min-width:1024px){
	.hero{ min-height:calc(100vh - var(--header-h,72px)); padding: calc(var(--header-h,72px) + 48px) clamp(2rem, 6vw, 4rem) clamp(72px, 12vh, 128px); }
}
@media(max-width:900px){
	.hero{ text-align:center; min-height:72vh; padding: calc(var(--header-h,72px) + 20px) 1.25rem 72px; }
	.hero .content{ padding:0; }
	.nav a, .nav-pill{ display:none; }
	.header-right{ gap:6px; }
}

/* Kolasi-specific light hero variant (use <section class="hero kolasi"> on Kolasi landing) */
.hero.kolasi .overlay { background: linear-gradient(180deg, rgba(255,255,255,0.92), rgba(255,255,255,0.86)); }
.hero.kolasi .content { color: #111111; text-shadow: 0 8px 22px rgba(255,255,255,0.7); }
.hero h1 { font-family:'Playfair Display', serif; font-size: clamp(2rem, 5vw, 4.25rem); line-height:1.02; margin:0 0 .6rem; }
.hero p { font-size: clamp(1rem, 2.2vw, 1.125rem); margin:0 0 1rem; color: var(--muted); }

/* custom cursor element */
#cursor{position:fixed; left:0; top:0; width:20px; height:20px; border-radius:50%; pointer-events:none; z-index:99999; transform:translate(-50%,-50%); transition: transform .12s linear, width .18s ease, height .18s ease, border .18s ease; mix-blend-mode:difference; border:1.6px solid rgba(255,255,255,0.95); background:transparent; }
#cursor.grow, .cursor--grow{ width:40px; height:40px; background: rgba(255,255,255,0.06); border-width:1.8px; }


/* Showcase minimal, elegant styling (extracted) */
.showcase-track{ padding:18px; }
.showcase-caption-wrap{ display:flex; align-items:center; justify-content:center; margin-bottom:18px; }
.showcase-caption{ padding:8px 18px; border-radius:999px; background: color-mix(in srgb, var(--btn-bg) 88%, #fff 12%); color:var(--text); box-shadow: 0 12px 36px rgba(0,0,0,0.06); max-width:900px; width: min(88%, 900px); text-align:center; }
.showcase-caption .showcap-title{ font-weight:700; font-size:1.05rem; }
.showcase-caption .showcap-desc{ margin-top:4px; color:var(--muted); font-size:0.95rem; }

/* Dark-mode: make the showcase caption pill darker and the text light for contrast */
html.dark .showcase-caption{
	background: rgba(0,0,0,0.36) !important;
	color: var(--ivory) !important;
	box-shadow: 0 12px 36px rgba(0,0,0,0.48) !important;
}
html.dark .showcase-caption .showcap-title{ color: var(--ivory) !important; }
html.dark .showcase-caption .showcap-desc{ color: rgba(247,247,245,0.85) !important; }
.showcase-slides{ position:relative; height:60vh; max-height:560px; }
.showcase-slide{ position:absolute; inset:0; display:flex; align-items:end; justify-content:center; padding:28px; opacity:0; transition:opacity .7s ease; pointer-events:none; }
.showcase-slide.active{ opacity:1; z-index:2; pointer-events:auto; }
.showcase-slide video{ width:100%; height:100%; object-fit:cover; border-radius:8px; box-shadow:0 28px 80px rgba(0,0,0,0.16); pointer-events:auto; }
.showcap{
	position:absolute;
	left:50%;
	transform:translateX(-50%);
	bottom:28px;
	z-index:40;
	color:var(--ivory);
	background: rgba(0,0,0,0.42);
	padding:12px 18px;
	border-radius:10px;
	font-size:.95rem;
	backdrop-filter: blur(6px);
	box-shadow: 0 18px 48px rgba(0,0,0,0.12);
	max-width: min(86%, 860px);
	width: auto;
}
.showcap-title{ font-weight:700; font-size:1.05rem; margin-bottom:6px; }
.showcap-desc{ font-size:0.95rem; opacity:0.95; }
.ss-control{ position:absolute; top:50%; transform:translateY(-50%); background: var(--control-bg-light); color: var(--control-color-light); border:0; width:48px; height:48px; border-radius:9999px; font-size:28px; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:90; pointer-events:auto; box-shadow: 0 8px 20px rgba(0,0,0,0.06); }
.ss-prev{ left:12px; } .ss-next{ right:12px; }
.ss-dots{ position:absolute; left:50%; transform:translateX(-50%); bottom:12px; display:flex; gap:8px; z-index:60; }
.ss-dot{ width:10px; height:10px; border-radius:9999px; background:rgba(255,255,255,0.6); border:0; cursor:pointer; }
.ss-dot.active{ background:var(--dot-active-light); }
@media(max-width:900px){ .showcase-slides{ height:44vh; } .showcase-slide{ padding:12px; } }


/* Use explicit theme classes on <html> for predictable colors */
html.light .showcap{ background: color-mix(in srgb, var(--btn-bg) 88%, #fff 12%); color:var(--text); box-shadow: 0 18px 48px rgba(0,0,0,0.06); }
html.light .ss-control{ background:var(--control-bg-light); color:var(--control-color-light); }
html.dark .showcap{ background: rgba(0,0,0,0.42); color:var(--ivory); }
html.dark .ss-control{ background:var(--control-bg-dark); color:var(--control-color-dark); }
html.dark .ss-dot.active{ background:var(--dot-active-dark); }

/* Hide in-slide captions now that we show the caption above the track */
.showcase-track .showcap{ display:none !important; }


/* Blaze gallery grid and helpers */
.gallery-grid{ display:grid; grid-template-columns:repeat(1,1fr); gap:1.5rem; }
@media(min-width:640px){ .gallery-grid{ grid-template-columns:repeat(2,1fr); } }
@media(min-width:768px){ .gallery-grid{ grid-template-columns:repeat(3,1fr); } }
.gallery-item{ display:block; width:100%; height:100%; object-fit:cover; }

/* Aspect helper: 3:2 crop container and slight max-width to make gallery feel smaller */
.aspect-3-2{ position:relative; width:100%; padding-bottom:66.6666%; overflow:hidden; border-radius:0.375rem; }
.aspect-3-2 img{ position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; transition: transform .36s cubic-bezier(.22,.9,.28,1), box-shadow .36s cubic-bezier(.22,.9,.28,1); will-change: transform, box-shadow; transform-origin:center center; }
.aspect-3-2 img.blaze-fill{ object-fit:cover; }

/* Ensure the actual img corners are clipped and match container rounding */
.aspect-3-2 img, .gallery-grid figure img { border-radius: inherit; }

/* Showcase arrows: directional 'pop' ~ slide slightly outwards + pop */
.ss-prev:hover, .ss-prev:focus-visible { transform: translateX(-8px) translateY(-6px) scale(1.06); box-shadow: 0 30px 80px rgba(0,0,0,0.18), 0 0 40px var(--btn-glow-intense); }
.ss-next:hover, .ss-next:focus-visible { transform: translateX(8px) translateY(-6px) scale(1.06); box-shadow: 0 30px 80px rgba(0,0,0,0.18), 0 0 40px var(--btn-glow-intense); }

/* Hover pop for images and videos ~ refined scale + soft shadow for a AAA feel */
.aspect-3-2:hover img, .gallery-grid figure:hover img{ transform: translateZ(0) scale(1.035); box-shadow: 0 20px 50px rgba(0,0,0,0.14); }
/* Disable hover pop for videos inside the showcase slides (we keep arrows interactive) */
.showcase-slide video:hover, .showcase-slide video:focus { transform: none !important; box-shadow: none !important; }
/* Kolasi images: lighter hover (GPU only) to avoid repaint and jank */
	.kolasi-gallery img{
		will-change: transform, opacity;
		transition: transform .45s cubic-bezier(.22,.9,.28,1), box-shadow .45s cubic-bezier(.22,.9,.28,1), opacity .36s ease;
	}
	/* Reduce costly shadow on hover; prefer subtle transform + fade for smoothness */
	.kolasi-gallery img:hover{ transform: translateZ(0) scale(1.02); box-shadow: 0 6px 12px rgba(0,0,0,0.06); }
.showcase-slide video:hover{ transform: translateZ(0) scale(1.03); box-shadow: 0 22px 60px rgba(0,0,0,0.16); }

/* Keyboard accessibility: apply the same pop on focus-visible */
.aspect-3-2 img:focus-visible, .gallery-grid figure:focus-visible img, .kolasi-gallery img:focus-visible{ outline: none; transform: translateZ(0) scale(1.035); box-shadow: 0 20px 50px rgba(0,0,0,0.14); }

/* Content-aware layout tweaks for Blaze images */
.gallery-grid figure.landscape{ padding-bottom:60%; }
.gallery-grid figure.portrait{ padding-bottom:120%; }
.gallery-grid figure.square{ padding-bottom:100%; }
.gallery-grid figure.landscape img{ object-fit:cover; }
.gallery-grid figure.portrait img{ object-fit:contain; }
.gallery-grid figure.square img{ object-fit:cover; }

.blaze-grid img,
.blaze-photo{
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.blaze-photo--portrait{
	object-position: center top;

/* Tweak: larger Blaze gallery variant (applies when wrapper has .blaze-grid--large)
	 - keeps 3x3 on md+ but makes images visually larger by reducing gutters and increasing container scale
	 - preserved rounded corners and hover behavior
*/
.blaze-grid--large { gap: 1rem; }
@media(min-width:768px){
	/* Taller, subtler gallery for md+ screens */
	.blaze-grid--large { gap: 0.9rem; }
	/* Increase container height (taller crop) so images fit more naturally */
	.blaze-grid--large .aspect-3-2{ padding-bottom:78%; border-radius:0.5rem; }
	/* center images and prefer a subtler hover */
	.blaze-grid--large .aspect-3-2 img{ transform-origin:center center; object-position:center center; will-change: transform; }
}
@media(min-width:1024px){
	.blaze-grid--large { grid-auto-rows: 1fr; }
	/* slightly reduced gutter at large screens */
	.blaze-grid--large { gap: 0.85rem; }
	/* keep a subtle hover scale to avoid cropping illusions */
	.blaze-grid--large .img-zoom:hover{ transform: scale(1.025); }
}

/* Conflict-resolver: ensure transforms do not compound (figure + img)
	 - existing global rules scale the <img> and some rules scale the figure.
	 - inside .blaze-grid--large we prefer a single image transform.
*/
.blaze-grid--large .img-zoom{ /* neutralize any transform applied to the wrapper */
	transform: none !important;
}
/* When the modifier sits on the same element as the grid, target figures directly */
.blaze-grid--large .aspect-3-2:hover img,
.blaze-grid--large figure:hover img {
	transform: translateZ(0) scale(1.025) !important;
	box-shadow: 0 20px 50px rgba(0,0,0,0.14) !important;
}

/* Ensure direct child figures use the taller crop and no background so image fills edge-to-edge */
.blaze-grid--large > figure, .blaze-grid--large > .aspect-3-2 { background: transparent; }
.blaze-grid--large > figure { display:block; }

/* Robust final overrides for Blaze galleries to avoid layout gaps */
.blaze-grid--large {
	/* ensure grid children do not inherit unexpected margins */
	margin: 0;
}
.blaze-grid--large > figure {
	margin: 0; /* reset browser default figure margin */
	padding: 0;
	background: transparent !important;
	overflow: hidden; /* ensure rounded corners clip content */
}
.blaze-grid--large .aspect-3-2,
.blaze-grid--large .aspect-3-2 img,
.blaze-grid--large .aspect-3-2 img.blaze-fill {
	position: relative !important;
}
.blaze-grid--large .aspect-3-2 img,
.blaze-grid--large .aspect-3-2 img.blaze-fill {
	position: absolute !important;
	inset: 0 !important;
	width: 100% !important;
	height: 100% !important;
	display: block !important;
	object-fit: cover !important;
	object-position: center center !important;
	border-radius: inherit !important;
}
.blaze-grid--large .aspect-3-2::before,
.blaze-grid--large .aspect-3-2::after,
.blaze-grid--large > figure::before,
.blaze-grid--large > figure::after { display: none !important; }

/* Editorial-specific fit: show entire image when possible, increase height for editorial & brand images */
.blaze-editorial--fit { gap: 0.95rem; }
.blaze-editorial--fit .aspect-3-2 { padding-bottom: 86%; }
.blaze-editorial--fit img { object-fit: contain !important; object-position: center center !important; background: rgba(255,255,255,0.02); }
.blaze-editorial--fit .aspect-3-2 img { border-radius: inherit !important; }

/* High-specificity safeguard: ensure editorial images are never cropped by other rules.
	 We prefer contain; if the image is smaller than the container, allow it to scale up slightly
	 while retaining aspect ratio. This override uses attribute and class combination to win
	 against earlier rules that set object-fit:cover for the global blaze grid.
*/
div.blaze-grid--large.blaze-editorial--fit > figure.aspect-3-2 img[loading],
div.blaze-grid--large.blaze-editorial--fit > figure.aspect-3-2 img {
	object-fit: contain !important;
	object-position: center center !important;
	width: auto !important;
	height: 100% !important;
	max-width: 100% !important;
	display: block !important;
	background: transparent !important;
}

/* If letterboxing occurs and you prefer a full-bleed look, toggle this variable to `cover` */
:root { --blaze-editorial-fit-mode: contain; }
div.blaze-grid--large.blaze-editorial--fit > figure.aspect-3-2 img {
	object-fit: var(--blaze-editorial-fit-mode) !important;
}

/* Ensure non-editorial Blaze grids (Weddings / Speakeasy) fill their containers
	 and override any portrait/contain rules that may have been applied elsewhere. */
.blaze-grid--large:not(.blaze-editorial--fit) .aspect-3-2 img,
.blaze-grid--large:not(.blaze-editorial--fit) .aspect-3-2 img.blaze-fill,
.blaze-grid--large:not(.blaze-editorial--fit) > figure img {
	/* Allow images to size naturally while still filling width; cap height responsively
	   so galleries remain visually compact and consistent across breakpoints. */
	object-fit: cover !important;
	object-position: center center !important;
	position: static !important;
	inset: auto !important;
	width: 100% !important;
	height: auto !important;
	display: block !important;
	max-height: 12rem !important; /* mobile default cap (~192px) */
}

@media(min-width:768px){
	.blaze-grid--large:not(.blaze-editorial--fit) > figure img {
		max-height: 16rem !important; /* md+ cap (~256px) ~ matches h-64 */
	}
}

/* Override portrait-specific contain rule inside Blaze large grids */
.blaze-grid--large:not(.blaze-editorial--fit) figure.portrait img {
	object-fit: cover !important;
}

/* Blaze lightbox styles */
.blaze-lightbox{ position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,0.82); z-index:1400; }
.blaze-lightbox[aria-hidden="false"]{ display:flex; }
.blaze-lightbox .lb-stage{ max-width:92vw; max-height:86vh; display:flex; align-items:center; justify-content:center; }
.blaze-lightbox img{ max-width:100%; max-height:100%; border-radius:12px; box-shadow:0 40px 120px rgba(0,0,0,0.6); object-fit:contain; }
.blaze-lightbox .lb-close, .blaze-lightbox .lb-prev, .blaze-lightbox .lb-next{ position:fixed; background:var(--btn-bg); color:var(--btn-color); border:1px solid var(--btn-border); height:44px; width:44px; border-radius:9999px; display:flex; align-items:center; justify-content:center; cursor:pointer; z-index:1450; }
.blaze-lightbox .lb-close{ right:20px; top:20px; }
.blaze-lightbox .lb-prev{ left:18px; top:50%; transform:translateY(-50%); }
.blaze-lightbox .lb-next{ right:18px; top:50%; transform:translateY(-50%); }
.blaze-lightbox .lb-prev:hover, .blaze-lightbox .lb-next:hover, .blaze-lightbox .lb-close:hover{ transform: translateY(-6px) scale(1.04); box-shadow: 0 24px 60px rgba(0,0,0,0.28), 0 0 28px var(--btn-glow-intense); }


/* Button styles unified above ~ rounded-cta specifics removed to avoid duplication */

/* Ensure ALL semantic buttons and CTA anchors use the same subtle pop as Blaze images */
button, input[type="button"], input[type="submit"], a[role="button"],
.rounded-cta, .btn-primary, .theme-btn, .nav-pill, .header-control, a.btn-on-media, .action-group a, .ss-control {
	transition: transform .28s cubic-bezier(.22,.9,.28,1), box-shadow .36s cubic-bezier(.22,.9,.28,1), background-color .18s ease, color .18s ease;
	transform-origin: center center;
}
button:hover, input[type="button"]:hover, input[type="submit"]:hover, a[role="button"]:hover,
.rounded-cta:hover, .btn-primary:hover, .theme-btn:hover, .nav-pill:hover, .header-control:hover, a.btn-on-media:hover, .action-group a:hover, .ss-control:hover,
button:focus-visible, input[type="button"]:focus-visible, input[type="submit"]:focus-visible, a[role="button"]:focus-visible,
.rounded-cta:focus-visible, .btn-primary:focus-visible, .theme-btn:focus-visible, .nav-pill:focus-visible, .header-control:focus-visible, a.btn-on-media:focus-visible, .action-group a:focus-visible, .ss-control:focus-visible {
	transform: translateY(-6px) translateZ(0) scale(1.06);
	box-shadow: 0 30px 80px rgba(0,0,0,0.18), 0 0 40px var(--btn-glow-intense);
}

/* Explicit fallback with extra specificity for pages that may still have legacy overrides */
.rounded-cta:hover, .rounded-cta:focus-visible, .kolasi-button:hover, .kolasi-button:focus-visible {
    transform: translateY(-6px) translateZ(0) scale(1.06) !important;
    box-shadow: 0 30px 80px rgba(0,0,0,0.18), 0 0 40px var(--btn-glow-intense) !important;
}

/* Keep motion-reduced UX friendly */
@media (prefers-reduced-motion: reduce){
	.aspect-3-2 img, .showcase-slide video, .rounded-cta, .gallery-grid figure{ transition: none !important; transform: none !important; box-shadow: none !important; }
}
.more-item.hidden{ display:none; }

/* Kolasi extras hidden helper */
.more-kolasi.hidden{ display:none; }

@media (max-width: 768px){
	html.mobile-view body{
		font-size:1.02rem;
		line-height:1.65;
	}
	html.mobile-view main{
		scroll-padding-top:calc(var(--header-h,56px) + 16px);
	}
	html.mobile-view .site-header.app-header{
		padding-left:1rem;
		padding-right:1rem;
	}
	html.mobile-view .site-nav-panel a{
		padding-block:0.95rem;
		font-size:1.04rem;
	}
	html.mobile-view .mobile-section-pad{
		padding-left:clamp(1.25rem, 6vw, 1.85rem) !important;
		padding-right:clamp(1.25rem, 6vw, 1.85rem) !important;
	}
	html.mobile-view .mobile-cta-stack{
		display:flex !important;
		flex-direction:column !important;
		align-items:stretch !important;
		gap:0.85rem !important;
	}
	html.mobile-view .mobile-cta-stack > *{
		width:100% !important;
	}
	html.mobile-view .mobile-stack{
		flex-direction:column !important;
		align-items:flex-start !important;
		gap:1.25rem !important;
	}
	html.mobile-view .mobile-grid-relaxed{
		gap:1.5rem !important;
	}
	html.mobile-view .mobile-text-balance{
		text-wrap:balance;
		line-height:1.5;
	}
	html.mobile-view :where(.rounded-cta,.kolasi-button,.pill-button,.btn-primary,#visitBlaze,#visitKolasi,button,button[type="button"],button[type="submit"],input[type="submit"],input[type="button"]){
		min-height:52px;
		padding-block:0.85rem !important;
		touch-action:manipulation;
	}
	html.mobile-view .gallery-grid figure,
	html.mobile-view .blaze-carousel .carousel-item,
	html.mobile-view .kolasi-gallery img{
		border-radius:16px;
	}
	html.mobile-view .contact-input,
	html.mobile-view .quote-input{
		min-height:52px;
	}
	html.mobile-view .quote-grid{
		gap:1.5rem !important;
	}
	html.mobile-view .blaze-points{
		align-items:flex-start;
	}
	html.mobile-view .blaze-points li{
		font-size:1.02rem;
		padding-left:1.75rem;
	}
	html.mobile-view .blaze-points li::before{
		left:0.55rem;
	}
}
@media(max-width:767px){
	.hero-cta-group,
	.kolasi-cta-row,
	.blaze-footer-cta,
	.cta-panel .action-group{
		flex-direction:column !important;
		align-items:stretch !important;
		width:100%;
		gap:0.85rem !important;
	}
	.hero-cta-group > *,
	.kolasi-cta-row > *,
	.blaze-footer-cta > *,
	.cta-panel .action-group > *{
		width:100%;
		justify-content:center;
	}
	.hero-cta-group .rounded-cta,
	.kolasi-cta-row .rounded-cta,
	.blaze-footer-cta .rounded-cta,
	.cta-panel .rounded-cta{
		padding-block:1rem !important;
		box-shadow:0 16px 38px var(--btn-elev);
	}
}

/* Kolasi section: ensure videos fit within the section and do not overflow the viewport */
.kolasi-section{ background: transparent; color: inherit; }
.kolasi-section .grid{ align-items:start; }
.kolasi-section video{ max-height: min(52vh, 480px); width:100%; height:auto; object-fit:cover; display:block; border-radius:8px; will-change: transform, opacity; }
.kolasi-section .rounded-lg{ overflow:hidden; }
@media(max-width:767px){
	.kolasi-section video{ max-height:none; height:100%; border-radius:14px; }
}

/* If kolasi-section needs a dark look on kolasi landing, use .kolasi-dark modifier */
.kolasi-section.kolasi-dark{ background:var(--surface-dark); color:var(--ivory); }


/* Small utilities retained from inline styles */
.card-pop{ cursor:pointer; }

/* reduced motion preference */
@media (prefers-reduced-motion: reduce){ *, *::before, *::after{ animation-duration: 0.001ms !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; } }

/* Smooth scroll reveal utility */
[data-reveal]{
	opacity:0;
	transform:translateY(28px);
	transition:opacity .8s cubic-bezier(.22,.9,.28,1), transform .8s cubic-bezier(.22,.9,.28,1), filter .8s ease;
	filter:blur(6px);
	will-change:transform, opacity;
}
[data-reveal].is-visible{
	opacity:1;
	transform:none;
	filter:blur(0);
}

@media (max-width: 767px){
	[data-reveal].is-visible{
		opacity:1 !important;
		transform:none !important;
		filter:none !important;
	}
	.force-visible-mobile,
	.force-visible-mobile[data-reveal],
	.force-visible-mobile [data-reveal]{
		opacity:1 !important;
		transform:none !important;
		filter:none !important;
	}
}

@media (max-width: 767px){
	.contact-page .form-wrapper,
	.contact-page form{
		width:100%;
		max-width:100%;
		display:block;
		padding:1rem 1.25rem 2.5rem;
		gap:1rem;
	}
	.contact-page .form-row{ display:block; }
	.contact-page input,
	.contact-page textarea,
	.contact-page select{
		width:100%;
	}
}

/* Simple Blaze carousel ~ 3-up desktop, responsive stack on small screens */
.blaze-carousel{
	position:relative;
	display:flex;
	align-items:center;
	gap:12px;
	--carousel-gap:1rem;
	--carousel-visible:3;
	--carousel-mobile-ratio: 4 / 5;
}
.blaze-carousel[data-editorial="true"]{ --carousel-mobile-ratio: 3 / 4; }
.blaze-carousel .carousel-viewport{ overflow:hidden; width:100%; }
.blaze-carousel .carousel-track{
	display:flex;
	gap:var(--carousel-gap);
	transition:transform .42s cubic-bezier(.22,.9,.28,1);
	will-change:transform;
}
.blaze-carousel .carousel-item{
	--carousel-width: calc((100% - (var(--carousel-visible) - 1) * var(--carousel-gap)) / var(--carousel-visible));
	flex: 0 0 min(var(--carousel-width), 340px);
	max-width: min(var(--carousel-width), 340px);
	box-sizing:border-box;
	border-radius:12px;
	overflow:hidden;
	background:var(--btn-bg);
	box-shadow:0 18px 46px rgba(0,0,0,0.06);
	display:flex;
	justify-content:center;
	align-items:center;
	aspect-ratio: 3 / 2;
}
.blaze-carousel .carousel-item img{
	display:block;
	width:100%;
	height:100%;
	object-fit:cover;
	object-position:center;
	box-sizing:border-box;
}
/* Orientation helpers so each card can match its source aspect ratio */
.blaze-carousel .carousel-item.is-portrait{ aspect-ratio: 2 / 3; }
.blaze-carousel .carousel-item.is-square{ aspect-ratio: 1 / 1; }
.blaze-carousel .carousel-item.is-landscape{ aspect-ratio: 3 / 2; }
.blaze-carousel .carousel-item.is-portrait img,
.blaze-carousel .carousel-item.is-square img{ object-fit:cover; }
.blaze-carousel .carousel-prev, .blaze-carousel .carousel-next{ background: var(--btn-bg); border:1px solid var(--btn-border); color:var(--btn-color); height:56px; width:56px; border-radius:9999px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; box-shadow: 0 12px 34px rgba(0,0,0,0.06); font-size:28px; }
.blaze-carousel .carousel-prev{ margin-right:8px; }
.blaze-carousel .carousel-next{ margin-left:8px; }
@media(max-width:767px){
	.blaze-carousel{ gap:0.75rem; align-items:stretch; }
	.blaze-carousel .carousel-prev,
	.blaze-carousel .carousel-next{ display:none; }
	.blaze-carousel .carousel-viewport{
		overflow-x:auto;
		scroll-snap-type:x mandatory;
		scroll-behavior:smooth;
		-webkit-overflow-scrolling:touch;
		padding-bottom:6px;
		padding-inline:clamp(1rem, 5vw, 1.5rem);
	}
	.blaze-carousel .carousel-viewport::-webkit-scrollbar{ display:none; }
	.blaze-carousel .carousel-track{
		gap:1rem;
		flex-wrap:nowrap;
		min-width:100%;
		transform:none !important;
	}
	.blaze-carousel .carousel-item,
	.blaze-carousel .carousel-item.is-portrait,
	.blaze-carousel .carousel-item.is-square,
	.blaze-carousel .carousel-item.is-landscape{
		flex:0 0 100%;
		max-width:100%;
		min-width:100%;
		scroll-snap-align:center;
		aspect-ratio:var(--carousel-mobile-ratio, 4 / 5);
		max-height:min(72vh, 520px);
		position:relative;
		overflow:hidden;
		min-height:0;
		box-shadow:0 12px 26px rgba(0,0,0,0.14);
	}
	.blaze-carousel .carousel-item img{
		position:absolute;
		inset:0;
		width:100%;
		height:100%;
		object-fit:cover;
	}
	.blaze-gallery{
		display:flex;
		gap:1rem;
		overflow-x:auto;
		scroll-snap-type:x mandatory;
		padding-bottom:0.5rem;
		scroll-behavior:smooth;
		-webkit-overflow-scrolling:touch;
	}
	.blaze-gallery > *{
		scroll-snap-align:center;
		flex:0 0 80%;
	}
}

@supports not (aspect-ratio: 1){
	.blaze-carousel .carousel-item::before{
		content:"";
		display:block;
		padding-top:calc(100% * 5 / 4);
	}
	.blaze-carousel[data-editorial="true"] .carousel-item::before{
		padding-top:calc(100% * 4 / 3);
	}
	.blaze-carousel .carousel-item > *{
		position:absolute;
		inset:0;
	}
}

/* Editorial modifier: reuse base card styling so visuals match the weddings carousel */
.blaze-carousel[data-editorial="true"] .carousel-item img{ object-fit:cover; }


}