/* 3D Vision — theme layer. Loaded last; applies the Visual Identity palette and new layout.
   Primary: #0e396e navy, #73aed3 sky, #5a8ba3 steel. Secondary: #db7c5a terracotta, #a56b56 clay, #f2e8d5 cream. */

:root{
  --navy:#0e396e;--navy-deep:#0a2a54;--sky:#73aed3;--steel:#5a8ba3;
  --terra:#db7c5a;--clay:#a56b56;--cream:#f2e8d5;
  --paper:#e8f2f8;--panel:#f2e8d5;--ink:#0e396e;--muted:#3d556e;--line:#b5cfdf;--light:#fff;--accent:#0e396e;
  --serif:'Archivo','Arial Narrow',Arial,sans-serif;
  --sans:'IBM Plex Sans','Segoe UI',Arial,sans-serif;
  --radius:6px;
  --shadow:0 1px 2px rgba(10,42,84,.08),0 8px 24px rgba(10,42,84,.07);
  --grid:rgba(115,174,211,.13);
}
body{background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;line-height:1.65}
p{color:var(--muted)}
h1,h2,h3{font-family:var(--serif);color:var(--navy)}
h1,h2{font-weight:700;font-stretch:112%;letter-spacing:-.025em;line-height:1.06}
h3{font-weight:600;font-stretch:106%;letter-spacing:-.01em}
h1{font-size:clamp(2.5rem,5.6vw,4.9rem)}
h2{font-size:clamp(1.9rem,3.6vw,3.1rem)}
img{border-radius:var(--radius)}

/* Labels: sentence case, with a short terracotta bar marking a new section */
.eyebrow{text-transform:none;letter-spacing:0;font-size:.9rem;font-weight:600;color:var(--navy);display:flex;align-items:center;gap:12px;margin-bottom:18px}
.eyebrow::before{content:'';width:22px;height:3px;background:var(--terra);border-radius:2px;flex-shrink:0}
.workflow-steps .eyebrow::before,.capabilities-grid .eyebrow::before,.quality-grid .eyebrow::before,.competency-grid .eyebrow::before,.inspection-scope>.eyebrow::before,.gallery-story .eyebrow::before,.visual-link-grid .eyebrow::before,.intro-bottom .eyebrow::before{display:none}

/* ---------- Header ---------- */
.site-header{position:sticky;top:0;background:var(--navy);border-bottom:1px solid rgba(115,174,211,.25);z-index:30}
.header-row{min-height:84px}
.brand img{width:54px;height:54px;border-radius:0;filter:drop-shadow(0 2px 6px rgba(0,0,0,.35))}
.brand strong{color:#fff;font-family:var(--serif);font-weight:700;font-stretch:112%;font-size:1.25rem;letter-spacing:-.01em}
.brand small{color:var(--sky);font-size:.78rem;letter-spacing:.02em;margin-top:2px}
.main-nav{gap:6px}
.main-nav a{color:#e8f2f8;font-size:.95rem;font-weight:500;padding:9px 14px;border:0;border-radius:var(--radius);transition:background .2s,color .2s}
.main-nav a:hover{background:rgba(115,174,211,.18);color:#fff;border:0}
.main-nav a[aria-current=page]{background:rgba(115,174,211,.22);color:#fff;border:0}
.main-nav a[href="asset-integrity-inspection.html"]{color:#e8f2f8;font-weight:500}
.main-nav .contact-link{background:var(--terra);color:var(--navy-deep);font-weight:600;border:0;padding:10px 20px;margin-left:10px}
.main-nav .contact-link:hover,.main-nav .contact-link[aria-current=page]{background:var(--cream);color:var(--navy-deep)}
.menu-toggle{color:#fff;border-color:rgba(115,174,211,.5);border-radius:var(--radius)}

/* ---------- Buttons & links ---------- */
.button{background:var(--terra);border-color:var(--terra);color:var(--navy-deep);font-weight:600;border-radius:var(--radius);padding:14px 26px;transition:background .2s,border-color .2s,transform .2s}
.button:hover{background:var(--cream);border-color:var(--cream);color:var(--navy-deep)}
.button.ghost,.button.secondary{background:transparent;border-color:rgba(255,255,255,.55);color:#fff}
.button.ghost:hover{background:rgba(255,255,255,.12);border-color:#fff;color:#fff}
.text-link{border-bottom:2px solid var(--terra);font-weight:600;color:var(--navy);padding-bottom:3px}
.text-link:hover{color:var(--clay)}
.actions{margin-top:34px}
:focus-visible{outline:3px solid var(--terra);outline-offset:3px}

/* ---------- Home hero ---------- */
.hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;isolation:isolate}
.hero::before{content:'';position:absolute;inset:0;z-index:-1;
  background-image:repeating-linear-gradient(30deg,var(--grid) 0 1px,transparent 1px 72px),repeating-linear-gradient(-30deg,var(--grid) 0 1px,transparent 1px 72px);
  -webkit-mask-image:radial-gradient(ellipse 90% 90% at 70% 45%,#000 20%,transparent 85%);mask-image:radial-gradient(ellipse 90% 90% at 70% 45%,#000 20%,transparent 85%)}
.hero::after{content:'';position:absolute;right:-8%;top:50%;width:62%;aspect-ratio:1;transform:translateY(-52%);z-index:-1;background:radial-gradient(circle,rgba(115,174,211,.34),rgba(115,174,211,0) 62%)}
.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:56px;align-items:center;padding-block:84px 92px}
.hero-kicker{color:var(--sky);font-weight:500;font-size:1.05rem;margin:0 0 22px}
.hero h1{color:#fff;margin-bottom:26px}
.hero-lede{color:#d5e6f1;font-size:1.2rem;max-width:30em;margin:0}
.hero-mark{display:flex;flex-direction:column;align-items:center;gap:18px}
.hero .logo-stage{background:none;height:auto;width:100%;overflow:visible;display:flex;flex-direction:column;align-items:center;gap:14px;perspective:1100px;animation:mark-in 1.1s cubic-bezier(.2,.7,.2,1) both}
.hero .logo-poster{position:static;width:min(100%,520px);height:auto;aspect-ratio:1;left:auto;top:auto;border-radius:0;filter:drop-shadow(0 22px 28px rgba(0,0,0,.4));transform-origin:center;transform-style:preserve-3d;backface-visibility:hidden;animation:logo-flip 1.05s cubic-bezier(.45,.05,.55,.95) 2 both}
.hero .logo-play{position:static;background:transparent;color:#d5e6f1;border:1px solid rgba(213,230,241,.4);border-radius:var(--radius);font-size:.85rem;padding:8px 16px;min-height:40px}
.hero .logo-play:hover{background:rgba(255,255,255,.1);color:#fff}
.dimension{width:min(100%,460px);display:flex;align-items:center;gap:16px;color:var(--sky);font-size:.95rem;font-weight:500;transform-origin:center;animation:dim-in 1s .5s ease-out both}
.dimension::before,.dimension::after{content:'';flex:1;height:9px;border-inline:1px solid var(--sky);background:linear-gradient(var(--sky),var(--sky)) center/100% 1px no-repeat}
.dimension span{white-space:nowrap}
@keyframes mark-in{from{opacity:0;transform:translateY(22px) scale(.97)}to{opacity:1;transform:none}}
@keyframes logo-flip{0%{transform:rotateY(0deg)}100%{transform:rotateY(360deg)}}
@keyframes dim-in{from{opacity:0;clip-path:inset(0 50% 0 50%)}to{opacity:1;clip-path:inset(0)}}

.pledge{background:var(--cream);border-bottom:1px solid #e3d6bb}
.pledge-grid{display:grid;grid-template-columns:.9fr 1.1fr 1.1fr;gap:48px;align-items:center;padding-block:44px}
.pledge-tag{font-family:var(--serif);font-weight:600;font-stretch:108%;color:var(--clay);margin:0;font-size:1.1rem}
.pledge h2{margin:0;font-size:clamp(1.8rem,3vw,2.5rem)}
.pledge p:last-child{margin:0;color:#4a4a4a;max-width:24em}

/* ---------- Home: discipline cards ---------- */
.section{padding-block:84px}
.section-heading{align-items:end}
.section-heading h2{margin:0}
.section-heading p{margin:0}
.disciplines{padding-bottom:40px}
.discipline-cards{display:grid;grid-template-columns:repeat(6,1fr);gap:24px}
.discipline-card{grid-column:span 2;background:#fff;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .25s,box-shadow .25s}
.discipline-card:nth-child(-n+2){grid-column:span 3}
.discipline-card:hover{transform:translateY(-4px);box-shadow:0 2px 4px rgba(10,42,84,.1),0 16px 34px rgba(10,42,84,.14)}
.card-photo{display:block;height:230px;overflow:hidden;background:var(--navy)}
.discipline-card:nth-child(-n+2) .card-photo{height:300px}
.card-photo img{height:100%;border-radius:0;transition:transform .6s}
.card-photo img.crop-right{width:240%;max-width:none;transform:translateX(-58.33%)}
.discipline-card:hover .card-photo img:not(.crop-right){transform:scale(1.05)}
.card-body{display:flex;flex-direction:column;gap:6px;padding:24px 26px 26px;flex:1;border-top:4px solid var(--terra)}
.card-body small{font-size:.85rem;color:var(--muted)}
.card-body strong{font-family:var(--serif);font-weight:600;font-stretch:106%;font-size:1.3rem;line-height:1.25;color:var(--navy)}
.card-go{margin-top:auto;padding-top:14px;font-weight:600;font-size:.95rem;color:var(--clay)}
.card-go::after{content:' \2192'}

/* ---------- Inspection spotlight ---------- */
.inspection-spotlight{margin-top:56px;border-radius:0}
.inspection-spotlight-image img{border-radius:0}
.inspection-spotlight-image>span{letter-spacing:.04em;font-size:.85rem;font-weight:500}
.inspection-spotlight-copy{padding:56px 52px;display:flex;flex-direction:column;justify-content:center;background:var(--navy-deep)}
.inspection-spotlight-copy h2{color:#fff}
.inspection-spotlight-copy .eyebrow{color:var(--sky)}
.inspection-spotlight-copy p{color:#d5e6f1}
.inspection-spotlight-copy .button{background:var(--terra);border-color:var(--terra);color:var(--navy-deep);align-self:flex-start}
.spotlight-topics span{font-size:.85rem;padding:7px 12px;border-color:rgba(115,174,211,.55);color:#e8f2f8;border-radius:100px}

/* ---------- Statement / CTA ---------- */
.statement{background:var(--navy);color:#fff;border-radius:var(--radius);padding:56px;margin-block:60px 0;align-items:center}
.statement h2{color:#fff;margin-bottom:16px}
.statement p{color:#d5e6f1}
.statement .eyebrow{color:var(--sky)}
.project-cta{background:var(--cream);border-radius:var(--radius);padding:48px 52px;border-left:6px solid var(--terra)}
.project-cta p{color:var(--muted)}
.project-cta .eyebrow{color:var(--clay)}
.project-cta .button:hover{background:var(--navy);border-color:var(--navy);color:#fff}

/* ---------- Inner page hero band ---------- */
.reveal{animation:none}
.page-hero{position:relative;background:var(--navy);color:#fff;overflow:hidden;isolation:isolate}
.page-hero::before{content:'';position:absolute;inset:0;z-index:-1;background-image:repeating-linear-gradient(30deg,var(--grid) 0 1px,transparent 1px 72px),repeating-linear-gradient(-30deg,var(--grid) 0 1px,transparent 1px 72px);-webkit-mask-image:linear-gradient(90deg,transparent 10%,#000 90%);mask-image:linear-gradient(90deg,transparent 10%,#000 90%)}
.page-hero::after{content:'';position:absolute;right:4%;top:50%;width:300px;aspect-ratio:1;transform:translateY(-50%);background:url(assets/logo.webp) center/contain no-repeat;opacity:.16;z-index:-1}
.page-hero .breadcrumbs{color:var(--sky);padding-top:30px}
.page-hero .breadcrumbs a:hover{color:#fff}
.page-hero .page-intro{padding-block:36px 64px}
.page-hero h1{color:#fff}
.page-hero .eyebrow{color:var(--sky)}
.page-hero .page-lede p{color:#d5e6f1}
.page-hero .text-link{color:#fff}
.page-hero .inspection-tags{border-top-color:rgba(115,174,211,.35)}
.page-hero .inspection-tags>span{color:#e8f2f8}
.page-hero .inspection-tags>span+span{border-left-color:rgba(115,174,211,.45)}
.page-hero .page-lede .button{background:var(--terra)}
.breadcrumbs{font-size:.9rem}

/* ---------- Galleries ---------- */
.gallery-section{padding-block:64px 24px}
.gallery-total{color:var(--clay);font-weight:600}
.gallery-main{border:0;background:var(--navy);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.gallery-image{background:var(--navy-deep)}
.gallery-media>img{border-radius:0}
.view-image-label{background:rgba(10,42,84,.88);color:#fff;border:0;border-radius:var(--radius);font-size:.85rem}
.gallery-story{background:var(--navy);color:#fff}
.gallery-story h3{color:#fff;font-family:var(--serif);font-weight:600;font-stretch:108%;letter-spacing:-.015em}
.gallery-story p{color:#d5e6f1}
.gallery-story .eyebrow{color:var(--sky)}
.slide-details{color:#d5e6f1}
.slide-details li{border-top-color:rgba(115,174,211,.3)}
.slide-details li:before{color:var(--terra);font-weight:700}
.gallery-controls button{color:#fff;border-color:rgba(115,174,211,.55);border-radius:var(--radius)}
.gallery-controls button:hover{background:rgba(255,255,255,.1)}
.gallery-controls .gallery-auto{border:1px solid rgba(115,174,211,.55);padding:8px 14px}
.gallery-position{color:#d5e6f1}
.thumb-image{border-radius:var(--radius);border-width:3px}
.thumb-image img{border-radius:0}
.gallery-thumb>span:last-child{color:var(--muted)}
.gallery-thumb[aria-pressed=true]>span:last-child{color:var(--navy);font-weight:600}
.gallery-thumb[aria-pressed=true] .thumb-image{border-color:var(--terra)}
.workflow-visual{background:linear-gradient(140deg,var(--paper),#fff)}
.diagram-label{text-transform:none;letter-spacing:0;font-size:.85rem;font-weight:600}
.discipline-nodes span,.diagram-result,.mep-nodes>span,.ndt-purpose{border-color:var(--steel);border-radius:var(--radius)}
.model-node{border-radius:var(--radius)}
.gallery-jump{border-bottom-color:var(--line)}
.gallery-jump a{background:#fff;border:0;border-radius:100px;box-shadow:var(--shadow);font-weight:500;font-size:.9rem;padding:10px 18px}
.gallery-jump a:hover{background:var(--navy);color:#fff}

/* ---------- Architecture / MEP project perspective ---------- */
.school-case-study{padding-top:72px}
.school-case-study .section-heading{display:grid;grid-template-columns:1fr 1fr;gap:52px;align-items:end;margin-bottom:32px}
.school-case-study .section-heading p{max-width:43rem;margin:0}
.school-case-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.school-case-grid figure,.insight-project-images figure{margin:0;background:var(--navy);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow)}
.school-case-grid img,.insight-project-images img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:0}
.school-case-grid figcaption,.insight-project-images figcaption{padding:18px 20px 21px;color:#d5e6f1;font-size:.95rem;line-height:1.55}
.school-case-grid figcaption span{display:block;color:var(--sky);font-size:.82rem;font-weight:600;margin-bottom:7px}
.school-case-outcomes{display:grid;grid-template-columns:.9fr 1.1fr;gap:48px;margin-top:28px;padding:34px 38px;background:#fff;border-left:6px solid var(--terra);border-radius:var(--radius);box-shadow:var(--shadow)}
.school-case-outcomes .eyebrow{margin-bottom:8px;color:var(--clay)}
.school-case-outcomes h3{font-size:1.6rem;margin:0;color:var(--navy)}
.school-case-outcomes ul,.insight-project-copy ul{margin:0;padding:0;list-style:none}
.school-case-outcomes li,.insight-project-copy li{position:relative;padding:10px 0 10px 24px;border-top:1px solid var(--line);color:var(--muted)}
.school-case-outcomes li::before,.insight-project-copy li::before{content:'+';position:absolute;left:0;color:var(--terra);font-weight:700}
.school-positioning{margin-top:28px;padding:36px 42px;background:var(--navy);border-radius:var(--radius);border-left:6px solid var(--terra)}
.school-positioning .eyebrow{color:var(--sky);margin-bottom:11px}
.school-positioning p{margin:0;max-width:68rem;color:#e8f2f8;font-family:var(--serif);font-size:clamp(1.25rem,2vw,1.65rem);font-weight:600;line-height:1.35}

/* ---------- Insights ---------- */
.insight-intro{display:grid;grid-template-columns:.8fr 1.2fr;gap:54px;padding:68px 0 54px;border-bottom:1px solid var(--line)}
.insight-intro .eyebrow{align-self:start;color:var(--clay)}
.insight-intro h2{margin:0 0 18px}
.insight-intro p{max-width:55rem;margin:0}
.insight-project{display:grid;grid-template-columns:.82fr 1.18fr;gap:42px;padding:64px 0}
.insight-project-copy{padding:10px 0}
.insight-project-copy .eyebrow{color:var(--clay)}
.insight-project-copy h2{margin:0 0 18px}
.insight-project-copy>p{margin-bottom:24px}
.insight-project-images{display:grid;gap:20px}
.insight-project-images img{aspect-ratio:16/8.1}
.insight-project-images figcaption{padding-block:14px;color:#d5e6f1}
.insight-benefits{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.insight-benefits article{padding:30px 28px;background:#fff;border-top:4px solid var(--steel);border-radius:var(--radius);box-shadow:var(--shadow)}
.insight-benefits .eyebrow{color:var(--clay);font-size:.85rem}
.insight-benefits h3{margin:0 0 10px;font-size:1.45rem}
.insight-benefits p{margin:0}

/* ---------- Content blocks on service pages ---------- */
.service-overview{background:#fff;border-radius:var(--radius);padding:48px;box-shadow:var(--shadow);margin-top:40px}
.capabilities-grid article,.quality-grid article{background:#fff;border:0;border-top:4px solid var(--steel);border-radius:var(--radius);padding:0 0 28px;box-shadow:var(--shadow);overflow:hidden}
.capabilities-grid article>*:not(.capability-photo),.quality-grid article>*{margin-inline:26px}
.quality-grid article{padding:26px 0 8px}
.capability-photo{margin:0 0 24px;border-radius:0;height:210px}
.capability-photo img{border-radius:0}
.capabilities-grid .eyebrow{margin-top:0;color:var(--clay);font-size:.85rem}
.capabilities-grid h3,.quality-grid h3{margin-bottom:10px}
.capabilities-grid p,.quality-grid p{margin-bottom:6px}
.deliverable-section{background:#fff;border-radius:var(--radius);border-left:6px solid var(--terra);box-shadow:var(--shadow);padding:40px 44px}
.deliverable-section li{border-bottom-color:var(--line)}
.workflow-steps{counter-reset:step}
.workflow-steps article{background:none;border:0;border-top:2px solid var(--steel);padding-top:22px;position:relative}
.workflow-steps .eyebrow{display:flex;width:42px;height:42px;border-radius:50%;background:var(--navy);color:#fff;font-size:.95rem;align-items:center;justify-content:center;margin:-45px 0 18px;border:4px solid var(--paper)}
.workflow-steps article:last-child .eyebrow{background:var(--terra);color:var(--navy-deep)}
.related-section a{background:#fff;border:0;border-top:4px solid var(--terra);border-radius:var(--radius);padding:26px;box-shadow:var(--shadow);transition:transform .25s}
.related-section a:hover{transform:translateY(-3px)}
.related-section a>span:last-child{color:var(--clay);font-weight:600;font-size:.95rem}

/* Expertise list */
.expertise-card{background:#fff;border:0;border-radius:var(--radius);padding:0;gap:0;box-shadow:var(--shadow);overflow:hidden;margin:0}
.expertise-list{gap:28px;margin-top:56px}
.expertise-image img{height:100%;min-height:360px;border-radius:0}
.expertise-image img.crop-right{width:240%;max-width:none;height:100%;transform:translateX(-58.33%)}
.expertise-card>div{padding:44px 48px}
.expertise-card h2 a:hover{color:var(--clay)}
.expertise-card .eyebrow{color:var(--clay)}

/* Inspection page */
.inspection-scope{border:0;border-radius:var(--radius);box-shadow:var(--shadow);border-top:4px solid var(--steel)}
.inspection-scope h3{font-family:var(--serif);font-weight:600;font-stretch:106%}
.scope-photo img{border-radius:var(--radius)}
.standards>span{text-transform:none;letter-spacing:0;font-size:.85rem;font-weight:600;color:var(--clay)}
.competency-section{background:var(--navy);border-radius:var(--radius);padding:56px;margin-block:40px;color:#fff}
.competency-section h2,.competency-section h3{color:#fff}
.competency-section p{color:#d5e6f1}
.competency-section .eyebrow{color:var(--sky)}
.competency-grid article{border-top-color:rgba(115,174,211,.45)}
.competency-grid .eyebrow{color:var(--terra);font-size:.85rem}
.competency-grid .eyebrow::before{display:none}

/* About / visuals */
.about-feature>img{border-radius:var(--radius);object-fit:contain!important;background:var(--navy);padding:8%}
.about-image-pair img,.visual-link-grid img{border-radius:var(--radius)}
.visual-link-grid figure{border-radius:var(--radius)}
.visual-link-grid a{display:block;background:#fff;border-radius:var(--radius);padding:14px 14px 22px;box-shadow:var(--shadow);transition:transform .25s}
.visual-link-grid a:hover{transform:translateY(-3px)}
.visual-link-grid h3{font-family:var(--serif);font-weight:600;font-stretch:106%;font-size:1.5rem;margin:0 8px}
.visual-link-grid .eyebrow{margin:0 8px 8px;color:var(--clay)}
.visual-link-grid figure{margin-bottom:20px}

/* Contact */
.contact-grid{gap:72px;padding-top:60px}
.contact-details dt{text-transform:none;letter-spacing:0;font-size:.9rem;font-weight:600;color:var(--clay)}
#enquiry-form{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);border-top:6px solid var(--terra);padding:40px}
#enquiry-form input,#enquiry-form textarea,#enquiry-form select,#draft-text{border:1px solid var(--steel);border-radius:var(--radius);background:var(--paper)}
#enquiry-form input:focus,#enquiry-form textarea:focus,#enquiry-form select:focus{outline:3px solid var(--terra);outline-offset:1px;background:#fff}
#enquiry-form label{font-weight:500}
.email-draft{border-radius:var(--radius);background:#fff}

/* ---------- Footer ---------- */
.site-footer{background:var(--navy-deep);color:#e8f2f8;border:0;margin-top:96px;padding-block:72px 28px}
.site-footer h2{color:#fff}
.site-footer p{color:#d5e6f1}
.site-footer .eyebrow{color:var(--sky)}
.footer-main{align-items:start}
.footer-main h2{font-size:clamp(2rem,3.4vw,2.9rem)}
.footer-main .button{margin-top:10px}
.footer-main a:not(.button){color:#fff}
.footer-main a:not(.button):hover{color:var(--terra);text-decoration:none}
.footer-links a{color:#d5e6f1!important}
.footer-links a:hover{color:var(--terra)!important}
.footer-logo{width:76px;height:76px;border-radius:0;margin-top:22px}
.footer-bottom{border-top-color:rgba(115,174,211,.3);color:var(--sky);font-size:.85rem}

/* ---------- Responsive ---------- */
@media(max-width:1000px){
  .hero-grid{grid-template-columns:1fr;gap:36px;padding-block:56px 64px}
  .hero-mark{order:-1}
  .hero .logo-poster{width:min(70%,340px)}
  .hero::after{right:-30%;width:100%;top:20%}
  .pledge-grid{grid-template-columns:1fr 1fr;gap:20px 40px}
  .pledge-tag{grid-column:1/-1}
  .discipline-card,.discipline-card:nth-child(-n+2){grid-column:span 3}
  .discipline-card:last-child{grid-column:1/-1}
  .main-nav{gap:2px}.main-nav a{padding:8px 10px;font-size:.9rem}
  .expertise-card>div{padding:32px}
  .page-hero::after{width:220px;right:-30px;opacity:.12}
  .school-case-study .section-heading,.insight-intro,.insight-project{grid-template-columns:1fr;gap:26px}
  .school-case-outcomes{gap:28px}
}
@media(max-width:740px){
  .site-header{position:relative}
  .header-row{min-height:76px}
  .main-nav.open{padding-bottom:18px}
  .main-nav a{padding:12px 10px}
  .main-nav .contact-link{margin:10px 0 0;text-align:center}
  .hero-grid{padding-block:40px 52px}
  .hero-lede{font-size:1.05rem}
  .pledge-grid{grid-template-columns:1fr;padding-block:36px}
  .discipline-card,.discipline-card:nth-child(-n+2),.discipline-card:last-child{grid-column:1/-1}
  .card-photo,.discipline-card:nth-child(-n+2) .card-photo{height:210px}
  .section{padding-block:56px}
  .statement{padding:32px 26px}
  .service-overview{padding:28px}
  .competency-section{padding:30px 24px}
  .inspection-spotlight-copy{padding:36px 26px}
  .expertise-image img{min-height:240px}
  .expertise-card>div{padding:26px}
  .page-hero .page-intro{padding-block:26px 44px}
  .contact-grid{gap:36px;padding-top:36px}
  #enquiry-form{padding:26px}
  .workflow-steps article:not(:first-child){margin-top:8px}
  .dimension{font-size:.85rem;gap:10px}
  .school-case-grid,.insight-benefits{grid-template-columns:1fr}
  .school-case-outcomes{grid-template-columns:1fr;padding:28px 24px}
  .school-positioning{padding:30px 24px}
  .insight-intro{padding:48px 0 38px}
  .insight-project{padding:48px 0}
}
@media(max-width:600px){
  .project-cta{padding:30px 26px}
  .capability-photo{height:220px}
}
@media(prefers-reduced-motion:reduce){
  .hero .logo-poster,.dimension{animation:none!important}
  .discipline-card,.related-section a,.visual-link-grid a{transition:none}
}

/* refinements */
h1,h2,h3{text-wrap:balance}
.hero h1{font-size:clamp(2.3rem,4.4vw,4.1rem);max-width:12em}
.hero-copy{max-width:34rem}
.page-hero h1{font-size:clamp(2.2rem,4.6vw,4.2rem)}
.gallery-heading{align-items:flex-end}
.expertise-card{align-items:stretch}
.expertise-card>div{align-self:center}
.expertise-image{position:relative;height:auto;min-height:380px}
.expertise-image img,.expertise-image img.crop-right{position:absolute;height:100%;min-height:0}
.expertise-image img{inset:0;width:100%}
.expertise-image img.crop-right{width:240%;max-width:none;inset:0 auto 0 0;transform:translateX(-58.33%)}
@media(max-width:740px){.expertise-image{min-height:240px}.expertise-image img,.expertise-image img.crop-right{height:100%}}
.diagram-thumb{background:#fff;color:var(--navy);font-family:var(--serif);font-weight:600;font-size:1.05rem}
.thumb-image{background:#fff}
@media(max-width:740px){.hero h1 br{display:initial}}
.section-heading{align-items:start}
.section-heading>.eyebrow{margin-top:.7rem}
.disciplines .section-heading{align-items:end}

.hp{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}
#form-status{color:#8a2f12;font-weight:600;font-size:.95rem;margin:14px 0 0}
#enquiry-form[hidden]{display:none}

/* Website additions: language, contact and ready-to-fill editorial content */
.language-toggle{border:1px solid rgba(115,174,211,.8)!important;border-radius:999px;padding:7px 12px!important;font-family:Arial,sans-serif;font-weight:700;color:#fff!important;line-height:1}
.language-toggle:hover{background:var(--paper);border-color:var(--clay)!important;color:var(--navy)!important}
.whatsapp-button{position:fixed;right:22px;bottom:22px;z-index:30;display:flex;align-items:center;gap:9px;padding:12px 16px;border-radius:999px;background:#1aaf5d;color:#fff!important;font-size:.9rem;font-weight:700;box-shadow:0 12px 30px rgba(9,63,38,.28);transition:transform .2s,box-shadow .2s}.whatsapp-button:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(9,63,38,.34)}.whatsapp-button svg{width:1.3rem;height:1.3rem;flex:none}
.home-ready-sections{display:grid;grid-template-columns:1fr 1fr;gap:28px;padding:50px 0 16px}.home-ready-sections article,.team-intro,.blog-intro{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:38px}.home-ready-sections h2{font-size:clamp(2rem,3vw,2.8rem);margin-bottom:16px}.home-ready-sections p{max-width:33rem}
.team-intro,.blog-intro{max-width:770px;margin:0 0 44px}.team-intro p,.blog-intro p{margin-bottom:0}.team-grid,.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding-bottom:56px}.team-card,.blog-card{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:0 26px 28px;overflow:hidden}.team-card .eyebrow,.blog-card .eyebrow{color:var(--clay);font-size:.75rem;margin:24px 0 9px}.team-card h2,.blog-card h2{font-size:1.75rem;margin-bottom:10px}.team-role,.blog-meta{display:block;color:var(--clay);font-weight:600;font-size:.9rem}.team-photo-placeholder,.blog-media-placeholder{height:250px;margin:0 -26px 0;background:linear-gradient(135deg,#d8e8f1,#f2e8d5);display:grid;place-items:center;color:var(--navy);font-size:.85rem;letter-spacing:.08em;text-transform:uppercase}.blog-media-placeholder{background:linear-gradient(135deg,#0e396e,#5a8ba3);color:#fff}
.sitemap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;padding:12px 0 72px}.sitemap-grid section{background:#fff;border-radius:var(--radius);box-shadow:var(--shadow);padding:28px}.sitemap-grid h2{font-size:1.65rem}.sitemap-grid ul{list-style:none;padding:0;margin:0}.sitemap-grid li+li{border-top:1px solid var(--line)}.sitemap-grid a{display:block;padding:12px 0;font-weight:600}.sitemap-grid a:hover{color:var(--clay)}
@media(max-width:1000px){.main-nav{flex-wrap:wrap;justify-content:flex-end}.team-grid,.blog-grid{grid-template-columns:1fr 1fr}.team-card:last-child,.blog-card:last-child{grid-column:1/-1}.sitemap-grid{grid-template-columns:1fr 1fr}}
@media(max-width:740px){.language-toggle{text-align:center!important;margin-top:8px}.whatsapp-button{right:14px;bottom:14px;padding:11px 14px}.home-ready-sections,.team-grid,.blog-grid,.sitemap-grid{grid-template-columns:1fr}.team-card:last-child,.blog-card:last-child{grid-column:auto}.home-ready-sections article,.team-intro,.blog-intro{padding:28px}.team-photo-placeholder,.blog-media-placeholder{height:210px}}

/* white-background drawings: show whole image */
img[src$="bim-hvac.webp"],img[src$="srv-installation.webp"],img[src$="pipe-inspection.webp"]{object-fit:contain!important;background:#fff}
.card-photo img[src$="bim-hvac.webp"],.expertise-image img[src$="bim-hvac.webp"]{object-fit:cover!important}
img[src$="lifting-equipment.webp"]{object-fit:cover}

