/* Responsive refinement shared by the source and the Hostinger HTML export. */
:root { --blue: #3765ae; }
.shell { width: min(1240px, calc(100% - 80px)); }
h1, h2, h3 { text-wrap: pretty; }
.section, .statement, .pilot-reality, .pilot-roadmap, .pilot-choice,
.pilot-decisions, .after-sale { padding-block: 88px; }
.content-hero { padding-block: 88px 72px; }
.hero-overlay-copy h1 { font-size: clamp(54px, 5.5vw, 80px); line-height: 1.06; letter-spacing: -.045em; }
.content-hero h1, .formation-hero h1, .pilot-hero-copy h1,
.learning-hero-copy h1 { font-size: clamp(48px, 5.2vw, 72px); line-height: 1.08; letter-spacing: -.045em; margin: 0 0 24px; }
.statement h2, .section-heading h2, .story h2, .final-cta h2,
.services-intro h2, .pilot-section-heading h2, .pilot-truth h2,
.formation-offer-heading h2, .after-sale-heading h2, .formation-faq h2,
.learning-catalogue-heading h2, .learning-fcl h2, .learning-final h2 {
  font-size: clamp(36px, 3.8vw, 52px); line-height: 1.12;
  letter-spacing: -.035em; margin: 0 0 24px;
}
.eyebrow, .learning-kicker, .learning-section-index { font-size: 13px; letter-spacing: .12em; margin-bottom: 20px; }
.section-heading { margin-bottom: 40px; }
.section-heading h2 { margin-bottom: 0; }
.button { min-height: 52px; height: auto; padding-block: 12px; line-height: 1.4; flex-shrink: 0; }
.button span { flex-shrink: 0; }
.actions { margin-top: 24px; }
.final-cta { padding: 48px; gap: 32px; margin-block: 32px 80px; align-items: center; flex-wrap: wrap; }
.final-cta > div { flex: 1 1 560px; min-width: 0; }
.final-cta > .button { white-space: nowrap; }
.final-cta h2 { margin-bottom: 18px; }
.two-col-copy { gap: 64px; padding-top: 36px; }
.two-col-copy h3 { font-size: 30px; line-height: 1.2; margin-bottom: 0; }
.two-col-copy p { margin-bottom: 0; }
.flightpath { margin: 48px 0 56px; }
.services-intro { gap: 56px; margin-bottom: 48px; }
.service-pills span { height: 100px; font-size: 18px; }
.service-visual { height: 240px; margin-bottom: 24px; }
.service-card h3 { font-size: 24px; line-height: 1.25; }
.service-card p { color: #4d5e73; }
/* Retain the original glyph and accessible label; point it toward navigation. */
.service-card > a { transform: rotate(-90deg); border-width: 2px; }
.route-point small { font-size: 14px; color: #4d5e73; line-height: 1.5; }
.route-illustration { height: 330px; padding-inline: 24px; }
.story-grid { gap: 56px; grid-template-columns: 1fr 1fr; }
.story-media { border-radius: 24px; aspect-ratio: 16 / 10; background: #10223d; }
.story-media video { object-fit: contain; display: block; }
.story-copy h2 { margin-bottom: 24px; }
.hero-shade { background: linear-gradient(180deg, rgba(4,13,26,.38), rgba(4,13,26,.42) 35%, rgba(4,13,26,.82)); }
.audience-card { min-height: 280px; padding: 28px; }
.audience-card h3 { font-size: 28px; line-height: 1.25; margin: 40px 0 16px; }
.audience-card p { min-height: 0; margin-bottom: 0; }
.audience-card b { margin-top: auto; padding-top: 24px; line-height: 1.5; }
.content-intro { padding-block: 48px; }
.content-intro p { font-size: 24px; line-height: 1.5; letter-spacing: -.015em; max-width: 900px; }
.content-card { min-height: 240px; padding: 28px; }
.content-card h2 { margin: 28px 0 16px; line-height: 1.25; }
.content-card p { color: #4d5e73; margin-bottom: 0; }
.formation-hero, .pilot-hero { min-height: 0; padding: 80px 0 72px; gap: 56px; }
.formation-hero-side { margin-top: 24px; }
.formation-hero-graphic { height: 480px; }
.pilot-hero-media { height: 460px; }
.formation-hero-side p, .pilot-hero-copy > p:not(.eyebrow) { font-size: 18px; }
.formation-hero .button { margin-top: 12px; }
.journey-section { padding-bottom: 80px; }
.sales-journey-mosaic .journey-main-card { min-height: 440px; }
.sales-journey-mosaic article:not(.journey-main-card), .sales-journey-mosaic article:nth-child(4) { height: auto; min-height: 300px; padding: 28px; }
.sales-journey-mosaic article:not(.journey-main-card) .journey-card-copy { margin-top: 40px; }
.sales-journey-mosaic article .journey-card-copy h3 { font-size: 30px; line-height: 1.15; min-height: 0; }
.sales-journey-mosaic article .journey-card-copy p { min-height: 0; opacity: 1; }
.journey-main-card .journey-card-copy h3 { font-size: 40px !important; }
.journey-shade { background: linear-gradient(180deg, rgba(8,24,40,.12), rgba(8,24,40,.86)); }
.pricing-note { text-align: left; max-width: 1000px; line-height: 1.6; }
.price-card.featured { transform: none; }
.price-card { min-height: 0; padding: 28px; }
.price-cta { margin-top: auto; padding-top: 24px; }
.price-card .offer-list { margin-bottom: 24px; }
.after-sale-mosaic { grid-template-columns: repeat(2, minmax(0,1fr)); grid-template-rows: none; }
.after-sale-mosaic article { grid-column: auto; grid-row: auto; min-height: 280px; padding: 28px; display: flex; flex-direction: column; }
.after-sale-photo { height: auto; }
.after-sale-photo img { position: absolute; inset: 0; }
.after-sale-mosaic .after-sale-badge { position: relative; top: auto; left: auto; align-self: flex-start; }
.after-sale-photo > div:last-child, .after-sale-card > div { position: relative; inset: auto; transform: none; margin-top: auto; padding-top: 36px; }
.after-sale-start > div { top: auto; transform: none; }
.after-sale-mosaic h3, .after-sale-start h3 { font-size: 28px; line-height: 1.2; }
.after-sale-card p { opacity: 1; }
.formation-faq { padding-block: 80px; gap: 64px; }
.formation-faq summary { font-size: 18px; line-height: 1.5; }
.reality-grid article { min-height: 240px; }
.reality-grid h3 { font-size: 24px; line-height: 1.25; margin: 32px 0 16px; }
.reality-grid p { color: #4d5e73; }
.roadmap-track { grid-template-columns: repeat(4,minmax(0,1fr)); gap: 36px 24px; overflow: visible; padding: 12px 0 0; }
.roadmap-track article { min-height: 0; padding-right: 0; }
.roadmap-track article:before { right: -24px; }
.roadmap-track article:nth-child(4n):before { display: none; }
.roadmap-track h3 { font-size: 22px; line-height: 1.25; }
.roadmap-track p { max-width: none; font-size: 16px; margin-bottom: 0; }
.learning-hero { min-height: 0; padding: 80px 0; gap: 72px; align-items: center; }
.learning-hero-copy { position: static; padding-top: 0; }
.learning-hero-copy > p:not(.learning-kicker) { font-size: 18px; margin-bottom: 24px; }
.learning-phone { position: relative; top: auto; height: 580px; width: min(100%,320px); animation: none; }
.learning-phone-screen { height: 488px; }
.learning-phone-reel { animation: none; }
.learning-phone-screen .learning-phone-reel img { height: 225px; flex-basis: 225px; }
.learning-catalogue { padding-block: 64px 88px; }
.learning-catalogue-heading { margin-bottom: 40px; gap: 48px; }
.learning-offer, .learning-offer:first-child { min-height: 0; }
.learning-product-visual { height: 220px; }
.learning-product-visual strong { font-size: clamp(44px,5vw,68px); line-height: 1; }
.learning-product-copy { padding-block: 24px; flex: 1; }
.learning-offer p { opacity: 1; color: #4d5e73; }
.learning-offer-bottom strong, .learning-offer-bottom span { white-space: nowrap; }
.learning-offer-bottom span { min-height: 48px; }
.learning-fcl, .learning-final { padding: 48px; gap: 48px; margin-bottom: 80px; }
.learning-fcl-british { min-height: 440px; }
.learning-fcl-british blockquote { position: relative; z-index: 1; font-size: 40px; margin-block: 32px; }
.learning-fcl-british:after { height: 20%; bottom: -8%; }
.learning-fcl-british small { font-size: 13px; }
.learning-final h2 { margin-block: 24px 32px; }
.footer-grid { gap: 40px; }
.footer-grid > div { font-size: 15px; }
.footer-bottom { font-size: 14px; line-height: 1.5; }
a:focus-visible, summary:focus-visible { outline: 3px solid #8cb6f1; outline-offset: 5px; }
@media (min-width:701px) and (max-width:1050px) {
  .mobile-menu { display: block; margin-left: auto; position: relative; }
  .mobile-menu summary { cursor: pointer; list-style: none; padding: 12px; }
  .mobile-menu nav { position: absolute; right: 0; top: 48px; width: 230px; padding: 16px; background: #fff; color: var(--ink); border-radius: 18px; box-shadow: 0 12px 36px #10223d33; display: flex; flex-direction: column; }
  .mobile-menu nav a { padding: 12px; }
  .story-grid { grid-template-columns: 1fr; }
  .roadmap-track { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .roadmap-track article:nth-child(2n):before { display: none; }
}
@media (max-width:700px) {
  .shell { width: calc(100% - 40px); }
  .site-header { padding-inline: 14px; gap: 12px; }
  .site-header.header-retracted { width: calc(100% - 40px); }
  .mobile-menu summary { padding: 12px 0 12px 12px; font-size: 14px; }
  .mobile-menu nav { padding: 8px; gap: 0; top: 44px; max-width: calc(100vw - 40px); }
  .mobile-menu nav a { padding: 12px; min-height: 48px; }
  .hero-stage { height: auto; min-height: max(680px,100svh); }
  .hero-overlay-copy { min-height: max(680px,100svh); height: auto; justify-content: center; padding-block: 130px 64px; }
  .hero-overlay-copy h1 { font-size: clamp(34px,9.5vw,42px); line-height: 1.1; }
  .hero-overlay-copy .actions { margin-top: 24px; }
  .hero-overlay-copy .button { width: 100%; max-width: 360px; }
  .section, .statement, .pilot-reality, .pilot-roadmap, .pilot-choice, .pilot-decisions, .after-sale { padding-block: 56px; }
  .content-hero, .formation-hero, .pilot-hero { padding-block: 56px; gap: 32px; }
  .content-hero h1, .formation-hero h1, .pilot-hero-copy h1, .learning-hero-copy h1 { font-size: clamp(30px,8.4vw,40px); line-height: 1.12; overflow-wrap: normal; word-break: normal; hyphens: none; }
  .statement h2, .section-heading h2, .story h2, .final-cta h2, .services-intro h2,
  .pilot-section-heading h2, .pilot-truth h2, .formation-offer-heading h2,
  .after-sale-heading h2, .formation-faq h2, .learning-catalogue-heading h2,
  .learning-fcl h2, .learning-final h2 { font-size: clamp(28px,7.7vw,34px); line-height: 1.18; }
  .content-hero > p:not(.eyebrow), .formation-hero-side p { font-size: 17px; }
  .eyebrow, .learning-kicker, .learning-section-index { font-size: 12px; line-height: 1.6; }
  .section-heading, .services-intro { margin-bottom: 32px; }
  .two-col-copy { gap: 20px; padding-top: 28px; }
  .two-col-copy h3 { font-size: 26px; }
  .two-col-copy p, .story-copy p:not(.eyebrow) { font-size: 17px; }
  .text-link { gap: 12px; line-height: 1.5; }
  .text-link span { flex-shrink: 0; }
  .flightpath { margin-block: 32px; row-gap: 28px; }
  .route-illustration { height: auto; padding: 64px 16px 28px; gap: 32px 14px; }
  .route-point small { font-size: 14px; }
  .route-point strong { line-height: 1.4; }
  .route-point > span { right: calc(50% - 52px); }
  .service-pills span { height: 70px; }
  .service-cards { gap: 36px; }
  .service-visual { height: 200px; margin-bottom: 20px; }
  .story-grid { grid-template-columns: 1fr; gap: 32px; }
  .story-media { aspect-ratio: 16 / 10; border-radius: 20px; }
  .audience-card { min-height: 0; padding: 24px; }
  .audience-card h3 { font-size: 25px; margin-top: 24px; }
  .final-cta { padding: 28px 24px; gap: 28px; margin-block: 24px 56px; }
  .final-cta > div { flex: 0 1 auto; }
  .final-cta > .button { width: 100%; white-space: normal; }
  .content-intro { padding-block: 32px; }
  .content-intro p { font-size: 20px; }
  .content-card { min-height: 0; padding: 24px; }
  .content-card h2 { font-size: 24px; margin-top: 24px; }
  .formation-hero { grid-template-columns: 1fr; }
  .formation-hero-graphic { height: 330px; }
  .pilot-tech { top: 47%; transform: translate(-50%,-50%) scale(.65); }
  .pilot-tech-graphic > p { right: auto; left: 16px; bottom: 12px; font-size: 10px; }
  .pilot-data { font-size: 10px; }
  .pilot-hero-media { height: 280px; }
  .journey-section { padding: 16px 0 56px; }
  .sales-journey-mosaic .journey-main-card { min-height: 360px; }
  .sales-journey-mosaic article:not(.journey-main-card), .sales-journey-mosaic article:nth-child(4) { min-height: 0; padding: 24px; }
  .sales-journey-mosaic article:not(.journey-main-card) .journey-card-copy { margin-top: 28px; }
  .sales-journey-mosaic article .journey-card-copy h3 { font-size: 26px; }
  .journey-main-card .journey-card-copy h3 { font-size: 30px !important; }
  .journey-badge, .after-sale-badge { font-size: 11px; line-height: 1.5; }
  .after-sale-mosaic article { min-height: 0; padding: 24px; border-radius: 22px; }
  .after-sale-photo { height: auto; min-height: 340px !important; }
  .after-sale-mosaic h3, .after-sale-start h3 { font-size: 26px; }
  .after-sale-mosaic p { font-size: 16px; }
  .after-sale-heading { margin-bottom: 32px; }
  .price-card { padding: 24px; }
  .pricing-note { padding-inline: 0; font-size: 14px; }
  .reality-grid article { min-height: 0; padding: 24px; }
  .reality-grid h3 { margin-top: 24px; }
  .roadmap-track { grid-template-columns: 1fr; gap: 0; }
  .roadmap-track article { padding: 0 0 28px 36px; }
  .roadmap-track article:before, .roadmap-track article:nth-child(4n):before { display: block; left: 9px; right: auto; top: 18px; bottom: 0; width: 2px; height: auto; }
  .roadmap-track article:last-child:before { display: none; }
  .roadmap-dot { position: absolute; left: 0; top: 0; width: 20px; height: 20px; border-width: 5px; margin: 0; }
  .roadmap-track h3 { margin-top: 12px; }
  .formation-faq { padding-block: 56px; gap: 24px; }
  .formation-faq h2 { margin-bottom: 0; }
  .formation-faq summary { font-size: 17px; }
  .learning-hero { padding-block: 56px; gap: 32px; }
  .learning-hero-copy { padding: 0; }
  .learning-phone { width: min(100%,260px); height: 410px; margin: 0 auto; border-radius: 40px; }
  .learning-phone-screen { height: 334px; }
  .learning-phone-screen .learning-phone-reel img { height: 150px; flex-basis: 150px; }
  .learning-catalogue { padding-block: 32px 56px; }
  .learning-catalogue-heading { gap: 12px; margin-bottom: 32px; }
  .learning-catalogue-heading h2 { margin-bottom: 0; }
  .learning-product-visual { height: 180px; }
  .learning-product-visual strong { font-size: clamp(38px,12vw,52px); }
  .learning-offer, .learning-offer:first-child { min-height: 0; }
  .learning-offer h3 { font-size: 28px; }
  .learning-offer-top { gap: 12px; align-items: flex-start; }
  .learning-offer-top b { font-size: 11px; line-height: 1.5; }
  .learning-offer-bottom { flex-direction: column; align-items: stretch; gap: 16px; }
  .learning-offer-bottom strong { font-size: 21px; }
  .learning-offer-bottom span { justify-content: center; font-size: 14px; }
  .learning-fcl, .learning-final { padding: 28px 24px; margin: 0 auto 56px; gap: 32px; border-radius: 24px; }
  .learning-fcl-british { padding: 24px; min-height: 360px; }
  .learning-fcl-british blockquote { font-size: 34px; }
  .learning-fcl-british small { font-size: 11px; letter-spacing: .1em; }
  .learning-union-mark { width: 125px; height: 80px; }
  .learning-final > div { gap: 24px; }
  .site-footer { padding-top: 48px; }
  .footer-grid { gap: 32px; }
  .footer-grid > div { gap: 8px; }
  .footer-grid a { padding-block: 6px; }
  .footer-bottom { margin-top: 32px; }
  .footer-bottom div { flex-wrap: wrap; gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .learning-phone, .learning-phone-reel { animation: none; }
}
.content-card a[href^="mailto:"], .content-card a[href^="tel:"] { display: inline-block; text-decoration: underline; text-underline-offset: 4px; padding-block: 6px; }
.pilot-tech-graphic > p { z-index: 6; background: rgba(255,255,255,.94); padding: 6px 10px; border-radius: 8px; margin: 0; }
.service-card { min-width: 0; }
.service-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.learning-fcl-british small { color: #10243d; background: rgba(255,255,255,.94); padding: 8px 10px; border-radius: 6px; align-self: flex-start; line-height: 1.5; }
@media (min-width:701px) and (max-width:1050px) { .service-cards { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) { .service-cards { grid-template-columns: minmax(0,1fr); } }
.choice-grid article { padding: 32px; min-height: 0; }
.choice-grid h3 { font-size: 32px; line-height: 1.2; margin: 32px 0 18px; letter-spacing: -.025em; }
.choice-grid ul { margin-block: 24px; }
.decision-grid article { min-height: 220px; padding: 28px; }
.decision-grid h3 { font-size: 25px; line-height: 1.25; margin: 28px 0 16px; }
.decision-grid p { color: #4d5e73; margin-bottom: 0; }
.pilot-truth { margin-block: 80px; padding: 48px; gap: 48px; }
@media (max-width:700px) {
  .choice-grid article, .decision-grid article { padding: 24px; min-height: 0; }
  .choice-grid h3 { font-size: 26px; margin-top: 24px; }
  .choice-grid article > p:not(.choice-tag) { font-size: 17px; }
  .decision-grid h3 { font-size: 24px; margin-top: 24px; }
  .pilot-truth { margin-block: 56px; padding: 28px 24px; gap: 24px; }
}
/* Restore the phone's scroll-driven reel within the refined dimensions. */
@supports (animation-timeline: view()) {
  .learning-phone { view-timeline-name: --learning-phone; view-timeline-axis: block; }
  .learning-phone-reel {
    animation: learning-review-reel linear both;
    animation-timeline: --learning-phone;
    animation-range: entry 35% exit 65%;
  }
  @keyframes learning-review-reel {
    from { transform: translateY(0); }
    to { transform: translateY(min(0px, calc(488px - 100%))); }
  }
  @media (max-width:700px) {
    @keyframes learning-review-reel {
      from { transform: translateY(0); }
      to { transform: translateY(min(0px, calc(334px - 100%))); }
    }
  }
}
@media (prefers-reduced-motion: reduce) {
  .learning-phone-reel { animation: none; }
}
/* Give the compact menu breathing room inside the rounded header. */
@media (max-width:1050px) {
  .site-header { padding-right: 24px; }
  .mobile-menu summary { padding: 12px; }
}
