/* Spacious reading layouts, with a different composition for each subject. */
.story-page{--story-soft:#f4f7f9;--story-blue:#eaf4fa}
.story-page .wrap{width:min(1160px,84%)}
.story-page .detail-hero{height:440px}
.story-page .detail-hero>.wrap{padding-top:246px}
.story-page .detail-hero h1{font-size:48px;letter-spacing:-1.5px}
.story-page .detail-hero p{margin-bottom:18px}
.story-page .detail-nav{position:sticky;top:0;z-index:5;box-shadow:0 3px 14px #19344b04}
.story-page .detail-nav>.wrap{min-height:76px}
.story-page .detail-nav nav{gap:34px}
.story-page .detail-nav nav a{padding:25px 0}
.story-section{padding:120px 0;scroll-margin-top:104px}
.story-section.soft{background:var(--story-soft)}
.story-heading{margin-bottom:64px;max-width:780px}
.story-heading .eyebrow{margin-bottom:27px;font-size:13px}
.story-heading h2{font-size:40px;line-height:1.5;letter-spacing:-1.4px;font-weight:600}
.story-lead{max-width:570px;margin-top:26px;color:var(--muted);font-size:15px;line-height:1.95}
.story-body,.story-copy{min-width:0}
.story-copy h3{font-size:26px;line-height:1.6;font-weight:500;letter-spacing:-.6px;margin:0 0 28px}
.story-copy>p{max-width:38em;font-size:16px;line-height:2;color:#626f79;margin:0 0 24px}
.story-copy>.note{font-size:13px}
.story-label{color:var(--accent-label);font-size:13px;font-weight:500}
.story-split{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,1fr);gap:90px;align-items:center}
.story-photo{margin:0;min-width:0}
.story-photo>img{width:100%;aspect-ratio:1.4;object-fit:cover;border-radius:10px}
.story-photo>figcaption{font-size:12px;color:#7b858d;line-height:1.8;margin-top:16px}
.story-rows{margin:32px 0;line-height:1.9}
.story-rows>div{display:grid;grid-template-columns:108px minmax(0,1fr);gap:28px;padding:23px 0;border-bottom:1px solid var(--line)}
.story-rows dt{font-size:14px;color:var(--navy);font-weight:500}
.story-rows dd{margin:0;color:#63717b;font-size:14px;word-break:keep-all;overflow-wrap:anywhere}
.story-rows a:hover{text-decoration:underline}
.story-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:25px;margin:36px 0 0;padding-top:27px;border-top:1px solid var(--line)}
.story-facts dt{font-size:12px;color:var(--muted);margin-bottom:12px}
.story-facts dd{font-size:22px;font-weight:600;color:var(--navy);margin:0;letter-spacing:-.4px;line-height:1.6}
/* About opens with a quiet statement, then an offset photographic pair. */
.story-introduction>.wrap,.story-experience>.wrap{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:64px 100px;align-items:start}
.story-introduction .story-heading,.story-experience .story-heading{margin:0}
.story-introduction .story-body,.story-experience .story-body{display:contents}
.about-intro-copy{padding-top:7px}
.about-intro-copy>.story-label{display:block;margin-bottom:26px}
.about-intro-copy>p{font-size:17px}
.about-photo-pair{grid-column:1/-1;display:grid;grid-template-columns:1.4fr 1fr;gap:45px;margin-top:14px;align-items:start}
.about-photo-pair>.story-photo:first-child img{aspect-ratio:1.22}
.about-photo-pair>.story-photo:last-child{margin-top:82px}
.about-photo-pair>.story-photo:last-child img{aspect-ratio:1.1}
.instructor-layout{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.15fr);gap:90px;align-items:start}
.instructor-intro{max-width:410px}
.instructor-intro>p{font-size:14px;color:#6f7b84;line-height:1.9;margin:24px 0 22px}
.instructor-portraits{margin:0;background:#ededed;border-radius:10px;padding:26px 28px 20px}
.portrait-window{position:relative;aspect-ratio:280/180;overflow:hidden}
.portrait-window img{position:absolute;width:302.857%;max-width:none;height:auto;left:-100.357%;top:-341.667%}
.instructor-portraits figcaption{text-align:center;color:#66717b;font-size:12px;margin-top:12px}
.instructor-profiles{border-top:1px solid #b6c9d6}
.instructor-profiles article{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px 25px;padding:35px 0 40px;border-bottom:1px solid #d2dfe7}
.instructor-profiles h3{font-size:24px;line-height:1.55;font-weight:500;margin:13px 0 0;letter-spacing:-.6px}
.flight-hours{font-size:43px;line-height:1.3;font-weight:600;letter-spacing:-1.5px;color:var(--navy);font-variant-numeric:tabular-nums;align-self:end;text-align:right}
.flight-hours small{display:block;font-size:12px;letter-spacing:0;color:#63717b;font-weight:400;margin-top:5px}
.instructor-profiles p{grid-column:1/-1;font-size:15px;color:#63717b;line-height:2;max-width:520px;margin:0}
/* Side headings establish a stable left edge for longer information. */
.page-about .story-aircraft>.wrap,.story-theory>.wrap,.story-before-visit>.wrap,.story-faq>.wrap{display:grid;grid-template-columns:minmax(240px,.7fr) minmax(0,1.5fr);gap:95px;align-items:start}
.page-about .story-aircraft .story-heading,.story-theory .story-heading,.story-before-visit .story-heading,.story-faq .story-heading{margin:0;position:sticky;top:126px}
.page-about .story-aircraft .story-heading h2,.story-theory .story-heading h2,.story-before-visit .story-heading h2,.story-faq .story-heading h2{font-size:33px}
.aircraft-story .story-photo>img{aspect-ratio:1.65}
.aircraft-story .story-copy{margin-top:48px}
/* Flight separates the visual introduction from the four comparable fares. */
.flight-intro-copy>p{font-size:17px;color:#63717b;line-height:2;margin:0 0 26px}
.flight-panorama{grid-column:1/-1;margin-top:8px}
.flight-panorama>img{aspect-ratio:2.3}
.course-comparison{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 76px;scroll-margin-top:112px}
.course-comparison article{padding:38px 0 42px;border-top:1px solid #c6d5df;display:flex;flex-direction:column}
.course-meta{display:flex;justify-content:space-between;align-items:center;gap:15px;font-size:12px;color:#70808c}
.course-meta>span:first-child{color:var(--accent-label);font-size:15px;font-weight:500}
.course-comparison h3{font-size:29px;line-height:1.5;font-weight:500;letter-spacing:-.8px;margin:23px 0 20px}
.course-comparison p{font-size:15px;color:#63717b;line-height:2;max-width:440px;margin-bottom:29px}
.course-fare{display:flex;align-items:baseline;gap:13px;margin-top:auto}
.course-fare strong{font-size:29px;color:var(--navy);font-weight:600;letter-spacing:-.8px}
.course-fare>span{font-size:12px;color:#7d8790}
.course-comparison-note{border-top:1px solid #c6d5df;padding-top:25px;color:#78828b;font-size:13px;line-height:1.9}
.boarding-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:90px;align-items:start}
.boarding-layout .story-photo>img{aspect-ratio:1.15}
.story-steps{margin:0;padding:0;list-style:none;counter-reset:journey}
.story-steps li{position:relative;counter-increment:journey;padding:0 0 37px 56px;min-height:110px}
.story-steps li:before{content:counter(journey,decimal-leading-zero);position:absolute;left:0;top:0;font-size:17px;color:var(--accent);font-weight:500}
.story-steps li:not(:last-child):after{content:'';position:absolute;left:11px;top:36px;bottom:11px;width:1px;background:#d2e1ea}
.story-steps li:last-child{padding-bottom:0}
.story-steps h3{font-size:21px;line-height:1.5;font-weight:500;margin:0 0 14px}
.story-steps p{font-size:15px;color:#63717b;line-height:2}
.gentle-note{padding:29px 34px;background:var(--story-blue);border-radius:10px;margin-top:48px}
.gentle-note strong{font-size:17px;font-weight:500;line-height:1.7}
.gentle-note p{font-size:14px;color:#63717b;margin:12px 0 0;line-height:1.95}
.gentle-note>a{font-size:14px;color:var(--accent-label);display:inline-block;margin-top:19px}
.story-cta{padding:64px 0;background:var(--story-blue)}
.story-cta>.wrap{display:flex;align-items:center;justify-content:space-between;gap:50px}
.story-cta h2{font-size:27px;font-weight:500;letter-spacing:-.7px}
.story-cta p{font-size:14px;color:#63717b;margin-top:15px}
.story-cta .button-solid{white-space:nowrap;flex-shrink:0;padding:16px 25px}
.story-cta .button-solid span{margin-left:22px;color:var(--accent-warm)}
/* Education moves from a course overview to clear, spacious learning blocks. */
.education-tabs{padding-top:60px;scroll-margin-top:105px}
.education-tabs>.wrap>.tabs{margin:0;gap:46px}
.education-tabs [role=tabpanel]>.story-section:first-child{padding-top:80px}
.story-aptitude-intro .story-split,.story-training-intro .story-split{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);gap:90px}
.story-aptitude-intro .story-photo>img,.story-training-intro .story-photo>img{aspect-ratio:1.04}
.story-aptitude-intro .story-facts,.story-training-intro .story-facts{margin-top:36px;margin-bottom:22px}
.editorial-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:54px}
.editorial-list article{padding-top:30px;border-top:1px solid #b9d3e4}
.editorial-list h3{font-size:23px;font-weight:500;line-height:1.7;margin:0 0 23px;letter-spacing:-.6px}
.editorial-list p{font-size:15px;color:#63717b;line-height:2}
.subject-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:38px 48px}
.subject-grid article{border-top:1px solid #bdced9;padding:25px 0 4px;min-width:0}
.subject-grid article>span{font-size:13px;color:var(--accent-label)}
.subject-grid h3{font-size:24px;line-height:1.6;font-weight:500;margin:19px 0}
.subject-grid p{font-size:15px;line-height:2;color:#63717b}
.practice-layout{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:95px;align-items:start}
.practice-layout .story-photo{position:sticky;top:126px}
.practice-layout .story-photo img{aspect-ratio:1.1;object-position:55% 50%}
.practice-layout .story-rows{margin-top:0}
.practice-layout .story-rows>div:first-child{padding-top:0}
.practice-layout .gentle-note{padding:30px}
.story-training-start .story-steps,.story-arrival .story-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:64px}
.story-training-start .story-steps li,.story-arrival .story-steps li{padding:58px 0 0;min-height:0;border-top:1px solid #cbdde7}
.story-training-start .story-steps li:before,.story-arrival .story-steps li:before{top:22px}
.story-training-start .story-steps li:after,.story-arrival .story-steps li:after{display:none}
/* Guide is a compact introduction followed by a comfortable question column. */
.story-reservation .story-split{align-items:start;grid-template-columns:1.12fr 1fr}
.story-reservation .story-photo>img{aspect-ratio:1.03}
.story-reservation .story-copy>.button-solid{margin-top:8px}
.story-before-visit .editorial-list{grid-template-columns:1fr;gap:35px}
.story-before-visit .editorial-list article{padding-top:26px}
.story-before-visit .editorial-list p{max-width:580px}
.story-page .detail-faq details{padding:29px 0}
.story-page .detail-faq details:first-child{padding-top:0}
.story-page .detail-faq summary{font-size:18px;font-weight:500;line-height:1.7;padding-right:35px}
.story-page .detail-faq details p{font-size:15px;line-height:2;padding-top:20px;max-width:620px}
.faq-contact{font-size:14px;color:#737f89;margin-top:32px}
.faq-contact a{color:var(--accent-label)}
/* Visit places the address and contact information underneath one wide photograph. */
.arrival-layout>.story-photo>img{aspect-ratio:2.3}
.arrival-card{display:grid;grid-template-columns:1fr 1fr;gap:90px;padding:52px 0 0}
.arrival-address h3{font-size:30px;line-height:1.7;font-weight:500;margin:20px 0 18px;letter-spacing:-.8px}
.arrival-address p{font-size:14px;color:#78838c;margin-bottom:24px}
.arrival-card .story-rows{margin:0}
.arrival-card .story-rows>div:first-child{padding-top:4px}
.story-nearby .story-split{grid-template-columns:1.1fr 1fr}
.story-nearby .story-photo>img{aspect-ratio:1.15}
/* Gallery uses large images and staggered pairs rather than small repeated tiles. */
.page-gallery .story-heading{margin-bottom:60px}
.gallery-editorial{display:grid;grid-template-columns:1fr 1.2fr;gap:64px 70px;align-items:start}
.gallery-editorial .gallery-wide{grid-column:1/-1}
.gallery-editorial .gallery-wide img{aspect-ratio:2.1}
.gallery-editorial>figure:not(.gallery-wide) img{aspect-ratio:1.2}
.gallery-editorial>figure:nth-child(2):not(.gallery-wide){margin-top:64px}
@media(max-width:1100px){
 .story-section{padding:96px 0}
 .story-heading{margin-bottom:50px}
 .story-heading h2{font-size:36px}
 .story-split,.boarding-layout,.practice-layout,.story-aptitude-intro .story-split,.story-training-intro .story-split{gap:48px}
 .story-introduction>.wrap,.story-experience>.wrap{gap:52px 55px}
 .instructor-layout{gap:55px;grid-template-columns:.8fr 1.2fr}
 .instructor-profiles h3{font-size:21px}
 .flight-hours{font-size:35px}
 .page-about .story-aircraft>.wrap,.story-theory>.wrap,.story-before-visit>.wrap,.story-faq>.wrap{gap:50px;grid-template-columns:minmax(220px,.7fr) minmax(0,1.3fr)}
 .page-about .story-aircraft .story-heading h2,.story-theory .story-heading h2,.story-before-visit .story-heading h2,.story-faq .story-heading h2{font-size:29px}
 .story-facts{gap:18px}.story-facts dd{font-size:20px}
 .course-comparison{gap:0 50px}
 .editorial-list{gap:32px}
 .subject-grid{gap:30px}
 .arrival-card{gap:50px}
 .gallery-editorial{gap:48px}
}
@media(max-width:900px){
 .page-about .story-aircraft>.wrap,.story-theory>.wrap,.story-before-visit>.wrap,.story-faq>.wrap{grid-template-columns:1fr;gap:42px}
 .page-about .story-aircraft .story-heading,.story-theory .story-heading,.story-before-visit .story-heading,.story-faq .story-heading{position:static}
 .page-about .story-aircraft .story-heading h2,.story-theory .story-heading h2,.story-before-visit .story-heading h2,.story-faq .story-heading h2{font-size:36px}
 .aircraft-story{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
 .aircraft-story .story-copy{margin:0}
 .aircraft-story .story-photo>img{aspect-ratio:1.05}
 .instructor-layout{grid-template-columns:1fr;gap:46px}
 .instructor-intro{max-width:none;display:grid;grid-template-columns:1fr 1fr;gap:0 36px;align-items:center}
 .instructor-portraits{grid-row:1/3}
 .instructor-intro>p{align-self:end;margin:0 0 20px}
 .instructor-intro>.text-link{align-self:start;justify-self:start}
 .instructor-profiles{display:grid;grid-template-columns:1fr 1fr;gap:36px}
 .instructor-profiles article{grid-template-columns:1fr;gap:20px}
 .flight-hours{text-align:left}
 .flight-hours small{display:inline;margin-left:5px}
 .subject-grid{gap:40px}
}
@media(max-width:760px){
 .story-page .wrap{width:88%}
 .story-page .detail-hero{height:340px}
 .story-page .detail-hero>.wrap{padding-top:198px}
 .story-page .detail-hero h1{font-size:34px}
 .story-page .detail-hero p{font-size:12px;margin-bottom:14px}
 .story-page .detail-nav>.wrap{min-height:0}
 .story-page .detail-nav nav{gap:26px}
 .story-page .detail-nav nav a{padding:15px 0 17px}
 .story-section{padding:72px 0;scroll-margin-top:135px}
 .story-heading,.page-gallery .story-heading{margin-bottom:38px}
 .story-heading .eyebrow{margin-bottom:22px}
 .story-heading h2,.page-about .story-aircraft .story-heading h2,.story-theory .story-heading h2,.story-before-visit .story-heading h2,.story-faq .story-heading h2{font-size:30px;line-height:1.55;letter-spacing:-1px}
 .story-lead{font-size:14px;margin-top:22px}
 .story-split,.boarding-layout,.practice-layout,.aircraft-story,.story-aptitude-intro .story-split,.story-training-intro .story-split,.story-reservation .story-split,.story-nearby .story-split{grid-template-columns:1fr;gap:34px}
 .story-copy h3{font-size:23px;margin-bottom:22px}
 .story-copy>p{font-size:15px}
 .story-photo>figcaption{font-size:11px;margin-top:13px}
 .story-photo>img{aspect-ratio:1.35}
 .story-rows>div{padding:21px 0;grid-template-columns:90px 1fr;gap:18px}
 .story-rows dt,.story-rows dd{font-size:13px}
 .story-introduction>.wrap,.story-experience>.wrap{grid-template-columns:1fr;gap:30px}
 .about-intro-copy{padding:0}
 .about-intro-copy>.story-label{margin-bottom:22px}
 .about-photo-pair{gap:19px;grid-template-columns:1.15fr 1fr;margin-top:7px}
 .about-photo-pair>.story-photo:last-child{margin-top:45px}
 .about-photo-pair>.story-photo:first-child img,.about-photo-pair>.story-photo:last-child img{aspect-ratio:.9}
 .instructor-intro{display:block}
 .instructor-portraits{max-width:420px;padding:25px 28px 20px}
 .instructor-intro>p{margin:24px 0 22px}
 .instructor-layout{gap:38px}
 .instructor-profiles{display:block}
 .instructor-profiles article{grid-template-columns:1fr auto;gap:22px;padding:30px 0}
 .instructor-profiles h3{font-size:20px}
 .flight-hours{font-size:31px;text-align:right}
 .flight-hours small{display:block;margin:6px 0 0}
 .instructor-profiles p{font-size:14px}
 .aircraft-story .story-photo>img{aspect-ratio:1.4}
 .aircraft-story .story-copy{margin:0}
 .flight-intro-copy>p{font-size:15px}
 .flight-panorama{margin-top:12px}
 .flight-panorama>img{aspect-ratio:1.4}
 .story-facts{gap:18px 15px;margin-top:28px;padding-top:23px}
 .story-facts dd{font-size:18px}
 .story-facts dt{font-size:11px;margin-bottom:9px}
 .course-comparison{grid-template-columns:1fr;gap:0;scroll-margin-top:135px}
 .course-comparison article{padding:28px 0 34px}
 .course-comparison h3{font-size:27px;margin:20px 0 17px}
 .course-comparison p{font-size:14px;margin-bottom:24px}
 .course-fare strong{font-size:27px}
 .course-comparison-note{font-size:12px;line-height:2}
 .boarding-layout .story-photo>img{aspect-ratio:1.4}
 .story-steps li{padding-left:43px;padding-bottom:34px}
 .story-steps h3{font-size:20px}
 .story-steps p{font-size:14px}
 .gentle-note{padding:26px;margin-top:34px}
 .gentle-note strong{font-size:16px}
 .gentle-note p{font-size:13px}
 .story-cta{padding:44px 0}
 .story-cta>.wrap{display:block}
 .story-cta h2{font-size:24px}
 .story-cta .button-solid{margin-top:28px}
 .education-tabs{padding-top:37px;scroll-margin-top:135px}
 .education-tabs>.wrap>.tabs{justify-content:flex-start;gap:30px;overflow-x:auto;white-space:nowrap}
 .education-tabs>.wrap>.tabs button{flex-shrink:0}
 .education-tabs [role=tabpanel]>.story-section:first-child{padding-top:48px}
 .story-aptitude-intro .story-photo>img,.story-training-intro .story-photo>img{aspect-ratio:1.25}
 .editorial-list{grid-template-columns:1fr;gap:34px}
 .editorial-list article{padding-top:25px}
 .editorial-list h3{font-size:21px;margin-bottom:17px}
 .editorial-list p{font-size:14px}
 .subject-grid{gap:32px 24px}
 .subject-grid h3{font-size:21px;margin:15px 0}
 .subject-grid p{font-size:14px}
 .practice-layout .story-photo{position:static}
 .practice-layout .story-photo img{aspect-ratio:1.4}
 .practice-layout .gentle-note{padding:26px}
 .story-training-start .story-steps,.story-arrival .story-steps{grid-template-columns:1fr;gap:28px}
 .story-training-start .story-steps li,.story-arrival .story-steps li{padding:50px 0 0}
 .story-training-start .story-steps li:before,.story-arrival .story-steps li:before{top:18px}
 .story-reservation .story-photo>img{aspect-ratio:1.3}
 .story-page .detail-faq summary{font-size:17px}
 .story-page .detail-faq details{padding:25px 0}
 .story-page .detail-faq details p{font-size:14px}
 .faq-contact{font-size:13px}
 .arrival-layout>.story-photo>img{aspect-ratio:1.4}
 .arrival-card{grid-template-columns:1fr;gap:38px;padding-top:35px}
 .arrival-address h3{font-size:26px;margin:18px 0}
 .arrival-card .story-rows{margin:0}
 .story-nearby .story-photo>img{aspect-ratio:1.3}
 .gallery-editorial{gap:34px 18px;grid-template-columns:1fr 1fr}
 .gallery-editorial .gallery-wide img{aspect-ratio:1.4}
 .gallery-editorial>figure:not(.gallery-wide) img{aspect-ratio:1}
 .gallery-editorial>figure:nth-child(2):not(.gallery-wide){margin-top:34px}
}
@media(max-width:380px){
 .instructor-profiles article{grid-template-columns:1fr}
 .flight-hours{text-align:left}.flight-hours small{display:inline;margin-left:5px}
 .subject-grid{grid-template-columns:1fr}
 .story-facts{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}
 .gallery-editorial{grid-template-columns:1fr}
 .gallery-editorial>figure:nth-child(2):not(.gallery-wide){margin-top:0}
}

/* Recent uploads retain the original composition and remain on this page only. */
.gallery-uploads{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:42px 32px}
.gallery-upload{margin:0;min-width:0}
.gallery-upload-wide{grid-column:1/-1}
.gallery-upload>a{display:block;border-radius:10px;overflow:hidden}
.gallery-upload img{display:block;width:100%;height:auto}
.gallery-upload figcaption{display:flex;justify-content:space-between;align-items:baseline;gap:20px;font-size:12px;color:#6b7c88;line-height:1.8;margin-top:15px}
.gallery-upload figcaption a{flex:none;color:var(--accent-label);font-size:12px}
.gallery-upload figcaption a:hover{text-decoration:underline}
@media(max-width:760px){.gallery-uploads{grid-template-columns:1fr;gap:30px}.gallery-upload figcaption{font-size:11px;gap:12px;margin-top:12px}.gallery-upload figcaption a{font-size:11px}}
