/* Desktop-only refinements for internal pages. The homepage and mobile UI are excluded. */
@media only screen and (min-width: 769px) {
  /* The legacy absolute footer reserved 150px on the root element. Internal
     footers are now in normal flow, so that reservation would become a blank
     strip after the footer. */
  html:has(> body.desktop-internal) {
    height: auto;
    min-height: 100%;
    padding-bottom: 0;
  }

  .desktop-internal {
    --di-navy: #00244a;
    --di-green: #08710b;
    --di-muted: #68766f;
    --di-surface: #f4f7f5;
    --di-border: #dce6df;
    --di-shadow: 0 16px 38px rgba(0, 36, 74, .09);
    color: #263d53;
    background: var(--di-surface);
  }

  /* Internal pages can be taller than the viewport. The legacy 100% height
     caused their footer to begin before long content had finished. */
  .desktop-internal .wrapper {
    height: auto;
    min-height: 100vh;
  }

  .desktop-internal .wrap { width: min(1170px, calc(100% - 64px)); }

  /* Internal-page title banner */
  .desktop-internal .section-breadcrumb {
    position: relative;
    min-height: 230px;
    margin: 0 0 52px !important;
    overflow: hidden;
    background: linear-gradient(135deg, #073966 0%, #00244a 72%, #001c3a 100%);
    box-shadow: 0 15px 34px rgba(0,36,74,.14);
  }
  .desktop-internal .section-breadcrumb::before {
    content: "";
    position: absolute;
    top: -225px;
    right: -75px;
    width: 470px;
    height: 470px;
    border: 1px solid rgba(96,190,104,.22);
    border-radius: 50%;
    box-shadow: 0 0 0 62px rgba(96,190,104,.035), 0 0 0 124px rgba(96,190,104,.022);
    pointer-events: none;
  }
  .desktop-internal .section-breadcrumb .wrap,
  .desktop-internal .section-breadcrumb .titles { min-height: 230px; }
  .desktop-internal .section-breadcrumb .text--wrap { position: relative; z-index: 1; width: 100%; align-items: flex-end; }
  .desktop-internal .section-breadcrumb h1 { color: #fff; font-size: clamp(38px, 4vw, 54px); line-height: 1; letter-spacing: -.5px; text-transform: none; }
  .desktop-internal .section-breadcrumb h1::before {
    content: "Geha Engineering";
    display: block;
    margin-bottom: 15px;
    color: #73c879;
    font: 700 10px/1 sans-serif;
    letter-spacing: 1.9px;
    text-transform: uppercase;
  }
  .desktop-internal .section-breadcrumb h2,
  .desktop-internal .section-breadcrumb .bredTtitles { max-width: 410px; color: rgba(255,255,255,.68); font-size: 14px; line-height: 1.5; text-align: right; }
  .desktop-internal .section-breadcrumb .bredTtitles a { color: rgba(255,255,255,.7); }
  .desktop-internal .section-breadcrumb .bredTtitles a:last-child { color: #7dce82; }

  /* About */
  .desktop-internal.page-aboutus .about-slideshow {
    width: min(1170px, calc(100% - 64px));
    height: 455px;
    margin: -16px auto 54px;
    overflow: hidden;
    border-radius: 22px;
    box-shadow: var(--di-shadow);
  }
  .desktop-internal.page-aboutus .about-slideshow .slick-slide img { height: 455px; object-fit: cover; }
  .desktop-internal.page-aboutus .section-engineering { padding: 20px 0 76px; }
  .desktop-internal.page-aboutus .section-engineering h1 { color: var(--di-navy); font-size: 42px; line-height: 1.08; }
  .desktop-internal.page-aboutus .section-engineering h2 { color: var(--di-green); font-size: 21px; }
  .desktop-internal.page-aboutus .section-engineering article { gap: 20px; margin-top: 32px; }
  .desktop-internal.page-aboutus .section-engineering article span {
    padding: 27px;
    border: 1px solid var(--di-border);
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 10px 28px rgba(0,36,74,.055);
    font-size: 14px;
    line-height: 1.72;
  }
  .desktop-internal.page-aboutus .section-ourclients { padding: 74px 0 80px; background: #edf3ef; }
  .desktop-internal.page-aboutus .section-ourclients .top { height: auto; margin-bottom: 34px; }
  .desktop-internal.page-aboutus .section-ourclients .top .image { display: none; }
  .desktop-internal.page-aboutus .section-ourclients .top h1 { position: relative; top: auto; left: auto; height: auto; color: var(--di-navy); font-size: 40px; text-transform: none; }
  .desktop-internal.page-aboutus .section-ourclients .top p { display: block; margin-top: 8px; color: var(--di-muted); }
  .desktop-internal.page-aboutus .section-ourclients .boxes { gap: 17px; margin: 0; padding: 0; box-shadow: none; }
  .desktop-internal.page-aboutus .section-ourclients .boxes .box {
    flex: 1 1 calc(33.333% - 17px);
    min-height: 310px;
    padding: 27px !important;
    border: 1px solid var(--di-border) !important;
    border-radius: 17px;
    background: #fff;
    box-shadow: 0 10px 27px rgba(0,36,74,.055);
  }
  .desktop-internal.page-aboutus .section-ourclients .boxes .box::after { display: none; }
  .desktop-internal.page-aboutus .section-ourclients .boxes .box h1 { margin-bottom: 18px; font-size: 20px; }
  .desktop-internal.page-aboutus .section-ourclients .boxes .box ul li { padding-top: 4px; padding-bottom: 4px; line-height: 1.45; }
  .desktop-internal.page-aboutus .section-countryList { padding: 76px 0 84px; background: #00315f; }
  .desktop-internal.page-aboutus .section-countryList .top { height: auto; margin-bottom: 34px; }
  .desktop-internal.page-aboutus .section-countryList .top .image { display: none; }
  .desktop-internal.page-aboutus .section-countryList .top h1 { position: relative; top: auto; left: auto; height: auto; max-width: none; color: #fff; font-size: clamp(30px, 2.65vw, 38px); line-height: 1.1; white-space: nowrap; text-transform: none; }
  .desktop-internal.page-aboutus .section-countryList .flags { display: grid; grid-template-columns: repeat(2, 1fr); gap: 9px; width: 56%; }
  .desktop-internal.page-aboutus .section-countryList .flags .flag-box { width: auto; padding: 11px 14px; border: 1px solid rgba(255,255,255,.1); border-radius: 9px; background: rgba(255,255,255,.05); }
  .desktop-internal.page-aboutus .section-countryList .flags .flag-box::after { display: none; }

  /* Service and UL pages */
  .desktop-internal.page-services .design-slideshow {
    width: min(1170px, calc(100% - 64px));
    margin: -16px auto 52px;
    overflow: hidden;
    border-radius: 22px;
    box-shadow: var(--di-shadow);
  }
  .desktop-internal.page-services .service-box { margin-bottom: 78px; }
  .desktop-internal.page-services .service-box {
    display: flow-root;
    height: auto;
    min-height: 0;
    padding-bottom: 18px;
    overflow: visible;
  }
  .desktop-internal.page-services .service-box .boxes { gap: 18px; }
  .desktop-internal.page-services .service-box .box {
    margin-bottom: 18px;
    padding: 28px;
    border: 1px solid var(--di-border);
    border-radius: 17px;
    background: #fff !important;
    box-shadow: 0 11px 28px rgba(0,36,74,.055);
  }
  .desktop-internal.page-services .service-box .box h1 { color: var(--di-navy) !important; font-size: 22px; }
  .desktop-internal.page-services .service-box .box h2 { color: var(--di-green) !important; }
  .desktop-internal.page-services .service-box .box ul li { color: #40546a !important; line-height: 1.58; }
  .desktop-internal.page-ul .section-ulLab { padding: 8px 0 82px; }
  .desktop-internal.page-ul .section-ulLab .add--gap { gap: 28px; }
  .desktop-internal.page-ul .section-ulLab .text { padding: 38px; border: 1px solid var(--di-border); border-radius: 20px; background: #fff; box-shadow: var(--di-shadow); }
  .desktop-internal.page-ul .section-ulLab .text h1 { color: var(--di-navy); font-size: 27px; line-height: 1.25; }
  .desktop-internal.page-ul .section-ulLab .image { overflow: hidden; border-radius: 20px; box-shadow: var(--di-shadow); }

  /* Project category and project cards */
  .desktop-internal.page-projects .section-projectOne { margin: 0; padding: 4px 0 84px; }
  .desktop-internal.page-projects .section-projectOne .add--gap { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .desktop-internal.page-projects .section-projectOne a { width: auto; margin: 0; overflow: hidden; border-radius: 17px; box-shadow: var(--di-shadow); }
  .desktop-internal.page-projects .section-projectOne a img { aspect-ratio: 4 / 3; object-fit: cover; transition: transform .4s ease; }
  .desktop-internal.page-projects .section-projectOne a .top { top: auto; bottom: 0; height: 82px; padding: 36px 18px 17px; background: linear-gradient(0deg, rgba(0,31,64,.96), rgba(0,36,74,0)); }
  .desktop-internal.page-projects .section-projectOne a .top h1 { font-size: 20px; }
  .desktop-internal.page-projects .section-projectOne a .info { display: none; }
  .desktop-internal.page-projects .section-projectOne a:hover img { transform: scale(1.04); }
  .desktop-internal.project2 .section--title { margin-bottom: 24px; }
  .desktop-internal.project2 .section--title h1 { color: var(--di-navy); font-size: 34px; }
  .desktop-internal.project2 .section-projectTwoin { padding: 8px 0 84px; background: var(--di-surface); }
  .desktop-internal.project2 .section-projectTwoin .wrapin { width: min(1170px, calc(100% - 64px)); }
  .desktop-internal.project2 .section-projectTwoin .wrapin > .flex { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
  .desktop-internal.project2 .section-projectTwoin a { width: auto !important; overflow: hidden; border-radius: 17px; box-shadow: var(--di-shadow); }
  .desktop-internal.project2 .section-projectTwoin a img { height: auto !important; aspect-ratio: 4 / 3; object-fit: cover; }
  .desktop-internal.project2 .section-projectTwoin .overlay { top: auto; height: 48%; opacity: 1 !important; background: linear-gradient(0deg, rgba(0,31,64,.96), rgba(0,36,74,0)); }
  .desktop-internal.project2 .section-projectTwoin .text { top: auto; right: 20px; bottom: 19px; left: 20px; transform: none; font-size: 19px; text-align: left; }
  .desktop-internal.page-inside-project .project-detail { margin-bottom: 76px !important; }
  .desktop-internal.page-inside-project .project-detail .description { padding: 34px; border: 1px solid var(--di-border); border-radius: 18px; background: #fff; box-shadow: var(--di-shadow); }

  /* Contact */
  .desktop-internal.page-contact-us .section-contactus { padding: 4px 0 78px; }
  .desktop-internal.page-contact-us .section-contactus .figure-text-wrap { gap: 26px; align-items: stretch; }
  .desktop-internal.page-contact-us .contact-form { width: 58%; padding: 38px; border: 1px solid var(--di-border); border-radius: 20px; background: #fff; box-shadow: var(--di-shadow); }
  .desktop-internal.page-contact-us .contact-form__heading { display: block; margin-bottom: 26px; }
  .desktop-internal.page-contact-us .contact-form__heading span { color: var(--di-green); font: 700 10px/1 sans-serif; letter-spacing: 1.5px; text-transform: uppercase; }
  .desktop-internal.page-contact-us .contact-form__heading h2 { margin: 11px 0 8px; color: var(--di-navy); font: 400 33px/1.08 "Myriad-Pro-Semibold", sans-serif; }
  .desktop-internal.page-contact-us .contact-form__heading p { color: var(--di-muted); }
  .desktop-internal.page-contact-us .contact-form form .input--wrap { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 13px; }
  .desktop-internal.page-contact-us .contact-form form .input--wrap label { display: none; }
  .desktop-internal.page-contact-us .contact-form .input--css,
  .desktop-internal.page-contact-us .contact-form .textarea--css { width: 100%; margin: 0 0 13px; border: 1px solid #d8e3dd; border-radius: 9px; background: #f8faf9; box-sizing: border-box; }
  .desktop-internal.page-contact-us .contact-form .input--css:nth-child(2n) { margin-left: 0; }
  .desktop-internal.page-contact-us .contact-form .input--css:focus,
  .desktop-internal.page-contact-us .contact-form .textarea--css:focus { outline: none; border-color: #68bd6d; box-shadow: 0 0 0 3px rgba(104,189,109,.13); background: #fff; }
  .desktop-internal.page-contact-us .description-wrap { width: 42%; }
  .desktop-internal.page-contact-us .description-wrap .infoList { display: grid; gap: 13px; }
  .desktop-internal.page-contact-us .description-wrap .infoList .item { width: 100%; min-height: 0; padding: 22px; border: 1px solid var(--di-border); border-radius: 17px; background: #fff; box-shadow: 0 9px 25px rgba(0,36,74,.055); box-sizing: border-box; }
  .desktop-internal.page-contact-us .contact-card-icon { display: grid; width: 40px; height: 40px; margin-bottom: 16px; place-items: center; border-radius: 11px; background: #edf6ef; }
  .desktop-internal.page-contact-us .contact-card-icon img { max-width: 23px; max-height: 24px; object-fit: contain; }
  .desktop-internal.page-contact-us .contact-card-action { display: inline-flex; margin-top: 12px; color: var(--di-green); font-size: 12px; font-weight: 700; text-decoration: none; }
  .desktop-internal.page-contact-us .section-map { width: min(1170px, calc(100% - 64px)); height: 500px; margin: 0 auto 82px; overflow: hidden; border-radius: 22px; box-shadow: var(--di-shadow); }
  .desktop-internal.page-contact-us .map-heading { position: absolute; z-index: 3; top: 26px; left: 26px; width: 300px; padding: 22px; border-radius: 15px; background: rgba(255,255,255,.95); box-shadow: 0 11px 28px rgba(0,36,74,.14); }

  /* Footer, internal pages only */
  .desktop-internal footer.footer {
    position: relative !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    clear: both;
    height: auto;
    min-height: 0;
    padding: 66px 0 0;
    background: linear-gradient(145deg, #073966, #00244a 72%);
  }
  .desktop-internal footer .footer-mobile-intro { display: block; width: 38%; padding-right: 42px; box-sizing: border-box; }
  .desktop-internal footer .footer-mobile-intro span { color: #75c77a; font: 700 10px/1 sans-serif; letter-spacing: 1.6px; text-transform: uppercase; }
  .desktop-internal footer .footer-mobile-intro h2 { margin: 15px 0 24px; color: #fff; font: 400 31px/1.09 "Myriad-Pro-Semibold", sans-serif; }
  .desktop-internal footer .footer-mobile-intro > a { display: inline-flex; gap: 22px; align-items: center; padding: 13px 19px; border-radius: 999px; background: #fff; color: var(--di-navy); font-weight: 700; text-decoration: none; }
  .desktop-internal footer .items { display: grid; grid-template-columns: repeat(3, 1fr); gap: 13px; width: 62%; margin: -166px 0 0 38%; }
  .desktop-internal footer .items .item { width: auto; min-height: 166px; padding: 20px; border: 1px solid rgba(255,255,255,.1); border-radius: 15px; background: rgba(255,255,255,.05); box-sizing: border-box; }
  .desktop-internal footer .items .item::after { display: none; }
  .desktop-internal footer .items .item .inner { padding-left: 0; }
  .desktop-internal footer .items .item .image { position: relative; top: auto; left: auto; height: 29px; margin-bottom: 16px; }
  .desktop-internal footer .items .item .image img { width: auto; max-height: 29px; }
  .desktop-internal footer .items .item .title { margin-bottom: 7px; color: #fff; font-size: 14px; }
  .desktop-internal footer .items .item .description,
  .desktop-internal footer .items .item .description a { color: rgba(255,255,255,.65); font-size: 11px; line-height: 1.55; text-decoration: none; }
  .desktop-internal footer .footer-bottom { display: flex; justify-content: space-between; margin-top: 48px; padding: 18px 0 22px; border-top: 1px solid rgba(255,255,255,.1); color: rgba(255,255,255,.44); font-size: 10px; }
  .desktop-internal footer .footer-bottom .copyright-text { color: rgba(255,255,255,.55); }

  /* Refined editorial layouts: About, Services, UL and Project Details */
  .desktop-internal.page-aboutus .about-slideshow {
    height: 430px;
    padding: 18px;
    box-sizing: border-box;
    background: linear-gradient(145deg, #e9efec, #dce6e1);
  }
  .desktop-internal.page-aboutus .about-slideshow .aboutus-swiperId,
  .desktop-internal.page-aboutus .about-slideshow .slick-list,
  .desktop-internal.page-aboutus .about-slideshow .slick-track,
  .desktop-internal.page-aboutus .about-slideshow .slick-slide { height: 394px !important; }
  .desktop-internal.page-aboutus .about-slideshow .slick-slide { padding: 0 8px; box-sizing: border-box; }
  .desktop-internal.page-aboutus .about-slideshow .slick-slide img {
    width: 100%;
    height: 394px !important;
    border-radius: 14px;
    background: #fff;
    object-fit: contain;
    object-position: center;
    box-shadow: 0 8px 22px rgba(0,36,74,.08);
  }
  .desktop-internal.page-aboutus .section-engineering .wrap { max-width: 1040px; }
  .desktop-internal.page-aboutus .section-engineering article {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    overflow: visible;
  }
  .desktop-internal.page-aboutus .section-engineering article::after { display: none; }
  .desktop-internal.page-aboutus .section-engineering article span {
    float: none;
    width: auto;
    height: auto !important;
    max-height: none !important;
    padding: 30px !important;
    overflow: visible !important;
    color: #3f5365;
    font-size: 14px;
    line-height: 1.8;
  }
  .desktop-internal.page-aboutus .section-ourclients .boxes .box {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }
  .desktop-internal.page-aboutus .section-ourclients .boxes .box ul {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .desktop-internal.page-services .design-slideshow {
    padding: 20px 0;
    background: linear-gradient(145deg, #e8efeb, #f7f9f8);
  }
  .desktop-internal.page-services .design-slideshow .wrap { width: min(1120px, calc(100% - 52px)); }
  .desktop-internal.page-services .design-slideshow .swiper-wrapper { height: 270px; align-items: stretch; }
  .desktop-internal.page-services .design-slideshow .swiper-slide {
    display: flex;
    height: 270px;
    padding: 12px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--di-border);
    border-radius: 16px;
    background: #fff;
    box-sizing: border-box;
    box-shadow: 0 10px 24px rgba(0,36,74,.065);
  }
  .desktop-internal.page-services .design-slideshow .swiper-slide img {
    width: 100%;
    height: 100% !important;
    object-fit: contain;
    object-position: center;
  }

  /* Service gallery cards follow the source artwork instead of forcing it
     into a tall frame with empty bands above and below. */
  .desktop-internal.page-services .design-slideshow .service-swiperId,
  .desktop-internal.page-services .design-slideshow .swiper-container,
  .desktop-internal.page-services .design-slideshow .swiper-wrapper {
    height: auto !important;
  }
  .desktop-internal.page-services .design-slideshow .swiper-wrapper {
    align-items: center;
  }
  .desktop-internal.page-services .design-slideshow .swiper-slide {
    height: auto;
    padding: 0;
    overflow: hidden;
    background: transparent;
  }
  .desktop-internal.page-services .design-slideshow .swiper-slide img {
    display: block;
    width: 100%;
    height: auto !important;
    border-radius: inherit;
    object-fit: initial;
  }
  .desktop-internal.page-services .service-box .boxes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
    overflow: visible;
  }
  .desktop-internal.page-services .service-box .boxes::after { display: none; }
  .desktop-internal.page-services .service-box .boxes .col {
    float: none;
    width: auto;
    margin: 0 !important;
  }
  .desktop-internal.page-services .service-box .box {
    height: auto !important;
    max-height: none !important;
    min-height: 0;
    padding: 31px;
    overflow: visible !important;
  }
  .desktop-internal.page-services .service-box .box h1 {
    margin-bottom: 20px;
    font-size: 17px;
    line-height: 1.55;
    text-transform: none !important;
  }
  .desktop-internal.page-services .service-box .box h2 {
    margin: 10px 0 17px;
    font-size: 16px;
    line-height: 1.48;
    text-transform: none !important;
  }
  .desktop-internal.page-services .service-box .box p {
    height: auto !important;
    max-height: none !important;
    margin: 0;
    overflow: visible !important;
    color: #405367 !important;
    font-size: 14px !important;
    line-height: 1.78;
  }
  .desktop-internal.page-services .service-box .box ul { height: auto !important; max-height: none !important; overflow: visible !important; }
  .desktop-internal.page-services .service-box .box ul li {
    min-height: 0;
    padding: 6px 0 6px 21px;
    font-size: 14px;
    line-height: 1.48;
  }
  .desktop-internal.page-services .service-box .box ul li::before {
    content: "";
    position: absolute;
    top: 13px;
    left: 1px;
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: #64ba69;
  }
  .desktop-internal.page-services .service-box .boxes .col:only-child {
    grid-column: 1 / -1;
    width: min(820px, 100%);
    margin: 0 auto !important;
  }

  .desktop-internal.page-ul .section-breadcrumb .imageLayer { opacity: .12; }
  .desktop-internal.page-ul .section-ulLab .wrap--textImg {
    display: grid;
    grid-template-columns: minmax(0, 1.5fr) minmax(330px, .8fr);
    gap: 28px;
    align-items: start;
  }
  .desktop-internal.page-ul .section-ulLab article.text {
    width: auto;
    max-width: none;
    height: auto !important;
    max-height: none !important;
    padding: 40px;
    overflow: visible !important;
    color: #405367;
    font-size: 15px;
    line-height: 1.78;
  }
  .desktop-internal.page-ul .section-ulLab article.text p,
  .desktop-internal.page-ul .section-ulLab article.text div,
  .desktop-internal.page-ul .section-ulLab article.text span {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
    line-height: 1.78 !important;
  }
  .desktop-internal.page-ul .section-ulLab article.text h1 { margin: 0 0 14px; color: var(--di-navy); font-size: 24px; line-height: 1.3; }
  .desktop-internal.page-ul .section-ulLab article.text h2 { margin: 18px 0 12px; color: var(--di-green); font-size: 19px; line-height: 1.35; }
  .desktop-internal.page-ul .section-ulLab .image {
    position: sticky;
    top: 108px;
    display: flex;
    width: auto;
    max-width: none;
    min-height: 330px;
    padding: 28px;
    align-items: center;
    background: #fff;
  }
  .desktop-internal.page-ul .section-ulLab .image img { width: 100%; height: auto; object-fit: contain; }

  /* Let the UL page grow with its article instead of ending at the viewport
     height, which previously allowed the footer to overlap the text card. */
  .desktop-internal.page-ul .wrapper {
    height: auto;
    min-height: 100vh;
  }
  .desktop-internal.page-ul .section-ulLab {
    display: flow-root;
    height: auto;
    min-height: 0;
    margin-bottom: 0;
    padding-bottom: 96px;
    overflow: visible;
  }
  .desktop-internal.page-ul .section-ulLab .wrap,
  .desktop-internal.page-ul .section-ulLab .wrap--textImg {
    height: auto;
    min-height: 0;
    overflow: visible;
  }
  .desktop-internal.page-ul + footer,
  .desktop-internal.page-ul footer {
    position: relative;
    clear: both;
  }

  /* About gallery: the source photos are all 477x414. Keep the cards at
     that exact ratio so the complete image fills the card without letterboxing. */
  .desktop-internal.page-aboutus .about-slideshow {
    height: auto;
    padding: 18px;
  }
  .desktop-internal.page-aboutus .about-slideshow .aboutus-swiperId,
  .desktop-internal.page-aboutus .about-slideshow .slick-list,
  .desktop-internal.page-aboutus .about-slideshow .slick-track,
  .desktop-internal.page-aboutus .about-slideshow .slick-slide {
    height: auto !important;
  }
  .desktop-internal.page-aboutus .about-slideshow .slick-track {
    display: flex;
    align-items: stretch;
  }
  .desktop-internal.page-aboutus .about-slideshow .slick-slide {
    display: flex;
  }
  .desktop-internal.page-aboutus .about-slideshow .slick-slide > div,
  .desktop-internal.page-aboutus .about-slideshow figure {
    width: 100%;
    margin: 0;
  }
  .desktop-internal.page-aboutus .about-slideshow figure {
    aspect-ratio: 477 / 414;
    overflow: hidden;
    border-radius: 14px;
    background: transparent;
    box-shadow: 0 8px 22px rgba(0,36,74,.08);
  }
  .desktop-internal.page-aboutus .about-slideshow .slick-slide img {
    display: block;
    width: 100%;
    height: 100% !important;
    border-radius: inherit;
    background: transparent;
    object-fit: cover;
    box-shadow: none;
  }

  /* Keep all four country groups aligned in one desktop row. */
  .desktop-internal.page-aboutus .section-countryList .flags {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    gap: 12px;
    width: 100%;
  }
  .desktop-internal.page-aboutus .section-countryList .flags .flag-box {
    min-width: 0;
    height: 100%;
    box-sizing: border-box;
  }

  .desktop-internal.page-inside-project .project-detail .figure-text-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1.65fr) minmax(330px, .75fr);
    gap: 28px;
    align-items: start;
  }
  .desktop-internal.page-inside-project .wrapper {
    height: auto;
    min-height: 100vh;
  }
  .desktop-internal.page-inside-project .project-detail {
    display: flow-root;
    height: auto;
    min-height: 0;
    margin-bottom: 0 !important;
    padding-bottom: 96px;
    overflow: visible;
  }
  .desktop-internal.page-inside-project .project-detail figure {
    width: auto;
    min-width: 0;
    margin: 0;
    padding: 16px;
    overflow: hidden;
    border: 1px solid var(--di-border);
    border-radius: 20px;
    background: linear-gradient(145deg, #e6eeea, #f7f9f8);
    box-shadow: var(--di-shadow);
    box-sizing: border-box;
  }
  .desktop-internal.page-inside-project .project-detail figure .ourProjectSliderID,
  .desktop-internal.page-inside-project .project-detail figure .swiper-container,
  .desktop-internal.page-inside-project .project-detail figure .swiper-wrapper,
  .desktop-internal.page-inside-project .project-detail figure .swiper-slide {
    width: 100%;
  }
  .desktop-internal.page-inside-project .project-detail figure .ourProjectSliderID {
    height: auto !important;
    aspect-ratio: 16 / 10;
  }
  .desktop-internal.page-inside-project .project-detail figure .swiper-container,
  .desktop-internal.page-inside-project .project-detail figure .swiper-wrapper,
  .desktop-internal.page-inside-project .project-detail figure .swiper-slide {
    height: 100% !important;
  }
  .desktop-internal.page-inside-project .project-detail figure .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
  }
  .desktop-internal.page-inside-project .project-detail figure .flexbox { width: 100%; height: 100%; padding: 0; }
  .desktop-internal.page-inside-project .project-detail figure img {
    width: 100%;
    height: 100% !important;
    max-height: none;
    border-radius: 13px;
    object-fit: contain;
    object-position: center;
  }
  .desktop-internal.page-inside-project .project-detail figure .swiper-button-prev,
  .desktop-internal.page-inside-project .project-detail figure .swiper-button-next {
    top: 50%;
    width: 42px;
    height: 42px;
    margin-top: -21px;
    border-radius: 50%;
    background-color: rgba(255,255,255,.9);
    box-shadow: 0 7px 18px rgba(0,36,74,.16);
  }
  .desktop-internal.page-inside-project .project-detail figure .swiper-button-prev { left: 26px; }
  .desktop-internal.page-inside-project .project-detail figure .swiper-button-next { right: 26px; }
  .desktop-internal.page-inside-project .project-detail .description {
    position: sticky;
    top: 108px;
    width: auto;
    min-width: 0;
    padding: 0 0 25px;
    overflow: hidden;
  }
  .desktop-internal.page-inside-project .project-detail .description .top {
    height: auto;
    min-height: 116px;
    padding: 28px;
    align-items: flex-end;
    background: linear-gradient(145deg, #073966, #00244a);
    box-shadow: none;
  }
  .desktop-internal.page-inside-project .project-detail .description .top::before {
    content: "Project profile";
    position: absolute;
    top: 20px;
    left: 28px;
    color: #79ca7f;
    font: 700 9px/1 sans-serif;
    letter-spacing: 1.4px;
    text-transform: uppercase;
  }
  .desktop-internal.page-inside-project .project-detail .description .top h1 {
    max-width: 78%;
    color: #fff;
    font-size: 23px;
    line-height: 1.18;
  }
  .desktop-internal.page-inside-project .project-detail .description .top a {
    position: absolute;
    right: 22px;
    bottom: 26px;
    padding: 7px 11px;
    border: 1px solid rgba(255,255,255,.25);
    border-radius: 999px;
    color: #fff;
    font-size: 11px;
    text-decoration: none;
  }
  .desktop-internal.page-inside-project .project-detail .description .infoList {
    margin: 0;
    padding: 25px 28px 4px;
  }
  .desktop-internal.page-inside-project .project-detail .description .info {
    display: grid;
    grid-template-columns: 105px minmax(0, 1fr);
    gap: 12px;
    margin: 0;
    padding: 13px 0;
    border-bottom: 1px solid #e4ebe7;
  }
  .desktop-internal.page-inside-project .project-detail .description .info:last-child { border-bottom: 0; }
  .desktop-internal.page-inside-project .project-detail .description .info .title--info {
    float: none;
    width: auto;
    color: var(--di-navy);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: .5px;
  }
  .desktop-internal.page-inside-project .project-detail .description .info .semi--colon { display: none; }
  .desktop-internal.page-inside-project .project-detail .description .info .content--info {
    float: none;
    min-width: 0;
    color: #536576;
    font-size: 14px;
    line-height: 1.45;
    overflow-wrap: anywhere;
  }

  /* Slightly larger approved footer typography */
  .desktop-internal footer .footer-mobile-intro h2 { font-size: 34px; }
  .desktop-internal footer .items .item .title { font-size: 16px; }
  .desktop-internal footer .items .item .description,
  .desktop-internal footer .items .item .description a { font-size: 13px; }
  .desktop-internal footer .footer-bottom { font-size: 11px; }

  @media only screen and (max-width: 1050px) {
    .desktop-internal .wrap { width: calc(100% - 42px); }
    .desktop-internal.page-projects .section-projectOne .add--gap,
    .desktop-internal.project2 .section-projectTwoin .wrapin > .flex { grid-template-columns: repeat(2, 1fr); }
    .desktop-internal footer .footer-mobile-intro { width: 34%; padding-right: 25px; }
    .desktop-internal footer .items { width: 66%; margin-left: 34%; }
  }
}
