/* BrightSite Commercial: brochure palette, Geist + Geist Mono, 1200px container */
:root {
	--bs-ground: #FBFBF9;
	--bs-ink: #10181B;
	--bs-muted: #4A5558;
	--bs-line: #D9DDDB;
	--bs-accent: #EF7800;
	--bs-accent-deep: #A04B00;
	--bs-peach: #FDEBDA;
	--bs-font: 'Geist', 'Helvetica Neue', Arial, sans-serif;
	--bs-mono: 'Geist Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
	color-scheme: light;
}

html { scroll-behavior: smooth; }
body {
	margin: 0;
	background: var(--bs-ground);
	color: var(--bs-ink);
	font-family: var(--bs-font);
	font-size: 16px;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}
img { max-width: 100%; height: auto; }
a { color: var(--bs-accent-deep); }
a:hover { color: #7A3900; }
a:focus-visible, button:focus-visible, summary:focus-visible { outline: 2px solid var(--bs-accent-deep); outline-offset: 3px; }
input:focus, select:focus, textarea:focus { outline: 2px solid var(--bs-accent-deep); outline-offset: 1px; }

.skip-link {
	position: absolute; left: 16px; top: -60px; z-index: 100;
	padding: 12px 18px; border-radius: 4px;
	background: var(--bs-ink); color: var(--bs-ground); font-weight: 600; text-decoration: none;
}
.skip-link:focus { top: 16px; color: var(--bs-ground); }

/* Sticky header, clear of the WordPress admin bar when logged in */
.site-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .site-header { top: 0; } }
main [id] { scroll-margin-top: 170px; }

/* FAQ accordions */
summary { list-style: none; cursor: pointer; }
summary::-webkit-details-marker { display: none; }
.plus { transition: transform .2s ease; flex-shrink: 0; }
details[open] .plus { transform: rotate(45deg); }

/* Motion */
@keyframes bs-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@keyframes bs-twinkle { 0%, 100% { transform: scale(1) rotate(0deg); } 50% { transform: scale(.86) rotate(12deg); } }
@keyframes bs-spin { to { transform: rotate(360deg); } }
@keyframes bs-fillup { from { transform: scaleY(0); } to { transform: scaleY(1); } }
@keyframes bs-check { from { stroke-dashoffset: 30; } to { stroke-dashoffset: 0; } }
@keyframes bs-float { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
.rise { animation: bs-rise 1s cubic-bezier(.2,.7,.2,1) both; }
.d1 { animation-delay: .15s; } .d2 { animation-delay: .3s; } .d3 { animation-delay: .45s; } .d4 { animation-delay: .6s; }
.twinkle { animation: bs-twinkle 3.6s ease-in-out infinite; transform-origin: center; }
.spin { animation: bs-spin 60s linear infinite; transform-origin: center; }
.fill { animation: bs-fillup .9s cubic-bezier(.6,0,.2,1) both; transform-origin: bottom center; }
.f1 { animation-delay: .2s; } .f2 { animation-delay: .45s; } .f3 { animation-delay: .7s; }
.check { stroke-dasharray: 30; animation: bs-check .7s cubic-bezier(.6,0,.2,1) both; }
.c1 { animation-delay: .4s; } .c2 { animation-delay: .65s; } .c3 { animation-delay: .9s; }
.float { animation: bs-float 3.4s ease-in-out infinite; }
@media (max-width: 900px) { .deco { display: none; } }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.rise, .twinkle, .spin, .fill, .check, .float { animation: none !important; }
}

/* Plain pages (privacy policy, blog posts) */
.bs-generic { padding: clamp(48px, 6vw, 88px) clamp(16px, 4vw, 48px) clamp(64px, 8vw, 112px); }
.bs-content { max-width: 760px; margin: 0 auto; font-size: 17px; line-height: 1.65; color: var(--bs-muted); }
.bs-content h1 { margin: 0 0 32px; font-size: clamp(40px, 5vw, 64px); line-height: 1.02; font-weight: 600; letter-spacing: -0.05em; color: var(--bs-ink); text-wrap: balance; }
.bs-content h2, .bs-content h3 { color: var(--bs-ink); letter-spacing: -0.03em; line-height: 1.15; margin: 1.8em 0 .5em; }
.bs-content h2 { font-size: 30px; }
.bs-content h3 { font-size: 22px; }
.bs-content p, .bs-content ul, .bs-content ol { margin: 0 0 1.1em; }
.bs-content .bs-post { padding: 28px 0; border-top: 1px solid var(--bs-line); }
.bs-content .bs-post h2 { margin: 0 0 8px; }
.bs-content .bs-post h2 a { color: var(--bs-ink); text-decoration: none; }
