@charset "UTF-8";
:root{--navy:#071a2b;--navy2:#0c263a;--blue:#1b4963;--cyan:#68c9d1;--green:#86c440;--lime:#a1d64b;--ink:#172a38;--muted:#657580;--paper:#f5f7f6;--line:#dce4e3;--white:#fff;--max:1200px;--sans:Inter,"Segoe UI",Roboto,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:86px}body{margin:0;font-family:var(--sans);color:var(--ink);background:#fff;line-height:1.65;-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit}.container{width:min(var(--max),calc(100% - 48px));margin-inline:auto}.skip-link{position:absolute;left:-999px;top:8px;background:white;padding:10px 16px;z-index:1000}.skip-link:focus{left:12px}.site-header{height:82px;position:sticky;top:0;z-index:100;background:rgba(5,20,34,.97);border-bottom:1px solid rgba(255,255,255,.09);backdrop-filter:blur(16px)}.nav-wrap{height:100%;display:flex;align-items:center;justify-content:space-between;gap:32px}.brand{display:flex;align-items:center;gap:11px;color:#fff;min-width:230px}.brand img{width:50px;height:50px;object-fit:contain;border-radius:8px;background:#fff}.brand-copy{display:flex;flex-direction:column;line-height:1.15}.brand-copy strong{font-size:19px;letter-spacing:.1em}.brand-copy small{font-size:8px;letter-spacing:.105em;line-height:1.4;color:#b9c8d0;margin-top:4px}.primary-nav{display:flex;align-items:center;gap:30px}.primary-nav>a{font-size:12px;color:#d4dfe5;letter-spacing:.04em;transition:color .2s}.primary-nav>a:hover,.primary-nav>a:focus{color:var(--lime)}.language-switch{border:1px solid rgba(255,255,255,.25);background:transparent;color:#b8c6cf;border-radius:30px;padding:8px 12px;font-size:11px;cursor:pointer;letter-spacing:.05em}.language-switch strong{color:var(--lime)}.lang-divider{padding:0 5px;color:#657987}.menu-toggle{display:none;background:none;border:0;padding:10px}.menu-toggle span{display:block;width:24px;height:2px;background:#fff;margin:5px}.hero{min-height:650px;position:relative;display:flex;align-items:center;overflow:hidden;background:var(--navy);color:#fff}.hero-image{position:absolute;inset:0;background-image:url('assets/hero-engineering.jpg');background-size:cover;background-position:center 45%;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,18,31,.96) 0%,rgba(5,23,38,.88) 38%,rgba(5,23,38,.45) 72%,rgba(5,23,38,.2) 100%),linear-gradient(0deg,rgba(4,18,31,.55),transparent 38%)}.hero-content{position:relative;padding:95px 0 105px;z-index:1}.eyebrow,.kicker{display:flex;align-items:center;gap:12px;font-size:10px;font-weight:750;letter-spacing:.19em}.eyebrow{color:var(--lime);margin-bottom:22px}.eyebrow-line{height:1px;width:35px;background:var(--lime)}h1,h2,h3,h4,p{margin-top:0}h1{font-size:clamp(56px,8vw,100px);letter-spacing:-.065em;line-height:.93;font-weight:650;max-width:740px;margin:0 0 24px}h1 em,h2 em{font-style:normal;color:var(--lime)}h1 em{display:block}.hero-services{font-size:13px;letter-spacing:.045em;color:#e1e9ed;margin-bottom:17px}.hero-services b{color:var(--lime);padding:0 5px}.hero-intro{max-width:540px;color:#c2d0d7;font-size:16px;line-height:1.8;margin-bottom:28px}.hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.button{display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:14px 18px;min-height:49px;font-size:12px;font-weight:700;letter-spacing:.015em;transition:transform .2s,background .2s,border-color .2s}.button:hover{transform:translateY(-2px)}.button-primary{background:var(--lime);color:#13262d;border:1px solid var(--lime)}.button-primary:hover{background:#b0e765}.button-ghost{border:1px solid rgba(255,255,255,.45);color:white}.button-ghost:hover{border-color:var(--lime)}.hero-location{display:flex;align-items:center;gap:9px;margin-top:44px;font-size:10px;color:#bdcbd2;letter-spacing:.035em}.location-dot,.green-dot{width:7px;height:7px;border-radius:50%;background:var(--lime);display:inline-block;flex:none}.trust-strip{background:var(--lime);color:#16282e}.trust-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:23px 0}.trust-grid>div{display:flex;align-items:center;gap:14px;padding:0 18px;border-right:1px solid rgba(18,39,43,.2);font-size:11px;font-weight:750}.trust-grid>div:first-child{padding-left:0}.trust-grid>div:last-child{border:0}.trust-number{font-size:10px;opacity:.65;font-weight:500}.section{padding:108px 0}.about-section{background:var(--paper)}.about-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:95px;align-items:start}.kicker{color:#54717f;margin-bottom:27px}.kicker>span:first-child{color:#80b73b}.section-heading h2,.contact-copy h2{font-size:clamp(36px,4vw,54px);letter-spacing:-.045em;line-height:1.12;font-weight:600;margin-bottom:27px}.heading-rule{height:3px;width:58px;background:var(--lime)}.about-copy{padding-top:33px}.about-copy p{font-size:14px;color:#5c6d77;line-height:1.95;margin-bottom:20px}.about-copy .lead{font-size:18px;color:#243d4b;line-height:1.75}.differentiators{display:grid;grid-template-columns:1.05fr repeat(4,1fr);gap:0;margin-top:83px;background:#fff;border:1px solid #e3e9e7}.diff-intro,.diff-card{padding:28px 23px}.diff-intro{background:var(--navy);color:#fff}.mini-label{display:inline-block;font-size:12px;letter-spacing:.12em;text-transform:uppercase;font-weight:800;color:#85bb42}.diff-intro h3{font-size:23px;line-height:1.25;letter-spacing:-.03em;margin:18px 0 0}.diff-card{border-right:1px solid #e3e9e7}.diff-card:last-child{border-right:0}.diff-no{font-size:11px;color:#80b83c;font-weight:800}.diff-card h4{font-size:16px;line-height:1.4;font-weight:800;margin:0 0 12px}.diff-card p{font-size:16px;line-height:1.65;color:#71818a;margin:0}.services-section{background:#fff}.section-topline{display:flex;align-items:center;justify-content:space-between;gap:20px}.section-topline .kicker{margin:0}.section-aside{font-size:16px;font-weight:800;color:#73838b;margin:0;line-height:1.35}.wide-heading{font-size:clamp(38px,5vw,62px);line-height:1.1;letter-spacing:-.055em;font-weight:600;max-width:800px;margin:30px 0 52px}.wide-heading em{font-style:normal;color:#78ad37}.services-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}.service-card{border:1px solid #e2e8e7;background:#fff;min-width:0}.service-featured{grid-column:1/-1;display:grid;grid-template-columns:.75fr 1.25fr}.service-photo{position:relative;height:225px;overflow:hidden;background:#d9e1e2}.service-featured .service-photo{height:100%;min-height:620px}.service-photo img,.structural-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.service-card:hover .service-photo img{transform:scale(1.035)}.service-index{position:absolute;bottom:17px;left:18px;background:var(--lime);color:#18303a;font-size:10px;font-weight:800;padding:7px 10px}.service-body{padding:28px 29px 30px}.service-featured .service-body{padding:39px 42px}.service-label{font-size:16px;font-weight:800;letter-spacing:.04em;color:#79a93b;margin-bottom:13px;line-height:1.35}.service-body h3{font-size:24px;line-height:1.25;letter-spacing:-.035em;margin-bottom:14px}.service-body>p:not(.service-label){font-size:16px;font-weight:400;line-height:1.65;color:#000;margin-bottom:21px}.service-body h4{font-size:16px;font-weight:800;letter-spacing:0;line-height:1.35;margin:24px 0 10px}.service-body ul{padding-left:17px;margin:0 0 15px}.service-body li{font-size:16px;font-weight:400;color:#000;line-height:1.65;margin:0 0 9px;padding-left:2px}.service-body li::marker{color:#8fc74a}.service-subgrid{display:grid;grid-template-columns:1fr 1fr;gap:25px}.service-subgrid h4{margin-top:8px}.service-callout{display:block;background:transparent;border:0;padding:0;margin-top:28px}.callout-mark{display:none}.service-callout h4{font-size:16px;font-weight:800;letter-spacing:0;line-height:1.35;margin:24px 0 10px;color:#071b2b}.service-callout ul{padding-left:17px;margin:0 0 15px}.service-callout li{font-size:16px;font-weight:400;color:#000;line-height:1.65;margin:0 0 9px;padding-left:2px}.service-callout li::marker{color:#8fc74a}.structural-card{display:grid;grid-template-columns:.85fr 1.15fr;grid-column:1/-1}.structural-image{position:relative;min-height:440px;overflow:hidden;background:var(--navy)}.structural-card .service-body{padding:37px}.experience-section{position:relative;background:var(--navy);color:#fff;overflow:hidden}.experience-backdrop{position:absolute;inset:0;background:radial-gradient(ellipse at 88% 8%,rgba(54,104,126,.22),transparent 45%),linear-gradient(120deg,#071a2b,#0b2538)}.experience-content{position:relative}.kicker-light{color:#c3d1d7}.experience-section .section-aside{color:#9cafb8}.light-heading{margin-bottom:22px;color:#fff}.experience-note{max-width:670px;font-size:16px;color:#b5c5cd;line-height:1.65;margin-bottom:44px}.experience-grid{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid rgba(255,255,255,.17)}.experience-item{display:grid;grid-template-columns:47px 1fr;gap:15px;padding:27px 24px 27px 0;border-bottom:1px solid rgba(255,255,255,.17)}.experience-item:nth-child(odd){padding-right:36px;border-right:1px solid rgba(255,255,255,.17)}.experience-item:nth-child(even){padding-left:27px}.exp-number{font-size:11px;color:var(--lime);font-weight:800;letter-spacing:.08em}.experience-item h3{font-size:14px;line-height:1.45;margin:0 0 9px;color:#fff}.experience-item p{font-size:11px;color:#b0c0c8;line-height:1.85;margin:0}.experience-image-row{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:48px;margin-top:48px}.experience-image-row img{width:100%;height:240px;object-fit:cover;filter:saturate(.8)}.experience-image-row p{font-size:21px;line-height:1.5;max-width:390px;margin:15px 0 0;color:#e6eef0;letter-spacing:-.02em}.contact-section{background:var(--paper)}.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:center}.contact-copy h2{max-width:560px}.contact-copy h2 em{color:#79ae39}.contact-lead{max-width:520px;font-size:14px;line-height:1.9;color:#657680;margin-bottom:27px}.contact-cta{margin-top:4px}.contact-panel{background:var(--navy);color:#fff;padding:35px 38px;box-shadow:0 22px 50px rgba(7,26,43,.12)}.contact-panel-head{display:flex;align-items:center;gap:16px;padding-bottom:27px;border-bottom:1px solid rgba(255,255,255,.16)}.contact-panel-head img{width:65px;height:65px;object-fit:contain;background:#fff;border-radius:8px}.contact-panel-head strong,.contact-panel-head span{display:block}.contact-panel-head strong{font-size:18px;letter-spacing:.12em}.contact-panel-head span{font-size:10px;color:#b8c8cf;margin-top:3px}.contact-detail{display:flex;gap:17px;padding:22px 0;border-bottom:1px solid rgba(255,255,255,.13)}.contact-icon{width:32px;height:32px;display:grid;place-items:center;border:1px solid rgba(160,213,75,.4);color:var(--lime);font-size:17px;flex:none}.contact-detail small{font-size:9px;letter-spacing:.15em;color:#9bb0ba}.contact-detail p,.contact-detail a{display:block;font-size:13px;color:#f1f5f6;margin:4px 0 0}.contact-detail a:hover{color:var(--lime)}.localized-location{display:none!important}.contact-panel-foot{display:flex;align-items:center;gap:9px;padding-top:24px;font-size:10px;color:#b8c7ce}.site-footer{background:#041321;color:#b9c7ce;padding:23px 0}.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px}.footer-brand{font-size:13px;font-weight:800;letter-spacing:.1em;color:#fff}.footer-brand span{color:var(--lime);padding:0 4px}.footer-brand small{font-size:8px;letter-spacing:.06em;color:#8fa2ad}.footer-inner p,.back-top{font-size:10px;margin:0;color:#93a6b0}.back-top:hover{color:var(--lime)}
@media(max-width:1000px){.primary-nav{gap:19px}.about-grid{gap:55px}.differentiators{grid-template-columns:repeat(2,1fr)}.diff-intro{min-height:180px}.diff-card{border-bottom:1px solid #e3e9e7}.diff-card:nth-child(3){border-right:0}.service-featured{grid-template-columns:.65fr 1.35fr}.service-featured .service-body{padding:30px}.service-subgrid{gap:15px}.contact-grid{gap:55px}}
.section-subtitle{font-size:16px;font-weight:800;letter-spacing:.08em;line-height:1.35}.section-subtitle>span:first-child{color:inherit}.kicker-light.section-subtitle{color:#fff}
@media(max-width:760px){.container{width:min(var(--max),calc(100% - 36px))}.site-header{height:72px}.brand{min-width:0}.brand img{width:43px;height:43px}.brand-copy strong{font-size:17px}.menu-toggle{display:block;cursor:pointer}.primary-nav{display:none;position:absolute;top:72px;left:0;right:0;background:#071a2b;padding:20px 24px 24px;align-items:stretch;gap:0;border-top:1px solid rgba(255,255,255,.1);box-shadow:0 15px 25px rgba(0,0,0,.2)}.primary-nav.open{display:flex;flex-direction:column}.primary-nav>a{padding:13px 0;border-bottom:1px solid rgba(255,255,255,.1);font-size:13px}.language-switch{align-self:flex-start;margin-top:15px}.hero{min-height:650px}.hero-image{background-position:58% center}.hero-shade{background:linear-gradient(90deg,rgba(4,18,31,.94),rgba(5,23,38,.68)),linear-gradient(0deg,rgba(4,18,31,.5),transparent)}.hero-content{padding:75px 0 90px}h1{font-size:clamp(55px,15vw,82px)}.hero-intro{font-size:14px;max-width:470px}.hero-location{max-width:320px;line-height:1.7;margin-top:34px}.trust-grid{grid-template-columns:1fr 1fr;row-gap:15px;padding:19px 0}.trust-grid>div{padding:5px 12px;border-right:0;font-size:10px}.trust-grid>div:first-child{padding-left:12px}.trust-grid>div:nth-child(odd){border-right:1px solid rgba(18,39,43,.2)}.section{padding:75px 0}.section-subtitle{font-size:15px}.about-grid{grid-template-columns:1fr;gap:20px}.section-heading h2,.contact-copy h2{font-size:40px}.about-copy{padding-top:0}.about-copy .lead{font-size:16px}.differentiators{margin-top:45px}.diff-intro,.diff-card{padding:22px 18px}.diff-intro h3{font-size:21px}.diff-card p{font-size:10px}.section-topline{align-items:flex-start;flex-direction:column;gap:10px}.section-aside{font-size:11px}.wide-heading{font-size:42px;margin:25px 0 34px}.services-grid{grid-template-columns:1fr;gap:17px}.service-featured,.structural-card{grid-column:auto;grid-template-columns:1fr}.service-featured .service-photo{min-height:0;height:230px}.service-featured .service-body{padding:27px 23px}.service-body{padding:26px 23px}.service-body h3{font-size:22px}.service-subgrid{grid-template-columns:1fr;gap:0}.structural-image{min-height:260px;height:260px}.structural-card .service-body{padding:28px 23px}.experience-grid{grid-template-columns:1fr}.experience-item,.experience-item:nth-child(odd),.experience-item:nth-child(even){padding:23px 0;grid-template-columns:35px 1fr;border-right:0}.experience-item h3{font-size:13px}.experience-image-row{grid-template-columns:1fr;gap:24px;margin-top:32px}.experience-image-row img{height:210px}.experience-image-row p{font-size:19px}.contact-grid{grid-template-columns:1fr;gap:40px}.contact-panel{padding:28px 24px}.footer-inner{flex-wrap:wrap;justify-content:flex-start}.footer-inner p{order:3;width:100%}}
@media(max-width:420px){.container{width:calc(100% - 30px)}.hero-actions{align-items:stretch;flex-direction:column;max-width:280px}.button{justify-content:space-between}.hero-services{font-size:11px;line-height:1.9}.differentiators{grid-template-columns:1fr}.diff-intro{min-height:0}.diff-card{border-right:0!important}.section-heading h2,.contact-copy h2{font-size:35px}.wide-heading{font-size:36px}.service-body,.service-featured .service-body,.structural-card .service-body{padding:23px 19px}.contact-panel{padding:24px 18px}.footer-brand small{display:block;margin-top:5px}.footer-brand span{display:none}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}


/* PUCSAC 2026 revision: English-only header, long wordmark and consistent type scale */
:root {
  --font-display: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  --font-body: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  --size-section-title: clamp(36px, 4vw, 48px);
  --size-card-title: 21px;
  --size-subtitle: 14px;
  --size-body: 14px;
}
body { font-family: var(--font-body); }
h1, h2, h3, h4, .kicker, .mini-label, .service-label, .button {
  font-family: var(--font-display);
}
.brand { min-width: 0; width: min(360px, 34vw); display: flex; }
.brand .brand-wordmark {
  width: 100%;
  height: auto;
  max-height: 66px;
  object-fit: contain;
  object-position: left center;
  background: transparent;
  border-radius: 0;
}
.brand-copy { display: none; }

/* Consistent hierarchy for section headings, card headings, subtitles and body copy */
.section-heading h2,
.contact-copy h2,
.wide-heading {
  font-size: var(--size-section-title);
  line-height: 1.13;
  letter-spacing: -0.04em;
  font-weight: 650;
}
.diff-intro h3,
.service-body h3 {
  font-size: var(--size-card-title);
  line-height: 1.3;
  letter-spacing: -0.025em;
  font-weight: 650;
}
.diff-card h4,
.service-body h4,
.experience-item h3 {
  font-size: var(--size-subtitle);
  line-height: 1.45;
  font-weight: 700;
}
.about-copy p,
.service-body > p:not(.service-label),
.contact-lead,
.experience-item p {
  font-size: var(--size-body);
}
.hero h1 {
  font-size: clamp(54px, 7vw, 88px);
  line-height: .98;
  letter-spacing: -.055em;
  font-weight: 700;
}
.back-to-top-float {
  position: fixed;
  right: 24px;
  bottom: 24px;
  z-index: 150;
  width: 54px;
  height: 54px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 50%;
  background: var(--lime);
  color: var(--navy);
  box-shadow: 0 8px 28px rgba(0,0,0,.22);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
}
.back-to-top-float.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}
.back-to-top-float > span {
  font-size: 8px;
  line-height: 1;
  letter-spacing: .12em;
  font-weight: 800;
}
.back-to-top-float:first-letter { font-size: 20px; line-height: 1.1; }
@media (max-width: 760px) {
  .brand { width: min(285px, 65vw); }
  .brand .brand-wordmark { max-height: 56px; }
  .back-to-top-float { right: 15px; bottom: 15px; width: 48px; height: 48px; }
}
@media (max-width: 420px) {
  .brand { width: 225px; }
  .brand .brand-wordmark { max-height: 48px; }
}

/* PUCSAC dark-background long wordmark */
.brand{min-width:300px;max-width:430px}
.brand img.brand-wordmark{width:100%;height:auto;max-height:58px;object-fit:contain;object-position:left center;background:transparent;border-radius:0}
.trust-grid>div{font-size:16px;line-height:1.35;font-weight:750;gap:13px}
.trust-number{font-size:12px;flex:none}
@media(max-width:1000px){
  .brand{min-width:250px;max-width:330px}
  .brand img.brand-wordmark{max-height:48px}
  .trust-grid>div{font-size:14px}
}
@media(max-width:760px){
  .brand{min-width:0;width:min(72vw,300px);max-width:300px}
  .brand img.brand-wordmark{max-height:42px}
  .trust-grid>div{font-size:13px;gap:9px;padding:5px 8px}
  .trust-number{font-size:11px}
  .trust-grid>div:first-child{padding-left:8px}
}

/* About section: uniform typography for all three paragraphs */
.about-copy p,
.about-copy .lead {
  font-size: 18px;
  color: #243d4b;
  line-height: 1.75;
  margin-bottom: 20px;
}
@media (max-width: 760px) {
  .about-copy p,
  .about-copy .lead {
    font-size: 16px;
    line-height: 1.75;
  }
}

/* v6: typography harmonized in "What We Bring" cards */
@media(max-width:700px){.diff-card h4{font-size:16px}.diff-card p{font-size:15px}.mini-label{font-size:12px}}

/* PUCSAC typography review v7 */
.section-aside, .service-label, .service-body h4 {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
}
.service-body > p:not(.service-label), .service-body li {
  font-size: 16px;
  font-weight: 400;
  color: #000;
  line-height: 1.65;
}
.service-index { display: none !important; }
@media (max-width: 640px) {
  .section-aside, .service-label, .service-body h4,
  .service-body > p:not(.service-label), .service-body li {
    font-size: 16px;
  }
}


/* v10: Selected Experience typography aligned with service callout */
.experience-item {
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
}
.experience-item h3 {
  font-size: 16px;
  line-height: 1.35;
  font-weight: 800;
  color: #fff;
  margin: 0 0 12px;
}
.experience-item p {
  font-size: 16px;
  line-height: 1.65;
  font-weight: 400;
  color: #fff;
  margin: 0;
}
.exp-number { display: none !important; }
@media (max-width: 760px) {
  .experience-item h3 { font-size: 16px; }
  .experience-item p { font-size: 16px; }
}


/* PUCSAC typography review v13: experience image-row callout */
.experience-image-row .mini-label {
  display: block;
  font-size: 16px;
  line-height: 1.35;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 800;
  color: #fff;
  margin: 0 0 12px;
}
.experience-image-row > div > p {
  font-size: 16px;
  line-height: 1.65;
  font-weight: 400;
  color: #fff;
  margin: 0;
}


/* PUCSAC review v14 — contact and footer typography */
.contact-lead {
  font-size: 16px;
  line-height: 1.65;
}
.contact-panel-head {
  display: block;
  padding-bottom: 27px;
}
.contact-panel-head img {
  display: block;
  width: 100%;
  max-width: 430px;
  height: auto;
  object-fit: contain;
  background: transparent;
  border-radius: 0;
}
.contact-detail small {
  display: block;
  font-size: 16px;
  line-height: 1.4;
  font-weight: 700;
  letter-spacing: 0;
  color: #ffffff;
}
.contact-detail p,
.contact-detail a {
  font-size: 16px;
  line-height: 1.65;
  font-weight: 400;
  color: #f1f5f6;
}
.footer-brand {
  display: inline-flex;
  align-items: center;
  max-width: 340px;
  flex: 0 1 340px;
}
.footer-brand img {
  display: block;
  width: 100%;
  height: auto;
  object-fit: contain;
}
@media (max-width: 600px) {
  .contact-panel-head img { max-width: 100%; }
  .footer-brand { max-width: 280px; flex-basis: 280px; }
}


/* PUCSAC review v15 — align all long logos with the header size */
.brand {
  width: 190px;
  min-width: 190px;
  max-width: 190px;
}
.brand img.brand-wordmark {
  width: 190px;
  max-height: 58px;
}
.contact-panel-head {
  padding-bottom: 18px;
}
.contact-panel-head img {
  width: 190px;
  max-width: 190px;
  max-height: 58px;
  object-fit: contain;
  object-position: left center;
}
.footer-brand {
  width: 190px;
  max-width: 190px;
  flex: 0 0 190px;
}
.footer-brand img {
  width: 190px;
  max-height: 58px;
  object-fit: contain;
  object-position: left center;
}
.contact-detail {
  padding: 14px 0;
}
.contact-panel-foot {
  display: none !important;
}
.back-top {
  display: none !important;
}
/* Reduce the blank space above the bottom banner by about half */
.contact-section {
  padding-bottom: 48px !important;
}
@media (max-width: 760px) {
  .brand, .brand img.brand-wordmark {
    width: min(190px, 48vw);
    min-width: 0;
    max-width: 190px;
  }
  .contact-panel-head img,
  .footer-brand,
  .footer-brand img {
    width: min(190px, 70vw);
    max-width: 190px;
  }
  .footer-brand {
    flex: 0 1 190px;
  }
  .contact-section {
    padding-bottom: 32px !important;
  }
}

/* PUCSAC v16 — fix Selected Experience layout on narrow screens */
.experience-grid,
.experience-item,
.experience-item > div {
  min-width: 0;
}
.experience-item h3,
.experience-item p,
.experience-note {
  overflow-wrap: anywhere;
  word-break: normal;
}
@media (max-width: 760px) {
  .experience-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100%;
  }
  .experience-item,
  .experience-item:nth-child(odd),
  .experience-item:nth-child(even) {
    display: block !important;
    width: 100%;
    min-width: 0;
    padding: 22px 0 !important;
    border-right: 0 !important;
  }
  .experience-item > div {
    display: block;
    width: 100%;
    max-width: none;
    min-width: 0;
  }
  .experience-item h3 {
    width: 100%;
    font-size: 16px !important;
    line-height: 1.4;
    margin-bottom: 10px;
  }
  .experience-item p {
    width: 100%;
    font-size: 16px !important;
    line-height: 1.65;
  }
  .experience-note {
    max-width: none;
    width: 100%;
    font-size: 16px;
    line-height: 1.65;
    margin-bottom: 30px;
  }
  .experience-image-row {
    grid-template-columns: minmax(0, 1fr);
    min-width: 0;
  }
}


/* v17: OUR APPROACH label and callout typography aligned with service headings */
.service-callout { margin-top: 28px; }
.service-callout > .service-label {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
  letter-spacing: .04em;
  color: #79a93b;
  margin: 0 0 8px;
}
.service-callout h4 {
  font-size: 16px;
  font-weight: 800;
  line-height: 1.35;
  color: #071b2b;
  margin: 0 0 10px;
}
.service-callout ul { padding-left: 17px; margin: 0 0 15px; }
.service-callout li {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
  color: #000;
  margin: 0 0 9px;
  padding-left: 2px;
}
.service-callout li::marker { color: #8fc74a; }

/* Added asset-integrity introduction below OUR APPROACH */
.asset-integrity-intro{margin-top:34px;padding-top:8px}
.asset-integrity-intro .wide-heading{font-size:clamp(38px,5vw,62px);line-height:1.1;letter-spacing:-.055em;font-weight:600;max-width:800px;margin:30px 0 24px;color:var(--navy)}
.asset-integrity-intro .wide-heading em{font-style:normal;color:#78ad37}
.asset-integrity-intro p{font-size:16px;font-weight:400;line-height:1.65;color:#000;margin-bottom:21px}
@media(max-width:760px){
 .asset-integrity-intro .wide-heading{font-size:clamp(32px,8vw,42px);margin:22px 0 18px}
}


/* PUCSAC v20: featured engineering image ends with the service content;
   asset-integrity introduction spans the full card width below it. */
.service-featured {
  align-items: stretch;
}
.service-featured > .service-photo {
  height: auto;
  min-height: 0;
  align-self: stretch;
}
.service-featured > .service-photo img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.service-featured > .asset-integrity-intro {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
  margin-top: 0;
  padding: 0 0 34px;
}
.service-featured > .asset-integrity-intro .wide-heading {
  width: 100%;
  max-width: none;
  font-size: clamp(38px, 5vw, 62px);
  line-height: 1.1;
  letter-spacing: -.055em;
  font-weight: 600;
  color: var(--navy);
  margin: 24px 0 20px;
}
.service-featured > .asset-integrity-intro .wide-heading em {
  color: #78ad37;
  font-style: normal;
}
.service-featured > .asset-integrity-intro p {
  font-size: 16px;
  font-weight: 400;
  line-height: 1.65;
  color: #000;
}
.service-featured > .asset-integrity-intro p {
  font-size: 16px;
  line-height: 1.65;
  font-weight: 400;
  color: #000;
}
@media (max-width: 760px) {
  .service-featured > .service-photo {
    height: 230px;
    min-height: 0;
  }
  .service-featured > .service-photo img {
    position: absolute;
  }
  .service-featured > .asset-integrity-intro {
    padding: 0 23px 26px;
  }
  .service-featured > .asset-integrity-intro .wide-heading {
    width: 100%;
    max-width: none;
    font-size: clamp(32px, 8vw, 42px);
    margin: 22px 0 18px;
  }
}

/* PUCSAC v22: match asset-integrity heading to the main services heading */
.service-featured > .asset-integrity-intro .wide-heading {
  font-size: var(--size-section-title);
  line-height: 1.13;
  letter-spacing: -0.04em;
  font-weight: 650;
  max-width: none;
  text-align: left;
  margin: 25px 0 34px;
}
@media (max-width: 760px) {
  .service-featured > .asset-integrity-intro .wide-heading {
    font-size: 42px;
    line-height: 1.13;
    letter-spacing: -0.04em;
    font-weight: 650;
    margin: 25px 0 34px;
  }
}
@media (max-width: 420px) {
  .service-featured > .asset-integrity-intro .wide-heading {
    font-size: 36px;
    line-height: 1.13;
    letter-spacing: -0.04em;
    font-weight: 650;
    margin: 25px 0 34px;
  }
}


/* PUCSAC v24: remove excess blank space between asset-integrity paragraphs */
.service-featured > .asset-integrity-intro p {
  margin-bottom: 8px;
}
.service-featured > .asset-integrity-intro p br + br {
  display: none;
}
@media (max-width: 760px) {
  .service-featured > .asset-integrity-intro p {
    margin-bottom: 8px;
  }
}
