.careers-page { background: #f8f7f2; }
.careers-page main { overflow: clip; }
.careers-page h1,
.careers-page h2 { font-family: 'DM Sans', Arial, sans-serif; font-weight: 500; text-wrap: balance; }
.careers-page p { text-wrap: pretty; }
.careers-wrap { max-width: 1280px; margin: 0 auto; }
.careers-hero { position: relative; isolation: isolate; padding: 35px 7% 64px; color: #fff; background: linear-gradient(115deg, #0d2b23, #21483a); }
.careers-hero::after { content: ''; position: absolute; z-index: -1; top: -320px; right: -285px; width: 850px; height: 850px; border: 1px solid #d5b47a36; border-radius: 50%; box-shadow: 0 0 0 65px #cba5620c, 0 0 0 130px #cba56208; pointer-events: none; }
.careers-back { display: inline-flex; align-items: center; gap: 12px; font-size: 12px; color: #dce5df; padding: 8px 0; margin-bottom: 37px; }
.careers-back:hover { color: #edcf9f; }
.careers-hero-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(300px, 1fr); gap: clamp(35px, 6vw, 95px); align-items: center; }
.careers-hero .eyebrow { color: #e6c99f; margin-bottom: 22px; }
.careers-page .careers-hero h1 { font-size: clamp(44px, 4.8vw, 72px); line-height: 1.1; letter-spacing: -2.2px; }
.careers-hero h1 span { display: block; }
.careers-hero h1 span:last-child { color: #edcf9f; }
.careers-deck { max-width: 560px; margin: 26px 0 30px; color: #e0e8e2; font-size: 16px; line-height: 1.85; }
.careers-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px 28px; }
.careers-hero .button { background: #e3c18f; border-color: #e3c18f; color: #15392f; gap: 23px; }
.careers-hero .button:hover { background: #efd4ad; border-color: #efd4ad; }
.careers-hero .text-link { color: #fff; border-color: #c4b18d80; }
.careers-hero .text-link:hover { color: #edcf9f; }
.careers-photo { position: relative; margin: 0; width: 100%; max-width: 424px; justify-self: end; }
.careers-photo-frame { padding: 11px; background: #f3ecdf; border-bottom: 3px solid #c7a26c; box-shadow: 0 20px 60px #03150e45; }
.careers-photo img { display: block; width: 100%; height: auto; aspect-ratio: 400 / 267; }
.careers-photo figcaption { margin-top: 18px; padding-left: 17px; border-left: 1px solid #cfaf7c; color: #dde6de; font-size: 12px; line-height: 1.8; max-width: 350px; }
.careers-availability { display: flex; justify-content: space-between; align-items: center; gap: 20px; padding: 21px 0 0; margin-top: 52px; border-top: 1px solid #d6c39e45; font-size: 12px; color: #dce5df; }
.careers-availability p { margin: 0; }
.careers-availability a { display: inline-flex; gap: 18px; align-items: center; color: #edcf9f; padding: 6px 0; }
.careers-availability a:hover { text-decoration: underline; text-underline-offset: 5px; }
.careers-section { padding: 82px 7%; }
.careers-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 8%; margin-bottom: 55px; }
.careers-page h2 { font-size: clamp(33px, 3.3vw, 49px); line-height: 1.18; letter-spacing: -1.3px; }
.careers-intro h2 { max-width: 510px; }
.careers-intro-copy { padding-top: 7px; color: var(--muted); font-size: 15px; line-height: 1.9; }
.careers-intro-copy p { margin: 0 0 18px; }
.careers-intro-copy p:last-child { margin-bottom: 0; }
.careers-reasons { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 36px; }
.careers-reasons article { padding-top: 19px; border-top: 1px solid #bca47e; }
.careers-reason-number { display: block; margin-bottom: 19px; font-size: 10px; color: #85663d; letter-spacing: 1.2px; }
.careers-reasons h3 { font-size: 20px; line-height: 1.4; max-width: 300px; }
.careers-reasons p { font-size: 14px; line-height: 1.85; color: var(--muted); margin: 16px 0 0; }
.careers-culture { position: relative; background: #16392f; color: #fff; }
.careers-culture .eyebrow { color: #e6c99f; }
.careers-culture-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 8%; align-items: start; }
.careers-culture h2 { max-width: 470px; }
.careers-culture-intro { color: #dce5df; font-size: 15px; line-height: 1.9; max-width: 460px; margin: 25px 0 0; }
.careers-values { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin: 8px 0 0; }
.careers-values > div { padding-top: 19px; border-top: 1px solid #c9ad7c70; }
.careers-values dt { color: #edcf9f; font-size: 18px; font-weight: 500; }
.careers-values dd { margin: 12px 0 0; color: #dce5df; font-size: 13px; line-height: 1.9; }
.careers-opportunities { background: #f0e3ce; }
.careers-opportunities-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 8%; align-items: center; }
.careers-page .careers-opportunities h2 { font-size: clamp(33px, 3.4vw, 49px); max-width: 510px; }
.careers-opening-copy { padding: 30px 0 30px 32px; border-left: 1px solid #c9ad7c; }
.careers-opening-copy p { font-size: 15px; line-height: 1.9; color: #4e6056; margin: 0 0 17px; }
.careers-opening-copy p:last-of-type { margin-bottom: 25px; }
.careers-opening-copy .button { gap: 20px; }
.careers-opening-copy .text-link { margin-top: 17px; font-size: 12px; }
@media (max-width: 1050px) {
  .careers-hero-grid { gap: 35px; }
  .careers-page .careers-hero h1 { font-size: 49px; letter-spacing: -1.6px; }
  .careers-reasons { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 36px; }
  .careers-values { gap: 24px; }
}
@media (max-width: 780px) {
  .careers-hero { padding: 25px 6% 35px; }
  .careers-back { margin-bottom: 30px; }
  .careers-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 38px; }
  .careers-page .careers-hero h1 { font-size: clamp(38px, 7.5vw, 58px); }
  .careers-deck { max-width: 620px; font-size: 15px; }
  .careers-photo { justify-self: start; max-width: 424px; }
  .careers-availability { align-items: flex-start; flex-direction: column; gap: 7px; margin-top: 32px; }
  .careers-section { padding: 55px 6%; }
  .careers-intro, .careers-culture-grid, .careers-opportunities-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .careers-intro { margin-bottom: 35px; }
  .careers-culture-intro { max-width: 610px; }
  .careers-page h2, .careers-page .careers-opportunities h2 { font-size: clamp(31px, 6.4vw, 43px); letter-spacing: -.9px; }
  .careers-opening-copy { padding: 25px 0 0; border-left: 0; border-top: 1px solid #c9ad7c; }
}
@media (max-width: 480px) {
  .careers-hero .button { width: 100%; }
  .careers-actions { gap: 12px; }
  .careers-reasons { grid-template-columns: minmax(0, 1fr); gap: 28px; }
  .careers-reasons h3 { max-width: none; }
  .careers-values { gap: 25px 20px; }
  .careers-values dt { font-size: 17px; }
  .careers-opening-copy .button { width: 100%; }
  .careers-availability a { align-items: flex-start; }
}
@media (prefers-reduced-motion: reduce) {
  .careers-page { scroll-behavior: auto; }
  html:has(.careers-page) { scroll-behavior: auto; }
}

/* Three supplied photographs, layered like printed snapshots. */
.careers-photo { max-width: 520px; padding: 14px 8px 0; }
.careers-photo-stack { position: relative; width: 100%; aspect-ratio: .94; }
.careers-snapshot { position: absolute; width: 84%; height: 42%; padding: 8px 8px 19px; background: #fffdf8; box-shadow: 0 9px 28px #03150e55; }
.careers-snapshot img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; }
.careers-snapshot-golf { top: 0; left: 1%; transform: rotate(-6deg); z-index: 1; }
.careers-snapshot-golf img { object-position: 55% 45%; }
.careers-snapshot-partners { top: 29%; right: 0; transform: rotate(5deg); z-index: 2; }
.careers-snapshot-office { top: 58%; left: 2%; transform: rotate(-4deg); z-index: 3; }
.careers-snapshot-office img { object-position: 22% center; }
.careers-photo figcaption { margin-top: 24px; }
@media (min-width: 1051px) {
  .careers-hero-grid { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: clamp(32px, 4vw, 64px); }
}
@media (max-width: 780px) {
  .careers-photo { justify-self: center; max-width: 500px; }
}
@media (max-width: 480px) {
  .careers-photo { padding: 10px 6px 0; }
  .careers-snapshot { width: 88%; padding: 6px 6px 13px; }
  .careers-snapshot-golf { transform: rotate(-3deg); }
  .careers-snapshot-partners { transform: rotate(3deg); }
  .careers-snapshot-office { transform: rotate(-2deg); }
}

/* Full intern testimonial supplied for the Careers page. */
.careers-testimonial { background: #efe8dc; }
.careers-testimonial-grid { display: grid; grid-template-columns: minmax(0, .65fr) minmax(0, 1.35fr); gap: clamp(30px, 6vw, 85px); align-items: start; }
.careers-testimonial-intro .eyebrow { color: #85663d; }
.careers-testimonial-intro h2 { max-width: 310px; color: #15392f; }
.careers-testimonial-card { position: relative; margin: 0; padding: 42px clamp(24px, 3.5vw, 48px) 34px; background: #fffdf8; border-top: 3px solid #b28d55; box-shadow: 0 12px 38px #16392f0a; }
.careers-quote-mark { position: absolute; top: 0; left: 18px; font-family: Georgia, serif; font-size: 72px; line-height: 1; color: #b28d55; }
.careers-testimonial-card blockquote { margin: 0; padding: 0; border: 0; }
.careers-testimonial-card blockquote p { margin: 0 0 20px; color: #3f5148; font-size: 15px; line-height: 1.85; }
.careers-testimonial-card blockquote p:first-child { color: #15392f; font-size: clamp(18px, 1.6vw, 22px); line-height: 1.6; }
.careers-testimonial-card blockquote p:last-child { margin-bottom: 0; }
.careers-testimonial-card figcaption { margin-top: 28px; padding-top: 18px; border-top: 1px solid #d7c6aa; font-size: 13px; font-weight: 600; color: #72552f; }
@media (max-width: 780px) {
  .careers-testimonial-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .careers-testimonial-intro h2 { max-width: none; }
  .careers-testimonial-card { padding: 40px 24px 28px; }
}

/* Landmark 7 fades into the green behind the collage. */
.careers-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: url('/assets/careers-landmark-7.webp') 62% center / cover no-repeat; opacity: .38; -webkit-mask-image: linear-gradient(to right, transparent 15%, #000 63%); mask-image: linear-gradient(to right, transparent 15%, #000 63%); pointer-events: none; }
.careers-hero::after { display: none; }
@media (max-width: 780px) {
  .careers-hero::before { background-position: 56% bottom; -webkit-mask-image: linear-gradient(to bottom, transparent 18%, #000 62%); mask-image: linear-gradient(to bottom, transparent 18%, #000 62%); opacity: .3; }
}

/* Compact testimonial between the client and culture sections. */
.careers-testimonial { padding-top: 48px; padding-bottom: 48px; }
.careers-testimonial-grid { max-width: 960px; grid-template-columns: minmax(0, .6fr) minmax(0, 1.4fr); gap: 36px; }
.careers-testimonial-intro h2 { font-size: clamp(28px, 2.6vw, 36px); letter-spacing: -.8px; }
.careers-testimonial-card { padding: 32px 28px 24px; }
.careers-quote-mark { font-size: 56px; left: 12px; }
.careers-testimonial-card blockquote p { font-size: 14px; line-height: 1.7; margin-bottom: 15px; }
.careers-testimonial-card blockquote p:first-child { font-size: 16px; line-height: 1.65; }
.careers-testimonial-card figcaption { font-size: 12px; margin-top: 20px; padding-top: 14px; }
@media (max-width: 780px) {
  .careers-testimonial-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; max-width: 600px; }
  .careers-testimonial-card { padding: 32px 22px 24px; }
}
