/* ===== About Us page ===== */
/* ---- Inner-page hero: one shared design (navy + construction skyline) ---- */
.page-banner{position:relative;isolation:isolate;overflow:hidden;color:#fff;padding:112px 0 54px;
  background:radial-gradient(700px 260px at 15% 0%,rgba(202,160,92,.16),transparent 70%),linear-gradient(120deg,#0b1527 0%,#15233f 100%);
  box-shadow:inset 0 -4px 0 var(--tl-color-theme-primary,#CAA05C)}
/* skyline with a crane along the bottom edge */
.page-banner:before{content:"";position:absolute;left:0;right:0;bottom:4px;height:96px;z-index:-1;opacity:.28;
  background:url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='900' height='110' viewBox='0 0 900 110' fill='none' stroke='%23CAA05C' stroke-width='1.4'><path d='M0 110V66h38v44M38 110V40h48v70M86 110V60h30v50M116 110V24h44v86M160 110V54h34v56M194 110V74h28v36M222 110V44h54v66M276 110V66h30v44M306 110V30h40v80M346 110V58h34v52M380 110V72h28v38M408 110V48h48v62M456 110V34h42v76M498 110V60h30v50M528 110V76h40v34M568 110V42h50v68M618 110V62h32v48M650 110V28h44v82M694 110V56h34v54M728 110V70h30v40M758 110V46h50v64M808 110V64h34v46M842 110V80h58v30'/><path d='M478 34V4M430 4h100M520 4v22M516 26h8v6h-8zM424 0v8h8V0'/><path d='M130 24V8M118 8h26M138 8v10'/></svg>") repeat-x left bottom/auto 96px}
/* big outlined page-name watermark */
.page-banner:after{content:attr(data-title);position:absolute;right:4%;top:50%;transform:translateY(-42%);z-index:-1;
  font:800 clamp(70px,11vw,160px)/1 var(--tl-ff-body,sans-serif);text-transform:uppercase;letter-spacing:4px;white-space:nowrap;
  color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.13)}
.page-banner .hero-inner{position:relative;max-width:640px}
.page-banner .crumbs{margin:0 0 14px;font-size:14px;text-transform:uppercase;letter-spacing:1.5px}
.page-banner-title{font-family:var(--tl-ff-body,sans-serif);font-weight:600;font-size:clamp(28px,3.2vw,42px);line-height:1.1;letter-spacing:-.4px;color:#fff;margin:0;position:relative;padding-bottom:14px}
.page-banner-title:after{content:"";position:absolute;left:0;bottom:0;height:3px;width:0;background:var(--tl-color-theme-primary,#CAA05C);animation:lineGrow 1.1s .4s ease forwards}
@keyframes lineGrow{to{width:84px}}
.page-banner-tag{font:400 clamp(15px,1.4vw,18px)/1.7 var(--tl-ff-body,sans-serif);letter-spacing:0;color:#d5dae4;margin:2px 0 0}
@media(max-width:991px){
  .page-banner{padding:100px 0 50px}
  .page-banner:before{height:70px;background-size:auto 70px}
  .page-banner:after{font-size:64px;right:3%;opacity:.8}
}
.crumbs{list-style:none;display:flex;gap:10px;margin:0;padding:0;color:#c9ced6;font-size:15px}
.crumbs li+li:before{content:"/";margin-right:10px;color:var(--tl-color-theme-primary,#CAA05C)}
.crumbs a{color:#fff}.crumbs a:hover{color:var(--tl-color-theme-primary,#CAA05C)}

.about-lead{font-size:20px;line-height:1.7;color:#141f33;font-weight:500}
.about-page-section p,.reach-section p{font-size:17px;line-height:1.8}
.about-motto{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px;margin-top:30px}
.about-motto div{padding:20px 22px;border-left:3px solid var(--tl-color-theme-primary,#CAA05C);background:#f6f3ee;border-radius:0 14px 14px 0}
.about-motto span{display:block;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#777;margin-bottom:6px}
.about-motto strong{font-weight:600;color:#141f33;line-height:1.4}
.about-photo{border-radius:24px;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.12)}
.about-photo img{width:100%;height:480px;object-fit:cover;display:block}
@media(max-width:767px){.about-photo img{height:280px}}

.stats-strip{background:#141f33;padding:60px 0}
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:30px;text-align:center}
.stat strong{display:block;font:400 clamp(40px,5vw,64px)/1 var(--tl-ff-heading);color:var(--tl-color-theme-primary,#CAA05C)}
.stat span{display:block;color:#fff;font-size:18px;margin:8px 0 6px}
.stat p{margin:0;color:#b9bfca;font-size:15px}

.tick-list{list-style:none;margin:22px 0 0;padding:0}
.tick-list li{position:relative;padding:0 0 16px 34px;font-size:17px;line-height:1.7}
.tick-list li:before{content:"\2714";position:absolute;left:0;top:0;color:var(--tl-color-theme-primary,#CAA05C)}
.tick-list b{color:#141f33}

.cap-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;margin-top:50px}
.cap-detail{background:#fff;border-radius:24px;padding:36px 32px;box-shadow:0 3px 18px rgba(0,0,0,.05);transition:transform .3s}
.cap-detail:hover{transform:translateY(-6px)}
.cap-detail h3{font-size:25px;font-weight:400;line-height:1.25;margin:14px 0 12px}
.cap-detail p{margin:0 0 16px}
.cap-detail ul{list-style:none;margin:0;padding:16px 0 0;border-top:1px solid #eee}
.cap-detail li{position:relative;padding:5px 0 5px 22px;color:#555}
.cap-detail li:before{content:"";position:absolute;left:0;top:14px;width:8px;height:8px;border-radius:50%;background:var(--tl-color-theme-primary,#CAA05C)}

.clients-section{background:#141f33}
.clients-section .section-heading p{color:#c9ced6;max-width:760px;margin-top:14px}
.clients-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:50px}
.client-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:32px 28px}
.client-card h3{color:#fff;font-size:22px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid rgba(255,255,255,.15)}
.client-card ul{list-style:none;margin:0;padding:0}
.client-card li{color:#d7dbe2;padding:6px 0 6px 22px;position:relative}
.client-card li:before{content:"";position:absolute;left:0;top:15px;width:8px;height:8px;border-radius:50%;background:var(--tl-color-theme-primary,#CAA05C)}

.about-cta{background:#f6f3ee}
.about-cta p{max-width:560px;margin:14px auto 28px;font-size:18px}


/* ===== Core Capabilities page ===== */
.cap-row{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;margin-top:70px}
.cap-row-flip .cap-row-img{order:2}
.cap-row-img{position:relative;border-radius:24px;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.12)}
.cap-row-img img{width:100%;height:400px;object-fit:cover;display:block}
.cap-row-no{position:absolute;left:20px;top:20px;background:#141f33;color:var(--tl-color-theme-primary,#CAA05C);font:400 22px/1 var(--tl-ff-heading);padding:12px 18px;border-radius:14px}
.cap-row-body h3{font-size:clamp(26px,2.6vw,36px);font-weight:400;line-height:1.2;margin:0 0 14px}
.cap-row-body p{font-size:17px;line-height:1.8}
.cap-row-body .tick-list{margin-top:18px}
.card-tag{color:var(--tl-color-theme-primary,#CAA05C) !important;font-weight:600;margin-bottom:10px !important}
.client-card p{color:#d7dbe2;line-height:1.7}
@media(max-width:991px){.cap-row{grid-template-columns:1fr;gap:28px;margin-top:50px}.cap-row-flip .cap-row-img{order:0}.cap-row-img img{height:280px}}


/* ===== Contact page ===== */
.contact-layout{display:grid;grid-template-columns:5fr 7fr;gap:60px;align-items:start}
.contact-info .section-title{font-size:clamp(30px,3.2vw,46px);line-height:1.15;margin:10px 0 16px}
.contact-info p{font-size:17px;line-height:1.8}
.info-card{display:flex;align-items:center;gap:18px;padding:18px 22px;margin-top:16px;background:#f6f3ee;border-radius:18px;color:#141f33;transition:transform .3s}
a.info-card:hover{transform:translateX(6px)}
.info-icon{flex:0 0 52px;height:52px;border-radius:50%;background:#141f33;color:var(--tl-color-theme-primary,#CAA05C);display:flex;align-items:center;justify-content:center;font-size:18px}
.info-card small{display:block;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#777;margin-bottom:4px}
.info-card strong{font-weight:600;font-size:18px;overflow-wrap:anywhere}
.info-tag{margin-top:26px !important;font-weight:600;color:var(--tl-color-theme-primary,#CAA05C)}
.contact-card{background:#fff;border-radius:28px;padding:44px 40px;box-shadow:0 10px 50px rgba(0,0,0,.09)}
.contact-card h3{font-size:28px;font-weight:400;margin:0 0 24px}
.contact-card .contact-form{max-width:none;margin:0}
.form-note{padding:14px 18px;border-radius:12px;margin-bottom:20px;font-size:16px}
.form-note.ok{background:#e8f5ec;color:#1d6b35}
.form-note.err{background:#fdecec;color:#a12626}
@media(max-width:991px){.contact-layout{grid-template-columns:1fr;gap:40px}}
@media(max-width:575px){.contact-card{padding:30px 22px}}


/* ===== About page redesign (ab-*) ===== */
.ab-journey{background:#fff}
.ab-journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:70px;align-items:center}
.ab-journey-media{position:relative}
.ab-journey-media:before{content:"";position:absolute;left:-18px;top:-18px;width:60%;height:60%;border:2px solid var(--tl-color-theme-primary,#CAA05C);border-radius:26px;z-index:0}
.ab-journey-media img{position:relative;z-index:1;width:100%;height:500px;object-fit:cover;border-radius:24px;display:block;box-shadow:0 12px 44px rgba(0,0,0,.14)}
.ab-float{position:absolute;z-index:2;right:-20px;bottom:30px;background:#141f33;color:#fff;border-radius:18px;padding:20px 28px;box-shadow:0 14px 34px rgba(0,0,0,.3)}
.ab-float strong{display:block;font:400 40px/1 var(--tl-ff-heading);color:var(--tl-color-theme-primary,#CAA05C)}
.ab-float span{font-size:14px;color:#d5dae4}
.ab-journey-text .section-title{font-size:clamp(30px,3.2vw,46px);line-height:1.15;margin:10px 0 18px}
.ab-journey-text p{font-size:17px;line-height:1.8}
.ab-motto{display:flex;align-items:center;gap:18px;margin-top:26px;padding:18px 22px;background:#f6f3ee;border-radius:16px}
.ab-motto i{font-size:26px;color:var(--tl-color-theme-primary,#CAA05C)}
.ab-motto span{display:block;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#777;margin-bottom:4px}
.ab-motto strong{font-size:20px;color:#141f33}

.ab-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;margin-top:80px;position:relative}
.ab-steps:before{content:"";position:absolute;left:8%;right:8%;top:34px;height:2px;background:repeating-linear-gradient(90deg,var(--tl-color-theme-primary,#CAA05C) 0 10px,transparent 10px 20px)}
.ab-step{position:relative;text-align:center;padding:0 14px}
.ab-step-no{display:inline-flex;align-items:center;justify-content:center;min-width:68px;height:68px;padding:0 14px;border-radius:34px;background:#141f33;color:var(--tl-color-theme-primary,#CAA05C);font:400 20px/1 var(--tl-ff-heading);box-shadow:0 0 0 8px #fff;position:relative}
.ab-step h3{font-size:22px;font-weight:400;margin:20px 0 8px}
.ab-step p{margin:0;color:#555;line-height:1.7}

.ab-reach{background:#f6f3ee}
.ab-reach .section-heading p{max-width:700px;margin-top:14px}
.ab-places{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin:40px 0 0;padding:0}
.ab-places li{background:#fff;border-radius:100px;padding:12px 24px;font-weight:600;color:#141f33;box-shadow:0 3px 14px rgba(0,0,0,.07)}
.ab-places i{color:var(--tl-color-theme-primary,#CAA05C);margin-right:10px}
.ab-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-top:46px}
.ab-note{background:#fff;border-radius:22px;padding:32px 30px;border-left:4px solid var(--tl-color-theme-primary,#CAA05C)}
.ab-note i{font-size:28px;color:var(--tl-color-theme-primary,#CAA05C)}
.ab-note h3{font-size:24px;font-weight:400;margin:14px 0 10px}
.ab-note p{margin:0;color:#555;line-height:1.75}

.ab-team{background:#fff}
.ab-team-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:center}
.ab-team-text .section-title{font-size:clamp(30px,3.2vw,46px);line-height:1.15;margin:10px 0 18px}
.ab-team-text>p{font-size:17px;line-height:1.8}
.ab-pills{display:grid;gap:14px;margin-top:26px}
.ab-pill{padding:16px 22px;border-radius:0 16px 16px 0;border-left:3px solid var(--tl-color-theme-primary,#CAA05C);background:#f6f3ee}
.ab-pill span{display:block;font-size:12px;letter-spacing:1px;text-transform:uppercase;color:#777;margin-bottom:4px}
.ab-pill strong{font-weight:600;color:#141f33;line-height:1.45}
.ab-team-media img{width:100%;height:560px;object-fit:cover;display:block;border-radius:200px 200px 24px 24px;box-shadow:0 12px 44px rgba(0,0,0,.14)}

.ab-why{background:#f6f3ee}
.ab-why-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:24px;margin-top:50px}
.ab-why-grid article{background:#fff;border-radius:24px;padding:38px 30px;text-align:center;border-top:4px solid var(--tl-color-theme-primary,#CAA05C);box-shadow:0 3px 20px rgba(0,0,0,.05);transition:transform .3s}
.ab-why-grid article:hover{transform:translateY(-6px)}
.ab-icon{display:inline-flex;flex:0 0 58px;width:58px;height:58px;border-radius:50%;background:#141f33;color:var(--tl-color-theme-primary,#CAA05C);align-items:center;justify-content:center;font-size:22px}
.ab-why-grid h3{font-size:23px;font-weight:400;margin:18px 0 10px}
.ab-why-grid p{margin:0;color:#555;line-height:1.7}
.ab-link{margin-top:46px}

.ab-clients{background:linear-gradient(135deg,#0c1629,#16243f)}
.ab-clients .section-heading p{color:#c9ced6;max-width:820px;margin-top:14px}
.ab-client-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:54px}
.ab-client{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:32px 30px}
.ab-client-wide{grid-column:1/-1}
.ab-client-head{display:flex;gap:16px;align-items:center;margin-bottom:18px}
.ab-client-head h3{color:#fff;font-size:22px;font-weight:400;margin:0 0 4px}
.ab-client-head p{margin:0;color:#aeb6c4;font-size:15px}
.ab-client .ab-icon{background:var(--tl-color-theme-primary,#CAA05C);color:#141f33}
.ab-chips{list-style:none;display:flex;flex-wrap:wrap;gap:10px;margin:0;padding:0}
.ab-chips li{background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.14);color:#e6e9ef;border-radius:100px;padding:9px 18px;font-size:15px}
.ab-estates{display:flex;align-items:center;gap:36px;background:linear-gradient(120deg,rgba(202,160,92,.22),rgba(255,255,255,.05))}
.ab-big{font:400 clamp(60px,8vw,110px)/1 var(--tl-ff-heading);color:var(--tl-color-theme-primary,#CAA05C)}
.ab-estates p{margin:0;color:#d5dae4;line-height:1.75;font-size:17px}
.ab-estates .ab-client-head{margin-bottom:10px}

@media(max-width:991px){
  .ab-journey-grid,.ab-team-grid{grid-template-columns:1fr;gap:44px}
  .ab-journey-media img{height:340px}
  .ab-float{right:10px}
  .ab-steps{grid-template-columns:1fr;gap:34px;margin-top:60px}
  .ab-steps:before{display:none}
  .ab-team-media img{height:380px;border-radius:120px 120px 24px 24px}
  .ab-client-grid{grid-template-columns:1fr}
  .ab-estates{flex-direction:column;align-items:flex-start;gap:14px}
}


/* ===== EHS Policy page ===== */
.ehs-commit{background:#f6f3ee}
.ehs-quote{position:relative;max-width:900px;margin:0 auto;padding:54px 56px 48px;border-radius:28px;color:#fff;text-align:center;
  background:radial-gradient(500px 220px at 80% 0%,rgba(202,160,92,.22),transparent 70%),linear-gradient(135deg,#0c1629,#16243f);box-shadow:0 16px 50px rgba(12,22,41,.35)}
.ehs-quote>i{font-size:34px;color:var(--tl-color-theme-primary,#CAA05C)}
.ehs-quote-label{display:block;margin:14px 0 18px;font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--tl-color-theme-primary,#CAA05C)}
.ehs-quote p{margin:0;font:400 clamp(18px,2vw,24px)/1.7 var(--tl-ff-body,sans-serif);color:#eef0f5}
.ehs-grid{display:grid;gap:24px;margin-top:50px}
.ehs-grid-2{grid-template-columns:repeat(2,1fr)}
.ehs-grid-3{grid-template-columns:repeat(3,1fr)}
.ehs-item{display:flex;gap:20px;align-items:flex-start;background:#fff;border-radius:22px;padding:30px 28px;border-left:4px solid var(--tl-color-theme-primary,#CAA05C);box-shadow:0 3px 18px rgba(0,0,0,.05);transition:transform .3s}
.ehs-section:nth-of-type(odd) .ehs-item{background:#fff}
.ehs-item:hover{transform:translateY(-5px)}
.ehs-item h3{font-size:21px;font-weight:400;margin:2px 0 8px}
.ehs-item p{margin:0;color:#555;line-height:1.7}
.ehs-env-grid{grid-template-columns:repeat(3,1fr)}
.ehs-env-p{margin:0;color:#d5dae4;line-height:1.75}
.ehs-btns{display:flex;flex-wrap:wrap;gap:14px;justify-content:center}
@media(max-width:991px){.ehs-grid-2,.ehs-grid-3,.ehs-env-grid{grid-template-columns:1fr}.ehs-quote{padding:40px 26px 36px}}