/* Pipe Band Hire — reference: 03 - Pipe Band Hire.png (809px mockup ≈ 1440px desktop, ×1.78) */

/* ---------- Hero ---------- */
.hero--hire { --media-w: 54%; --fade: 24%; --hero-h: clamp(460px, 42vw, 630px); --copy-w: 52%; }
.hero--hire .display { font-size: clamp(2.7rem, .8rem + 5.4vw, 6.2rem); }
@media (min-width: 901px) { .hero--hire .display span { white-space: nowrap; } }
.hero--hire .hero__lede { max-width: 50ch; font-size: clamp(1.1rem, .8rem + .95vw, 1.7rem); line-height: 1.22; }
.hero--hire .hero__note { --tilt: -9deg; right: 2.5%; top: 4%; font-size: clamp(1.3rem, .8rem + 1.2vw, 2.2rem); }
.hero--hire .btn--outline .icon { width: 1.15em; height: 1.15em; }
@media (max-width: 1180px) { .br-wide { display: none; } }
@media (max-width: 900px) { .hero--hire { --copy-w: 100%; } .hero--hire .hero__note { top: auto; right: 1rem; font-size: 1.25rem; } }

/* ---------- Ensembles: five slanted panels ---------- */
.hire-ensembles { position: relative; overflow: hidden; padding-top: clamp(1.4rem, 2.4vw, 2.4rem); }
.hire-ensembles__head { display: flex; align-items: center; justify-content: space-between; gap: 1rem 2rem; margin-bottom: clamp(.8rem, 1.4vw, 1.4rem); }
.hire-ensembles__head .h-serif { font-size: clamp(1.7rem, .6rem + 2.75vw, 3.2rem); line-height: 1; letter-spacing: -.03em; }
.hire-ensembles__tag {
  position: relative; flex: none; font-family: var(--font-ui); font-weight: 700; text-transform: uppercase; letter-spacing: .18em;
  font-size: clamp(.62rem, .55rem + .2vw, .8rem); line-height: 1.9; color: var(--navy-500); padding-right: clamp(2rem, 4vw, 5rem);
}
.hire-ensembles__tag-plane { position: absolute; right: -1.5rem; top: -1.4rem; width: clamp(90px, 9vw, 150px); opacity: .45; z-index: -1; }

.hire-strip {
  --strip-h: clamp(420px, 38vw, 580px); --slant: calc(var(--strip-h) * .14); --gap: 6px;
  display: flex; height: var(--strip-h);
}
.hire-strip__item {
  position: relative; flex: 1 1 0; min-width: 0; margin-left: calc(var(--gap) - var(--slant));
  clip-path: polygon(var(--slant) 0, 100% 0, calc(100% - var(--slant)) 100%, 0 100%);
  background: var(--paper-tex) 0 0 / 400px, linear-gradient(180deg, #fbfaf7, #f2f1ec);
  overflow: hidden;
}
.hire-strip__item:first-child { margin-left: 0; clip-path: polygon(0 0, 100% 0, calc(100% - var(--slant)) 100%, 0 100%); flex-grow: .92; }
.hire-strip__item:last-child { clip-path: polygon(var(--slant) 0, 100% 0, 100% 100%, 0 100%); flex-grow: 1.12; }
.hire-strip__item--4 { background: linear-gradient(180deg, #d9ebf9, #f2f6f9 55%); }
.hire-strip__item--5 { background: linear-gradient(180deg, #e9dccb, #f4ece0 55%); }
.hire-strip__media { position: absolute; left: 0; right: 0; bottom: 0; height: 78%; z-index: 0; }
.hire-strip__item--4 .hire-strip__media, .hire-strip__item--5 .hire-strip__media { height: 80%; }
.hire-strip__media img {
  width: 100%; height: 100%; object-fit: cover; object-position: 50% 20% !important; transition: transform .7s ease;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, rgb(0 0 0 / .25) 18%, #000 36%); mask-image: linear-gradient(180deg, transparent 0, rgb(0 0 0 / .25) 18%, #000 36%);
}
.hire-strip__item:hover .hire-strip__media img { transform: scale(1.04); }
.hire-strip__thistle { position: absolute; left: -6%; top: 8%; width: 34%; opacity: .45; z-index: 0; }
.hire-strip__thistle--r { left: auto; right: 6%; top: 2%; width: 30%; }
.hire-strip__text {
  position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; gap: .35rem;
  padding: clamp(1rem, 1.8vw, 1.8rem) calc(var(--slant) * .8 + .5rem) 0;
}
.hire-strip__item:first-child .hire-strip__text { padding-left: 1rem; }
.hire-strip__icons { display: inline-flex; gap: .3rem; }
.hire-strip__icon { width: clamp(38px, 1.4rem + 2.8vw, 70px); height: clamp(38px, 1.4rem + 2.8vw, 70px); color: var(--navy-800); margin-bottom: .2rem; }
.hire-strip__title { font-family: var(--font-serif); font-weight: 400; text-transform: uppercase; color: var(--navy-800); font-size: clamp(1.05rem, .55rem + 1.35vw, 1.85rem); line-height: 1.02; }
.hire-strip__text p { font-size: clamp(.95rem, .6rem + .85vw, 1.4rem); line-height: 1.16; color: var(--navy-800); max-width: 13em; }
@media (max-width: 1080px) {
  .hire-strip { --strip-h: clamp(380px, 46vw, 460px); --slant: calc(var(--strip-h) * .09); }
  .hire-strip__text p { font-size: .92rem; }
}
@media (max-width: 760px) {
  .hire-ensembles__head { flex-direction: column; align-items: flex-start; }
  .hire-ensembles__tag { display: none; }
  .hire-strip { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; height: auto; padding-inline: var(--gutter); }
  .hire-strip__item, .hire-strip__item:first-child, .hire-strip__item:last-child { margin: 0; clip-path: none; min-height: 330px; border-radius: 8px; }
  .hire-strip__item:last-child { grid-column: 1 / -1; min-height: 300px; }
  .hire-strip__text, .hire-strip__item:first-child .hire-strip__text { padding: 1rem .7rem 0; }
  .hire-strip__media { height: 66%; }
}
@media (max-width: 420px) {
  .hire-strip { gap: 6px; }
  .hire-strip__item { min-height: 360px; }
  .hire-strip__media { height: 68%; }
  .hire-strip__text p { font-size: .88rem; }
}

/* ---------- Occasions ---------- */
.hire-occasions {
  overflow: hidden; padding-top: calc(var(--section-y) * .7);
  background: radial-gradient(ellipse 50% 40% at 85% 0%, rgb(255 255 255 / .8), transparent 70%), linear-gradient(180deg, #e7f3fc, #eff7fd 50%, #f3f8fc);
}
.hire-occasions__thistle { top: 4%; }
.hire-occasions__plane { right: 1%; top: 2%; width: clamp(180px, 23vw, 340px); opacity: .7; }
.hire-occasions__head { display: flex; align-items: flex-start; gap: 1rem clamp(1.5rem, 4vw, 5rem); margin-bottom: clamp(1.6rem, 2.6vw, 2.6rem); padding-left: clamp(0rem, 5vw, 5.5rem); padding-right: 22%; }
.hire-occasions__head .h-serif { font-size: clamp(2rem, .7rem + 3.6vw, 4.4rem); line-height: 1; margin-bottom: .6rem; }
.hire-occasions__lede { font-size: clamp(1rem, .6rem + 1vw, 1.6rem); line-height: 1.3; color: var(--navy-800); }
.hire-occasions__note { --tilt: -16deg; flex: none; margin-top: 0; font-size: clamp(1.2rem, .7rem + 1.2vw, 2.1rem); line-height: 1.05; }
.hire-cards { display: grid; grid-template-columns: repeat(5, 1fr); gap: clamp(.6rem, 1vw, 1rem); }
.hire-card { border-radius: 5px; box-shadow: 0 2px 6px rgb(0 30 63 / .14); transition: transform .25s, box-shadow .25s; }
.hire-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.hire-card__top { position: relative; }
.hire-card .card__media { --ratio: 153 / 112; }
.hire-card__badge { position: absolute; left: 50%; bottom: 0; transform: translate(-50%, 50%); z-index: 2; --size: clamp(52px, 2.6rem + 2vw, 78px); }
.hire-card .card__body { align-items: center; text-align: center; padding-top: calc(clamp(52px, 2.6rem + 2vw, 78px) / 2 + .8rem); gap: .55rem; }
.hire-card .h-card { font-size: clamp(1.1rem, .6rem + 1.15vw, 1.75rem); line-height: 1.08; }
.hire-card .card__body p { font-size: clamp(.92rem, .6rem + .7vw, 1.3rem); line-height: 1.28; }
@media (max-width: 1000px) {
  .hire-occasions__head { padding-inline: 0; }
  .hire-occasions__plane { opacity: .35; }
  .hire-cards { grid-template-columns: repeat(6, 1fr); }
  .hire-card { grid-column: span 2; }
  .hire-card:nth-child(4) { grid-column: 2 / span 2; }
}
@media (max-width: 760px) {
  .hire-occasions__head { flex-direction: column; }
  .hire-occasions__note { align-self: flex-end; }
  .hire-cards { grid-template-columns: 1fr 1fr; }
  .hire-card, .hire-card:nth-child(4) { grid-column: auto; }
  .hire-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 460px) { .hire-cards { grid-template-columns: 1fr; } }

/* ---------- A powerful presence + what a booking can include ---------- */
.hire-presence { display: grid; grid-template-columns: minmax(0, 66%) minmax(0, 34%); background: var(--navy-900); border-block: 6px solid #fff; }
.hire-presence__main {
  position: relative; display: flex; flex-direction: column; overflow: hidden;
  background: radial-gradient(ellipse 60% 70% at 30% 0%, #26456f, transparent 75%), linear-gradient(180deg, #0f2445 0%, #2c4a74 55%, #4a6a92 100%);
}
.hire-presence__head { position: relative; z-index: 2; padding: clamp(1.4rem, 2.6vw, 2.8rem) clamp(1rem, 4vw, 3.4rem) 0; display: flex; align-items: flex-start; gap: 1rem; }
.hire-presence .h-serif { color: #fff; font-size: clamp(1.6rem, .6rem + 2.55vw, 3.2rem); line-height: 1.02; text-shadow: 0 2px 14px rgb(0 0 0 / .35); }
.hire-presence__note { --tilt: -12deg; margin-left: auto; margin-right: 5%; font-size: clamp(1.1rem, .6rem + 1.1vw, 2rem); line-height: 1.05; text-shadow: 0 1px 8px rgb(0 0 0 / .4); }
.hire-presence__media { position: relative; flex: 1; margin-top: clamp(-4.5rem, -4vw, -2rem); min-height: clamp(240px, 24vw, 360px); }
.hire-presence__media img {
  position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 42% 60%;
  -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 22%); mask-image: linear-gradient(180deg, transparent 0, #000 22%);
}
.hire-includes { padding: clamp(1.4rem, 2.4vw, 2.6rem) clamp(1.2rem, 2.6vw, 2.8rem); border-left: 2px solid rgb(255 255 255 / .35); }
.hire-includes__title { font-family: var(--font-ui); font-weight: 700; text-transform: uppercase; letter-spacing: .2em; font-size: clamp(.78rem, .66rem + .38vw, 1.06rem); color: #fff; padding-bottom: .8rem; margin-bottom: 1.1rem; border-bottom: 1px solid rgb(255 255 255 / .45); }
.hire-includes__list { display: grid; gap: clamp(.9rem, 1.5vw, 1.4rem); }
.hire-includes__list li { display: grid; grid-template-columns: clamp(40px, 2rem + 1.4vw, 60px) 1fr; gap: clamp(.8rem, 1.4vw, 1.4rem); align-items: center; }
.hire-includes__list .icon { width: 100%; height: clamp(34px, 1.8rem + 1vw, 48px); color: #fff; }
.hire-includes__list p { font-size: clamp(.9rem, .78rem + .32vw, 1.1rem); line-height: 1.3; color: #d6e3f2; }
.hire-includes__list strong { display: block; font-family: var(--font-serif); font-weight: 400; font-size: clamp(1.05rem, .85rem + .55vw, 1.45rem); color: #fff; line-height: 1.15; margin-bottom: .1rem; }
@media (max-width: 900px) {
  .hire-presence { grid-template-columns: 1fr; }
  .hire-presence__media { min-height: 260px; }
  .hire-includes { border-left: 0; border-top: 2px solid rgb(255 255 255 / .35); }
}

/* ---------- Plan your line-up ---------- */
.hire-plan { overflow: hidden; background: var(--paper-tex) 0 0 / 512px, linear-gradient(180deg, #f3f8fc, #fbfbf8 40%); padding-top: clamp(2rem, 3.2vw, 3.4rem); padding-bottom: calc(var(--section-y) * .55); }
.hire-plan__landscape { right: 0; top: 0; width: clamp(320px, 50vw, 760px); opacity: .85;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 25%), linear-gradient(0deg, transparent, #000 35%); mask-image: linear-gradient(90deg, transparent, #000 25%); }
.hire-plan__thistle { top: 30%; }
.hire-plan__head { max-width: 58%; margin-bottom: clamp(1.4rem, 2.6vw, 2.6rem); }
.hire-plan__head .h-serif { font-size: clamp(2rem, .9rem + 3vw, 4rem); line-height: 1; margin-bottom: .5rem; }
.hire-plan__head p { font-family: var(--font-ui); font-weight: 500; font-size: clamp(.95rem, .82rem + .38vw, 1.22rem); color: var(--navy-800); }
.hire-steps { display: grid; grid-template-columns: repeat(5, 1fr); }
.hire-steps li { position: relative; display: flex; flex-direction: column; align-items: center; text-align: center; gap: .45rem; padding: 0 clamp(.6rem, 1.4vw, 1.4rem); }
.hire-steps li + li { border-left: 1.5px solid #9fb6cf; }
.hire-steps__num {
  position: absolute; left: clamp(.6rem, 1.4vw, 1.4rem); top: 0; display: grid; place-items: center;
  width: clamp(30px, 1.4rem + 1vw, 42px); height: clamp(30px, 1.4rem + 1vw, 42px); flex: none; border-radius: 50%; background: var(--navy-800); color: #fff;
  font-family: var(--font-ui); font-weight: 800; font-size: clamp(.85rem, .7rem + .4vw, 1.1rem); box-shadow: 0 0 0 3px #fff;
}
.hire-steps__icon { width: clamp(46px, 2rem + 2.2vw, 74px); height: clamp(46px, 2rem + 2.2vw, 74px); color: var(--navy-800); margin: clamp(.3rem, .8vw, .8rem) 0 .4rem; }
.hire-steps h3 { font-family: var(--font-serif); font-weight: 400; text-transform: uppercase; font-size: clamp(1.05rem, .6rem + 1.2vw, 1.85rem); color: var(--navy-800); line-height: 1.1; }
.hire-steps p { font-size: clamp(.92rem, .55rem + .8vw, 1.35rem); line-height: 1.3; color: var(--navy-800); max-width: 16em; }
@media (max-width: 900px) {
  .hire-plan__head { max-width: none; }
  .hire-plan__landscape { opacity: .35; }
  .hire-steps { grid-template-columns: 1fr 1fr; row-gap: 2rem; }
  .hire-steps li + li { border-left: 0; }
  .hire-steps li:nth-child(even) { border-left: 1.5px solid #9fb6cf; }
  .hire-steps li:last-child { grid-column: 1 / -1; }
}

/* ---------- Closing banner ---------- */
.hire-cta {
  position: relative; overflow: hidden;
  background: radial-gradient(ellipse 50% 70% at 75% 40%, #fff, transparent 70%), linear-gradient(180deg, #e9f3fb, #f6f9fc);
  padding-bottom: calc(clamp(1.2rem, 2vw, 2rem) + var(--wave-h) * .55);
}
.hire-cta__wave { margin-top: -2px; }
.hire-cta__thistle { bottom: 0; top: auto; width: clamp(60px, 6vw, 110px); }
.hire-cta__inner { position: relative; z-index: 1; display: grid; grid-template-columns: auto auto minmax(0, 1fr); align-items: center; gap: clamp(1.2rem, 3vw, 3rem); padding-block: clamp(.8rem, 1.6vw, 1.6rem) 0; }
.hire-cta .h-serif { font-size: clamp(2rem, .9rem + 3.1vw, 4.1rem); line-height: 1; letter-spacing: -.025em; }
.hire-cta__contact { display: grid; gap: .9rem; padding-left: clamp(1rem, 2vw, 2rem); border-left: 1.5px solid var(--line); }
.hire-cta__links { display: grid; gap: .45rem; font-family: var(--font-ui); font-weight: 700; font-size: clamp(.9rem, .8rem + .3vw, 1.1rem); }
.hire-cta__links a { display: inline-flex; align-items: center; gap: .7rem; color: var(--navy-800); text-decoration: none; }
.hire-cta__links a:hover { text-decoration: underline; }
.hire-cta__links .icon { width: 1.15em; height: 1.15em; }
.hire-cta__socials { gap: .7rem; }
.hire-cta__socials .social__badge { width: clamp(36px, 1.8rem + .8vw, 46px); }
.hire-cta__art { position: relative; min-height: clamp(110px, 11vw, 170px); }
.hire-cta__plane { position: absolute; left: 0; top: 50%; width: min(64%, 340px); transform: translateY(-50%); opacity: .8; }
.hire-cta__note { position: absolute; right: 0; top: 18%; --tilt: -14deg; font-size: clamp(1.05rem, .6rem + 1vw, 1.8rem); line-height: 1.05; text-align: right; }
@media (max-width: 1000px) {
  .hire-cta__inner { grid-template-columns: 1fr 1fr; }
  .hire-cta__art { grid-column: 1 / -1; }
}
@media (max-width: 640px) {
  .hire-cta__inner { grid-template-columns: 1fr; }
  .hire-cta__contact { border-left: 0; padding-left: 0; }
  .hire-cta__plane { width: 55%; }
}

@media (max-width: 600px) { .hero--hire .hero__note { display: none; } }
