/**
 * PA-APPLY-LIVE-20261024: /apply rules copied from live pilotsassist.com (zz-pa-overrides.css, index-BuLW4GNA.css):
 * student stories cards, hero city fade, CTA button and booking section. Loaded via page 489 _pa_css.
 */
.pa-stories{padding: clamp(48px, 7vw, 96px) 16px;}
.pa-stories__in{max-width: 1180px; margin: 0 auto;}
.pa-stories__eyebrow{margin: 0 0 12px; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--pa-red-ink);}
.pa-stories__title{margin: 0 0 28px; font-size: clamp(28px, 4vw, 44px); line-height: 1.1; color: var(--pa-deep);}
.pa-stories__grid{display: grid; gap: 18px; grid-template-columns: repeat(3, 1fr); align-items: stretch;}
.pa-stories__card{display: flex; flex-direction: column; justify-content: space-between; gap: 20px; margin: 0; padding: 24px; border-radius: 18px; background: var(--pa-white, #fff); border: 1px solid color-mix(in srgb, var(--pa-blue, var(--ap-blue)) 14%, transparent);}
.pa-stories__card blockquote{margin: 0; padding: 0; border: 0; background: none; font-style: normal; quotes: none;}
.pa-stories__card blockquote p{margin: 0; font-size: 15px; line-height: 1.65; font-style: normal; color: var(--pa-ink, inherit);}
.pa-stories__card figcaption{display: flex; align-items: center; gap: 12px; padding-top: 16px; border-top: 2px solid var(--pa-blue, var(--ap-blue));}
.pa-stories__av{display: grid; place-items: center; flex: none; width: 42px; height: 42px; border-radius: 50%; background: var(--pa-blue, var(--ap-blue)); color: var(--pa-white, #fff); font-weight: 700; font-size: 18px;}
.pa-stories__card figcaption strong{display: block; font-size: 17px; color: var(--pa-deep);}
.pa-stories__card figcaption em{display: block; font-style: normal; font-size: 13px; color: color-mix(in srgb, var(--pa-deep) 70%, transparent);}
@media (max-width: 1000px){.pa-stories__grid{grid-template-columns: repeat(2, 1fr);}}
@media (max-width: 640px){.pa-stories__grid{grid-template-columns: 1fr;}}
.pa-ap-city{display: inline-block; transition: opacity .26s ease, transform .26s ease;}
.pa-ap-city[data-fade="1"]{opacity: 0; transform: translateY(8px);}
@media (prefers-reduced-motion: reduce){.pa-ap-city{transition: none;}}
.pa-ap-city-intro{padding: clamp(40px, 6vw, 72px) 0 8px;}
.pa-ap-city-intro__list{list-style: none; margin: 22px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px;}
.pa-ap-city-intro__list li{display: flex; flex-direction: column; gap: 8px; padding: 20px; background: #fff; border: 1px solid #e6e8f3; border-radius: 16px; box-shadow: 0 6px 18px rgba(11, 16, 51, .05);}
.pa-ap-city-intro__list b{font-size: 18px; color: var(--ap-ink);}
.pa-ap-city-intro__list span{font-size: 15px; line-height: 1.55; color: var(--ap-muted);}
.pa-ap-city-intro__more{margin: 20px 0 0; font-size: 14.5px; color: var(--ap-muted);}
.pa-ap-city-intro__more a{color: var(--ap-blue); font-weight: 600; text-decoration: underline; text-underline-offset: 3px;}
@media (max-width: 1000px){.pa-ap-city-intro__list{grid-template-columns: repeat(2, minmax(0, 1fr));}}
@media (max-width: 600px){.pa-ap-city-intro__list{grid-template-columns: 1fr;}}
/* PA-APPLY-LIVE: Elementor container reset for the pa-ecx structure (same rules as the other Elementor-built pages). */
.e-con.pa-ecx{--display:block !important;--gap:0px !important;--row-gap:0px !important;--column-gap:0px !important;--padding-top:0px !important;--padding-right:0px !important;--padding-bottom:0px !important;--padding-left:0px !important;--margin-top:0px !important;--margin-right:0px !important;--margin-bottom:0px !important;--margin-left:0px !important;--width:auto !important;--min-height:0 !important;--flex-wrap:nowrap !important;--flex-direction:row !important;--align-items:normal !important;--justify-content:normal !important;--align-content:normal !important;--flex-grow:0 !important;--flex-shrink:1 !important;--flex-basis:auto !important;--overflow:visible !important;--container-widget-width:auto !important;}
.e-con.pa-ecx>.elementor-widget,.e-con.pa-ecx>.elementor-widget>.elementor-widget-container{display:contents!important}
:where(.pa-ecx) .elementor-widget-image img{max-width:none;height:auto;border:0;border-radius:0;box-shadow:none;vertical-align:middle}
:where(.pa-ecx) .elementor-button{all:unset;box-sizing:border-box;cursor:pointer;font:inherit;color:inherit;display:inherit;align-items:inherit;justify-content:inherit;gap:inherit;width:100%;}
:where(.pa-ecx) .elementor-widget-button{display:contents}
:where(.pa-ecx) .elementor-button-content-wrapper,:where(.pa-ecx) .elementor-button-text{display:contents}
:where(.pa-ecx .elementor-heading-title){line-height:inherit;padding:0}
/* PA-APPLY-LIVE: live heading rules re-targeted to the Elementor heading widget's inner title (class sits on the widget wrapper). */
.pa-stories__title :is(h1,h2,h3,h4,h5,h6).elementor-heading-title{margin: 0 0 28px; font-size: clamp(28px, 4vw, 44px); line-height: 1.1; color: var(--pa-deep);}
.pa-ap-h1 :is(h1,h2,h3,h4,h5,h6).elementor-heading-title{margin: 0 0 18px; font-size: clamp(40px, 5.4vw, 68px); line-height: 1.02; font-weight: 800; letter-spacing: -.025em; color: var(--ap-ink);}
.pa-ap-h1 :is(h1,h2,h3,h4,h5,h6).elementor-heading-title .pa-ap-red{background: linear-gradient(transparent 70%, rgba(200,0,30,.14) 0);}
.pa-ap-h2 :is(h1,h2,h3,h4,h5,h6).elementor-heading-title{margin: 0 0 12px; font-size: clamp(28px, 3.4vw, 42px); line-height: 1.1; font-weight: 800; letter-spacing: -.02em;}
.pa-ap-cta .pa-ap-h2 :is(h1,h2,h3,h4,h5,h6).elementor-heading-title{color: #fff;}
@media (max-width: 700px){.pa-ap-h1 :is(h1,h2,h3,h4,h5,h6).elementor-heading-title{order: 2;}}
@media (max-width: 700px){.pa-ap-h1 :is(h1,h2,h3,h4,h5,h6).elementor-heading-title{font-size: 42px; margin-bottom: 12px;}}
html body.pa-apply-page .pa-ap-h1 :is(h1,h2,h3,h4,h5,h6).elementor-heading-title{font-family:var(--pa-display);font-weight:700;letter-spacing:-.04em;line-height:.98}
html body.pa-apply-page .pa-ap-h2 :is(h1,h2,h3,h4,h5,h6).elementor-heading-title{font-family:var(--pa-display);font-weight:600;letter-spacing:-.03em;line-height:1.05}
html body.pa-apply-page .pa-ap-cta .pa-ap-h2 :is(h1,h2,h3,h4,h5,h6).elementor-heading-title{color:#fff}
/* PA-APPLY-LIVE: live stacks the hero on phones (pa-apply.css @700px); Elementor's container flex-direction variable needs the same value. */
@media (max-width: 700px){.e-con.pa-ecx.pa-ap-hero__grid{--flex-direction:column !important}.pa-ap-hero__grid>.pa-ap-hero__copy>.elementor-widget>*{margin-left:0}}
/* PA-APPLY-LIVE 18:35 form parity with live /apply (page-only; live's Elementor frontend.min.css loads after pa-form.css) */
.pa-aplive-page #apply-form .pa-fx-form .elementor-field-type-submit .elementor-button.pa-fx-btn{min-height:47px}
.pa-aplive-page #apply-form .pa-fx-form .pa-fx-pills .elementor-field-subgroup .elementor-field-option label{display:inline}
.pa-aplive-page #apply-form .pa-fx-form .pa-fx-chips--photo img{border-radius:0}
.pa-aplive-page #apply-form .pa-fx-form .elementor-button .elementor-button-content-wrapper{display:flex}
.pa-aplive-page #apply-form .pa-fx-form .elementor-button .elementor-button-text{display:block}
.pa-aplive-page #apply-form .pa-fx-form .elementor-field-group .elementor-select-wrapper.pa-fx-hide{width:100%}
