:root {
  --op-navy: #0a2141;
  --op-navy-soft: #16385d;
  --op-crimson: #c91e3b;
  --op-ink: #24374d;
  --op-muted: #66788b;
  --op-line: #d9e2e9;
  --op-paper: #f3f6f8;
  --op-sea: #e4edf1;
  --op-white: #fff;
}
.operator-profile { color:var(--op-ink); background:var(--op-paper); }
.operator-profile a { color:var(--op-navy); }
.profile-crumbs { max-width:1480px; margin:auto; padding:12px 36px; color:#728293; font-size:.78rem; }
.profile-crumbs a { color:var(--op-crimson); text-decoration:none; }
.profile-crumbs a:hover { text-decoration:underline; }
.profile-crumbs .breadcrumb { margin:0; }
.profile-hero { position:relative; overflow:hidden; color:#fff; background:var(--op-navy); }
.profile-hero::after { content:""; position:absolute; width:38%; height:1px; right:0; top:38%; background:rgba(255,255,255,.17); transform:rotate(-27deg); transform-origin:right; pointer-events:none; }
.profile-hero-inner { position:relative; z-index:1; max-width:1480px; margin:auto; padding:34px 36px 30px; display:grid; grid-template-columns:70px minmax(0,1fr); align-items:start; gap:19px; }
.profile-brand { width:66px; height:66px; display:grid; place-items:center; overflow:hidden; border:1px solid rgba(255,255,255,.25); border-radius:8px; background:#f7f9fa; color:var(--op-navy); }
.profile-brand img { width:100%; height:100%; object-fit:contain; padding:5px; }
.profile-brand-fallback { width:100%; height:100%; display:grid; place-items:center; background:#e8eef1; color:#274660; font-size:1.1rem; font-weight:750; letter-spacing:.04em; }
.profile-heading { min-width:0; }
.profile-kicker { margin:1px 0 6px; color:#b6c6d2; font-size:.63rem; font-weight:700; letter-spacing:.15em; text-transform:uppercase; }
.profile-company-name { margin:0; color:#fff; font-size:clamp(1.55rem,3.2vw,2.45rem); line-height:1.12; letter-spacing:-.04em; font-weight:700; overflow-wrap:anywhere; }
.profile-base { margin:8px 0 0; color:#d4dee6; font-size:.82rem; }
.profile-intro { max-width:860px; margin:14px 0 0; color:#e2e9ee; font-size:.91rem; line-height:1.65; overflow-wrap:anywhere; white-space:pre-line; }
.profile-header-count { display:inline-flex; align-items:center; gap:7px; margin-top:12px; padding:5px 9px; border:1px solid rgba(255,255,255,.22); border-radius:4px; color:#e3ebf0; font-size:.69rem; }
.profile-actions { display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-top:18px; }
.profile-quote-action { min-height:46px; display:inline-flex; align-items:center; justify-content:center; gap:9px; padding:0 18px; border:0; border-radius:4px; background:var(--op-crimson); color:#fff!important; font-size:.8rem; font-weight:700; text-decoration:none; }
.profile-quote-action:hover { background:#ad1933; color:#fff; }
.profile-secondary-action { min-height:44px; display:inline-flex; align-items:center; justify-content:center; gap:7px; padding:0 11px; border:1px solid rgba(255,255,255,.28); border-radius:4px; background:transparent; color:#dce5eb!important; font:inherit; font-size:.72rem; text-decoration:none; cursor:pointer; }
.profile-secondary-action:hover { border-color:rgba(255,255,255,.65); color:#fff!important; background:rgba(255,255,255,.07); }
.profile-quote-note { margin:8px 0 0; color:#b9c8d3; font-size:.68rem; line-height:1.45; }
.profile-nav { display:flex; gap:6px; flex-wrap:wrap; margin-top:19px; }
.profile-nav a { min-height:36px; display:inline-flex; align-items:center; padding:0 10px; border:1px solid rgba(255,255,255,.2); border-radius:3px; color:#d7e1e8; font-size:.69rem; text-decoration:none; }
.profile-nav a:hover { border-color:rgba(255,255,255,.55); color:#fff; }
#stickyOperatorNav { position:fixed; top:0; left:0; right:0; display:flex; align-items:center; justify-content:center; gap:20px; padding:7px 16px; transform:translateY(-110%); transition:transform .2s ease; }
#stickyOperatorNav a { min-height:36px; display:inline-flex; align-items:center; color:#e2e9ee; font-size:.75rem; text-decoration:none; white-space:nowrap; }
#stickyOperatorNav a:hover { color:#fff; }
#stickyOperatorNav.is-visible { transform:translateY(0); }
.profile-main { max-width:1480px; margin:auto; padding:30px 36px 60px; }
.profile-section { margin:0 0 18px; border:1px solid var(--op-line); border-radius:6px; background:#fff; box-shadow:0 2px 8px rgba(10,33,65,.035); scroll-margin-top:150px; }
.profile-section-header { padding:15px 20px 12px; border-bottom:1px solid #e6edf1; display:flex; align-items:center; gap:10px; }
.profile-section-header > i { width:21px; color:var(--op-crimson); text-align:center; }
.profile-section-header h2 { margin:0; color:var(--op-navy); font-size:1rem; font-weight:700; letter-spacing:-.02em; }
.profile-section-body { padding:18px 20px 21px; }
.profile-copy { margin:0; color:#43596d; font-size:.87rem; line-height:1.7; white-space:pre-line; overflow-wrap:anywhere; }
.profile-copy + .profile-copy { margin-top:15px; }
.profile-evidence-note { margin:0 0 15px; padding:10px 12px; border-left:3px solid #8296a5; background:#f4f7f8; color:#5f7284; font-size:.73rem; line-height:1.5; }
.profile-evidence-note:last-child { margin-bottom:0; }
.profile-evidence-note strong { color:#3d5368; }
.profile-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.profile-service-grid .service-card { height:100%; min-height:120px; padding:15px; border:1px solid #d9e5e2; border-radius:5px; background:#f4f8f7; text-align:left; display:flex; flex-direction:column; align-items:flex-start; }
.profile-service-grid .service-card-icon { margin-bottom:9px; color:#315e63; font-size:1.25rem; }
.profile-service-grid .service-card-title { margin-bottom:4px; color:#244b52; font-size:.85rem; font-weight:700; }
.profile-service-grid .service-card-desc { color:#5b7176; font-size:.73rem; line-height:1.45; }
.profile-aircraft-note { margin:0 0 15px; padding:11px 13px; border:1px solid #e6d9bd; border-radius:4px; background:#fbf8f1; color:#65573e; font-size:.75rem; line-height:1.55; }
.fleet-grid { display:grid; gap:12px; grid-template-columns:repeat(3,minmax(0,1fr)); }
.fleet-card { min-width:0; overflow:hidden; border:1px solid #dce5e9; border-radius:5px; background:#fff; }
.fleet-grid[data-aircraft-count="1"] { grid-template-columns:minmax(0,1fr); }
.fleet-grid[data-aircraft-count="2"] { grid-template-columns:repeat(2,minmax(0,1fr)); }
.fleet-grid[data-aircraft-count="3"] { grid-template-columns:repeat(3,minmax(0,1fr)); }
.fleet-grid[data-aircraft-count="1"] .fleet-card { display:grid; grid-template-columns:minmax(180px,.68fr) minmax(0,1fr); }
.fleet-grid[data-aircraft-count="1"] .fleet-card:not(.has-photo) .fleet-card-content { grid-column:1/-1; display:grid; grid-template-columns:36px minmax(0,1fr); gap:0 13px; align-content:start; }
.fleet-grid[data-aircraft-count="1"] .fleet-card:not(.has-photo) .aircraft-type-icon { grid-row:1/span 3; }
.fleet-grid[data-aircraft-count="1"] .fleet-card:not(.has-photo) .aircraft-specs,
.fleet-grid[data-aircraft-count="1"] .fleet-card:not(.has-photo) .aircraft-extra,
.fleet-grid[data-aircraft-count="1"] .fleet-card:not(.has-photo) .aircraft-highlights { grid-column:1/-1; }
.fleet-grid[data-aircraft-count="2"] .fleet-card { display:block; }
.fleet-photo-wrap { position:relative; height:145px; overflow:hidden; background:#e8eef1; }
.fleet-grid[data-aircraft-count="1"] .fleet-photo-wrap { height:100%; min-height:200px; }
.fleet-aircraft-photo { width:100%; height:100%; display:block; object-fit:cover; }
.aircraft-photo-fallback { position:absolute; inset:0; display:grid; place-items:center; background:linear-gradient(135deg,#edf2f3,#dfe8eb); color:#587080; }
.aircraft-photo-fallback i { font-size:1.8rem; }
.fleet-card-content { min-width:0; padding:14px; }
.aircraft-type-icon { width:30px; height:28px; display:grid; place-items:center; margin-bottom:8px; border-radius:4px; background:#edf2f3; color:#31566f; font-size:.95rem; }
.fleet-card.has-photo .aircraft-type-icon { display:none; }
.aircraft-model { margin:0; color:var(--op-navy); font-size:.92rem; font-weight:700; line-height:1.35; overflow-wrap:anywhere; }
.aircraft-tail { margin-top:3px; color:#738391; font-family:ui-monospace, SFMono-Regular, Menlo, monospace; font-size:.7rem; }
.aircraft-specs { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px 12px; margin-top:13px; }
.aircraft-stat { min-width:0; color:#607282; font-size:.7rem; line-height:1.4; overflow-wrap:anywhere; }
.aircraft-stat strong { display:block; margin-bottom:2px; color:#3c5368; font-size:.62rem; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.aircraft-extra { margin-top:12px; border-top:1px solid #e8edf0; padding-top:9px; }
.aircraft-extra summary { min-height:42px; display:flex; align-items:center; color:var(--op-navy); font-size:.7rem; font-weight:650; cursor:pointer; }
.aircraft-extra summary:hover { color:var(--op-crimson); }
.equipment-list { display:flex; flex-wrap:wrap; gap:5px; padding:0 0 6px; margin:0; list-style:none; }
.equipment-list li { max-width:100%; padding:5px 7px; border:1px solid #dce5e9; border-radius:3px; background:#f5f8f9; color:#506779; font-size:.65rem; line-height:1.3; overflow-wrap:anywhere; }
.aircraft-extra-spec { margin:0 0 7px; color:#607282; font-size:.7rem; line-height:1.45; overflow-wrap:anywhere; }
.fleet-grid[data-aircraft-count="1"] .fleet-card-content { padding:18px; }
.coverage-summary { margin:0 0 14px; color:#556b7e; font-size:.78rem; line-height:1.55; }
.coverage-group + .coverage-group { margin-top:14px; padding-top:13px; border-top:1px solid #e8edf0; }
.coverage-label { margin:0 0 8px; color:#768694; font-size:.62rem; font-weight:700; letter-spacing:.11em; text-transform:uppercase; }
.coverage-list { display:flex; flex-wrap:wrap; gap:6px; padding:0; margin:0; list-style:none; }
.coverage-list li { padding:6px 9px; border:1px solid #dce5e9; border-radius:3px; background:#f7f9fa; color:#40576b; font-size:.71rem; }
.coverage-list li.coverage-nationwide { border-color:#c9d6df; background:#eaf0f4; color:var(--op-navy); font-weight:650; }
.coverage-map-details { margin-top:15px; border-top:1px solid #e8edf0; padding-top:8px; }
.coverage-map-details summary { min-height:43px; display:flex; align-items:center; color:var(--op-navy); font-size:.74rem; font-weight:650; cursor:pointer; }
.coverage-map-container { max-width:680px; margin:0 auto 7px; position:relative; overflow:hidden; border:1px solid var(--op-line); border-radius:4px; background:#eef3f5; }
#coverageMapSvg { width:100%; display:block; }
#coverageMapSvg path { fill:#dce5e8; stroke:white; stroke-width:.6; }
#coverageMapSvg path.state-covered,#coverageMapSvg path.state-nationwide { fill:#16385d; }
.map-zoom-controls { position:absolute; top:7px; right:7px; z-index:2; display:flex; gap:4px; }
.map-zoom-controls button { width:36px; height:36px; border:1px solid #cbd7df; border-radius:3px; background:#fff; color:var(--op-navy); cursor:pointer; }
.map-zoom-controls button:hover { background:#edf2f4; }
.credentials-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 22px; }
.trust-item { min-width:0; display:flex; align-items:flex-start; gap:11px; padding:12px 0; border-bottom:1px solid #edf1f3; }
.trust-item:last-child { border-bottom:0; }
.trust-icon { width:31px; height:31px; display:grid; place-items:center; flex:none; border-radius:50%; background:#e8eff2; color:#31536b; }
.trust-item-copy { min-width:0; padding-top:1px; }
.trust-item-title { color:#304a60; font-size:.78rem; font-weight:700; }
.trust-item-detail { margin-top:3px; color:#6a7b89; font-size:.7rem; line-height:1.5; overflow-wrap:anywhere; }
.accreditation-explanation { min-height:44px; display:inline-flex; align-items:center; gap:5px; margin:2px 3px 2px 0; padding:0 9px; border:1px solid #e5ccd1; border-radius:3px; background:#fcf6f7; color:#7d2738; font:inherit; font-size:.68rem; cursor:pointer; }
.accreditation-explanation:hover,.accreditation-explanation[aria-expanded="true"] { border-color:#c98b96; background:#f8ecef; }
.accreditation-detail { flex-basis:100%; margin:0 0 8px 42px; color:#66798a; font-size:.7rem; line-height:1.55; }
.insurance-list { display:flex; flex-wrap:wrap; gap:7px; padding:0; margin:0 0 14px; list-style:none; }
.insurance-list li { padding:7px 10px; border:1px solid #dce5e9; border-radius:3px; color:#40576b; background:#f7f9fa; font-size:.74rem; }
.insurance-note { margin:0; color:#627688; font-size:.73rem; line-height:1.55; }
.case-match-panel { overflow:hidden; margin-bottom:20px; border:1px solid var(--op-line); border-radius:6px; background:#fff; box-shadow:0 2px 8px rgba(10,33,65,.04); }
.case-match-header { padding:14px 16px; background:var(--op-navy); color:#fff; }
.case-match-header h5 { margin:0; font-size:.88rem; }
.match-item { display:flex; justify-content:space-between; gap:10px; padding:9px 0; border-bottom:1px solid #edf1f3; font-size:.77rem; }
.match-item:last-child { border-bottom:0; }
.match-ok { color:#31734d; }
.match-fail { color:#a33a4a; }
.match-na { color:#71808d; }
.share-toast { position:fixed; z-index:1200; right:18px; top:78px; display:none; max-width:min(370px,calc(100vw - 36px)); padding:11px 15px; border:1px solid #d9e2e9; border-radius:5px; background:#fff; color:var(--op-navy); font-size:.76rem; box-shadow:0 6px 24px rgba(10,33,65,.15); }
.profile-print-header,.profile-print-footer { display:none; }
#stickyOperatorNav { z-index:1040; background:var(--op-navy); }
.operator-profile [hidden],.profile-section [hidden] { display:none!important; }
.operator-profile :focus-visible { outline:3px solid #7190a6; outline-offset:3px; }
@media (max-width:991px) {
  .profile-service-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
  .profile-crumbs { padding:10px 18px; }
  .profile-hero-inner { padding:24px 18px 22px; grid-template-columns:54px minmax(0,1fr); gap:13px; }
  .profile-brand { width:52px; height:52px; }
  .profile-kicker { font-size:.57rem; }
  .profile-company-name { font-size:clamp(1.35rem,7vw,1.85rem); }
  .profile-intro { grid-column:1/-1; margin-top:4px; font-size:.83rem; }
  .profile-actions { gap:7px; margin-top:14px; }
  .profile-quote-action { min-height:48px; padding:0 13px; }
  .profile-secondary-action { min-height:44px; padding:0 9px; }
  .profile-nav { gap:5px; margin-top:14px; }
  .profile-nav a { min-height:38px; font-size:.64rem; }
  .profile-main { padding:20px 14px 42px; }
  .profile-section { margin-bottom:13px; }
  .profile-section-header { padding:13px 15px 11px; }
  .profile-section-body { padding:15px; }
  .profile-service-grid { grid-template-columns:1fr; }
  .fleet-grid,.fleet-grid[data-aircraft-count="2"],.fleet-grid[data-aircraft-count="3"] { grid-template-columns:minmax(0,1fr); }
  .fleet-grid[data-aircraft-count="1"] .fleet-card { display:block; }
  .fleet-grid[data-aircraft-count="1"] .fleet-photo-wrap { height:155px; min-height:0; }
  .fleet-grid[data-aircraft-count="1"] .fleet-card:not(.has-photo) .fleet-card-content,
  .fleet-grid[data-aircraft-count="1"] .fleet-card-content { display:block; padding:14px; }
  .fleet-photo-wrap { height:155px; }
  .aircraft-specs { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .credentials-list { grid-template-columns:1fr; }
  .share-toast { right:12px; top:12px; }
}
@media print {
  body,.operator-profile { background:#fff!important; color:#222!important; }
  .profile-crumbs,.profile-actions,.profile-nav,nav.navbar,footer,.sidebar-col,#stickyOperatorNav,.share-toast,.print-hide,.bmf-cookie-banner,#cookieConsentBanner,#cookieConsent,.cookie-banner,.cookie-consent,.cookie-consent-banner,[data-cookie-banner] { display:none!important; }
  .profile-print-header { display:flex!important; justify-content:space-between; align-items:center; padding:12px 20px; border-bottom:2px solid var(--op-navy); color:var(--op-navy); font-weight:700; }
  .profile-print-footer { display:block!important; margin:25px 20px 0; padding:12px 0; border-top:1px solid #bcc8d0; color:#586978; font-size:10pt; text-align:center; }
  .profile-hero { color:#fff!important; print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  .profile-main { max-width:none; padding:18px 20px; }
  .main-col,.col-lg-8 { width:100%!important; max-width:100%!important; flex:0 0 100%!important; }
  .profile-section,.fleet-card { break-inside:avoid; box-shadow:none; }
  .profile-section-header { print-color-adjust:exact; -webkit-print-color-adjust:exact; }
  .coverage-map-details[open] > * { display:block!important; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important; transition:none!important; animation:none!important; }
}
