@font-face {
	font-family: "Newsreader";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/newsreader-latin.woff2?v=bbfo-20261003b") format("woff2");
}

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/inter-latin.woff2?v=bbfo-20261003b") format("woff2");
}

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url("fonts/inter-medium-latin.woff2?v=bbfo-20261003b") format("woff2");
}

:root {
	--bb-petrol: #12313d;
	--bb-ink: #17272c;
	--bb-stone: #f6f3ed;
	--bb-white: #ffffff;
	--bb-slate: #5b6a70;
	--bb-sand: #b89b72;
	--bb-serif: "Newsreader", Georgia, serif;
	--bb-sans: "Inter", Arial, sans-serif;
	--bb-side: clamp(24px, 5vw, 72px);
	--bb-reading-width: 680px;
	--bb-timeline-width: 560px;
	--bb-column-gap: clamp(40px, 6vw, 96px);
}

html, body { margin: 0; background: var(--bb-white); color: var(--bb-ink); }
body, button, input, select, textarea { font-family: var(--bb-sans); font-synthesis: none; }
body { font-size: 17px; font-weight: 400; line-height: 1.65; -webkit-font-smoothing: antialiased; }
body a { color: var(--bb-petrol); text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
body a:focus-visible, body button:focus-visible { outline: 2px solid currentColor; outline-offset: 5px; }
.site-main, .page-content, .entry-content, .elementor { margin: 0; padding: 0; }
.page-header, .entry-title { display: none; }

body:is(.home, .bluebird-privacy) .e-con {
	display: flex !important;
	--widgets-spacing: 0;
	--container-widget-width: 100%;
	--container-widget-flex-grow: 0;
}
body:is(.home, .bluebird-privacy) .e-con > .e-con-inner { width: 100%; max-width: none; padding: 0; gap: 0; }
:where(body:is(.home, .bluebird-privacy)) .elementor-widget { margin-block-end: 0; }

/* Native container classes plus the existing stable Elementor IDs. */
:is(.bb-shell, .elementor-element-bb14002, .elementor-element-bb10002,
	.elementor-element-bb11002, .elementor-element-bb12002,
	.elementor-element-bb13002, .elementor-element-bb15002, .elementor-element-bb16002) {
	width: min(calc(100% - var(--bb-side) * 2), 1180px) !important;
	max-width: 1180px !important;
	margin-inline: auto !important;
}

.bb-hero-title .elementor-heading-title,
.bb-section-heading .elementor-heading-title,
.bb-privacy-title .elementor-heading-title {
	margin: 0;
	font-family: var(--bb-serif);
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

.elementor-location-header { position: absolute; top: 0; left: 0; z-index: 10; width: 100%; }
body.admin-bar .elementor-location-header { top: 32px; }
:is(.bb-header, .elementor-element-bb14001) { width: 100%; background: transparent; color: var(--bb-white); }
:is(.bb-header-inner, .elementor-element-bb14002) > .e-con-inner {
	display: flex !important;
	min-height: 120px;
	flex-flow: row nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 32px !important;
}
.bb-logo { width: 290px !important; max-width: 290px !important; flex: 0 0 290px !important; }
.bb-logo .elementor-widget-container, .bb-logo a, .bb-logo img { display: block; }
.bb-logo img { width: 290px; height: auto; filter: none; }
:is(.bb-nav, .elementor-element-bb14004) { width: auto !important; flex: 0 0 auto !important; }
:is(.bb-nav, .elementor-element-bb14004) > .e-con-inner {
	display: flex !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	gap: clamp(22px, 3vw, 40px) !important;
}
.bb-nav-link { width: auto !important; flex: 0 0 auto !important; }
.bb-nav-link .elementor-button {
	min-height: 44px;
	padding: 15px 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--bb-white);
	font-family: var(--bb-sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 0.08em;
	line-height: 1;
	text-transform: uppercase;
}
.bb-nav-link .elementor-button:hover, .bb-nav-link .elementor-button:focus-visible { background: transparent; color: inherit; text-decoration: underline; }
.bluebird-privacy :is(.bb-header, .elementor-element-bb14001) { background: var(--bb-white); color: var(--bb-petrol); }
.bluebird-privacy .bb-nav-link .elementor-button { color: var(--bb-petrol); }

:is(.bb-hero, .elementor-element-bb10001) {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	min-height: 380px;
	padding: 152px 0 64px;
	background: var(--bb-petrol);
	color: var(--bb-white);
	justify-content: flex-end !important;
}
:is(.bb-hero, .elementor-element-bb10001)::before {
	content: "";
	position: absolute;
	z-index: 0;
	width: 600px;
	height: 600px;
	left: auto;
	top: auto;
	right: -120px;
	bottom: -216px;
	background: url("bird-hero-white.svg?v=bbfo-20261003b") center / contain no-repeat;
	opacity: 0.055;
	pointer-events: none;
}
:is(.bb-hero-inner, .elementor-element-bb10002) { position: relative; z-index: 1; }
:is(.bb-hero-inner, .elementor-element-bb10002) > .e-con-inner { display: flex !important; flex-direction: column !important; align-items: flex-start !important; }
.bb-hero-title { width: 100% !important; max-width: var(--bb-reading-width); }
.bb-hero-title .elementor-heading-title { max-width: var(--bb-reading-width); color: var(--bb-white); font-size: 48px; line-height: 1.15; }
:is(.bb-section, .elementor-element-bb11001, .elementor-element-bb12001, .elementor-element-bb13001) { width: 100%; padding: 88px 0; }
:is(.bb-about, .bb-contact, .elementor-element-bb11001, .elementor-element-bb13001) { background: var(--bb-white); }
:is(.bb-heritage, .elementor-element-bb12001) { background: var(--bb-stone); }
.bb-section-heading .elementor-heading-title { color: var(--bb-ink); font-size: 38px; line-height: 1.2; }

:is(.bb-about-shell, .bb-contact-shell, .bb-heritage-shell,
	.elementor-element-bb11002, .elementor-element-bb13002, .elementor-element-bb12002) > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(160px, 1fr) minmax(0, var(--bb-reading-width));
	align-items: start !important;
	column-gap: var(--bb-column-gap) !important;
}
.bb-about-copy, .bb-history-copy, .bb-heritage-lede, .bb-contact-details, .bb-privacy-copy { width: 100%; max-width: var(--bb-reading-width) !important; }
.bb-about-copy p, .bb-history-copy p, .bb-heritage-lede p, .bb-contact-details p, .bb-privacy-copy p {
	margin: 0;
	color: var(--bb-ink);
	font-family: var(--bb-sans);
	font-size: 17px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.65;
}
.bb-heritage-lede { padding-top: 3px; margin-bottom: 40px !important; }
.bb-heritage-lede p:first-child { font-family: var(--bb-serif); font-size: 24px; font-weight: 400; line-height: 1.35; }
.bb-heritage-lede .bb-heritage-locations { margin-top: 16px; color: var(--bb-slate); font-family: var(--bb-sans); font-size: 13px; font-weight: 500; letter-spacing: 0.08em; text-transform: uppercase; }
:is(.bb-heritage-shell, .elementor-element-bb12002) > .e-con-inner { grid-template-columns: minmax(0, 1fr) minmax(0, var(--bb-timeline-width)); }
.bb-history-copy { max-width: var(--bb-timeline-width) !important; }
:is(.bb-history-row, .elementor-element-b210001, .elementor-element-b210004, .elementor-element-b210007, .elementor-element-b210010) {
	grid-column: 1 / -1;
	width: 100%;
	padding: 32px 0;
	border-top: 1px solid var(--bb-sand);
}
:is(.bb-history-row, .elementor-element-b210001, .elementor-element-b210004, .elementor-element-b210007, .elementor-element-b210010) > .e-con-inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, var(--bb-timeline-width));
	align-items: start !important;
	column-gap: var(--bb-column-gap) !important;
}
.bb-history-year .elementor-heading-title {
	margin: 0;
	color: var(--bb-petrol);
	font-family: var(--bb-serif);
	font-size: 40px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.2;
	text-transform: none;
}
.bb-contact-details p:first-child { margin-bottom: 12px; }
.bb-contact-details a { color: var(--bb-petrol); text-decoration: none; }
.bb-contact-details a:hover, .bb-contact-details a:focus-visible { text-decoration: underline; }
.bb-contact-details p:last-child { color: var(--bb-slate); }

:is(.bb-footer, .elementor-element-bb15001) { width: 100%; padding: 32px 0; background: var(--bb-petrol); color: var(--bb-white); }
:is(.bb-footer-inner, .elementor-element-bb15002) > .e-con-inner { display: block !important; }
.bb-footer-copy p {
	margin: 0;
	color: var(--bb-white);
	font-family: var(--bb-sans);
	font-size: 13px;
	font-weight: 400;
	letter-spacing: 0;
	line-height: 1.65;
}
.bb-footer-copy a { color: var(--bb-white); text-decoration: underline; }

:is(.bb-privacy-page, .elementor-element-bb16001) { min-height: 70vh; padding: 190px 0 88px; background: var(--bb-white); }
:is(.bb-privacy-shell, .elementor-element-bb16002) { max-width: var(--bb-reading-width) !important; }
:is(.bb-privacy-shell, .elementor-element-bb16002) > .e-con-inner { display: block !important; }
.bb-privacy-title .elementor-heading-title { margin: 0 0 36px; color: var(--bb-ink); font-size: 48px; line-height: 1.15; }
.bb-privacy-copy p { margin-bottom: 1.35em; }
.bb-privacy-copy p:last-child { margin-bottom: 0; }
.bb-privacy-copy a { color: var(--bb-petrol); text-decoration: underline; }
.bb-privacy-copy small { color: var(--bb-slate); font-size: 13px; }

@media (max-width: 900px) {
	:is(.bb-hero, .elementor-element-bb10001)::before { width: 440px; height: 440px; right: -120px; bottom: -128px; }
	:is(.bb-about-shell, .bb-contact-shell, .bb-heritage-shell,
		.elementor-element-bb11002, .elementor-element-bb13002, .elementor-element-bb12002) > .e-con-inner {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 28px !important;
	}
	:is(.bb-history-row, .elementor-element-b210001, .elementor-element-b210004,
		.elementor-element-b210007, .elementor-element-b210010) > .e-con-inner {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 12px !important;
	}
	:is(.bb-heritage-shell, .elementor-element-bb12002) > .e-con-inner { row-gap: 0 !important; }
	.bb-heritage-lede { padding-top: 0; margin-top: 28px; margin-bottom: 40px; }
}

@media (max-width: 767px) {
	body { font-size: 16px; }
	body.admin-bar .elementor-location-header { top: 46px; }
	.bb-hero-title .elementor-heading-title, .bb-privacy-title .elementor-heading-title { font-size: 32px; }
	.bb-section-heading .elementor-heading-title { font-size: 30px; }
	.bb-about-copy p, .bb-history-copy p, .bb-heritage-lede p, .bb-contact-details p, .bb-privacy-copy p { font-size: 16px; }
	:is(.bb-section, .elementor-element-bb11001, .elementor-element-bb12001, .elementor-element-bb13001) { padding: 64px 0; }
	:is(.bb-hero, .elementor-element-bb10001) { min-height: 0; padding: 152px 0 56px; }
	:is(.bb-hero, .elementor-element-bb10001)::before { display: none; }
	.bb-logo { width: 200px !important; max-width: 200px !important; flex-basis: 200px !important; }
	.bb-logo img { width: 200px; }
	.bb-heritage-lede p:first-child { font-size: 20px; }
	.bb-heritage-lede .bb-heritage-locations { font-size: 13px; }
	.bb-history-year .elementor-heading-title { font-size: 28px; }
	:is(.bb-header-inner, .elementor-element-bb14002) > .e-con-inner { min-height: 104px; }
	:is(.bb-nav, .elementor-element-bb14004) > .e-con-inner { gap: 22px !important; }
	:is(.bb-footer, .elementor-element-bb15001) { padding: 28px 0; }
	:is(.bb-privacy-page, .elementor-element-bb16001) { padding: 156px 0 64px; }
}

@media (max-width: 600px) {
	:is(.bb-header-inner, .elementor-element-bb14002) > .e-con-inner {
		min-height: 0;
		padding: 22px 0 12px !important;
		flex-wrap: wrap !important;
		justify-content: flex-start !important;
		gap: 8px !important;
	}
	:is(.bb-nav, .elementor-element-bb14004) { width: 100% !important; flex-basis: 100% !important; }
	:is(.bb-nav, .elementor-element-bb14004) > .e-con-inner { justify-content: flex-start !important; gap: 26px !important; }
	:is(.bb-hero, .elementor-element-bb10001) { min-height: 0; padding-top: 184px; }
	:is(.bb-privacy-page, .elementor-element-bb16001) { padding-top: 196px; }
}

@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { scroll-behavior: auto !important; }
}
