1<!DOCTYPE html><html lang="en"> <head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><!-- Robots â pre-launch global noindex; per-page seo.noIndex also honored --><meta name="robots" content="index, follow"><!-- Primary Meta --><title>News | Bristell Aircraft</title><meta name="description" content="Latest from BRM AERO â product launches, certifications, events, and stories from Kunovice."><link rel="canonical" href="https://bristell.com/news/"><!-- Open Graph â og:title leads with the brand (see pageTitle/ogTitle above). 2 Dimensions are declared so the first scrape renders a large card instead of 3 a thumbnail; every card is exactly 1200x630 by construction (ADR-039). --><meta property="og:type" content="website"><meta property="og:url" content="https://bristell.com/news/"><meta property="og:title" content="Bristell Aircraft | News"><meta property="og:description" content="Latest from BRM AERO â product launches, certifications, events, and stories from Kunovice."><meta property="og:image" content="https://bristell.com/og-default.jpg"><meta property="og:image:width" content="1200"><meta property="og:image:height" content="630"><meta property="og:image:type" content="image/jpeg"><meta property="og:image:alt" content="Bristell Aircraft | Wings with a heart"><meta property="og:site_name" content="Bristell Aircraft"><meta property="og:locale" content="en"><!-- Twitter Card --><meta name="twitter:card" content="summary_large_image"><meta name="twitter:title" content="Bristell Aircraft | News"><meta name="twitter:description" content="Latest from BRM AERO â product launches, certifications, events, and stories from Kunovice."><meta name="twitter:image" content="https://bristell.com/og-default.jpg"><meta name="twitter:image:alt" content="Bristell Aircraft | Wings with a heart"><!-- Hreflang network (ADR-012): one entry per tenant defaultLocale, x-default â bristell.com --><link rel="alternate" hreflang="en" href="https://bristell.com/news/"><link rel="alternate" hreflang="cs" href="https://bristell.com/cs/news/"><link rel="alternate" hreflang="de" href="https://bristell.com/de/news/"><link rel="alternate" hreflang="es" href="https://bristell.com/es/news/"><link rel="alternate" hreflang="fr" href="https://bristell.com/fr/news/"><link rel="alternate" hreflang="it" href="https://bristell.com/it/news/"><link rel="alternate" hreflang="pl" href="https://bristell.com/pl/news/"><link rel="alternate" hreflang="x-default" href="https://bristell.com/news/"><!-- Preload critical font --><link rel="preload" href="/fonts/AspektaVF.woff2" as="font" type="font/woff2" crossorigin><!-- Favicon â Bristell brand mark --><link rel="icon" href="/favicon.ico" sizes="any"><link rel="icon" type="image/png" href="/favicon-32.png" sizes="32x32"><link rel="icon" type="image/png" href="/favicon-192.png" sizes="192x192"><link rel="apple-touch-icon" href="/apple-touch-icon.png"><!-- Schema.org JSON-LD -->
3<script type="application/ld+json">{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://bristell.com/"},{"@type":"ListItem","position":2,"name":"News","item":"https://bristell.com/news/"}]}</script>
3<!-- Per-page head extras (LCP HeroPreload etc.) --><link rel="preload" as="image" type="image/avif" imagesrcset="/_opt/a6b84c8a47-820.avif 820w, /_opt/a6b84c8a47-1440.avif 1440w" imagesizes="(max-width: 1024px) 100vw, (min-width: 2200px) 1040px, (min-width: 1920px) 900px, 750px" fetchpriority="high"><!-- Analytics (BalÃÄek C 2026-07-07, amended by ADR-038 2026-07-15) â GA4 loaded 4 directly + the GTM container for future pixels. Gated to the first-party 5 bristell tenant, production builds, and a real production domain â see 6 `analyticsEnabled` above. ORDER MATTERS: Consent Mode v2 defaults must run before 7 both gtag.js and the GTM loader, or a tag can fire before consent applies. -->
7<script> 8 window.dataLayer = window.dataLayer || []; 9 function gtag() { window.dataLayer.push(arguments); } 10 window.gtag = window.gtag || gtag; 11 12 // Google Consent Mode v2 â deny everything until the visitor chooses 13 // (GDPR-safe default). `wait_for_update` gives the cookie-banner script a 14 // 500ms window to apply a stored choice before any tag fires unconsented. 15 gtag('consent', 'default', { 16 ad_storage: 'denied', 17 ad_user_data: 'denied', 18 ad_personalization: 'denied', 19 analytics_storage: 'denied', 20 wait_for_update: 500, 21 }); 22 gtag('set', 'url_passthrough', true); 23 24 // Read any previously stored consent SYNCHRONOUSLY (before gtag.js loads) so 25 // returning visitors are measured from the very first pageview instead of 26 // waiting for the cookie-banner script further down the page. Also migrates 27 // the legacy binary value ('all' / 'essential') written by the pre-2026-07 28 // banner. Exposed on window so the cookie-banner script (same storage key) 29 // shares this exact parsing â these are is:inline scripts Astro must not 30 // bundle, so a tiny global helper is the simplest way to avoid duplicating 31 // the migration rule in two places. 32 window.__bristellReadConsent = function () { 33 var raw; 34 try { 35 raw = localStorage.getItem('cookie-consent'); 36 } catch (e) { 37 return null; 38 } 39 if (!raw) return null; 40 try { 41 if (raw.charAt(0) === '{') { 42 var parsed = JSON.parse(raw); 43 return parsed && parsed.v === 2 ? parsed : null; 44 } 45 if (raw === 'all') return { v: 2, analytics: true, marketing: true, ts: null }; 46 if (raw === 'essential') return { v: 2, analytics: false, marketing: false, ts: null }; 47 } catch (e) { 48 // malformed value â treat as no stored consent 49 } 50 return null; 51 }; 52 53 var __storedConsent = window.__bristellReadConsent(); 54 if (__storedConsent) { 55 gtag('consent', 'update', { 56 analytics_storage: __storedConsent.analytics ? 'granted' : 'denied', 57 ad_storage: __storedConsent.marketing ? 'granted' : 'denied', 58 ad_user_data: __storedConsent.marketing ? 'granted' : 'denied', 59 ad_personalization: __storedConsent.marketing ? 'granted' : 'denied', 60 }); 61 } 62 </script>
vendor: 63 bytes, line 62
62<script async src="https://www.googletagmanager.com/gtag/js?id=
62G-9HNVL2W7YH
vendor: 11 bytes, line 62
62"></script>
62<script>(function(){const GA4_MEASUREMENT_ID = "G-9HNVL2W7YH"; 63 64 window.gtag('js', new Date()); 65 window.gtag('config', GA4_MEASUREMENT_ID); 66 })();</script>
66<link rel="stylesheet" href="/_astro/PageLayout.DzKqoPte.css"> 67<style>.press-wall[data-astro-cid-pstbxxlq]{container-type:inline-size}.press-grid[data-astro-cid-pstbxxlq]{--cols: 2;--gap: 16px;--colw: calc((100cqw - (var(--cols) - 1) * var(--gap)) / var(--cols));display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));gap:var(--gap);grid-auto-flow:row dense;grid-auto-rows:calc((var(--colw) * 99 / 70 - var(--gap)) / 2)}@media(min-width:768px){.press-grid[data-astro-cid-pstbxxlq]{--cols: 3;--gap: 20px}}@media(min-width:1024px){.press-grid[data-astro-cid-pstbxxlq]{--cols: 4;--gap: 24px}} 68</style></head> <body class="min-h-screen bg-white text-body antialiased"> <a href="#main-content" class="skip-link">Skip to content</a> <div id="lang-suggest" role="region" aria-label="Language suggestion" class="hidden relative z-30 bg-[#F5F7FB] border-b border-[#E8E8ED]" data-offers="[{"locale":"cs","href":"/cs/news/","endonym":"ÄeÅ¡tina","prompt":"Bristell je k dispozici i v ÄeÅ¡tinÄ.","cta":"PÅepnout na ÄeÅ¡tinu","dismiss":"ZavÅÃt nabÃdku jazyka"},{"locale":"de","href":"/de/news/","endonym":"Deutsch","prompt":"Bristell ist auch auf Deutsch verfügbar.","cta":"Auf Deutsch wechseln","dismiss":"Sprachhinweis schlieÃen"},{"locale":"es","href":"/es/news/","endonym":"Español","prompt":"Bristell también está disponible en español.","cta":"Cambiar a español","dismiss":"Cerrar aviso de idioma"},{"locale":"fr","href":"/fr/news/","endonym":"Français","prompt":"Bristell est également disponible en français.","cta":"Passer au français","dismiss":"Fermer la suggestion de langue"},{"locale":"it","href":"/it/news/","endonym":"Italiano","prompt":"Bristell è disponibile anche in italiano.","cta":"Passa all'italiano","dismiss":"Chiudi il suggerimento lingua"},{"locale":"pl","href":"/pl/news/","endonym":"Polski","prompt":"Bristell jest dostÄpny również po polsku.","cta":"PrzeÅÄ cz na polski","dismiss":"Zamknij propozycjÄ jÄzyka"}]" data-current="en"><div class="site-pad py-2"><div class="max-w-container mx-auto flex items-center justify-center gap-3"><p id="lang-suggest-text" class="text-heading text-[13px] leading-snug min-w-0"></p><div class="flex items-center gap-2 shrink-0"><a id="lang-suggest-cta" href="/" class="inline-flex items-center justify-center h-11 sm:h-8 px-4 sm:px-3.5 rounded-full bg-navy-blue text-white text-[12px] sm:text-[13px] font-button hover:bg-navy-blue/85 transition-colors whitespace-nowrap"><span id="lang-suggest-cta-short" class="sm:hidden"></span><span id="lang-suggest-cta-full" class="hidden sm:inline"></span></a><button type="button" id="lang-suggest-dismiss" class="inline-flex items-center justify-center shrink-0 h-11 w-11 sm:h-8 sm:w-8 rounded-full text-secondary hover:bg-white transition-colors cursor-pointer"><svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg></button></div></div></div></div>
68<script> 69 (function () { 70 var el = document.getElementById('lang-suggest'); 71 if (!el) return; 72 73 // Already chose a language? Never nag â that choice is the cookie's whole point. 74 // Raw cookie read (not the lib helper) so this holds even when the choice was 'en', 75 // and because an is:inline script cannot import. Name mirrors LOCALE_COOKIE_NAME. 76 var chosen = document.cookie.split('; ').some(function (c) { return c.indexOf('bristell_locale=') === 0; }); 77 if (chosen) return; 78 79 // Dismissed earlier this visit â see the dismiss handler for why this is session- 80 // scoped and not a cookie. 81 try { if (sessionStorage.getItem('lang-suggest-dismissed')) return; } catch (e) { /* private mode */ } 82 83 var offers = JSON.parse(el.getAttribute('data-offers') || '[]'); 84 var current = el.getAttribute('data-current') || 'en'; 85 86 // First match wins â navigator.languages is already in the visitor's own preference 87 // order. Match on the base tag so de-AT and de-CH both resolve to 'de'. 88 var langs = navigator.languages || [navigator.language || 'en']; 89 var match = null; 90 for (var i = 0; i < langs.length && !match; i++) { 91 var base = String(langs[i]).toLowerCase().split('-')[0]; 92 if (base === current) break; // their top preference is what they're already reading 93 for (var j = 0; j < offers.length; j++) { 94 if (offers[j].locale === base) { match = offers[j]; break; } 95 } 96 } 97 if (!match) return; 98 99 document.getElementById('lang-suggest-text').textContent = match.prompt; 100 var cta = document.getElementById('lang-suggest-cta'); 101 document.getElementById('lang-suggest-cta-short').textContent = match.endonym; 102 document.getElementById('lang-suggest-cta-full').textContent = match.cta; 103 // Both labels are always in the DOM (CSS picks by breakpoint), so the accessible 104 // name would otherwise read as both concatenated. 105 cta.setAttribute('aria-label', match.cta); 106 cta.setAttribute('href', match.href); 107 cta.setAttribute('lang', match.locale); 108 cta.setAttribute('hreflang', match.locale); 109 document.getElementById('lang-suggest-dismiss').setAttribute('aria-label', match.dismiss); 110 el.setAttribute('data-matched', match.locale); 111 112 // One thing at a time: consent outranks a language nudge. With a stored choice we 113 // reveal now (still pre-paint â zero CLS); otherwise we wait for the cookie card, 114 // and that later shift is within 500ms of a click so it is excluded from CLS. 115 var hasConsent = false; 116 try { hasConsent = !!localStorage.getItem('cookie-consent'); } catch (e) { /* private mode */ } 117 if (hasConsent) { 118 el.classList.remove('hidden'); 119 } else { 120 window.addEventListener('bristell:consent-set', function () { el.classList.remove('hidden'); }, { once: true }); 121 } 122 })(); 123</script>
123<script type="module" src="/_astro/LanguageSuggestBanner.astro_astro_type_script_index_0_lang.JRpYf4Fy.js"></script>
123 <header class="sticky top-0 z-40 bg-white"> <nav class="h-16 lg:h-[72px] px-4 lg:px-6 xl:px-8"> <!-- Row layout: mobile = flex (logo + right-flush hamburger); desktop = 124 3-track grid (logo | centered nav | right cluster). The grid reserves a 125 real column for each block so the centered nav can never overlap the 126 right cluster in long-word locales (DE/ES/FR/IT) â the old 127 absolute-centered <ul> had no width relationship to the cluster and 128 collided with it. Equal 1fr side tracks keep the nav centered at every 129 width. --> <div class="h-full flex lg:grid lg:grid-cols-[1fr_auto_1fr] items-center"> <!-- Logo â flush left. 130 Dealer tenants NEVER lead with the Bristell mark â they're their 131 own brand. With an uploaded dealer logo we show that; without one, 132 we show their displayName as a clean wordmark instead. Either way 133 the "Authorized Bristell Dealer" hairline follows, in navy so it 134 reads as part of the dealer's identity (not a Bristell-yellow 135 sticker on top of it). First-party tenants keep the bare Bristell 136 logo and no hairline. --> <a href="/" class="flex items-center shrink-0 lg:justify-self-start" aria-label="Bristell Aircraft"> <img src="/bristell-logo.png" alt="Bristell" class="h-12 lg:h-14 w-auto"> </a> <!-- Desktop nav â centered via the grid's middle (auto) track, not 137 absolute positioning, so it reserves real space between logo and the 138 right cluster (no more overlap in long locales). --> <ul class="hidden lg:flex items-center gap-0 lg:justify-self-center"> <li class="relative" data-nav-item="0"> <!-- Panel-only trigger (Solutions): no hub page exists, so this is 139 a button that ONLY opens the mega menu â it never navigates. --> 140 <button type="button" class="flex items-center gap-1.5 px-2.5 lg:px-3 xl:px-4 py-2 text-[15px] font-[500] text-heading hover:text-navy-blue transition-colors rounded-lg cursor-pointer whitespace-nowrap" data-nav-trigger="0" data-nav-label="Aircraft" aria-haspopup="true" aria-expanded="false"> Aircraft <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="opacity-40 transition-transform" data-nav-chevron="0"><polyline points="6 9 12 15 18 9"></polyline></svg> </button> </li><li class="relative" data-nav-item="1"> <!-- Panel-only trigger (Solutions): no hub page exists, so this is 141 a button that ONLY opens the mega menu â it never navigates. --> 142 <button type="button" class="flex items-center gap-1.5 px-2.5 lg:px-3 xl:px-4 py-2 text-[15px] font-[500] text-heading hover:text-navy-blue transition-colors rounded-lg cursor-pointer whitespace-nowrap" data-nav-trigger="1" data-nav-label="Solutions" aria-haspopup="true" aria-expanded="false"> Solutions <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="opacity-40 transition-transform" data-nav-chevron="1"><polyline points="6 9 12 15 18 9"></polyline></svg> </button> </li><li class="relative" data-nav-item="2"> <!-- Top-level hub items are real links: hover (or focus) opens the 143 mega menu, click navigates to the hub page itself. On no-hover 144 devices the first tap opens the panel, the second navigates. --> 145 <a href="/about/" class="flex items-center gap-1.5 px-2.5 lg:px-3 xl:px-4 py-2 text-[15px] font-[500] text-heading hover:text-navy-blue transition-colors rounded-lg cursor-pointer whitespace-nowrap" data-nav-trigger="2" data-nav-label="About" aria-haspopup="true" aria-expanded="false"> About <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="opacity-40 transition-transform" data-nav-chevron="2"><polyline points="6 9 12 15 18 9"></polyline></svg> </a> </li><li class="relative" data-nav-item="3"> <!-- Top-level hub items are real links: hover (or focus) opens the 146 mega menu, click navigates to the hub page itself. On no-hover 147 devices the first tap opens the panel, the second navigates. --> 148 <a href="/support/" class="flex items-center gap-1.5 px-2.5 lg:px-3 xl:px-4 py-2 text-[15px] font-[500] text-heading hover:text-navy-blue transition-colors rounded-lg cursor-pointer whitespace-nowrap" data-nav-trigger="3" data-nav-label="Support" aria-haspopup="true" aria-expanded="false"> Support <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="opacity-40 transition-transform" data-nav-chevron="3"><polyline points="6 9 12 15 18 9"></polyline></svg> </a> </li><li class="relative" data-nav-item="4"> <a href="/news/" class="flex items-center gap-1.5 px-2.5 lg:px-3 xl:px-4 py-2 text-[15px] font-[500] text-heading hover:text-navy-blue transition-colors rounded-lg whitespace-nowrap"> News </a> </li><li class="relative" data-nav-item="5"> <a href="/contact/" class="flex items-center gap-1.5 px-2.5 lg:px-3 xl:px-4 py-2 text-[15px] font-[500] text-heading hover:text-navy-blue transition-colors rounded-lg whitespace-nowrap"> Contact </a> </li> </ul> <!-- Right section â flush right (ADR-033 R1 + ADR-034): 149 globe + current language (opens language picker; global tenant only â 150 fixed-locale tenants have nothing to switch) | divider | 151 "Find a Dealer" plain link to the dealer locator | divider | 152 search icon. First-party tenants only. --> <div class="hidden lg:flex items-center gap-3 lg:justify-self-end"> <button id="language-trigger" class="flex items-center gap-1.5 py-1.5 text-heading hover:text-navy-blue transition-colors cursor-pointer" title="English" aria-label="Cho
152ose your language â English" aria-haspopup="true" aria-expanded="false"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="shrink-0"> <circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path> </svg> <span class="text-[13px] font-[600] tracking-[0.5px]">EN</span> </button> <div class="w-px h-5 bg-[#D8D8D8]"></div> <a href="/dealers/" title="Find a Dealer" aria-label="Find a Dealer" class="flex items-center gap-2 py-1.5 text-heading hover:text-navy-blue transition-colors whitespace-nowrap"> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="shrink-0" stroke-linecap="round" stroke-linejoin="round"> <path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle> </svg> <!-- Short one-word label from lg up; the full phrase only at 2xl, 153 where even the longest locale (fr "Trouver un concessionnaire") 154 has room without wrapping. Never icon-only. --> <span class="2xl:hidden text-[13px] font-[500] tracking-[0.2px]">Dealers</span> <span class="hidden 2xl:inline text-[13px] font-[500] tracking-[0.2px]">Find a Dealer</span> </a> <div class="w-px h-5 bg-[#D8D8D8]"></div> <a id="search-trigger" href="/search/" class="text-heading hover:text-navy-blue transition-colors" aria-label="Search" aria-haspopup="dialog" aria-expanded="false"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg> </a> </div> <!-- Mobile menu button â flush right. 155 Closed state: "Menu" text label (14 SB, Title case â premium feel). 156 Open state: X close icon. 157 Toggled via #menu-icon-open / #menu-icon-close in client script. --> <button id="mobile-menu-btn" class="lg:hidden h-11 px-3 flex items-center text-heading ml-auto" aria-label="Open menu" aria-expanded="false"> <span id="menu-icon-open" class="text-[14px] font-semibold tracking-[0.2px] text-heading">Menu</span> <svg id="menu-icon-close" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="hidden"> <line x1="18" y1="6" x2="6" y2="18"></line> <line x1="6" y1="6" x2="18" y2="18"></line> </svg> </button> </div> </nav> <!-- ===== MEGA MENU PANELS â Apple-style full-width ===== --> <div class="absolute left-0 right-0 top-[72px] z-50 overflow-hidden pointer-events-none" data-nav-panel="0" style="max-height: 0; opacity: 0; transition: max-height 0.4s cubic-bezier(0.4,0,0.2,1), opacity 0.3s ease;"> <div class="bg-white border-t border-[#E8E8ED] pointer-events-auto"> <div class="max-w-[1200px] mx-auto px-5 md:px-8 py-10 lg:py-12"> <!-- Aircraft mega menu (ADR-034) â CMS-driven family CARDS with the 158 family hero image, grouped by certification category (Certified / 159 UL · LSA / Experimental; empty categories drop out). Purely 160 aircraft, straight to the family pages (no /aircraft/ hub link â 161 Marek 2026-07-12); a single discreet "Compare Models" link 162 closes the panel. Sized for the 60+ buyer: 20px labels, 15px 163 support lines, the whole card is one large click target. --> 164 <div> <div class="flex gap-8 lg:gap-10"> <div class="min-w-0" style="flex: 1 0 0rem"> <span class="text-secondary text-[13px] font-[500] tracking-[0.3px] block mb-4">Certified</span> <div class="grid" style="gap: 1.5rem; grid-template-columns: repeat(1, minmax(0, 1fr))"> <a href="/aircraft/b23/" class="group block min-w-0"> <div class="aspect-[16/10] rounded-xl overflow-hidden bg-bg-light mb-3"> <picture><source type="image/avif" srcset="/_opt/c330c0ead8-430.avif 430w, /_opt/c330c0ead8-820.avif 820w" sizes="(min-width: 1024px) 352px, 220px"><source type="image/webp" srcset="/_opt/c330c0ead8-430.webp 430w, /_opt/c330c0ead8-820.webp 820w" sizes="(min-width: 1024px) 352px, 220px"><img src="/_opt/c330c0ead8-820.jpg" srcset="/_opt/c330c0ead8-430.jpg 430w, /_opt/c330c0ead8-820.jpg 820w" sizes="(min-width: 1024px) 352px, 220px" alt="Bristell B23 in flight" width="820" height="558" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover transition-transform duration-500 group-hover:scale-[1.03]" style="object-position: 50% 50%;"></picture> </div> <span class="text-heading text-[20px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors">B23</span> <span class="text-secondary text-[15px] font-normal block mt-1">EASA CS-23 · FAA Part 23</span> <span class="text-secondary text-[15px] font-normal block mt-0.5">MTOW 750 kg / 1,653 lbs</span> </a> </div> </div><div class="min-w-0" style="flex: 3 0 3rem"> <span class="text-secondary text-[13px] font-[500] tracking-[0.3px] block mb-4">UL · LSA</span> <div class="grid" style="gap: 1.5rem; grid-template-columns: repeat(3, minmax(0, 1fr))"> <a href="/aircraft/b23m/" class="group block min-w-0"> <div class="aspect-[16/10] rounded-xl overflow-hidden bg-bg-light mb-3"> <picture>
164<source type="image/avif" srcset="/_opt/e96473facb-430.avif 430w, /_opt/e96473facb-820.avif 820w" sizes="(min-width: 1024px) 352px, 220px"><source type="image/webp" srcset="/_opt/e96473facb-430.webp 430w, /_opt/e96473facb-820.webp 820w" sizes="(min-width: 1024px) 352px, 220px"><img src="/_opt/e96473facb-820.jpg" srcset="/_opt/e96473facb-430.jpg 430w, /_opt/e96473facb-820.jpg 820w" sizes="(min-width: 1024px) 352px, 220px" alt="Bristell B23M in flight over a lake" width="820" height="547" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover transition-transform duration-500 group-hover:scale-[1.03]" style="object-position: 50% 50%;"></picture> </div> <span class="text-heading text-[20px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors">B23M</span> <span class="text-secondary text-[15px] font-normal block mt-1">US LSA · MOSAIC</span> <span class="text-secondary text-[15px] font-normal block mt-0.5">MTOW 750 kg / 1,653 lbs</span> </a><a href="/aircraft/ul-lsa/" class="group block min-w-0"> <div class="aspect-[16/10] rounded-xl overflow-hidden bg-bg-light mb-3"> <picture><source type="image/avif" srcset="/_opt/24808f2553-430.avif 430w, /_opt/24808f2553-820.avif 820w" sizes="(min-width: 1024px) 352px, 220px"><source type="image/webp" srcset="/_opt/24808f2553-430.webp 430w, /_opt/24808f2553-820.webp 820w" sizes="(min-width: 1024px) 352px, 220px"><img src="/_opt/24808f2553-820.jpg" srcset="/_opt/24808f2553-430.jpg 430w, /_opt/24808f2553-820.jpg 820w" sizes="(min-width: 1024px) 352px, 220px" alt="Bristell Classic and Bristell RG flying in formation over wooded hills, the RG with its gear retracted" width="820" height="513" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover transition-transform duration-500 group-hover:scale-[1.03]" style="object-position: 50% 50%;"></picture> </div> <span class="text-heading text-[20px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors">UL/LSA</span> <span class="text-secondary text-[15px] font-normal block mt-1">UL / LSA</span> <span class="text-secondary text-[15px] font-normal block mt-0.5">MTOW 600 kg / 1,323 lbs</span> </a><a href="/aircraft/b8m/" class="group block min-w-0"> <div class="aspect-[16/10] rounded-xl overflow-hidden bg-bg-light mb-3"> <picture><source type="image/avif" srcset="/_opt/44de0ec483-430.avif 430w, /_opt/44de0ec483-820.avif 820w" sizes="(min-width: 1024px) 352px, 220px"><source type="image/webp" srcset="/_opt/44de0ec483-430.webp 430w, /_opt/44de0ec483-820.webp 820w" sizes="(min-width: 1024px) 352px, 220px"><img src="/_opt/44de0ec483-820.jpg" srcset="/_opt/44de0ec483-430.jpg 430w, /_opt/44de0ec483-820.jpg 820w" sizes="(min-width: 1024px) 352px, 220px" alt="Bristell B8M high-wing aircraft in flight" width="820" height="558" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover transition-transform duration-500 group-hover:scale-[1.03]" style="object-position: 50% 50%;"></picture> </div> <span class="text-heading text-[20px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors">B8M</span> <span class="text-secondary text-[15px] font-normal block mt-1">High Wing · LSA</span> <span class="text-secondary text-[15px] font-normal block mt-0.5">MTOW 800 kg / 1,764 lbs</span> </a> </div> </div><div class="min-w-0" style="flex: 1 0 0rem"> <span class="text-secondary text-[13px] font-[500] tracking-[0.3px] block mb-4">Experimental</span> <div class="grid" style="gap: 1.5rem; grid-template-columns: repeat(1, minmax(0, 1fr))"> <a href="/aircraft/energic/" class="group block min-w-0"> <div class="aspect-[16/10] rounded-xl overflow-hidden bg-bg-light mb-3"> <picture><source type="image/avif" srcset="/_opt/98b95f69f0-430.avif 430w, /_opt/98b95f69f0-820.avif 820w" sizes="(min-width: 1024px) 352px, 220px"><source type="image/webp" srcset="/_opt/98b95f69f0-430.webp 430w, /_opt/98b95f69f0-820.webp 820w" sizes="(min-width: 1024px) 352px, 220px"><img src="/_opt/98b95f69f0-820.jpg" srcset="/_opt/98b95f69f0-430.jpg 430w, /_opt/98b95f69f0-820.jpg 820w" sizes="(min-width: 1024px) 352px, 220px" alt="Bristell Energic electric aircraft" width="820" height="557" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover transition-transform duration-500 group-hover:scale-[1.03]" style="object-position: 50% 50%;"></picture> </div> <span class="text-heading text-[20px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors">Energic</span> <span class="text-secondary text-[15px] font-normal block mt-1">Electric · In development</span> </a> </div> </div> </div> <div class="h-px bg-[#E8ECEF] my-7"></div> <div class="flex flex-wrap items-center gap-x-10 lg:gap-x-16 gap-y-4"> <a href="/aircraft/compare/" class="group inline-flex items-center gap-2 text-heading text-[15px] font-[500] hover:text-navy-blue transition-colors">
164 Compare Models <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="transition-transform group-hover:translate-x-0.5"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </a> <a href="/options/" class="group inline-flex items-center gap-2 text-heading text-[15px] font-[500] hover:text-navy-blue transition-colors"> Paint, Interior & Options <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="transition-transform group-hover:translate-x-0.5"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </a> <a href="/aircraft/mosaic/" class="group inline-flex items-center gap-2 text-heading text-[15px] font-[500] hover:text-navy-blue transition-colors"> MOSAIC <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="transition-transform group-hover:translate-x-0.5"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </a> </div> </div> </div> </div> </div><div class="absolute left-0 right-0 top-[72px] z-50 overflow-hidden pointer-events-none" data-nav-panel="1" style="max-height: 0; opacity: 0; transition: max-height 0.4s cubic-bezier(0.4,0,0.2,1), opacity 0.3s ease;"> <div class="bg-white border-t border-[#E8E8ED] pointer-events-auto"> <div class="max-w-[1200px] mx-auto px-5 md:px-8 py-10 lg:py-12"> <!-- Standard mega menu for Solutions/About (ADR-034): a single set of 165 large destinations, no Explore column. Solutions renders as two 166 large image cards; About as a grid of large text links (all 167 ⥠44px targets, 22px labels). --> 168 <div> <!-- Few large image cards (Solutions): centered, with subtitle. --> 169 <div class="flex flex-wrap justify-center gap-8 lg:gap-10"> <a href="/solutions/flight-schools/" class="group block w-[320px] lg:w-[380px] max-w-full"> <div class="aspect-[16/10] rounded-xl overflow-hidden bg-bg-light mb-3"> <picture><source type="image/avif" srcset="/_opt/00889264c5-430.avif 430w, /_opt/00889264c5-820.avif 820w" sizes="(min-width: 1024px) 380px, 90vw"><source type="image/webp" srcset="/_opt/00889264c5-430.webp 430w, /_opt/00889264c5-820.webp 820w" sizes="(min-width: 1024px) 380px, 90vw"><img src="/_opt/00889264c5-820.jpg" srcset="/_opt/00889264c5-430.jpg 430w, /_opt/00889264c5-820.jpg 820w" sizes="(min-width: 1024px) 380px, 90vw" alt="Flight Schools" width="820" height="547" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover transition-transform duration-500 group-hover:scale-[1.03]" style="object-position: 50% 50%;"></picture> </div> <span class="block text-heading text-[20px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors">Flight Schools</span> <span class="block text-secondary text-[15px] font-normal leading-snug mt-1">Low costs, modern fleet</span> </a><a href="/solutions/towing/" class="group block w-[320px] lg:w-[380px] max-w-full"> <div class="aspect-[16/10] rounded-xl overflow-hidden bg-bg-light mb-3"> <picture><source type="image/avif" srcset="/_opt/88170f5e69-430.avif 430w, /_opt/88170f5e69-820.avif 820w" sizes="(min-width: 1024px) 380px, 90vw"><source type="image/webp" srcset="/_opt/88170f5e69-430.webp 430w, /_opt/88170f5e69-820.webp 820w" sizes="(min-width: 1024px) 380px, 90vw"><img src="/_opt/88170f5e69-820.jpg" srcset="/_opt/88170f5e69-430.jpg 430w, /_opt/88170f5e69-820.jpg 820w" sizes="(min-width: 1024px) 380px, 90vw" alt="Glider towing exhibition in Swiss airclub Schänis" width="820" height="410" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover transition-transform duration-500 group-hover:scale-[1.03]" style="object-position: 50% 50%;"></picture> </div> <span class="block text-heading text-[20px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors">Glider Towing</span> <span class="block text-secondary text-[15px] font-normal leading-snug mt-1">Tow up to 850 kg (1,874 lbs)</span> </a> </div> </div> </div> </div> </div><div class="absolute left-0 right-0 top-[72px] z-50 overflow-hidden pointer-events-none" data-nav-panel="2" style="max-height: 0; opacity: 0; transition: max-height 0.4s cubic-bezier(0.4,0,0.2,1), opacity 0.3s ease;">
169 <div class="bg-white border-t border-[#E8E8ED] pointer-events-auto"> <div class="max-w-[1200px] mx-auto px-5 md:px-8 py-10 lg:py-12"> <!-- Standard mega menu for Solutions/About (ADR-034): a single set of 170 large destinations, no Explore column. Solutions renders as two 171 large image cards; About as a grid of large text links (all 172 ⥠44px targets, 22px labels). --> 173 <div> <!-- Many image cards (About): N across, smaller, with subtitle. --> 174 <div class="grid items-start gap-6 lg:gap-8 max-w-[1100px] mx-auto" style="grid-template-columns: repeat(5, minmax(0, 1fr))"> <a href="/about/" class="group block min-w-0"> <div class="aspect-[16/10] rounded-xl overflow-hidden bg-bg-light mb-3"> <picture><source type="image/avif" srcset="/_opt/ea9bf24af3-430.avif 430w, /_opt/ea9bf24af3-820.avif 820w" sizes="(min-width: 1024px) 200px, 45vw"><source type="image/webp" srcset="/_opt/ea9bf24af3-430.webp 430w, /_opt/ea9bf24af3-820.webp 820w" sizes="(min-width: 1024px) 200px, 45vw"><img src="/_opt/ea9bf24af3-820.jpg" srcset="/_opt/ea9bf24af3-430.jpg 430w, /_opt/ea9bf24af3-820.jpg 820w" sizes="(min-width: 1024px) 200px, 45vw" alt="Our Story" width="820" height="615" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover transition-transform duration-500 group-hover:scale-[1.03]" style="object-position: 50% 50%;"></picture> </div> <span class="block text-heading text-[18px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors">Our Story</span> <span class="block text-secondary text-[14px] font-normal leading-snug mt-1">Family-run since 2009</span> </a><a href="/about/production/" class="group block min-w-0"> <div class="aspect-[16/10] rounded-xl overflow-hidden bg-bg-light mb-3"> <picture><source type="image/avif" srcset="/_opt/09eb4d1ffa-430.avif 430w, /_opt/09eb4d1ffa-820.avif 820w" sizes="(min-width: 1024px) 200px, 45vw"><source type="image/webp" srcset="/_opt/09eb4d1ffa-430.webp 430w, /_opt/09eb4d1ffa-820.webp 820w" sizes="(min-width: 1024px) 200px, 45vw"><img src="/_opt/09eb4d1ffa-820.jpg" srcset="/_opt/09eb4d1ffa-430.jpg 430w, /_opt/09eb4d1ffa-820.jpg 820w" sizes="(min-width: 1024px) 200px, 45vw" alt="Production" width="820" height="615" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover transition-transform duration-500 group-hover:scale-[1.03]" style="object-position: 50% 50%;"></picture> </div> <span class="block text-heading text-[18px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors">Production</span> <span class="block text-secondary text-[14px] font-normal leading-snug mt-1">Built in the Czech Republic</span> </a><a href="/about/careers/" class="group block min-w-0"> <div class="aspect-[16/10] rounded-xl overflow-hidden bg-bg-light mb-3"> <picture><source type="image/avif" srcset="/_opt/4f50965fc5-430.avif 430w, /_opt/4f50965fc5-820.avif 820w" sizes="(min-width: 1024px) 200px, 45vw"><source type="image/webp" srcset="/_opt/4f50965fc5-430.webp 430w, /_opt/4f50965fc5-820.webp 820w" sizes="(min-width: 1024px) 200px, 45vw"><img src="/_opt/4f50965fc5-820.jpg" srcset="/_opt/4f50965fc5-430.jpg 430w, /_opt/4f50965fc5-820.jpg 820w" sizes="(min-width: 1024px) 200px, 45vw" alt="Careers" width="820" height="547" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover transition-transform duration-500 group-hover:scale-[1.03]" style="object-position: 50% 45%;"></picture> </div> <span class="block text-heading text-[18px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors">Careers</span> <span class="block text-secondary text-[14px] font-normal leading-snug mt-1">Open positions</span> </a><a href="/about/in-the-media/" class="group block min-w-0"> <div class="aspect-[16/10] rounded-xl overflow-hidden bg-bg-light mb-3"> <picture><source type="image/avif" srcset="/_opt/69373a38b4-430.avif 430w, /_opt/69373a38b4-820.avif 820w" sizes="(min-width: 1024px) 200px, 45vw"><source type="image/webp" srcset="/_opt/69373a38b4-430.webp 430w, /_opt/69373a38b4-820.webp 820w" sizes="(min-width: 1024px) 200px, 45vw"><img src="/_opt/69373a38b4-820.jpg" srcset="/_opt/69373a38b4-430.jpg 430w, /_opt/69373a38b4-820.jpg 820w" sizes="(min-width: 1024px) 200px, 45vw" alt="Pilot magazine (January 2025) cover featuring the Bristell TDO" width="820" height="1125" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover transition-transform duration-500 group-hover:scale-[1.03]" style="object-position: 50% 30%;"></picture> </div> <span class="block text-heading text-[18px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors">In the Media</span> <span class="block text-secondary text-[14px] font-normal leading-snug mt-1">Press coverage</span> </a><a href="/about/certifications/" class="group block min-w-0"> <div class="aspect-[16/10] rounded-xl overflow-hidden bg-bg-light mb-3"> <picture><source type="image/avif" srcset="/_opt/0f1eb68ced-430.avif 430w, /_opt/0f1eb68ced-820.avif 820w" sizes="(min-width: 1024px) 200px, 45vw"><source type="image/webp" srcset="/_opt/0f1eb68ced-430.webp 430w, /_opt/0f1eb68ced-820.webp 820w" sizes="(min-width: 1024px) 200px, 45vw"><img src="/_opt/0f1eb68ced-820.jpg" srcset="/_opt/0f1eb68ced-430.jpg 430w, /_opt/0f1eb68ced-820.jpg 820w" sizes="(min-width: 1024px) 200px, 45vw" alt="Certifications" width="820" height="547" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover transition-transform duration-500 group-hover:scale-[1.03]" style="object-position: 50% 50%;"></picture> </div> <span class="block text-heading text-[18px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors">Certifications</span> <span class="block text-secondary text-[14px] font-normal leading-snug mt-1">EASA, FAA & more</span> </a> </div> </div> </div> </div> </div><div class="absolute left-0 right-0 top-[72px] z-50 overflow-hidden pointer-events-none" data-nav-panel="3" style="max-height: 0; opacity: 0; transition: max-height 0.4s cubic-bezier(0.4,0,0.2,1), opacity 0.3s ease;">
174 <div class="bg-white border-t border-[#E8E8ED] pointer-events-auto"> <div class="max-w-[1200px] mx-auto px-5 md:px-8 py-10 lg:py-12"> <!-- Grouped multi-column text menu (Support): each column is a 175 logical group read top-to-bottom, columns side by side â so 176 related links stay together instead of wrapping row-major across 177 a flat grid. Support Overview leads column 1 (emphasis arrow). --> 178 <div class="grid items-start gap-x-10 gap-y-7 max-w-[1040px] mx-auto" style="grid-template-columns: repeat(4, minmax(0, 1fr))"> <div class="flex flex-col gap-6 min-w-0"> <a href="/support/" class="group block min-w-0"> <span class="inline-flex items-center gap-2 text-heading text-[20px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors"> Support Overview <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="shrink-0 transition-transform group-hover:translate-x-0.5"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> <span class="block text-secondary text-[15px] font-normal leading-snug mt-1">Everything in one place</span> </a> </div><div class="flex flex-col gap-6 min-w-0"> <a href="/support/service-centers/" class="group block min-w-0"> <span class="inline-flex items-center gap-2 text-heading text-[20px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors"> Service Centers </span> <span class="block text-secondary text-[15px] font-normal leading-snug mt-1">Map & contacts</span> </a><a href="/support/spare-parts/" class="group block min-w-0"> <span class="inline-flex items-center gap-2 text-heading text-[20px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors"> Spare Parts </span> <span class="block text-secondary text-[15px] font-normal leading-snug mt-1">Order form</span> </a> </div><div class="flex flex-col gap-6 min-w-0"> <a href="/support/technical-documentation/" class="group block min-w-0"> <span class="inline-flex items-center gap-2 text-heading text-[20px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors"> Technical Documentation </span> <span class="block text-secondary text-[15px] font-normal leading-snug mt-1">Manuals to download</span> </a><a href="/support/bulletins/" class="group block min-w-0"> <span class="inline-flex items-center gap-2 text-heading text-[20px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors"> Bulletins </span> <span class="block text-secondary text-[15px] font-normal leading-snug mt-1">Service bulletins</span> </a> </div><div class="flex flex-col gap-6 min-w-0"> <a href="/support/safety-reporting/" class="group block min-w-0"> <span class="inline-flex items-center gap-2 text-heading text-[20px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors"> Safety Reporting </span> <span class="block text-secondary text-[15px] font-normal leading-snug mt-1">Report a hazard</span> </a><a href="/support/occurrence-reporting/" class="group block min-w-0"> <span class="inline-flex items-center gap-2 text-heading text-[20px] font-semibold leading-[1.3] group-hover:text-navy-blue transition-colors"> Occurrence Reporting </span> <span class="block text-secondary text-[15px] font-normal leading-snug mt-1">Report an occurrence</span> </a> </div> </div> </div> </div> </div> <!-- Backdrop â blur content behind. Desktop = mega-menu open; mobile = drawer open. 179 ABSOLUTE (not fixed) so it rides with the sticky header exactly like the 180 mega-menu / language panels: top-[64/72] is then measured from the header's 181 OWN top, i.e. its bottom edge. h-screen keeps it covering the full viewport 182 below the header. --> <div id="nav-backdrop" class="absolute left-0 right-0 top-[64px] lg:top-[72px] h-screen z-30 pointer-events-none" style="opacity: 0; backdrop-filter: blur(0px); -webkit-backdrop-filter: blur(0px); background: rgba(0,0,0,0); transition: opacity 0.35s ease, backdrop-filter 0.35s ease, -webkit-backdrop-filter 0.35s ease, background 0.35s ease;"></div> <!-- ===== SEARCH OVERLAY ===== instant typeahead (desktop), absolute-in-header. 183 Progressive enhancement: #search-trigger is an <a href="/search/"> that this 184 overlay's script intercepts; without JS the link still opens /search/. --> <div id="search-panel" data-locale="en" class="absolute left-0 right-0 top-[64px] lg:top-[72px] z-40 hidden"> <div class="bg-white border-t border-border pointer-events-auto"> <div class="site-pad py-6"> <form id="nav-search-form" role="search" action="/search/" method="get" class="relative max-w-[720px] mx-auto"> <input id="nav-search-input" type="search" name="q" placeholder="Search aircraft, news, support..." autocomplete="off" role="combobox" aria-expanded="false" aria-controls="nav-search-results" aria-label="Search Bristell" class="w-full h-12 pl-11 pr-4 rounded-xl border border-border bg-white text-heading text-[15px] font-[500] outline-hidden focu
184s:border-transparent transition-colors"> <svg class="absolute left-3.5 top-1/2 -translate-y-1/2 w-5 h-5 text-secondary" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg> </form> <ul id="nav-search-results" role="listbox" class="max-w-[720px] mx-auto mt-3 max-h-[60vh] overflow-y-auto space-y-1"></ul> <div class="max-w-[720px] mx-auto"> <a id="nav-search-viewall" href="/search/" class="hidden mt-2 py-2 px-3 text-navy-blue text-[14px] font-semibold hover:underline">View all results â</a> </div> </div> </div> </div>
184<script type="application/json" id="nav-search-i18n">{"placeholder":"Search aircraft, news, support...","viewAll":"View all results","loading":"Searchingâ¦","noResults":"No results found for","types":{"aircraft":"Aircraft","variant":"Aircraft","collection":"Aircraft","news":"News","event":"Event","dealer":"Dealer","bulletin":"Support","publication":"Media","team":"Team","page":"Page"}}</script>
184 <!-- ===== LANGUAGE PICKER (ADR-033 R1) ===== animated overlay. 185 Languages only â no countries, no flags (a flag names a country, not a 186 language; endonyms per W3C i18n). Global tenant only: fixed-locale 187 tenants (dealers, bristell-cz) have nothing to switch. 188 Responsive shape: < lg a full-width sheet (opened from the mobile-drawer 189 language row, where full width IS the anchored position); ⥠lg a compact 190 popover anchored under the globe trigger (right nav cluster) â proximity 191 principle: the response appears where the user clicked, not across the 192 viewport. right-6/8 mirrors the nav's own px-6/xl:px-8. --> <div id="language-panel" data-overlay="language" inert class="fixed inset-x-0 bottom-0 rounded-t-2xl lg:absolute lg:inset-x-auto lg:bottom-auto lg:top-[80px] lg:left-auto lg:right-6 xl:right-8 lg:w-[320px] lg:rounded-2xl z-40 overflow-hidden pointer-events-none will-change-transform" style="opacity: 0; transition: transform 0.34s cubic-bezier(0.32,0.72,0,1), opacity 0.24s ease;"> <div class="bg-white lg:border border-[#E8E8ED] lg:rounded-2xl overflow-y-auto" style="max-height: 75vh;"> <div class="px-[var(--site-pad)] py-8 lg:p-6"> <span class="text-secondary text-[12px] font-semibold tracking-[1.4px] uppercase block mb-6 lg:mb-4">Choose your language</span> <div class="flex flex-col max-w-[420px]"> <a href="/news/" lang="en" hreflang="en" data-locale="en" class="flex items-center justify-between py-3 px-3 -mx-3 rounded-lg transition-colors min-h-[44px] bg-gray-100"> <span class="text-[17px] text-heading font-bold">English</span> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round" class="text-navy-blue shrink-0"><polyline points="20 6 9 17 4 12"></polyline></svg> </a><a href="/cs/news/" lang="cs" hreflang="cs" data-locale="cs" class="flex items-center justify-between py-3 px-3 -mx-3 rounded-lg transition-colors min-h-[44px] hover:bg-[#F8F9FB]"> <span class="text-[17px] text-heading font-[500]">ÄeÅ¡tina</span> </a><a href="/de/news/" lang="de" hreflang="de" data-locale="de" class="flex items-center justify-between py-3 px-3 -mx-3 rounded-lg transition-colors min-h-[44px] hover:bg-[#F8F9FB]"> <span class="text-[17px] text-heading font-[500]">Deutsch</span> </a><a href="/es/news/" lang="es" hreflang="es" data-locale="es" class="flex items-center justify-between py-3 px-3 -mx-3 rounded-lg transition-colors min-h-[44px] hover:bg-[#F8F9FB]"> <span class="text-[17px] text-heading font-[500]">Español</span> </a><a href="/fr/news/" lang="fr" hreflang="fr" data-locale="fr" class="flex items-center justify-between py-3 px-3 -mx-3 rounded-lg transition-colors min-h-[44px] hover:bg-[#F8F9FB]"> <span class="text-[17px] text-heading font-[500]">Français</span> </a><a href="/it/news/" lang="it" hreflang="it" data-locale="it" class="flex items-center justify-between py-3 px-3 -mx-3 rounded-lg transition-colors min-h-[44px] hover:bg-[#F8F9FB]"> <span class="text-[17px] text-heading font-[500]">Italiano</span> </a><a href="/pl/news/" lang="pl" hreflang="pl" data-locale="pl" class="flex items-center justify-between py-3 px-3 -mx-3 rounded-lg transition-colors min-h-[44px] hover:bg-[#F8F9FB]"> <span class="text-[17px] text-heading font-[500]">Polski</span> </a> </div> </div> </div> <button type="button" data-overlay-close aria-label="Close" class="lg:hidden absolute top-3 right-3 z-10 w-11 h-11 flex items-center justify-center rounded-full text-heading bg-white/90 hover:bg-bg-light-light transition-colors"> <svg width="22" height="22" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg> </button> </div> <!-- ===== MOBILE MENU ===== --> <!-- Mobile drawer â FULL viewport overlay (Figma T-2 / M-2). 193 Covers everything including the sticky header (z-50 > header z-40) 194 so the page beneath isn't visible whatever the scroll position. --> <div id="mobile-menu" class="hidden lg:hidden bg-white fixed inset-0 z-50 overflow-y-auto flex flex-col"> <!-- Drawer own top chrome â tenant logo + X close. 195 MUST mirror the desktop logo block above (ADR-010): a dealer NEVER leads 196 with the Bristell mark. This bar used to hardcode /bristell-logo.png, so 197 opening the drawer on a dealer tenant replaced their brand with Bristell's 198 on every phone â the desktop header two lines up got it right, which is 199 exactly why it went unnoticed. Sizes are the desktop block's sub-`lg` 200 values (the drawer is `lg:hidden`, so the lg: variants never apply). --> <div class="flex items-center justify-between h-16 px-4 border-b border-border-light shrink-0"> <a href="/" class="flex items-center shrink-0" aria-label="Bristell Aircraft"> <img src="/bristell-logo.png" alt="Bristell" class="h-12 w-auto"> </a> <button type="button" id="mobile-menu-close" aria-label="Close menu" class="h-11 px-3 flex items-center text-heading shrink-0"> <svg width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="18" y1="6" x2="6" y2="18"></line><line x1="6" y1="6" x2="18" y2="18"></line></svg> </button> </div> <div class="px-4 py-4 space-y-1"> <!-- Search entry â links to the full /search/ page (all tenants). --> <a href="/search/" class="flex items-center gap-3 mb-2 py-3 px-3 rounded-xl border border-border text-secondary hover:text-heading transition-colors"> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="shrink-0"><circle cx="11" cy="11" r="8"></circle><line x1="21" y1="21" x2="16.65" y2="16.65"></line></svg> <span class="text-[15px] font-[500]">
200Search aircraft, news, support...</span> </a> <div> <button class="flex items-center w-full py-3 px-3 text-[15px] font-[500] text-heading hover:text-navy-blue hover:bg-bg-light-light rounded-lg transition-colors mobile-accordion-toggle" aria-expanded="false"> <span class="flex-1 text-left">Aircraft</span> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="transition-transform text-secondary"><polyline points="6 9 12 15 18 9"></polyline></svg> </button> <div class="pl-6 space-y-4 pb-2 hidden mobile-accordion-content"> <div class="space-y-2"> <span class="block px-3 mb-1 text-[12px] font-[500] tracking-[0.2px] text-secondary">Certified</span> <a href="/aircraft/b23/" class="flex items-center gap-3 py-1.5 px-3 rounded-lg transition-colors group"> <span class="w-16 h-10 rounded-lg overflow-hidden bg-bg-light shrink-0"> <picture><source type="image/avif" srcset="/_opt/c330c0ead8-430.avif 430w" sizes="64px"><source type="image/webp" srcset="/_opt/c330c0ead8-430.webp 430w" sizes="64px"><img src="/_opt/c330c0ead8-430.jpg" srcset="/_opt/c330c0ead8-430.jpg 430w" sizes="64px" alt="Bristell B23 in flight" width="430" height="293" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover" style="object-position: 50% 50%;"></picture> </span> <span class="flex flex-col min-w-0"> <span class="text-[16px] font-semibold text-heading group-hover:text-navy-blue block leading-tight">B23</span> <span class="text-[13px] text-secondary block leading-snug mt-0.5">EASA CS-23 · FAA Part 23</span> <span class="text-[13px] text-secondary block leading-snug mt-0.5">MTOW 750 kg / 1,653 lbs</span> </span> </a> </div><div class="space-y-2"> <span class="block px-3 mb-1 text-[12px] font-[500] tracking-[0.2px] text-secondary">UL · LSA</span> <a href="/aircraft/b23m/" class="flex items-center gap-3 py-1.5 px-3 rounded-lg transition-colors group"> <span class="w-16 h-10 rounded-lg overflow-hidden bg-bg-light shrink-0"> <picture><source type="image/avif" srcset="/_opt/e96473facb-430.avif 430w" sizes="64px"><source type="image/webp" srcset="/_opt/e96473facb-430.webp 430w" sizes="64px"><img src="/_opt/e96473facb-430.jpg" srcset="/_opt/e96473facb-430.jpg 430w" sizes="64px" alt="Bristell B23M in flight over a lake" width="430" height="287" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover" style="object-position: 50% 50%;"></picture> </span> <span class="flex flex-col min-w-0"> <span class="text-[16px] font-semibold text-heading group-hover:text-navy-blue block leading-tight">B23M</span> <span class="text-[13px] text-secondary block leading-snug mt-0.5">US LSA · MOSAIC</span> <span class="text-[13px] text-secondary block leading-snug mt-0.5">MTOW 750 kg / 1,653 lbs</span> </span> </a><a href="/aircraft/ul-lsa/" class="flex items-center gap-3 py-1.5 px-3 rounded-lg transition-colors group"> <span class="w-16 h-10 rounded-lg overflow-hidden bg-bg-light shrink-0"> <picture><source type="image/avif" srcset="/_opt/24808f2553-430.avif 430w" sizes="64px"><source type="image/webp" srcset="/_opt/24808f2553-430.webp 430w" sizes="64px"><img src="/_opt/24808f2553-430.jpg" srcset="/_opt/24808f2553-430.jpg 430w" sizes="64px" alt="Bristell Classic and Bristell RG flying in formation over wooded hills, the RG with its gear retracted" width="430" height="269" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover" style="object-position: 50% 50%;"></picture> </span> <span class="flex flex-col min-w-0"> <span class="text-[16px] font-semibold text-heading group-hover:text-navy-blue block leading-tight">UL/LSA</span> <span class="text-[13px] text-secondary block leading-snug mt-0.5">UL / LSA</span> <span class="text-[13px] text-secondary block leading-snug mt-0.5">MTOW 600 kg / 1,323 lbs</span> </span> </a><a href="/aircraft/b8m/" class="flex items-center gap-3 py-1.5 px-3 rounded-lg transition-colors group"> <span class="w-16 h-10 rounded-lg overflow-hidden bg-bg-light shrink-0"> <picture>
200<source type="image/avif" srcset="/_opt/44de0ec483-430.avif 430w" sizes="64px"><source type="image/webp" srcset="/_opt/44de0ec483-430.webp 430w" sizes="64px"><img src="/_opt/44de0ec483-430.jpg" srcset="/_opt/44de0ec483-430.jpg 430w" sizes="64px" alt="Bristell B8M high-wing aircraft in flight" width="430" height="292" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover" style="object-position: 50% 50%;"></picture> </span> <span class="flex flex-col min-w-0"> <span class="text-[16px] font-semibold text-heading group-hover:text-navy-blue block leading-tight">B8M</span> <span class="text-[13px] text-secondary block leading-snug mt-0.5">High Wing · LSA</span> <span class="text-[13px] text-secondary block leading-snug mt-0.5">MTOW 800 kg / 1,764 lbs</span> </span> </a> </div><div class="space-y-2"> <span class="block px-3 mb-1 text-[12px] font-[500] tracking-[0.2px] text-secondary">Experimental</span> <a href="/aircraft/energic/" class="flex items-center gap-3 py-1.5 px-3 rounded-lg transition-colors group"> <span class="w-16 h-10 rounded-lg overflow-hidden bg-bg-light shrink-0"> <picture><source type="image/avif" srcset="/_opt/98b95f69f0-430.avif 430w" sizes="64px"><source type="image/webp" srcset="/_opt/98b95f69f0-430.webp 430w" sizes="64px"><img src="/_opt/98b95f69f0-430.jpg" srcset="/_opt/98b95f69f0-430.jpg 430w" sizes="64px" alt="Bristell Energic electric aircraft" width="430" height="292" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover" style="object-position: 50% 50%;"></picture> </span> <span class="flex flex-col min-w-0"> <span class="text-[16px] font-semibold text-heading group-hover:text-navy-blue block leading-tight">Energic</span> <span class="text-[13px] text-secondary block leading-snug mt-0.5">Electric · In development</span> </span> </a> </div> <a href="/aircraft/compare/" class="block py-2 px-3 text-[14px] text-secondary hover:text-heading rounded-lg transition-colors">Compare Models</a> <a href="/options/" class="block py-2 px-3 text-[14px] text-secondary hover:text-heading rounded-lg transition-colors">Paint, Interior & Options</a> <a href="/aircraft/mosaic/" class="block py-2 px-3 text-[14px] text-secondary hover:text-heading rounded-lg transition-colors">MOSAIC</a> </div> </div><div> <button class="flex items-center w-full py-3 px-3 text-[15px] font-[500] text-heading hover:text-navy-blue hover:bg-bg-light-light rounded-lg transition-colors mobile-accordion-toggle" aria-expanded="false"> <span class="flex-1 text-left">Solutions</span> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="transition-transform text-secondary"><polyline points="6 9 12 15 18 9"></polyline></svg> </button> <div class="pl-6 space-y-1 pb-2 hidden mobile-accordion-content"> <a href="/solutions/flight-schools/" class="flex items-center gap-3 py-1.5 px-3 rounded-lg transition-colors group"> <span class="w-16 h-10 rounded-lg overflow-hidden bg-bg-light shrink-0"> <picture><source type="image/avif" srcset="/_opt/00889264c5-430.avif 430w" sizes="64px"><source type="image/webp" srcset="/_opt/00889264c5-430.webp 430w" sizes="64px"><img src="/_opt/00889264c5-430.jpg" srcset="/_opt/00889264c5-430.jpg 430w" sizes="64px" alt="Flight Schools" width="430" height="287" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover" style="object-position: 50% 50%;"></picture> </span> <span class="text-[16px] font-semibold text-heading group-hover:text-navy-blue leading-tight">Flight Schools</span> </a><a href="/solutions/towing/" class="flex items-center gap-3 py-1.5 px-3 rounded-lg transition-colors group"> <span class="w-16 h-10 rounded-lg overflow-hidden bg-bg-light shrink-0"> <picture><source type="image/avif" srcset="/_opt/88170f5e69-430.avif 430w" sizes="64px"><source type="image/webp" srcset="/_opt/88170f5e69-430.webp 430w" sizes="64px"><img src="/_opt/88170f5e69-430.jpg" srcset="/_opt/88170f5e69-430.jpg 430w" sizes="64px" alt="Glider towing exhibition in Swiss airclub Schänis" width="430" height="215" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover" style="object-position: 50% 50%;"></picture> </span> <span class="text-[16px] font-semibold text-heading group-hover:text-navy-blue leading-tight">Glider Towing</span> </a> </div> </div><div> <button class="flex items-center w-full py-3 px-3 text-[15px] font-[500] text-heading hover:text-navy-blue hover:bg-bg-light-light rounded-lg transition-colors mobile-accordion-toggle" aria-expanded="false"> <span class="flex-1 text-left">About</span>
200 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="transition-transform text-secondary"><polyline points="6 9 12 15 18 9"></polyline></svg> </button> <div class="pl-6 space-y-1 pb-2 hidden mobile-accordion-content"> <a href="/about/" class="flex items-center gap-3 py-1.5 px-3 rounded-lg transition-colors group"> <span class="w-16 h-10 rounded-lg overflow-hidden bg-bg-light shrink-0"> <picture><source type="image/avif" srcset="/_opt/ea9bf24af3-430.avif 430w" sizes="64px"><source type="image/webp" srcset="/_opt/ea9bf24af3-430.webp 430w" sizes="64px"><img src="/_opt/ea9bf24af3-430.jpg" srcset="/_opt/ea9bf24af3-430.jpg 430w" sizes="64px" alt="Our Story" width="430" height="323" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover" style="object-position: 50% 50%;"></picture> </span> <span class="text-[16px] font-semibold text-heading group-hover:text-navy-blue leading-tight">Our Story</span> </a><a href="/about/production/" class="flex items-center gap-3 py-1.5 px-3 rounded-lg transition-colors group"> <span class="w-16 h-10 rounded-lg overflow-hidden bg-bg-light shrink-0"> <picture><source type="image/avif" srcset="/_opt/09eb4d1ffa-430.avif 430w" sizes="64px"><source type="image/webp" srcset="/_opt/09eb4d1ffa-430.webp 430w" sizes="64px"><img src="/_opt/09eb4d1ffa-430.jpg" srcset="/_opt/09eb4d1ffa-430.jpg 430w" sizes="64px" alt="Production" width="430" height="323" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover" style="object-position: 50% 50%;"></picture> </span> <span class="text-[16px] font-semibold text-heading group-hover:text-navy-blue leading-tight">Production</span> </a><a href="/about/careers/" class="flex items-center gap-3 py-1.5 px-3 rounded-lg transition-colors group"> <span class="w-16 h-10 rounded-lg overflow-hidden bg-bg-light shrink-0"> <picture><source type="image/avif" srcset="/_opt/4f50965fc5-430.avif 430w" sizes="64px"><source type="image/webp" srcset="/_opt/4f50965fc5-430.webp 430w" sizes="64px"><img src="/_opt/4f50965fc5-430.jpg" srcset="/_opt/4f50965fc5-430.jpg 430w" sizes="64px" alt="Careers" width="430" height="287" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover" style="object-position: 50% 45%;"></picture> </span> <span class="text-[16px] font-semibold text-heading group-hover:text-navy-blue leading-tight">Careers</span> </a><a href="/about/in-the-media/" class="flex items-center gap-3 py-1.5 px-3 rounded-lg transition-colors group"> <span class="w-16 h-10 rounded-lg overflow-hidden bg-bg-light shrink-0"> <picture><source type="image/avif" srcset="/_opt/69373a38b4-430.avif 430w" sizes="64px"><source type="image/webp" srcset="/_opt/69373a38b4-430.webp 430w" sizes="64px"><img src="/_opt/69373a38b4-430.jpg" srcset="/_opt/69373a38b4-430.jpg 430w" sizes="64px" alt="Pilot magazine (January 2025) cover featuring the Bristell TDO" width="430" height="590" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover" style="object-position: 50% 30%;"></picture> </span> <span class="text-[16px] font-semibold text-heading group-hover:text-navy-blue leading-tight">In the Media</span> </a><a href="/about/certifications/" class="flex items-center gap-3 py-1.5 px-3 rounded-lg transition-colors group"> <span class="w-16 h-10 rounded-lg overflow-hidden bg-bg-light shrink-0"> <picture><source type="image/avif" srcset="/_opt/0f1eb68ced-430.avif 430w" sizes="64px"><source type="image/webp" srcset="/_opt/0f1eb68ced-430.webp 430w" sizes="64px"><img src="/_opt/0f1eb68ced-430.jpg" srcset="/_opt/0f1eb68ced-430.jpg 430w" sizes="64px" alt="Certifications" width="430" height="287" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover" style="object-position: 50% 50%;"></picture> </span> <span class="text-[16px] font-semibold text-heading group-hover:text-navy-blue leading-tight">Certifications</span> </a> </div> </div><div> <button class="flex items-center w-full py-3 px-3 text-[15px] font-[500] text-heading hover:text-navy-blue hover:bg-bg-light-light rounded-lg transition-colors mobile-accordion-toggle" aria-expanded="false"> <span class="flex-1 text-left">Support</span>
200 <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="transition-transform text-secondary"><polyline points="6 9 12 15 18 9"></polyline></svg> </button> <div class="pl-6 space-y-1 pb-2 hidden mobile-accordion-content"> <a href="/support/" class="block py-2.5 px-3 text-[15px] font-[500] rounded-lg transition-colors text-heading font-semibold hover:text-navy-blue">Support Overview</a><a href="/support/service-centers/" class="block py-2.5 px-3 text-[15px] font-[500] rounded-lg transition-colors text-heading hover:text-navy-blue">Service Centers</a><a href="/support/spare-parts/" class="block py-2.5 px-3 text-[15px] font-[500] rounded-lg transition-colors text-heading hover:text-navy-blue">Spare Parts</a><a href="/support/technical-documentation/" class="block py-2.5 px-3 text-[15px] font-[500] rounded-lg transition-colors text-heading hover:text-navy-blue">Technical Documentation</a><a href="/support/bulletins/" class="block py-2.5 px-3 text-[15px] font-[500] rounded-lg transition-colors text-heading hover:text-navy-blue">Bulletins</a><a href="/support/safety-reporting/" class="block py-2.5 px-3 text-[15px] font-[500] rounded-lg transition-colors text-heading hover:text-navy-blue">Safety Reporting</a><a href="/support/occurrence-reporting/" class="block py-2.5 px-3 text-[15px] font-[500] rounded-lg transition-colors text-heading hover:text-navy-blue">Occurrence Reporting</a> </div> </div><div> <a href="/news/" class="block py-3 px-3 text-[15px] font-[500] text-heading hover:text-navy-blue hover:bg-bg-light-light rounded-lg transition-colors"> News </a> </div><div> <a href="/contact/" class="block py-3 px-3 text-[15px] font-[500] text-heading hover:text-navy-blue hover:bg-bg-light-light rounded-lg transition-colors"> Contact </a> </div> </div> <!-- Drawer footer rows (ADR-033 R1 + ADR-034). 201 Row 1: current language ⸠â opens the language picker (global tenant only) 202 Row 2: Find a Dealer â plain link to the dealer locator --> <div class="border-t border-border-light"> <button type="button" id="mobile-language-row" class="flex items-center w-full px-4 py-[18px] gap-4 border-t border-border-light text-left hover:bg-bg-light-light transition-colors"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="shrink-0 text-heading" stroke-linecap="round" stroke-linejoin="round"> <circle cx="12" cy="12" r="10"></circle><line x1="2" y1="12" x2="22" y2="12"></line><path d="M12 2a15.3 15.3 0 0 1 4 10 15.3 15.3 0 0 1-4 10 15.3 15.3 0 0 1-4-10 15.3 15.3 0 0 1 4-10z"></path> </svg> <span class="flex-1 text-[16px] font-semibold text-heading leading-tight">English</span> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="shrink-0 text-secondary" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg> </button> <a href="/dealers/" class="flex items-center w-full px-4 py-[18px] gap-4 border-t border-border-light text-left hover:bg-bg-light-light transition-colors"> <svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="shrink-0 text-heading" stroke-linecap="round" stroke-linejoin="round"> <path d="M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z"></path><circle cx="12" cy="10" r="3"></circle> </svg> <span class="flex-1 text-[16px] font-semibold text-heading leading-tight">Find a Dealer</span> <svg width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" class="shrink-0 text-secondary" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg> </a> </div> </div> </header>
202<script type="module" src="/_astro/Navigation.astro_astro_type_script_index_0_lang.D1ix2ZjF.js"></script>
202
202<script type="module">globalThis.process??={};globalThis.process.env??={};const o=document.getElementById("search-trigger"),a=document.getElementById("search-panel"),r=document.getElementById("nav-search-input"),i=document.getElementById("nav-search-results"),d=document.getElementById("nav-search-viewall"),E=document.getElementById("nav-search-form"),b=document.getElementById("nav-search-i18n");if(o&&a&&r&&i&&E){let x=function(){document.dispatchEvent(new KeyboardEvent("keydown",{key:"Escape"})),a.classList.remove("hidden"),o.setAttribute("aria-expanded","true"),r.setAttribute("aria-expanded","true"),window.setTimeout(()=>r.focus(),0),document.addEventListener("click",h,!0),document.addEventListener("keydown",v)},u=function(){a.classList.add("hidden"),o.setAttribute("aria-expanded","false"),r.setAttribute("aria-expanded","false"),document.removeEventListener("click",h,!0),document.removeEventListener("keydown",v)};const L=a.dataset.locale||"en",g=b?JSON.parse(b.textContent||"{}"):{},k=g.types||{},p=new Map;let m=null,f,s=-1,c=[];const l=e=>e.replace(/[&<>"']/g,t=>({"&":"&","<":"<",">":">",'"':""","'":"'"})[t]),A=()=>!a.classList.contains("hidden"),h=e=>{const t=e.target;!a.contains(t)&&t!==o&&!o.contains(t)&&u()},y=()=>{Array.from(i.querySelectorAll("a")).forEach((t,n)=>{t.classList.toggle("bg-bg-light",n===s),n===s&&t.scrollIntoView({block:"nearest"})})},v=e=>{if(e.key==="Escape"){u(),o.focus();return}c.length&&(e.key==="ArrowDown"?(e.preventDefault(),s=Math.min(s+1,c.length-1),y()):e.key==="ArrowUp"?(e.preventDefault(),s=Math.max(s-1,0),y()):e.key==="Enter"&&s>=0&&(e.preventDefault(),window.location.href=c[s].url))},w=(e,t)=>{if(c=t,s=-1,!t.length){i.innerHTML=`<li class="py-6 text-center text-secondary text-[14px]">${l(g.noResults||"No results found for")} â${l(e)}â</li>`,d?.classList.add("hidden");return}i.innerHTML=t.map(n=>` 203 <li role="option"> 204 <a href="${l(n.url)}" class="flex items-center gap-2 py-2 px-3 rounded-lg hover:bg-bg-light transition-colors"> 205 <span class="shrink-0 text-[10px] font-semibold tracking-[0.4px] uppercase text-secondary bg-bg-light px-2 py-0.5 rounded-full">${l(k[n.type]||n.type)}</span> 206 <span class="text-heading text-[14px] font-[500] truncate">${l(n.title)}</span> 207 </a> 208 </li>`).join(""),d&&(d.href=`${E.getAttribute("action")}?q=${encodeURIComponent(e)}`,d.classList.remove("hidden"))},I=async e=>{if(e=e.trim(),e.length<2){i.innerHTML="",c=[],d?.classList.add("hidden");return}if(p.has(e))return w(e,p.get(e));m?.abort(),m=new AbortController;try{const n=await(await fetch(`/api/search.json?q=${encodeURIComponent(e)}&locale=${encodeURIComponent(L)}&limit=7`,{signal:m.signal})).json();p.set(e,n.results),w(e,n.results)}catch(t){t.name!=="AbortError"&&(i.innerHTML="")}};o.addEventListener("click",e=>{e.preventDefault(),A()?u():x()}),r.addEventListener("input",()=>{window.clearTimeout(f),f=window.setTimeout(()=>I(r.value),130)})}</script>
208 <main id="main-content"> <section class="bg-white border-b border-border-light"> <div class="site-pad pt-6 pb-6"> <div class="max-w-[var(--news-max)] mx-auto"> <h1 class="text-heading text-[clamp(28px,3.5vw,40px)] font-bold tracking-[-0.5px] leading-[1.15] mb-2"> News </h1> <p class="text-body text-[14px] lg:text-[15px] leading-[1.55] max-w-[760px]"> Latest from BRM Aero â product launches, certifications, events, and stories from Kunovice. </p> </div> </div> </section> <section class="bg-white"> <div class="site-pad pt-6 pb-10"> <div class="max-w-[var(--news-max)] mx-auto"> <p class="text-accent text-[11px] font-semibold tracking-[1.2px] mb-3">LATEST</p> <a href="/news/norways-first-bristell-b23-oslo-flight-academy/" class="group block"> <div class="grid grid-cols-1 lg:grid-cols-[1.4fr_1fr] gap-6 lg:gap-10 3xl:gap-14! items-start"> <!-- Image (left on lg+, top on mobile) â grows on ultra-wide --> <div class="aspect-16/10 lg:aspect-auto lg:h-[min(45vh,420px)] 3xl:h-[min(48vh,520px)]! rounded-2xl overflow-hidden bg-bg-light-light border border-border-light"> <picture><source type="image/avif" srcset="/_opt/a6b84c8a47-820.avif 820w, /_opt/a6b84c8a47-1440.avif 1440w" sizes="(max-width: 1024px) 100vw, (min-width: 2200px) 1040px, (min-width: 1920px) 900px, 750px"><source type="image/webp" srcset="/_opt/a6b84c8a47-820.webp 820w, /_opt/a6b84c8a47-1440.webp 1440w" sizes="(max-width: 1024px) 100vw, (min-width: 2200px) 1040px, (min-width: 1920px) 900px, 750px"><img src="/_opt/a6b84c8a47-1440.jpg" srcset="/_opt/a6b84c8a47-820.jpg 820w, /_opt/a6b84c8a47-1440.jpg 1440w" sizes="(max-width: 1024px) 100vw, (min-width: 2200px) 1040px, (min-width: 1920px) 900px, 750px" alt="Factory-new Bristell B23 in silver and green livery parked on the apron, seen from the front three-quarter angle with its three-blade constant-speed propeller" width="1440" height="810" loading="eager" fetchpriority="high" decoding="sync" class="w-full h-full object-cover group-hover:scale-[1.015] transition-transform duration-700" style="object-position: 50% 50%;"></picture> </div> <!-- Text (right on lg+, bottom on mobile) â top-aligned --> <div class="lg:max-w-[520px]"> <div class="flex items-center gap-3 text-[11px] font-semibold tracking-[1.2px] mb-3"> <span class="text-accent">PARTNERSHIPS</span> <span class="text-secondary opacity-50">·</span> <span class="text-secondary">AUGUST 27, 2026</span> </div> <h2 class="text-heading text-[clamp(22px,2.4vw,32px)] font-bold tracking-[-0.3px] leading-[1.2] mb-3 group-hover:text-navy-blue transition-colors"> Norway's first Bristell B23 has arrived at Oslo Flight Academy </h2> <p class="text-body text-[14px] lg:text-[15px] 3xl:text-[16px]! leading-normal mb-4 line-clamp-3"> Norway has its first Bristell B23. The first aircraft is factory-new and was flown straight from our factory in Kunovice to Kjeller, and it opens a fleet renewal that will bring three factory-new aircraft to Oslo Flight Academy. </p> <span class="text-heading text-[13px] lg:text-[14px] font-[500] inline-flex items-center gap-1"> Read article <svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </div> </div> </a> </div> </div> </section> <div id="news-list" data-news-list> <!-- âââ FILTER CHIPS (functional via ?category=X) âââ --> <section id="articles" class="bg-white border-y border-border-light scroll-mt-20"> <div class="site-pad py-4 overflow-x-auto"> <div class="max-w-[var(--news-max)] mx-auto flex items-center gap-2 whitespace-nowrap"> <a href="/news/#articles" class="h-9 px-4 inline-flex items-center rounded-full text-[13px] font-[500] transition-colors bg-navy-blue text-white" aria-pressed="true"> All </a><a href="/news/?category=product-updates#articles" class="h-9 px-4 inline-flex items-center rounded-full text-[13px] font-[500] transition-colors bg-white border border-border-light text-heading hover:bg-bg-light-light" aria-pressed="false"> Product Updates </a><a href="/news/?category=events#articles" class="h-9 px-4 inline-flex items-center rounded-full text-[13px] font-[500] transition-colors bg-white border border-border-light text-heading hover:bg-bg-light-light" aria-pressed="false"> Events </a><a href="/news/?category=awards#articles" class="h-9 px-4 inline-flex items-center rounded-full text-[13px] font-[500] transition-colors bg-white border border-border-light text-heading hover:bg-bg-light-light" aria-pressed="false"> Awards </a><a href="/news/?category=company-news#articles" class="h-9 px-4 inline-flex items-center rounded-full text-[13px] font-[500] transition-colors bg-white border border-border-light text-heading hover:bg-bg-light-light" aria-pressed="false"> Company News </a><a href="/news/?category=certification#articles" class="h-9 px-4 inline-flex items-center rounded-full text-[13px] font-[500] transition-colors bg-white border border-border-light text-heading hover:bg-bg-light-light" aria-pressed="false"> Certification </a><a href="/news/?category=partnerships#articles" class="h-9 px-4 inline-flex items-center rounded-full text-[13px] font-[500] transition-colors bg-white border border-border-light text-heading hover:bg-bg-light-light" aria-pressed="false"> Partnerships </a> </div> </div> </section> <!-- âââ ARTICLES GRID (compact: 3-col à 2-row, fits 1 viewport with pagination) âââ --> <section class="bg-white"> <div class="site-pad pt-6 pb-4"> <!-- 3 columns at every width â¥lg, including â¥1920px: with PER_PAGE = 6 209 a 4-column grid would leave a ragged 4+2 last row on ultra-wide, 210 which is the exact thing the 6-card page is meant to avoid 211 (Marek 2026-09-08). The wider --news-max at 3xl makes the three 212 cards larger instead of adding a fourth. 213 3xl:* carry ! because this project's custom px breakpoints sort before 214 the rem-based defaults, so lg: would otherwise win at â¥1920px (known 215 Tailwind-4 ordering bug â track a global fix separately). --> <div class="max-w-[var(--news-max)] mx-auto grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-x-6 gap-y-5 3xl:gap-x-8! 3xl:gap-y-8!"> <a href="/news/bristell-b23-dgca-india-type-acceptance/" class="group flex flex-col"> <div class="aspect-video rounded-lg overflow-hidden mb-2.5 bg-bg-light-light border border-border-light"> <picture>
215<source type="image/avif" srcset="/_opt/d1091ff4d2-430.avif 430w, /_opt/d1091ff4d2-820.avif 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"><source type="image/webp" srcset="/_opt/d1091ff4d2-430.webp 430w, /_opt/d1091ff4d2-820.webp 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"><img src="/_opt/d1091ff4d2-820.jpg" srcset="/_opt/d1091ff4d2-430.jpg 430w, /_opt/d1091ff4d2-820.jpg 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw" alt="Two Bristell aircraft parked on the apron in front of a hangar, one in yellow and silver in the foreground and one in white and red behind it" width="820" height="458" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500" style="object-position: 50% 50%;"></picture> </div> <div class="flex items-center gap-2 text-[10px] font-semibold tracking-[1.2px] mb-1"> <span class="text-accent">CERTIFICATION</span> <span class="text-secondary opacity-50">·</span> <span class="text-secondary">AUGUST 12, 2026</span> </div> <h3 class="text-heading text-[14px] lg:text-[15px] font-bold tracking-[-0.2px] leading-[1.3] group-hover:text-navy-blue transition-colors line-clamp-2"> Bristell B23 Approved for India </h3> </a><a href="/news/bernardo-savinon-first-bristell-lsa/" class="group flex flex-col"> <div class="aspect-video rounded-lg overflow-hidden mb-2.5 bg-bg-light-light border border-border-light"> <picture><source type="image/avif" srcset="/_opt/460e18045d-430.avif 430w, /_opt/460e18045d-820.avif 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"><source type="image/webp" srcset="/_opt/460e18045d-430.webp 430w, /_opt/460e18045d-820.webp 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"><img src="/_opt/460e18045d-820.jpg" srcset="/_opt/460e18045d-430.jpg 430w, /_opt/460e18045d-820.jpg 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw" alt="Bernardo Saviñon crouching beside his military-gray Bristell Classic N278BS with a champagne bucket at the Rotax exhibit, EAA AirVenture Oshkosh 2026" width="820" height="547" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500" style="object-position: 50% 45%;"></picture> </div> <div class="flex items-center gap-2 text-[10px] font-semibold tracking-[1.2px] mb-1"> <span class="text-accent">COMPANY NEWS</span> <span class="text-secondary opacity-50">·</span> <span class="text-secondary">JULY 24, 2026</span> </div> <h3 class="text-heading text-[14px] lg:text-[15px] font-bold tracking-[-0.2px] leading-[1.3] group-hover:text-navy-blue transition-colors line-clamp-2"> A Doctor's First Airplane: Bernardo's Bristell Classic </h3> </a><a href="/news/garmin-axis-coming-to-bristell/" class="group flex flex-col"> <div class="aspect-video rounded-lg overflow-hidden mb-2.5 bg-bg-light-light border border-border-light"> <picture><source type="image/avif" srcset="/_opt/67ba303641-430.avif 430w, /_opt/67ba303641-820.avif 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"><source type="image/webp" srcset="/_opt/67ba303641-430.webp 430w, /_opt/67ba303641-820.webp 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"><img src="/_opt/67ba303641-820.jpg" srcset="/_opt/67ba303641-430.jpg 430w, /_opt/67ba303641-820.jpg 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw" alt="Garmin AXIS integrated flight display with synthetic vision, engine indications and built-in COM/NAV and audio controls" width="820" height="461" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500" style="object-position: 50% 50%;"></picture> </div> <div class="flex items-center gap-2 text-[10px] font-semibold tracking-[1.2px] mb-1"> <span class="text-accent">PRODUCT UPDATES</span> <span class="text-secondary opacity-50">·</span> <span class="text-secondary">JULY 17, 2026</span> </div> <h3 class="text-heading text-[14px] lg:text-[15px] font-bold tracking-[-0.2px] leading-[1.3] group-hover:text-navy-blue transition-colors line-clamp-2"> Garmin AXIS Is Coming to Bristell </h3> </a><a href="/news/fly-a-bristell-at-oshkosh-2026/" class="group flex flex-col"> <div class="aspect-video rounded-lg overflow-hidden mb-2.5 bg-bg-light-light border border-border-light"> <picture><source type="image/avif" srcset="/_opt/b0e0c61af7-430.avif 430w, /_opt/b0e0c61af7-820.avif 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"><source type="image/webp" srcset="/_opt/b0e0c61af7-430.webp 430w, /_opt/b0e0c61af7-820.webp 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"><img src="/_opt/b0e0c61af7-820.jpg" srcset="/_opt/b0e0c61af7-430.jpg 430w, /_opt/b0e0c61af7-820.jpg 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw" alt="A Bristell B23 on the flight line at EAA AirVenture Oshkosh" width="820" height="547" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500" style="object-position: 50% 50%;"></picture> </div> <div class="flex items-center gap-2 text-[10px] font-semibold tracking-[1.2px] mb-1"> <span class="text-accent">EVENTS</span> <span class="text-secondary opacity-50">·</span> <span class="text-secondary">JUNE 26, 2026</span> </div> <h3 class="text-heading text-[14px] lg:text-[15px] font-bold tracking-[-0.2px] leading-[1.3] group-hover:text-navy-blue transition-colors line-clamp-2"> Fly a Bristell at Oshkosh 2026 </h3> </a><a href="/news/ceal-orders-first-bristell-b23-916is-for-colombia/" class="group flex flex-col"> <div class="aspect-video rounded-lg overflow-hidden mb-2.5 bg-bg-light-light border border-border-light"> <picture><source type="image/avif" srcset="/_opt/d31622feea-430.avif 430w, /_opt/d31622feea-820.avif 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"><source type="image/webp" srcset="/_opt/d31622feea-430.webp 430w, /_opt/d31622feea-820.webp 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"><img src="/_opt/d31622feea-820.jpg" srcset="/_opt/d31622feea-430.jpg 430w, /_opt/d31622feea-820.jpg 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw" alt="CEAL Orders First Bristell B23-916iS for Colombia" width="820" height="547" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500" style="object-position: 50% 50%;"></picture> </div> <div class="flex items-center gap-2 text-[10px] font-semibold tracking-[1.2px] mb-1"> <span class="text-accent">PARTNERSHIPS</span> <span class="text-secondary opacity-50">·</span> <span class="text-secondary">JUNE 16, 2026</span> </div> <h3 class="text-heading text-[14px] lg:text-[15px] font-bold tracking-[-0.2px] leading-[1.3] group-hover:text-navy-blue transition-colors line-clamp-2"> CEAL Orders First Bristell B23-916iS for Colombia </h3> </a><a href="/news/bristell-b23-915-ifr-lightning-strike-certification/" class="group flex flex-col"> <div class="aspect-video rounded-lg overflow-hidden mb-2.5 bg-bg-light-light border border-border-light"> <picture><source type="image/avif" srcset="/_opt/6a0fb89ec9-430.avif 430w, /_opt/6a0fb89ec9-820.avif 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"><source type="image/webp" srcset="/_opt/6a0fb89ec9-430.webp 430w, /_opt/6a0fb89ec9-820.webp 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw"><img src="/_opt/6a0fb89ec9-820.jpg" srcset="/_opt/6a0fb89ec9-430.jpg 430w, /_opt/6a0fb89ec9-820.jpg 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 50vw, 33vw" alt="Bristell B23-915 IFR flying at sunset" width="820" height="547" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500" style="object-position: 50% 50%;"></picture> </div> <div class="flex items-center gap-2 text-[10px] font-semibold tracking-[1.2px] mb-1"> <span class="text-accent">CERTIFICATION</span> <span class="text-secondary opacity-50">·</span> <span class="text-secondary">APRIL 23, 2026</span> </div> <h3 class="text-heading text-[14px] lg:text-[15px] font-bold tracking-[-0.2px] leading-[1.3] group-hover:text-navy-blue transition-colors line-clamp-2"> Bristell B23-915 IFR Earns EASA Lightning Strike Protection Approval </h3> </a> </div> </div> </section> <!-- âââ PAGINATION âââ --> <section class="bg-white"> <div class="site-pad pt-2 pb-8"> <nav aria-label="Pagination" class="flex items-center justify-center gap-2"> <a href="/news/#articles" aria-label="Previous page" class="w-11 h-11 inline-flex items-center justify-center rounded-full border border-border-light transition-colors opacity-30 pointer-events-none" aria-disabled="true"> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="15 18 9 12 15 6"></polyline></svg> </a> <a href="/news/#articles" aria-label="Page 1" aria-current="page" class="w-11 h-11 inline-flex items-center justify-center rounded-full text-[14px] font-[500] transition-colors bg-navy-blue text-white"> 1 </a><a href="/news/?page=2#articles" aria-label="Page 2" class="w-11 h-11 inline-flex items-center justify-center rounded-full text-[14px] font-[500] transition-colors border border-border-light text-heading hover:bg-bg-light-light"> 2 </a><span class="w-11 h-11 inline-flex items-center justify-center text-secondary text-[13px]">â¦</span><a href="/news/?page=12#articles" aria-label="Page 12" class="w-11 h-11 inline-flex items-center justify-center rounded-full text-[14px] font-[500] transition-colors border border-border-light text-heading hover:bg-bg-light-light"> 12 </a> <a href="/news/?page=2#articles" aria-label="Next page" class="w-11 h-11 inline-flex items-center justify-center rounded-full border border-border-light transition-colors text-heading hover:bg-bg-light-light" aria-disabled="false"> <svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="9 18 15 12 9 6"></polyline></svg> </a> </nav> </div> </section> </div> <section class="bg-bg-light-light"> <div class="site-pad py-16"> <div class="max-w-[var(--news-max)] mx-auto"> <div class="flex items-end justify-between gap-4 mb-8"> <div> <p class="text-accent text-[11px] font-semibold tracking-[1.2px] mb-2">UPCOMING</p> <h2 class="text-heading text-[clamp(22px,2.5vw,28px)] font-bold tracking-[-0.4px]"> Events & airshows </h2> </div> <a href="/events/" class="text-heading text-[14px] font-[500] whitespace-nowrap hover:text-navy-blue transition-colors"> All events â </a> </div> <!-- Compact card(s), centred as a group â reads well as a single "next 216 event" (the common case) and stays tidy with 2â3 at any width. No 217 empty photo block: the image only renders when one is set in the CMS. --> <div class="flex flex-wrap justify-center gap-6"> <a href="/events/festival-del-aire-2026/" class="group bg-white rounded-2xl border border-border-light overflow-hidden hover:border-heading transition-colors flex flex-col w-full sm:w-[360
217px]"> <div class="aspect-16/10 bg-bg-light-light overflow-hidden"> <picture><source type="image/avif" srcset="/_opt/a8fa589e8f-430.avif 430w, /_opt/a8fa589e8f-820.avif 820w" sizes="(max-width: 640px) 100vw, 360px"><source type="image/webp" srcset="/_opt/a8fa589e8f-430.webp 430w, /_opt/a8fa589e8f-820.webp 820w" sizes="(max-width: 640px) 100vw, 360px"><img src="/_opt/a8fa589e8f-820.jpg" srcset="/_opt/a8fa589e8f-430.jpg 430w, /_opt/a8fa589e8f-820.jpg 820w" sizes="(max-width: 640px) 100vw, 360px" alt="Grey Bristell RG with a Mexican flag on its cowling parked on dry grass at sunset under a red and orange sky" width="820" height="615" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500" style="object-position: 50% 55%;"></picture> </div> <div class="p-6 lg:p-7 flex flex-col flex-1"> <p class="text-secondary text-[13px] font-semibold tracking-[0.5px] uppercase mb-2.5"> Oct 3â4, 2026 </p> <h3 class="text-heading text-[20px] lg:text-[22px] font-bold tracking-[-0.3px] leading-[1.25] mb-2"> Festival del Aire 2026 </h3> <p class="text-body text-[14px] leading-normal mb-4"> Atizapán de Zaragoza, State of Mexico, Mexico · Stand 48, Hangar The Monarch · Dr. Jorge Jiménez Cantú Airport </p> <span class="text-heading text-[13px] font-[500] inline-flex items-center gap-1 mt-auto"> Learn more <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </div> </a><a href="/events/affordable-flying-expo-2026/" class="group bg-white rounded-2xl border border-border-light overflow-hidden hover:border-heading transition-colors flex flex-col w-full sm:w-[360px]"> <div class="aspect-16/10 bg-bg-light-light overflow-hidden"> <picture><source type="image/avif" srcset="/_opt/e96473facb-430.avif 430w, /_opt/e96473facb-820.avif 820w" sizes="(max-width: 640px) 100vw, 360px"><source type="image/webp" srcset="/_opt/e96473facb-430.webp 430w, /_opt/e96473facb-820.webp 820w" sizes="(max-width: 640px) 100vw, 360px"><img src="/_opt/e96473facb-820.jpg" srcset="/_opt/e96473facb-430.jpg 430w, /_opt/e96473facb-820.jpg 820w" sizes="(max-width: 640px) 100vw, 360px" alt="Yellow-and-white Bristell B23 aircraft with two occupants flying low over a lake near a wooded shoreline and marina" width="820" height="547" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500" style="object-position: 50% 50%;"></picture> </div> <div class="p-6 lg:p-7 flex flex-col flex-1"> <p class="text-secondary text-[13px] font-semibold tracking-[0.5px] uppercase mb-2.5"> Nov 13â15, 2026 </p> <h3 class="text-heading text-[20px] lg:text-[22px] font-bold tracking-[-0.3px] leading-[1.25] mb-2"> Affordable Flying Expo 2026 </h3> <p class="text-body text-[14px] leading-normal mb-4"> Lakeland, FL, USA · SUN 'n FUN Aerospace Expo Campus </p> <span class="text-heading text-[13px] font-[500] inline-flex items-center gap-1 mt-auto"> Learn more <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </div> </a><a href="/events/sun-n-fun-2027/" class="group bg-white rounded-2xl border border-border-light overflow-hidden hover:border-heading transition-colors flex flex-col w-full sm:w-[360px]"> <div class="aspect-16/10 bg-bg-light-light overflow-hidden"> <picture><source type="image/avif" srcset="/_opt/2d90acee40-430.avif 430w, /_opt/2d90acee40-820.avif 820w" sizes="(max-width: 640px) 100vw, 360px"><source type="image/webp" srcset="/_opt/2d90acee40-430.webp 430w, /_opt/2d90acee40-820.webp 820w" sizes="(max-width: 640px) 100vw, 360px"><img src="/_opt/2d90acee40-820.jpg" srcset="/_opt/2d90acee40-430.jpg 430w, /_opt/2d90acee40-820.jpg 820w" sizes="(max-width: 640px) 100v
217w, 360px" alt="SUN 'n FUN Expo Campus entrance sign in Lakeland topped by a red-and-white jet on a pole, under a blue sky with scattered clouds" width="820" height="615" loading="lazy" fetchpriority="auto" decoding="async" class="w-full h-full object-cover group-hover:scale-105 transition-transform duration-500" style="object-position: 33% 40%;"></picture> </div> <div class="p-6 lg:p-7 flex flex-col flex-1"> <p class="text-secondary text-[13px] font-semibold tracking-[0.5px] uppercase mb-2.5"> Apr 6â11, 2027 </p> <h3 class="text-heading text-[20px] lg:text-[22px] font-bold tracking-[-0.3px] leading-[1.25] mb-2"> SUN 'n FUN Aerospace Expo 2027 </h3> <p class="text-body text-[14px] leading-normal mb-4"> Lakeland, FL, USA </p> <span class="text-heading text-[13px] font-[500] inline-flex items-center gap-1 mt-auto"> Learn more <svg width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg> </span> </div> </a> </div> </div> </div> </section> <section class="bg-white border-t border-border-light"> <div class="site-pad py-16"> <div class="max-w-[var(--news-max)] mx-auto"> <div class="flex items-end justify-between gap-4 mb-8"> <div> <p class="text-accent text-[11px] font-semibold tracking-[1.2px] mb-2">IN THE MEDIA</p> <h2 class="text-heading text-[clamp(22px,2.5vw,28px)] font-bold tracking-[-0.4px]"> What others say about Bristell </h2> </div> <a href="/about/in-the-media/" class="text-heading text-[14px] font-[500] whitespace-nowrap hover:text-navy-blue transition-colors"> All coverage â </a> </div> <!-- Tetris band â same PressWall lattice as /about/in-the-media: 218 newest video (2Ã2) + newest print (1Ã2) + 2 newest online (1Ã1, 219 hidden on the 3-col tablet band so it stays exactly full). --> <div class="press-wall" data-astro-cid-pstbxxlq> <div class="press-grid" data-astro-cid-pstbxxlq> <article class="group col-span-2 row-span-2" data-pub data-type="video" data-lang="en"><a href="https://www.youtube.com/watch?v=Mx7KibB7O4o" target="_blank" rel="noopener" aria-label="Aero-TV: Bristell Brings Fresh Energy To The Ramp â Aero-News Network (video)" class="flex h-full flex-col bg-white rounded-xl border border-border-light overflow-hidden transition-colors group-hover:border-navy-blue focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-navy-blue"><div class="relative flex-1 bg-navy-blue/5 overflow-hidden"><picture><source type="image/avif" srcset="/_opt/b23bbfaa4c-430.avif 430w, /_opt/b23bbfaa4c-820.avif 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 66vw, 50vw"><source type="image/webp" srcset="/_opt/b23bbfaa4c-430.webp 430w, /_opt/b23bbfaa4c-820.webp 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 66vw, 50vw"><img src="/_opt/b23bbfaa4c-820.jpg" srcset="/_opt/b23bbfaa4c-430.jpg 430w, /_opt/b23bbfaa4c-820.jpg 820w" sizes="(max-width: 768px) 100vw, (max-width: 1024px) 66vw, 50vw" alt="Aero-News Network video review â Aero-TV: Bristell Brings Fresh Energy To The Ramp" width="820" height="461" loading="lazy" fetchpriority="auto" decoding="async" class="absolute inset-0 w-full h-full object-cover" style="object-position: 50% 50%;"></picture><span class="absolute inset-0 flex items-center justify-center"><span class="w-11 h-11 rounded-full bg-white flex items-center justify-center text-navy-blue"><svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor" aria-hidden="true"><polygon points="8 5 19 12 8 19"></polygon></svg></span></span></div><div class="flex-none bg-white border-t border-border-light px-3 lg:px-4 py-2.5 flex flex-col gap-1"><div class="flex items-center gap-2"><span class="text-heading text-[13px] font-semibold leading-tight truncate">Aero-News Network</span><span class="inline-flex items-center shrink-0 px-2 py-0.5 rounded-full bg-bg-light text-[11px] text-secondary">Media</span><span class="ml-auto shrink-0 text-secondary text-[13px] font-[500]">June 2026</span></div><h2 class="text-heading text-[15px] font-semibold leading-snug line-clamp-1 group-hover:text-navy-blue transition-colors">Aero-TV: Bristell Brings Fresh Energy To The Ramp</h2></div></a></article><article class="group col-span-1 row-span-2" data-pub data-type="print" data-lang="de"><a href="/downloads/press/aerorevue-2026-07.pdf" target="_blank" rel="noopener" aria-label="Der neuste Wurf aus der Bristell-Familie â AeroRevue (PDF)" class="relative block h-full rounded-xl border border-border-light overflow-hidden transition-colors group-hover:border-navy-blue focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-navy-blue"><picture>
219<source type="image/avif" srcset="/_opt/f0ba613a04-430.avif 430w, /_opt/f0ba613a04-820.avif 820w" sizes="(max-width: 768px) 50vw, (max-width: 1024px) 33vw, 25vw"><source type="image/webp" srcset="/_opt/f0ba613a04-430.webp 430w, /_opt/f0ba613a04-820.webp 820w" sizes="(max-width: 768px) 50vw, (max-width: 1024px) 33vw, 25vw"><img src="/_opt/f0ba613a04-820.jpg" srcset="/_opt/f0ba613a04-430.jpg 430w, /_opt/f0ba613a04-820.jpg 820w" sizes="(max-width: 768px) 50vw, (max-width: 1024px) 33vw, 25vw" alt="AeroRevue 3/2026 â Der neuste Wurf aus der Bristell-Familie" width="820" height="1159" loading="lazy" fetchpriority="auto" decoding="async" class="absolute inset-0 w-full h-full object-cover group-hover:scale-[1.02] transition-transform duration-300" style="object-position: 50% 50%;"></picture><span class="absolute inset-x-0 bottom-0 bg-white border-t border-border-light px-3 py-2.5 flex flex-col gap-0.5"><span class="text-secondary text-[13px] font-[500] leading-tight">AeroRevue · July 2026</span><h2 class="text-heading text-[14px] font-semibold leading-snug line-clamp-1 group-hover:text-navy-blue transition-colors">Der neuste Wurf aus der Bristell-Familie</h2></span></a></article><article class="group col-span-1 row-span-1 md:hidden lg:block" data-pub data-type="online" data-lang="fr"><a href="https://www.aviation-pilote.com/2025/12/23/essai-du-bristell-b23-916-is/" target="_blank" rel="noopener" aria-label="Essai du Bristell B23-916 iS â Aviation et Pilote" class="flex h-full flex-col bg-bg-light p-2.5 lg:p-4 rounded-xl border border-border-light overflow-hidden transition-colors group-hover:border-navy-blue focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-navy-blue"><div class="flex items-center justify-between gap-2"><picture><source type="image/avif" srcset="/_opt/6fa3314796-430.avif 430w" sizes="140px"><source type="image/webp" srcset="/_opt/6fa3314796-430.webp 430w" sizes="140px"><img src="/_opt/6fa3314796-430.png" srcset="/_opt/6fa3314796-430.png 430w" sizes="140px" alt="Aviation et Pilote logo" width="430" height="237" loading="lazy" fetchpriority="auto" decoding="async" class="h-4 md:h-5 lg:h-6 w-auto max-w-[65%] object-contain object-left" style="object-position: 50% 50%;"></picture><span class="shrink-0 text-secondary text-[12px] lg:text-[13px] font-[500]">December 2025</span></div><h2 class="text-heading text-[14px] lg:text-[16px] font-semibold leading-[1.25] tracking-[-0.2px] mt-1.5 lg:mt-2 line-clamp-2 lg:line-clamp-3 group-hover:text-navy-blue transition-colors">Essai du Bristell B23-916 iS</h2><span class="mt-auto pt-1.5 lg:pt-2 inline-flex items-center gap-1 text-secondary text-[12px] lg:text-[13px]">aviation-pilote.com<svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></span></a></article><article class="group col-span-1 row-span-1 md:hidden lg:block" data-pub data-type="online" data-lang="cs"><a href="https://www.aeroweb.cz/clanky/10772-bristell-b23-ziskal-certifikaci-faa-a-posiluje-pozici-ceskeho-leteckeho-prumyslu" target="_blank" rel="noopener" aria-label="Bristell B23 zÃskal certifikaci FAA a posiluje pozici Äeského leteckého průmyslu â Aeroweb.cz" class="flex h-full flex-col bg-bg-light p-2.5 lg:p-4 rounded-xl border border-border-light overflow-hidden transition-colors group-hover:border-navy-blue focus-visible:outline-2 focus-visible:outline-offset-2 focus-visible:outline-navy-blue"><div class="flex items-center justify-between gap-2"><picture><source type="image/avif" srcset="/_opt/d545e9f4f8-371.avif 371w" sizes="140px"><source type="image/webp" srcset="/_opt/d545e9f4f8-371.webp 371w" sizes="140px"><img src="/_opt/d545e9f4f8-371.png" srcset="/_opt/d545e9f4f8-371.png 371w" sizes="140px" alt="Aeroweb.cz logo" width="371" height="63" loading="lazy" fetchpriority="auto" decoding="async" class="h-4 md:h-5 lg:h-6 w-auto max-w-[65%] object-contain object-left" style="object-position: 50% 50%;"></picture><span class="shrink-0 text-secondary text-[12px] lg:text-[13px] font-[500]">September 2025</span></div>
219<h2 class="text-heading text-[14px] lg:text-[16px] font-semibold leading-[1.25] tracking-[-0.2px] mt-1.5 lg:mt-2 line-clamp-2 lg:line-clamp-3 group-hover:text-navy-blue transition-colors">Bristell B23 zÃskal certifikaci FAA a posiluje pozici Äeského leteckého průmyslu</h2><span class="mt-auto pt-1.5 lg:pt-2 inline-flex items-center gap-1 text-secondary text-[12px] lg:text-[13px]">aeroweb.cz<svg width="10" height="10" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"></path><polyline points="15 3 21 3 21 9"></polyline><line x1="10" y1="14" x2="21" y2="3"></line></svg></span></a></article> </div> </div> </div> </div> </section> <section class="bg-white"> <div class="site-pad py-16"> <div class="max-w-[var(--news-max)] mx-auto grid grid-cols-1 lg:grid-cols-[1fr_380px] gap-10 lg:gap-12 items-start"> <div> <p class="text-accent text-[11px] font-semibold tracking-[1.2px] mb-3">PRESS & MEDIA</p> <h2 class="text-heading text-[clamp(24px,3vw,32px)] font-bold tracking-[-0.5px] leading-[1.15] mb-4"> Press inquiries </h2> <p class="text-body text-[15px] lg:text-[16px] 3xl:text-[17px]! leading-[1.6] max-w-[560px]"> Looking for an interview, factory tour at Kunovice, or hi-res media kit? Our marketing team responds within one business day. </p> </div> <aside class="bg-bg-light-light rounded-2xl p-7 lg:p-8"><div class="flex items-center gap-4 mb-5"><div class="w-14 h-14 text-[16px] rounded-full bg-bg-light-dark text-heading font-bold flex items-center justify-center shrink-0">MS</div><div><p class="text-heading text-[18px] font-bold tracking-[-0.2px]">Marek Soth</p><p class="text-body text-[14px]">BRISTELL · Marketing Manager</p></div></div><div class="space-y-1"><a href="mailto:[email protected]" class="text-accent text-[14px] block hover:underline">[email protected]</a><a href="tel:+420601552553" class="text-body text-[14px] block">+420 601 552 553</a></div><div class="pt-5"><a href="/contact/" class="inline-flex items-center gap-2 px-4 py-2.5 bg-white border border-border-light text-heading text-[13px] font-[500] rounded-full hover:bg-bg-light transition-colors">Press & media kit<svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><line x1="5" y1="12" x2="19" y2="12"></line><polyline points="12 5 19 12 12 19"></polyline></svg></a></div></aside> </div> </div> </section> </main> <footer class="bg-rich-black"> <div class="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-5 gap-8 lg:gap-10 site-pad py-12 lg:py-16"> <!-- Aircraft --> <div class="flex flex-col gap-3"> <h3 class="text-white text-[15px] font-semibold mb-1">Aircraft</h3> <a href="/aircraft/b23/" class="text-white/60 text-[14px] hover:text-white transition-colors">Bristell B23</a><a href="/aircraft/b23m/" class="text-white/60 text-[14px] hover:text-white transition-colors">Bristell B23M</a><a href="/aircraft/ul-lsa/" class="text-white/60 text-[14px] hover:text-white transition-colors">Bristell UL/LSA</a><a href="/aircraft/b8m/" class="text-white/60 text-[14px] hover:text-white transition-colors">Bristell B8M</a><a href="/aircraft/energic/" class="text-white/60 text-[14px] hover:text-white transition-colors">Bristell Energic</a><a href="/aircraft/compare/" class="text-white/60 text-[14px] hover:text-white transition-colors">Compare Aircraft</a><a href="/options/" class="text-white/60 text-[14px] hover:text-white transition-colors">Paint, Interior & Options</a><a href="/financing/" class="text-white/60 text-[14px] hover:text-white transition-colors">Financing Options</a><a href="/aircraft/mosaic/" class="text-white/60 text-[14px] hover:text-white transition-colors">MOSAIC</a> </div> <!-- Solutions --> <div class="flex flex-col gap-3"> <h3 class="text-white text-[15px] font-semibold mb-1">Solutions</h3> <a href="/solutions/flight-schools/" class="text-white/60 text-[14px] hover:text-white transition-colors">Flight Schools</a><a href="/solutions/towing/" class="text-white/60 text-[14px] hover:text-white transition-colors">Glider Towing</a><a href="/contact/demo-flight/" class="text-white/60 text-[14px] hover:text-white transition-colors">Request Demo Flight</a><a href="/dealers/" class="text-white/60 text-[14px] hover:text-white transition-colors">Find a Dealer</a> </div> <!-- Support --> <div class="flex flex-col gap-3"> <h3 class="text-white text-[15px] font-semibold mb-1">Support</h3> <a href="/support/" class="text-white/60 text-[14px] hover:text-white transition-colors">Support Overview</a><a href="/support/service-centers/" class="text-white/60 text-[14px] hover:text-white transition-colors">Service Centers</a><a href="/support/spare-parts/" class="text-white/60 text-[14px] hover:text-white transition-colors">Spare Parts</a><a href="/support/bulletins/" class="text-white/60 text-[14px] hover:text-white transition-colors">Bulletins</a><a href="/support/technical-documentation/" class="text-white/60 text-[14px] hover:text-white transition-colors">Technical Documentation</a><a href="/support/occurrence-reporting/" class="text-white/60 text-[14px] hover:text-white transition-colors">Occurrence Reporting</a><a href="/support/safety-reporting/" class="text-white/60 text-[14px] hover:text-white transition-colors">Safety Reporting</a> </div> <!-- Company --> <div class="flex flex-col gap-3"> <h3 class="text-white text-[15px] font-semibold mb-1">Company</h3> <a href="/about/" class="text-white/60 text-[14px] hover:text-white transition-colors">Our Story</a><a href="/about/production/" class="text-white/60 text-[14px] hover:text-white transition-colors">Production</a><a href="/contact/#team" class="text-white/60 text-[14px] hover:text-white transition-colors">Team</a><a href="/about/certifications/" class="text-white/60 text-[14px] hover:text-white transition-colors">Certifications</a><a href="/about/careers/" class="text-white/60 text-[14px] hover:text-white transition-colors">Careers</a><a href="/about/in-the-media/" class="text-white/60 text-[14px] hover:text-white transition-colors">In the Media</a><a href="/about/eu-projects/" class="text-white/60 text-[14px] hover:text-white transition-colors">EU Projects</a><a href="/news/" class="text-white/60 text-[14px] hover:text-white transition-colors">News</a><a href="/events/" class="text-white/60 text-[14px] hover:text-white transition-colors">Events</a> </div> <!-- Contact Info â tenant-aware (ADR-011). 220 Layout matches Figma footer 54:390;42:37: each row is an icon + a 221 two-line block (number + subtext). On global tenant we show both the 222 US sales line (Bristell Direct) and the CZ factory line; dealers show 223 only their own contact and link back to bristell.com. --> <div class="col-span-2 md:col-span-3 lg:col-span-1 flex flex-col gap-4"> <h3 class="text-white text-[15px] font-semibold mb-1"> Contact </h3> <a href="mailto:[email protected]" class="text-white/90 text-[14px] hover:text-white transition-colors flex items-start gap-3">
223 <svg class="w-4 h-4 shrink-0 mt-0.5" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><rect x="2" y="4" width="20" height="16" rx="2"></rect><path d="m22 7-8.97 5.7a1.94 1.94 0 0 1-2.06 0L2 7"></path></svg> [email protected] </a> <a href="tel:+13162158651" class="hover:text-white transition-colors flex items-start gap-3 group"> <!-- Headphones icon (Bristell Direct / sales) per Figma 333:19 --> <svg class="w-4 h-4 shrink-0 mt-0.5 text-white/90" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M3 14h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2H4a1 1 0 0 1-1-1v-6a9 9 0 0 1 18 0v6a1 1 0 0 1-1 1h-2a2 2 0 0 1-2-2v-3a2 2 0 0 1 2-2h3"></path></svg> <span class="flex flex-col gap-0.5"> <span class="text-white/90 text-[14px] leading-[1.45]">+1 316 215 8651</span> <span class="text-white/50 text-[12px] leading-[1.4]">Bristell Direct · 24/7 worldwide</span> </span> </a> <a href="tel:+420608306338" class="hover:text-white transition-colors flex items-start gap-3 group"> <!-- Phone icon (factory line) per Figma 333:26 --> <svg class="w-4 h-4 shrink-0 mt-0.5 text-white/90" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.127.96.361 1.903.7 2.81a2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.907.339 1.85.573 2.81.7A2 2 0 0 1 22 16.92z"></path></svg> <span class="flex flex-col gap-0.5"> <span class="text-white/90 text-[14px] leading-[1.45]">+420 608 306 338</span> <span class="text-white/50 text-[12px] leading-[1.4]">MonâFri 8:00â16:00 CET</span> </span> </a> <div class="flex items-start gap-3"> <!-- Map-pin icon per Figma 333:32 --> <svg class="w-4 h-4 shrink-0 mt-0.5 text-white/90" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M20 10c0 7-8 13-8 13s-8-6-8-13a8 8 0 0 1 16 0z"></path><circle cx="12" cy="10" r="3"></circle></svg> <div class="text-white/90 text-[14px] leading-[1.45] whitespace-pre-line">BRM AERO s.r.o. 224Letecká 255 225686 04 Kunovice 226Czech Republic</div> </div> <!-- "Find another dealer" cross-link removed (Marek 2026-07-24) â the 227 brand-of-BRM-AERO attribution in the legal row carries the link back 228 to bristell.com instead. Nothing in ADR-011 required the cross-link. --> </div> </div> <div class="h-px bg-white/10"></div> <!-- Bottom bar --> <div class="flex flex-col md:flex-row items-center justify-between gap-4 site-pad py-5"> <!-- Bristell logo (left). The "Wings with a heart" tagline that used to sit under the 229 logo is removed (Marek 2026-07-16, VD-019 amend). The `footer_tagline` ui-string 230 stays â BaseLayout still uses it for the first-party <title> brand lockup. --> <div class="flex flex-col items-center md:items-start shrink-0"> <a href="/" aria-label="Bristell"> <img src="/images/bristell-logo-white.png" alt="Bristell" class="h-20 w-auto"> </a> </div> <!-- Social links with dot separators (center) --> <div class="flex items-center gap-6 flex-wrap justify-center"> <a href="https://www.facebook.com/bristell" target="_blank" rel="noopener noreferrer" class="text-white text-[12px] font-semibold tracking-[1px] uppercase hover:text-white/70 transition-colors"> Facebook </a> <span class="w-[5px] h-[5px] rounded-full bg-white inline-block"></span> <a href="https://www.instagram.com/bristellofficial/" target="_blank" rel="noopener noreferrer" class="text-white text-[12px] font-semibold tracking-[1px] uppercase hover:text-white/70 transition-colors"> Instagram </a> <span class="w-[5px] h-[5px] rounded-full bg-white inline-block"></span> <a href="https://www.youtube.com/user/aerobrm" target="_blank" rel="noopener noreferrer" class="text-white text-[12px] font-semibold tracking-[1px] uppercase hover:text-white/70 transition-colors"> YouTube </a> <span class="w-[5px] h-[5px] rounded-full bg-white inline-block"></span> <a href="https://www.linkedin.com/company/bristell" target="_blank" rel="noopener noreferrer" class="text-white text-[12px] font-semibold tracking-[1px] uppercase hover:text-white/70 transition-colors"> LinkedIn </a> </div> <!-- Right logo: the dealer's own mark on dealer tenants (Marek 2026-07-24 â 231 "Bristell logo + partner logo"), BRM AERO on first-party. --> <img src="/images/brm-aero-logo.png" alt="BRM AERO" class="h-8 w-auto shrink-0"> </div> <div class="h-px bg-white/10"></div> <!-- Bottom legal row (Figma 54:390 â 42:69): copyright + 4 links inline, 232 centered, 16px gap. On dealer tenants we append the dealer copyright as
233 a second centered line so the brand-of-BRM-AERO attribution stays 234 visible (ADR-011). --> <div class="flex flex-col items-center gap-2 site-pad py-4"> <div class="flex items-center justify-center gap-4 flex-wrap text-[12px]"> <span class="text-white/60">© 2010–2026 BRM AERO s.r.o. All rights reserved.</span> <a href="/terms/" class="text-white/60 hover:text-white transition-colors">Terms and conditions</a><a href="/privacy-policy/" class="text-white/60 hover:text-white transition-colors">Privacy Policy</a><a href="/gdpr/" class="text-white/60 hover:text-white transition-colors">GDPR</a><a href="/impressum/" class="text-white/60 hover:text-white transition-colors">Impressum</a><a href="/whistleblower/" class="text-white/60 hover:text-white transition-colors">Whistleblower Protection</a><a href="/cookie-policy/" class="text-white/60 hover:text-white transition-colors">Cookies</a> <!-- Reopens the BaseLayout cookie-consent banner with the current choices 235 pre-filled (BalÃÄek C). No href â dispatches a custom event the banner 236 script listens for, so it works identically on every tenant/page. --> <button type="button" id="footer-cookie-settings" class="text-white/60 hover:text-white transition-colors cursor-pointer">Cookie settings</button> </div> </div> </footer>
236<script type="module">globalThis.process??={};globalThis.process.env??={};document.getElementById("footer-cookie-settings")?.addEventListener("click",()=>{window.dispatchEvent(new CustomEvent("bristell:open-cookie-settings"))});</script>
236 <!-- Cookie Consent Banner â 3 categories (Essential/Analytics/Marketing), BalÃÄek C. 237 Storage upgraded to a JSON v2 shape; legacy 'all'/'essential' strings from the 238 pre-2026-07 binary banner are migrated on read (see readConsent() below and the 239 matching window.__bristellReadConsent() in <head>). Works standalone even when 240 analyticsEnabled is false (dev/dealer/preview) â gtag/dataLayer access is guarded. --> <div id="cookie-banner" role="region" aria-label="Cookie consent" aria-live="polite" class="fixed inset-x-0 bottom-0 sm:inset-x-auto sm:right-6 sm:bottom-6 z-50 hidden sm:max-w-[420px]"> <div class="bg-white border-t sm:border border-[#E8E8ED] sm:rounded-2xl shadow-[0_8px_40px_rgba(11,21,45,0.16)] p-5 sm:p-6"> <p class="text-body text-[14px] leading-[1.6]"> We use essential cookies to make this website work. We'd also like to use analytics and marketing cookies to improve your experience. <a href="/cookie-policy/" class="text-navy-blue underline hover:no-underline ml-1">Learn more<span class="sr-only"> in our Cookie Policy</span></a> </p> <div class="flex gap-3 mt-5"> <button type="button" id="cookie-reject" class="flex-1 h-11 px-4 rounded-full border border-navy-blue text-navy-blue text-[13px] font-button hover:bg-navy-blue/5 transition-colors cursor-pointer"> Essential only </button> <button type="button" id="cookie-accept" class="flex-1 h-11 px-4 rounded-full bg-navy-blue text-white text-[13px] font-button hover:bg-navy-blue/85 transition-colors cursor-pointer"> Accept all </button> </div> <button type="button" id="cookie-customize" aria-expanded="false" aria-controls="cookie-customize-panel" class="mt-4 text-secondary text-[13px] underline hover:text-heading transition-colors cursor-pointer"> Customize </button> <!-- Customize panel â Analytics / Marketing checkboxes (Essential is always on) --> <div id="cookie-customize-panel" class="hidden flex flex-col gap-3 mt-4 pt-4 border-t border-[#E8E8ED]"> <label class="flex items-center gap-3 text-secondary text-[13px]"> <input type="checkbox" checked disabled class="h-4 w-4 rounded border-border accent-navy-blue/40"> Essential â always on </label> <label class="flex items-center gap-3 text-heading text-[13px] cursor-pointer"> <input type="checkbox" id="cookie-cb-analytics" class="h-4 w-4 rounded border-border accent-navy-blue cursor-pointer"> Analytics </label> <label class="flex items-center gap-3 text-heading text-[13px] cursor-pointer"> <input type="checkbox" id="cookie-cb-marketing" class="h-4 w-4 rounded border-border accent-navy-blue cursor-pointer"> Marketing </label> <div> <button type="button" id="cookie-save" class="h-11 px-5 rounded-full bg-navy-blue text-white text-[13px] font-button hover:bg-navy-blue/85 transition-colors cursor-pointer"> Save choices </button> </div> </div> </div> </div>
240<script> 241 (function () { 242 var STORAGE_KEY = 'cookie-consent'; 243 var banner = document.getElementById('cookie-banner'); 244 var panel = document.getElementById('cookie-customize-panel'); 245 var customizeBtn = document.getElementById('cookie-customize'); 246 var cbAnalytics = document.getElementById('cookie-cb-analytics'); 247 var cbMarketing = document.getElementById('cookie-cb-marketing'); 248 249 // Same parsing/migration rule as window.__bristellReadConsent() in <head> â 250 // duplicated (not shared) on purpose: this banner script must keep working 251 // standalone (dev/dealer/preview hosts) where the <head> analytics block never 252 // rendered, so window.__bristellReadConsent may not exist there. 253 function readConsent() { 254 var raw; 255 try { 256 raw = localStorage.getItem(STORAGE_KEY); 257 } catch (e) { 258 return null; 259 } 260 if (!raw) return null; 261 try { 262 if (raw.charAt(0) === '{') { 263 var parsed = JSON.parse(raw); 264 return parsed && parsed.v === 2 ? parsed : null; 265 } 266 if (raw === 'all') return { v: 2, analytics: true, marketing: true, ts: null }; 267 if (raw === 'essential') return { v: 2, analytics: false, marketing: false, ts: null }; 268 } catch (e) { 269 // malformed value â treat as no stored consent 270 } 271 return null; 272 } 273 274 function applyConsent(value) { 275 // Guarded: gtag/dataLayer only exist when the <head> analytics block was 276 // gated in (prod + bristell tenant + real domain). No-op everywhere else so 277 // this never throws on dev/dealer/preview hosts. 278 if (typeof window.gtag === 'function') { 279 window.gtag('consent', 'update', { 280 analytics_storage: value.analytics ? 'granted' : 'denied', 281 ad_storage: value.marketing ? 'granted' : 'denied', 282 ad_user_data: value.marketing ? 'granted' : 'denied', 283 ad_personalization: value.marketing ? 'granted' : 'denied', 284 }); 285 } 286 // The `{event:'consent_update'}` dataLayer push that lived here was a GTM 287 // trigger hook; with the container gone (ADR-038) nothing consumed it. 288 // gtag('consent','update') above is what actually applies the choice. 289 } 290 291 function hideBanner() { 292 if (banner) banner.classList.add('hidden'); 293 if (panel) panel.classList.add('hidden'); 294 if (customizeBtn) customizeBtn.setAttribute('aria-expanded', 'false'); 295 } 296 297 function writeConsent(analytics, marketing) { 298 var value = { v: 2, analytics: !!analytics, marketing: !!marketing, ts: new Date().toISOString() }; 299 try { 300 localStorage.setItem(STORAGE_KEY, JSON.stringify(value)); 301 } catch (e) { 302 // localStorage unavailable (private mode / disabled) â consent still 303 // applies for this pageview via applyConsent(), just won't persist. 304 } 305 applyConsent(value); 306 hideBanner(); 307 // LanguageSuggestBanner waits for this: both banners are fixed to the 308 // bottom, and consent must resolve before a language nudge appears. 309 window.dispatchEvent(new CustomEvent('bristell:consent-set')); 310 } 311 312 function fillCheckboxes(value) { 313 var current = value || { analytics: false, marketing: false }; 314 if (cbAnalytics) cbAnalytics.checked = !!current.analytics; 315 if (cbMarketing) cbMarketing.checked = !!current.marketing; 316 } 317 318 var existing = readConsent(); 319 if (!existing && banner) { 320 banner.classList.remove('hidden'); 321 } 322 323 document.getElementById('cookie-accept')?.addEventListener('click', function () { 324 writeConsent(true, true); 325 }); 326 327 document.getElementById('cookie-reject')?.addEventListener('click', function () { 328 writeConsent(false, false); 329 }); 330 331 customizeBtn?.addEventListener('click', function () { 332 if (!panel) return; 333 var willShow = panel.classList.contains('hidden'); 334 panel.classList.toggle('hidden'); 335 customizeBtn.setAttribute('aria-expanded', willShow ? 'true' : 'false'); 336 if (willShow) fillCheckboxes(readConsent()); 337 }); 338 339 document.getElementById('cookie-save')?.addEventListener('click', function () { 340 writeConsent(cbAnalytics?.checked, cbMarketing?.checked); 341 }); 342 343 // Reopen affordance â Footer "Cookie settings" link dispatches this event.
344 window.addEventListener('bristell:open-cookie-settings', function () { 345 if (banner) banner.classList.remove('hidden'); 346 if (panel) { 347 panel.classList.remove('hidden'); 348 if (customizeBtn) customizeBtn.setAttribute('aria-expanded', 'true'); 349 } 350 fillCheckboxes(readConsent()); 351 }); 352 })(); 353 </script>
353 <!-- Bitrix24 form conversion tracking (BalÃÄek C) â no-ops on pages without 354 a `.bristell-form-wrap[data-form-key]`; included globally here rather 355 than per-page since it's simplest and always safe. -->
355<script> 356 (function () { 357 var wrap = document.querySelector('.bristell-form-wrap[data-form-key]'); 358 if (!wrap) return; // no Bitrix form on this page â no-op 359 360 var formKey = wrap.getAttribute('data-form-key'); 361 if (!formKey) return; 362 363 var reported = false; 364 function report() { 365 if (reported) return; 366 reported = true; 367 if (typeof window.gtag === 'function') { 368 window.gtag('event', 'generate_lead', { form_name: formKey }); 369 } 370 } 371 372 // Primary: Bitrix's own global lifecycle event for this exact widget bundle. 373 window.addEventListener('b24:form:send:success', report); 374 375 // Fallback: watch the DOM for the widget's success-state element in case the 376 // event above is ever renamed by a Bitrix platform update. 377 // 378 // MUST test VISIBILITY, not presence. Bitrix pre-renders 379 // <div class="b24-form-state b24-form-success">Request has been sent!</div> 380 // with display:none on every page load and only reveals it on submit. The 381 // original presence check therefore reported a conversion on EVERY pageview 382 // of all 8 Bitrix form pages, from the 2026-07-15 launch until this fix â 383 // the mirror image of the bug ADR-038 fixed (that one reported none). 384 // getClientRects() is empty for a display:none element and, unlike 385 // offsetParent, stays correct if Bitrix ever positions the panel fixed. 386 function successVisible() { 387 var s = wrap.querySelector('.b24-form-success'); 388 return !!s && s.getClientRects().length > 0; 389 } 390 var observer = new MutationObserver(function () { 391 if (successVisible()) { 392 report(); 393 observer.disconnect(); 394 } 395 }); 396 // Revealing the panel is a style/class mutation, not a childList one â without 397 // attribute observation this fallback could never fire on a real submit either. 398 observer.observe(wrap, { 399 childList: true, 400 subtree: true, 401 attributes: true, 402 attributeFilter: ['style', 'class'], 403 }); 404 })(); 405</script>
405
405<script type="module" src="https://static.cloudflareinsights.com/beacon.min.js/v31edd6df95cf4e85bb4c19e7a9bdbcba1788362987495" integrity="sha512-iIg7k2xntmwu6/uSb5tpc/hySgZc4eoL31yB29W6tJFo2akwjPWcEqnCEdJvGexCL0KEQwVYv5BlowfhVz26hg==" data-cf-beacon='{"version":"2024.11.0","token":"5acb604a3c8940e4964bb30090fa7447","r":1,"spa":2}' crossorigin="anonymous"></script>
405 406</body></html>
406<script type="module">globalThis.process??={};globalThis.process.env??={};let o=null;async function a(n,i){const t=document.getElementById("news-list");if(t){o&&o.abort(),o=new AbortController,t.style.opacity="0.55",t.style.pointerEvents="none";try{const s=await fetch(n,{signal:o.signal,headers:{"X-Requested-With":"fetch"}});if(!s.ok)throw new Error(`HTTP ${s.status}`);const e=await s.text(),r=new DOMParser().parseFromString(e,"text/html").getElementById("news-list");if(!r)throw new Error("news-list not in response");t.replaceWith(r),r.style.opacity="",r.style.pointerEvents="",i&&history.pushState({url:n},"",n)}catch(s){if(s.name!=="AbortError")console.warn("Pagination AJAX failed, falling back to full load",s),window.location.href=n;else{const e=document.getElementById("news-list");e&&(e.style.opacity="",e.style.pointerEvents="")}}finally{o=null}}}document.addEventListener("click",n=>{const i=n.target;if(!i)return;const t=i.closest("a");if(!t||!t.closest("#news-list"))return;const e=t.getAttribute("href")||"";if(!/^(?:\/[a-z]{2})?\/news\/(?:[?#]|$)/.test(e))return;n.preventDefault();const l=e.split("#")[0];a(l,!0)});window.addEventListener("popstate",()=>{a(window.location.pathname+window.location.search,!1)});</script>
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.