/* COMPACT PASS (2026-10-28, user: "The images and communication on the pages are still HUGE. no one wants to have to scroll
   multiple times"; "the footer is gigantic"). Loaded LAST on every page. No content removed: smaller photos/art,
   normal web type scale, much less section padding, multi-column layouts on desktop, tighter phones. */

/* ============ GLOBAL ============ */
.section { padding-block: 24px; }
main p { line-height: 1.55; }

/* ============ FOOTER (was 324px desktop / 764px phone) ============ */
.site-footer__inner { padding-block: 18px 12px; column-gap: 32px; row-gap: 10px; align-items: center; }
.site-footer__logo img { width: 190px; }
.site-footer__h { font-size: .95rem; margin: 0 0 6px; letter-spacing: .02em; }
.site-footer__h::after { display: none; }
.site-footer__cols { gap: 0 22px; }
.site-footer__cols ul, .site-footer__nav ul { gap: 0; }
.site-footer__nav a { font-size: .9rem; line-height: 1.6; }
.site-footer__nav .site-footer__cta { margin-top: 8px; min-height: 34px; padding: 4px 16px; font-size: .82rem; }
.site-footer__line { font-size: .9rem; gap: 8px; margin-bottom: 3px; line-height: 1.4; font-weight: 600; }
.site-footer__line svg { width: 17px; height: 17px; }
.site-footer .footer-social { gap: 8px; margin-top: 6px; }
.site-footer .footer-social a { width: 30px; height: 30px; }
.site-footer .footer-social svg { width: 14px; height: 14px; }
.site-footer__bar p { padding-block: 7px 8px; font-size: .78rem; }
@media (min-width: 901px) {
  .site-footer__inner { grid-template-columns: auto 1fr auto; }
  .site-footer__nav { flex-direction: row; align-items: center; justify-content: center; gap: 22px; text-align: left; }
  .site-footer__nav .site-footer__h { margin: 0; }
  .site-footer__cols { grid-template-columns: repeat(2, auto); gap: 0 20px; }
  .site-footer__nav .site-footer__cta { margin-top: 0; }
}
@media (max-width: 900px) {
  .site-footer__inner { grid-template-columns: 1fr 1fr; grid-template-areas: "brand brand" "nav contact"; gap: 12px 16px; padding-block: 16px 10px;
    justify-items: start; text-align: left; align-items: start; width: calc(100% - 40px); }
  .site-footer__brand { grid-area: brand; align-items: flex-start; justify-self: start; }
  .site-footer__logo img { width: 170px; }
  .site-footer__nav { grid-area: nav; align-items: flex-start; text-align: left; }
  .site-footer__contact { grid-area: contact; justify-self: start; display: block; text-align: left; }
  .site-footer__contact .site-footer__h, .site-footer .footer-social { justify-self: start; justify-content: flex-start; }
  .site-footer__cols { grid-template-columns: auto auto; gap: 0 14px; text-align: left; justify-content: start; }
  .site-footer__nav .site-footer__h::after { margin-inline: 0; }
  .site-footer__line { font-size: .84rem; }
  .site-footer__bar p { text-align: left; width: calc(100% - 40px); }
}
@media (max-width: 339px) { .site-footer__inner { grid-template-columns: 1fr; grid-template-areas: "brand" "nav" "contact"; } }

/* ============ DESKTOP / LAPTOP (>= 901px) ============ */
@media (min-width: 901px) {
  /* type scale */
  h1.title, .faq-h1, .avp-title { font-size: clamp(1.9rem, 2.6vw, 2.25rem); }
  h2.title, .svc-h2, .avp-h2, .svc-close h2, .avp-cta h2 { font-size: clamp(1.45rem, 1.9vw, 1.7rem); }

  /* HOME */
  .novel-hero { height: clamp(230px, 20vw, 280px); }
  .novel-hero__copy h1 { font-size: 2.6rem; }
  .home-lead { padding-block: 18px 12px; }
  .home-heading, .home-heading .hh-text { font-size: 1.6rem !important; line-height: 1.3; }
  .home-main { padding-block: 20px 32px; row-gap: 20px; }
  .home-intro .home-close.hc-side { margin-top: 22px; }
  .hc-side .hc-badge { --bh: 150px !important; }
  .hc-side .hc-line { font-size: 22px; }
  .home-intro .home-cta { margin-top: 18px; }

  /* SERVICES */
  .svc-intro { padding-block: 20px 8px; }
  .svc-intro__bulb { --sb: 120px; }
  .svc-intro .statement { font-size: 1.3rem; line-height: 1.4; max-width: 46ch; }
  .svc-cards { padding-block: 14px; }
  .svc-grid--2x2 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
  .svc-grid--2x2 .svc-card__photo { padding: 6px 6px 0; }
  .svc-grid--2x2 .svc-card__photo img { aspect-ratio: 16 / 9; }
  .svc-grid--2x2 .svc-card__body { padding: 12px 14px 14px; }
  .svc-card__head { gap: 10px; }
  .svc-card__head .svc-icon { width: 32px; height: 32px; }
  .svc-grid--2x2 .svc-card h2, .svc-card__headtext h2 { font-size: 1.2rem; margin-bottom: 4px; }
  .svc-grid--2x2 .svc-card p { font-size: .93rem; line-height: 1.45; }
  .svc-grid--2x2 .svc-card .svc-list__label { margin: 10px 0 6px; padding-top: 8px; }
  .svc-grid--2x2 .svc-list { margin-left: 0; gap: 3px; }
  .svc-grid--2x2 .svc-list li { font-size: .86rem; line-height: 1.35; }
  .svc-grid--2x2 .svc-card__btn { margin: 12px 0 0; padding: 9px 12px; font-size: .78rem; }
  .svc-how__inner { padding-block: 26px 28px; }
  .svc-how__head { margin-bottom: 14px; }
  .svc-how__intro { font-size: 1rem; }
  .svc-step__marker { width: 40px; height: 40px; margin-bottom: 8px; box-shadow: 0 0 0 4px #EBF0E2; }
  .svc-step__card { padding: 14px 14px 16px; }
  .svc-step__card h3 { font-size: 1.05rem; margin-bottom: 6px; }
  .svc-step__card p { font-size: .9rem; line-height: 1.45; }
  .svc-why__inner { padding-block: 26px; column-gap: 40px; }
  .svc-why__lead p { font-size: 1rem; }
  .svc-why__sig { font-size: 1.2rem !important; }
  .svc-values li { padding-top: 0; padding-bottom: 0; }
  .svc-values h3 { font-size: 1.05rem; margin-bottom: 2px; }
  .svc-values p { font-size: .93rem; }
  .svc-close-wrap { padding-block: 10px 28px; }
  .svc-close { padding: 24px 28px; }
  .svc-close p { margin: 6px auto 12px; }

  /* AVIATION */
  .avp-hero-wrap { padding-block: 14px 0; }
  .avp-hero { min-height: 0; }
  .avp-hero__copy { padding-block: 30px; }
  .avp-lead { font-size: 1rem; }
  .avp-factors { padding-block: 24px 16px; }
  .avp-divider { margin: 8px auto 14px; }
  .avp-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
  .avp-grid .avp-factor { grid-column: auto; padding: 16px 14px 18px; }
  .avp-factor .factor-icon { width: 54px; height: 54px; margin-bottom: 10px; }
  .avp-factor .factor-icon svg { width: 26px; height: 26px; }
  .avp-factor h3 { font-size: 1.08rem !important; margin-bottom: 6px; }
  .avp-factor p { font-size: .9rem; line-height: 1.45; }
  .avp-cta-wrap { padding-block: 8px 28px; }
  .avp-cta { padding: 24px 32px; row-gap: 14px; }
  .avp-cta p { font-size: .98rem; }

  /* WHY NOVEL */
  .wn-hero { padding-block: 28px; min-height: 0; }
  .wn-hero .lead { font-size: 1rem; }
  .wn-split { grid-template-columns: 300px minmax(0, 1fr); }
  .wn-photo picture, .wn-photo img { height: 100%; max-height: 430px; }
  .wn-bio { padding: 22px 28px; }
  .wn-bio p { font-size: .98rem; margin-bottom: .7em; }
  .wn-sign__bulb img { height: 96px; width: auto; }
  .wn-sign__bulb { --glow-r: 64px; }
  .wn-approach { padding-block: 20px; }
  .wn-approach .sub { margin-bottom: 14px; }
  .wn-card { padding: 16px 18px; }
  .wn-card .icon { width: 40px; height: 40px; margin-bottom: 8px; }
  .wn-card h3 { font-size: 1.05rem; margin-bottom: 4px; }
  .wn-exp__copy { padding: 22px 28px; }
  .wn-exp > picture { min-height: 200px; }
  .wn-types > div { padding-block: 12px; }
  .wn-cta { padding: 18px 28px; }
  .wn-cta picture img { height: 90px; width: auto; }

  /* FAQ */
  .faq-intro { padding-block: 22px 6px; }
  .faq-intro__bulb { --fb: 150px; }
  .faq-q button { padding: 13px 6px; }
  .faq-q__text { font-size: 1.12rem; }
  .faq-a p { font-size: .98rem; }
  .faq-list-wrap { padding-block: 6px 16px; }
  .faq-fees { padding-block: 10px; }
  .faq-fees__panel { padding: 26px 30px; row-gap: 16px; }
  .faq-stat__n { font-size: 2.4rem !important; }
  .faq-example { padding: 20px 24px; }
  .faq-example h3 { font-size: 1.15rem; margin-bottom: 6px; }
  .faq-example dl > div { padding-block: 7px; }
  .faq-quote-wrap { padding-block: 14px; }
  .faq-rev blockquote p, .faq-rev__slide blockquote { font-size: 1.1rem; }
  .faq-quote__mark { font-size: 2.4rem !important; line-height: 1; }

  /* ENROLL */
  .enroll-v2 .enr-intro { padding-block: 22px 6px; }
  .enroll-v2 .enr-intro .faq-intro__bulb { --fb: 170px; }
  .enroll-v2 .stage { padding: 22px 24px; }
  .enroll-v2 .enr-band { padding-bottom: 28px; }
  .enroll-v2 .enr-band p { font-size: 1.02rem; }

  /* LOGIN */
  .simple { padding: 40px 0 44px; }
  .simple img { height: 130px; width: auto; }
}

/* ============ PHONES / TABLETS (<= 900px) ============ */
@media (max-width: 900px) {
  h1.title, .faq-h1, .avp-title, .wn-hero h1.title { font-size: 1.7rem; }
  h2.title, .svc-h2, .avp-h2, .svc-close h2, .avp-cta h2 { font-size: 1.35rem; }
  main p { font-size: 15.5px; }

  /* HOME */
  .home-lead { padding-block: 16px 8px; }
  .home-heading, .home-heading .hh-text { font-size: 1.3rem !important; }
  .home-main { padding-block: 12px 24px; row-gap: 16px; }
  .home-intro .home-close.hc-side { margin-top: 14px; }
  .hc-side .hc-badge { --bh: 110px !important; }
  .hc-side .hc-line { font-size: 19px !important; }

  /* SERVICES */
  .svc-intro { padding-block: 16px 4px; }
  .svc-intro__bulb { --sb: 96px; }
  .svc-intro .statement { font-size: 1.12rem; }
  .svc-grid--2x2 { gap: 12px; }
  .svc-grid--2x2 .svc-card__photo img { aspect-ratio: 2.8 / 1; }
  .svc-grid--2x2 .svc-card__body { padding: 12px 14px 14px; }
  .svc-card__head .svc-icon { width: 30px; height: 30px; }
  .svc-grid--2x2 .svc-card h2 { font-size: 1.2rem; }
  .svc-grid--2x2 .svc-card p { font-size: .95rem; }
  .svc-grid--2x2 .svc-list { display: grid; grid-template-columns: 1fr 1fr; gap: 3px 12px; }
  .svc-grid--2x2 .svc-list li { font-size: .84rem; line-height: 1.3; }
  .svc-grid--2x2 .svc-card .svc-list__label { margin: 8px 0 5px; padding-top: 8px; }
  .svc-how__inner { padding-block: 20px; }
  .svc-how__head { margin-bottom: 10px; }
  .svc-steps { gap: 10px; }
  .svc-step__marker { width: 34px; height: 34px; box-shadow: 0 0 0 3px #EBF0E2; }
  .svc-step__card { padding: 10px 12px; }
  .svc-step__card h3 { font-size: 1rem; margin-bottom: 3px; }
  .svc-step__card p { font-size: .9rem; line-height: 1.4; }
  .svc-why__inner { padding-block: 20px; row-gap: 12px; }
  .svc-values li { padding: 0 0 0 14px; }
  .svc-values h3 { font-size: 1rem; }
  .svc-why__sig { font-size: 1.1rem !important; }
  .svc-close-wrap { padding-block: 6px 20px; }
  .svc-close { padding: 20px 16px; }

  /* AVIATION */
  .avp-hero picture { height: 150px !important; }
  .avp-hero__copy { padding: 18px 18px 20px; }
  .avp-factors { padding-block: 18px 8px; }
  .avp-divider { margin: 6px auto 10px; }
  .avp-grid { gap: 10px; }
  .avp-grid .avp-factor { display: grid; grid-template-columns: 44px 1fr; column-gap: 12px; text-align: left; padding: 12px 14px; align-items: start; }
  .avp-factor .factor-icon { width: 44px; height: 44px; margin: 0; grid-row: 1 / span 2; }
  .avp-factor .factor-icon svg { width: 22px; height: 22px; }
  .avp-factor h3 { font-size: 1.02rem !important; margin: 0 0 3px; }
  .avp-factor p { font-size: .9rem; margin: 0; }
  .avp-factor::before, .avp-factor::after { display: none; }
  .avp-cta { padding: 20px 16px; row-gap: 12px; }

  /* WHY NOVEL */
  .wn-hero { padding-block: 22px; min-height: 0; }
  .wn-split { display: block; }
  .wn-photo { float: left; width: 130px; margin: 14px 14px 6px 14px; padding: 0 !important; }
  .wn-photo picture { width: 130px !important; }
  .wn-photo img { width: 130px; height: auto; aspect-ratio: 1; object-fit: cover; border-radius: 12px; }
  .wn-bio { display: block; padding: 14px 16px 16px; }
  .wn-bio p { font-size: 15px; margin-bottom: .65em; }
  .wn-sign__bulb img { height: 80px; width: auto; }
  .wn-approach { padding-block: 14px; }
  .wn-cards { gap: 10px; }
  .wn-card { display: grid; grid-template-columns: 38px 1fr; column-gap: 12px; padding: 12px 14px; text-align: left; }
  .wn-card .icon { width: 38px; height: 38px; margin: 0; grid-row: 1 / span 2; }
  .wn-card h3 { font-size: 1rem; margin: 0 0 2px; line-height: 1.3; }
  .wn-card p { margin: 0; font-size: .92rem; }
  .wn-exp__copy { padding: 16px; }
  .wn-exp > picture img { max-height: 150px !important; }
  .wn-cta { padding: 16px; gap: 14px; }
  .wn-cta picture img { height: 70px; width: auto; }

  /* FAQ */
  .faq-intro { padding-block: 14px 4px; }
  .faq-q button { padding: 11px 4px; }
  .faq-q__text { font-size: 1.02rem; }
  .faq-fees__panel { padding: 18px 16px; row-gap: 12px; }
  .faq-stat__n { font-size: 2rem !important; }
  .faq-example { padding: 14px 16px; }
  .faq-example h3 { font-size: 1.05rem; }
  .faq-example dl > div { padding-block: 5px; }
  .faq-rev blockquote p, .faq-rev__slide blockquote { font-size: 1rem; }
  .faq-quote__mark { font-size: 2rem !important; }

  /* ENROLL: short fields side by side */
  .enroll-v2 .stage { padding: 16px 14px; }
  .enroll-v2 .stage .grid { grid-template-columns: 1fr 1fr; gap: 10px 10px; }
  .enroll-v2 .stage .grid > .span-2, .enroll-v2 .stage .grid > .consent { grid-column: 1 / -1; }
  .enroll-v2 .stage label { font-size: 13px; margin-bottom: 3px; }
  .enroll-v2 .stage input, .enroll-v2 .stage select { min-height: 40px; padding-block: 8px; }
  .enroll-v2 .enr-band { padding-bottom: 20px; }
  .enroll-v2 .enr-band p { font-size: .98rem; }

  /* LOGIN */
  .simple { padding: 28px 0 32px; }
  .simple img { height: 100px; width: auto; }
}
@media (max-width: 360px) { .enroll-v2 .stage .grid { grid-template-columns: 1fr; } }

/* ============ ROUND 2 (2026-10-28) ============ */
/* footer: contact block as a 2x2 grid so it is no taller than the logo */
.site-footer__logo img { width: 160px; }
.site-footer__inner { padding-block: 14px 10px; }
@media (min-width: 901px) {
  .site-footer__contact { display: grid; grid-template-columns: auto auto; column-gap: 18px; align-items: center; }
  .site-footer__contact .site-footer__h { grid-column: 1 / -1; }
  .site-footer__contact .site-footer__line { margin: 0; }
  .site-footer .footer-social { margin-top: 0; }
}
@media (max-width: 900px) {
  .site-footer__logo img { width: 150px; }
  .site-footer__inner { gap: 10px 14px; padding-block: 14px 8px; }
  .site-footer__nav a { line-height: 1.5; }
}

/* forms (enroll): smaller labels + inputs everywhere */
.enroll-v2 .stage .grid { gap: 12px 16px; }
.enroll-v2 .stage .grid label { font-size: 13.5px; margin-bottom: 4px; }
.enroll-v2 .stage input:not([type=checkbox]):not([type=radio]), .enroll-v2 .stage select, .enroll-v2 .stage textarea { padding: 8px 12px; min-height: 0; font-size: 15px; }
.enroll-v2 .stage .consent { padding: 10px 12px; }
.enroll-v2 .stage .consent span { font-size: 13.5px; line-height: 1.45; }
.enroll-v2 .stage button.next, .enroll-v2 .stage button[type=submit] { padding: 12px; margin-top: 14px; }
.enroll-v2 .progress { padding-bottom: 10px; margin-bottom: 12px; }
.enroll-v2 .progress .dot { width: 30px; height: 30px; margin-bottom: 4px; font-size: 15px; }
.enroll-v2 .card-title { margin-bottom: 12px; }
.enr-welcome { padding: 16px 18px; }
.enr-welcome h2 { font-size: 1.25rem; padding-bottom: 6px; }
.enr-welcome .enr-note { margin-top: 8px; }
.enr-welcome .enr-note p { font-size: 1rem; line-height: 1.5; }
.enr-welcome .lines { margin-top: 10px; padding-top: 10px; gap: 4px; }
.enr-welcome .lines a { font-size: .95rem; }
.enr-next { padding: 14px 18px 16px; }
.enr-next h3 { font-size: 1.1rem; margin-bottom: 8px; }
.enr-next ol { gap: 8px; }
.enr-next li { font-size: .9rem; line-height: 1.4; }
.enr-aside { gap: 12px; }
.enr-band__line { margin-bottom: 8px; }
.enr-fee { padding: 14px 18px; }
.enr-fee .enr-fee__note { margin-top: 8px; padding-top: 8px; }

@media (min-width: 901px) {
  .enroll-v2 .enr-intro .faq-intro__bulb { --fb: 140px; }
  .enr-layout { padding-bottom: 20px; row-gap: 16px; column-gap: 20px; }
  .wn-hero h1, .wn-hero h1.title { max-width: 30ch; }
  .wn-hero .lead { max-width: 56ch; }
  .wn-hero { padding-block: 22px; }
  .faq-fees__panel { padding: 20px 26px; }
}
@media (max-width: 900px) {
  .svc-grid--2x2 .svc-card__photo img { aspect-ratio: 3.4 / 1; }
  .svc-why__inner { padding-block: 16px; }
  .svc-values { gap: 8px; }
  .enr-layout { row-gap: 12px; padding-bottom: 14px; }
  .enr-band__row { gap: 12px; }
}
/* round 2b */
.site-footer__line { min-height: 0; }
@media (max-width: 900px) {
  .site-footer__logo img { width: 132px; }
  .site-footer__inner { grid-template-columns: auto 1fr; }
  .site-footer__line { margin-bottom: 4px; }
  .site-footer__nav .site-footer__cta { margin-top: 6px; min-height: 30px; }
  .svc-values li + li { margin-top: 10px; }
  .svc-values p, .svc-why__lead p { font-size: .92rem; line-height: 1.5; }
  .svc-why__lead p { margin-top: 10px; }
  .svc-step__card p { font-size: .88rem; }
  .svc-steps { margin-top: 14px; }
  .svc-h2 { padding-bottom: 8px; }
}
@media (min-width: 901px) {
  .novel-hero { height: clamp(200px, 17vw, 230px); }
  .novel-hero__copy h1 { font-size: 2.3rem; margin-bottom: 8px; }
  .novel-hero__copy p { max-width: 62ch; }
  .wn-split .wn-bio { padding: 20px 28px 18px; }
  .wn-split .wn-photo picture, .wn-split .wn-photo img { max-height: 380px; }
  .wn-split { grid-template-columns: 260px minmax(0, 1fr); }
  .wn-bio .wn-closing { font-size: 26px; }
}
@media (max-width: 900px) {
  .site-footer__cols a { padding-block: 3px; line-height: 1.4; }   /* 24px+ tap targets (WCAG 2.2 min) */
}
@media (min-width: 340px) and (max-width: 900px) {
  .site-footer__inner { grid-template-columns: auto 1fr; grid-template-areas: "brand nav" "contact nav"; column-gap: 22px; }
  .site-footer__nav { justify-self: end; }
}
/* round 2c: same rules as above with enough specificity to win over enroll-v2.css */
.enroll-v2 .enr-welcome { padding: 16px 18px; }
.enroll-v2 .enr-welcome h2 { font-size: 1.25rem; padding-bottom: 6px; }
.enroll-v2 .enr-welcome .enr-note p { font-size: 1rem; line-height: 1.5; }
.enroll-v2 .enr-welcome .lines { margin-top: 10px; padding-top: 10px; gap: 4px; }
.enroll-v2 .enr-welcome .lines a { font-size: .95rem; }
.enroll-v2 .enr-next { padding: 14px 18px 16px; }
.enroll-v2 .enr-next h3 { font-size: 1.1rem; margin-bottom: 8px; }
.enroll-v2 .enr-next ol { gap: 8px; }
.enroll-v2 .enr-band__line { margin-bottom: 8px; }
.enroll-v2 .enr-fee { padding: 14px 18px; }
.enroll-v2 .enr-fee .svc-eyebrow { font-size: 1rem; margin-bottom: 6px; }
.enroll-v2 .enr-fee .enr-fee__note { margin-top: 8px; padding-top: 8px; }
.enroll-v2 .faq-rev__dots { margin-top: 8px; }
@media (max-width: 900px) {
  .enroll-v2 .faq-rev blockquote p, .enroll-v2 .faq-rev__slide blockquote { font-size: .95rem; line-height: 1.5; }
  .wn-hero .lead { font-size: 15.5px; line-height: 1.5; }
  .wn-hero .goldrule { margin: 10px 0 12px; }
}
@media (max-width: 900px) { .site-footer__inner, .site-footer__bar p { padding-inline: 0; } }
/* Services: "Explore Our Aviation Services" button fits its card in the 4-across row (was 313px in a 256px card) */
@media (min-width: 901px) {
  .svc-grid--2x2 .svc-card__btn { align-self: stretch; box-sizing: border-box; max-width: 100%; justify-content: center; text-align: center;
    white-space: normal; letter-spacing: .04em; padding: 9px 10px; gap: 6px; font-size: .74rem; line-height: 1.25; }
}
/* FOOTER CONTACT (2026-10-28, user): website line removed; email + phone stacked in one column, social icons beside them on desktop */
@media (min-width: 901px) {
  .site-footer__contact { grid-template-columns: auto auto; column-gap: 22px; }
  .site-footer__contact .site-footer__line { grid-column: 1; }
  .site-footer__contact .footer-social { grid-column: 2; grid-row: 2 / span 2; align-self: center; }
}
/* Login is shorter than a screen: let main grow so the footer still ends the page (no blank strip under it) */
body.page-login { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
body.page-login > main { flex: 1 0 auto; }
/* FOOTER v3 (2026-10-28, user): no website line; email + phone stacked, social circles beside the stack and exactly as tall as it */
.site-footer__contact { display: grid; grid-template-columns: max-content max-content; column-gap: 18px; row-gap: 4px; align-items: center; }
.site-footer__contact .site-footer__h { grid-column: 1 / -1; margin: 0 0 2px; }
.site-footer__contact .site-footer__line { grid-column: 1; margin: 0; height: 20px; }
.site-footer__contact .footer-social { grid-column: 2; grid-row: 2 / span 2; margin: 0; gap: 8px; align-self: center; }
.site-footer__contact .footer-social a { width: 44px; height: 44px; }          /* 20 + 4 + 20 = 44 = the email/phone stack */
.site-footer__contact .footer-social svg { width: 19px; height: 19px; }
@media (min-width: 340px) and (max-width: 900px) {
  /* row 1 logo | Enroll button, row 2 Quick Links (3 across), row 3 Contact (stack + circles) */
  .site-footer__inner { grid-template-columns: 1fr auto; grid-template-areas: "brand cta" "navh navh" "cols cols" "contact contact"; gap: 6px 14px; align-items: center; }
  .site-footer__nav { display: contents; }
  .site-footer__nav > .site-footer__h { grid-area: navh; margin: 6px 0 0; }
  .site-footer__nav > .site-footer__cols { grid-area: cols; display: grid; grid-template-columns: repeat(3, max-content); column-gap: 26px; }
  .site-footer__nav > .site-footer__cols ul { display: contents; }
  .site-footer__nav > .site-footer__cta { grid-area: cta; margin: 0; justify-self: end; }
  .site-footer__contact { grid-area: contact; margin-top: 4px; }
  .site-footer__contact .site-footer__line { height: 19px; }
  .site-footer__contact .footer-social a { width: 42px; height: 42px; }        /* 19 + 4 + 19 = 42 */
  .site-footer__contact .footer-social svg { width: 18px; height: 18px; }
}
@media (min-width: 340px) and (max-width: 900px) {
  .site-footer__nav > .site-footer__h { margin-top: 2px; }
  .site-footer__nav > .site-footer__cols a { padding-block: 2px; }
  .site-footer__contact { margin-top: 2px; }
}
/* AVIATION HERO (2026-10-28, user: jet belly + wheels were cut off). Same height; frame the lower part of the photo so the
   whole fuselage and landing gear show (wheels sit at ~87% of the image height). */
@media (min-width: 901px) { .avp-hero picture, .avp-hero__img { object-position: 62% 86%; } }
/* SERVICES CARD ALIGN (2026-10-28, user: "remove this empty space ... make all 4 boxes align across the bottom").
   'What we handle' follows the description directly; cards in a row stretch to one height; the Aviation button sits at the card bottom. */
.svc-grid--2x2 .svc-card .svc-list__label { margin-top: 10px !important; }
@media (min-width: 901px) {
  .svc-grid--2x2 { align-items: stretch; }
  .svc-grid--2x2 .svc-card { height: 100%; }
  .svc-grid--2x2 .svc-card__body { flex: 1 1 auto; display: flex; flex-direction: column; }
  .svc-grid--2x2 .svc-card__btn { margin-top: auto !important; }
  .svc-grid--2x2 .svc-card .svc-list + .svc-card__btn { margin-top: auto !important; }
  .svc-grid--2x2 .svc-list { margin-bottom: 12px; }
  .svc-grid--2x2 .svc-card:not(:has(.svc-card__btn)) .svc-list { margin-bottom: 0; }
}
/* "What a NOVEL idea!" always follows "Representing every property as though it were our own!" (2026-10-28, user rule).
   Same italic as the line it follows; NOVEL in the logo-tagline gold; the punchline never splits across lines. */
.nv-idea { white-space: nowrap; }
.nv-idea__n { color: var(--gold-deep); font-weight: 600; letter-spacing: .02em; }
@media (min-width: 901px) { .svc-why__sig .nv-idea { display: block; } }   /* desktop: natural break after "our own!" instead of a balanced mid-sentence split */
