/* Bomber County Hangars — reference: 12 - Bomber County Hangars.png (749px mockup ≈ 1440px desktop, ×1.92) */

/* ---------- Hero: headline over a misty airfield sky, hangar photograph on the right ---------- */
.hgr-hero {
  --media-w: 50%; --fade: 16%; --hero-h: clamp(480px, 46vw, 700px); --copy-w: 50%;
  background:
    radial-gradient(ellipse 36% 30% at 30% 20%, rgb(255 255 255 / .9), transparent 70%),
    radial-gradient(ellipse 60% 26% at 30% 82%, rgb(255 246 226 / .9), transparent 70%),
    linear-gradient(180deg, #bcdcf3 0%, #dcebf6 40%, #f3efe6 72%, #efe7d6 100%);
}
.hgr-hero .hero__media img { object-position: 60% 50%; }
.hgr-hero__skyline { left: 26%; bottom: calc(var(--wave-h) + 3%); width: 28%; opacity: .25; z-index: 0; }
.hgr-hero .hero__inner { align-content: start; padding-block: clamp(2rem, 4.6vw, 4.6rem) calc(var(--wave-h) + clamp(7rem, 10vw, 10rem)); }
.hgr-hero__title { font-size: clamp(2.6rem, 1rem + 5.4vw, 6.6rem); line-height: .92; margin-bottom: clamp(.8rem, 1.4vw, 1.4rem); text-shadow: 0 0 30px rgb(255 255 255 / .6); }
.hgr-hero__lede { font-size: clamp(1.05rem, .7rem + 1.05vw, 1.85rem); line-height: 1.2; max-width: 36ch; }
.hgr-hero__note { position: absolute; z-index: 3; left: max(var(--gutter), 3.5%); bottom: calc(var(--wave-h) * .9); --tilt: -14deg; font-size: clamp(1.25rem, .6rem + 1.45vw, 2.4rem); line-height: 1.04; }

/* ---------- Four-point strip between tartan ribbons ---------- */
.hgr-strip { position: relative; z-index: 5; margin-top: calc(var(--wave-h) * -.3); background: var(--paper-tex) 0 0 / 512px, #f7f5ee; padding-top: clamp(1.2rem, 2vw, 2rem); overflow: hidden; }
.hgr-strip__deco { top: 4%; width: clamp(60px, 7vw, 110px); }
.hgr-strip__list { --cols: 4; padding-bottom: clamp(.8rem, 1.4vw, 1.4rem); }
.hgr-strip__list h3 { font-size: clamp(.9rem, .6rem + .8vw, 1.4rem); }
.hgr-strip__list .icon-lg { width: clamp(40px, 2rem + 2vw, 66px); height: clamp(40px, 2rem + 2vw, 66px); }
.hgr-strip__list p { font-size: clamp(.9rem, .75rem + .45vw, 1.28rem); line-height: 1.22; }
.hgr-strip__wave { margin-bottom: calc(var(--wave-h) * -.4); }

/* ---------- Mission: text left, airfield map illustration right ---------- */
.hgr-mission { overflow: hidden; background: var(--paper-tex) 0 0 / 512px, #f6f3ea; padding-block: clamp(2.4rem, 4.6vw, 4.6rem); }
.hgr-mission__art { position: absolute; right: 0; top: 0; bottom: 0; width: 55%; }
.hgr-mission__art img {
  width: 100%; height: 100%; object-fit: cover; object-position: 40% 50%;
  -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16%); mask-image: linear-gradient(90deg, transparent 0, #000 16%);
}
.hgr-mission__note { position: absolute; left: 13%; top: 38%; --tilt: -16deg; font-size: clamp(1.2rem, .6rem + 1.35vw, 2.3rem); }
.hgr-mission__thistle { top: 12%; width: clamp(60px, 7vw, 120px); }
.hgr-mission__grid { position: relative; z-index: 1; }
.hgr-mission__text { max-width: 47%; }
.hgr-mission .h-serif { font-size: clamp(2.2rem, 1rem + 3.4vw, 4.4rem); line-height: 1; margin-bottom: clamp(.8rem, 1.4vw, 1.4rem); }
.hgr-mission__body { font-size: clamp(1rem, .85rem + .5vw, 1.5rem); line-height: 1.3; color: var(--navy-800); margin-bottom: clamp(1rem, 1.8vw, 1.8rem); max-width: 34em; }

/* ---------- Member benefits cards ---------- */
.hgr-perks { padding-top: clamp(2rem, 3.4vw, 3.4rem); }
.hgr-perks .eyebrow { margin-bottom: .3rem; }
.hgr-perks__title { font-size: clamp(2rem, 1rem + 3.9vw, 4.9rem); margin-bottom: clamp(1rem, 1.8vw, 1.8rem); }
.hgr-perks__cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(.8rem, 1.6vw, 1.6rem); }
.hgr-perk { background: linear-gradient(180deg, #fff, #f5f9fc); }
.hgr-perk .card__media { --ratio: 2 / 1; overflow: visible; }
.hgr-perk .card__media img { border-radius: var(--radius) var(--radius) 0 0; }
.hgr-perk .card__badge { --size: clamp(48px, 2.4rem + 1.2vw, 68px); }
.hgr-perk .card__body { padding-top: clamp(2rem, 2.6vw, 2.6rem); }
.hgr-perk .h-card--caps { font-size: clamp(1.1rem, .8rem + .85vw, 1.6rem); line-height: 1.05; }
.hgr-perk .card__body p { font-size: clamp(.92rem, .8rem + .4vw, 1.2rem); line-height: 1.3; }
.hgr-post .h-card--caps { font-size: clamp(1rem, .8rem + .55vw, 1.35rem); line-height: 1.05; }

/* ---------- Join the crew banner ---------- */
.hgr-join { background: var(--navy-950); }
.hgr-join__banner {
  position: relative; overflow: hidden; display: grid; grid-template-columns: 22% minmax(0, 1fr) clamp(140px, 13vw, 200px) 17%;
  align-items: center; box-shadow: 0 6px 24px rgb(0 20 50 / .25);
  background: radial-gradient(ellipse 60% 100% at 45% 0%, #0b3566, transparent 70%), linear-gradient(180deg, #032b5b, var(--navy-950));
  min-height: clamp(300px, 23vw, 360px);
}
.hgr-join__photo { align-self: stretch; position: relative; }
.hgr-join__photo img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hgr-join__photo--l img { -webkit-mask-image: linear-gradient(90deg, #000 70%, transparent); mask-image: linear-gradient(90deg, #000 70%, transparent); }
.hgr-join__photo--r img { -webkit-mask-image: linear-gradient(270deg, #000 70%, transparent); mask-image: linear-gradient(270deg, #000 70%, transparent); }
.hgr-join__text { padding: clamp(1.4rem, 2.4vw, 2.4rem) clamp(1rem, 2vw, 2rem); }
.hgr-join__title { color: #fff; font-size: clamp(2.3rem, 1rem + 3.6vw, 4.6rem); line-height: .95; }
.hgr-join__sub { font-family: var(--font-body); font-size: clamp(1.2rem, .9rem + 1vw, 2rem); color: #fff; margin: .4rem 0 .5rem; }
.hgr-join__body { color: #d6e3f2; font-size: clamp(.95rem, .85rem + .35vw, 1.25rem); line-height: 1.32; max-width: 38em; margin-bottom: 1.1rem; }
.hgr-join__btn { letter-spacing: .12em; text-transform: uppercase; font-weight: 800; font-size: clamp(.82rem, .75rem + .25vw, 1rem); }
.hgr-join__price {
  background: var(--paper-tex) 0 0 / 300px, #f8f3e6; color: var(--navy-800); border-radius: 10px; text-align: center;
  padding: clamp(.9rem, 1.4vw, 1.4rem) clamp(.6rem, 1vw, 1rem); box-shadow: 0 6px 20px rgb(0 0 0 / .35);
}
.hgr-join__amount { font-family: var(--font-serif); font-size: clamp(3rem, 1.6rem + 3.4vw, 5.4rem); line-height: .9; }
.hgr-join__per { font-family: var(--font-serif); text-transform: uppercase; font-size: clamp(1rem, .8rem + .6vw, 1.5rem); padding-bottom: .5rem; margin-bottom: .5rem; border-bottom: 1px solid #c9bfa6; }
.hgr-join__runs { font-family: var(--font-body); font-size: clamp(.88rem, .8rem + .2vw, 1rem); line-height: 1.25; }

/* ---------- The Flight Log ---------- */
.hgr-log { overflow: hidden; background: linear-gradient(180deg, #dcedf9, #eaf4fb 60%, #f4f8fa); padding-top: clamp(2rem, 3.2vw, 3.2rem); }
.hgr-log__plane { left: 46%; top: 2%; width: clamp(240px, 32vw, 500px); opacity: .5; transform: scaleX(-1); }
.hgr-log__head { position: relative; z-index: 1; display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: clamp(1rem, 1.8vw, 1.8rem); }
.hgr-log__head .eyebrow { margin-bottom: .2rem; }
.hgr-log__title { font-size: clamp(2.2rem, 1rem + 3.4vw, 4.4rem); }
.hgr-log__sub { font-family: var(--font-ui); font-weight: 600; font-size: clamp(1rem, .85rem + .55vw, 1.55rem); color: var(--navy-800); margin-top: .3rem; }
.hgr-log__note { --tilt: -12deg; font-size: clamp(1.2rem, .7rem + 1.1vw, 2.1rem); margin-right: 2%; }
.hgr-log__cards { position: relative; z-index: 1; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: clamp(.7rem, 1.2vw, 1.2rem); }
.hgr-post .card__media { --ratio: 134 / 82; overflow: visible; }
.hgr-post .card__media img { border-radius: var(--radius) var(--radius) 0 0; }
.hgr-post .card__badge { --size: clamp(42px, 2rem + 1vw, 56px); }
.hgr-post .card__body { padding-top: clamp(1.8rem, 2.2vw, 2.2rem); }
.hgr-post .card__body p { font-size: clamp(.86rem, .8rem + .2vw, 1rem); }
.hgr-post__members {
  margin-top: auto; padding-top: .7rem; font-family: var(--font-ui); font-weight: 700; font-size: .8rem; line-height: 1.3; color: var(--navy-700);
  text-decoration: underline; text-decoration-color: #8fb5dd; text-underline-offset: .25em; position: relative; z-index: 2;
}
.hgr-post__members:hover { color: var(--navy-500); }

/* ---------- Welcome pack ---------- */
.hgr-pack { overflow: hidden; padding-block: clamp(2rem, 3.6vw, 3.6rem) 0; }
.hgr-pack__thistle { top: 6%; width: clamp(60px, 8vw, 130px); }
.hgr-pack__grid { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr) minmax(0, .55fr); gap: clamp(1rem, 2vw, 2rem); align-items: center; }
.hgr-pack__title { font-size: clamp(1.9rem, 1rem + 2.3vw, 3.3rem); margin-bottom: .7rem; }
.hgr-pack__body { font-size: clamp(1rem, .85rem + .5vw, 1.5rem); line-height: 1.3; color: var(--navy-800); }
.hgr-pack__merch img { width: 100%; mix-blend-mode: multiply; }
.hgr-pack__note { --tilt: -13deg; font-size: clamp(1.2rem, .7rem + 1.2vw, 2.2rem); }
.hgr-pack__wave { margin-top: clamp(-2rem, -2vw, -.5rem); }

/* ---------- Registration ---------- */
.hgr-register { padding-block: clamp(1.4rem, 2.4vw, 2.4rem); background: linear-gradient(180deg, #eef6fc, #e3f0fa); }
.hgr-register__card { position: relative; background: rgb(255 255 255 / .82); border-radius: 14px; box-shadow: var(--shadow-sm); padding: clamp(1rem, 1.8vw, 1.8rem) clamp(1rem, 2.4vw, 2.4rem); overflow: hidden; }
.hgr-register__planes { right: 16%; top: 6%; width: clamp(120px, 16vw, 240px); opacity: .25; }
.hgr-register__banner { position: relative; z-index: 1; display: grid; grid-template-columns: clamp(150px, 18vw, 270px) minmax(0, 1fr) auto auto; gap: clamp(1rem, 2.6vw, 2.6rem); align-items: center; }
.hgr-register__photo { aspect-ratio: 139 / 84; }
.hgr-register__title { font-size: clamp(1.6rem, 1rem + 1.8vw, 2.9rem); }
.hgr-register__eyebrow { margin: .3rem 0 .7rem; letter-spacing: .32em; }
.hgr-register__body { font-size: clamp(.98rem, .88rem + .3vw, 1.2rem); line-height: 1.32; color: var(--text-soft); max-width: 40em; }
.hgr-roundel {
  width: clamp(54px, 5vw, 90px); height: clamp(54px, 5vw, 90px); flex: none; border-radius: 50%;
  background: radial-gradient(circle, #ef8a9b 0 30%, #fff 31% 58%, #8ab6e2 59% 100%); box-shadow: 0 1px 4px rgb(0 0 0 / .12);
}
.hgr-register__form { position: relative; z-index: 1; margin-top: clamp(1.2rem, 2vw, 2rem); padding-top: clamp(1.2rem, 2vw, 2rem); border-top: 2px solid var(--line-soft); }
.hgr-register__note { font-family: var(--font-ui); font-size: .95rem; background: var(--sky-100); color: var(--navy-800); border-radius: 8px; padding: .8rem 1rem; margin-bottom: 1.2rem; }
.hgr-optional { font-weight: 500; color: var(--slate); }
.hgr-register .check { font-weight: 600; color: var(--text); }
.hgr-register__submit { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1.2rem; }

/* ---------- Stay connected ---------- */
.hgr-social { overflow: hidden; background: linear-gradient(180deg, #e3f0fa, #d9ecfa); padding-bottom: calc(var(--section-y) * .5 + var(--wave-h) * .5); }
.hgr-social__poppies { right: 9%; bottom: 0; width: clamp(70px, 7vw, 120px); opacity: .9; }
.hgr-social__thistle { top: 0; }
.hgr-social__grid { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 1.5rem 3rem; align-items: center; padding-right: clamp(0rem, 12vw, 12rem); }
.hgr-social .eyebrow { margin-bottom: .4rem; color: var(--navy-700); }
.hgr-social__text { font-size: clamp(1rem, .9rem + .4vw, 1.35rem); line-height: 1.3; color: var(--navy-800); max-width: 32em; }

/* ---------- Responsive ---------- */
@media (max-width: 1080px) {
  .hgr-log__cards { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .hgr-log__cards > li { grid-column: span 2; }
  .hgr-log__cards > li:nth-child(4) { grid-column: 2 / span 2; }
  .hgr-join__banner { grid-template-columns: 26% minmax(0, 1fr) clamp(130px, 18vw, 180px); }
  .hgr-join__photo--r { display: none; }
  .hgr-join__price { margin-right: 1.4rem; }
  .hgr-register__banner { grid-template-columns: clamp(140px, 22vw, 220px) minmax(0, 1fr); }
  .hgr-register__start { grid-column: 2; justify-self: start; }
  .hgr-roundel { display: none; }
}
@media (max-width: 980px) {
  .hgr-perks__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 1.6rem; }
  .hgr-pack__grid { grid-template-columns: 1fr 1fr; }
  .hgr-pack__text { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .hgr-hero { --copy-w: 100%; }
  .hgr-hero .hero__inner { padding-block: 2rem 1.2rem; }
  .hgr-hero__note { display: none; }
  .hgr-hero__skyline { display: none; }
  .hgr-mission { padding-top: 0; }
  .hgr-mission__art { position: relative; width: 100%; aspect-ratio: 398 / 269; }
  .hgr-mission__art img { -webkit-mask-image: linear-gradient(180deg, #000 80%, transparent); mask-image: linear-gradient(180deg, #000 80%, transparent); }
  .hgr-mission__text { max-width: none; }
  .hgr-mission__thistle { display: none; }
}
@media (max-width: 760px) {
  .hgr-strip__list { --cols: 2; }
  .hgr-join__banner { grid-template-columns: 1fr; }
  .hgr-join__photo--l { min-height: 200px; }
  .hgr-join__photo--l img { -webkit-mask-image: linear-gradient(180deg, #000 60%, transparent); mask-image: linear-gradient(180deg, #000 60%, transparent); }
  .hgr-join__price { margin: 0 1.4rem 1.6rem; justify-self: start; min-width: 180px; }
  .hgr-log__head { flex-direction: column; }
  .hgr-log__note { display: none; }
  .hgr-log__cards { grid-template-columns: 1fr 1fr; row-gap: 1.6rem; }
  .hgr-log__cards > li, .hgr-log__cards > li:nth-child(4) { grid-column: auto; }
  .hgr-log__cards > li:last-child { grid-column: 1 / -1; }
  .hgr-pack__grid { grid-template-columns: 1fr; }
  .hgr-pack__note { justify-self: center; }
  .hgr-register__banner { grid-template-columns: 1fr; }
  .hgr-register__photo { width: min(100%, 300px); }
  .hgr-register__start { grid-column: auto; white-space: normal; }
  .hgr-social__grid { grid-template-columns: 1fr; padding-right: 0; }
  .hgr-social__poppies { display: none; }
}
@media (max-width: 520px) {
  .hgr-perks__cards, .hgr-log__cards { grid-template-columns: 1fr; }
  .hgr-join__btn { white-space: normal; text-align: center; }
}

/* Card heading links: whole-card targets, underline only on hover/focus */
.hgr-perk .card__link-cover, .hgr-post .card__link-cover { text-decoration: none; }
.hgr-perk:hover .card__link-cover, .hgr-post:hover .card__link-cover { text-decoration: underline; text-underline-offset: .15em; }
@media (max-width: 760px) { .hgr-strip__list br { display: none; } }
@media (max-width: 1180px) and (min-width: 901px) {
  .hgr-hero { --copy-w: 56%; }
  .hgr-hero__title { font-size: clamp(2.6rem, .6rem + 4.6vw, 5rem); }
  .hgr-hero__note { font-size: 1.3rem; bottom: calc(var(--wave-h) * .7); }
  .hgr-hero .hero__inner { padding-bottom: calc(var(--wave-h) + 6.5rem); }
}
@media (min-width: 1100px) {
  .hgr-hero__title, .hgr-pack__title, .hgr-register__title { white-space: nowrap; }
  .hgr-hero__title { font-size: clamp(3rem, .8rem + 4.6vw, 5.6rem); }
}
@media (min-width: 1100px) { .hgr-register__title { font-size: clamp(1.6rem, .2rem + 2.2vw, 2.8rem); } }
