/* Make about section heading more bold and noticeable */
.about-title {
	font-size: 2.1rem;
	font-weight: 900;
	color: var(--accent);
	text-align: center;
	margin-bottom: 0.7rem;
	text-shadow: 0 2px 12px #000, 0 1px 0 #fff2;
	letter-spacing: 0.5px;
	position: relative;
}
.about-title::after {
	content: '';
	display: block;
	width: 48px;
	height: 4px;
	background: var(--accent);
	margin: 10px auto 0 auto;
	border-radius: 2px;
	opacity: 0.7;
}
/* Enhanced section titles for visibility */
.section-title, .faq-title, .gallery-title {
	text-align: center;
	font-size: 2.2rem;
	font-weight: 900;
	margin-top: 2.5rem;
	margin-bottom: 1.2rem;
	color: var(--accent);
	text-shadow: 0 2px 12px #000, 0 1px 0 #fff2;
	position: relative;
}
.section-title::after, .faq-title::after, .gallery-title::after {
	content: '';
	display: block;
	width: 60px;
	height: 4px;
	background: #ffd700;
	margin: 12px auto 0 auto;
	border-radius: 2px;
	opacity: 0.85;
}

/* Remove underline for Trusted By */
.clients .section-title::after {
	display: none;
}
.about-title::after {
	background: #ffd700;
}
/* Move 'Ready to book?' section up slightly */
.contact-quick {
	margin-top: -32px;
}
.logo-m2m,
.logo-magic-castle {
	border-radius: 8px;
}
.logo-fred-hutch {
	border-radius: 8px;
}
:root{--accent:#fff;--dark:#1a1a1a;--muted:#ccc}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,Segoe UI,Roboto,Arial,sans-serif;margin:0;color:#eee;background:#181818}
/* Removed star-canvas for simple dark background */
header, main, footer, .hero, .container, .about, .gallery, .testimonials, .site-footer {
	position: relative;
	z-index: 1;
}
.container{max-width:1000px;margin:0 auto;padding:28px}
.hero{position:relative;height:60vh;min-height:420px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:brightness(0.65);}
.hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.18))}
.hero-content{position:relative;z-index:2;text-align:center;color:#fff;padding:20px}
.hero-content h1, .hero-content .lead, .hero-content .sub {
	text-shadow:
		0 2px 12px #000,
		0 1px 0 #fff2,
		0 0 8px rgba(0,0,0,0.7),
		0 0 2px #000,
		1px 1px 8px #000;
}
.hero h1{font-size:3rem;margin:.2rem 0;font-weight:900;letter-spacing:1px;text-shadow:0 2px 12px #000, 0 1px 0 #fff2;}
.lead{font-size:1.1rem;margin:0}
.sub{opacity:.9;margin:.5rem 0 1.2rem}
.cta-row{display:flex;gap:12px;justify-content:center}
.btn{display:inline-block;padding:12px 18px;border-radius:8px;text-decoration:none;font-weight:600}
.btn.primary{
	background: #e6b800;
	color: #181818;
	font-weight: 700;
}
.btn.ghost{background:transparent;border:2px solid rgba(255,255,255,.9);color:#fff}
.about{display:flex;gap:20px;align-items:center;padding:36px 0}
.headshot{width:250px;height:auto;border-radius:8px}
.about h2{margin-top:0}
.about a{
	color: #fff;
	text-decoration: none;
}
.clients{padding:15px 0;text-align:center}
.logos{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;align-items:center}
.logos img{height:120px;width:auto;max-width:300px}
/* White background for Card Kingdom logo */
.logo-card-kingdom {
	background: #fff;
	padding: 8px;
	border-radius: 8px;
}
.gallery h3{margin-top:0}
.gallery{overflow:hidden}

.gallery-scroll {
	width: 100%;
	overflow: hidden;
	position: relative;
	/* Smooth scrolling for iOS rendering bug */
	-webkit-overflow-scrolling: touch;
}
.grid {
	display: inline-flex;
	white-space: nowrap;
	animation: scroll-gallery 103.68s linear infinite;
}
.grid img {
	height: 275px;
	width: auto;
	margin-right: 12px;
	flex-shrink: 0;
	border-radius: 6px;
}
@keyframes scroll-gallery {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}
.testimonials{padding:36px 0;text-align:center}
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px;margin-top:20px}
.testimonial-grid a {
	color: #fff;
	text-decoration: none;
}
blockquote{background:#222;padding:20px;border-left:4px solid var(--accent);border-radius:8px;margin:0;font-style:italic}
cite{font-weight:600;color:#ccc;margin-top:10px;display:block}
.contact-quick{padding:48px 0 0;text-align:center}
.site-footer{background:#000;color:#ccc;padding:18px 0;margin-top:32px;text-align:center}
.site-footer a{color:#fff}

/* Booking form */
.booking-page{max-width:720px;margin:40px auto;padding:24px}
form label{display:block;margin-bottom:12px}
input[type=text],input[type=date],input[type=number],textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:6px}
.form-actions{display:flex;gap:12px;align-items:center;margin-top:12px}

/* Line break for mobile portrait only */
.mobile-br { display: none; }

.mobile-dot { display: inline; }

@media (max-width:700px){
	.mobile-dot { display: none; }
	.mobile-br { display: block; width: 100%; height: 0; }
	.mobile-br::after { content: ""; display: block; margin-bottom: 0.2em; }
	.hero {
		height: 32vh;
		min-height: 160px;
	}
	.hero-image {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center top;
		position: absolute;
		filter: brightness(0.65);
		inset: 0;
		filter: brightness(.5);
	}
	.hero h1{font-size:2rem}
	.about{flex-direction:column;padding:4px 0;}
	.headshot{width:166px;height:auto}
}
