/* site.css - the ONE hand-written stylesheet for doctorpilots.com (Chunk 11).
   Every value is mined from the live site with a provenance comment:
   [CS]   = docs/visual/computed-styles/*.json (getComputedStyle capture)
   [BB p] = builder per-page cache CSS in the source snapshot
   [AI]   = live theme inline CSS in the captured live HTML
   [BL]   = measured against the approved baseline screenshots (Chunk 6)
   [WP]   = core social-links brand palette (rendered live)
   No invented tokens. Chunk 12's diff loop refines against the baseline. */

/* ---------- reset + base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
	margin: 0;
	font-family: 'Montserrat', sans-serif;      /* [CS] body/p font-family */
	font-size: 15px;                            /* [CS] p font-size */
	font-weight: 400;
	line-height: 1.85714;                       /* [CS] p line-height 27.8571px exactly */
	color: rgba(1, 22, 39, 0.75);               /* [CS] p color */
	background: #ffffff;
}
img { max-width: 100%; height: auto; }
a { color: #15295b; }                           /* [CS] h1 color = brand navy */

h1, h2, h3, h4, h5, h6 {
	font-family: 'Montserrat', sans-serif;      /* [CS] */
	font-weight: 700;                           /* [CS] h1/h2/h3 weight */
	color: #15295b;                             /* [CS] h1/h2 color rgb(21,41,91) */
	margin: 0 0 15px;                           /* [BB] heading-module margin-bottom 15px */
}
h1 { font-size: 70px; line-height: 1.4; margin: 0 0 15px; } /* [CS] hero h1 70/98 + m 0 0 15 on ALL pages */
h2 { font-size: 34px; line-height: 1.3; margin: 0; }  /* [CS] h2 34/44.2, margin 0 */
h3 { font-size: 23px; line-height: 1.3; }       /* [CS] h3 23/29.9 */
h4 { font-size: 20px; line-height: 1.4; }       /* [AI] h4 scale between h3 and h5 */
h5 { font-size: 16px; line-height: 1.5; }       /* [AI] h5 16px desktop */
p { margin: 0 0 24px; }                         /* [CS] live p margin 0 0 24px (live 1.6em) */

.screen-reader-text {
	position: absolute; width: 1px; height: 1px; overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.skip-link {
	position: absolute; left: -9999px; top: 0; z-index: 999;
	background: #15295b; color: #ffffff; padding: 10px 16px;
}
.skip-link:focus { left: 0; }

/* visible focus states (R105) */
a:focus-visible, button:focus-visible {
	outline: 2px dotted #15295b;                /* [AI] live button focus = dotted outline */
	outline-offset: 2px;
}

/* ---------- header (transparent over hero, matching the live transparent-header mode) ---------- */
.site-header {
	position: absolute;                         /* [BL] header overlays hero on every page */
	top: 0; left: 0; right: 0; z-index: 10;
	background: transparent;                    /* [AI] transparent header */
}
.site-header-inner {
	max-width: 1200px;                          /* [AI] live container width */
	margin: 0 auto;
	padding: 0 20px;                            /* [CS] footer padding 0 20px = container gutter */
	display: flex; align-items: center; justify-content: space-between;
}
.site-logo { display: block; width: 160px; height: auto; } /* [BL] live logo 160x56 variant */
.nav-menu { list-style: none; display: flex; margin: 0; padding: 0; }
.nav-link {
	display: inline-block;
	font-size: 15px; font-weight: 700;          /* [CS] nav a 15px/700 */
	line-height: 70px;                          /* [CS] nav a line-height 70px = bar height */
	padding: 0 15px;                            /* [CS] nav a padding 0 15px */
	color: rgb(21, 41, 91);                     /* [CS] interior pages: solid navy nav */
	text-decoration: none;
	transition: all 0.2s linear;                /* [CS] live nav a transition 0.2s linear */
}
.page-shell--front .nav-link { color: rgba(21, 41, 91, 0.71); } /* [CS] home keeps the muted alpha */
.nav-link:hover { color: #15295b; }             /* [BL] hover darkens to solid navy */
.header-cta { display: none; }                  /* [BL] Take Action button not visible in any baseline */
.nav-toggle { display: none; background: none; border: 0; cursor: pointer; padding: 12px; } /* >=24px target (R105) */
.nav-toggle-bar { display: block; width: 22px; height: 2px; background: #15295b; margin: 5px 0; }

/* ---------- sections (live builder rows -> semantic sections) ---------- */
.section { position: relative; }
.section-inner {
	max-width: 1100px;                          /* [BB] builder fixed-width row default; page overrides below */
	margin: 0 auto;
	padding: 75px 15px;                         /* [BB] default row padding 75px 15px */
	position: relative; z-index: 1;
}
.cols { display: flex; gap: 20px; align-items: center; }  /* [BB] col padding 10px each side = 20px gutter */
.block-icon { text-align: center; margin: 10px 0; color: #e0e0e0; } /* [BB home s1] icon #e0e0e0 30px, module mt10 */
.col { flex: 1 1 0; min-width: 0; }
.col[style] { flex-grow: 0; flex-shrink: 0; }   /* width hints from live markup styles */

.heading { }
.block-h, .block-img { margin: 20px 0; }        /* [BB] default module-content margin 20px (spacing lives on wrappers, not h tags - live computed h margin = 0) */
.button-wrap { margin: 20px 0 0; text-align: center; } /* [BB] button module margin-top 20px, centered */
.button {
	display: inline-block;
	font-size: 14px; text-transform: uppercase; /* [BB] creative-button module 14px uppercase */
	font-weight: 700; line-height: 1.6;         /* [BB] line-height 1.6 */
	color: #ffffff; background: #15295b;        /* [BB] white on navy */
	border-radius: 100px;                       /* [BB] radius 100px pill */
	padding: 12px 32px;                         /* [BL] pill proportions in home baseline */
	text-decoration: none;
	/* no transition: live runtime getAnimations() = 0 (animation-manifest);
	   adding one would be an EXTRA animation = R115 failure */
}
.button:hover, .button:focus { background: rgba(21, 41, 91, 0.77); color: #ffffff; } /* [BB] hover bg */
.separator {
	border: 0; border-top: 1px solid #cccccc;   /* [BB services s3] separator module #cccccc */
	margin: 0 auto; max-width: 100%;
}
.content-image { display: block; margin: 0 auto; }

/* hero rows: bg photo + fixed attachment + white overlay + centered content
   [BB] row bg-photo + bg-overlay + bg-fixed pattern */
.section--hero-base { background-size: cover; background-position: center; background-attachment: fixed; }
.section--hero-base::before {
	content: ""; position: absolute; inset: 0;
	background: rgba(255, 255, 255, 0.7);       /* [BB home s1] overlay */
}
.section--hero-base .section-inner { text-align: center; }

/* ---------- home ---------- */
.section--home-1 { background-image: url('/assets/img/pilot_staffing.jpg'); background-size: cover; background-position: center; background-attachment: fixed; } /* [BB home s1 bg] */
.section--home-1::before { content: ""; position: absolute; inset: 0; background: rgba(255, 255, 255, 0.7); } /* [BB home s1 overlay] */
.section--home-1 .section-inner { max-width: 950px; padding: 120px 15px 50px; text-align: center; } /* [BB home s1; BL centered hero] */
.section--home-1 h1 { margin: 0; }              /* [CS home] hero h1 margin 0 (interior heroes carry 15px) */
.section--home-2 .section-inner { max-width: 900px; padding: 120px 15px; text-align: center; } /* [BB home s2] */
.section--home-3 { background-image: url('/assets/img/Jet_pilot_staffing.jpg'); background-size: cover; background-position: center; background-attachment: fixed; } /* [BB home s3 bg] */
.section--home-3::before { content: ""; position: absolute; inset: 0; background: rgba(1, 22, 39, 0.64); } /* [BB home s3 overlay] */
.section--home-3 .section-inner { padding: 120px 15px; }
.section--home-3 h2, .section--home-3 h3, .section--home-3 h5 { color: #ffffff; } /* [BB home s3] white headings */
.section--home-3 .cols { align-items: center; }
.section--home-3 .col + .col { padding-left: 75px; } /* [BB home s3] col padding-left 75px */
/* info-box cards: white cards on the dark row [BL home baseline] */
.infobox {
	display: flex; align-items: center; gap: 20px;  /* [BB] infobox icon margin-right 20px */
	background: #ffffff;                            /* [BL] white cards in home baseline */
	padding: 25px; margin: 30px 0;                  /* [BL] inter-card rhythm measured in baseline */
	text-align: left;                               /* [BB] infobox text-align left */
}
.infobox:first-of-type { margin-top: 60px; }        /* [BL] gap below separator before first card */
.infobox-icon { flex: 0 0 auto; }
.infobox-icon img { width: 110px; height: auto; display: block; } /* [BL] icon width in baseline */
.infobox .infobox-title, .section--home-3 .infobox h3 { color: #15295b; margin: 0 0 10px; } /* [BB] title mb 10px */
.infobox p { color: rgba(1, 22, 39, 0.75); margin: 0; } /* [BB] infobox-text color */
.section--home-4 .section-inner { padding: 120px 15px; } /* [BB home s4] */
.section--home-4 h2 { text-align: center; }     /* [BL] centered section heading */
.section--home-4 .block-h { margin-bottom: 50px; } /* [BL] heading-to-cards whitespace measured */
.section--home-4 .cols { align-items: flex-start; text-align: left; } /* [BL] aircraft cards top-aligned */
.section--home-4 h4 { margin: 15px 0 10px; }
.section--home-5 { background: #f6f6f6; }        /* [BL] CTA band light gray; [BB news s2] #f6f6f6 token */
.section--home-5 .section-inner { padding: 20px 15px 50px; text-align: center; } /* [BB home s5] pb50 + default pt20 */

/* ---------- shared page hero (about/services/news/contact/careers) ---------- */
.section--about-us-1, .section--services-1, .section--news-1,
.section--contact-us-1, .section--careers-1 {
	background-size: cover; background-position: center; background-attachment: fixed;
}
.section--about-us-1 { background-image: url('/assets/img/Qualified_pilots.jpg'); }        /* [BB about s1 bg] */
.section--services-1 { background-image: url('/assets/img/Flight_attendant_staffing.jpg'); } /* [BB services s1 bg] */
.section--news-1 { background-image: url('/assets/img/Airplane_management.jpg'); }         /* [BB news s1 bg] */
.section--contact-us-1 { background-image: url('/assets/img/Jet_management.jpg'); }        /* [BB contact s1 bg] */
.section--careers-1 { background-image: url('/assets/img/Private_jet_staff.jpg'); }        /* [BB careers s1 bg] */
.section--about-us-1::before, .section--services-1::before, .section--news-1::before {
	content: ""; position: absolute; inset: 0; background: rgba(255, 255, 255, 0.7);  /* [BB] overlays */
}
.section--contact-us-1::before, .section--careers-1::before {
	content: ""; position: absolute; inset: 0; background: rgba(255, 255, 255, 0.79); /* [BB contact/careers] */
}
.section--about-us-1 .section-inner, .section--services-1 .section-inner,
.section--news-1 .section-inner, .section--contact-us-1 .section-inner,
.section--careers-1 .section-inner {
	padding: 220px 15px 180px;                  /* [BB] hero rows 220/180 */
	text-align: center;
}

/* ---------- about ---------- */
/* Rows carry NO text-align: every heading module on this page is an explicit
   uabb-heading-align-* (s2 both modules left; s3 col 1 left, cols 2-3 center),
   so a row-level center overrode all of them. */
.section--about-us-2 .section-inner, .section--about-us-3 .section-inner { padding: 120px 15px; } /* [BB about s2/s3] */
.section--about-us-3 { background: #f9f8f8; }   /* [BB about s3] row fl-node-5c07be32937ea background-color */
.section--about-us-3 .cols { align-items: flex-start; } /* [BB about s3] col group is fl-col-group-align-top */
/* Stat columns (2 and 3). All four numbers are 69px: the two h2 modules carry
   an explicit font-size override, the two h3 modules inherit the 69px/89.7px
   h3 base ([CS about] h3 sample IS "164,193"). The old 45px here was the
   <=768px step of that override mined as if it were the desktop value. */
.section--about-us-3 .col + .col { text-align: center; }
.section--about-us-3 .col + .col .heading { font-size: 69px; line-height: 1.3; margin: 0; }
.section--about-us-3 .col + .col .block-h { margin: 0; }        /* [BB about s3] stat module margin-top 0 */
.section--about-us-3 .col + .col p { margin: 0 0 20px; }        /* [BB about s3] uabb-subheading margin 0; 20px = module gap to the next stat */
.section--about-us-4 { background: #f6f6f6; }   /* [BL] CTA band */
.section--about-us-4 .section-inner { padding: 20px 15px 50px; text-align: center; } /* [BB about s4] pb50 + default pt20 */

/* ---------- services ---------- */
.section--services-2 .section-inner { padding: 30px 15px 120px; } /* [BB services s2] */
.section--services-2 .heading { text-align: center; }
.section--services-2 .cols { margin-bottom: 40px; align-items: center; } /* [BL] staff blocks spacing */
.section--services-2 .col:first-child { padding-right: 25px; } /* [BB services s2] col padding-right */
.section--services-3 .section-inner { padding: 0 15px; }       /* [BB services s3] zero padding */
.section--services-4 .section-inner { padding: 75px 15px 100px; } /* [BB services s4] pb 100px */
.section--services-4 .cols { align-items: center; }
.section--services-5 { background: #f6f6f6; }
.section--services-5 .section-inner { padding: 20px 15px 50px; text-align: center; } /* [BB services s5] pb50 + default pt20 */

/* ---------- news ---------- */
.section--news-2 .section-inner { padding: 120px 15px; }        /* [BB news s2] */
/* static post grid (verbatim carried markup renders links/images/text) */
.section--news-2 .section-inner > * { text-align: center; }
.section--news-2 img { margin: 0 auto; }
.section--news-3 { background: #f6f6f6; }
.section--news-3 .section-inner { padding: 20px 15px 50px; text-align: center; } /* [BB news s3] pb50 + default pt20 */

/* ---------- contact + careers ---------- */
.section--contact-us-2 .section-inner, .section--careers-2 .section-inner {
	padding: 30px 15px;                         /* [BB contact s2 responsive] 30px */
}
.section--contact-us-2 .col:first-child, .section--careers-2 .col:first-child {
	padding-right: 50px;                        /* [BB contact/careers s2] col padding-right 50px */
}
.section--contact-us-2 p, .section--careers-2 p { margin: 0; } /* [CS] live contact-block paragraphs margin 0 */
.section--contact-us-3 .section-inner, .section--careers-3 .section-inner { padding: 0; max-width: none; } /* [BB] zero-padding map rows */
.section--contact-us-3 iframe, .section--careers-3 iframe {
	display: block; width: 100%; height: 400px; border: 0; /* [BL] full-width map strip in baseline */
}

/* ---------- blog posts + archives: boxed template group [BL post baseline] ----------
   These templates use a WHITE static header bar (not the transparent hero
   header) and a gray page background with boxed white content cards. */
.page-shell--article .site-main, .page-shell--author .site-main,
.page-shell--category .site-main { background: #f5f5f5; } /* [BL] gray CONTENT area; body stays white */
.page-shell--article .site-header, .page-shell--author .site-header,
.page-shell--category .site-header, .page-shell--error .site-header {
	position: static; background: transparent;  /* [CS] live header element transparent, in-flow on these templates */
}
.page-shell--article .nav-link, .page-shell--author .nav-link,
.page-shell--category .nav-link, .page-shell--error .nav-link {
	color: rgb(21, 41, 91);                     /* [CS] solid nav color on boxed templates */
}
.post-single, .archive-header, .archive-list, .error-404 {
	max-width: 1200px; margin: 0 auto; padding: 80px 20px 60px; /* [BL] card offset below white header */
}
.post-single { display: flex; gap: 40px; }
.post-main { flex: 1 1 auto; min-width: 0; }
.post-card {
	background: #ffffff;                        /* [BL] boxed white content card */
	padding: 70px 88px 60px;                    /* [BL] card padding measured (image inset 88px) */
}
.post-featured { margin-bottom: 30px; }         /* [BL] image-to-title gap */
.post-featured img { width: 100%; height: auto; display: block; }
.post-nav { margin-top: 40px; }                 /* [BL] prev/next row below the card */
.post-nav a { text-decoration: none; color: rgba(1, 22, 39, 0.75); margin-right: 30px; }
.post-sidebar { flex: 0 0 300px; }              /* [BL] live sidebar column ~300px */
.post-title { font-size: 30px; font-weight: 400; line-height: 1.2; margin: 0 0 10px; } /* [CS] live post h1 30/400/36 m0 0 10 */
.post-meta { color: rgba(1, 22, 39, 0.75); }
.post-meta a { color: rgba(1, 22, 39, 0.75); text-decoration: none; }
.post-content img { height: auto; }
.post-content h3 { margin: 0 0 20px; }          /* [CS] live post-content h3 margin */
.sidebar-widget { margin-bottom: 40px; }
.sidebar-widget .widget-title {
	font-size: 21px; font-weight: 400;          /* [CS] .widget-title 21px/400 */
	line-height: 1.5;                           /* [CS] live 31.5/21 */
	color: rgba(1, 22, 39, 0.75);               /* [CS] live sidebar titles = body color */
	margin: 0 0 21px;                           /* [CS] */
}
.sidebar-widget ul { list-style: none; margin: 0; padding: 0; }
.sidebar-widget li { margin-bottom: 8px; }

/* ---------- archives ---------- */
.archive-header { padding-bottom: 0; }
.archive-title {
	font-size: 40px; font-weight: 300;          /* [CS] live archive h1 weight 300 */
	color: rgba(1, 22, 39, 0.75);               /* [CS] live archive h1 = body color */
	margin: 0 0 4px;                            /* [CS] */
}
.archive-list { padding-top: 40px; }
.archive-card {
	margin-bottom: 40px;                        /* [BL] card rhythm on archive pages */
	background: #ffffff;                        /* [BL] boxed white cards on gray */
	padding: 25px 25px 30px;                    /* [BL] uniform card inset (image inset matches text, live layout) */
}
.archive-card img { height: auto; max-width: 100%; width: 100%; display: block; margin-bottom: 25px; } /* [BL] thumb-to-title gap */
.archive-card h2 {
	font-size: 30px; font-weight: 400; line-height: 1.3; /* [CS] live card titles 30/400/39 */
	margin: 0 0 6px;                            /* [CS] live card h2 margin 0 0 6 */
}
.archive-card h2 a { color: #15295b; text-decoration: none; }
.archive-card p { margin: 0; }                  /* [CS] live card p margin 0 */
.archive-card a { color: rgba(1, 22, 39, 0.75); }

/* ---------- 404 ---------- */
.error-404 { text-align: center; }

/* ---------- footer ---------- */
.site-footer {
	background: rgb(10, 41, 65);                /* [CS] footer background-color */
	padding: 0 20px;                            /* [CS] footer padding; text colors set per element (live footer element inherits body color) */
}
.footer-columns {
	max-width: 1200px; margin: 0 auto;
	display: flex; gap: 30px;
	padding: 140px 0 60px;                      /* [BL] footer widget-area vertical rhythm measured in baseline */
}
.footer-column { flex: 1 1 0; min-width: 0; }
.footer-column:nth-child(5) { display: none; }  /* [BL] the 5th live widget area (duplicate icon block) is not visible in any baseline */
.footer-title {
	font-size: 21px; font-weight: 400;          /* [CS] .widget-title 21px/400 */
	line-height: 1.5;                           /* [CS] live 31.5/21 */
	color: rgba(255, 255, 255, 0.33);           /* [AI] widget h6 color */
	margin: 0 0 21px;                           /* [CS] live h2 margin 0 0 21px */
}
.footer-text { color: rgba(255, 255, 255, 0.65); } /* [AI] widget-1 inner */
.footer-menu { list-style: none; margin: 0; padding: 0; }
.footer-menu li { margin-bottom: 6px; }
.footer-menu a {
	color: rgba(255, 255, 255, 0.59);           /* [AI] footer widget link color */
	text-decoration: none;
	display: inline-block; padding: 2px 0; min-height: 24px; /* touch target (R105) */
}
.footer-menu a:hover { color: #ffffff; }
.social-links { list-style: none; display: flex; gap: 8px; margin: 15px 0 0; padding: 0; }
.social-link a {
	display: flex; align-items: center; justify-content: center;
	width: 32px; height: 32px; border-radius: 50%; /* [BL] 32px circular icons */
	color: #ffffff;
}
.social-link svg { fill: currentColor; width: 20px; height: 20px; }
.social-link--twitter a { background: #1da1f2; }    /* [WP] core twitter brand */
.social-link--instagram a { background: #f00075; }  /* [WP] core instagram brand */
.social-link--linkedin a { background: #0d66c2; }   /* [WP] core linkedin brand */
.footer-bottom {
	max-width: 1200px; margin: 0 auto;
	display: flex; justify-content: space-between;
	padding: 30px 0 60px;                       /* [BL] bottom-bar rhythm measured in baseline */
	color: rgba(255, 255, 255, 0.5);            /* [AI] live footer copyright color */
}

/* ---------- responsive ---------- */
@media (max-width: 992px) {                     /* [BB] builder medium breakpoint */
	.section--about-us-3 .col + .col .heading { font-size: 55px; } /* [BB about s3] mined medium step */
}
@media (max-width: 921px) {                     /* [AI] live theme default header breakpoint */
	.nav-toggle { display: block; }
	.site-nav { display: none; }
	body.nav-open .site-nav {
		display: block; position: absolute; top: 70px; left: 0; right: 0;
		background: #ffffff;                    /* [BL] nav-open baseline: white drawer */
		box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
	}
	body.nav-open .nav-menu { flex-direction: column; }
	body.nav-open .nav-link { line-height: 48px; display: block; }
	.site-header { position: absolute; }
	.section--home-1 h1 { font-size: 40px; }    /* [BL] mobile hero scale in 390px baseline */
	h1 { font-size: 32px; }
	.section--hero-base, .section--home-1, .section--home-3,
	.section--about-us-1, .section--services-1, .section--news-1,
	.section--contact-us-1, .section--careers-1 { background-attachment: scroll; } /* fixed bg unreliable on mobile */
}
@media (max-width: 768px) {                     /* [BB] responsive breakpoint: columns stack */
	.cols { flex-direction: column; }
	.col[style] { flex-basis: auto !important; width: 100% !important; }
	.section--home-3 .col + .col { padding-left: 0; }
	.section--about-us-3 .col + .col .heading { font-size: 45px; } /* [BB about s3] mined small step */
	.section--about-us-3 .col:first-child { text-align: center; }  /* [BB about s3] node 5c07be32939a1 centers at <=768 only */
	.section--contact-us-2 .col:first-child, .section--careers-2 .col:first-child { padding-right: 0; }
	.post-single { flex-direction: column; padding: 40px 20px; }
	.post-card { padding: 24px 20px; }          /* [BL] compact card inset at small widths */
	.archive-card { padding: 20px 20px 24px; }
	.post-sidebar { flex: 1 1 auto; }
	.footer-columns { flex-direction: column; gap: 10px; }
	.footer-bottom { flex-direction: column; text-align: center; gap: 6px; }
	.section-inner { padding: 30px 15px; }      /* [BB] small-breakpoint row padding 30px (CTA rows' mined small values; medium 75px rules collided in mining) */
	.section--home-5 .section-inner, .section--about-us-4 .section-inner,
	.section--services-5 .section-inner, .section--news-3 .section-inner { padding: 30px 15px; } /* [BB] CTA responsive 30/30 */
	.section--about-us-1 .section-inner, .section--services-1 .section-inner,
	.section--news-1 .section-inner, .section--contact-us-1 .section-inner,
	.section--careers-1 .section-inner { padding: 120px 15px 100px; } /* [BB] hero responsive 120/100 */
}

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