:root {
  --ink: #142b42;
  --navy: #071d33;
  --navy-soft: #123653;
  --blue: #145b86;
  --sky: #eaf2f7;
  --paper: #f5f7f8;
  --muted: #627487;
  --line: #dce4e9;
  --saffron: #e4a23a;
  --white: #fff;
  --content-width: 124rem;
}

html {
  scroll-behavior: smooth;
  scroll-padding-top: 10rem;
}

body {
  background: var(--white) !important;
  color: var(--ink);
  font-family: "Inter", "Noto Sans", sans-serif !important;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.7;
  overflow-x: hidden;
}

body, p, li { color: var(--ink); }
p { line-height: 1.75; }
a { transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
img { max-width: 100%; }
.container { max-width: var(--content-width); }
.eyebrow {
  color: var(--blue);
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: .18em;
  line-height: 1.4;
  margin: 0 0 1.4rem;
  text-transform: uppercase;
}
.sec-title {
  color: var(--ink);
  font-size: clamp(3rem, 4vw, 4.4rem);
  font-weight: 700;
  letter-spacing: -.045em;
  line-height: 1.14;
}
.sec-title::after {
  background: var(--saffron);
  border-radius: 1rem;
  content: "";
  display: block;
  height: .35rem;
  margin: 1.5rem auto 0;
  width: 4.5rem;
}
.default-btn {
  align-items: center;
  background: var(--saffron);
  border: 1px solid var(--saffron);
  border-radius: .5rem;
  color: var(--navy) !important;
  display: inline-flex;
  font-size: 1.4rem;
  font-weight: 700;
  height: auto;
  justify-content: center;
  letter-spacing: .01em;
  min-height: 4.8rem;
  padding: 1.3rem 2rem;
}
.default-btn:hover {
  background: #f0b454;
  border-color: #f0b454;
  box-shadow: 0 .8rem 2rem rgba(5, 28, 49, .16);
  color: var(--navy) !important;
  transform: translateY(-2px);
}
.sub-title { color: var(--blue); font-size: 1.5rem; font-weight: 700; }
:focus-visible { outline: .3rem solid var(--saffron); outline-offset: .3rem; }

/* Shared navigation: restrained, clear and consistent on every page. */
.header {
  background: rgba(255, 255, 255, .97) !important;
  border-bottom: 1px solid rgba(20, 43, 66, .09);
  box-shadow: 0 .5rem 2rem rgba(7, 29, 51, .06) !important;
  padding: 1.2rem 0 !important;
  transition: background .25s ease, box-shadow .25s ease;
}
.header .container-fluid { margin: 0 auto; max-width: 144rem; padding: 0 4rem; }
.header__flex { min-height: 5.4rem; }
.header__logo { flex: 0 0 18rem; }
.header__logo img { max-height: 4.4rem; object-fit: contain; width: 15rem !important; }
.header__middle { flex: 1; gap: clamp(1.4rem, 2.3vw, 3.2rem); }
.header__middle a {
  color: #334b60;
  font-size: 1.35rem;
  font-weight: 600;
  position: relative;
}
.header__middle a::after {
  background: var(--saffron);
  bottom: -.8rem;
  content: "";
  height: .2rem;
  left: 0;
  position: absolute;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .2s ease;
  width: 100%;
}
.header__middle a:hover, .header__middle a.active { color: var(--blue); }
.header__middle a:hover::after, .header__middle a.active::after { transform: scaleX(1); }
.header__end { flex: 0 0 auto; }
.header__end .default-btn { min-height: 4.2rem; padding: 1rem 1.8rem; }
.header__end button { margin-left: 1.5rem; }
.home-header .header { background: transparent !important; border-color: transparent; box-shadow: none !important; }
.home-header .header__middle a { color: rgba(255,255,255,.86); }
.home-header .header__middle a:hover, .home-header .header__middle a.active { color: var(--white); }
.home-header .header__logo img { filter: brightness(0) invert(1); }
.home-header .header__end button img { filter: brightness(0) invert(1); }
.home-header .header.scrolled {
  background: rgba(255,255,255,.97) !important;
  border-color: rgba(20,43,66,.09);
  box-shadow: 0 .5rem 2rem rgba(7,29,51,.08) !important;
}
.home-header .header.scrolled .header__middle a { color: #334b60; }
.home-header .header.scrolled .header__middle a:hover,
.home-header .header.scrolled .header__middle a.active { color: var(--blue); }
.home-header .header.scrolled .header__logo img,
.home-header .header.scrolled .header__end button img { filter: none; }
.offcanvas { border: 0 !important; box-shadow: 1rem 0 4rem rgba(7,29,51,.16); }
.menu { padding: 3rem; }
.menu__logo img { width: 15rem !important; }
.menu__list { gap: 0; margin-top: 3rem; }
.menu__list a { border-bottom: 1px solid var(--line); color: var(--ink); padding: 1.35rem 0; }
.menu__list a:hover, .menu__list a.active { color: var(--blue); }
.menu__btn a { background: var(--navy); border-radius: .5rem; min-width: 100%; }
.menu__btn a span { color: var(--white); font-size: 1.4rem; font-weight: 700; }

/* Home: lead with the mission, then give visitors clear paths into the work. */
.home-hero {
  align-items: center;
  background: var(--navy);
  color: var(--white);
  display: flex;
  isolation: isolate;
  min-height: 71rem;
  overflow: hidden;
  padding: 14rem 0 8rem;
  position: relative;
}
.home-hero .hero__video { height: 100%; inset: 0; opacity: .3; position: absolute; z-index: -2; }
.home-hero .hero__video video { height: 100%; object-fit: cover; width: 100%; }
.hero__shade {
  background: linear-gradient(90deg, rgba(5,23,41,.97) 0%, rgba(7,29,51,.88) 50%, rgba(7,29,51,.56) 100%),
    linear-gradient(0deg, rgba(7,29,51,.55), transparent 48%);
  inset: 0;
  position: absolute;
  z-index: -1;
}
.home-hero__layout {
  align-items: center;
  display: grid;
  gap: 4rem;
  grid-template-columns: minmax(0, 1.08fr) minmax(34rem, .92fr);
  min-height: 47rem;
  position: relative;
}
.home-hero .eyebrow { color: #f3bd69; }
.home-hero__copy { max-width: 69rem; }
.home-hero h1 {
  color: var(--white);
  font-size: clamp(4.3rem, 6.4vw, 7.2rem);
  font-weight: 700;
  letter-spacing: -.065em;
  line-height: 1.01;
  margin: 0 0 2.4rem;
}
.home-hero h1 span { color: #f0b454; }
.home-hero__lead { color: rgba(255,255,255,.78); font-size: 1.7rem; max-width: 62rem; }
.home-hero__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 2.4rem; margin: 3rem 0 3.2rem; }
.hero-text-link { color: var(--white); font-size: 1.4rem; font-weight: 700; }
.hero-text-link span { color: #f0b454; margin-left: .8rem; }
.home-hero__role { color: rgba(255,255,255,.58); font-size: 1.2rem; letter-spacing: .02em; margin: 0; }
.home-hero__role span { color: #f0b454; margin: 0 .4rem; }
.home-hero__visual {
  background: rgba(255,255,255,.96);
  border: 1px solid rgba(255,255,255,.55);
  border-radius: .8rem;
  box-shadow: 0 2.5rem 7rem rgba(0,0,0,.24);
  padding: 2.5rem;
  position: relative;
  transform: rotate(1.2deg);
}
.home-hero__visual::before { border: 1px solid rgba(228,162,58,.55); content: ""; inset: .8rem; pointer-events: none; position: absolute; }
.home-hero__visual img { display: block; position: relative; width: 100%; }
.home-hero__visual-label { color: #496175; display: block; font-size: 1rem; font-weight: 700; letter-spacing: .15em; margin-top: 1rem; position: relative; text-align: right; }
.at-a-glance { background: var(--navy-soft); color: var(--white); position: relative; z-index: 1; }
.at-a-glance__grid { display: grid; grid-template-columns: repeat(4, 1fr); padding: 2.8rem 2.4rem; }
.at-a-glance__grid > div { border-right: 1px solid rgba(255,255,255,.18); display: flex; flex-direction: column; gap: .3rem; padding: .2rem 2.5rem; }
.at-a-glance__grid > div:first-child { padding-left: 0; }
.at-a-glance__grid > div:last-child { border: 0; }
.at-a-glance strong { color: #f0b454; font-size: 2.6rem; letter-spacing: -.04em; line-height: 1.2; }
.at-a-glance span { color: rgba(255,255,255,.72); font-size: 1.2rem; text-transform: uppercase; }
.home-pathways { background: var(--paper); padding: 9rem 0 10rem; }
.section-heading { margin: 0 auto 4rem; max-width: 75rem; text-align: center; }
.section-heading h2 { color: var(--ink); font-size: clamp(3rem, 4vw, 4.8rem); font-weight: 700; letter-spacing: -.055em; line-height: 1.12; margin: 0 0 1.5rem; }
.section-heading h2 span { color: var(--blue); }
.section-heading > p:last-child { color: var(--muted); font-size: 1.55rem; margin: 0 auto; max-width: 66rem; }
.section-heading--split { align-items: end; display: flex; justify-content: space-between; max-width: none; text-align: left; }
.section-heading--split h2 { margin: 0; }
.section-heading--split > p:last-child { margin: 0 0 .4rem; max-width: 39rem; }
.section-heading--split .eyebrow { margin-bottom: 1rem; }
.pathway-grid { display: grid; gap: 1.8rem; grid-template-columns: repeat(3, 1fr); }
.pathway-card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: .8rem;
  display: flex;
  flex-direction: column;
  min-height: 27rem;
  overflow: hidden;
  padding: 3rem;
  position: relative;
  text-decoration: none !important;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.pathway-card::after { background: var(--saffron); bottom: 0; content: ""; height: .35rem; left: 0; position: absolute; transform: scaleX(0); transform-origin: left; transition: transform .25s ease; width: 100%; }
.pathway-card:hover { border-color: #bdccd7; box-shadow: 0 1.5rem 4rem rgba(7,29,51,.1); transform: translateY(-.5rem); }
.pathway-card:hover::after { transform: scaleX(1); }
.pathway-card__number { color: var(--blue); font-size: 1rem; font-weight: 700; letter-spacing: .14em; }
.pathway-card h3 { color: var(--ink); font-size: 2.4rem; letter-spacing: -.035em; margin: 3.8rem 0 1rem; }
.pathway-card p { color: var(--muted); font-size: 1.35rem; margin: 0 0 2.2rem; max-width: 34rem; }
.pathway-card__link { color: var(--blue); font-size: 1.25rem; font-weight: 700; margin-top: auto; }
.pathway-card__link b { color: var(--saffron); font-size: 1.8rem; margin-left: .8rem; }
.home-calendar { background: var(--white); padding: 7rem 0; }
.home-calendar__layout { align-items: center; display: grid; gap: 5rem; grid-template-columns: minmax(24rem,.75fr) minmax(0,1.25fr); }
.home-calendar h2 { color: var(--ink); font-size: 3.6rem; letter-spacing: -.05em; line-height: 1.12; margin: 0 0 1.2rem; }
.home-calendar p:not(.eyebrow) { color: var(--muted); font-size: 1.45rem; margin: 0 0 2rem; }
.home-calendar .hero-text-link { color: var(--blue); }
.home-calendar__frame { border: 1px solid var(--line); border-radius: .7rem; box-shadow: 0 1rem 3rem rgba(7,29,51,.08); height: 34rem; overflow: hidden; }
.home-calendar__frame iframe { border: 0; height: 100%; width: 100%; }

/* Lead the homepage with its mission and archive rather than a collage wall. */
.we { background: var(--white); padding: 9rem 0; }
.we__title { margin-bottom: 4rem; }
.we__content p, .we__left p, .we__right p { color: var(--muted); font-size: 1.45rem; font-weight: 400; line-height: 1.8; }
.we__left, .we__right { background: var(--paper); border: 1px solid var(--line); border-radius: .7rem; border-left: .3rem solid var(--blue); height: 100%; padding: 2.8rem; }
.we__img { border-radius: .7rem; height: 100%; min-height: 32rem; overflow: hidden; }
.we__img iframe { border: 0; border-radius: .7rem; min-height: 32rem; }
.art { background: var(--paper); padding: 9rem 0; }
.art__title { margin: 0 auto 4rem; max-width: 85rem; }
.art__title h2 { margin: 0 auto 1.5rem; }
.art__title p { color: var(--muted); margin: 0 auto 2rem; max-width: 75rem; }
.art__grid { gap: 1.8rem; }
.art__card { border: 1px solid var(--line); border-radius: .7rem; box-shadow: 0 .8rem 2rem rgba(7,29,51,.04); }
.art__head { background: var(--navy); border-radius: .7rem .7rem 0 0; padding: 2.2rem 3rem; }
.art__head h3 { font-size: 1.4rem; letter-spacing: .03em; }
.art__list { gap: 1rem; padding: 2rem; }
.art__list ul { background: var(--white); border: 1px solid var(--line); border-radius: .5rem; gap: 1.8rem; padding: 1.8rem; }
.art__list ul:nth-child(even) { background: #f8fafb; }
.art__list p { color: var(--ink); font-size: 1.3rem; font-weight: 400; }
.art__box { background: var(--white); border: 1px solid var(--line); border-radius: .8rem; box-shadow: 0 1.2rem 3rem rgba(7,29,51,.05); margin-bottom: 3rem; }
.art__model-flex { background: var(--white); border: 1px solid var(--line); border-radius: .6rem; }
.art__media img { border-radius: .6rem; }
.visit, .works { background: var(--white); padding: 9rem 0; }
.visit__title, .works__title, .feature__title { margin-bottom: 4rem; }
.visit__card, .feature__card, .works__card, .works__cards { border-radius: .7rem; box-shadow: 0 .8rem 2rem rgba(7,29,51,.1); }
.visit__card:hover img, .feature__card:hover img, .works__card:hover img, .works__cards:hover img { transform: scale(1.04); }
.visit__card::before, .feature__card::before, .works__card::before, .works__cards::before { background: linear-gradient(0deg, rgba(7,29,51,.84), rgba(7,29,51,0) 70%); }
.visit__card h3, .feature__card h3, .works__card h3, .works__cards h3 { font-size: 1.55rem; line-height: 1.45; padding: 0 1rem; }
.visit__img img, .feature__img img, .works__img img { transition: transform .45s ease; }
.feature { background: var(--sky); padding: 9rem 0; }
.feature .row { row-gap: 2rem; }
.meeting { background: var(--paper); padding: 9rem 0; }
.join { background: var(--navy); color: var(--white); padding: 8rem 0; }
.join h2, .join p { color: var(--white); }
.join .default-btn { margin-top: 1.5rem; }
.letter { background: var(--white); padding: 8rem 0; }
.logo { display: none !important; }

/* Collection and campaign pages use a shared editorial banner and card grid. */
.service { padding: 0 0 2rem; }
.service__banner { height: clamp(38rem, 44vw, 54rem); margin: 0; }
.service__banner::before { background: linear-gradient(90deg, rgba(5,23,41,.82), rgba(5,23,41,.15)), linear-gradient(0deg, rgba(5,23,41,.7), transparent 72%); }
.service__img { height: 100%; }
.service__img img { filter: saturate(.82); }
.service__banner-content {
  bottom: 6rem;
  left: 50%;
  max-width: var(--content-width);
  padding: 0 2.4rem;
  text-align: left;
  top: auto;
  transform: translateX(-50%);
  width: 100%;
}
.service__banner-content .row, .service__banner-content .col-md-12 { display: block; }
.service__banner-content .row { margin: 0; }
.service__banner-content .col-md-12 { padding: 0; }
.service__banner-content .eyebrow { color: #f4bf70; }
.service__banner-content p.eyebrow { font-size: 1.15rem; margin-bottom: 1.2rem; max-width: none; }
.service__banner-content h1 { color: var(--white); font-size: clamp(3.8rem, 6vw, 6.4rem); letter-spacing: -.06em; line-height: 1.05; margin: 0 0 1.5rem; max-width: 82rem; }
.service__banner-content p { color: rgba(255,255,255,.83); font-size: 1.5rem; line-height: 1.7; margin: 0; max-width: 68rem; }
.service__list { padding: 7rem 0 2rem; }
.service-list-heading { margin: 0 0 3rem; }
.service-list-heading .eyebrow { margin-bottom: .8rem; }
.service-list-heading h2 { color: var(--ink); font-size: 3.2rem; font-weight: 700; letter-spacing: -.04em; margin: 0 0 .8rem; }
.service-list-heading > p:last-child { color: var(--muted); font-size: 1.4rem; margin: 0; }
.service__list .visit__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2rem; }
.service__list .visit__card {
  background: var(--white);
  border: 1px solid var(--line);
  border-radius: .7rem;
  box-shadow: 0 .8rem 2.4rem rgba(7,29,51,.045);
  display: flex;
  flex-direction: column;
  height: auto;
  min-height: 0;
  padding-bottom: 1.8rem;
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.service__list .visit__card::before { content: none; }
.service__list .visit__card:hover { border-color: #b5c7d4; box-shadow: 0 1.4rem 3rem rgba(7,29,51,.12); transform: translateY(-.35rem); }
.service__list .visit__img { aspect-ratio: 1.65; height: auto; overflow: hidden; }
.service__list .visit__img img { border-radius: .7rem .7rem 0 0; transition: transform .45s ease; }
.service__list .visit__card:hover .visit__img img { transform: scale(1.04); }
.service__list .visit__card h3 { color: var(--ink); font-size: 1.5rem; font-weight: 700; left: auto; line-height: 1.45; margin: .6rem 1.8rem 0; position: static; right: auto; }
.visit__meta { color: var(--blue); font-size: 1.05rem; font-weight: 700; letter-spacing: .1em; margin: 1.5rem 1.8rem 0; text-transform: uppercase; }
.service__row { padding: 5rem 0 3rem; }
.service__content h3 { color: var(--ink); font-size: 2.8rem; letter-spacing: -.04em; line-height: 1.2; margin-bottom: 1.5rem; }
.service__content p, .service__content-list p { color: var(--muted); font-size: 1.5rem; line-height: 1.8; }
.service__content-list { background: var(--paper); border: 1px solid var(--line); border-radius: .7rem; margin: 5rem auto; max-width: 100%; padding: clamp(2.2rem, 4vw, 4.8rem); }
.service__content-list h2 { color: var(--ink); font-size: 2.4rem; font-weight: 700; letter-spacing: -.035em; margin: 0 0 1.5rem; }
.service__content-list h3 { color: var(--blue); font-size: 1.7rem; font-weight: 700; margin: 2.6rem 0 .8rem; }
.service__content-list ul { padding-left: 2rem; }
.service__content-list li { color: var(--muted); font-size: 1.45rem; line-height: 1.8; padding-left: .5rem; }
.service__gallery { padding: 2rem 0 7rem; }
.service__gallery > h2 { color: var(--ink); font-size: 3.2rem; letter-spacing: -.04em; margin: 0 0 3rem; text-align: left; }
.service__images { margin-top: 2rem; }
.service__images ul { gap: 1.5rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.service__images ul li img { aspect-ratio: 1.25; border-radius: .6rem; height: auto; object-fit: cover; width: 100%; }
.service__tab .nav-pills { gap: .8rem; }
.service__tab .nav-pills .nav-link { background: var(--paper); border: 1px solid var(--line); border-radius: 4rem; color: var(--muted); font-size: 1.3rem; font-weight: 600; padding: 1rem 1.8rem; }
.service__tab .nav-pills .nav-link.active { background: var(--navy); border-color: var(--navy); color: var(--white); }
.service__para-list, .service__para-lists { background: var(--paper); border: 1px solid var(--line); border-radius: .7rem; box-shadow: none; margin: 4rem 0; padding: clamp(2.4rem, 4vw, 4.8rem); }
.service__para-list h3, .service__para-lists h3 { color: var(--ink); font-size: 2.5rem; margin-bottom: 2rem; text-align: left; }
.service__para-list p, .service__para-lists p { color: var(--muted); font-size: 1.45rem; font-weight: 400; line-height: 1.85; text-align: left; }
.aircraft-feature-page { padding-bottom: 8rem; padding-top: 7rem; }
.aircraft-feature-page .section-heading { text-align: left; margin-left: 0; }
.aircraft-feature-page .section-heading h2 { font-size: clamp(3rem,4vw,4.5rem); }
.aircraft-feature-page .section-heading > p:last-child { margin-left: 0; }
.aircraft-feature-page__grid { display: grid; gap: 2rem; grid-template-columns: repeat(2, minmax(0,1fr)); margin: 3rem 0; }
.aircraft-feature-page__grid figure { background: var(--paper); border: 1px solid var(--line); border-radius: .7rem; margin: 0; overflow: hidden; }
.aircraft-feature-page__grid img { aspect-ratio: 1.4; display: block; object-fit: cover; width: 100%; }
.aircraft-feature-page__grid figcaption { color: var(--muted); font-size: 1.25rem; padding: 1.2rem 1.6rem; }

/* About, people and text-led information pages. */
.about { padding-top: 8rem; }
.about__bg { min-height: 58rem; }
.about__content h1 { font-size: clamp(3.8rem,6vw,6rem); letter-spacing: -.06em; line-height: 1.05; }
.about__content > p { color: var(--muted); font-size: 1.5rem; }
.about__content ul { backdrop-filter: blur(1rem); background: rgba(7,29,51,.78); border: 1px solid rgba(255,255,255,.22); border-radius: .6rem; display: grid; gap: 1.5rem; grid-template-columns: repeat(6,minmax(0,1fr)); max-width: 100%; padding: 1.8rem 2.2rem; }
.about__content ul > li:nth-child(even) { display: none; }
.about__content ul li h3 { color: #f0b454; font-size: 2rem; margin-bottom: .5rem; }
.about__content ul li p { color: rgba(255,255,255,.8); font-size: 1.1rem; line-height: 1.4; }
.about__content ul li > span { display: none; }
.banner { min-height: 0; padding-bottom: 7rem; }
.banner__row { min-height: 38rem; }
.banner .swiper, .banner .swiper-wrapper, .banner .swiper-slide { height: 38rem; }
.banner__slide-img img { border-radius: .6rem; }
.journey, .excell, .artist, .signature, .add, .volunteer, .timeline, .academic, .mission, .award, .vision, .part { padding-bottom: 7rem; padding-top: 7rem; }
.journey, .artist, .volunteer, .timeline, .award { background: var(--white); }
.excell, .signature, .add, .academic, .mission, .vision, .part { background: var(--paper); }
.journey__title, .academic__title, .award__title, .vision__title { margin-bottom: 4rem; }
.terms { padding: 13rem 0 8rem; }
.terms__content { background: var(--white); border: 1px solid var(--line); border-radius: .7rem; padding: clamp(2.2rem,5vw,5rem); }
.terms__content h1 { color: var(--ink); font-size: 3.8rem; letter-spacing: -.05em; margin-bottom: 3.5rem; }
.terms__content h2 { color: var(--blue); font-size: 2.1rem; margin: 2.8rem 0 1rem; }
.terms__content p, .terms__content li { color: var(--muted); font-size: 1.4rem; }
.meet { background: var(--white); padding: 10rem 0 7rem; }
.meet__row { gap: 2.5rem; padding-top: 4rem; }
.meet__content { border: 1px solid var(--line); border-radius: .7rem; padding: 3rem; }
.meet__content h3 { color: var(--ink); font-size: 2.5rem; letter-spacing: -.04em; margin-bottom: 1.2rem; }
.meet__content p { color: var(--muted); font-size: 1.4rem; font-weight: 400; line-height: 1.8; }
.padding-left, .padding-right { background: var(--paper); border: 1px solid var(--line); border-left: .35rem solid var(--blue); border-radius: .7rem; padding: 3rem; }
.meet__img img, .meet__video iframe { border-radius: .7rem; }
.thank { min-height: 65vh; padding: 14rem 0 7rem; }
.thank-container { background: var(--paper); border: 1px solid var(--line); margin: 0 auto; max-width: 75rem; }

/* Contact and footer are the consistent end point across the site. */
.contact { background: var(--paper); border-top: 1px solid var(--line); padding: 8rem 0 9rem; }
.contact .container { max-width: 116rem; }
.contact__title { margin: 0 auto 4rem; }
.contact__title .sec-title { font-size: 4rem; }
.contact__left ul { gap: 2.5rem; }
.contact__left ul li { align-items: flex-start; }
.contact__left ul li > img { filter: none; opacity: .72; width: 2rem; }
.contact__content h3 { color: var(--ink); font-size: 1.55rem; margin-bottom: .45rem; }
.contact__content a, .contact__content p { color: var(--muted); font-size: 1.35rem; line-height: 1.7; }
.contact__right { background: var(--white); border: 1px solid var(--line); border-radius: .7rem; padding: 2.8rem; }
.contact__input input, .contact__text textarea { background: #f8fafb !important; border: 1px solid var(--line); border-radius: .45rem; color: var(--ink); font-size: 1.4rem; height: 5rem; padding: 1.2rem 1.4rem; }
.contact__text textarea { height: auto; min-height: 14rem; }
.contact__input input::placeholder, .contact__text textarea::placeholder { color: #8a99a6; }
.contact__input label, .contact__text label { color: var(--ink); font-size: 1.25rem; font-weight: 700; }
.contact__consent { align-items: flex-start; color: var(--muted); display: flex; font-size: 1.2rem; gap: .9rem; line-height: 1.5; margin-bottom: 2rem; }
.contact__consent input { accent-color: var(--blue); flex: 0 0 auto; height: 1.6rem; margin-top: .1rem; width: 1.6rem; }
.footer { background: var(--navy); padding: 6rem 0 3rem; }
.footer__logo img { max-width: 16rem; }
.footer__logo p { color: rgba(255,255,255,.66); font-size: 1.3rem; line-height: 1.75; margin-top: 1.5rem; max-width: 34rem; }
.footer__list h4, .footer__end h4 { color: var(--white); font-size: 1.25rem; letter-spacing: .1em; text-transform: uppercase; }
.footer__link { gap: 1rem; }
.footer__link a, .footer__right p, .footer__right a, .footer__right span { color: rgba(255,255,255,.68); font-size: 1.2rem; line-height: 1.7; }
.footer__link a:hover, .footer__right a:hover { color: #f0b454; }
.footer__end ul li { align-items: flex-start; }
.footer__end ul li > img { filter: brightness(0) invert(1); opacity: .65; width: 1.8rem; }
.footer__social img { opacity: .78; transition: opacity .2s ease, transform .2s ease; }
.footer__social a:hover img { opacity: 1; transform: translateY(-2px); }
.footer__copyright { border-top: 1px solid rgba(255,255,255,.12); margin-top: 2.5rem; padding-top: 2rem; }
.footer__copyright p { color: rgba(255,255,255,.5); font-size: 1.1rem; margin: 0; }

@media (max-width: 991px) {
  .header__middle { display: none; }
  .header__end .default-btn { display: inline-flex; }
  .header__end button { display: block; }
  .home-hero { min-height: 0; padding: 14rem 0 8rem; }
  .home-hero__layout { grid-template-columns: 1fr minmax(26rem,.75fr); gap: 2.5rem; }
  .home-hero__visual { padding: 1.5rem; }
  .service__list .visit__grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .service__images ul { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .about__content ul { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 767px) {
  .header { padding: .9rem 0 !important; }
  .header .container-fluid { padding: 0 1.8rem; }
  .header__flex { min-height: 4.8rem; }
  .header__logo { flex-basis: 13rem; }
  .header__logo img { max-height: 3.8rem; width: 12rem !important; }
  .header__end .default-btn { display: none; }
  .header__end button img { width: 3.2rem; }
  .home-hero { padding: 12rem 0 7rem; }
  .home-hero__layout { display: flex; flex-direction: column; align-items: stretch; gap: 3rem; }
  .home-hero h1 { font-size: clamp(4rem,12vw,5.6rem); }
  .home-hero__lead { font-size: 1.45rem; }
  .home-hero__visual { align-self: center; max-width: 52rem; transform: none; width: 100%; }
  .home-hero__visual-label { font-size: .85rem; }
  .home-hero__role { font-size: 1rem; line-height: 1.8; }
  .home-hero__actions { gap: 1.5rem; margin: 2.2rem 0; }
  .at-a-glance__grid { grid-template-columns: repeat(2,1fr); padding: 1.4rem 0; }
  .at-a-glance__grid > div { border-right: 0; padding: 1.2rem 1.4rem; }
  .at-a-glance__grid > div:nth-child(odd) { border-right: 1px solid rgba(255,255,255,.18); }
  .at-a-glance__grid > div:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.18); }
  .at-a-glance strong { font-size: 2.1rem; }
  .at-a-glance span { font-size: .95rem; }
  .home-pathways, .we, .art, .visit, .feature, .works, .meeting, .letter { padding: 6rem 0; }
  .section-heading--split { align-items: flex-start; display: block; }
  .section-heading--split > p:last-child { margin: 1.5rem 0 0; }
  .pathway-grid { grid-template-columns: 1fr; }
  .pathway-card { min-height: 22rem; padding: 2.4rem; }
  .pathway-card h3 { margin-top: 2.8rem; }
  .home-calendar { padding: 5.5rem 0; }
  .home-calendar__layout { grid-template-columns: 1fr; gap: 2.5rem; }
  .home-calendar__frame { height: 32rem; }
  .we__left, .we__right { padding: 2rem; }
  .service__banner { height: 42rem; }
  .service__banner-content { bottom: 3.5rem; padding: 0 2.4rem; }
  .service__banner-content h1 { font-size: 4rem; }
  .service__banner-content p { font-size: 1.3rem; max-width: 100%; }
  .service__list { padding: 5rem 0 1rem; }
  .service__list .visit__grid { grid-template-columns: 1fr; }
  .service__list .visit__img { aspect-ratio: 1.6; }
  .about__content ul { grid-template-columns: repeat(2,minmax(0,1fr)); margin: 0 1rem; }
  .service__images ul { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .9rem; }
  .service__gallery > h2 { font-size: 2.7rem; }
  .aircraft-feature-page__grid { grid-template-columns: 1fr; }
  .contact { padding: 6rem 0; }
  .contact__left { margin-bottom: 3rem; }
  .contact__right { padding: 2rem; }
  .contact__title .sec-title { font-size: 3.4rem; }
  .footer { padding: 4.5rem 0 2.5rem; }
  .footer__logo { text-align: left; }
  .footer__list, .footer__end { margin-top: 1rem; text-align: left; }
  .footer__link { align-items: flex-start; }
  .footer__end ul li { align-items: flex-start; flex-direction: row; }
  .footer__social { justify-content: flex-start; }
  .terms { padding-top: 10rem; }
  .terms__content h1 { font-size: 3rem; }
}
