/*
  About Us geometry (body.lp-about only; the class is set by inc/about-sections.php when the profile
  uses the mission_certified layout).

  Source of truth: the Figma v3 frame (1440 px artboard, 1242 px content container at x 99..1341),
  measured from the designer 4x export. Every value below is a Figma pixel. Shared components keep the
  home page CSS where the design does not differ. Applied from 1200 px up; below that the responsive
  rules in about-sections.css take over. Loaded after about-sections.css.
*/
@media (min-width: 1200px) {
  /* ---- container: 1242 content (theme side padding 20 -> box 1282), full-width backgrounds ---- */
  .lp-about .lp-hero-banner__inner { max-width: 1282px; margin-left: auto; margin-right: auto; }   /* hero text starts at x99 in Figma */
  .lp-about .lp-mission__inner, .lp-about .lp-covmap__inner, .lp-about .lp-team__inner,
  .lp-about .lp-ptabs__inner, .lp-about .lp-content-image__inner, .lp-about .lp-related__hd,
  .lp-about .lp-coverage__inner { max-width: 1280px; margin-left: auto; margin-right: auto; }   /* Figma sections: 100px side padding, 1240 container */
  .lp-about .lp-grid--related { max-width: 1242px; margin-left: auto; margin-right: auto; }
  .lp-about .lp-mission, .lp-about .lp-covmap, .lp-about .lp-team, .lp-about .lp-ptabs { padding: 0; }

  /* ---- type (Figma text styles): section titles Headings/H3 Poppins Bold 38/48; body Body/Poppins 16/25;
          list labels Body/Poppins/Bold 16/25; buttons 44 tall with the design widths ---- */
  .lp-about .lp-mission__title, .lp-about .lp-team__title, .lp-about .lp-ptabs__title, .lp-about .lp-covmap__title,
  .lp-about .lp-content-image__title, .lp-about .lp-related .lp-section-title, .lp-about .lp-coverage__title { font-size: 38px; line-height: 48px; letter-spacing: 0; }
  .lp-about .lp-mission__body, .lp-about .lp-content-image__body, .lp-about .lp-team__text, .lp-about .lp-ptabs__text,
  .lp-about .lp-covmap__subtitle, .lp-about .lp-related__lead, .lp-about .lp-covmap__region-places { font-size: 16px; line-height: 25px; letter-spacing: 0; }
  .lp-about .lp-mission__body p { margin: 0 0 20px; }        /* Figma column gap 20 */
  .lp-about .lp-mission__body p:last-child { margin-bottom: 0; }
  .lp-about .lp-content-image__body p { margin: 0 0 24px; }  /* Figma column gap 24 */
  .lp-about .lp-content-image__body p:last-child { margin-bottom: 0; }
  .lp-about .lp-mission__item-title, .lp-about .lp-ci-item__title { font-size: 16px; line-height: 25px; font-weight: 700; }
  .lp-about .lp-mission__item-desc, .lp-about .lp-ci-item__desc { font-size: 16px; line-height: 25px; }
  .lp-about .lp-mission__item-desc { font-weight: 500; }      /* certification descriptions are Poppins Medium in Figma */
  .lp-about .lp-mission__icon, .lp-about .lp-ci-item__icon { flex-basis: 24px; width: 24px; height: 24px; font-size: 22px; margin-top: 0; }
  .lp-about .lp-btn, .lp-about .lp-faq-more { height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 16px; font-size: 14px; line-height: 1; box-sizing: border-box; }
  .lp-about .lp-hero-banner__actions .lp-btn:first-child { width: 200px; }
  .lp-about .lp-hero-banner__actions .lp-btn:nth-child(2) { width: 254px; padding: 0 12px; white-space: nowrap; }
  .lp-about .lp-content-image__actions .lp-btn { width: 284px; }
  .lp-about .lp-ptabs__actions .lp-btn, .lp-about .lp-related .lp-btn { width: 200px; }
  .lp-about .lp-coverage__actions .lp-btn:first-child { width: 254px; }
  .lp-about .lp-coverage__actions .lp-btn:nth-child(2) { width: 200px; }
  /* Figma "09 CTA Band": 1440 x 262 = 65 + title 48 + gap 40 + buttons 44 + 65; title 1082 wide one line; buttons gap 13 */
  .lp-about .lp-coverage.lazyload { width: auto !important; aspect-ratio: auto !important; }   /* Smush's background lazy-load placeholder (width + 1:1 ratio) must not size the band */
  .lp-about .lp-coverage { --lp-coverage-overlay: 0; }   /* Figma shows the photo itself (its dark fills sit under the opaque image); the home band keeps its .66 wash */
  .lp-about .lp-coverage__inner { padding: 65px 0; gap: 40px; }
  .lp-about .lp-coverage__title { max-width: 1082px; white-space: nowrap; margin: 0; }
  .lp-about .lp-coverage__actions { gap: 13px; }
  .lp-about .lp-faq-more { width: 397px; min-width: 0; }

  /* ---- hero (Figma layer values, see build/reference/figma-spec.md): section 1440x620; text column 599 wide at
          x99 y103; rows eyebrow 25 / gap 24 / H1 48-56 (112) / gap 24 / intro 16-25 medium -3% (75) / gap 24 /
          buttons 44 / gap 36 / logo bar 600x78; truck 563x419 at x777 y126 (bottom 545 = logo bar bottom);
          frame graphic 368x405.53 at x1022 y76 (50 above and 50 right of the photo); stripe 33 ---- */
  .lp-about .lp-hero-banner__inner { min-height: 0; padding: 103px 20px 75px; align-items: flex-start; gap: 0; justify-content: space-between; overflow: visible; }
  .lp-about .lp-hero-banner__content { flex: 0 0 599px; width: 599px; max-width: 599px; }
  .lp-about .lp-hero-banner__kicker { margin: 0 0 24px; gap: 14px; font-size: 16px; line-height: 25px; letter-spacing: 0; }
  .lp-about .lp-hero-banner__kicker-dash { width: 32px; height: 4px; }
  .lp-about .lp-hero-banner__title { font-size: 48px; line-height: 56px; letter-spacing: 0; margin: 0 0 24px; }
  .lp-about .lp-hero-banner__subtitle { font-size: 16px; line-height: 25px; font-weight: 500; letter-spacing: -.03em; max-width: 599px; margin: 0 0 24px; }
  .lp-about .lp-hero-banner__actions { margin-bottom: 36px; gap: 16px; }
  .lp-about .lp-hero-banner__logobar { margin: 0; padding: 16.69px 33.37px; border-radius: 12px; width: 600px; box-shadow: none; }
  .lp-about .lp-hero-banner__logobar::before, .lp-about .lp-hero-banner__logobar::after { width: 109px; }
  .lp-about .lp-hero-banner__logobar-set { gap: 33px; padding-right: 33px; height: 44.49px; }
  /* logo sizes come from the design map in inc/about-sections.php (ff_about_logo_style sets --w/--h inline);
     logos not in the design fall back to 28px tall */
  .lp-about .lp-hero-banner__partner-logo.no-lazyload, .lp-about .lp-ptabs__logo-img { width: var(--w, auto) !important; height: var(--h, 28px) !important; max-width: none !important; max-height: none; object-fit: contain; }
  .lp-about .lp-hero-banner__media { flex: 0 0 563px; max-width: 563px; margin-top: 23px; justify-content: flex-end; }
  .lp-about .lp-hero-banner__still { width: 563px; max-width: 563px; height: 419px; box-shadow: 5px 5px 20px 3px rgba(0, 0, 0, .3); }
  .lp-about .lp-hero-banner__still-img { width: 563px !important; height: 419px !important; max-height: 419px; }
  .lp-about .lp-hero-banner__media .blue-bg { width: 368px; max-width: none; height: 405.53px; right: -50px; top: -50px; }
  .lp-about .lp-hero-stripe, .lp-about .lp-hero-stripe .lp-bc__wrap { height: 33px; max-height: 33px; padding: 0; }
  .lp-about .lp-hero-stripe { max-width: 1284px; background: linear-gradient(90deg, var(--accent) 0 calc(100% - 94px), transparent calc(100% - 94px) 100%); }   /* gradient edge hidden under the skewed navy wedge; the skewed white strip (::before) cuts the orange at x1160 mid-height like the design */
  .lp-about .lp-hero-stripe::after { right: 28px; width: 86px; }     /* navy wedge x1170-1256 */
  .lp-about .lp-hero-stripe::before { right: 114px; width: 10px; }   /* white gap x1160-1170 */

  /* ---- mission (Figma "03 Our Mission": section padding 96/100/48/100, bg #F9F9F9; container 1240 = column 620 + gap 80
          + card 540; column gap 20, paragraphs 600 wide; card padding 40, gap 22, H3 22/30, rows 48 tall: icon 24 + gap 14
          + text 420) ---- */
  .lp-about .lp-mission { background: #F9F9F9; }
  .lp-about .lp-mission__inner { padding: 96px 20px 48px; min-height: 544px; box-sizing: border-box; gap: 80px; justify-content: flex-start; align-items: flex-start; }  /* Figma container is fixed 400 tall */
  .lp-about .lp-mission__content { flex: 0 0 620px; width: 620px; max-width: 620px; margin-top: 21px; }   /* Figma: column (358) centred in the 400 container */
  .lp-about .lp-mission__card { border: 0; }   /* no stroke in Figma */
  .lp-about .lp-mission__title { margin-bottom: 20px; }
  .lp-about .lp-mission__body { max-width: 600px; }
  .lp-about .lp-mission__card { flex: 0 0 540px; width: 540px; min-height: 392px; padding: 40px; box-sizing: border-box; }
  .lp-about .lp-mission__card-title { font-size: 22px; line-height: 30px; margin-bottom: 22px; }
  .lp-about .lp-mission__list { gap: 22px; }
  .lp-about .lp-mission__item { height: 48px; gap: 14px; align-items: flex-start; }
  .lp-about .lp-mission__item-text { gap: 2px; max-width: 420px; }

  /* ---- technology (Figma "04 Our Technologies": section padding 48/100/96/100, bg #F9F9F9; container 1240 x 637 =
          image 560x500 (vertically centred) + gap 80 + column 600 (gap 24): H2 580x96, intro 580x125, list 580 gap 20,
          rows 77 tall: icon 24 + gap 14 + text 540) ---- */
  .lp-about .lp-content-image--image-first { background: #F9F9F9; }
  .lp-about .lp-content-image--image-first .lp-content-image__inner { padding: 48px 20px 96px; gap: 80px; justify-content: flex-start; align-items: flex-start; }
  .lp-about .lp-content-image--image-first .lp-content-image__media { flex: 0 0 560px; max-width: 560px; height: 500px; margin-top: 68px; line-height: 0; }
  .lp-about .lp-content-image--image-first .lp-content-image__img { display: block; width: 560px; height: 500px !important; max-height: none; object-fit: cover; }
  .lp-about .lp-content-image--image-first .lp-content-image__content { flex: 0 0 600px; width: 600px; max-width: 600px !important; padding: 0; }  /* !important: ACF writes an inline --ci-max-width */
  .lp-about .lp-content-image--image-first .lp-content-image__body { max-width: 580px; margin-bottom: 24px; }
  .lp-about .lp-content-image--image-first .lp-ci-items { max-width: 580px; }
  .lp-about .lp-content-image--image-first .lp-content-image__title { max-width: 580px; margin-bottom: 24px; }
  .lp-about .lp-content-image--image-first .lp-content-image__title .orange-text { display: block; }
  .lp-about .lp-content-image--image-first .shape-container { display: none; }
  .lp-about .lp-ci-items { gap: 20px; margin: 0; }
  .lp-about .lp-ci-item { gap: 14px; align-items: flex-start; }
  .lp-about .lp-ci-item__text { gap: 2px; max-width: 540px; }

  /* ---- map: 879 tall; title y101, subtitle y164, map 550x380 at x135 y256, list pin x783 / text x819 (557 wide),
          rule y685, stat columns at x253 / 548 / 930, white trapezoid 175x85 bottom-left ---- */
  /* Figma "06 Service Area": fixed 1440x880, padding 96/100, gap 48; heading 1240 gap 16 (H2 48 + intro 830x50);
     container 380 tall = map 620x380 + gap 60 + regions 560 (gap 32; row: pin 24 + gap 14 + text 510: H3 22/30 + gap 6
     + list 16/25 medium); stats strip 1240x120 = divider 1px white 20% + gap 32 + row 83 (centred, gap 64, stat gap 4);
     74 left at the bottom because the section is fixed at 880 */
  .lp-about .lp-covmap__inner { padding: 96px 20px 74px; min-height: 880px; box-sizing: border-box; }
  /* white 1px row at the bottom (Figma band is 879.87 tall): at fractional browser zoom the navy edge otherwise blends to a grey hairline */
  .lp-about .lp-covmap::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px; background: #fff; }
  .lp-about .lp-covmap__head { margin: 0 auto 48px; max-width: 1240px; }
  .lp-about .lp-covmap__title { margin-bottom: 16px; }
  .lp-about .lp-covmap__subtitle { max-width: 830px; margin-left: auto; margin-right: auto; font-weight: 500; }
  .lp-about .lp-covmap__grid { grid-template-columns: 620px 560px; justify-content: flex-start; column-gap: 60px; align-items: start; padding: 0; height: 380px; }
  .lp-about .lp-covmap__map { width: 620px; height: 380px; line-height: 0; }
  .lp-about .lp-covmap__img { width: 620px !important; max-width: none !important; height: 380px !important; object-fit: contain; margin: 0; }
  .lp-about .lp-covmap__regions { padding-top: 0; gap: 32px; }
  .lp-about .lp-covmap__region { gap: 14px; }
  .lp-about .lp-covmap__region > div { width: 510px; max-width: 510px; }
  .lp-about .lp-covmap__pin { flex-basis: 24px; width: 24px; font-size: 22px; margin-top: 3px; }
  .lp-about .lp-covmap__region-title { font-size: 22px; line-height: 30px; margin-bottom: 6px; }
  .lp-about .lp-covmap__region-places { font-weight: 500; }
  .lp-about .lp-covmap__stats { margin-top: 48px; padding: 32px 0 0; height: 120px; box-sizing: border-box; border-top: 1px solid rgba(255, 255, 255, .2); display: flex; justify-content: flex-start; padding-left: 152px; gap: 64px; text-align: left; }  /* design export: first stat ink at x253 */
  .lp-about .lp-covmap__stat { display: flex; flex-direction: column; gap: 4px; }
  .lp-about .lp-covmap__stat-value { font-family: Inter, Poppins, sans-serif; font-size: 46px; line-height: 54px; font-weight: 800; }  /* Figma: Inter Extra Bold 46/54 (Inter is not loaded by the theme, falls back to Poppins) */
  .lp-about .lp-covmap__stat-label { font-size: 16px; line-height: 25px; margin-top: 0; white-space: nowrap; }
  .lp-about .lp-covmap__wedge { border: 0; width: 175px; height: 85px; background: #fff; clip-path: polygon(0 0, 50px 0, 100% 100%, 0 100%); }

  /* ---- team (Figma "07 Meet Our Team": hug 1323 = padding 96 + heading 139 (H2 48 + gap 16 + intro 75) + gap 48
          + grid 944 (2 rows x 460, row gap 24) + padding 96; cards 397 wide: photo 397x330 + info bar 130
          (padding 28, gap 4); photo zooms to 110% on hover) ---- */
  .lp-about .lp-team__inner { padding: 96px 20px 96px; }
  .lp-about .lp-team__head { margin-bottom: 48px; max-width: 1240px; }
  .lp-about .lp-team__text { max-width: 810px; margin-left: auto; margin-right: auto; padding: 0; }
  .lp-about .lp-team__title { margin-bottom: 16px; }
  .lp-about .lp-team__grid { grid-template-columns: repeat(3, 397px); justify-content: flex-start; gap: 24px 24px; }  /* Figma rows: 1240 wide, gap 24, cards at x100/521/942 */
  .lp-about .lp-team__card { width: 397px; }
  .lp-about .lp-team__photo { aspect-ratio: auto; height: 330px; }
  .lp-about .lp-team__caption { height: 130px; padding: 28px 28px 0; box-sizing: border-box; }
  .lp-about .lp-team__role { font-family: Inter, Poppins, sans-serif; font-size: 16px; line-height: 25px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; color: #EA9E73; margin-bottom: 4px; }  /* Figma: Inter Medium 16/25, 6%, peach */
  .lp-about .lp-team__name { font-family: Inter, Poppins, sans-serif; font-size: 26px; line-height: 34px; font-weight: 700; text-transform: uppercase; color: #fff; }  /* Figma: Inter Bold 26/34 */

  /* ---- Capital block (Figma second "03 Our Mission": padding 96/100/96/100, container hug 1240 x 330, gap 80:
          column 620 (title 614x96 two lines 38/48, orange span on line 2) + card 540) ---- */
  .lp-about .lp-content-image:not(.lp-content-image--image-first) .lp-content-image__inner { padding: 96px 20px 96px; gap: 80px; justify-content: flex-start; align-items: flex-start; }
  .lp-about .lp-content-image:not(.lp-content-image--image-first) .lp-content-image__content { flex: 0 0 620px; width: 620px; max-width: 620px !important; margin-top: 0; padding: 0; }
  .lp-about .lp-content-image:not(.lp-content-image--image-first) .lp-content-image__title { max-width: 614px; margin-bottom: 20px; }
  .lp-about .lp-content-image:not(.lp-content-image--image-first) .lp-content-image__title .orange-text { display: block; white-space: nowrap; }  /* second line on its own, as designed */
  .lp-about .lp-content-image:not(.lp-content-image--image-first) .lp-content-image__body { max-width: 600px; font-weight: 500; margin-bottom: 20px; }  /* Figma: 600x150 Poppins Medium 16/25; column gaps 20 (96+20+150+20+44 = 330) */
  .lp-about .lp-content-image:not(.lp-content-image--image-first) .lp-content-image__body p { font-weight: 500; }
  .lp-about .lp-content-image:not(.lp-content-image--image-first) .lp-content-image__actions { margin-top: 0; }
  .lp-about .lp-content-image:not(.lp-content-image--image-first) .lp-content-image__media { flex: 0 0 540px; max-width: 540px; height: 330px; line-height: 0; border-radius: 16px; overflow: hidden; background: #F9F9F9; }
  .lp-about .lp-content-image:not(.lp-content-image--image-first) .lp-content-image__img { display: block; width: 540px; height: 330px !important; max-height: none; object-fit: cover; object-position: center; }
  .lp-about .lp-btn { white-space: nowrap; }   /* Figma buttons are single-line (hug width) */

  /* ---- partners: title y103, intro 800 wide, tabs 52 tall (gap 15, font 15), intro line y365, cards 231x340 (gap 27), button y803 ---- */
  /* Figma "08 Partners": padding 96/100, vertical gap 40 between heading, tabs, description, cards and button;
     heading = H2 48 + gap 16 + intro 830x50; description 1000 wide Poppins Bold 16/25 orange; cards 232x340
     (border 1px #D9D9D9, padding 24, gap 12) */
  .lp-about .lp-ptabs__inner { padding: 96px 20px 96px; }
  .lp-about .lp-ptabs__head { margin-bottom: 40px; max-width: 1240px; }
  .lp-about .lp-ptabs__title { margin-bottom: 16px; }
  .lp-about .lp-ptabs__text { max-width: 830px; margin-left: auto; margin-right: auto; }
  /* Figma Tab Bar: hug 817 x 52, gap 16; tabs hug width (198 / 356 / 231), padding 14 x 32, label Inter Bold 16/25 uppercase;
     active #012B55 white text, inactive white with 1px #D2D2D2 border */
  .lp-about .lp-ptabs__tabs { gap: 16px; margin-bottom: 55px; }   /* measured in the design: 55 between the tab bar and the description (section = 942) */
  .lp-about .lp-ptabs__tab { height: 52px; padding: 14px 32px; width: auto; font-family: Inter, Poppins, sans-serif; font-size: 16px; line-height: 25px; font-weight: 700; text-transform: uppercase; letter-spacing: 0; display: inline-flex; align-items: center; justify-content: center; box-sizing: border-box; border: 1px solid #D2D2D2; background: #fff; color: #012B55; }
  .lp-about .lp-ptabs__tab.is-active, .lp-about .lp-ptabs__tab[aria-selected="true"] { background: #012B55; border-color: #012B55; color: #fff; }
  .lp-about .lp-ptabs__intro { font-size: 16px; line-height: 25px; font-weight: 700; margin-bottom: 40px; }
  .lp-about .lp-ptabs__cards { gap: 20px; }
  .lp-about .lp-ptabs__card { flex-basis: 232px; width: 232px; height: 340px; min-height: 0; padding: 24px; box-sizing: border-box; border: 1px solid #D9D9D9; display: flex; flex-direction: column; gap: 12px; }
  .lp-about .lp-ptabs__logo { height: 56px; margin: 0; display: flex; align-items: center; line-height: 0; }   /* Figma Logo Area: hug width x fixed 56, logo centred */
  .lp-about .lp-ptabs__card-title { font-size: 16px; line-height: 25px; font-weight: 700; margin: 0; color: #012B55; height: 50px; }   /* Figma H4 is fixed 50 (two lines) so every description starts at the same y */
  .lp-about .lp-ptabs__card-text { font-size: 14px; line-height: 24px; margin: 0; color: #333333; }  /* Figma Midsize/Body/Regular */
  .lp-about .lp-ptabs__actions { margin-top: 40px; }


  /* ---- FAQ: 840 wide, title 23/28 at y35, first question y92, rows 64 apart, Show more 398x44 at y563, 32 below ---- */
  /* Figma "10 FAQs": padding 36 top / 72 bottom, gap 30; the theme's FAQ styles already match the design
     (title 22/22 orange + 30, items 840 wide, question 14/24 bold with 2px orange rule, answer 14/24, list gap 30) */
  .lp-about .lp-faq-wrap { padding: 36px 0 72px; }
  .lp-about .lp-faq-item__q { display: block; padding-top: 0; padding-bottom: 8px; }   /* Figma question row 34 = text 24 + 8 + 2px rule; block removes the 1 px inline gap */
  .lp-about .lp-faq-item__a { padding: 10px 0; }                        /* Figma expanded item 126 = 34 + 10 + answer 72 + 10 */
  .lp-about .lp-faq-more-wrap { margin-top: 30px; }

  /* ---- Explore Our Services: title y96, lead y168, cards 401 wide (gap 20) at y307 with 351 px images,
          navy band from y627, button 200x44 at y764, 49 below ---- */
  /* Figma "11 Explore Our Services" (1440 x 816): H2 at y49, intro 831x25 Medium #333 at y122, cards 400x407 at y267
     (x100/520/940, gap 20, 1px #D9D9D9 border): image 400x350 + card bar (padding 16 20, title Poppins Bold 14/25) */
  .lp-about .lp-related { padding: 49px 0 0; height: 816px; box-sizing: border-box; }
  .lp-about .lp-related__lead { margin-top: 25px; font-weight: 500; color: #333333; max-width: 831px; }
  .lp-about .lp-related__lead p { margin: 0; }
  .lp-about .lp-grid--related { max-width: 1240px; margin-top: 120px; gap: 20px; grid-template-columns: repeat(3, 400px); padding: 0; }
  .lp-about .lp-related-card { box-shadow: inset 0 0 0 1px #D9D9D9; }   /* Figma inner border: card stays 400 x 407 */
  .lp-about .lp-related-card__cta { line-height: 25px; }
  .lp-about .lp-related-card__media { height: 350px; }
  .lp-about .lp-related-card__media img { height: 100%; object-fit: cover; }
  .lp-about .lp-related__cta { margin-top: 49px; }   /* Figma: See All Services 200x44 at y723 (cards end 674), 49 bottom */
  .lp-about .lp-related-card__cap { padding: 16px 20px; border-top: 0; }   /* 16 + 25 + 16 = 57, no rule above the bar in Figma */
  .lp-about .lp-related-card__title { font-size: 14px; line-height: 25px; font-weight: 700; color: #012B55; }
}
