/* Revision 3: intact images, composed heroes, purposeful colour. */
:root{--card-one:#0b4c76;--card-two:#dbe9ba;--card-three:#c8e2ed;--card-dark:#103044}.v2{--card-one:#3e552d;--card-two:#d9dba4;--card-three:#e6cda6;--card-dark:#283b24}.v3{--card-one:#095568;--card-two:#92d4da;--card-three:#d6bf86;--card-dark:#102f39}
.hero2,.v2 .hero2,.v3 .hero2{min-height:0;display:block;background:#97c4e5;isolation:isolate}
.hero2-scene,.v2 .hero2-scene,.v3 .hero2-scene{padding:0;margin:0;background:#97c4e5}
.hero2-scene img{width:100%;height:auto;max-height:980px;object-fit:contain;object-position:center top;filter:none;display:block}
.hero2-copy,.v2 .hero2-copy,.v3 .hero2-copy{position:absolute;top:8%;left:0;right:0;padding:0;text-align:left}
.hero2-text,.v2 .hero2-text,.v3 .hero2-text{width:45%;max-width:560px;margin:0;padding:0;border:0}
.hero2 h1,.v3 .hero2 h1{font-size:clamp(38px,4.1vw,66px);line-height:1.04;text-wrap:balance;margin:0 0 20px}
.v2 .hero2 h1{font-size:clamp(39px,4.4vw,70px);line-height:1.03}.v2 .hero2-text{max-width:560px}.v3 .hero2-text{border-left:4px solid #106581;padding-left:22px}
.hero2 p,.v2 .hero2 p{margin:0 0 22px;max-width:380px;font-size:clamp(14px,1.2vw,18px);color:#15384d;line-height:1.6}.hero2 .eyebrow{color:#173e55;font-weight:800;font-size:10px}.v2 .hero2 .actions{justify-content:flex-start}.hero2 .actions{gap:18px;flex-wrap:wrap}.hero2 .text-link{color:#103e56;font-weight:700}
.hero2-foot,.v2 .hero2-foot,.v3 .hero2-foot{position:absolute;bottom:4%;left:0;right:0;background:transparent;border:0;color:#fff}.hero2-foot .wrap{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0;letter-spacing:0}.hero2-foot a{display:flex;flex-direction:column;gap:10px;border:0;border-top:3px solid #bdcf7b;padding:22px 24px;background:#0a2e45f5;transition:transform .3s,background .3s}.hero2-foot a:hover{transform:translateY(-5px);background:#124864}.hero2-foot small{color:#c9db9a;font-size:10px;letter-spacing:.14em}.hero2-foot strong{font-size:clamp(13px,1.15vw,18px);line-height:1.4}.hero2-foot span{font-size:12px;font-weight:400;color:#e4edf2}.v2 .hero2-foot a{background:#34482cf5;border-color:#d8d9a0}.v3 .hero2-foot a{background:#0c2633f5;border-color:#88d9e5}.v3 .hero2-foot small{color:#8fe0e8}
/* Bounded, complete photographs; no distorted portrait columns. */
.about2-photo{align-self:center}.about2-photo img{display:block;width:100%;height:auto;max-height:430px;object-fit:contain}.picture,.photo-stack>.picture,.service-card .card-image,.v2 .photo-stack>.picture,.v2 .service-card .card-image{height:360px!important;aspect-ratio:auto!important;display:flex;align-items:center;justify-content:center;background:var(--tint);overflow:hidden}.picture img,.photo-stack>.picture img,.card-image img,.detail-image{width:100%!important;height:100%!important;max-height:420px!important;object-fit:contain!important}.photo-stack .inset{display:none}.transport-panel figure{background:var(--tint)}.transport-panel img{display:block;width:100%;height:320px;object-fit:contain}.gallery-grid,.v2 .gallery-grid,.v3 .gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;columns:auto!important}.gallery-grid figure{margin:0;min-width:0;background:var(--tint);border:1px solid var(--line);border-radius:8px;overflow:hidden;align-self:stretch}.gallery-grid .gallery-item{display:block;height:300px;width:100%;background:var(--tint);padding:12px}.gallery-grid .gallery-item img{width:100%!important;height:100%!important;max-height:300px;object-fit:contain!important;aspect-ratio:auto!important}.gallery-grid .gallery-label{padding:15px 18px;margin:0;min-height:58px;line-height:1.5;background:var(--card-one);color:#fff}.gallery-teaser,.v2 .gallery-teaser,.v3 .gallery-teaser{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.gallery-teaser .gallery-item{height:300px;background:var(--tint);padding:10px}.gallery-teaser .gallery-item img,.v2 .gallery-teaser figure:nth-child(2) img{height:100%!important;width:100%;object-fit:contain!important}.gallery-teaser figure{padding-top:0!important}.crane-photo .gallery-item,.v2 .crane-photo .gallery-item,.crane-grid>.crane-card:last-child:nth-child(odd) .crane-photo .gallery-item{height:260px;aspect-ratio:auto}.crane-photo .gallery-item img{height:100%!important;width:100%;object-fit:contain!important}.v2 .crane-photo .gallery-item{height:300px}
/* Visible photography behind readable page introductions. */
.page-heading,.v2 .page-heading,.v3 .page-heading{background:#132e3b;color:#fff;padding:64px 0;min-height:340px;display:flex;align-items:center}.page-heading:before,.v3 .page-heading:before{opacity:1;background-position:center 58%}.page-heading:after{background:linear-gradient(90deg,#082332f2 0%,#082332c7 42%,#08233233 100%)}.v2 .page-heading:after{background:linear-gradient(90deg,#263521f2 0%,#263521c4 44%,#26352120 100%)}.v3 .page-heading:after{background:linear-gradient(90deg,#071923f2 0%,#071923bd 46%,#07192330 100%)}.page-heading h1{font-size:clamp(36px,4.3vw,64px);max-width:850px}.page-heading .intro{color:#f1f5f3;max-width:640px}.page-heading .eyebrow,.page-heading .crumbs,.page-heading .crumbs a{color:#d7e9b1}.page-heading .wrap{width:min(1240px,calc(100% - 80px))}
.feature-grid{gap:22px}.feature,.step,.planning-card{position:relative;overflow:hidden;border:0!important;box-shadow:0 12px 24px #08293912;transition:transform .35s,box-shadow .35s!important}.feature,.step,.planning-card,.v3 .planning-card{background:var(--card-one);color:white;border-radius:9px;padding:30px}.feature:nth-child(2),.step:nth-child(2),.planning-card:nth-child(2){background:var(--card-two);color:var(--card-dark)}.feature:nth-child(3),.step:nth-child(3),.planning-card:nth-child(3){background:var(--card-three);color:var(--card-dark)}.feature p,.step p,.planning-card p,.v3 .feature p{color:inherit;opacity:1;line-height:1.7}.feature h3,.step h3,.planning-card h3{color:inherit}.feature .text-link,.step .step-icon,.planning-symbol{color:inherit!important}.feature:before,.step:before,.planning-card:before{content:'';position:absolute;right:-25px;top:-35px;width:110px;height:110px;border:1px solid currentColor;border-radius:50%;opacity:.15;pointer-events:none}.feature:hover,.step:hover,.planning-card:hover{transform:translateY(-6px);box-shadow:0 18px 32px #08293925;background:var(--card-one);color:white}.feature:nth-child(2):hover,.step:nth-child(2):hover,.planning-card:nth-child(2):hover{background:var(--card-two);color:var(--card-dark)}.feature:nth-child(3):hover,.step:nth-child(3):hover,.planning-card:nth-child(3):hover{background:var(--card-three);color:var(--card-dark)}.steps,.v3 .planning-grid{gap:22px}.step-icon{background:transparent!important;border:1px solid currentColor;border-radius:50%;width:52px;height:52px;display:grid;place-items:center;margin-bottom:24px}.planning2:after{background:linear-gradient(90deg,#06273cd9,#06273c99)}.v2 .planning2:after{background:linear-gradient(90deg,#23351bdc,#23351b99)}.v3 .planning2:after{background:linear-gradient(90deg,#031720dc,#03172099)}.planning2 .text-link{color:white}.planning2 .section-head{padding-bottom:12px}.dark{background:var(--card-dark)}.dark .section-head,.dark .text-link{color:#fff}.crane-copy{border-top:4px solid var(--bright)}.contact-card{border-left:4px solid var(--accent);background:var(--tint);padding:25px!important}.checklist li{background:var(--tint);padding:16px 20px;border-left:3px solid var(--accent);margin-bottom:9px}.banner-note{background:var(--card-two);color:var(--card-dark);padding:30px;border:0}.banner-note p{color:inherit}.transport-panel[hidden],.gallery-grid figure[hidden]{display:none!important}
@media(min-width:1600px){.hero2-copy,.v2 .hero2-copy,.v3 .hero2-copy{top:11%}.hero2-foot{bottom:5%}.hero2-foot a{padding:26px}.hero2-text,.v2 .hero2-text,.v3 .hero2-text{width:46%}}
@media(min-width:901px) and (max-width:1150px){.hero2-copy,.v2 .hero2-copy,.v3 .hero2-copy{top:6%}.hero2 h1,.v3 .hero2 h1{font-size:38px}.v2 .hero2 h1{font-size:41px}.hero2-text,.v2 .hero2-text,.v3 .hero2-text{width:46%}.hero2 .eyebrow{font-size:8px;margin-bottom:12px}.hero2 p{font-size:14px;margin-bottom:16px}.hero2 .actions{gap:12px}.hero2-foot a{padding:16px}.hero2-foot span{font-size:11px}.hero2-foot strong{font-size:13px}.hero2-foot small{font-size:9px}.hero2-foot{bottom:3%}}
@media(max-width:900px){.hero2,.v2 .hero2,.v3 .hero2{min-height:0;background:#a9d0ea}.hero2-copy,.v2 .hero2-copy,.v3 .hero2-copy{position:relative;top:auto!important;padding:34px 0 18px}.hero2-text,.v2 .hero2-text,.v3 .hero2-text{width:100%;max-width:620px;margin:0}.hero2 h1,.v3 .hero2 h1{font-size:clamp(37px,6vw,54px)}.v2 .hero2 h1{font-size:clamp(40px,6.4vw,56px)}.hero2 p,.v2 .hero2 p{max-width:530px;font-size:16px}.hero2-scene,.v2 .hero2-scene{margin:0;padding:0}.hero2-foot,.v2 .hero2-foot,.v3 .hero2-foot{position:relative;bottom:auto;padding:0 0 22px;background:#a9d0ea}.hero2-foot .wrap{gap:9px}.hero2-foot a{padding:17px 15px}.hero2-foot span{display:block!important;line-height:1.6}.hero2-foot strong{font-size:13px}.hero2-foot small{font-size:9px}.gallery-grid,.v2 .gallery-grid,.v3 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-teaser .gallery-item{height:240px}.gallery-grid .gallery-item{height:280px}.page-heading .wrap{width:calc(100% - 48px)}.picture,.photo-stack>.picture,.service-card .card-image{height:310px!important}.feature,.step,.planning-card{padding:25px}.step h3{font-size:23px}.steps{gap:15px}}
@media(max-width:600px){.hero2-copy,.v2 .hero2-copy,.v3 .hero2-copy{padding:30px 0 17px}.hero2 .eyebrow{font-size:8px;letter-spacing:.1em}.hero2 h1,.v3 .hero2 h1{font-size:38px}.v2 .hero2 h1{font-size:42px}.hero2 p,.v2 .hero2 p{font-size:14px;margin-bottom:18px}.hero2 .actions{gap:15px}.hero2-foot .wrap{display:grid;grid-template-columns:1fr;padding:0;gap:8px}.hero2-foot a{display:grid;grid-template-columns:1fr;gap:6px;padding:15px 18px;border-top:0;border-left:3px solid #d0deab}.hero2-foot strong{font-size:14px}.hero2-foot span{font-size:12px}.hero2-foot small{font-size:9px}.gallery-grid,.v2 .gallery-grid,.v3 .gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.gallery-grid .gallery-item{height:200px;padding:6px}.gallery-grid .gallery-label{font-size:11px;padding:12px 9px;min-height:64px}.gallery-teaser,.v2 .gallery-teaser,.v3 .gallery-teaser{grid-template-columns:1fr;gap:20px}.gallery-teaser .gallery-item{height:280px}.crane-photo .gallery-item,.v2 .crane-photo .gallery-item,.crane-grid>.crane-card:last-child:nth-child(odd) .crane-photo .gallery-item{height:240px}.about2-photo img{max-height:310px}.picture,.photo-stack>.picture,.service-card .card-image,.v2 .photo-stack>.picture,.v2 .service-card .card-image{height:280px!important}.transport-panel img{height:240px}.page-heading,.v2 .page-heading,.v3 .page-heading{min-height:300px;padding:42px 0}.page-heading .wrap{width:calc(100% - 36px)}.page-heading h1{font-size:37px}.page-heading .intro{font-size:16px}.page-heading:after{background:#092638d4}.v2 .page-heading:after{background:#24391ed4}.v3 .page-heading:after{background:#071923cc}.feature-grid,.steps{grid-template-columns:1fr!important}.feature,.step,.planning-card{padding:27px}.step-icon{margin-bottom:20px}.section-head{gap:20px}.contact-email{overflow-wrap:anywhere}.footer-grid{gap:28px 18px}.wa-float{bottom:20px}.back-top{bottom:82px}}
@media(prefers-reduced-motion:reduce){.feature,.step,.planning-card,.hero2-foot a{transition:none!important;transform:none!important}.feature:hover,.step:hover,.planning-card:hover,.hero2-foot a:hover{transform:none}}
/* Version-specific contrast wins over inherited dark-theme declarations. */
.v3 .feature:first-child{background:var(--card-one);color:white}.v3 .step p,.v3 .feature p,.v3 .planning-card p{color:inherit}.v3 .banner-note{background:var(--card-two);color:var(--card-dark)}.v3 .banner-note p{color:inherit}
