.about-hero { position: relative; overflow: hidden; padding: 68px 0 78px; background: linear-gradient(115deg, #f7f9f8 0%, #fff 60%); }
.about-hero::before { content: ""; position: absolute; top: -220px; left: -240px; width: 560px; height: 560px; border: 95px solid rgba(8,113,60,.035); border-radius: 50%; }
.about-hero-grid { position: relative; display: grid; grid-template-columns: .86fr 1.14fr; gap: clamp(55px,7vw,110px); align-items: center; }
.about-hero-copy { position: relative; z-index: 2; padding-left: clamp(0px,3vw,48px); }
.about-eyebrow, .about-heading-row span, .about-heading-centered span, .about-safety-copy > span, .experience-copy > span, .about-cta span { display: block; margin-bottom: 14px; color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.about-hero h1 { max-width: 680px; margin: 0; color: var(--ink); font-size: clamp(46px,5vw,74px); line-height: 1.03; letter-spacing: -.055em; }
.about-hero h1 em { color: var(--burgundy); font-style: normal; }
.about-hero-copy > p { max-width: 610px; margin: 27px 0 0; color: #4c5551; font-size: 17px; line-height: 1.7; }
.about-hero-actions { margin-top: 34px; display: flex; align-items: center; gap: 28px; }
.about-text-link { display: inline-flex; align-items: center; gap: 10px; padding-bottom: 3px; border-bottom: 1px solid currentColor; color: var(--burgundy); font-size: 12px; font-weight: 800; }
.about-hero-visual { position: relative; min-height: 650px; }
.about-hero-visual::before { content: ""; position: absolute; left: -22px; bottom: -22px; width: 44%; height: 65%; background: var(--green); }
.about-hero-visual img { position: absolute; inset: 0; height: 100%; object-fit: cover; object-position: 68% center; }
.hero-experience-card { position: absolute; left: -74px; bottom: 55px; width: 195px; min-height: 180px; padding: 29px 28px; display: flex; flex-direction: column; justify-content: center; color: white; background: var(--burgundy); box-shadow: 0 22px 55px rgba(4,83,45,.28); }
.hero-experience-card strong { font-size: 48px; line-height: 1; letter-spacing: -.06em; }
.hero-experience-card span { margin-top: 12px; font-size: 11px; font-weight: 700; line-height: 1.45; text-transform: uppercase; letter-spacing: .08em; }
.hero-location-card { position: absolute; right: 22px; top: 22px; max-width: 260px; padding: 13px 16px; display: flex; align-items: center; gap: 11px; color: #23302a; background: rgba(255,255,255,.94); box-shadow: var(--shadow); font-size: 10px; font-weight: 700; line-height: 1.4; }
.hero-location-card svg { flex: 0 0 auto; width: 22px; fill: var(--burgundy); }

.about-intro { padding: 105px 0 110px; background: white; }
.about-intro-grid { display: grid; grid-template-columns: .28fr .72fr; gap: 50px; }
.about-section-label { padding-top: 12px; }
.about-section-label span { color: var(--green); font-size: 11px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.about-section-label i { display: block; width: 58px; height: 2px; margin-top: 18px; background: var(--burgundy); }
.about-intro-copy h2 { max-width: 940px; margin: 0 0 42px; font-size: clamp(36px,4.2vw,62px); line-height: 1.08; letter-spacing: -.05em; }
.about-intro-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 45px; }
.about-intro-columns p { margin: 0; color: #56605b; font-size: 14px; line-height: 1.85; }
.about-intro-columns p:first-child::first-letter { float: left; margin: 8px 9px 0 0; color: var(--burgundy); font-size: 52px; font-weight: 800; line-height: .75; }

.about-purpose { padding: 0 0 110px; background: white; }
.purpose-grid { display: grid; grid-template-columns: 1fr 1fr; }
.purpose-card { position: relative; min-height: 420px; padding: 64px 65px; overflow: hidden; }
.purpose-card > span { position: absolute; right: 28px; top: 15px; color: rgba(255,255,255,.11); font-size: 118px; font-weight: 800; line-height: 1; letter-spacing: -.08em; }
.purpose-card small { position: relative; color: #92d5b3; font-size: 10px; font-weight: 800; letter-spacing: .15em; text-transform: uppercase; }
.purpose-card h2 { position: relative; max-width: 620px; margin: 22px 0 23px; font-size: clamp(27px,2.5vw,39px); line-height: 1.22; letter-spacing: -.035em; }
.purpose-card p { position: relative; max-width: 600px; margin: 0; font-size: 13px; line-height: 1.75; }
.purpose-mission { color: white; background: var(--burgundy-dark); }
.purpose-mission p { color: #e7cfd6; }
.purpose-vision { color: white; background: #78051f; }
.purpose-vision p { color: #d2e9dc; }

.about-expertise { padding: 105px 0 115px; background: #f4f6f5; }
.about-heading-row { margin-bottom: 47px; display: grid; grid-template-columns: 1.2fr .8fr; gap: 80px; align-items: end; }
.about-heading-row h2 { max-width: 830px; margin: 0; font-size: clamp(36px,4vw,56px); line-height: 1.08; letter-spacing: -.05em; }
.about-heading-row > p { margin: 0 0 4px; color: #5d6661; font-size: 13px; line-height: 1.75; }
.expertise-grid { display: grid; grid-template-columns: 1.2fr .8fr .8fr; gap: 22px; }
.expertise-card { min-height: 560px; display: flex; flex-direction: column; border: 1px solid #dce2df; background: white; box-shadow: 0 12px 35px rgba(23,34,28,.06); }
.expertise-image { height: 245px; overflow: hidden; }
.expertise-image img { height: 100%; object-fit: cover; }
.expertise-copy { position: relative; flex: 1; padding: 37px 34px 31px; }
.expertise-number { position: absolute; right: 25px; top: 19px; color: #d5dcda; font-size: 38px; font-weight: 800; letter-spacing: -.05em; }
.expertise-copy small { color: var(--green); font-size: 9px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.expertise-copy h3 { max-width: 390px; margin: 13px 0 13px; font-size: 25px; line-height: 1.15; letter-spacing: -.025em; }
.expertise-copy p { margin: 0 0 23px; color: #606965; font-size: 12px; line-height: 1.7; }
.expertise-copy ul { margin: 0; padding: 0; list-style: none; }
.expertise-copy li { border-top: 1px solid #e2e7e4; }
.expertise-copy li:last-child { border-bottom: 1px solid #e2e7e4; }
.expertise-copy li a { padding: 11px 0; display: flex; justify-content: space-between; gap: 15px; font-size: 11px; font-weight: 700; }
.expertise-copy li a::after { content: "\2192"; color: var(--burgundy); }
.expertise-copy li a:hover { color: var(--burgundy); }
.expertise-featured { min-height: 625px; }
.expertise-dark { color: white; border-color: #172226; background: #172226; }
.expertise-dark .expertise-number { color: rgba(255,255,255,.12); }
.expertise-dark .expertise-copy small { color: #72c89d; }
.expertise-dark .expertise-copy p { color: #bac6c0; }
.expertise-dark .expertise-copy li { border-color: rgba(255,255,255,.13); }
.expertise-dark .expertise-copy li a::after { color: #72c89d; }
.expertise-dark .expertise-copy li a:hover { color: #72c89d; }

.about-safety { min-height: 720px; display: grid; grid-template-columns: 1fr 1fr; background: #11191c; }
.about-safety-image { min-height: 720px; }
.about-safety-image img { height: 100%; object-fit: cover; object-position: 58% center; }
.about-safety-copy { padding: 80px clamp(45px,7vw,115px); color: white; align-self: center; }
.about-safety-copy > span { color: #72c89d; }
.about-safety-copy > h2 { max-width: 700px; margin: 0; font-size: clamp(38px,4vw,58px); line-height: 1.06; letter-spacing: -.05em; }
.about-safety-copy > p { max-width: 660px; margin: 24px 0 34px; color: #b9c3bf; font-size: 13px; line-height: 1.8; }
.safety-steps { display: grid; grid-template-columns: 1fr 1fr; gap: 0 30px; }
.safety-steps article { padding: 20px 0; display: grid; grid-template-columns: 38px 1fr; gap: 11px; border-top: 1px solid rgba(255,255,255,.15); }
.safety-steps b { color: #72c89d; font-size: 10px; letter-spacing: .08em; }
.safety-steps h3 { margin: 0 0 6px; font-size: 13px; }
.safety-steps p { margin: 0; color: #9eaaa4; font-size: 10px; line-height: 1.55; }

.about-values { padding: 105px 0 115px; background: white; }
.about-heading-centered { max-width: 760px; margin: 0 auto 52px; text-align: center; }
.about-heading-centered h2 { margin: 0; font-size: clamp(36px,4vw,54px); line-height: 1.1; letter-spacing: -.05em; }
.values-grid { display: grid; grid-template-columns: repeat(4,1fr); }
.values-grid article { position: relative; min-height: 315px; padding: 34px 34px 32px; border: 1px solid #e0e5e2; }
.values-grid article + article { border-left: 0; }
.value-icon { width: 59px; height: 59px; }
.value-icon svg { width: 100%; height: 100%; fill: none; stroke: var(--green); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.values-grid article > span { position: absolute; right: 25px; top: 23px; color: #c7cfcb; font-size: 10px; font-weight: 800; }
.values-grid h3 { margin: 37px 0 14px; font-size: 21px; }
.values-grid p { margin: 0; color: #626b67; font-size: 12px; line-height: 1.7; }

.about-experience { position: relative; overflow: hidden; padding: 110px 0; background: linear-gradient(135deg,#f4f6f5,#fff); }
.about-experience::after { content: ""; position: absolute; right: -200px; bottom: -260px; width: 560px; height: 560px; border: 100px solid rgba(8,113,60,.04); border-radius: 50%; }
.experience-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.05fr .95fr; gap: 80px; align-items: center; }
.experience-copy > h2 { max-width: 750px; margin: 0; font-size: clamp(38px,4.2vw,59px); line-height: 1.06; letter-spacing: -.05em; }
.experience-copy > p { max-width: 680px; margin: 23px 0 30px; color: #626b67; font-size: 13px; line-height: 1.75; }
.experience-highlight { margin-bottom: 31px; padding: 24px; display: grid; grid-template-columns: 67px 1fr; gap: 21px; color: white; background: #172226; }
.experience-mark { width: 64px; height: 64px; display: grid; place-items: center; border: 2px solid rgba(255,255,255,.55); border-radius: 50%; background: linear-gradient(145deg,#006f44,#19a876 58%,#1473aa 58%); font-size: 19px; font-weight: 800; }
.experience-highlight small { color: #82cba5; font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.experience-highlight h3 { margin: 3px 0 6px; font-size: 18px; }
.experience-highlight p { margin: 0; color: #bdc7c2; font-size: 10px; line-height: 1.6; }
.experience-board { overflow: hidden; border: 1px solid #d9e0dc; background: white; box-shadow: var(--shadow); }
.experience-board img { aspect-ratio: 1.35; object-fit: cover; object-position: top center; background: #eee; }
.experience-board > div { padding: 24px 27px; display: flex; flex-direction: column; }
.experience-board strong { font-size: 15px; }
.experience-board span { margin-top: 5px; color: #69716d; font-size: 10px; }

.about-cta { color: white; background: linear-gradient(110deg,var(--burgundy-dark),#0a7b43 76%,var(--green) 76%); }
.about-cta-inner { min-height: 310px; display: grid; grid-template-columns: 1fr auto; gap: 70px; align-items: center; }
.about-cta span { margin-bottom: 9px; color: #efb8c5; }
.about-cta h2 { max-width: 850px; margin: 0; font-size: clamp(35px,3.7vw,53px); line-height: 1.08; letter-spacing: -.045em; }
.about-cta p { max-width: 750px; margin: 18px 0 0; color: #efd9de; font-size: 12px; line-height: 1.7; }
.about-cta-actions { min-width: 250px; display: flex; flex-direction: column; align-items: stretch; gap: 16px; text-align: center; }
.about-cta-primary { color: var(--burgundy); background: white; }
.about-cta-actions > a:last-child { font-size: 12px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }

@media (max-width: 1180px) {
  .about-hero-grid { grid-template-columns: .9fr 1.1fr; gap: 55px; }
  .about-hero-visual { min-height: 570px; }
  .hero-experience-card { left: -40px; }
  .expertise-grid { grid-template-columns: 1fr 1fr; }
  .expertise-featured { grid-row: span 2; }
  .experience-grid { gap: 45px; }
}

@media (max-width: 900px) {
  .about-hero { padding-top: 45px; }
  .about-hero-grid, .about-intro-grid, .about-heading-row, .experience-grid { grid-template-columns: 1fr; }
  .about-hero-copy { padding: 0; }
  .about-hero-visual { min-height: 580px; }
  .hero-experience-card { left: 22px; }
  .about-intro { padding: 80px 0; }
  .about-intro-grid { gap: 28px; }
  .about-intro-columns { gap: 28px; }
  .purpose-card { padding: 48px 38px; }
  .about-heading-row { gap: 20px; }
  .about-safety { grid-template-columns: 1fr; }
  .about-safety-image { min-height: 520px; }
  .about-safety-copy { padding: 65px 7vw; }
  .values-grid { grid-template-columns: 1fr 1fr; }
  .values-grid article:nth-child(3) { border-left: 1px solid #e0e5e2; }
  .values-grid article:nth-child(n+3) { border-top: 0; }
  .about-cta-inner { padding: 55px 0; grid-template-columns: 1fr; gap: 35px; }
  .about-cta-actions { width: 280px; }
}

@media (max-width: 620px) {
  .about-hero { padding: 36px 0 55px; }
  .about-hero h1 { font-size: 43px; }
  .about-hero-copy > p { font-size: 14px; }
  .about-hero-actions { align-items: flex-start; flex-direction: column; }
  .about-hero-visual { min-height: 460px; }
  .hero-experience-card { left: 13px; bottom: 20px; width: 155px; min-height: 142px; padding: 23px; }
  .hero-experience-card strong { font-size: 38px; }
  .hero-location-card { right: 10px; top: 10px; max-width: 205px; }
  .about-intro-copy h2 { font-size: 36px; }
  .about-intro-columns, .purpose-grid, .expertise-grid, .safety-steps, .values-grid { grid-template-columns: 1fr; }
  .about-intro-columns { gap: 22px; }
  .purpose-card { min-height: 390px; padding: 45px 28px; }
  .about-expertise, .about-values, .about-experience { padding: 78px 0; }
  .expertise-card, .expertise-featured { min-height: 0; }
  .expertise-image { height: 220px; }
  .expertise-copy { padding: 34px 25px 28px; }
  .about-safety-image { min-height: 410px; }
  .about-safety-copy { padding: 55px 26px; }
  .values-grid article + article, .values-grid article:nth-child(3) { border-left: 1px solid #e0e5e2; }
  .values-grid article:nth-child(n+2) { border-top: 0; }
  .experience-highlight { grid-template-columns: 1fr; }
  .about-cta { background: linear-gradient(145deg,var(--burgundy-dark),#0a7b43 86%,var(--green) 86%); }
  .about-cta-actions { width: 100%; min-width: 0; }
}

@media (prefers-reduced-motion: reduce) {
  .about-hero *, .about-expertise *, .about-values * { scroll-behavior: auto; }
}
